Plugin Directory

Changeset 3750608


Ignore:
Timestamp:
10/16/2026 02:58:49 PM (3 weeks ago)
Author:
poolghost
Message:

Release 1.1.0: choose per page which roles can edit it

Location:
admin-options-pages
Files:
8 added
84 edited
1 copied

Legend:

Unmodified
Added
Removed
  • admin-options-pages/tags/1.1.0/App/Admin/AdminPages/SubpageWhatsNew.php

    r3736451 r3750608  
    77
    88/**
    9  * "What's new in 1.0": the page that tells what changed, like the About page of WordPress after an update (it uses
    10  * the classes of wp-admin/css/about.css, which every admin screen loads). After an update from an older version an
    11  * administrator sees a notice that links to it, until the page was opened or the notice dismissed.
     9 * "What's new": the page that tells what changed in the latest release with news (VERSION), like the About page of
     10 * WordPress after an update (it uses the classes of wp-admin/css/about.css, which every admin screen loads). The page
     11 * of an earlier release stays available as an archive (`&version=1.0`). After an update an administrator sees a
     12 * notice that links to it, until the page was opened or the notice dismissed.
    1213 */
    1314class SubpageWhatsNew
    … …  
    1617
    1718    /** The release this page is about. */
    18     public const VERSION = '1.0.0';
     19    public const VERSION = '1.1.0';
     20
     21    /** Earlier releases with a page of their own: `&version=` => view. */
     22    public const ARCHIVE = ['1.0' => 'whats-new-1.0.php'];
     23
     24    /**
     25     * The release whose news this site has had (VERSION when it was installed with it). A site where it is older or
     26     * missing was updated: it gets the notice once.
     27     */
     28    public const SEEN_OPTION = Plugin::PREFIX_ . 'whats_new_version';
    1929
    2030    /** Set when an update needs the notice (the version it is for); removed when it was seen or dismissed. */
    … …  
    2737    public static function register(): void
    2838    {
     39        add_action('admin_init', [self::class, 'checkRelease']);
    2940        add_action('admin_notices', [self::class, 'notice']);
    3041        add_action('wp_ajax_' . self::DISMISS_ACTION, [self::class, 'dismiss']);
    … …  
    3243    }
    3344
    34     public static function url(): string
     45    /**
     46     * @param string $version Empty for the latest release, or a key of ARCHIVE.
     47     */
     48    public static function url(string $version = ''): string
    3549    {
    36         return admin_url('admin.php?page=' . self::SLUG);
     50        return admin_url('admin.php?page=' . self::SLUG . ($version !== '' ? '&version=' . rawurlencode($version) : ''));
     51    }
     52
     53    /**
     54     * A site that has not had the news of this release yet (an update from 1.0 or older) gets the notice once. A
     55     * fresh install has SEEN_OPTION already (Plugin::addOptions()).
     56     */
     57    public static function checkRelease(): void
     58    {
     59        if (get_option(self::SEEN_OPTION) === self::VERSION) {
     60            return;
     61        }
     62
     63        update_option(self::SEEN_OPTION, self::VERSION, false);
     64        self::remember();
    3765    }
    3866
    … …  
    90118            esc_attr(wp_create_nonce(self::DISMISS_ACTION)),
    91119            esc_attr(self::DISMISS_ACTION),
    92             esc_html__('Admin Options Pages 1.0 is here.', 'admin-options-pages'),
    93             esc_html__('Import and export with your data, your own field types, nine new field types and your values on your website.', 'admin-options-pages'),
     120            esc_html__('Admin Options Pages 1.1 is here.', 'admin-options-pages'),
     121            esc_html__('You now choose per page which roles can edit it. Have a look at who can edit your pages.', 'admin-options-pages'),
    94122            esc_url(self::url()),
    95123            esc_html__("See what's new", 'admin-options-pages')
    … …  
    152180        };
    153181
    154         include __DIR__ . '/views/whats-new.php';
     182        $version = isset($_GET['version']) ? sanitize_text_field(wp_unslash($_GET['version'])) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- only chooses which page to show.
     183
     184        include __DIR__ . '/views/' . (self::ARCHIVE[$version] ?? 'whats-new.php');
    155185    }
    156186}
  • admin-options-pages/tags/1.1.0/App/Admin/AdminPages/views/whats-new.php

    r3736451 r3750608  
    11<?php
    22/**
    3  * What's new in 1.0 (SubpageWhatsNew::view()). Markup and classes of wp-admin/about.php, so it looks like the About
    4  * page of WordPress; aop-whats-new.css only sets the header.
     3 * What's new in 1.1 (SubpageWhatsNew::view()). Markup and classes of wp-admin/about.php, so it looks like the About
     4 * page of WordPress; aop-whats-new.css only sets the header. The page of 1.0 is the archive (whats-new-1.0.php).
    55 *
    66 * @var callable(string, string, int, int): string $image Prints an image of includes/assets/images/whats-new/.
    … …  
    88
    99use AOP\App\Admin\AdminPages\SubpageMaster;
     10use AOP\App\Admin\AdminPages\SubpageWhatsNew;
    1011
    1112if (!defined('ABSPATH')) {
    … …  
    1718    <div class="about__header">
    1819        <div class="about__header-title">
    19             <h1><?php esc_html_e('Admin Options Pages 1.0', 'admin-options-pages'); ?></h1>
     20            <h1><?php esc_html_e('Admin Options Pages 1.1', 'admin-options-pages'); ?></h1>
    2021        </div>
    21         <p class="about__header-text"><?php esc_html_e('Import and export with your data, your own field types and your values on your website.', 'admin-options-pages'); ?></p>
     22        <p class="about__header-text"><?php esc_html_e('Choose who can edit each page.', 'admin-options-pages'); ?></p>
    2223    </div>
    2324
    2425    <div class="about__section">
    2526        <div class="column is-left-padding-zero is-right-padding-zero">
    26             <h2><?php esc_html_e('Welcome to Admin Options Pages 1.0', 'admin-options-pages'); ?></h2>
    27             <p class="is-subheading"><?php esc_html_e('This is the biggest update of the plugin so far. Menus now move to another site with all their values, so the options pages you built and filled locally go live in one file. You can add field types of your own, there are nine new built-in ones, and the values of your fields can be shown on your website without code. Your menus, pages, fields and values are all still here.', 'admin-options-pages'); ?></p>
     27            <h2><?php esc_html_e('Welcome to Admin Options Pages 1.1', 'admin-options-pages'); ?></h2>
     28            <p class="is-subheading"><?php esc_html_e('Your clients and colleagues now get exactly the pages they need. Choose the right roles for each page: Editor, Shop manager, Author, or a role you made yourself.', 'admin-options-pages'); ?></p>
    2829        </div>
    2930    </div>
    … …  
    3132    <div class="about__section has-2-columns">
    3233        <div class="column is-vertically-aligned-center is-left-padding-zero">
    33             <h3><?php esc_html_e('Import and export, with your data', 'admin-options-pages'); ?></h3>
     34            <h3><?php esc_html_e('Who can edit', 'admin-options-pages'); ?></h3>
    3435            <p>
    35                 <strong><?php esc_html_e('Build and fill your options pages locally, then take them live in one file.', 'admin-options-pages'); ?></strong><br />
    36                 <?php esc_html_e('Export the menus you choose together with the values of their fields, and import them on your live site, a staging site or your next project. No more typing the same settings twice.', 'admin-options-pages'); ?>
     36                <strong><?php esc_html_e('Tick the roles that may edit a page.', 'admin-options-pages'); ?></strong><br />
     37                <?php esc_html_e('Open a page in the editor and click the button next to "Who can edit". Every role of your site is there, also the roles of other plugins and the roles you made yourself. Users with a ticked role see the page in their menu and can save it; nobody else can.', 'admin-options-pages'); ?>
    3738            </p>
    38             <p><?php esc_html_e('Before anything changes you see what would happen, and you choose per menu, page, field and value. Nothing is replaced unless you choose it, and an import is all or nothing. Exports made with 0.9 can be imported too.', 'admin-options-pages'); ?></p>
     39            <p><?php esc_html_e('Administrators can always open every page, and only administrators can build and change the pages themselves.', 'admin-options-pages'); ?></p>
    3940        </div>
    4041        <div class="column is-vertically-aligned-center is-right-padding-zero">
    41             <?php echo $image('import-preview.webp', __('The preview of an import, with a checkbox for every menu, page, field and value', 'admin-options-pages'), 670, 560); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- escaped by $image. ?>
     42            <?php echo $image('who-can-edit.webp', __('The dialog "Who can edit" with a checkbox for every role of the site', 'admin-options-pages'), 400, 342); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- escaped by $image.?>
    4243        </div>
    4344    </div>
    4445
    45     <div class="about__section has-2-columns">
    46         <div class="column is-vertically-aligned-center is-left-padding-zero">
    47             <?php echo $image('options-page.webp', __('An options page with a logo, a brand color and contact details', 'admin-options-pages'), 1060, 600); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- escaped by $image. ?>
    48         </div>
    49         <div class="column is-vertically-aligned-center is-right-padding-zero">
    50             <h3><?php esc_html_e('Nine new field types', 'admin-options-pages'); ?></h3>
    51             <p>
    52                 <strong><?php esc_html_e('Email, Link, Password, Date, Time, Date and time, Range, Button group and File.', 'admin-options-pages'); ?></strong><br />
    53                 <?php esc_html_e('That makes 21 field types. Each one checks what is entered, and an image or file field only accepts the file types you choose, also when something is uploaded.', 'admin-options-pages'); ?>
    54             </p>
     46    <div class="about__section has-subtle-background-color">
     47        <div class="column">
     48            <h3><?php esc_html_e('What happens to your pages', 'admin-options-pages'); ?></h3>
     49            <p><?php esc_html_e('Nothing changes until you save a page again. A page that was set to Editor opens in the editor with the roles ticked that can edit it now: usually Editor, and with WooCommerce also Shop manager. Save the page to keep it that way, or change the roles first.', 'admin-options-pages'); ?></p>
     50            <p><?php esc_html_e('From then on the ticked roles decide, not what a role may do elsewhere on the site. Did someone get access without one of these roles? Tick a role they have, or give them access to that page with a plugin that manages roles.', 'admin-options-pages'); ?></p>
    5551        </div>
    5652    </div>
    5753
    58     <div class="about__section has-2-columns">
    59         <div class="column is-vertically-aligned-center is-left-padding-zero">
    60             <h3><?php esc_html_e('Your own field types', 'admin-options-pages'); ?></h3>
    61             <p>
    62                 <strong><?php esc_html_e('Need a field that is not there? Add it yourself.', 'admin-options-pages'); ?></strong><br />
    63                 <?php esc_html_e('Register a field type from your theme or plugin with one class: what the editor asks for, how the value is checked and stored, and how it shows on the options page and on your website. It appears in the field picker next to the built-in types, which use exactly the same API.', 'admin-options-pages'); ?>
    64             </p>
    65             <p><?php esc_html_e('The Field Types API is stable from 1.0 on and follows semantic versioning, so your field types keep working with the next versions.', 'admin-options-pages'); ?></p>
    66         </div>
    67         <div class="column is-vertically-aligned-center is-right-padding-zero">
    68             <pre class="aop-whats-new__code"><code><?php echo esc_html(
    69                 "add_action( 'aop_register_field_types', function ( \$registry ) {\n" .
    70                 "    \$registry->register( UrlField::class );\n" .
    71                 "} );\n\n" .
    72                 "class UrlField extends \\AOP\\App\\Fields\\FieldType\n" .
    73                 "{\n" .
    74                 "    public static function type(): string { return 'url'; }\n" .
    75                 "    public function label(): string { return __( 'URL' ); }\n" .
    76                 "    public function settings(): array { /* ... */ }\n" .
    77                 "    public function sanitizeValue( \$value, array \$field ) { /* ... */ }\n" .
    78                 "    public function render( array \$field, \$value ): void { /* ... */ }\n" .
    79                 "}"
    80             ); ?></code></pre>
    81         </div>
    82     </div>
    83 
    84     <div class="about__section has-2-columns">
    85         <div class="column is-vertically-aligned-center is-left-padding-zero">
    86             <?php echo $image('block-binding.webp', __('A paragraph connected to a field in the Attributes panel', 'admin-options-pages'), 1084, 688); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- escaped by $image. ?>
    87         </div>
    88         <div class="column is-vertically-aligned-center is-right-padding-zero">
    89             <h3><?php esc_html_e('Your values on your website', 'admin-options-pages'); ?></h3>
    90             <p>
    91                 <strong><?php esc_html_e('With a shortcode or a block, no code needed.', 'admin-options-pages'); ?></strong><br />
    92                 <?php esc_html_e('Put a field in a post with [aop_option name="…"], or connect a paragraph, heading, button or image to it in the Attributes panel of the block editor. Change the value once, and it changes everywhere.', 'admin-options-pages'); ?>
    93             </p>
    94             <p><?php esc_html_e('Switch on "Use in shortcode and blocks" for the fields you want to show. Fields made before 1.0 have it off, so nothing appears on your website by itself.', 'admin-options-pages'); ?></p>
    95         </div>
    96     </div>
    97 
    98     <div class="about__section has-3-columns has-subtle-background-color">
     54    <div class="about__section has-3-columns">
    9955        <div class="column">
    100             <h3><?php esc_html_e('Rewritten in React', 'admin-options-pages'); ?></h3>
    101             <p><?php esc_html_e('Under the hood the editor is rewritten in React, the WordPress way: with the components and the data store the block editor is made of.', 'admin-options-pages'); ?></p>
     56            <h3><?php esc_html_e('One user, one page', 'admin-options-pages'); ?></h3>
     57            <p><?php esc_html_e('With a plugin that manages roles, such as Members or User Role Editor, you can give a single user access to a single page: every page is listed there under Admin Options Pages.', 'admin-options-pages'); ?></p>
    10258        </div>
    10359        <div class="column">
    104             <h3><?php esc_html_e('Change any saved value', 'admin-options-pages'); ?></h3>
    105             <p><?php esc_html_e('Developers can change the value of any field before it is stored with the new filters aop_sanitized_option and aop_sanitized_option_{name}.', 'admin-options-pages'); ?></p>
     60            <h3><?php esc_html_e('Roles move with your pages', 'admin-options-pages'); ?></h3>
     61            <p><?php esc_html_e('An export takes the roles of every page with it. When a role does not exist on the site you import to, the preview tells you; the page is imported all the same.', 'admin-options-pages'); ?></p>
    10662        </div>
    10763        <div class="column">
    108             <h3><?php esc_html_e('A safe upgrade', 'admin-options-pages'); ?></h3>
    109             <p><?php esc_html_e('Your pages are stored in a new format now. A copy in the old format is kept for 90 days.', 'admin-options-pages'); ?></p>
     64            <h3><?php esc_html_e('No dead ends', 'admin-options-pages'); ?></h3>
     65            <p><?php esc_html_e('The editor tells you when a ticked role cannot open the dashboard at all, such as the Customer role of WooCommerce.', 'admin-options-pages'); ?></p>
    11066        </div>
    11167    </div>
    … …  
    11470        <div class="column is-left-padding-zero is-right-padding-zero">
    11571            <h3><?php esc_html_e('Requirements', 'admin-options-pages'); ?></h3>
    116             <p><?php esc_html_e('Admin Options Pages 1.0 needs WordPress 6.9 or later and PHP 8.1 or later.', 'admin-options-pages'); ?></p>
     72            <p><?php esc_html_e('Admin Options Pages 1.1 needs WordPress 6.9 or later and PHP 8.1 or later, like 1.0.', 'admin-options-pages'); ?></p>
    11773            <p class="aop-whats-new__actions">
    11874                <a class="button button-primary button-hero" href="<?php echo esc_url(admin_url('admin.php?page=' . SubpageMaster::SLUG)); ?>"><?php esc_html_e('Go to your options pages', 'admin-options-pages'); ?></a>
    119                 <a class="button button-hero" href="https://adminoptionspages.com/docs/1.x/whats-new"><?php esc_html_e('Read the documentation', 'admin-options-pages'); ?></a>
     75                <a class="button button-hero" href="https://adminoptionspages.com/docs/1.x/who-can-edit"><?php esc_html_e('Read the documentation', 'admin-options-pages'); ?></a>
    12076            </p>
     77            <p><a href="<?php echo esc_url(SubpageWhatsNew::url('1.0')); ?>"><?php esc_html_e('What was new in 1.0', 'admin-options-pages'); ?></a></p>
    12178        </div>
    12279    </div>
  • admin-options-pages/tags/1.1.0/App/Admin/Input.php

    r3736451 r3750608  
    33namespace AOP\App\Admin;
    44
     5use AOP\App\Access;
    56use AOP\App\Data;
    67use AOP\App\Plugin;
    … …  
    194195        return Collection::make(Request::post()['pages'])->map(function ($subpage, $key) use ($validate) {
    195196            $validatedSubpageTab = isset($subpage['subpage_tab']) && $subpage['subpage_tab'] === '1';
     197            $roles = $validate->roles($subpage);
    196198
    197199            $validatedParentSlug = $validate->already($this->existingMenuParentSlug($validate), $validate->existingMenu());
    … …  
    204206                'subpage_title' => $validate->textField($subpage['subpage_title']),
    205207                'menu_title' => $validate->textField($subpage['menu_title']),
    206                 'capability' => $validate->capabilityPage($subpage['role']),
     208                'capability' => Access::legacyCapability($roles),
     209                'roles' => $roles,
    207210                'menu_slug' => $validate->alphanumericDashesAll($subpage['subpage_slug']),
    208211                'subpage_slug_suffix' => $validate->alphanumeric($subpage['subpage_slug_suffix']),
    … …  
    231234        return Collection::make(Request::post()['pages'])->map(function ($subpage, $key) use ($validate) {
    232235            $validatedSubpageTab = isset($subpage['subpage_tab']) && $subpage['subpage_tab'] === '1';
     236            $roles = $validate->roles($subpage);
    233237
    234238            $validatedParentSlug = $this->parentSlugForCustomMenu($validate);
    … …  
    240244                'subpage_title' => $validate->textField($subpage['subpage_title']),
    241245                'menu_title' => $validate->textField($subpage['menu_title']),
    242                 'capability' => $validate->capabilityPage($subpage['role']),
     246                'capability' => Access::legacyCapability($roles),
     247                'roles' => $roles,
    243248                'menu_slug' => $validatedMenuSlug,
    244249                'subpage_slug_suffix' => $validate->alphanumeric($subpage['subpage_slug_suffix']),
  • admin-options-pages/tags/1.1.0/App/Admin/Text.php

    r3223019 r3750608  
    1414                    'cancel' => __('Cancel', 'admin-options-pages'),
    1515                    'delete' => __('Delete', 'admin-options-pages')
    16                 ],
    17                 'role' => [
    18                     'administrator' => _x('Administrator', 'User role', 'admin-options-pages'),
    19                     'editor' => _x('Editor', 'User role', 'admin-options-pages')
    2016                ]
    2117            ],
  • admin-options-pages/tags/1.1.0/App/Data.php

    r3736451 r3750608  
    7575            static::$$name = null;
    7676        }
     77
     78        Access::reset();
    7779    }
    7880
    … …  
    497499
    498500                    $pages = Collection::make($item['pages'])->filter(function ($item) {
    499                         return current_user_can($item['capability']);
     501                        return current_user_can(Access::pageCapability($item));
    500502                    });
    501503
  • admin-options-pages/tags/1.1.0/App/Enqueue.php

    r3736451 r3750608  
    6969
    7070            wp_localize_script(Plugin::PREFIX . 'app-js', Plugin::PREFIX_ . 'editor_config', static::editorConfig());
     71
     72            // The checkboxes of the roles are CheckboxControl; its look comes from the stylesheet of WordPress.
     73            wp_enqueue_style('wp-components');
    7174
    7275            wp_localize_script(Plugin::PREFIX . 'app-js', Plugin::PREFIX_ . 'script_data_js', Data::js()->toArray());
    … …  
    8891     * with a page. They travel in a script, not in an attribute named nonce (analysis S14).
    8992     *
    90      * @return array{nonceName: string, nonce: string, referer: string, svgUploads: bool}
     93     * @return array{nonceName: string, nonce: string, referer: string, svgUploads: bool, roles: array, legacyEditorRoles: string[]}
    9194     */
    9295    public static function editorConfig(): array
    … …  
    100103            // WordPress blocks SVG uploads by default; the image field says so (a plugin like Safe SVG allows them).
    101104            'svgUploads' => in_array('image/svg+xml', get_allowed_mime_types(), true),
     105            'roles' => static::roles(),
     106            // A page of 1.0 with level "Editor" shows these roles ticked (Access::legacyEditorRoles()).
     107            'legacyEditorRoles' => Access::legacyEditorRoles(),
    102108        ];
     109    }
     110
     111    /**
     112     * Every role of the site, also roles that a plugin or the site builder added. Not get_editable_roles(): plugins
     113     * hide roles there. Which role may open a page is decided by the role a user has, not by its capabilities; a
     114     * role that cannot open the dashboard at all gets a remark in the editor.
     115     *
     116     * @return array<int, array{slug: string, name: string, count: int|null, canOpenAdmin: bool}>
     117     */
     118    public static function roles(): array
     119    {
     120        $counts = function_exists('wp_is_large_user_count') && wp_is_large_user_count() ? null : count_users()['avail_roles'];
     121        $roles = [];
     122
     123        foreach (wp_roles()->roles as $slug => $role) {
     124            $slug = (string) $slug;
     125            $object = get_role($slug);
     126
     127            $roles[] = [
     128                'slug' => $slug,
     129                'name' => translate_user_role($role['name']),
     130                'count' => $counts === null ? null : (int) ($counts[$slug] ?? 0),
     131                'canOpenAdmin' => $object !== null && static::roleCanOpenAdmin($object),
     132            ];
     133        }
     134
     135        return $roles;
     136    }
     137
     138    /**
     139     * Whether users with this role can open wp-admin. WooCommerce sends users away who have none of edit_posts,
     140     * manage_woocommerce and view_admin_dashboard (woocommerce_prevent_admin_access).
     141     */
     142    private static function roleCanOpenAdmin(\WP_Role $role): bool
     143    {
     144        if (!$role->has_cap('read')) {
     145            return false;
     146        }
     147
     148        if (!class_exists('WooCommerce')) {
     149            return true;
     150        }
     151
     152        return $role->has_cap('edit_posts') || $role->has_cap('manage_woocommerce') || $role->has_cap('view_admin_dashboard');
    103153    }
    104154
  • admin-options-pages/tags/1.1.0/App/Fields/FieldManager.php

    r3736451 r3750608  
    33namespace AOP\App\Fields;
    44
     5use AOP\App\Access;
    56use AOP\App\Plugin;
    67
    … …  
    2728     *
    2829     * @param iterable<array> $fields Stored fields.
     30     * @param array|null      $page   The page the fields are on; then only fields the user may edit are registered
     31     *                                (Access::fieldMode()).
    2932     */
    30     public static function hook(iterable $fields): void
     33    public static function hook(iterable $fields, ?array $page = null): void
    3134    {
    3235        foreach ($fields as $field) {
    3336            // The type is looked up on admin_init, after add-ons had their chance to register it.
    34             add_action('admin_init', function () use ($field) {
     37            add_action('admin_init', function () use ($field, $page) {
     38                if ($page !== null && Access::fieldMode($page, $field, wp_get_current_user()) !== 'edit') {
     39                    return;
     40                }
     41
    3542                self::registerField($field);
    3643            });
  • admin-options-pages/tags/1.1.0/App/ImportExport/Importer.php

    r3736451 r3750608  
    9696        }
    9797
    98         return ['menus' => $menus, 'options' => $options, 'warnings' => $warnings];
     98        return ['menus' => $menus, 'options' => $options, 'warnings' => array_merge($warnings, self::missingRoleWarnings($package))];
     99    }
     100
     101    /**
     102     * Roles of the pages in the file that this site does not have. The page is imported with them all the same: the
     103     * role gives nobody access until a plugin or the site builder adds it.
     104     *
     105     * @return string[]
     106     */
     107    private static function missingRoleWarnings(array $package): array
     108    {
     109        $known = wp_roles()->roles;
     110        $warnings = [];
     111
     112        foreach ($package['menus_and_pages'] as $item) {
     113            foreach ((array) ($item['page_value']['pages'] ?? []) as $page) {
     114                foreach ((array) ($page['roles'] ?? []) as $role) {
     115                    if (is_string($role) && $role !== 'administrator' && ! isset($known[$role])) {
     116                        $warnings[] = sprintf(
     117                            /* translators: 1: the slug of a user role, 2: the menu title of a page */
     118                            __('The role "%1$s" of the page "%2$s" does not exist on this site. Until it does, users with that role cannot open the page.', 'admin-options-pages'),
     119                            $role,
     120                            (string) ($page['menu_title'] ?? '')
     121                        );
     122                    }
     123                }
     124            }
     125        }
     126
     127        return array_values(array_unique($warnings));
    99128    }
    100129
  • admin-options-pages/tags/1.1.0/App/ImportExport/PageValueToPost.php

    r3736451 r3750608  
    6161        ];
    6262
     63        // A page of 1.1 has its roles; a page of 1.0 posts its level, as the editor of 1.0 did.
     64        if (isset($page['roles']) && is_array($page['roles'])) {
     65            unset($post['role']);
     66            $post = self::insertAfter($post, 'select_title', ['roles' => array_values($page['roles'])]);
     67        }
     68
    6369        if (! empty($page['include_tab'])) {
    6470            $post['subpage_tab'] = '1';
    … …  
    7076
    7177        return $post;
     78    }
     79
     80    /**
     81     * @param array  $array
     82     * @param string $key   The key to insert after.
     83     * @param array  $items
     84     */
     85    private static function insertAfter(array $array, string $key, array $items): array
     86    {
     87        $position = array_search($key, array_keys($array), true);
     88
     89        return array_slice($array, 0, $position + 1, true) + $items + array_slice($array, $position + 1, null, true);
    7290    }
    7391
  • admin-options-pages/tags/1.1.0/App/ImportExport/SchemaValidator.php

    r3736451 r3750608  
    8585            /* translators: %s: where in the file */
    8686            $errors[] = self::error($path, sprintf(__('%s is empty.', 'admin-options-pages'), self::name($path)));
     87        }
     88
     89        // A pattern of the schema is a JSON Schema pattern without delimiters; ~ does not occur in ours.
     90        if (isset($schema['pattern']) && ! preg_match('~' . $schema['pattern'] . '~u', $data)) {
     91            /* translators: %s: where in the file */
     92            $errors[] = self::error($path, sprintf(__('%s has characters that are not allowed.', 'admin-options-pages'), self::name($path)));
    8793        }
    8894    }
  • admin-options-pages/tags/1.1.0/App/Options/MenuPage.php

    r2356184 r3750608  
    22
    33namespace AOP\App\Options;
     4
     5use AOP\App\Access;
    46
    57class MenuPage
    … …  
    4244        $this->pageTitle  = $args['page_title'];
    4345        $this->menuTitle  = $args['menu_title'];
    44         $this->capability = $args['capability'];
     46        $this->capability = Access::menuCapability($args);
    4547        $this->menuSlug   = $args['menu_slug'];
    4648        $this->iconUrl    = $args['icon_url'];
  • admin-options-pages/tags/1.1.0/App/Options/OptionsFields.php

    r3736451 r3750608  
    1111     * Register the fields of a page; each goes to its field type through the FieldManager.
    1212     *
    13      * @param $fields
     13     * @param array      $fields
     14     * @param array|null $page   The page the fields are on (Access decides per field what the user may do).
    1415     * @return Collection
    1516     */
    16     public function run($fields)
     17    public function run($fields, ?array $page = null)
    1718    {
    1819        return Collection::make($fields)->filter(function ($field) {
    1920            return isset($field['type']);
    20         })->each(function ($field) {
    21             FieldManager::hook([$field]);
     21        })->each(function ($field) use ($page) {
     22            FieldManager::hook([$field], $page);
    2223        });
    2324    }
  • admin-options-pages/tags/1.1.0/App/Options/OptionsPages.php

    r3736451 r3750608  
    6767            return $getRequest['page'] === $page['menu_slug'] || $cleanSlug === $prefix . '/wp-admin/options.php';
    6868        })->map(function ($page) {
    69             return (new OptionsFields())->run($page['fields']);
     69            return (new OptionsFields())->run($page['fields'], $page);
    7070        });
    7171    }
  • admin-options-pages/tags/1.1.0/App/Options/SingleOptionsPage.php

    r3736451 r3750608  
    33namespace AOP\App\Options;
    44
     5use AOP\App\Access;
    56use AOP\App\Data;
    67use AOP\App\Plugin;
    … …  
    5758        $this->parentSlug = $args['parent_slug'];
    5859        $this->menuTitle  = $args['menu_title'];
    59         $this->capability = $args['capability'];
     60        $this->capability = Access::pageCapability($args);
    6061        $this->menuSlug   = $args['menu_slug'];
    6162        $this->hasTab     = $args['include_tab'];
    … …  
    164165
    165166        $currentSubmenuPages->each(function ($subpage) use ($activePage, $currentSubmenuPages) {
    166             if (!current_user_can($subpage['capability'])) {
     167            if (!current_user_can(Access::pageCapability($subpage))) {
    167168                return;
    168169            }
  • admin-options-pages/tags/1.1.0/App/Plugin.php

    r3736451 r3750608  
    7474
    7575    /**
    76      * Let WordPress find the translations in languagesDir() when there is no language pack.
     76     * Let WordPress find the translations in languagesDir(): instead of a language pack, or behind one for the texts
     77     * it lacks (Translations).
    7778     */
    7879    public static function loadTextdomain(): void
    7980    {
    80         load_plugin_textdomain('admin-options-pages', false, dirname(plugin_basename(static::baseFile())) . '/languages');
     81        Translations::load();
    8182    }
    8283
    … …  
    204205        }
    205206
     207        Access::register();
    206208        PluginMetaLinks::getInstance();
    207209        Enqueue::getInstance();
    … …  
    230232        add_option(static::PREFIX_ . 'db_version', static::DB_VERSION, '', 'no');
    231233        add_option(static::PREFIX_ . 'option_names', [], '', 'no');
     234        // A fresh install starts with this release: no notice about what is new.
     235        add_option(Admin\AdminPages\SubpageWhatsNew::SEEN_OPTION, Admin\AdminPages\SubpageWhatsNew::VERSION, '', 'no');
    232236
    233237        // Built again on first use: the pages may have changed while the plugin was not active (Pro).
    … …  
    251255        delete_option(static::PREFIX_ . 'setting_editpage_hidden');
    252256        delete_option(Admin\AdminPages\SubpageWhatsNew::SHOW_OPTION);
     257        delete_option(Admin\AdminPages\SubpageWhatsNew::SEEN_OPTION);
    253258        Flash::purgeAll();
    254259    }
  • admin-options-pages/tags/1.1.0/App/Validation.php

    r3736451 r3750608  
    922922    }
    923923
     924    /**
     925     * The roles of a posted page, as they are stored: valid role slugs without administrator (who can always open
     926     * every page), without doubles, sorted. Whether a role exists is not checked: an unknown role gives nobody
     927     * access, and an import must be able to keep a role that this site does not have (yet).
     928     *
     929     * A post without `roles` (the form of 1.0, an export of 1.0) has `role`: `editor` becomes the roles that have
     930     * that level now (Access::legacyEditorRoles()).
     931     *
     932     * @param array $subpage A posted page.
     933     *
     934     * @return string[]
     935     */
     936    public function roles($subpage)
     937    {
     938        if (!is_array($subpage) || !array_key_exists('roles', $subpage)) {
     939            return (is_array($subpage) && ($subpage['role'] ?? '') === 'editor') ? Access::legacyEditorRoles() : [];
     940        }
     941
     942        // A form cannot post an empty list: the editor sends an empty string for "no roles".
     943        $roles = $subpage['roles'] === '' ? [] : $subpage['roles'];
     944
     945        if (!is_array($roles) || count($roles) > 50) {
     946            $this->wpDieMessage();
     947        }
     948
     949        foreach ($roles as $role) {
     950            if (!is_string($role) || $role === '' || strlen($role) > 64 || sanitize_key($role) !== $role) {
     951                $this->wpDieMessage();
     952            }
     953        }
     954
     955        $roles = array_values(array_unique(array_diff($roles, ['administrator'])));
     956        sort($roles);
     957
     958        return $roles;
     959    }
     960
    924961    public function capabilityPage($value)
    925962    {
    … …  
    933970    public function capabilityMenu()
    934971    {
    935         if (Collection::make(Request::post()['pages'])->contains('role', 'editor')) {
    936             return 'edit_others_posts';
    937         }
    938 
    939         return 'manage_options';
     972        $withRoles = Collection::make(Request::post()['pages'])->contains(function ($subpage) {
     973            return $this->roles($subpage) !== [];
     974        });
     975
     976        return Access::legacyCapability($withRoles ? ['any'] : []);
    940977    }
    941978
  • admin-options-pages/tags/1.1.0/admin-options-pages.php

    r3736451 r3750608  
    55 * Plugin URI:   https://adminoptionspages.com
    66 * Description:  Create and edit your own options pages with ease.
    7  * Version:      1.0.0
     7 * Version:      1.1.0
    88 * Author:       Johannes van Poelgeest
    99 * Author URI:   https://poolghost.com
  • admin-options-pages/tags/1.1.0/bootstrap/bootstrap.php

    r3736451 r3750608  
    55use AOP\App\Frontend\Shortcode;
    66use AOP\App\Plugin;
     7use AOP\App\Translations;
    78
    89if (!defined('ABSPATH')) {
    … …  
    1415// Translations that ship with the plugin, for when there is no language pack of translate.wordpress.org.
    1516add_action('init', [Plugin::class, 'loadTextdomain']);
     17// ... also behind a language pack that lacks the texts of this release (PHP and scripts).
     18add_action('change_locale', [Translations::class, 'changeLocale']);
     19add_filter('load_script_translations', [Translations::class, 'fillScriptTranslations'], 10, 4);
    1620
    1721// Settings must also exist outside wp-admin, e.g. for the REST API (/wp/v2/settings).
  • admin-options-pages/tags/1.1.0/includes/build/css/aop.css

    r3736451 r3750608  
    1 html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:rgba(0,0,0,0)}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}button{background:rgba(0,0,0,0);padding:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}fieldset{margin:0;padding:0}ol,ul{list-style:none;margin:0;padding:0}html{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";line-height:1.5}*,*::before,*::after{border-width:0;border-style:solid;border-color:#e2e8f0}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder, textarea::-moz-placeholder{color:#a0aec0}input::placeholder,textarea::placeholder{color:#a0aec0}button,[role=button]{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}pre,code,kbd,samp{font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1400px){.container{max-width:1400px}}@media (min-width: 1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0px}.inset-y-0{top:0px;bottom:0px}.bottom-0{bottom:0px}.left-0{left:0px}.right-0{right:0px}.top-0{top:0px}.z-30{z-index:30}.z-50{z-index:50}.clear-both{clear:both}.m-0{margin:0px}.mx-10{margin-left:2.5rem;margin-right:2.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.mb-0{margin-bottom:0px}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:0.5rem}.mb-3{margin-bottom:0.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:0.25rem}.ml-2{margin-left:0.5rem}.ml-3{margin-left:0.75rem}.ml-5{margin-left:1.25rem}.ml-auto{margin-left:auto}.mr-1{margin-right:0.25rem}.mr-2{margin-right:0.5rem}.mt-0{margin-top:0px}.mt-1{margin-top:0.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:0.5rem}.mt-20{margin-top:5rem}.mt-3{margin-top:0.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-36px{height:36px}.h-388px{height:388px}.h-50px{height:50px}.h-56px{height:56px}.h-auto{height:auto}.h-full{height:100%}.h-screen-half{height:50vh}.w-36px{width:36px}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-3xl{max-width:48rem}.shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.columns-2{-moz-columns:2;columns:2}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:0.25rem}.gap-2{gap:0.5rem}.gap-4{gap:1rem}.gap-\[3px\]{gap:3px}.gap-x-2{-moz-column-gap:0.5rem;column-gap:0.5rem}.gap-y-1{row-gap:0.25rem}.overflow-auto{overflow:auto}.rounded{border-radius:0.25rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-\[\#f0b849\]{--tw-border-opacity:1;border-color:rgb(240 184 73 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-gray-wp-200{--tw-border-opacity:1;border-color:rgb(226 228 231 / var(--tw-border-opacity, 1))}.border-gray-wp-400{border-color:#42586366}.bg-\[\#3858e9\]\/10{background-color:rgb(56 88 233 / 0.1)}.bg-\[\#fef8ee\]{--tw-bg-opacity:1;background-color:rgb(254 248 238 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-wp-100{--tw-bg-opacity:1;background-color:rgb(248 249 249 / var(--tw-bg-opacity, 1))}.bg-gray-wp-300{--tw-bg-opacity:1;background-color:rgb(243 244 245 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.fill-current{fill:currentColor}.p-0{padding:0px}.p-2{padding:0.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:0.5rem;padding-right:0.5rem}.px-20{padding-left:5rem;padding-right:5rem}.px-3{padding-left:0.75rem;padding-right:0.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:0.125rem;padding-bottom:0.125rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.py-3{padding-top:0.75rem;padding-bottom:0.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-1{padding-bottom:0.25rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pl-10{padding-left:2.5rem}.pl-3{padding-left:0.75rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pr-1{padding-right:0.25rem}.pr-4{padding-right:1rem}.pt-2{padding-top:0.5rem}.pt-6{padding-top:1.5rem}.pt-\[2px\]{padding-top:2px}.text-center{text-align:center}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:0.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.lowercase{text-transform:lowercase}.italic{font-style:italic}.text-\[\#1e1e1e\]{--tw-text-opacity:1;color:rgb(30 30 30 / var(--tw-text-opacity, 1))}.text-\[\#3858e9\]{--tw-text-opacity:1;color:rgb(56 88 233 / var(--tw-text-opacity, 1))}.text-\[\#757575\]{--tw-text-opacity:1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}.text-\[\#cc1818\]{--tw-text-opacity:1;color:rgb(204 24 24 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.opacity-100{opacity:1}.opacity-50{opacity:0.5}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.duration-0{transition-duration:0s}.duration-200{transition-duration:200ms}.ease-in{transition-timing-function:cubic-bezier(0.4, 0, 1, 1)}.fade-in{animation-iteration-count:1;animation-name:fadeInOpacity;animation-timing-function:ease-in;opacity:1}@keyframes fadeInOpacity{0%{opacity:0}100%{opacity:1}}.duration-1{animation-duration:.1s}.duration-0{animation-duration:0s;transition:none}.o-field{margin:0 auto 10px}.o-field__wrapper{box-shadow:0 1px 1px rgba(0,0,0,.04)}.is-ghost .o-field__wrapper{box-shadow:none}.o-field__inside{display:flex;flex-direction:column;justify-content:space-between;border-width:1px;border-color:#42586366;border-top:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:#fff;cursor:default}@media(min-width: 62.5em){.c-editor-main.no-side-bar .o-field__inside{display:grid;grid-template-columns:1fr 280px}}@media(min-width: 75em){.o-field__inside{display:grid;grid-template-columns:50% 50%}}@media(min-width: 87.5em){.o-field__inside{grid-template-columns:1fr 280px}}.is-chosen.is-ghost .o-field__inside,.is-chosen.is-fallback.is-drag .o-field__inside{display:none !important;opacity:0;height:0px;border:none}.o-field__content{padding:12px 12px 0;display:block}.o-field__options{padding:12px 12px 20px 12px;display:flex;flex-direction:column}@media(min-width: 62.5em){.c-editor-main.no-side-bar .o-field__options{border-left-width:1px;--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}}@media(min-width: 75em){.o-field__options{border-left-width:1px;--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}}.o-field__options{position:relative}.o-field.is-ghost{background-color:#fff;box-shadow:none;border:1px dashed #b4b9be;height:43px;margin:0 auto 10px}.o-field.is-ghost .c-wpo__top-bar--subpage{opacity:0}.o-field.is-fallback{box-shadow:0 1px 1px rgba(0,0,0,.04) !important;z-index:100000000 !important;overflow:none;position:fixed !important;opacity:.8;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";filter:alpha(opacity=80)}.o-field-table{display:flex;flex-direction:column;width:338px;margin-left:-24px}.o-field-table__header{margin-left:24px;display:flex}.o-field-table__header-label{margin-bottom:3px;width:calc(50% - 18px)}.o-field-table__header-label:nth-of-type(1n+2){margin-left:4px}.o-field-table__body{width:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none}.o-field-table__footer{position:relative;margin-left:24px;width:calc(100% - 56px);display:flex;align-items:center;justify-content:center}.o-field-table__footer:before{opacity:0;position:absolute;content:"";top:50%;left:0;margin-top:-1px;border-bottom:2px solid var(--wp-admin-theme-color, #3858e9);width:100%;transition:opacity .1s linear .1s}.o-field-table__footer:hover:before,.o-field-table__footer:focus-within:before{opacity:1}.o-field-table__footer{margin-top:6px;margin-bottom:6px}.o-field-table__footer .c-icon-button{position:relative;z-index:1}.o-field-table__footer .c-icon-button.is-appender:hover{background-color:#1e1e1e;color:#fff}.o-field-table__footer .c-icon-button.is-appender:focus{background-color:#1e1e1e;color:#fff;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color, #3858e9)}.o-field-table__row{display:flex;align-items:center;margin-bottom:2px;position:relative}.o-field-table__row.is-chosen.is-ghost{background-color:#edeff0;width:100%;left:0px;margin-left:24px;width:calc(100% - 54px)}.o-field-table__row.is-chosen.is-ghost .o-field-table__input{opacity:0;visibility:hidden}.o-field-table__row.is-chosen.is-ghost .o-field-table__drag-handle-image{opacity:1}.o-field-table__drag-handle{padding:0px;flex:0 0 24px;box-sizing:border-box;width:24px;height:23px;display:flex;justify-content:center;align-items:center;cursor:move;cursor:-webkit-grab}.o-field-table__drag-handle-abort{flex:0 0 24px;box-sizing:border-box;padding:5px;opacity:0;width:24px;height:25px;display:flex;justify-content:center;align-items:center;cursor:default}.o-field-table.is-active .o-field-table__drag-handle{opacity:0}.o-field-table.is-active .o-field-table__row.is-chosen.is-fallback .o-field-table__drag-handle{opacity:1}.o-field-table__drag-handle-image{height:24px;color:rgba(0,0,0,0);opacity:0}.o-field-table__row:hover .o-field-table__drag-handle-image{color:rgba(10,24,41,.7)}.o-field-table.is-active .o-field-table__row.is-chosen.is-fallback .o-field-table__drag-handle-image{color:#191e23}.o-field-table__drag-handle:hover .o-field-table__drag-handle-image{color:#191e23;opacity:1}.o-input-wrapper:hover .o-field-table__drag-handle-image{opacity:1}.o-field-table__input:nth-of-type(1n+2){margin-left:3px}.o-field-table__delete{margin-left:6px;opacity:0;transition:opacity .1s linear}.o-field-table__row:hover .o-field-table__delete,.o-field-table__row:focus-within .o-field-table__delete{opacity:1}@media(hover: none){.o-field-table__delete{opacity:1}}.o-field-table__error-list{margin:8px 0 0 26px}.o-field-table__error-item{position:relative;display:flex;align-items:flex-start;gap:4px;font-size:12px;line-height:16px;color:var(--wpds-color-foreground-content-error-weak, #cc1818)}.o-field-table__error-count{margin-left:2px;background-color:#e3e4e7;color:#23282d;padding:1px 5px;border-radius:3px;font-size:10px;line-height:120%;font-weight:700}.o-field-table__error-message{color:inherit}.o-drag-list{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;max-width:1200px;width:100%}.o-drag-list.for-fields{max-width:100%}.o-drag-list.for-fields:hover{min-height:auto}.o-drag-list.for-fields.is-empty{height:65px}.o-drag-list.for-fields.is-empty-on-move{height:55px}.o-fields-wrapper{display:flex;flex-direction:column;align-items:center;padding:40px 40px 15px}.o-page{margin:10px auto 0;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:100}.o-page.is-ghost{box-shadow:none;border:1px dashed #b4b9be;height:46px}.o-page.is-ghost .c-wpo__top-bar--subpage{opacity:0}.o-page.is-fallback{box-shadow:0 1px 1px rgba(0,0,0,.04) !important;background-color:#fff;z-index:100000000 !important;overflow:none;position:fixed !important;margin-bottom:0}.o-page__right-nav{position:relative;display:flex}.o-page__inside{-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:#fff;padding:0;cursor:default;border-width:0 1px 1px 1px}.is-chosen.is-ghost .o-page__inside,.is-chosen.is-fallback.is-drag .o-page__inside{display:none !important;opacity:0;height:0;border:0}.o-page__wrapper{display:flex;background-color:#fff}.o-page__content,.o-page__options{padding:25px 12px 10px;position:relative}.o-page__content{flex:3}.o-page__options{flex:1;padding-top:25px}.o-input-wrapper{position:relative;display:flex;align-items:center;--aop-label-offset: 11.5px;padding:5px 8px 15px}.o-input-wrapper.for-radio{align-items:normal}.o-input-wrapper:nth-last-of-type(1){padding-bottom:20px}.o-input-wrapper.align-top{align-items:start}@media(min-width: 62.5em){.o-field__content .o-input-wrapper.align-top,.c-editor-main.no-side-bar .o-field__content .o-input-wrapper.align-top{align-items:start}}@media(min-width: 87.5em){.o-field__content .o-input-wrapper.align-top,.c-editor-main.no-side-bar .o-field__content .o-input-wrapper.align-top{align-items:start}}.o-input-wrapper.has-table{padding-bottom:0}.o-field__content .o-input-wrapper.has-table,.c-editor-main.no-side-bar .o-field__content .o-input-wrapper.has-table{align-items:normal}.o-input-wrapper.for-menutype{height:28px}.o-field__options .o-input-wrapper,.o-field__content .o-input-wrapper,.o-page__content .o-input-wrapper{flex-direction:column;align-items:start;--aop-label-offset: 0px}@media(min-width: 62.5em){.c-editor-main.no-side-bar .o-field__content .o-input-wrapper{flex-direction:row;align-items:center;--aop-label-offset: 11.5px}}@media(min-width: 87.5em){.o-field__content .o-input-wrapper{flex-direction:row;align-items:center;--aop-label-offset: 11.5px}}@media(min-width: 50em){.c-editor-main.no-side-bar .o-page__content .o-input-wrapper{flex-direction:row;align-items:center;--aop-label-offset: 11.5px}}@media(min-width: 68.75em){.o-page__content .o-input-wrapper{flex-direction:row;align-items:center;--aop-label-offset: 11.5px}}.o-input-wrapper__control{display:flex;align-items:center;gap:8px}.o-input-wrapper.has-message:has(>.o-input-wrapper__field>.c-validate-message:not([style*="display: none"])){align-items:flex-start}.o-input-wrapper.has-message:has(>.o-input-wrapper__field>.c-validate-message:not([style*="display: none"]))>.c-input-label{margin-top:var(--aop-label-offset)}.o-input-wrapper__field{display:flex;flex-direction:column;align-items:flex-start;flex:1 1 auto;min-width:0;align-self:stretch}.o-field__options .o-input-wrapper__field,.o-field__content .o-input-wrapper__field{width:100%}.o-meta-box{background-color:#fff;border:1px solid #ccd0d4;box-shadow:0 1px 1px rgba(0,0,0,.04);margin-bottom:20px;max-width:1000px;position:relative;width:100%}.o-meta-box.is-grey{background-color:#edeff0;border:0;box-shadow:none}.o-meta-box__inside{font-size:13px;line-height:1.4em;padding:12px 12px 0;position:relative}.o-meta-box__inside.in-sidebar{padding:0}.o-meta-box__pages-wrapper{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;display:flex;flex-direction:column;justify-content:center;margin-right:20px;padding:0 40px}@media(min-width: 68.75em){.o-meta-box__pages-wrapper{padding:0 60px}}.o-meta-box__submit-items{background:#f5f5f5;border-top:1px solid #e2e4e7;display:flex;justify-content:space-between;padding:12px}.o-meta-box__submit-save{display:block}.o-meta-box__submit-delete{align-items:center;display:flex}.o-input-column{display:flex;flex-direction:column}.o-body{display:flex;margin-top:50px}.o-body__content{align-items:center;display:flex;flex:1;flex-direction:column}.o-body__sidebar{margin-left:20px;width:280px}.o-wrap{margin:10px 20px 0 2px}.o-dropdown-group{position:relative;display:flex;flex-direction:column;align-items:center;margin:10px 0}.o-dropdown-group.is-empty{margin:0 0 10px}.o-radio-list__item{display:flex;align-items:center;margin-bottom:3px;position:relative}.o-radio-list__item.is-chosen.is-ghost{background-color:#edeff0;width:calc(100% - 29px)}.o-radio-list__item.is-chosen.is-ghost .o-radio-list__input{opacity:0;visibility:hidden}.o-radio-list__item.is-chosen.is-ghost .o-radio-list__drag-handle{opacity:0}.o-radio-list__item.is-chosen.is-ghost .o-radio-list__drag-handle-image{opacity:1}.o-radio-list__drag-handle{position:absolute;padding:5px;left:-23px;width:15px;height:25px;display:flex;justify-content:center;align-items:center;cursor:move;cursor:-webkit-grab}.o-radio-list.is-active .o-radio-list__drag-handle{opacity:0}.o-radio-list.is-active .o-radio-list__item.is-chosen.is-fallback .o-radio-list__drag-handle{opacity:1}.o-radio-list__drag-handle-image{height:20px;color:rgba(10,24,41,.7);opacity:0;transition:opacity .1s linear .1s;transition:color .1s}.o-radio-list__drag-handle:hover .o-radio-list__drag-handle-image{color:#191e23;opacity:1}.o-input-wrapper:hover .o-radio-list__drag-handle-image{opacity:1}.o-radio-list__input.c-input[type=text]:nth-of-type(1n+2){margin-left:4px}.not-visible{display:none}.fade-enter-active,.fade-leave-active{transition:opacity .3s}.fade-enter,.fade-leave-to{opacity:0}.aop-modal-is-open{overflow:hidden}.slide-fade-enter-active{transition:all .2s ease}.slide-fade-leave-active{transition:all .2s cubic-bezier(1, 0.5, 0.8, 1)}.slide-fade-enter,.slide-fade-leave-to{transform:translateY(-5px);opacity:0}.above-button.slide-fade-enter,.above-button.slide-fade-leave-to{transform:translateY(5px)}.slide-up-enter-active{transition:all .5s ease}.slide-up-enter{transform:translateY(30px);opacity:0}.slide-stop{transform:none;transition:none}.c-top-bar{clear:both;padding:0 8px;line-height:28px;display:flex;justify-content:space-between;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.c-top-bar__left{display:flex;align-items:center;flex-wrap:wrap;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.c-top-bar__right{position:relative;display:flex;align-items:center}.c-top-bar--subpage,.c-top-bar--field{min-width:30px;position:relative;box-sizing:border-box;line-height:1.4em;color:#23282d;touch-action:none;cursor:move;cursor:grab;cursor:-webkit-grab;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.is-chosen .c-top-bar--subpage,.is-chosen .c-top-bar--field{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:grabbing;cursor:-webkit-grabbing}.is-fallback .c-top-bar--subpage,.is-fallback .c-top-bar--field{box-shadow:0 1px 1px rgba(0,0,0,.04) !important;background-color:#fafafa;opacity:.8 !important;margin-bottom:10px;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.is-ghost .c-top-bar--subpage,.is-ghost .c-top-bar--field{background-color:#fff;color:#fff;opacity:0;box-shadow:none;margin:0 auto 10px;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:move;cursor:grab}.c-top-bar--field{height:45px}.o-field.is-chosen .c-top-bar--field{--tw-border-opacity:1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(243 244 245 / var(--tw-bg-opacity, 1))}.c-top-bar--field.is-open{box-shadow:none}.c-top-bar--subpage{height:48px}.c-top-bar__title{margin:0;font-size:1em;line-height:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:inline-block;font-weight:600;color:#23282d}.c-top-bar__title.is-subpage{padding:15px 12px;font-size:1.3em;margin:0}.c-top-bar__title.is-placeholder{color:#bbb;font-style:italic}.c-top-bar__pre-title{color:#23282d;display:inline-block;padding:7px;margin:8px;margin-left:0;background-color:#e2e4e7;border-radius:3px;text-align:center}.c-top-bar__pre-title.is-subpage{opacity:0;width:0px;padding:7px 0;margin:8px 0 8px 8px}.c-top-bar__toggle{border:0;margin:0;padding:10px;background:0 0;cursor:pointer;outline:0;text-align:right;position:relative;color:#555d66;display:inline-block}.c-top-bar__toggle:focus{outline:none}.c-top-bar__toggle-indicator:before{content:"";font:400 20px/1 dashicons;speak:none;display:block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none !important;padding:1px 2px 1px 0;border-radius:50%}button:focus .c-top-bar__toggle-indicator:before{box-shadow:0 0 0 2px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0)}.c-top-bar__toggle-indicator.is-open:before{content:""}.is-fallback .c-top-bar__toggle-indicator:before{content:""}.c-dashicon__arrow-down{margin-right:-4px;fill:currentColor;width:20px;height:20px}svg.dashicon.components-checkbox-control__checked{fill:#fff;cursor:pointer;position:absolute;left:-2px;top:-1px;width:20px;height:20px;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.c-icon-button{display:flex;align-items:center;padding:8px;border:none;background:none;color:#555d66;position:relative;outline:none;text-decoration:none;margin:0;border-radius:0;-moz-appearance:none;appearance:none;-webkit-appearance:none}.c-icon-button--insert-toggle{display:inline-flex;align-items:center;cursor:pointer;transition:color .2s ease;border-radius:50%}.c-icon-button--insert-toggle:hover{color:#191e23;box-shadow:inset 0 0 0 1px #e2e4e7,inset 0 0 0 2px #fff,0 1px 1px rgba(25,30,35,.2)}.c-icon-button--insert-toggle:active{color:#191e23;box-shadow:inset 0 0 0 1px #6c7781,inset 0 0 0 2px #fff}.c-icon-button--insert-toggle:focus{border-color:var(--wp-admin-theme-color, #3858e9);box-shadow:0 0 0 2px var(--wp-admin-theme-color, #3858e9);color:#191e23;outline:2px solid rgba(0,0,0,0)}.c-icon-button--insert-toggle.is-appender{justify-content:center;width:24px;height:24px;padding:0;border-radius:2px;background-color:#1e1e1e;color:#fff}.c-icon-button--insert-toggle.is-appender:hover,.c-icon-button--insert-toggle.is-appender:focus{background-color:var(--wp-admin-theme-color, #3858e9);color:#fff;box-shadow:none}.c-icon-button--insert-toggle.is-appender[aria-pressed=true] svg{transform:rotate(45deg)}@media(prefers-reduced-motion: no-preference){.c-icon-button--insert-toggle.is-appender svg{transition:transform cubic-bezier(0.165, 0.84, 0.44, 1) .2s}}.c-icon-button--insert-toggle svg{fill:currentColor}.c-icon-button.is-link{cursor:pointer;transition:color .2s ease;text-decoration:underline;background:0 0;padding:0}.c-icon-button.is-link:hover{color:#191e23}.c-icon-button.is-link:focus{color:#191e23;box-shadow:inset 0 0 0 1px #6c7781,inset 0 0 0 2px #fff;outline:2px solid rgba(0,0,0,0);outline-offset:-2px}.c-icon-button.is-link.is-delete-button{margin:0 15px 25px 0;position:absolute;right:0;bottom:0;justify-content:center;padding:0;width:29px;height:28px;border-radius:4px;color:rgba(10,24,41,.7);align-items:center}.c-icon-button.is-link.is-delete-button:focus{color:#191e23;border:1px solid #444;box-shadow:0 0 0 1px #444}.c-icon-button.is-link.is-delete-button:hover{background-color:rgba(0,0,0,0);color:#191e23;box-shadow:inset 0 0 0 1px #e2e4e7,inset 0 0 0 2px #fff,0 1px 1px rgba(25,30,35,.2)}.c-icon-button.is-link.is-delete-button.for-field{margin:0 15px 12px 0}.c-icon-button.is-link.is-delete-button.for-radio{position:relative;margin:0 0 0 2px;opacity:0;transition:opacity .1s linear .1s;transition:color .1s;z-index:100;background-color:#fff}.c-icon-button.is-link.is-delete-button.for-radio:focus{opacity:1;color:#191e23;border:1px solid #444;box-shadow:0 0 0 1px #444}.o-field-table__row:hover .c-icon-button.is-link.is-delete-button.for-radio{opacity:1}.is-chosen.is-ghost .c-icon-button.is-link.is-delete-button.for-radio,.is-chosen.is-fallback .c-icon-button.is-link.is-delete-button.for-radio{display:none}.o-field-table.is-active .c-icon-button.is-link.is-delete-button.for-radio{opacity:0}.o-field-table.is-active .o-field-table__item.is-chosen.is-fallback .c-icon-button.is-link.is-delete-button.for-radio{opacity:1}.c-icon-button.is-link svg{fill:currentColor;width:20px;height:20px;margin:0}.c-icon-button.for-new-page:before{content:"";display:inline-block;position:relative;left:-2px;top:0;font:400 20px/1 dashicons;vertical-align:middle;transition:all .2s;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.c-icon-button.for-field-table{opacity:0}.c-icon-button.for-field-table:focus{opacity:1}.o-field-table:hover .c-icon-button.for-field-table,.o-field-table:focus-within .c-icon-button.for-field-table{opacity:1}@media(hover: none){.c-icon-button.for-field-table{opacity:1}}.c-icon-button.for-field-table:hover{color:#006598;box-shadow:none}.c-icon-picker{background-color:var(--wp-admin-theme-color, #3858e9);vertical-align:middle;color:#fff;border-radius:4px;border:none;padding:0;cursor:pointer;display:inline-flex;align-items:center;outline:none;position:relative}.c-icon-picker__inner{display:inline-flex;align-items:center;justify-content:center}.c-icon-picker__icon{width:20px;height:20px;padding:7px}.c-icon-picker__icon:before{color:#fff;width:18px;height:18px;font-size:18px}.c-icon-picker.dropdown-is-open{background-color:var(--wp-admin-theme-color-darker-10, #2145e6)}.c-icon-picker:hover,.c-icon-picker:focus{outline:none;box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9),inset 0 0 0 1px #fff;color:#fff;background-color:var(--wp-admin-theme-color-darker-10, #2145e6)}.c-icon-dropdown{position:absolute;background-color:#fff;display:block;z-index:100;box-shadow:0 3px 20px rgba(25,30,35,.1),0 1px 3px rgba(25,30,35,.1);border:1px solid #ddd;left:0;top:45px;cursor:auto}.c-icon-dropdown:before{top:-8px;content:"";position:absolute;height:0;width:0;border:8px solid #ddd;border-left-color:rgba(0,0,0,0);border-right-color:rgba(0,0,0,0);line-height:0}.c-icon-dropdown:after{top:-6px;content:"";position:absolute;height:0;width:0;border:8px solid #fff;border-left-color:rgba(0,0,0,0);border-right-color:rgba(0,0,0,0);line-height:0}.c-icon-dropdown.is-grey{background-color:#fafafa}.c-icon-dropdown.is-grey:after{border:8px solid #fafafa;border-left-color:rgba(0,0,0,0);border-right-color:rgba(0,0,0,0);border-top:0}.c-icon-dropdown.above-button{top:unset;bottom:48px}.c-icon-dropdown.above-button:before{bottom:-9px;top:unset;border-left-color:rgba(0,0,0,0);border-right-color:rgba(0,0,0,0);border-bottom:0;border-top:8px solid #fafafa}.c-icon-dropdown.above-button:after{bottom:-7px;top:unset;border-left-color:rgba(0,0,0,0);border-right-color:rgba(0,0,0,0);border-top:8px solid #fff;border-bottom:0}.c-icon-dropdown:before,.c-icon-dropdown:after{border-bottom-style:solid;border-top:0;left:0;margin-left:10px}.c-icon-dropdown__row{display:flex;margin:0;align-items:center;flex-wrap:wrap;width:400px;padding:16px 0 0;border-top:1px solid #ddd;background-color:#fff}.c-icon-dropdown__item{margin:0;height:20px;width:20px;padding:10px;display:flex;align-items:center;justify-content:center;cursor:pointer}.c-icon-dropdown__icon-name{height:20px;width:20px;padding:10px;box-sizing:content-box;border:0;border-radius:4px;cursor:pointer;background-color:#fff}.c-icon-dropdown__icon-name:before{color:#555d66}.c-icon-dropdown__icon-name:hover{background-color:#f3f4f5}.c-icon-dropdown__icon-name:focus{color:#191e23;box-shadow:inset 0 0 0 2px #444;outline:2px solid rgba(0,0,0,0);outline-offset:-2px}.c-icon-dropdown__icon-name:active{background-color:#f3f4f5}.c-icon-dropdown__not-found-text{margin:5px 2px}.c-icon-dropdown__not-found-text:focus{outline:none}.c-icon-dropdown__search{position:relative;left:0;top:0;outline:none;margin:0 16px;padding:10px 13px;font-size:13px;display:block;border:0;z-index:10}.c-icon-dropdown__search[type=search]{margin-top:16px;margin-bottom:16px;padding:11px 16px;line-height:1.4em;border:1px solid #ccd0d4;transition:box-shadow .1s linear;box-shadow:0 0 0 rgba(0,0,0,0);border-radius:4px}.c-icon-dropdown__search[type=search]::-moz-placeholder{color:#72777c}.c-icon-dropdown__search[type=search]::placeholder{color:#72777c}.c-icon-dropdown__search[type=search]:focus{color:#191e23;border-color:var(--wp-admin-theme-color, #3858e9);box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0)}.c-icon-dropdown__footer{border:0;height:30px;display:flex;justify-content:flex-end;position:absolute;overflow:hidden;bottom:-40px;right:-11px;padding:0 10px 10px 10px;background-color:rgba(0,0,0,0)}.c-icon-dropdown__footer__name{color:#444;margin:0;padding:8px;text-align:right;font-weight:600;font-size:10px;-webkit-transition:all .1s;box-shadow:0 3px 20px rgba(25,30,35,.1),0 1px 3px rgba(25,30,35,.1);background-color:#fff;border-right:1px solid #ddd;border-left:1px solid #ddd;border-bottom:1px solid #ddd}.c-icon-dropdown__footer__css{color:#444;font-size:10px;margin:0;margin-left:5px;padding:3px 5px;line-height:12px}.c-input-label{-webkit-font-smoothing:subpixel-antialiased;color:#555d66;cursor:pointer;font-size:13px;line-height:1.3;min-width:140px;vertical-align:middle;width:140px}.c-input-label.for-toggle{margin-top:0}.o-field__options .c-input-label,.o-field__content .c-input-label{width:auto;min-width:auto;padding-bottom:0.25rem}@media(min-width: 87.5em){.o-field__content .c-input-label{flex:0 0 140px;min-width:140px;width:140px;padding-bottom:0;padding-right:12px;box-sizing:border-box}}@media(min-width: 62.5em){.c-editor-main.no-side-bar .o-field__content .c-input-label{flex:0 0 140px;min-width:140px;width:140px;padding-bottom:0;padding-right:12px;box-sizing:border-box}}.o-page__content .c-input-label{padding-bottom:0.25rem;min-width:auto;width:auto}@media(min-width: 50em){.c-editor-main.no-side-bar .o-page__content .c-input-label{min-width:140px;padding-bottom:0}}@media(min-width: 68.75em){.o-page__content .c-input-label{min-width:140px;padding-bottom:0}}.c-input[type=text],.c-input[type=number],.c-input--textarea{line-height:1.4em;padding:6px 10px 6px 10px;border:1px solid #7e8993;transition:box-shadow .1s linear;box-shadow:0 0 0 rgba(0,0,0,0);border-radius:4px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.c-input[type=text]:focus,.c-input[type=number]:focus,.c-input--textarea:focus{color:#191e23;border-color:var(--wp-admin-theme-color, #3858e9);box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0);outline-offset:-2px}.c-input[type=text]{background-color:#fff;color:#32373c;outline:0;box-sizing:border-box;min-width:230px}.o-field__options .c-input[type=text],.o-field__content .c-input[type=text]{width:100%;min-width:auto}@media(min-width: 62.5em){.c-editor-main.no-side-bar .o-field__options .c-input[type=text],.c-editor-main.no-side-bar .o-field__content .c-input[type=text]{min-width:200px}}@media(min-width: 65.625em){.c-editor-main.no-side-bar .o-field__options .c-input[type=text],.c-editor-main.no-side-bar .o-field__content .c-input[type=text]{min-width:230px}}@media(min-width: 87.5em){.o-field__options .c-input[type=text],.o-field__content .c-input[type=text]{min-width:230px}}@media(min-width: 75em){.o-field__content .c-input[type=text]{width:230px}}@media(min-width: 62.5em){.c-editor-main.no-side-bar .o-field__content .c-input[type=text]{width:230px}}.c-input[type=text].code{font-size:12px;padding:8px 10px 7px;font-weight:700;font-family:Consolas,Monaco,monospace}.c-input[type=text].code::-moz-placeholder{color:#999}.c-input[type=text].code::placeholder{color:#999}.c-input[type=text].code{font-weight:500}.c-input[type=text].for-sidebar{min-width:100%;padding:8px 10px 8px 10px}.c-input[type=text].no-min-width{min-width:0}.c-input[type=text].o-field-table__input{min-width:140px;width:140px}.c-editor-main.no-side-bar .c-input[type=text].o-field-table__input{min-width:140px;width:140px;max-width:140px}.c-input[type=number]{height:28px;line-height:1}.c-input[type=number]::-moz-placeholder{color:#bbb}.c-input[type=number]::placeholder{color:#bbb}.c-input[type=number].is-position{width:80px}.c-input[type=checkbox]{border-radius:2px;border:1px solid #1e1e1e;transition:none;box-shadow:0 0 0 rgba(0,0,0,0);margin-top:0;margin-bottom:0;height:20px;width:20px;margin-right:5px}.c-input[type=checkbox]:focus{border-color:var(--wp-admin-theme-color, #3858e9);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0)}.c-input[type=checkbox]:checked{background:var(--wp-admin-theme-color, #3858e9);border-color:var(--wp-admin-theme-color, #3858e9);left:-2px;top:-2px}.c-input[type=checkbox]:checked:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0)}.c-input[type=checkbox]:checked:before{content:none}.o-input-wrapper .c-input[type=checkbox]:before{margin:-2px 0 0 -3px;color:#fff}.c-input__checkbox-svg{fill:#fff;cursor:pointer;position:absolute;left:0;top:0;width:24px;height:24px;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}@media(min-width: 600px){.c-input__checkbox-svg{left:-2px;top:-2px}}.c-input--textarea{width:100%;min-height:50px}.o-field__options .c-input--textarea{width:100%}.c-input__radio[type=radio]:checked:before{content:"•";text-indent:-9999px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}.c-input__radio-label:not(:nth-last-child(1)){margin-bottom:15px}.c-input.not-valid{border-color:var(--wpds-color-stroke-interactive-error, #cc1818);transition:50ms border-color ease-in-out}.c-input.not-valid:focus{border-color:var(--wpds-color-stroke-interactive-error, #cc1818);box-shadow:0 0 0 1px var(--wpds-color-stroke-interactive-error, #cc1818);transition:box-shadow .1s linear;outline:2px solid rgba(0,0,0,0);outline-offset:-2px}.c-input.is-position{min-width:80px;width:80px}.c-input-group__item{margin-bottom:5px;position:relative;display:flex;vertical-align:middle}.c-input-group__item.is-disabled label{color:#a7aaad}.c-input-group__item .c-help-tip{margin-left:8px;align-self:center}.c-select{border:1px solid #ccd0d4;box-shadow:0 0 0 rgba(0,0,0,0);transition:box-shadow .1s linear;outline-offset:-1px;color:#555d66;padding:2px}.c-select:focus{border-color:var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0);outline-offset:-2px;box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9);color:#191e23}.c-select.is-disabled{pointer-events:none;color:#999;border-color:#f1f1f1}.c-select__class-name{margin-left:5px;padding:6px 8px 4px 6px;background:#eaeaea;background:rgba(0,0,0,.07);font-size:12px}.c-toggle{position:relative;box-sizing:border-box}.c-toggle__input[type=checkbox]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;margin:0;padding:0;z-index:1}.c-toggle__input[type=checkbox]:focus+.c-toggle__track{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0);outline-offset:2px}.c-toggle__track{content:"";display:inline-block;vertical-align:top;box-sizing:border-box;background-color:#fff;border:1px solid #1e1e1e;width:36px;height:18px;border-radius:9px;transition:background .2s ease}.wpo__subpage__toggle:hover .c-toggle__track{background-color:#e2e4e7}.c-toggle__track.is-checked{background-color:var(--wp-admin-theme-color, #3858e9);border:9px solid rgba(0,0,0,0)}.wpo__subpage__toggle:hover .c-toggle__track.is-checked{background-color:var(--wp-admin-theme-color-darker-10, #2145e6)}.c-toggle__thumb{display:block;position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;border:5px solid #1e1e1e;background-color:#1e1e1e;transition:transform .1s ease;box-sizing:border-box}.c-toggle__thumb.is-checked{background-color:#fff;border-width:0;transform:translateX(18px)}.c-toggle__on,.c-toggle__off{position:absolute;top:6px}.c-toggle__on{left:8px;filter:invert(100%) contrast(500%);outline:1px solid rgba(0,0,0,0);outline-offset:-1px}.c-toggle__off{color:#6c7781;fill:currentColor;right:6px}.c-help-tip{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:16px;height:16px;margin:0;padding:0;border:0;border-radius:50%;background-color:#1e1e1e;color:#fff;font-size:11px;font-weight:600;line-height:1;cursor:help}.c-help-tip:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0)}.c-shortcode{-webkit-user-select:all;-moz-user-select:all;user-select:all;white-space:nowrap;font-size:12px}.c-textarea{width:80%;min-height:33px;padding:6px 7px 6px 10px;border:1px solid #ccd0d4;outline-offset:0;transition:box-shadow .05s linear;box-shadow:0 0 0 rgba(0,0,0,0);line-height:1.4em}.c-textarea:focus{border-color:var(--wp-admin-theme-color, #3858e9);box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9)}.c-popover{position:absolute;box-shadow:0 3px 20px rgba(25,30,35,.1),0 1px 3px rgba(25,30,35,.1);border:1px solid #e2e4e7;width:auto;top:40px;background-color:#fff;z-index:10000000;cursor:auto;box-sizing:border-box}.c-popover:before{top:-8px;border:8px solid #e2e4e7}.c-popover:after{top:-6px;border:8px solid #fff}.c-popover:before,.c-popover:after{content:"";position:absolute;height:0;width:0;border-bottom-style:solid;border-top:none;border-left-color:rgba(0,0,0,0);border-right-color:rgba(0,0,0,0);line-height:0;left:calc(50% - 8px)}.c-popover__text{display:inline-block;width:-moz-max-content;width:max-content;padding:0 5px;font-size:12px}.c-button{transition:box-shadow .1s linear}.c-button.is-link{border-radius:3px;border-style:solid;border-width:1px;border-color:rgba(0,0,0,0)}.c-button.is-link:hover{background-color:#fff;border-color:var(--wp-admin-theme-color, #3858e9);color:var(--wp-admin-theme-color-darker-20, #183ad6)}.c-button.is-link:focus{box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0);outline-offset:0}.c-button.is-delete-button,.c-button.is-delete-button:active{color:#cc1818;border-color:#cc1818;justify-content:center}.c-button.is-delete-button.is-link,.c-button.is-delete-button:active.is-link{border-style:solid;border-width:1px;border-color:rgba(0,0,0,0)}.c-button.is-delete-button.is-link:hover,.c-button.is-delete-button:hover,.c-button.is-delete-button:active.is-link:hover,.c-button.is-delete-button:active:hover{background-color:rgba(204,24,24,.04);color:#710d0d;border-color:#710d0d}.c-button.is-delete-button:focus,.c-button.is-delete-button:active:focus{background-color:rgba(204,24,24,.04);border-color:#710d0d;color:#710d0d;box-shadow:none;outline:2px solid var(--wp-admin-theme-color, #3858e9);outline-offset:0}.c-button__top-bar{height:33px}.c-button__top-bar.is-save-button{margin:0 12px 0 3px}.c-button.has-icon{display:flex;align-items:center;padding:8px;margin:0;border:none;background:none;color:#1e1e1e;position:relative;overflow:hidden;border-radius:4px}.c-button.has-icon:hover,.c-button.has-icon:focus{background-color:#fff;color:#191e23;box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color, #3858e9),inset 0 0 0 2px #fff;outline:2px solid rgba(0,0,0,0)}.c-button.has-icon:not(.is-toggled):hover{color:var(--wp-admin-theme-color, #3858e9)}.c-button.has-icon.is-toggled{color:#fff;background-color:#1e1e1e;margin:1px;padding:7px}.c-button.has-icon.is-toggled:hover,.c-button.has-icon.is-toggled:focus{box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9),inset 0 0 0 1px #fff !important}.c-title.h1{font-size:23px;font-weight:400;margin:0;padding:9px 0 4px;line-height:29px}.c-title.h2{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.c-link{color:var(--wp-admin-theme-color, #3858e9)}.c-link__icon{margin:-0.2em .1em 0;vertical-align:middle}.c-link--delete{color:#a00;display:flex;align-items:center}.c-link--delete:hover{color:#dc3232}.c-link--delete svg{fill:currentColor;width:20px;height:20px;margin-left:5px}.c-link.is-button{border:0;background-color:rgba(0,0,0,0);cursor:pointer;outline:none;padding:3px 7px;border-radius:3px;text-decoration:underline}.c-link.is-button:focus{box-shadow:inset 0 0 0 1px #6c7781}.c-link.is-button.no-padding{padding:0;border-radius:0}.c-link.is-button.on-popover{text-decoration:none}.c-link.is-cancel{margin-right:10px;text-decoration:none}.c-validate-message{display:flex;align-items:flex-start;gap:4px;margin:8px 0 0;font-size:12px;line-height:16px;color:var(--wpds-color-foreground-content-error-weak, #cc1818)}@media(prefers-reduced-motion: no-preference){.c-validate-message{animation:c-validate-message-jump .2s cubic-bezier(0.68, -0.55, 0.27, 1.55)}}.c-validate-message__icon{flex-shrink:0;fill:currentColor}@keyframes c-validate-message-jump{0%{transform:translateY(-4px);opacity:0}100%{transform:translateY(0);opacity:1}}.c-field-types{position:absolute;display:block;box-shadow:0 3px 20px rgba(25,30,35,.1),0 1px 3px rgba(25,30,35,.1);border:1px solid #e2e4e7;width:400px;height:430px;top:48px;background-color:#fff;z-index:100;cursor:auto;box-sizing:border-box}.c-field-types:before{top:-8px;border:8px solid #e2e4e7}.c-field-types:after{top:-6px;border:8px solid #fff}.c-field-types:before,.c-field-types:after{content:"";position:absolute;height:0;width:0;border-bottom-style:solid;border-top:none;border-left-color:rgba(0,0,0,0);border-right-color:rgba(0,0,0,0);line-height:0;left:calc(50% - 8px)}.c-field-types.above-button{top:unset;bottom:48px}.c-field-types.above-button:before{bottom:-9px;top:unset;border-bottom:none;border-top:8px solid #e2e4e7}.c-field-types.above-button:after{bottom:-7px;top:unset;border-top:8px solid #fff;border-bottom:none}.c-field-types__search{width:100%;position:relative;left:0;top:0;outline:none;margin:0;padding:10px 13px;font-size:13px;display:block;border:0;z-index:10}.c-field-types__search[type=search]{padding:11px 16px;line-height:1.4em;color:#32373c;border:1px solid #7e8993;transition:box-shadow .1s linear;box-shadow:0 0 0 rgba(0,0,0,0);border-radius:4px;height:40px}.c-field-types__search[type=search]::-moz-placeholder{color:#72777c}.c-field-types__search[type=search]::placeholder{color:#72777c}.c-field-types__search[type=search]:focus{color:#191e23;border-color:var(--wp-admin-theme-color, #3858e9);box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0);outline-offset:-2px}.c-field-types__wrapper{position:relative;overflow:auto;height:344px;-webkit-overflow-scrolling:touch}.c-field-types__title{padding:15px 16px;margin:0 0 5px;font-size:13px;font-weight:600;position:relative;cursor:pointer;border-top:1px solid #e2e4e7;transition:background .1s ease-in-out}.c-field-types__title:hover{background:#f3f4f5}.c-field-types__title.has-border{border-top:1px solid #e2e4e7}.c-field-types__list-toggle{padding:0;margin:0;border:none;box-shadow:none;text-align:left;cursor:pointer;-webkit-appearance:none;background:none;position:absolute;right:10px;top:50%;transform:translateY(-45%)}.c-field-types__list-toggle:focus{border:none;box-shadow:none;outline:none}.c-field-types__list-toggle:before{content:"";border-radius:50%;width:24px;height:24px;display:block;position:absolute}.c-field-types__list-toggle:focus:before{box-shadow:0 0 0 2px var(--wp-admin-theme-color-darker-10, #2145e6);outline:2px solid rgba(0,0,0,0)}.c-field-types__list-toggle-arrow{color:#191e23;fill:currentColor;width:24px;height:24px}.c-field-types__list{display:flex;flex-wrap:wrap;margin:0;padding:0 16px 16px}.c-field-types__item{display:block;box-sizing:inherit;width:108px;margin-right:4px;position:relative;margin-bottom:12px}.c-field-types__item:nth-of-type(3n){margin-right:0}.c-field-types__button{position:relative;box-sizing:inherit;align-items:stretch;background:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);border-radius:4px;color:#1e1e1e;cursor:pointer;display:flex;flex-direction:column;font-size:13px;justify-content:center;padding:0;width:100%;word-break:break-word;transition:all .05s ease-in-out}.c-field-types__button:hover:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;border-radius:4px;opacity:.04;background:var(--wp-admin-theme-color, #3858e9);pointer-events:none}.c-field-types__button:focus{color:#191e23;outline:2px solid rgba(0,0,0,0);box-shadow:0 0 0 1px #fff,0 0 0 3px var(--wp-admin-theme-color-darker-10, #2145e6)}.c-field-types__button-icon{color:#1e1e1e;padding:12px 20px;transition:all .05s ease-in-out;display:flex;justify-content:center}.c-field-types__button:hover .c-field-types__button-icon,.c-field-types__button:focus .c-field-types__button-icon{color:var(--wp-admin-theme-color, #3858e9)}.c-field-types__button-icon .dashicon{fill:currentColor}.c-field-types__button-icon .dashicons{width:24px;height:24px;font-size:24px}.c-field-types__button-icon svg{fill:currentColor}.c-field-types__button-title{padding:4px 2px 8px;font-size:12px;hyphens:auto}.c-field-types__button:hover .c-field-types__button-title{color:var(--wp-admin-theme-color, #3858e9);filter:brightness(0.95)}.c-field-types__not-found-text{padding:0 16px}.c-material-icon{height:24px;width:24px;fill:currentColor}.c-editor-side-bar{top:88px;width:280px;box-sizing:border-box;transform:translateX(100%);transition:transform 200ms ease-in-out}.c-editor-side-bar.is-open{transform:translateX(0);transition-delay:60ms}.c-editor-side-bar__close-button{border-radius:0.25rem;border-width:0px;padding:0.5rem;transition:box-shadow .1s linear}.c-editor-side-bar__close-button:active,.c-editor-side-bar__close-button:focus{color:#191e23;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.c-editor-side-bar__close-button:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-text-opacity:1;color:rgb(25 30 35 / var(--tw-text-opacity, 1));--tw-shadow:inset 0 0 0 1px #555d66, inset 0 0 0 2px #fff;--tw-shadow-colored:inset 0 0 0 1px var(--tw-shadow-color), inset 0 0 0 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.c-editor-side-bar__close-button:focus{--tw-shadow:inset 0 0 0 1px #555d66, inset 0 0 0 2px #fff;--tw-shadow-colored:inset 0 0 0 1px var(--tw-shadow-color), inset 0 0 0 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);outline:2px solid transparent;outline-offset:2px}.c-editor-side-bar__close-button:active{box-shadow:inset 0 0 0 1px #ccd0d4,inset 0 0 0 2px #fff}.c-editor-top-bar{box-sizing:border-box;height:56px;top:32px;flex-wrap:nowrap;max-width:100vw}@media(min-width: 48.9375em){.c-editor-top-bar{margin-left:160px}.wp-responsive-open .c-editor-top-bar{margin-left:160px}.folded .c-editor-top-bar,.auto-fold .c-editor-top-bar,.sticky-menu.folded .c-editor-top-bar,.c-editor-top-bar .auto-fold.sticky-menu.folded{margin-left:36px}}@media(min-width: 60.0625em){.sticky-menu:not(.folded) .c-editor-top-bar,.auto-fold:not(.folded) .c-editor-top-bar{margin-left:160px}}.c-editor-top-bar.no-side-bar{margin-right:-20px}.c-editor-top-bar .c-input[type=text]{box-sizing:border-box;height:32px;min-height:32px;line-height:1;padding-top:0;padding-bottom:0}.c-editor-top-bar .edit-post-header__button-group .components-button.is-primary[aria-pressed=true]{background:var(--wp-admin-theme-color, #3858e9);border-color:var(--wp-admin-theme-color, #3858e9);box-shadow:none;color:#fff}.c-editor-top-bar .c-icon-picker{box-sizing:border-box;width:32px;height:32px;justify-content:center}.c-editor-top-bar .c-icon-picker__icon{padding:6px}.c-editor-main{margin-right:260px;overflow-y:auto;overscroll-behavior-y:none;position:fixed;bottom:0;left:0;right:0;top:88px;min-height:calc(100% - 88px);height:auto;margin-left:0px;transition:margin-right 200ms ease-in-out}.c-editor-main.dropdown-active{overflow-y:hidden;height:calc(100% - 87px)}.wp-responsive-open .c-editor-main{margin-left:190px}@media(min-width: 48.9375em){.c-editor-main{margin-left:160px}.wp-responsive-open .c-editor-main{margin-left:160px}.folded .c-editor-main,.auto-fold .c-editor-main,.sticky-menu.folded .c-editor-main,.c-editor-main .auto-fold.sticky-menu.folded{margin-left:36px}}@media(min-width: 60.0625em){.sticky-menu:not(.folded) .c-editor-main,.auto-fold:not(.folded) .c-editor-main{margin-left:160px}}.c-editor-main.no-side-bar{margin-right:-20px}body.aop-is-dragging .components-tooltip{display:none}.some{clip-path:inset(50%)}.dev-mode__pre{overflow:scroll;border:2px solid red;padding-left:3px;font-size:10px;font-weight:600;margin:1em}.editor-top-bar{box-sizing:border-box;height:56px;top:32px;flex-wrap:nowrap;max-width:100vw}.edit-post-header__button-group .button:first-child{border-radius:3px 0 0 3px}.edit-post-header__button-group .button:last-child{border-radius:0 3px 3px 0}.edit-post-header__button-group .button:focus{position:relative;z-index:1}.header-item{padding:10px 4px 10px}.edit-post-layout{position:relative;box-sizing:border-box;padding-top:56px}.edit-post-layout__content{margin-right:280px;padding-bottom:0;overflow-y:auto;overscroll-behavior-y:none;position:fixed;bottom:0;left:0;right:0;top:88px;min-height:calc(100% - 88px);height:auto;margin-left:160px;display:flex;flex-direction:column}.button.is-delete-button,.button.is-delete-button:active{color:#cc1818;border-color:#cc1818;justify-content:center}.button.is-delete-button:hover,.button.is-delete-button:active:hover{background-color:rgba(204,24,24,.04);color:#710d0d;border-color:#710d0d}.button.is-delete-button:focus,.button.is-delete-button:active:focus{background-color:rgba(204,24,24,.04);border-color:#710d0d;color:#710d0d;box-shadow:none;outline:2px solid var(--wp-admin-theme-color, #3858e9);outline-offset:0}.tooltip-error{position:absolute;top:calc(100% + 8px);left:0;z-index:40;width:-moz-max-content;width:max-content;max-width:280px;padding:8px 12px;background:#fff;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.1),0 2px 3px rgba(0,0,0,.05),0 6px 12px rgba(0,0,0,.08)}.tooltip-error .c-validate-message{margin:0}.c-move-buttons{display:inline-flex;align-items:center;gap:2px;margin-right:4px}.c-move-button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:2px;background:rgba(0,0,0,0);color:#555d66;cursor:pointer}.c-move-button:hover:not(:disabled){color:var(--wp-admin-theme-color, #3858e9)}.c-move-button:focus{box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0)}.c-move-button:disabled{opacity:.35;cursor:default}.c-move-button .dashicons{font-size:18px;width:18px;height:18px}.c-top-bar__drag-handle{display:inline-flex;align-items:center;margin-right:6px;padding:0;border:0;background:rgba(0,0,0,0);color:#757575;cursor:grab}.c-top-bar__drag-handle:focus{box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0)}.o-field__unavailable-body{border-width:1px;border-color:#42586366;border-top:none;background-color:#fff}.o-field__unavailable{margin:0;padding:12px 16px;color:#6c7781}.o-field__unavailable-actions{display:flex;justify-content:flex-end;padding:0 16px 12px}.is-ghost-slot{position:relative;box-sizing:border-box;height:48px;overflow:hidden;border:1px dashed #b4b9be;background:#fff;z-index:1}.is-ghost-slot>*{opacity:0}.is-ghost-slot.o-field{height:45px}.is-ghost-slot:not(.o-field){margin-top:10px}.is-ghost-slot.is-ghost-away{height:0;border:0;margin:0}.aop-drag-copy{box-shadow:0 4px 12px rgba(0,0,0,.15);cursor:grabbing}.is-dragging{opacity:.6;z-index:5;position:relative}.c-modal__screen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:hsla(0,0%,100%,.4);z-index:100000;animation:edit-post__fade-in-animation .2s ease-out 0s;animation-fill-mode:forwards}.c-modal__frame{position:absolute;top:0;right:0;bottom:0;left:0;box-sizing:border-box;margin:0;border:1px solid #e2e4e7;background:#fff;box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08);overflow:auto}@media(min-width: 600px){.c-modal__frame{top:50%;right:auto;bottom:auto;left:50%;min-width:360px;max-width:calc(100% - 16px - 16px);max-height:calc(100% - 56px - 56px);transform:translate(-50%, -50%);animation:c-modal__appear-animation .1s ease-out;animation-fill-mode:forwards}}@keyframes c-modal__appear-animation{from{margin-top:32px}to{margin-top:0}}.c-modal__header{box-sizing:border-box;border-bottom:1px solid #ecedef;padding:2px 16px 0;display:flex;flex-direction:row;justify-content:space-between;background:#fff;align-items:center;height:56px;position:sticky;top:0;z-index:10;margin:0}@supports(-ms-ime-align: auto){.c-modal__header{position:fixed;width:100%}}.c-modal__header .c-modal__header-heading{font-size:1em;font-weight:400}.c-modal__header h1{line-height:1;margin:0;padding:0}.c-modal__header-heading-container{align-items:center;flex-grow:1;display:flex;flex-direction:row;justify-content:left}.c-modal__header-icon-container{display:inline-block}.c-modal__header-icon-container svg{max-width:36px;max-height:36px;padding:8px}.c-modal__content{box-sizing:border-box;height:100%}@supports(-ms-ime-align: auto){.c-modal__content{padding-top:56px}}.c-modal__section{background-color:#fafafa;padding:16px;display:flex;justify-content:flex-end}.c-modal__header-heading-container{align-items:center;flex-grow:1;display:flex;flex-direction:row;justify-content:left}.c-modal__icon-button{display:flex;align-items:center;padding:8px;margin:0;border:none;background:none;color:#555d66;position:relative;overflow:hidden;border-radius:4px}.c-modal__icon-button .dashicon{display:inline-block;flex:0 0 auto}.c-modal__icon-button svg{fill:currentColor;outline:none}.c-modal__icon-button svg:not:only-child{margin-right:4px}.c-modal__icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover{background-color:#fff;color:#191e23;box-shadow:inset 0 0 0 1px #e2e4e7,inset 0 0 0 2px #fff,0 1px 1px rgba(25,30,35,.2)}.c-modal__icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):active{outline:none;background-color:#fff;color:#191e23;box-shadow:inset 0 0 0 1px #ccd0d4,inset 0 0 0 2px #fff}.c-modal__icon-button[aria-disabled=true]:focus,.c-modal__icon-button:disabled:focus{box-shadow:none}.edit-post-options-modal__title{font-size:1rem;font-weight:600}.c-modal__button:focus:enabled{background-color:#fff;color:#191e23;box-shadow:inset 0 0 0 1px #6c7781,inset 0 0 0 2px #fff;outline:2px solid rgba(0,0,0,0);outline-offset:-2px}.c-modal__button{cursor:pointer}.c-modal__button.is-button{padding:0 10px 1px;line-height:26px;height:28px;border-radius:5px;white-space:nowrap;border-width:1px;border-style:solid}.c-modal__button.is-button.is-cancel{border:none;line-height:33px;height:33px;background-color:rgba(0,0,0,0);margin-right:10px}.c-modal__button.is-button.is-delete{background:#e14d43;height:31px;line-height:30px;font-size:13px;color:#fff;display:inline-flex;padding:0 15px;text-decoration:none}.c-modal__button.is-button.is-delete:hover{background:#d64940}.c-modal__button.is-button.is-delete:focus{background:#d64940;box-shadow:0 0 0 0px #fff,0 0 0 1px #d64940}.c-modal__button.is-button.is-delete:active{background:#b43e36;border-color:#712722;box-shadow:inset 0 1px 0 #712722}.c-row-action-button.is-link{border:none;background-color:rgba(0,0,0,0);cursor:pointer;font-size:13px;padding:0;color:#a00;outline:0}.c-row-action-button.is-link:hover{color:#dc3232;border:none}.c-row-action-button.is-link:focus{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}body{background-color:#fff}.aop-snackbar-wrapper{bottom:0;padding-top:4px;padding-bottom:20px;left:160px;display:block;position:fixed;overflow:hidden;z-index:10000;padding-left:16px;padding-right:16px}.folded .aop-snackbar-wrapper,.sticky-menu.folded .aop-snackbar-wrapper,.aop-snackbar-wrapper .auto-fold.sticky-menu.folded{left:36px}@keyframes slideInRight{from{transform:translate3d(0, 150px, 0);opacity:0}to{transform:translate3d(0, 0, 0);opacity:1}}@keyframes slideOutRight{from{opacity:1}to{opacity:0}}.aop-snackbar{-webkit-animation-fill-mode:both;animation-duration:.5s;animation-fill-mode:both;animation-delay:0s;animation-name:slideInRight;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;background-color:#32373c;border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,.3);color:#fff;padding:16px 24px;width:100%;max-width:600px;box-sizing:border-box;cursor:pointer}.aop-snackbar:hover{background-color:#191e23}.aop-snackbar:focus{background-color:#191e23;box-shadow:0 0 0 1px #fff,0 0 0 3px var(--wp-admin-theme-color, #3858e9)}.aop-snackbar.has-delay{animation-delay:1s}.aop-snackbar--succes{border-color:#46b450}.aop-snackbar--remove{animation-name:slideOutRight}.aop-snackbar__message{font-weight:bold;margin:.5em 0;padding:2px}.admin_page_admin_options_pages_edit #wpcontent{padding-left:0}.admin_page_admin_options_pages_edit #wpbody-content{padding-bottom:0}.aop-editor-screen #wpfooter{display:none}.left-160px{left:160px}.max-w-screen{max-width:100vh}.block-editor__container{min-height:calc(100vh - 32px)}.screen-reader-text{border:0;clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal !important}@media(max-width: 1000px){.min-width-screen{display:grid;grid-template-columns:20px 1fr 20px}}body.aop-editor-screen #wpbody-content>div:not(#aop-root):not(#screen-meta):not(.aop-snackbar-wrapper){display:none}.hover\:border-gray-700:hover{--tw-border-opacity:1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}
     1html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:rgba(0,0,0,0)}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}button{background:rgba(0,0,0,0);padding:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}fieldset{margin:0;padding:0}ol,ul{list-style:none;margin:0;padding:0}html{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";line-height:1.5}*,*::before,*::after{border-width:0;border-style:solid;border-color:#e2e8f0}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder, textarea::-moz-placeholder{color:#a0aec0}input::placeholder,textarea::placeholder{color:#a0aec0}button,[role=button]{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}pre,code,kbd,samp{font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1400px){.container{max-width:1400px}}@media (min-width: 1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0px}.inset-y-0{top:0px;bottom:0px}.bottom-0{bottom:0px}.left-0{left:0px}.right-0{right:0px}.top-0{top:0px}.z-30{z-index:30}.z-50{z-index:50}.clear-both{clear:both}.m-0{margin:0px}.mx-10{margin-left:2.5rem;margin-right:2.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.mb-0{margin-bottom:0px}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:0.5rem}.mb-3{margin-bottom:0.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:0.25rem}.ml-2{margin-left:0.5rem}.ml-3{margin-left:0.75rem}.ml-5{margin-left:1.25rem}.ml-auto{margin-left:auto}.mr-1{margin-right:0.25rem}.mr-2{margin-right:0.5rem}.mt-0{margin-top:0px}.mt-1{margin-top:0.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:0.5rem}.mt-20{margin-top:5rem}.mt-3{margin-top:0.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-36px{height:36px}.h-388px{height:388px}.h-50px{height:50px}.h-56px{height:56px}.h-auto{height:auto}.h-full{height:100%}.h-screen-half{height:50vh}.w-36px{width:36px}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-3xl{max-width:48rem}.shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.columns-2{-moz-columns:2;columns:2}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:0.25rem}.gap-2{gap:0.5rem}.gap-4{gap:1rem}.gap-\[3px\]{gap:3px}.gap-x-2{-moz-column-gap:0.5rem;column-gap:0.5rem}.gap-y-1{row-gap:0.25rem}.overflow-auto{overflow:auto}.rounded{border-radius:0.25rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-\[\#f0b849\]{--tw-border-opacity:1;border-color:rgb(240 184 73 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-gray-wp-200{--tw-border-opacity:1;border-color:rgb(226 228 231 / var(--tw-border-opacity, 1))}.border-gray-wp-400{border-color:#42586366}.bg-\[\#3858e9\]\/10{background-color:rgb(56 88 233 / 0.1)}.bg-\[\#fef8ee\]{--tw-bg-opacity:1;background-color:rgb(254 248 238 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-wp-100{--tw-bg-opacity:1;background-color:rgb(248 249 249 / var(--tw-bg-opacity, 1))}.bg-gray-wp-300{--tw-bg-opacity:1;background-color:rgb(243 244 245 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.fill-current{fill:currentColor}.p-0{padding:0px}.p-2{padding:0.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:0.5rem;padding-right:0.5rem}.px-20{padding-left:5rem;padding-right:5rem}.px-3{padding-left:0.75rem;padding-right:0.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:0.125rem;padding-bottom:0.125rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.py-3{padding-top:0.75rem;padding-bottom:0.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-1{padding-bottom:0.25rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pl-10{padding-left:2.5rem}.pl-3{padding-left:0.75rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pr-1{padding-right:0.25rem}.pr-4{padding-right:1rem}.pt-2{padding-top:0.5rem}.pt-6{padding-top:1.5rem}.pt-\[2px\]{padding-top:2px}.text-center{text-align:center}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:0.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.lowercase{text-transform:lowercase}.italic{font-style:italic}.text-\[\#1e1e1e\]{--tw-text-opacity:1;color:rgb(30 30 30 / var(--tw-text-opacity, 1))}.text-\[\#3858e9\]{--tw-text-opacity:1;color:rgb(56 88 233 / var(--tw-text-opacity, 1))}.text-\[\#757575\]{--tw-text-opacity:1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}.text-\[\#cc1818\]{--tw-text-opacity:1;color:rgb(204 24 24 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.opacity-100{opacity:1}.opacity-50{opacity:0.5}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.duration-0{transition-duration:0s}.duration-200{transition-duration:200ms}.ease-in{transition-timing-function:cubic-bezier(0.4, 0, 1, 1)}.fade-in{animation-iteration-count:1;animation-name:fadeInOpacity;animation-timing-function:ease-in;opacity:1}@keyframes fadeInOpacity{0%{opacity:0}100%{opacity:1}}.duration-1{animation-duration:.1s}.duration-0{animation-duration:0s;transition:none}.o-field{margin:0 auto 10px}.o-field__wrapper{box-shadow:0 1px 1px rgba(0,0,0,.04)}.is-ghost .o-field__wrapper{box-shadow:none}.o-field__inside{display:flex;flex-direction:column;justify-content:space-between;border-width:1px;border-color:#42586366;border-top:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:#fff;cursor:default}@media(min-width: 62.5em){.c-editor-main.no-side-bar .o-field__inside{display:grid;grid-template-columns:1fr 280px}}@media(min-width: 75em){.o-field__inside{display:grid;grid-template-columns:50% 50%}}@media(min-width: 87.5em){.o-field__inside{grid-template-columns:1fr 280px}}.is-chosen.is-ghost .o-field__inside,.is-chosen.is-fallback.is-drag .o-field__inside{display:none !important;opacity:0;height:0px;border:none}.o-field__content{padding:12px 12px 0;display:block}.o-field__options{padding:12px 12px 20px 12px;display:flex;flex-direction:column}@media(min-width: 62.5em){.c-editor-main.no-side-bar .o-field__options{border-left-width:1px;--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}}@media(min-width: 75em){.o-field__options{border-left-width:1px;--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}}.o-field__options{position:relative}.o-field.is-ghost{background-color:#fff;box-shadow:none;border:1px dashed #b4b9be;height:43px;margin:0 auto 10px}.o-field.is-ghost .c-wpo__top-bar--subpage{opacity:0}.o-field.is-fallback{box-shadow:0 1px 1px rgba(0,0,0,.04) !important;z-index:100000000 !important;overflow:none;position:fixed !important;opacity:.8;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";filter:alpha(opacity=80)}.o-field-table{display:flex;flex-direction:column;width:338px;margin-left:-24px}.o-field-table__header{margin-left:24px;display:flex}.o-field-table__header-label{margin-bottom:3px;width:calc(50% - 18px)}.o-field-table__header-label:nth-of-type(1n+2){margin-left:4px}.o-field-table__body{width:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none}.o-field-table__footer{position:relative;margin-left:24px;width:calc(100% - 56px);display:flex;align-items:center;justify-content:center}.o-field-table__footer:before{opacity:0;position:absolute;content:"";top:50%;left:0;margin-top:-1px;border-bottom:2px solid var(--wp-admin-theme-color, #3858e9);width:100%;transition:opacity .1s linear .1s}.o-field-table__footer:hover:before,.o-field-table__footer:focus-within:before{opacity:1}.o-field-table__footer{margin-top:6px;margin-bottom:6px}.o-field-table__footer .c-icon-button{position:relative;z-index:1}.o-field-table__footer .c-icon-button.is-appender:hover{background-color:#1e1e1e;color:#fff}.o-field-table__footer .c-icon-button.is-appender:focus{background-color:#1e1e1e;color:#fff;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color, #3858e9)}.o-field-table__row{display:flex;align-items:center;margin-bottom:2px;position:relative}.o-field-table__row.is-chosen.is-ghost{background-color:#edeff0;width:100%;left:0px;margin-left:24px;width:calc(100% - 54px)}.o-field-table__row.is-chosen.is-ghost .o-field-table__input{opacity:0;visibility:hidden}.o-field-table__row.is-chosen.is-ghost .o-field-table__drag-handle-image{opacity:1}.o-field-table__drag-handle{padding:0px;flex:0 0 24px;box-sizing:border-box;width:24px;height:23px;display:flex;justify-content:center;align-items:center;cursor:move;cursor:-webkit-grab}.o-field-table__drag-handle-abort{flex:0 0 24px;box-sizing:border-box;padding:5px;opacity:0;width:24px;height:25px;display:flex;justify-content:center;align-items:center;cursor:default}.o-field-table.is-active .o-field-table__drag-handle{opacity:0}.o-field-table.is-active .o-field-table__row.is-chosen.is-fallback .o-field-table__drag-handle{opacity:1}.o-field-table__drag-handle-image{height:24px;color:rgba(0,0,0,0);opacity:0}.o-field-table__row:hover .o-field-table__drag-handle-image{color:rgba(10,24,41,.7)}.o-field-table.is-active .o-field-table__row.is-chosen.is-fallback .o-field-table__drag-handle-image{color:#191e23}.o-field-table__drag-handle:hover .o-field-table__drag-handle-image{color:#191e23;opacity:1}.o-input-wrapper:hover .o-field-table__drag-handle-image{opacity:1}.o-field-table__input:nth-of-type(1n+2){margin-left:3px}.o-field-table__delete{margin-left:6px;opacity:0;transition:opacity .1s linear}.o-field-table__row:hover .o-field-table__delete,.o-field-table__row:focus-within .o-field-table__delete{opacity:1}@media(hover: none){.o-field-table__delete{opacity:1}}.o-field-table__error-list{margin:8px 0 0 26px}.o-field-table__error-item{position:relative;display:flex;align-items:flex-start;gap:4px;font-size:12px;line-height:16px;color:var(--wpds-color-foreground-content-error-weak, #cc1818)}.o-field-table__error-count{margin-left:2px;background-color:#e3e4e7;color:#23282d;padding:1px 5px;border-radius:3px;font-size:10px;line-height:120%;font-weight:700}.o-field-table__error-message{color:inherit}.o-drag-list{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;max-width:1200px;width:100%}.o-drag-list.for-fields{max-width:100%}.o-drag-list.for-fields:hover{min-height:auto}.o-drag-list.for-fields.is-empty{height:65px}.o-drag-list.for-fields.is-empty-on-move{height:55px}.o-fields-wrapper{display:flex;flex-direction:column;align-items:center;padding:40px 40px 15px}.o-page{margin:10px auto 0;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:100}.o-page.is-ghost{box-shadow:none;border:1px dashed #b4b9be;height:46px}.o-page.is-ghost .c-wpo__top-bar--subpage{opacity:0}.o-page.is-fallback{box-shadow:0 1px 1px rgba(0,0,0,.04) !important;background-color:#fff;z-index:100000000 !important;overflow:none;position:fixed !important;margin-bottom:0}.o-page__right-nav{position:relative;display:flex}.o-page__inside{-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:#fff;padding:0;cursor:default;border-width:0 1px 1px 1px}.is-chosen.is-ghost .o-page__inside,.is-chosen.is-fallback.is-drag .o-page__inside{display:none !important;opacity:0;height:0;border:0}.o-page__wrapper{display:flex;background-color:#fff}.o-page__content,.o-page__options{padding:25px 12px 10px;position:relative}.o-page__content{flex:3}.o-page__options{flex:1;padding-top:25px}.o-input-wrapper{position:relative;display:flex;align-items:center;--aop-label-offset: 11.5px;padding:5px 8px 15px}.o-input-wrapper.for-radio{align-items:normal}.o-input-wrapper:nth-last-of-type(1){padding-bottom:20px}.o-input-wrapper.align-top{align-items:start}@media(min-width: 62.5em){.o-field__content .o-input-wrapper.align-top,.c-editor-main.no-side-bar .o-field__content .o-input-wrapper.align-top{align-items:start}}@media(min-width: 87.5em){.o-field__content .o-input-wrapper.align-top,.c-editor-main.no-side-bar .o-field__content .o-input-wrapper.align-top{align-items:start}}.o-input-wrapper.has-table{padding-bottom:0}.o-field__content .o-input-wrapper.has-table,.c-editor-main.no-side-bar .o-field__content .o-input-wrapper.has-table{align-items:normal}.o-input-wrapper.for-menutype{height:28px}.o-field__options .o-input-wrapper,.o-field__content .o-input-wrapper,.o-page__content .o-input-wrapper{flex-direction:column;align-items:start;--aop-label-offset: 0px}@media(min-width: 62.5em){.c-editor-main.no-side-bar .o-field__content .o-input-wrapper{flex-direction:row;align-items:center;--aop-label-offset: 11.5px}}@media(min-width: 87.5em){.o-field__content .o-input-wrapper{flex-direction:row;align-items:center;--aop-label-offset: 11.5px}}@media(min-width: 50em){.c-editor-main.no-side-bar .o-page__content .o-input-wrapper{flex-direction:row;align-items:center;--aop-label-offset: 11.5px}}@media(min-width: 68.75em){.o-page__content .o-input-wrapper{flex-direction:row;align-items:center;--aop-label-offset: 11.5px}}.o-input-wrapper__control{display:flex;align-items:center;gap:8px}.o-input-wrapper.has-message:has(>.o-input-wrapper__field>.c-validate-message:not([style*="display: none"])){align-items:flex-start}.o-input-wrapper.has-message:has(>.o-input-wrapper__field>.c-validate-message:not([style*="display: none"]))>.c-input-label{margin-top:var(--aop-label-offset)}.o-input-wrapper__field{display:flex;flex-direction:column;align-items:flex-start;flex:1 1 auto;min-width:0;align-self:stretch}.o-field__options .o-input-wrapper__field,.o-field__content .o-input-wrapper__field{width:100%}.o-meta-box{background-color:#fff;border:1px solid #ccd0d4;box-shadow:0 1px 1px rgba(0,0,0,.04);margin-bottom:20px;max-width:1000px;position:relative;width:100%}.o-meta-box.is-grey{background-color:#edeff0;border:0;box-shadow:none}.o-meta-box__inside{font-size:13px;line-height:1.4em;padding:12px 12px 0;position:relative}.o-meta-box__inside.in-sidebar{padding:0}.o-meta-box__pages-wrapper{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;display:flex;flex-direction:column;justify-content:center;margin-right:20px;padding:0 40px}@media(min-width: 68.75em){.o-meta-box__pages-wrapper{padding:0 60px}}.o-meta-box__submit-items{background:#f5f5f5;border-top:1px solid #e2e4e7;display:flex;justify-content:space-between;padding:12px}.o-meta-box__submit-save{display:block}.o-meta-box__submit-delete{align-items:center;display:flex}.o-input-column{display:flex;flex-direction:column}.o-body{display:flex;margin-top:50px}.o-body__content{align-items:center;display:flex;flex:1;flex-direction:column}.o-body__sidebar{margin-left:20px;width:280px}.o-wrap{margin:10px 20px 0 2px}.o-dropdown-group{position:relative;display:flex;flex-direction:column;align-items:center;margin:10px 0}.o-dropdown-group.is-empty{margin:0 0 10px}.o-radio-list__item{display:flex;align-items:center;margin-bottom:3px;position:relative}.o-radio-list__item.is-chosen.is-ghost{background-color:#edeff0;width:calc(100% - 29px)}.o-radio-list__item.is-chosen.is-ghost .o-radio-list__input{opacity:0;visibility:hidden}.o-radio-list__item.is-chosen.is-ghost .o-radio-list__drag-handle{opacity:0}.o-radio-list__item.is-chosen.is-ghost .o-radio-list__drag-handle-image{opacity:1}.o-radio-list__drag-handle{position:absolute;padding:5px;left:-23px;width:15px;height:25px;display:flex;justify-content:center;align-items:center;cursor:move;cursor:-webkit-grab}.o-radio-list.is-active .o-radio-list__drag-handle{opacity:0}.o-radio-list.is-active .o-radio-list__item.is-chosen.is-fallback .o-radio-list__drag-handle{opacity:1}.o-radio-list__drag-handle-image{height:20px;color:rgba(10,24,41,.7);opacity:0;transition:opacity .1s linear .1s;transition:color .1s}.o-radio-list__drag-handle:hover .o-radio-list__drag-handle-image{color:#191e23;opacity:1}.o-input-wrapper:hover .o-radio-list__drag-handle-image{opacity:1}.o-radio-list__input.c-input[type=text]:nth-of-type(1n+2){margin-left:4px}.not-visible{display:none}.fade-enter-active,.fade-leave-active{transition:opacity .3s}.fade-enter,.fade-leave-to{opacity:0}.aop-modal-is-open{overflow:hidden}.slide-fade-enter-active{transition:all .2s ease}.slide-fade-leave-active{transition:all .2s cubic-bezier(1, 0.5, 0.8, 1)}.slide-fade-enter,.slide-fade-leave-to{transform:translateY(-5px);opacity:0}.above-button.slide-fade-enter,.above-button.slide-fade-leave-to{transform:translateY(5px)}.slide-up-enter-active{transition:all .5s ease}.slide-up-enter{transform:translateY(30px);opacity:0}.slide-stop{transform:none;transition:none}.c-top-bar{clear:both;padding:0 8px;line-height:28px;display:flex;justify-content:space-between;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.c-top-bar__left{display:flex;align-items:center;flex-wrap:wrap;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.c-top-bar__right{position:relative;display:flex;align-items:center}.c-top-bar--subpage,.c-top-bar--field{min-width:30px;position:relative;box-sizing:border-box;line-height:1.4em;color:#23282d;touch-action:none;cursor:move;cursor:grab;cursor:-webkit-grab;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.is-chosen .c-top-bar--subpage,.is-chosen .c-top-bar--field{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:grabbing;cursor:-webkit-grabbing}.is-fallback .c-top-bar--subpage,.is-fallback .c-top-bar--field{box-shadow:0 1px 1px rgba(0,0,0,.04) !important;background-color:#fafafa;opacity:.8 !important;margin-bottom:10px;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.is-ghost .c-top-bar--subpage,.is-ghost .c-top-bar--field{background-color:#fff;color:#fff;opacity:0;box-shadow:none;margin:0 auto 10px;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:move;cursor:grab}.c-top-bar--field{height:45px}.o-field.is-chosen .c-top-bar--field{--tw-border-opacity:1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(243 244 245 / var(--tw-bg-opacity, 1))}.c-top-bar--field.is-open{box-shadow:none}.c-top-bar--subpage{height:48px}.c-top-bar__title{margin:0;font-size:1em;line-height:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:inline-block;font-weight:600;color:#23282d}.c-top-bar__title.is-subpage{padding:15px 12px;font-size:1.3em;margin:0}.c-top-bar__title.is-placeholder{color:#bbb;font-style:italic}.c-top-bar__pre-title{color:#23282d;display:inline-block;padding:7px;margin:8px;margin-left:0;background-color:#e2e4e7;border-radius:3px;text-align:center}.c-top-bar__pre-title.is-subpage{opacity:0;width:0px;padding:7px 0;margin:8px 0 8px 8px}.c-top-bar__toggle{border:0;margin:0;padding:10px;background:0 0;cursor:pointer;outline:0;text-align:right;position:relative;color:#555d66;display:inline-block}.c-top-bar__toggle:focus{outline:none}.c-top-bar__toggle-indicator:before{content:"";font:400 20px/1 dashicons;speak:none;display:block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none !important;padding:1px 2px 1px 0;border-radius:50%}button:focus .c-top-bar__toggle-indicator:before{box-shadow:0 0 0 2px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0)}.c-top-bar__toggle-indicator.is-open:before{content:""}.is-fallback .c-top-bar__toggle-indicator:before{content:""}.c-dashicon__arrow-down{margin-right:-4px;fill:currentColor;width:20px;height:20px}svg.dashicon.components-checkbox-control__checked{fill:#fff;cursor:pointer;position:absolute;left:-2px;top:-1px;width:20px;height:20px;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.c-icon-button{display:flex;align-items:center;padding:8px;border:none;background:none;color:#555d66;position:relative;outline:none;text-decoration:none;margin:0;border-radius:0;-moz-appearance:none;appearance:none;-webkit-appearance:none}.c-icon-button--insert-toggle{display:inline-flex;align-items:center;cursor:pointer;transition:color .2s ease;border-radius:50%}.c-icon-button--insert-toggle:hover{color:#191e23;box-shadow:inset 0 0 0 1px #e2e4e7,inset 0 0 0 2px #fff,0 1px 1px rgba(25,30,35,.2)}.c-icon-button--insert-toggle:active{color:#191e23;box-shadow:inset 0 0 0 1px #6c7781,inset 0 0 0 2px #fff}.c-icon-button--insert-toggle:focus{border-color:var(--wp-admin-theme-color, #3858e9);box-shadow:0 0 0 2px var(--wp-admin-theme-color, #3858e9);color:#191e23;outline:2px solid rgba(0,0,0,0)}.c-icon-button--insert-toggle.is-appender{justify-content:center;width:24px;height:24px;padding:0;border-radius:2px;background-color:#1e1e1e;color:#fff}.c-icon-button--insert-toggle.is-appender:hover,.c-icon-button--insert-toggle.is-appender:focus{background-color:var(--wp-admin-theme-color, #3858e9);color:#fff;box-shadow:none}.c-icon-button--insert-toggle.is-appender[aria-pressed=true] svg{transform:rotate(45deg)}@media(prefers-reduced-motion: no-preference){.c-icon-button--insert-toggle.is-appender svg{transition:transform cubic-bezier(0.165, 0.84, 0.44, 1) .2s}}.c-icon-button--insert-toggle svg{fill:currentColor}.c-icon-button.is-link{cursor:pointer;transition:color .2s ease;text-decoration:underline;background:0 0;padding:0}.c-icon-button.is-link:hover{color:#191e23}.c-icon-button.is-link:focus{color:#191e23;box-shadow:inset 0 0 0 1px #6c7781,inset 0 0 0 2px #fff;outline:2px solid rgba(0,0,0,0);outline-offset:-2px}.c-icon-button.is-link.is-delete-button{margin:0 15px 25px 0;position:absolute;right:0;bottom:0;justify-content:center;padding:0;width:29px;height:28px;border-radius:4px;color:rgba(10,24,41,.7);align-items:center}.c-icon-button.is-link.is-delete-button:focus{color:#191e23;border:1px solid #444;box-shadow:0 0 0 1px #444}.c-icon-button.is-link.is-delete-button:hover{background-color:rgba(0,0,0,0);color:#191e23;box-shadow:inset 0 0 0 1px #e2e4e7,inset 0 0 0 2px #fff,0 1px 1px rgba(25,30,35,.2)}.c-icon-button.is-link.is-delete-button.for-field{margin:0 15px 12px 0}.c-icon-button.is-link.is-delete-button.for-radio{position:relative;margin:0 0 0 2px;opacity:0;transition:opacity .1s linear .1s;transition:color .1s;z-index:100;background-color:#fff}.c-icon-button.is-link.is-delete-button.for-radio:focus{opacity:1;color:#191e23;border:1px solid #444;box-shadow:0 0 0 1px #444}.o-field-table__row:hover .c-icon-button.is-link.is-delete-button.for-radio{opacity:1}.is-chosen.is-ghost .c-icon-button.is-link.is-delete-button.for-radio,.is-chosen.is-fallback .c-icon-button.is-link.is-delete-button.for-radio{display:none}.o-field-table.is-active .c-icon-button.is-link.is-delete-button.for-radio{opacity:0}.o-field-table.is-active .o-field-table__item.is-chosen.is-fallback .c-icon-button.is-link.is-delete-button.for-radio{opacity:1}.c-icon-button.is-link svg{fill:currentColor;width:20px;height:20px;margin:0}.c-icon-button.for-new-page:before{content:"";display:inline-block;position:relative;left:-2px;top:0;font:400 20px/1 dashicons;vertical-align:middle;transition:all .2s;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.c-icon-button.for-field-table{opacity:0}.c-icon-button.for-field-table:focus{opacity:1}.o-field-table:hover .c-icon-button.for-field-table,.o-field-table:focus-within .c-icon-button.for-field-table{opacity:1}@media(hover: none){.c-icon-button.for-field-table{opacity:1}}.c-icon-button.for-field-table:hover{color:#006598;box-shadow:none}.c-icon-picker{background-color:var(--wp-admin-theme-color, #3858e9);vertical-align:middle;color:#fff;border-radius:4px;border:none;padding:0;cursor:pointer;display:inline-flex;align-items:center;outline:none;position:relative}.c-icon-picker__inner{display:inline-flex;align-items:center;justify-content:center}.c-icon-picker__icon{width:20px;height:20px;padding:7px}.c-icon-picker__icon:before{color:#fff;width:18px;height:18px;font-size:18px}.c-icon-picker.dropdown-is-open{background-color:var(--wp-admin-theme-color-darker-10, #2145e6)}.c-icon-picker:hover,.c-icon-picker:focus{outline:none;box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9),inset 0 0 0 1px #fff;color:#fff;background-color:var(--wp-admin-theme-color-darker-10, #2145e6)}.c-icon-dropdown{position:absolute;background-color:#fff;display:block;z-index:100;box-shadow:0 3px 20px rgba(25,30,35,.1),0 1px 3px rgba(25,30,35,.1);border:1px solid #ddd;left:0;top:45px;cursor:auto}.c-icon-dropdown:before{top:-8px;content:"";position:absolute;height:0;width:0;border:8px solid #ddd;border-left-color:rgba(0,0,0,0);border-right-color:rgba(0,0,0,0);line-height:0}.c-icon-dropdown:after{top:-6px;content:"";position:absolute;height:0;width:0;border:8px solid #fff;border-left-color:rgba(0,0,0,0);border-right-color:rgba(0,0,0,0);line-height:0}.c-icon-dropdown.is-grey{background-color:#fafafa}.c-icon-dropdown.is-grey:after{border:8px solid #fafafa;border-left-color:rgba(0,0,0,0);border-right-color:rgba(0,0,0,0);border-top:0}.c-icon-dropdown.above-button{top:unset;bottom:48px}.c-icon-dropdown.above-button:before{bottom:-9px;top:unset;border-left-color:rgba(0,0,0,0);border-right-color:rgba(0,0,0,0);border-bottom:0;border-top:8px solid #fafafa}.c-icon-dropdown.above-button:after{bottom:-7px;top:unset;border-left-color:rgba(0,0,0,0);border-right-color:rgba(0,0,0,0);border-top:8px solid #fff;border-bottom:0}.c-icon-dropdown:before,.c-icon-dropdown:after{border-bottom-style:solid;border-top:0;left:0;margin-left:10px}.c-icon-dropdown__row{display:flex;margin:0;align-items:center;flex-wrap:wrap;width:400px;padding:16px 0 0;border-top:1px solid #ddd;background-color:#fff}.c-icon-dropdown__item{margin:0;height:20px;width:20px;padding:10px;display:flex;align-items:center;justify-content:center;cursor:pointer}.c-icon-dropdown__icon-name{height:20px;width:20px;padding:10px;box-sizing:content-box;border:0;border-radius:4px;cursor:pointer;background-color:#fff}.c-icon-dropdown__icon-name:before{color:#555d66}.c-icon-dropdown__icon-name:hover{background-color:#f3f4f5}.c-icon-dropdown__icon-name:focus{color:#191e23;box-shadow:inset 0 0 0 2px #444;outline:2px solid rgba(0,0,0,0);outline-offset:-2px}.c-icon-dropdown__icon-name:active{background-color:#f3f4f5}.c-icon-dropdown__not-found-text{margin:5px 2px}.c-icon-dropdown__not-found-text:focus{outline:none}.c-icon-dropdown__search{position:relative;left:0;top:0;outline:none;margin:0 16px;padding:10px 13px;font-size:13px;display:block;border:0;z-index:10}.c-icon-dropdown__search[type=search]{margin-top:16px;margin-bottom:16px;padding:11px 16px;line-height:1.4em;border:1px solid #ccd0d4;transition:box-shadow .1s linear;box-shadow:0 0 0 rgba(0,0,0,0);border-radius:4px}.c-icon-dropdown__search[type=search]::-moz-placeholder{color:#72777c}.c-icon-dropdown__search[type=search]::placeholder{color:#72777c}.c-icon-dropdown__search[type=search]:focus{color:#191e23;border-color:var(--wp-admin-theme-color, #3858e9);box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0)}.c-icon-dropdown__footer{border:0;height:30px;display:flex;justify-content:flex-end;position:absolute;overflow:hidden;bottom:-40px;right:-11px;padding:0 10px 10px 10px;background-color:rgba(0,0,0,0)}.c-icon-dropdown__footer__name{color:#444;margin:0;padding:8px;text-align:right;font-weight:600;font-size:10px;-webkit-transition:all .1s;box-shadow:0 3px 20px rgba(25,30,35,.1),0 1px 3px rgba(25,30,35,.1);background-color:#fff;border-right:1px solid #ddd;border-left:1px solid #ddd;border-bottom:1px solid #ddd}.c-icon-dropdown__footer__css{color:#444;font-size:10px;margin:0;margin-left:5px;padding:3px 5px;line-height:12px}.c-input-label{-webkit-font-smoothing:subpixel-antialiased;color:#555d66;cursor:pointer;font-size:13px;line-height:1.3;min-width:140px;vertical-align:middle;width:140px}.c-input-label.for-toggle{margin-top:0}.o-field__options .c-input-label,.o-field__content .c-input-label{width:auto;min-width:auto;padding-bottom:0.25rem}@media(min-width: 87.5em){.o-field__content .c-input-label{flex:0 0 140px;min-width:140px;width:140px;padding-bottom:0;padding-right:12px;box-sizing:border-box}}@media(min-width: 62.5em){.c-editor-main.no-side-bar .o-field__content .c-input-label{flex:0 0 140px;min-width:140px;width:140px;padding-bottom:0;padding-right:12px;box-sizing:border-box}}.o-page__content .c-input-label{padding-bottom:0.25rem;min-width:auto;width:auto}@media(min-width: 50em){.c-editor-main.no-side-bar .o-page__content .c-input-label{min-width:140px;padding-bottom:0}}@media(min-width: 68.75em){.o-page__content .c-input-label{min-width:140px;padding-bottom:0}}.c-input[type=text],.c-input[type=number],.c-input--textarea{line-height:1.4em;padding:6px 10px 6px 10px;border:1px solid #7e8993;transition:box-shadow .1s linear;box-shadow:0 0 0 rgba(0,0,0,0);border-radius:4px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.c-input[type=text]:focus,.c-input[type=number]:focus,.c-input--textarea:focus{color:#191e23;border-color:var(--wp-admin-theme-color, #3858e9);box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0);outline-offset:-2px}.c-input[type=text]{background-color:#fff;color:#32373c;outline:0;box-sizing:border-box;min-width:230px}.o-field__options .c-input[type=text],.o-field__content .c-input[type=text]{width:100%;min-width:auto}@media(min-width: 62.5em){.c-editor-main.no-side-bar .o-field__options .c-input[type=text],.c-editor-main.no-side-bar .o-field__content .c-input[type=text]{min-width:200px}}@media(min-width: 65.625em){.c-editor-main.no-side-bar .o-field__options .c-input[type=text],.c-editor-main.no-side-bar .o-field__content .c-input[type=text]{min-width:230px}}@media(min-width: 87.5em){.o-field__options .c-input[type=text],.o-field__content .c-input[type=text]{min-width:230px}}@media(min-width: 75em){.o-field__content .c-input[type=text]{width:230px}}@media(min-width: 62.5em){.c-editor-main.no-side-bar .o-field__content .c-input[type=text]{width:230px}}.c-input[type=text].code{font-size:12px;padding:8px 10px 7px;font-weight:700;font-family:Consolas,Monaco,monospace}.c-input[type=text].code::-moz-placeholder{color:#999}.c-input[type=text].code::placeholder{color:#999}.c-input[type=text].code{font-weight:500}.c-input[type=text].for-sidebar{min-width:100%;padding:8px 10px 8px 10px}.c-input[type=text].no-min-width{min-width:0}.c-input[type=text].o-field-table__input{min-width:140px;width:140px}.c-editor-main.no-side-bar .c-input[type=text].o-field-table__input{min-width:140px;width:140px;max-width:140px}.c-input[type=number]{height:28px;line-height:1}.c-input[type=number]::-moz-placeholder{color:#bbb}.c-input[type=number]::placeholder{color:#bbb}.c-input[type=number].is-position{width:80px}.c-input[type=checkbox]{border-radius:2px;border:1px solid #1e1e1e;transition:none;box-shadow:0 0 0 rgba(0,0,0,0);margin-top:0;margin-bottom:0;height:20px;width:20px;margin-right:5px}.c-input[type=checkbox]:focus{border-color:var(--wp-admin-theme-color, #3858e9);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0)}.c-input[type=checkbox]:checked{background:var(--wp-admin-theme-color, #3858e9);border-color:var(--wp-admin-theme-color, #3858e9);left:-2px;top:-2px}.c-input[type=checkbox]:checked:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0)}.c-input[type=checkbox]:checked:before{content:none}.o-input-wrapper .c-input[type=checkbox]:before{margin:-2px 0 0 -3px;color:#fff}.c-input__checkbox-svg{fill:#fff;cursor:pointer;position:absolute;left:0;top:0;width:24px;height:24px;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}@media(min-width: 600px){.c-input__checkbox-svg{left:-2px;top:-2px}}.c-input--textarea{width:100%;min-height:50px}.o-field__options .c-input--textarea{width:100%}.c-input__radio[type=radio]:checked:before{content:"•";text-indent:-9999px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}.c-input__radio-label:not(:nth-last-child(1)){margin-bottom:15px}.c-input.not-valid{border-color:var(--wpds-color-stroke-interactive-error, #cc1818);transition:50ms border-color ease-in-out}.c-input.not-valid:focus{border-color:var(--wpds-color-stroke-interactive-error, #cc1818);box-shadow:0 0 0 1px var(--wpds-color-stroke-interactive-error, #cc1818);transition:box-shadow .1s linear;outline:2px solid rgba(0,0,0,0);outline-offset:-2px}.c-input.is-position{min-width:80px;width:80px}.c-input-group__item{margin-bottom:5px;position:relative;display:flex;vertical-align:middle}.c-input-group__item.is-disabled label{color:#a7aaad}.c-input-group__item .c-help-tip{margin-left:8px;align-self:center}.c-select{border:1px solid #ccd0d4;box-shadow:0 0 0 rgba(0,0,0,0);transition:box-shadow .1s linear;outline-offset:-1px;color:#555d66;padding:2px}.c-select:focus{border-color:var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0);outline-offset:-2px;box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9);color:#191e23}.c-select.is-disabled{pointer-events:none;color:#999;border-color:#f1f1f1}.c-select__class-name{margin-left:5px;padding:6px 8px 4px 6px;background:#eaeaea;background:rgba(0,0,0,.07);font-size:12px}.c-toggle{position:relative;box-sizing:border-box}.c-toggle__input[type=checkbox]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;margin:0;padding:0;z-index:1}.c-toggle__input[type=checkbox]:focus+.c-toggle__track{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0);outline-offset:2px}.c-toggle__track{content:"";display:inline-block;vertical-align:top;box-sizing:border-box;background-color:#fff;border:1px solid #1e1e1e;width:36px;height:18px;border-radius:9px;transition:background .2s ease}.wpo__subpage__toggle:hover .c-toggle__track{background-color:#e2e4e7}.c-toggle__track.is-checked{background-color:var(--wp-admin-theme-color, #3858e9);border:9px solid rgba(0,0,0,0)}.wpo__subpage__toggle:hover .c-toggle__track.is-checked{background-color:var(--wp-admin-theme-color-darker-10, #2145e6)}.c-toggle__thumb{display:block;position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;border:5px solid #1e1e1e;background-color:#1e1e1e;transition:transform .1s ease;box-sizing:border-box}.c-toggle__thumb.is-checked{background-color:#fff;border-width:0;transform:translateX(18px)}.c-toggle__on,.c-toggle__off{position:absolute;top:6px}.c-toggle__on{left:8px;filter:invert(100%) contrast(500%);outline:1px solid rgba(0,0,0,0);outline-offset:-1px}.c-toggle__off{color:#6c7781;fill:currentColor;right:6px}.c-help-tip{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:16px;height:16px;margin:0;padding:0;border:0;border-radius:50%;background-color:#1e1e1e;color:#fff;font-size:11px;font-weight:600;line-height:1;cursor:help}.c-help-tip:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0)}.c-shortcode{-webkit-user-select:all;-moz-user-select:all;user-select:all;white-space:nowrap;font-size:12px}.c-textarea{width:80%;min-height:33px;padding:6px 7px 6px 10px;border:1px solid #ccd0d4;outline-offset:0;transition:box-shadow .05s linear;box-shadow:0 0 0 rgba(0,0,0,0);line-height:1.4em}.c-textarea:focus{border-color:var(--wp-admin-theme-color, #3858e9);box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9)}.c-popover{position:absolute;box-shadow:0 3px 20px rgba(25,30,35,.1),0 1px 3px rgba(25,30,35,.1);border:1px solid #e2e4e7;width:auto;top:40px;background-color:#fff;z-index:10000000;cursor:auto;box-sizing:border-box}.c-popover:before{top:-8px;border:8px solid #e2e4e7}.c-popover:after{top:-6px;border:8px solid #fff}.c-popover:before,.c-popover:after{content:"";position:absolute;height:0;width:0;border-bottom-style:solid;border-top:none;border-left-color:rgba(0,0,0,0);border-right-color:rgba(0,0,0,0);line-height:0;left:calc(50% - 8px)}.c-popover__text{display:inline-block;width:-moz-max-content;width:max-content;padding:0 5px;font-size:12px}.c-button{transition:box-shadow .1s linear}.c-button.is-link{border-radius:3px;border-style:solid;border-width:1px;border-color:rgba(0,0,0,0)}.c-button.is-link:hover{background-color:#fff;border-color:var(--wp-admin-theme-color, #3858e9);color:var(--wp-admin-theme-color-darker-20, #183ad6)}.c-button.is-link:focus{box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0);outline-offset:0}.c-button.is-delete-button,.c-button.is-delete-button:active{color:#cc1818;border-color:#cc1818;justify-content:center}.c-button.is-delete-button.is-link,.c-button.is-delete-button:active.is-link{border-style:solid;border-width:1px;border-color:rgba(0,0,0,0)}.c-button.is-delete-button.is-link:hover,.c-button.is-delete-button:hover,.c-button.is-delete-button:active.is-link:hover,.c-button.is-delete-button:active:hover{background-color:rgba(204,24,24,.04);color:#710d0d;border-color:#710d0d}.c-button.is-delete-button:focus,.c-button.is-delete-button:active:focus{background-color:rgba(204,24,24,.04);border-color:#710d0d;color:#710d0d;box-shadow:none;outline:2px solid var(--wp-admin-theme-color, #3858e9);outline-offset:0}.c-button__top-bar{height:33px}.c-button__top-bar.is-save-button{margin:0 12px 0 3px}.c-button.has-icon{display:flex;align-items:center;padding:8px;margin:0;border:none;background:none;color:#1e1e1e;position:relative;overflow:hidden;border-radius:4px}.c-button.has-icon:hover,.c-button.has-icon:focus{background-color:#fff;color:#191e23;box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color, #3858e9),inset 0 0 0 2px #fff;outline:2px solid rgba(0,0,0,0)}.c-button.has-icon:not(.is-toggled):hover{color:var(--wp-admin-theme-color, #3858e9)}.c-button.has-icon.is-toggled{color:#fff;background-color:#1e1e1e;margin:1px;padding:7px}.c-button.has-icon.is-toggled:hover,.c-button.has-icon.is-toggled:focus{box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9),inset 0 0 0 1px #fff !important}.c-title.h1{font-size:23px;font-weight:400;margin:0;padding:9px 0 4px;line-height:29px}.c-title.h2{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.c-link{color:var(--wp-admin-theme-color, #3858e9)}.c-link__icon{margin:-0.2em .1em 0;vertical-align:middle}.c-link--delete{color:#a00;display:flex;align-items:center}.c-link--delete:hover{color:#dc3232}.c-link--delete svg{fill:currentColor;width:20px;height:20px;margin-left:5px}.c-link.is-button{border:0;background-color:rgba(0,0,0,0);cursor:pointer;outline:none;padding:3px 7px;border-radius:3px;text-decoration:underline}.c-link.is-button:focus{box-shadow:inset 0 0 0 1px #6c7781}.c-link.is-button.no-padding{padding:0;border-radius:0}.c-link.is-button.on-popover{text-decoration:none}.c-link.is-cancel{margin-right:10px;text-decoration:none}.c-validate-message{display:flex;align-items:flex-start;gap:4px;margin:8px 0 0;font-size:12px;line-height:16px;color:var(--wpds-color-foreground-content-error-weak, #cc1818)}@media(prefers-reduced-motion: no-preference){.c-validate-message{animation:c-validate-message-jump .2s cubic-bezier(0.68, -0.55, 0.27, 1.55)}}.c-validate-message__icon{flex-shrink:0;fill:currentColor}@keyframes c-validate-message-jump{0%{transform:translateY(-4px);opacity:0}100%{transform:translateY(0);opacity:1}}.c-field-types{position:absolute;display:block;box-shadow:0 3px 20px rgba(25,30,35,.1),0 1px 3px rgba(25,30,35,.1);border:1px solid #e2e4e7;width:400px;height:430px;top:48px;background-color:#fff;z-index:100;cursor:auto;box-sizing:border-box}.c-field-types:before{top:-8px;border:8px solid #e2e4e7}.c-field-types:after{top:-6px;border:8px solid #fff}.c-field-types:before,.c-field-types:after{content:"";position:absolute;height:0;width:0;border-bottom-style:solid;border-top:none;border-left-color:rgba(0,0,0,0);border-right-color:rgba(0,0,0,0);line-height:0;left:calc(50% - 8px)}.c-field-types.above-button{top:unset;bottom:48px}.c-field-types.above-button:before{bottom:-9px;top:unset;border-bottom:none;border-top:8px solid #e2e4e7}.c-field-types.above-button:after{bottom:-7px;top:unset;border-top:8px solid #fff;border-bottom:none}.c-field-types__search{width:100%;position:relative;left:0;top:0;outline:none;margin:0;padding:10px 13px;font-size:13px;display:block;border:0;z-index:10}.c-field-types__search[type=search]{padding:11px 16px;line-height:1.4em;color:#32373c;border:1px solid #7e8993;transition:box-shadow .1s linear;box-shadow:0 0 0 rgba(0,0,0,0);border-radius:4px;height:40px}.c-field-types__search[type=search]::-moz-placeholder{color:#72777c}.c-field-types__search[type=search]::placeholder{color:#72777c}.c-field-types__search[type=search]:focus{color:#191e23;border-color:var(--wp-admin-theme-color, #3858e9);box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0);outline-offset:-2px}.c-field-types__wrapper{position:relative;overflow:auto;height:344px;-webkit-overflow-scrolling:touch}.c-field-types__title{padding:15px 16px;margin:0 0 5px;font-size:13px;font-weight:600;position:relative;cursor:pointer;border-top:1px solid #e2e4e7;transition:background .1s ease-in-out}.c-field-types__title:hover{background:#f3f4f5}.c-field-types__title.has-border{border-top:1px solid #e2e4e7}.c-field-types__list-toggle{padding:0;margin:0;border:none;box-shadow:none;text-align:left;cursor:pointer;-webkit-appearance:none;background:none;position:absolute;right:10px;top:50%;transform:translateY(-45%)}.c-field-types__list-toggle:focus{border:none;box-shadow:none;outline:none}.c-field-types__list-toggle:before{content:"";border-radius:50%;width:24px;height:24px;display:block;position:absolute}.c-field-types__list-toggle:focus:before{box-shadow:0 0 0 2px var(--wp-admin-theme-color-darker-10, #2145e6);outline:2px solid rgba(0,0,0,0)}.c-field-types__list-toggle-arrow{color:#191e23;fill:currentColor;width:24px;height:24px}.c-field-types__list{display:flex;flex-wrap:wrap;margin:0;padding:0 16px 16px}.c-field-types__item{display:block;box-sizing:inherit;width:108px;margin-right:4px;position:relative;margin-bottom:12px}.c-field-types__item:nth-of-type(3n){margin-right:0}.c-field-types__button{position:relative;box-sizing:inherit;align-items:stretch;background:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);border-radius:4px;color:#1e1e1e;cursor:pointer;display:flex;flex-direction:column;font-size:13px;justify-content:center;padding:0;width:100%;word-break:break-word;transition:all .05s ease-in-out}.c-field-types__button:hover:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;border-radius:4px;opacity:.04;background:var(--wp-admin-theme-color, #3858e9);pointer-events:none}.c-field-types__button:focus{color:#191e23;outline:2px solid rgba(0,0,0,0);box-shadow:0 0 0 1px #fff,0 0 0 3px var(--wp-admin-theme-color-darker-10, #2145e6)}.c-field-types__button-icon{color:#1e1e1e;padding:12px 20px;transition:all .05s ease-in-out;display:flex;justify-content:center}.c-field-types__button:hover .c-field-types__button-icon,.c-field-types__button:focus .c-field-types__button-icon{color:var(--wp-admin-theme-color, #3858e9)}.c-field-types__button-icon .dashicon{fill:currentColor}.c-field-types__button-icon .dashicons{width:24px;height:24px;font-size:24px}.c-field-types__button-icon svg{fill:currentColor}.c-field-types__button-title{padding:4px 2px 8px;font-size:12px;hyphens:auto}.c-field-types__button:hover .c-field-types__button-title{color:var(--wp-admin-theme-color, #3858e9);filter:brightness(0.95)}.c-field-types__not-found-text{padding:0 16px}.c-material-icon{height:24px;width:24px;fill:currentColor}.c-editor-side-bar{top:88px;width:280px;box-sizing:border-box;transform:translateX(100%);transition:transform 200ms ease-in-out}.c-editor-side-bar.is-open{transform:translateX(0);transition-delay:60ms}.c-editor-side-bar__close-button{border-radius:0.25rem;border-width:0px;padding:0.5rem;transition:box-shadow .1s linear}.c-editor-side-bar__close-button:active,.c-editor-side-bar__close-button:focus{color:#191e23;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.c-editor-side-bar__close-button:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-text-opacity:1;color:rgb(25 30 35 / var(--tw-text-opacity, 1));--tw-shadow:inset 0 0 0 1px #555d66, inset 0 0 0 2px #fff;--tw-shadow-colored:inset 0 0 0 1px var(--tw-shadow-color), inset 0 0 0 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.c-editor-side-bar__close-button:focus{--tw-shadow:inset 0 0 0 1px #555d66, inset 0 0 0 2px #fff;--tw-shadow-colored:inset 0 0 0 1px var(--tw-shadow-color), inset 0 0 0 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);outline:2px solid transparent;outline-offset:2px}.c-editor-side-bar__close-button:active{box-shadow:inset 0 0 0 1px #ccd0d4,inset 0 0 0 2px #fff}.c-editor-top-bar{box-sizing:border-box;height:56px;top:32px;flex-wrap:nowrap;max-width:100vw}@media(min-width: 48.9375em){.c-editor-top-bar{margin-left:160px}.wp-responsive-open .c-editor-top-bar{margin-left:160px}.folded .c-editor-top-bar,.auto-fold .c-editor-top-bar,.sticky-menu.folded .c-editor-top-bar,.c-editor-top-bar .auto-fold.sticky-menu.folded{margin-left:36px}}@media(min-width: 60.0625em){.sticky-menu:not(.folded) .c-editor-top-bar,.auto-fold:not(.folded) .c-editor-top-bar{margin-left:160px}}.c-editor-top-bar.no-side-bar{margin-right:-20px}.c-editor-top-bar .c-input[type=text]{box-sizing:border-box;height:32px;min-height:32px;line-height:1;padding-top:0;padding-bottom:0}.c-editor-top-bar .edit-post-header__button-group .components-button.is-primary[aria-pressed=true]{background:var(--wp-admin-theme-color, #3858e9);border-color:var(--wp-admin-theme-color, #3858e9);box-shadow:none;color:#fff}.c-editor-top-bar .c-icon-picker{box-sizing:border-box;width:32px;height:32px;justify-content:center}.c-editor-top-bar .c-icon-picker__icon{padding:6px}.c-editor-main{margin-right:260px;overflow-y:auto;overscroll-behavior-y:none;position:fixed;bottom:0;left:0;right:0;top:88px;min-height:calc(100% - 88px);height:auto;margin-left:0px;transition:margin-right 200ms ease-in-out}.c-editor-main.dropdown-active{overflow-y:hidden;height:calc(100% - 87px)}.wp-responsive-open .c-editor-main{margin-left:190px}@media(min-width: 48.9375em){.c-editor-main{margin-left:160px}.wp-responsive-open .c-editor-main{margin-left:160px}.folded .c-editor-main,.auto-fold .c-editor-main,.sticky-menu.folded .c-editor-main,.c-editor-main .auto-fold.sticky-menu.folded{margin-left:36px}}@media(min-width: 60.0625em){.sticky-menu:not(.folded) .c-editor-main,.auto-fold:not(.folded) .c-editor-main{margin-left:160px}}.c-editor-main.no-side-bar{margin-right:-20px}body.aop-is-dragging .components-tooltip{display:none}.some{clip-path:inset(50%)}.dev-mode__pre{overflow:scroll;border:2px solid red;padding-left:3px;font-size:10px;font-weight:600;margin:1em}.editor-top-bar{box-sizing:border-box;height:56px;top:32px;flex-wrap:nowrap;max-width:100vw}.edit-post-header__button-group .button:first-child{border-radius:3px 0 0 3px}.edit-post-header__button-group .button:last-child{border-radius:0 3px 3px 0}.edit-post-header__button-group .button:focus{position:relative;z-index:1}.header-item{padding:10px 4px 10px}.edit-post-layout{position:relative;box-sizing:border-box;padding-top:56px}.edit-post-layout__content{margin-right:280px;padding-bottom:0;overflow-y:auto;overscroll-behavior-y:none;position:fixed;bottom:0;left:0;right:0;top:88px;min-height:calc(100% - 88px);height:auto;margin-left:160px;display:flex;flex-direction:column}.button.is-delete-button,.button.is-delete-button:active{color:#cc1818;border-color:#cc1818;justify-content:center}.button.is-delete-button:hover,.button.is-delete-button:active:hover{background-color:rgba(204,24,24,.04);color:#710d0d;border-color:#710d0d}.button.is-delete-button:focus,.button.is-delete-button:active:focus{background-color:rgba(204,24,24,.04);border-color:#710d0d;color:#710d0d;box-shadow:none;outline:2px solid var(--wp-admin-theme-color, #3858e9);outline-offset:0}.tooltip-error{position:absolute;top:calc(100% + 8px);left:0;z-index:40;width:-moz-max-content;width:max-content;max-width:280px;padding:8px 12px;background:#fff;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.1),0 2px 3px rgba(0,0,0,.05),0 6px 12px rgba(0,0,0,.08)}.tooltip-error .c-validate-message{margin:0}.c-move-buttons{display:inline-flex;align-items:center;gap:2px;margin-right:4px}.c-move-button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:2px;background:rgba(0,0,0,0);color:#555d66;cursor:pointer}.c-move-button:hover:not(:disabled){color:var(--wp-admin-theme-color, #3858e9)}.c-move-button:focus{box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0)}.c-move-button:disabled{opacity:.35;cursor:default}.c-move-button .dashicons{font-size:18px;width:18px;height:18px}.c-top-bar__drag-handle{display:inline-flex;align-items:center;margin-right:6px;padding:0;border:0;background:rgba(0,0,0,0);color:#757575;cursor:grab}.c-top-bar__drag-handle:focus{box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0)}.o-field__unavailable-body{border-width:1px;border-color:#42586366;border-top:none;background-color:#fff}.o-field__unavailable{margin:0;padding:12px 16px;color:#6c7781}.o-field__unavailable-actions{display:flex;justify-content:flex-end;padding:0 16px 12px}.is-ghost-slot{position:relative;box-sizing:border-box;height:48px;overflow:hidden;border:1px dashed #b4b9be;background:#fff;z-index:1}.is-ghost-slot>*{opacity:0}.is-ghost-slot.o-field{height:45px}.is-ghost-slot:not(.o-field){margin-top:10px}.is-ghost-slot.is-ghost-away{height:0;border:0;margin:0}.aop-drag-copy{box-shadow:0 4px 12px rgba(0,0,0,.15);cursor:grabbing}.is-dragging{opacity:.6;z-index:5;position:relative}.c-modal__screen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:hsla(0,0%,100%,.4);z-index:100000;animation:edit-post__fade-in-animation .2s ease-out 0s;animation-fill-mode:forwards}.c-modal__frame{position:absolute;top:0;right:0;bottom:0;left:0;box-sizing:border-box;margin:0;border:1px solid #e2e4e7;background:#fff;box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08);overflow:auto}@media(min-width: 600px){.c-modal__frame{top:50%;right:auto;bottom:auto;left:50%;min-width:360px;max-width:calc(100% - 16px - 16px);max-height:calc(100% - 56px - 56px);transform:translate(-50%, -50%);animation:c-modal__appear-animation .1s ease-out;animation-fill-mode:forwards}}@keyframes c-modal__appear-animation{from{margin-top:32px}to{margin-top:0}}.c-modal__header{box-sizing:border-box;border-bottom:1px solid #ecedef;padding:2px 16px 0;display:flex;flex-direction:row;justify-content:space-between;background:#fff;align-items:center;height:56px;position:sticky;top:0;z-index:10;margin:0}@supports(-ms-ime-align: auto){.c-modal__header{position:fixed;width:100%}}.c-modal__header .c-modal__header-heading{font-size:1em;font-weight:400}.c-modal__header h1{line-height:1;margin:0;padding:0}.c-modal__header-heading-container{align-items:center;flex-grow:1;display:flex;flex-direction:row;justify-content:left}.c-modal__header-icon-container{display:inline-block}.c-modal__header-icon-container svg{max-width:36px;max-height:36px;padding:8px}.c-modal__content{box-sizing:border-box;height:100%}@supports(-ms-ime-align: auto){.c-modal__content{padding-top:56px}}.c-modal__section{background-color:#fafafa;padding:16px;display:flex;justify-content:flex-end}.c-modal__header-heading-container{align-items:center;flex-grow:1;display:flex;flex-direction:row;justify-content:left}.c-modal__icon-button{display:flex;align-items:center;padding:8px;margin:0;border:none;background:none;color:#555d66;position:relative;overflow:hidden;border-radius:4px}.c-modal__icon-button .dashicon{display:inline-block;flex:0 0 auto}.c-modal__icon-button svg{fill:currentColor;outline:none}.c-modal__icon-button svg:not:only-child{margin-right:4px}.c-modal__icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover{background-color:#fff;color:#191e23;box-shadow:inset 0 0 0 1px #e2e4e7,inset 0 0 0 2px #fff,0 1px 1px rgba(25,30,35,.2)}.c-modal__icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):active{outline:none;background-color:#fff;color:#191e23;box-shadow:inset 0 0 0 1px #ccd0d4,inset 0 0 0 2px #fff}.c-modal__icon-button[aria-disabled=true]:focus,.c-modal__icon-button:disabled:focus{box-shadow:none}.edit-post-options-modal__title{font-size:1rem;font-weight:600}.c-modal__button:focus:enabled{background-color:#fff;color:#191e23;box-shadow:inset 0 0 0 1px #6c7781,inset 0 0 0 2px #fff;outline:2px solid rgba(0,0,0,0);outline-offset:-2px}.c-modal__button{cursor:pointer}.c-modal__button.is-button{padding:0 10px 1px;line-height:26px;height:28px;border-radius:5px;white-space:nowrap;border-width:1px;border-style:solid}.c-modal__button.is-button.is-cancel{border:none;line-height:33px;height:33px;background-color:rgba(0,0,0,0);margin-right:10px}.c-modal__button.is-button.is-delete{background:#e14d43;height:31px;line-height:30px;font-size:13px;color:#fff;display:inline-flex;padding:0 15px;text-decoration:none}.c-modal__button.is-button.is-delete:hover{background:#d64940}.c-modal__button.is-button.is-delete:focus{background:#d64940;box-shadow:0 0 0 0px #fff,0 0 0 1px #d64940}.c-modal__button.is-button.is-delete:active{background:#b43e36;border-color:#712722;box-shadow:inset 0 1px 0 #712722}.c-row-action-button.is-link{border:none;background-color:rgba(0,0,0,0);cursor:pointer;font-size:13px;padding:0;color:#a00;outline:0}.c-row-action-button.is-link:hover{color:#dc3232;border:none}.c-row-action-button.is-link:focus{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.aop-roles__field{align-self:auto;gap:4px}.aop-roles__list{display:flex;flex-direction:column;gap:12px}.aop-roles-modal__footer{display:flex;justify-content:flex-end;margin-top:24px}body{background-color:#fff}.aop-snackbar-wrapper{bottom:0;padding-top:4px;padding-bottom:20px;left:160px;display:block;position:fixed;overflow:hidden;z-index:10000;padding-left:16px;padding-right:16px}.folded .aop-snackbar-wrapper,.sticky-menu.folded .aop-snackbar-wrapper,.aop-snackbar-wrapper .auto-fold.sticky-menu.folded{left:36px}@keyframes slideInRight{from{transform:translate3d(0, 150px, 0);opacity:0}to{transform:translate3d(0, 0, 0);opacity:1}}@keyframes slideOutRight{from{opacity:1}to{opacity:0}}.aop-snackbar{-webkit-animation-fill-mode:both;animation-duration:.5s;animation-fill-mode:both;animation-delay:0s;animation-name:slideInRight;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;background-color:#32373c;border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,.3);color:#fff;padding:16px 24px;width:100%;max-width:600px;box-sizing:border-box;cursor:pointer}.aop-snackbar:hover{background-color:#191e23}.aop-snackbar:focus{background-color:#191e23;box-shadow:0 0 0 1px #fff,0 0 0 3px var(--wp-admin-theme-color, #3858e9)}.aop-snackbar.has-delay{animation-delay:1s}.aop-snackbar--succes{border-color:#46b450}.aop-snackbar--remove{animation-name:slideOutRight}.aop-snackbar__message{font-weight:bold;margin:.5em 0;padding:2px}.admin_page_admin_options_pages_edit #wpcontent{padding-left:0}.admin_page_admin_options_pages_edit #wpbody-content{padding-bottom:0}.aop-editor-screen #wpfooter{display:none}.left-160px{left:160px}.max-w-screen{max-width:100vh}.block-editor__container{min-height:calc(100vh - 32px)}.screen-reader-text{border:0;clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal !important}@media(max-width: 1000px){.min-width-screen{display:grid;grid-template-columns:20px 1fr 20px}}body.aop-editor-screen #wpbody-content>div:not(#aop-root):not(#screen-meta):not(.aop-snackbar-wrapper){display:none}.hover\:border-gray-700:hover{--tw-border-opacity:1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}
  • admin-options-pages/tags/1.1.0/includes/build/editor.asset.php

    r3736451 r3750608  
    1212                'wp-primitives'
    1313        ),
    14         'version' => 'ac515b576d36ffa337ab'
     14        'version' => '940f12e549c1fd85c61e'
    1515);
  • admin-options-pages/tags/1.1.0/includes/build/editor.js

    r3736451 r3750608  
    1 (()=>{"use strict";const e={n:t=>{const n=t&&t.__esModule?()=>t.default:()=>t;return e.d(n,{a:n}),n},d:(t,n)=>{for(var a in n)e.o(n,a)&&!e.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:n[a]})},o:(e,t)=>Object.hasOwn(e,t),r:e=>{Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}};var t={};e.r(t),e.d(t,{addField:()=>k,addPage:()=>D,addTableRow:()=>F,closeAllPages:()=>R,closeModal:()=>Z,decrementMenuPosition:()=>X,incrementMenuPosition:()=>G,moveField:()=>A,moveFieldToPage:()=>L,movePage:()=>M,moveTableRow:()=>V,openModal:()=>J,openPageOnError:()=>z,removeField:()=>I,removePage:()=>C,removeTableRow:()=>K,removeUnavailableField:()=>O,setExistingMenu:()=>$,setExistingMenus:()=>H,setFieldOpen:()=>P,setFieldTypes:()=>W,setIn:()=>E,setInputError:()=>te,setMenuTitle:()=>U,setMenuType:()=>B,setPageOpen:()=>T,setUi:()=>Y,togglePage:()=>S,toggleSidebar:()=>q,touch:()=>Q,validateAll:()=>ee});var n={};e.r(n),e.d(n,{getDashIcons:()=>se,getData:()=>ae,getErrors:()=>be,getExcludedOptionNames:()=>Ee,getExistingMenu:()=>ge,getExistingMenus:()=>me,getField:()=>de,getFieldNames:()=>Ne,getFieldTypes:()=>De,getHrefDeleteAction:()=>_e,getMenu:()=>pe,getMenuType:()=>fe,getPage:()=>ce,getPageData:()=>ne,getPages:()=>le,getRemovedFields:()=>re,getShownError:()=>ye,getText:()=>oe,getUi:()=>ie,hasChanges:()=>je,hasPages:()=>ue,isModalOpen:()=>ve,isSidebarVisible:()=>he,isTouched:()=>xe,isValid:()=>we});const a=window.wp.apiFetch;var i=e.n(a);let s=!1;const o=window.wp.element,l=window.wp.data,r=window.wp.i18n;function c(e,t,n){if(0===t.length)return n;const[a,...i]=t,s=(o=e??("number"==typeof a?[]:{}),Array.isArray(o)?o.slice():{...o});var o;return s[a]=c(s[a],i,n),s}function d(e,t,n){return c(e,t,n(u(e,t)))}function u(e,t,n){let a=e;for(const e of t){if(null==a)return n;a=a[e]}return void 0===a?n:a}function p(e,t){return e.filter((e,n)=>n!==t)}function g(e,t,n){if(t===n||t<0||n<0||t>=e.length||n>=e.length)return e;const a=e.slice(),[i]=a.splice(t,1);return a.splice(n,0,i),a}const m=new Map;function f(e,t){m.set(e,t)}const h=["field_label","field_title","description"];function v(e){let t=e;const n=function(e){const t={};return"true"===e.field_toggle?t.field_toggle=!0:"false"===e.field_toggle&&(t.field_toggle=!1),h.forEach(n=>{"string"==typeof e[n]&&e[n].includes("\\")&&(t[n]=e[n].replace(/\\/g,""))}),t}(t);Object.keys(n).length&&(t={...t,...n});const a=m.get(t.type),i=a?a(t):{};return Object.keys(i).length?{...t,...i}:t}function _(e=20){let t="";for(let n=0;n<e;n++)t+=String(Math.floor(10*Math.random()));return t}function x(e=10){let t="";for(let n=0;n<e;n++)t+="abcdefghijklmnopqrstuvwxyz0123456789".charAt(Math.floor(36*Math.random()));return t}function b(e,{random:t,randomText:n=x,dashIcons:a=[]}={}){const i=function(e){return e?.data?.existing_menu?"existing":"default"}(e),s=function(e,{random:t=_}={}){const n={...e.data||{}};if(n.pages||(n.pages=[{menu_slug:1,fields:[],subpage_toggle:!0}]),n.menu||(n.menu={page_title:"",menu_title:"",capability:"manage_options",menu_slug:"",menu_slug_suffix:"",icon_url:"dashicons-admin-generic",position:""}),!n.existing_menu){const t=(e.existingAdminMenuTitles||[])[0];n.existing_menu={menu_name:t?t.title:"",menu_slug:t?t.slug:""}}return n.menu_id||(n.menu_id=t(20)),"boolean"!=typeof n.side_bar_visible&&(n.side_bar_visible=!0),{...e,data:n}}(e,{random:t}),o={...s.data,pages:s.data.pages.map((e,t,a)=>function(e,t,n=x){const a={...e,fields:(e.fields||[]).map(v)};return a.subpage_slug_suffix||(a.subpage_slug_suffix=n(10)),void 0===a.subpage_toggle&&1===t&&(a.subpage_toggle=!0),a}(e,a.length,n))};return{pageData:{...s,data:o},initialData:JSON.parse(JSON.stringify(o)),dashIcons:a,ui:{menuType:i,existingMenuSlug:"",menuPagesLoaded:!1,sideBarVisible:s.data.side_bar_visible,modalActive:!1,hrefDeleteAction:"",hoverOverDropdown:!1,moving:!1,fieldTypes:null,errors:{},touched:{}}}}const y=["pageData","data"],w=[...y,"pages"];function j(e,t){switch(t.type){case"SET_IN":return c(e,[...y,...t.path],t.value);case"ADD_PAGE":return d(e,w,e=>[...e,{menu_slug:t.id,fields:[],subpage_toggle:!0,subpage_slug_suffix:t.id}]);case"REMOVE_PAGE":return d(e,w,e=>p(e,t.pageKey));case"MOVE_PAGE":return d(e,w,e=>g(e,t.from,t.to));case"SET_PAGE_OPEN":return c(e,[...w,t.pageKey,"subpage_toggle"],t.open);case"CLOSE_ALL_PAGES":return d(e,w,e=>e.map(e=>e.subpage_toggle?{...e,subpage_toggle:!1}:e));case"TOGGLE_PAGE":return d(e,[...w,t.pageKey,"subpage_toggle"],e=>!e);case"ADD_FIELD":return d(e,[...w,t.pageKey,"fields"],e=>[...e,v({...t.defaults||{},id:t.id,type:t.fieldType,field_toggle:void 0})]);case"REMOVE_FIELD":return d(e,[...w,t.pageKey,"fields"],e=>p(e,t.fieldKey));case"REMOVE_UNAVAILABLE_FIELD":return d(d(e,[...w,t.pageKey,"fields"],e=>p(e,t.fieldKey)),[...y,"removed_fields"],e=>[...e||[],String(t.id)]);case"MOVE_FIELD":return d(e,[...w,t.pageKey,"fields"],e=>g(e,t.from,t.to));case"MOVE_FIELD_TO_PAGE":{const n=e.pageData.data.pages[t.fromPage]?.fields[t.fromIndex];if(!n||!e.pageData.data.pages[t.toPage])return e;let a=d(e,[...w,t.fromPage,"fields"],e=>p(e,t.fromIndex));return a=d(a,[...w,t.toPage,"fields"],e=>{const a=e.slice();return a.splice(Math.min(t.toIndex,a.length),0,n),a}),a}case"SET_FIELD_OPEN":return c(e,[...w,t.pageKey,"fields",t.fieldKey,"field_toggle"],t.open);case"OPEN_PAGE_ON_ERROR":{let n=c(e,[...w,t.pageKey,"subpage_toggle"],!0);return void 0!==t.fieldKey&&(n=c(n,[...w,t.pageKey,"fields",t.fieldKey,"field_toggle"],!0)),n}case"ADD_TABLE_ROW":return d(e,[...w,t.pageKey,"fields",t.fieldKey,"table_list"],e=>[...e||[],{label:"",value:"",id:t.id}]);case"REMOVE_TABLE_ROW":return d(e,[...w,t.pageKey,"fields",t.fieldKey,"table_list"],e=>p(e,t.rowKey));case"MOVE_TABLE_ROW":return d(e,[...w,t.pageKey,"fields",t.fieldKey,"table_list"],e=>g(e,t.from,t.to));case"SET_MENU_TYPE":{let n=c(e,["ui","menuType"],t.menuType);return"existing"===t.menuType&&(n=c(n,[...y,"existing_menu"],t.menu)),"default"===t.menuType&&e.pageData.data.menu&&(n=c(n,[...y,"menu"],t.menu)),n}case"SET_EXISTING_MENU":{const n=e.pageData.existingAdminMenuTitles||[],a=n.find(e=>e.slug===t.slug);if(!a)return e;let i=c(e,["pageData","existingAdminMenuTitles"],[a,...n.filter(e=>e.slug!==t.slug)]);return i=c(i,[...y,"existing_menu"],{menu_name:a.title,menu_slug:t.slug}),c(i,["ui","existingMenuSlug"],t.slug)}case"SET_EXISTING_MENUS":return c(e,["pageData","existingAdminMenuTitles"],t.menus);case"SET_MENU_TITLE":return c(e,[...y,"menu"],{...e.pageData.data.menu,menu_title:t.title,page_title:t.title});case"STEP_MENU_POSITION":return c(e,[...y,"menu","position"],Number(e.pageData.data.menu.position)+t.step);case"SET_UI":return c(e,["ui",t.key],t.value);case"TOGGLE_SIDEBAR":return c(e,["ui","sideBarVisible"],!e.ui.sideBarVisible);case"OPEN_MODAL":return c(c(e,["ui","modalActive"],!0),["ui","hrefDeleteAction"],t.hrefDeleteAction);case"CLOSE_MODAL":return c(c(e,["ui","modalActive"],!1),["ui","hrefDeleteAction"],"");case"TOUCH":return c(e,["ui","touched",t.name],!0);case"VALIDATE_ALL":{const t=Object.keys(e.ui.errors);return t.every(t=>e.ui.touched[t])?e:c(e,["ui","touched"],{...e.ui.touched,...Object.fromEntries(t.map(e=>[e,!0]))})}case"SET_INPUT_ERROR":{const n=e.ui.errors[t.name];if(n===t.message||!n&&!t.message)return e;if(!t.message){const{[t.name]:n,...a}=e.ui.errors;return c(e,["ui","errors"],a)}return c(e,["ui","errors",t.name],t.message)}default:return e}}const N=()=>(new Date).getTime(),E=(e,t)=>({type:"SET_IN",path:e,value:t}),D=(e=N())=>({type:"ADD_PAGE",id:e}),C=e=>({type:"REMOVE_PAGE",pageKey:e}),M=(e,t)=>({type:"MOVE_PAGE",from:e,to:t}),S=e=>({type:"TOGGLE_PAGE",pageKey:e}),T=(e,t)=>({type:"SET_PAGE_OPEN",pageKey:e,open:t}),R=()=>({type:"CLOSE_ALL_PAGES"}),k=(e,t,n=N(),a={})=>({type:"ADD_FIELD",pageKey:e,fieldType:t,id:n,defaults:a}),I=(e,t)=>({type:"REMOVE_FIELD",pageKey:e,fieldKey:t}),O=(e,t,n)=>({type:"REMOVE_UNAVAILABLE_FIELD",pageKey:e,fieldKey:t,id:n}),A=(e,t,n)=>({type:"MOVE_FIELD",pageKey:e,from:t,to:n}),L=(e,t,n,a)=>({type:"MOVE_FIELD_TO_PAGE",fromPage:e,fromIndex:t,toPage:n,toIndex:a}),P=(e,t,n)=>({type:"SET_FIELD_OPEN",pageKey:e,fieldKey:t,open:n}),z=(e,t)=>({type:"OPEN_PAGE_ON_ERROR",pageKey:e,fieldKey:t}),F=(e,t,n=N())=>({type:"ADD_TABLE_ROW",pageKey:e,fieldKey:t,id:n}),K=(e,t,n)=>({type:"REMOVE_TABLE_ROW",pageKey:e,fieldKey:t,rowKey:n}),V=(e,t,n,a)=>({type:"MOVE_TABLE_ROW",pageKey:e,fieldKey:t,from:n,to:a}),B=(e,t)=>({type:"SET_MENU_TYPE",menuType:e,menu:t}),$=e=>({type:"SET_EXISTING_MENU",slug:e}),H=e=>({type:"SET_EXISTING_MENUS",menus:e}),U=e=>({type:"SET_MENU_TITLE",title:e}),G=()=>({type:"STEP_MENU_POSITION",step:1}),X=()=>({type:"STEP_MENU_POSITION",step:-1}),W=e=>({type:"SET_UI",key:"fieldTypes",value:e}),Y=(e,t)=>({type:"SET_UI",key:e,value:t}),q=()=>({type:"TOGGLE_SIDEBAR"}),J=e=>({type:"OPEN_MODAL",hrefDeleteAction:e}),Z=()=>({type:"CLOSE_MODAL"}),Q=e=>({type:"TOUCH",name:e}),ee=()=>({type:"VALIDATE_ALL"}),te=(e,t)=>({type:"SET_INPUT_ERROR",name:e,message:t||null}),ne=e=>e.pageData,ae=e=>e.pageData.data,ie=e=>e.ui,se=e=>e.dashIcons,oe=e=>e.pageData.text,le=e=>e.pageData.data.pages,re=e=>e.pageData.data.removed_fields||[],ce=(e,t)=>le(e)[t],de=(e,t,n)=>u(e,["pageData","data","pages",t,"fields",n]),ue=e=>le(e).length>0,pe=e=>e.pageData.data.menu,ge=e=>e.pageData.data.existing_menu,me=e=>e.pageData.existingAdminMenuTitles||[],fe=e=>e.ui.menuType,he=e=>e.ui.sideBarVisible,ve=e=>e.ui.modalActive,_e=e=>e.ui.hrefDeleteAction,xe=(e,t)=>Boolean(e.ui.touched[t]),be=e=>e.ui.errors,ye=(e,t)=>e.ui.errors[t]&&e.ui.touched[t]?e.ui.errors[t]:null,we=e=>0===Object.keys(e.ui.errors).length&&le(e).length>0,je=e=>JSON.stringify(ae(e))!==JSON.stringify(e.initialData),Ne=e=>le(e).flatMap(e=>e.fields||[]).map(e=>e.field_name).filter(Boolean),Ee=e=>{const t={};Ne(e).forEach(e=>{t[e]=(t[e]||0)+1});const n=Object.keys(t).filter(e=>t[e]>1);return n.length?n:Object.values(e.pageData.data.registered_options||{})},De=e=>e.ui.fieldTypes,Ce="aop/editor",Me=window.wp.components;function Se(...e){return e.filter(Boolean).join(" ")}const Te=window.ReactJSXRuntime;function Re(){const{iconUrl:e,dashIcons:t}=(0,l.useSelect)(e=>{const t=e(Ce);return{iconUrl:t.getMenu()?.icon_url||"dashicons-admin-generic",dashIcons:t.getDashIcons()||[]}},[]),{setIn:n}=(0,l.useDispatch)(Ce),[a,i]=(0,o.useState)(!1),[s,c]=(0,o.useState)(""),[d,u]=(0,o.useState)(null),p=(0,o.useRef)(),g=(0,o.useRef)(),m=(0,o.useRef)(),f=(0,o.useRef)(),h=(0,o.useMemo)(()=>t.map(e=>({name:e[0],css:e[1]})).filter(e=>e.name.includes(s.trim())),[t,s]);function v(){a&&(i(!1),u(null),g.current?.focus())}return(0,o.useEffect)(()=>{if(!a)return;const e=e=>{p.current&&!p.current.contains(e.target)&&(i(!1),u(null))},t=e=>{"c-icon-dropdown__item"!==e.target.parentNode?.className&&u(null)};return document.addEventListener("click",e),document.addEventListener("mouseover",t),m.current?.focus(),()=>{document.removeEventListener("click",e),document.removeEventListener("mouseover",t)}},[a]),(0,Te.jsxs)("div",{className:"flex",children:[(0,Te.jsx)("input",{type:"hidden",name:"menu[menu_icon]",id:"menu_icon",value:e}),(0,Te.jsx)("span",{className:"screen-reader-text",children:(0,r.__)("Icon","admin-options-pages")}),(0,Te.jsxs)("div",{className:"relative w-36px",ref:p,children:[(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Choose an icon","admin-options-pages"),children:(0,Te.jsx)("button",{ref:g,type:"button",className:Se("c-icon-picker",a&&"dropdown-is-open"),"aria-label":(0,r.__)("Choose an icon","admin-options-pages"),"aria-expanded":a?"true":"false",onClick:()=>a?v():i(!0),children:(0,Te.jsx)("div",{className:"c-icon-picker__inner",children:(0,Te.jsx)("span",{className:Se("c-icon-picker__icon dashicons-before",`dashicons-${e.replace("dashicons-","")}`)})})})}),a&&(0,Te.jsx)("div",{className:"c-icon-dropdown",onKeyDown:e=>"Escape"===e.key&&v(),children:(0,Te.jsxs)("div",{className:"flex flex-col",children:[(0,Te.jsx)("input",{ref:m,type:"search",className:"c-icon-dropdown__search",placeholder:(0,r.__)("Search for an icon…","admin-options-pages"),value:s,onChange:e=>c(e.target.value),onKeyDown:e=>{if("Enter"===e.key&&e.preventDefault(),"Tab"===e.key&&e.shiftKey){e.preventDefault();const t=f.current?.querySelectorAll("button");(t&&t.length?t[t.length-1]:m.current).focus()}}}),(0,Te.jsx)("div",{className:"pl-4 pr-4 pb-4 overflow-auto h-388px",children:(0,Te.jsxs)("ul",{className:"c-icon-dropdown__row",ref:f,children:[h.map(e=>(0,Te.jsx)("li",{className:"c-icon-dropdown__item",onMouseOver:()=>u(e),onFocus:()=>u(e),children:(0,Te.jsx)("button",{type:"button",tabIndex:0,"aria-label":e.name,className:Se("c-icon-dropdown__icon-name dashicons-before",`dashicons-${e.name}`),onFocus:()=>u(e),onClick:()=>{n(["menu","icon_url"],`dashicons-${e.name}`),i(!1),u(null),g.current?.focus()}})},e.name)),0===h.length&&(0,Te.jsx)("p",{className:"c-icon-dropdown__not-found-text",tabIndex:0,onFocus:()=>{u(null),m.current?.focus()},children:(0,r.__)("Nothing found.","admin-options-pages")})]})}),d&&(0,Te.jsx)("div",{className:"c-icon-dropdown__footer",tabIndex:0,children:(0,Te.jsxs)("p",{className:"c-icon-dropdown__footer__name",children:[d.name,(0,Te.jsx)("code",{className:"c-icon-dropdown__footer__css",dangerouslySetInnerHTML:{__html:d.css}})]})})]})})]})]})}const ke=(0,o.forwardRef)(({icon:e,size:t=24,...n},a)=>(0,o.cloneElement)(e,{width:t,height:t,...n,ref:a})),Ie=window.wp.primitives,Oe=(0,Te.jsx)(Ie.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,Te.jsx)(Ie.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M12.218 5.377a.25.25 0 0 0-.436 0l-7.29 12.96a.25.25 0 0 0 .218.373h14.58a.25.25 0 0 0 .218-.372l-7.29-12.96Zm-1.743-.735c.669-1.19 2.381-1.19 3.05 0l7.29 12.96a1.75 1.75 0 0 1-1.525 2.608H4.71a1.75 1.75 0 0 1-1.525-2.608l7.29-12.96ZM12.75 17.46h-1.5v-1.5h1.5v1.5Zm-1.5-3h1.5v-5h-1.5v5Z"})});function Ae({id:e,message:t,className:n=""}){return(0,Te.jsx)("p",{id:e,className:Se("c-validate-message",n),style:t?void 0:{display:"none"},children:t&&(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(ke,{className:"c-validate-message__icon",icon:Oe,size:16}),(0,Te.jsx)("span",{children:t})]})})}function Le(e,t){return t?{"aria-invalid":!0,"aria-describedby":e}:{}}function Pe({id:e,message:t}){return(0,Te.jsx)("div",{className:"tooltip-error",style:t?void 0:{display:"none"},children:(0,Te.jsx)(Ae,{id:e,message:t})})}const ze=/^[A-Za-z0-9_]+$/,Fe=/^_*[A-Za-z0-9]\w*$/,Ke=/^[\p{L}\p{M}\p{N}\s]+$/u,Ve=/^#(?:[a-f0-9]{3}|[a-f0-9]{6})$/i,Be=/^[A-Za-z0-9_-]+$/,$e=/^[^A-Z]*$/,He=/</,Ue=(e,t)=>Array.isArray(e)?e.every(t):t(e),Ge=e=>null==e||""===e,Xe={required:{getMessage:e=>`The ${e} is required.`,validate:(e,[t=!1]=[])=>Array.isArray(e)?!!e.length:!(!1===e&&t||null==e||!String(e).trim().length)},classAttribute:{getMessage:()=>"Only valid HTML class names allowed.",validate:e=>String(e).split(/\s+/).filter(Boolean).every(e=>Be.test(e))},noUppercase:{getMessage:()=>"No capital letters allowed.",validate:e=>Ue(e,e=>$e.test(e))},alphanumericUnderscore:{getMessage:e=>`The ${e} may only contain letters, numbers and underscores.`,validate:e=>Ue(e,e=>ze.test(e))},optionName:{getMessage:e=>`The ${e} may only contain letters, numbers and underscores, and needs a letter or a number.`,validate:e=>Ue(e,e=>Fe.test(e))},alphanumericSpaces:{getMessage:e=>`The ${e} may only contain letters, numbers and spaces.`,validate:e=>Ue(e,e=>Ke.test(e))},colorHex:{getMessage:e=>`The ${e} must be a valid Hex color.`,validate:e=>Ue(e,e=>Ve.test(e))},noLessThanSign:{getMessage:e=>`The ${e} may not have a 'less than' (<) character.`,validate:e=>Ue(e,e=>!He.test(e))},between:{getMessage:(e,[t,n])=>`The ${e} must be between ${t} and ${n}.`,validate:(e,[t,n])=>!(!Ge(t)&&!Ge(n)&&t!==n)||Ue(e,e=>Number(t)<=e&&Number(n)>=e)},included:{getMessage:e=>`The ${e} field must be a valid value.`,validate:(e,t)=>Ue(e,e=>[...t].some(t=>t===e))},excludedOptionName:{getMessage:()=>"This option_name is already in use.",validate:(...e)=>!Xe.included.validate(...e)},excludedTableValue:{getMessage:()=>"This value is used more than ones.",validate:(...e)=>!Xe.included.validate(...e)},excluded:{getMessage:e=>`The ${e} must be a valid value.`,validate:(...e)=>!Xe.included.validate(...e)},min:{getMessage:(e,[t])=>`The ${e} must be at least ${t} characters.`,validate:(e,[t])=>null!=e&&String(e).length>=t},max:{getMessage:(e,[t])=>`The ${e} field may not be greater than ${t} characters.`,validate:(e,[t])=>null!=e&&String(e).length<=t},numeric:{getMessage:()=>"Only numbers.",validate:e=>Ue(e,e=>/^[0-9]+$/.test(String(e)))},minValue:{getMessage:(e,[t])=>`The ${e} must be ${t} or more.`,validate:(e,[t])=>!t||!Ge(e)&&(Array.isArray(e)?e.length>0&&e.every(e=>Xe.minValue.validate(e,[t])):Number(e)>=t)},maxValue:{getMessage:(e,[t])=>`The ${e} must be ${t} or less.`,validate:(e,[t])=>!t||!Ge(e)&&(Array.isArray(e)?e.length>0&&e.every(e=>Xe.maxValue.validate(e,[t])):Number(e)<=t)},decimal:{getMessage:(e,[t="*"]=[])=>`The ${e} must be numeric and may contain ${t&&"*"!==t?t:""} decimal points.`,validate:(e,[t="*",n="."]=[])=>Array.isArray(e)?e.every(e=>Xe.decimal.validate(e,[t,n])):!!Ge(e)||(0===Number(t)?/^-?\d*$/.test(e):new RegExp(`^-?\\d*(\\${n}\\d${"*"===t?"+":`{1,${t}}`})?$`).test(e)&&!Number.isNaN(parseFloat(e)))}},We=Xe,Ye={required:We.required,class_attribute:We.classAttribute,no_uppercase:We.noUppercase,alphanumeric_underscore:We.alphanumericUnderscore,option_name:We.optionName,alphanumeric_spaces:We.alphanumericSpaces,color_hex:We.colorHex,between:We.between,excluded:We.excluded,excluded_option_name:We.excludedOptionName,excluded_table_value:We.excludedTableValue,min:We.min,max:We.max,min_value:We.minValue,max_value:We.maxValue,numeric:We.numeric,decimal:We.decimal,no_less_than_sign:We.noLessThanSign};function qe({name:e,value:t,rules:n,as:a}){const{setInputError:i,touch:s}=(0,l.useDispatch)(Ce),r=function(e,t,n="field"){const a=function(e){return String(e||"").split("|").filter(Boolean).map(e=>{const[t,...n]=e.split(":"),a=n.join(":");return{name:t,params:""===a?[]:a.split(",")}})}(t);if(!a.some(e=>"required"===e.name)&&function(e){return null==e||""===e||Array.isArray(e)&&0===e.length}(e))return null;for(const{name:t,params:i}of a){const a=Ye[t];if(!a)throw new Error(`Unknown validation rule: ${t}`);if(!a.validate(e,i))return a.getMessage(n,i)}return null}(t,n,a);(0,o.useEffect)(()=>{i(e,r)},[e,r,i]),(0,o.useEffect)(()=>()=>i(e,null),[e,i]);const c=(0,l.useSelect)(t=>t(Ce).getShownError(e),[e]);return{message:c,invalid:Boolean(c),onTouch:()=>s(e)}}Object.keys(Ye);const Je=(0,Te.jsx)(Ie.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,Te.jsx)(Ie.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-4 14.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h8v13zm4.5-.5c0 .3-.2.5-.5.5h-2.5v-13H18c.3 0 .5.2.5.5v12z"})});function Ze(){const{valid:e,id:t,changed:n,text:a}=(0,l.useSelect)(e=>{const t=e(Ce);return{valid:t.isValid(),id:t.getData().id,changed:t.hasChanges(),text:t.getText()?.page||{}}},[]),i=!e||t&&!n;return(0,Te.jsx)(Me.Button,{variant:"primary",size:"compact",type:"submit",disabled:i,name:"submit",id:"submit",className:"menu-save",children:t?a.update?.buttonUpdate:a.create?.buttonSave})}function Qe(){const{addPage:e}=(0,l.useDispatch)(Ce);return(0,Te.jsx)("div",{className:"mt-4 flex items-center justify-center",children:(0,Te.jsx)("button",{type:"button","aria-expanded":"false",className:"button button-large c-icon-button for-new-page",onClick:()=>e(),children:(0,r.__)("Add New Page","admin-options-pages")})})}function et(){const e=(0,l.useSelect)(e=>e(Ce).isSidebarVisible(),[]),{toggleSidebar:t}=(0,l.useDispatch)(Ce),n=(0,o.useRef)(),a=(0,o.useRef)(!0);return(0,o.useEffect)(()=>{a.current?a.current=!1:!e&&n.current&&n.current.focus()},[e]),(0,Te.jsx)(Me.Button,{ref:n,icon:Je,label:(0,r.__)("Settings","admin-options-pages"),size:"compact",isPressed:e,"aria-expanded":e?"true":"false",onClick:()=>t()})}function tt(){const{data:e,text:t}=(0,l.useSelect)(e=>{const t=e(Ce);return{data:t.getData(),text:t.getText()?.page||{}}},[]),{openModal:n}=(0,l.useDispatch)(Ce);return e.id?(0,Te.jsx)("button",{className:"button is-delete-button w-full",type:"button",onClick:()=>n(`?page=${e.page}&action=delete&optionpage=${e.id}&nonce=${e.nonce}`),children:t.update?.linkDelete}):null}const nt=["Backspace","Tab","Meta","Control","ArrowRight","ArrowLeft"],at=["1","2","3","4","5","6","7","8","9"];function it(e){return e.shiftKey||e.ctrlKey||e.altKey||e.metaKey}const st=e=>String(e??"").replace(/&#039;/g,"'");function ot(){const e=(0,l.useSelect)(e=>e(Ce).getMenu().menu_title,[]),{setMenuTitle:t}=(0,l.useDispatch)(Ce),{message:n,invalid:a,onTouch:i}=qe({name:"menu[menu_title]",value:e??"",rules:"required|alphanumeric_spaces|min:3",as:"menu title"});return(0,Te.jsx)("div",{className:"flex border-l header-item ml-3 h-36px",children:(0,Te.jsxs)("div",{className:"flex flex-wrap items-center ml-2",children:[(0,Te.jsx)("label",{className:"mr-2",htmlFor:"menu_title",children:(0,r.__)("Title","admin-options-pages")}),(0,Te.jsxs)("div",{className:"relative",children:[(0,Te.jsx)("input",{className:Se("c-input no-min-width",a&&"not-valid"),type:"text",name:"menu[menu_title]",id:"menu_title",value:e??"",...Le("menu_title-message",a),onChange:e=>t(e.target.value),onBlur:i,onKeyDown:e=>"Enter"===e.key&&e.preventDefault()}),(0,Te.jsx)(Pe,{id:"menu_title-message",message:a?n:null})]})]})})}function lt(){const e=(0,l.useSelect)(e=>e(Ce).getMenu().position,[]),{setIn:t,incrementMenuPosition:n,decrementMenuPosition:a}=(0,l.useDispatch)(Ce),{message:i,invalid:s,onTouch:o}=qe({name:"menu[menu_position]",value:e??"",rules:"decimal:3|required|between:1,150.999",as:"position"});return(0,Te.jsx)("div",{className:"flex border-l header-item ml-2 h-36px",children:(0,Te.jsxs)("div",{className:"flex flex-wrap items-center ml-2 mr-1",children:[(0,Te.jsx)("label",{className:"mr-2",htmlFor:"menu_position",children:(0,r.__)("Position","admin-options-pages")}),(0,Te.jsxs)("div",{className:"relative",children:[(0,Te.jsx)("input",{className:Se("c-input is-position",s&&"not-valid"),type:"text",placeholder:"1-150",name:"menu[menu_position]",id:"menu_position",value:e??"",...Le("menu_position-message",s),onChange:e=>t(["menu","position"],e.target.value),onBlur:o,onKeyDown:t=>{"Enter"===t.key&&t.preventDefault(),function(e,t,{up:n,down:a}){if(it(e))return;const{key:i}=e;at.includes(i)||nt.includes(i)||("0"!==i&&"."!==i||!Number(t))&&("ArrowUp"!==i?"ArrowDown"!==i?e.preventDefault():Number(t)>=2&&a():Number(t)<=149&&n())}(t,e,{up:n,down:a})}}),(0,Te.jsx)(Pe,{id:"menu_position-message",message:s?i:null})]})]})})}function rt(){const e=(0,l.useRegistry)(),{menuId:t,menuType:n,menus:a,existingSlug:i,menusLoaded:s,pageData:c}=(0,l.useSelect)(e=>{const t=e(Ce);return{menuId:t.getData().menu_id,menuType:t.getMenuType(),menus:t.getExistingMenus(),existingSlug:t.getUi().existingMenuSlug,menusLoaded:t.getUi().menuPagesLoaded,pageData:t.getPageData()}},[]),d=(0,l.useDispatch)(Ce),u="default"===n;function p(){d.validateAll(),Object.keys(e.select(Ce).getErrors()).forEach(e=>{const t=e.match(/\d+(?=\])/g);t&&d.openPageOnError(Number(t[0]),void 0===t[1]?void 0:Number(t[1]))})}(0,o.useEffect)(()=>{const t=e.select(Ce),n={id:null};return async function({data:e,dispatch:t,select:n}){const a=`${window.ajaxurl}?action=notUsedExistingMenuTitles&_ajax_nonce=${encodeURIComponent(e.ajaxNonce)}`,i=await fetch(a,{credentials:"same-origin"}),s=(await i.json()).map(e=>({...e,title:st(e.title)})),o=n.getData(),l="?page=admin_options_pages_create"===window.location.search;0!==o.menu.menu_slug.length||l?(t.setExistingMenus(s),t.setUi("menuType","default")):(t.setExistingMenus([{slug:o.existing_menu.menu_slug,title:o.existing_menu.menu_name},...s]),t.setUi("menuType","existing"));const r=n.getExistingMenus();r[0]&&t.setExistingMenu(r[0].slug)}({data:window.aop_script_data_js||c,dispatch:e.dispatch(Ce),select:t}).then(()=>{n.id=setTimeout(()=>d.setUi("menuPagesLoaded",!0),300)}).catch(e=>console.log(e)),()=>clearTimeout(n.id)},[]);const g=st(a.find(e=>e.slug===i)?.title);return(0,Te.jsxs)("div",{className:"c-editor-top-bar fixed top-0 p-2 bg-white z-30 border-solid border-b border-gray-wp-200 flex justify-between items-center left-0 right-0",children:[(0,Te.jsxs)("div",{className:"edit-post-header__toolbar ml-1 flex flex-wrap",children:[(0,Te.jsx)("input",{type:"hidden",name:"menu_id",value:t}),(0,Te.jsxs)("div",{role:"group","aria-label":(0,r.__)("Menu Type","admin-options-pages"),className:"components-button-group edit-post-header__button-group flex items-center",children:[(0,Te.jsx)(Me.Button,{size:"compact",variant:u?"primary":"secondary","aria-pressed":u,onClick:function(){const t=e.select(Ce),n=t.getMenu(),a=t.getPage(0);d.setMenuType("default",{page_title:n.menu_title,menu_title:n.menu_title,capability:"manage_options",menu_slug:a?.menu_slug,menu_slug_suffix:a?.subpage_slug_suffix,icon_url:n.icon_url,position:n.position})},children:(0,r.__)("Custom menu","admin-options-pages")}),(0,Te.jsx)(Me.Button,{size:"compact",variant:u?"secondary":"primary","aria-pressed":!u,onClick:function(){const e=a[0];d.setMenuType("existing",{menu_name:st(e?.title),menu_slug:e?.slug})},children:(0,r.__)("Existing menu","admin-options-pages")})]}),"existing"===n&&(0,Te.jsxs)("div",{className:"flex items-center border-l border-r border-gray-wp-200 ml-3 header-item h-36px",children:[(0,Te.jsx)("label",{className:"ml-2 mr-1",htmlFor:"subpage_page_selector",children:(0,r.__)("Menu title","admin-options-pages")}),a.length>0&&(0,Te.jsx)("select",{className:Se("c-select fade-in mr-2",s?"duration-0":"duration-1"),id:"subpage_page_selector",name:"existing_menu[menu_slug]",value:i,onChange:e=>d.setExistingMenu(e.target.value),onKeyDown:e=>"Enter"===e.key&&e.preventDefault(),children:a.map(e=>(0,Te.jsx)("option",{value:e.slug,children:st(e.title)},e.slug))}),(0,Te.jsx)("input",{type:"hidden",name:"existing_menu[menu_name]",value:g})]}),"default"===n&&(0,Te.jsxs)("div",{className:"flex items-center border-l border-r border-gray-wp-200 ml-3 header-item h-36px",children:[(0,Te.jsx)("legend",{className:"ml-2 mr-2",children:(0,r.__)("Icon","admin-options-pages")}),(0,Te.jsx)(Re,{}),(0,Te.jsx)(ot,{}),(0,Te.jsx)(lt,{})]})]}),(0,Te.jsxs)("div",{className:"edit-post-header__settings pl-3 pr-1 h-56px flex items-center gap-2",onMouseOver:p,onFocus:p,children:[(0,Te.jsx)(et,{}),(0,Te.jsx)(Ze,{})]})]})}function ct(){const e=(0,l.useSelect)(e=>e(Ce).isSidebarVisible(),[]),{toggleSidebar:t}=(0,l.useDispatch)(Ce);return(0,Te.jsx)("div",{className:Se("c-editor-side-bar fixed h-auto inset-y-0 right-0 bg-white border-l border-gray-300 text-gray-700",e?"is-open":"pointer-events-none"),"aria-hidden":!e,children:(0,Te.jsx)("div",{className:"flex flex-col justify-between h-full",children:(0,Te.jsxs)("div",{children:[(0,Te.jsxs)("div",{className:"h-50px bg-gray-wp-300 border-b border-gray-wp-200 sticky flex justify-between items-center pr-1",children:[(0,Te.jsx)("div",{}),(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Close settings","admin-options-pages"),children:(0,Te.jsx)("button",{type:"button","aria-label":(0,r.__)("Close settings","admin-options-pages"),className:"c-editor-side-bar__close-button",onClick:()=>t(),children:(0,Te.jsx)("svg",{"aria-hidden":"true",role:"img",focusable:"false",className:"dashicon dashicons-no-alt fill-current",xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",children:(0,Te.jsx)("path",{d:"M14.95 6.46L11.41 10l3.54 3.54-1.41 1.41L10 11.42l-3.53 3.53-1.42-1.42L8.58 10 5.05 6.47l1.42-1.42L10 8.58l3.54-3.53z"})})})})]}),(0,Te.jsx)("div",{className:"p-4 border-b border-gray-300",children:(0,Te.jsx)(tt,{})}),(0,Te.jsxs)("div",{className:"p-4 border-b border-gray-300",children:[(0,Te.jsx)("p",{children:(0,r.__)("Documentation","admin-options-pages")}),(0,Te.jsx)("div",{children:(0,Te.jsxs)("a",{target:"_blank",rel:"external noreferrer noopener",className:"c-link",href:"https://adminoptionspages.com/docs",children:[(0,Te.jsx)("span",{children:"adminoptionspages.com/docs"}),(0,Te.jsx)("svg",{"aria-hidden":"true",role:"img",focusable:"false",className:"fill-current inline-block c-link__icon",xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",children:(0,Te.jsx)("path",{d:"M9 3h8v8l-2-1V6.92l-5.6 5.59-1.41-1.41L14.08 5H10zm3 12v-3l2-2v7H3V6h8L9 8H5v7h7z"})})]})})]})]})})})}const dt=(0,Te.jsx)(Ie.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,Te.jsx)(Ie.Path,{d:"M8 7h2V5H8v2zm0 6h2v-2H8v2zm0 6h2v-2H8v2zm6-14v2h2V5h-2zm0 8h2v-2h-2v2zm0 6h2v-2h-2v2z"})}),ut=window.React;var pt=e.n(ut);const gt=window.ReactDOM,mt="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement;function ft(e){const t=Object.prototype.toString.call(e);return"[object Window]"===t||"[object global]"===t}function ht(e){return"nodeType"in e}function vt(e){var t,n;return e?ft(e)?e:ht(e)&&null!=(t=null==(n=e.ownerDocument)?void 0:n.defaultView)?t:window:window}function _t(e){const{Document:t}=vt(e);return e instanceof t}function xt(e){return!ft(e)&&e instanceof vt(e).HTMLElement}function bt(e){return e instanceof vt(e).SVGElement}function yt(e){return e?ft(e)?e.document:ht(e)?_t(e)?e:xt(e)||bt(e)?e.ownerDocument:document:document:document}const wt=mt?ut.useLayoutEffect:ut.useEffect;function jt(e){const t=(0,ut.useRef)(e);return wt(()=>{t.current=e}),(0,ut.useCallback)(function(){for(var e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];return null==t.current?void 0:t.current(...n)},[])}function Nt(e,t){void 0===t&&(t=[e]);const n=(0,ut.useRef)(e);return wt(()=>{n.current!==e&&(n.current=e)},t),n}function Et(e,t){const n=(0,ut.useRef)();return(0,ut.useMemo)(()=>{const t=e(n.current);return n.current=t,t},[...t])}function Dt(e){const t=jt(e),n=(0,ut.useRef)(null),a=(0,ut.useCallback)(e=>{e!==n.current&&(null==t||t(e,n.current)),n.current=e},[]);return[n,a]}function Ct(e){const t=(0,ut.useRef)();return(0,ut.useEffect)(()=>{t.current=e},[e]),t.current}let Mt={};function St(e,t){return(0,ut.useMemo)(()=>{if(t)return t;const n=null==Mt[e]?0:Mt[e]+1;return Mt[e]=n,e+"-"+n},[e,t])}function Tt(e){return function(t){for(var n=arguments.length,a=new Array(n>1?n-1:0),i=1;i<n;i++)a[i-1]=arguments[i];return a.reduce((t,n)=>{const a=Object.entries(n);for(const[n,i]of a){const a=t[n];null!=a&&(t[n]=a+e*i)}return t},{...t})}}const Rt=Tt(1),kt=Tt(-1);function It(e){if(!e)return!1;const{KeyboardEvent:t}=vt(e.target);return t&&e instanceof t}function Ot(e){if(function(e){if(!e)return!1;const{TouchEvent:t}=vt(e.target);return t&&e instanceof t}(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return function(e){return"clientX"in e&&"clientY"in e}(e)?{x:e.clientX,y:e.clientY}:null}const At=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[At.Translate.toString(e),At.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:a}=e;return t+" "+n+"ms "+a}}}),Lt="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function Pt(e){return e.matches(Lt)?e:e.querySelector(Lt)}const zt={display:"none"};function Ft(e){let{id:t,value:n}=e;return pt().createElement("div",{id:t,style:zt},n)}function Kt(e){let{id:t,announcement:n,ariaLiveType:a="assertive"}=e;return pt().createElement("div",{id:t,style:{position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"},role:"status","aria-live":a,"aria-atomic":!0},n)}const Vt=(0,ut.createContext)(null),Bt={draggable:"\n    To pick up a draggable item, press the space bar.\n    While dragging, use the arrow keys to move the item.\n    Press space again to drop the item in its new position, or press escape to cancel.\n  "},$t={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function Ht(e){let{announcements:t=$t,container:n,hiddenTextDescribedById:a,screenReaderInstructions:i=Bt}=e;const{announce:s,announcement:o}=function(){const[e,t]=(0,ut.useState)("");return{announce:(0,ut.useCallback)(e=>{null!=e&&t(e)},[]),announcement:e}}(),l=St("DndLiveRegion"),[r,c]=(0,ut.useState)(!1);if((0,ut.useEffect)(()=>{c(!0)},[]),function(e){const t=(0,ut.useContext)(Vt);(0,ut.useEffect)(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of <DndContext>");return t(e)},[e,t])}((0,ut.useMemo)(()=>({onDragStart(e){let{active:n}=e;s(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:a}=e;t.onDragMove&&s(t.onDragMove({active:n,over:a}))},onDragOver(e){let{active:n,over:a}=e;s(t.onDragOver({active:n,over:a}))},onDragEnd(e){let{active:n,over:a}=e;s(t.onDragEnd({active:n,over:a}))},onDragCancel(e){let{active:n,over:a}=e;s(t.onDragCancel({active:n,over:a}))}}),[s,t])),!r)return null;const d=pt().createElement(pt().Fragment,null,pt().createElement(Ft,{id:a,value:i.draggable}),pt().createElement(Kt,{id:l,announcement:o}));return n?(0,gt.createPortal)(d,n):d}var Ut;function Gt(){}function Xt(e,t){return(0,ut.useMemo)(()=>({sensor:e,options:null!=t?t:{}}),[e,t])}function Wt(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,ut.useMemo)(()=>[...t].filter(e=>null!=e),[...t])}!function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"}(Ut||(Ut={}));const Yt=Object.freeze({x:0,y:0});function qt(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function Jt(e,t){const n=Ot(e);return n?(n.x-t.left)/t.width*100+"% "+(n.y-t.top)/t.height*100+"%":"0 0"}function Zt(e,t){let{data:{value:n}}=e,{data:{value:a}}=t;return n-a}function Qt(e,t){let{data:{value:n}}=e,{data:{value:a}}=t;return a-n}function en(e,t,n){return void 0===t&&(t=e.left),void 0===n&&(n=e.top),{x:t+.5*e.width,y:n+.5*e.height}}const tn=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:a}=e;const i=en(t,t.left,t.top),s=[];for(const e of a){const{id:t}=e,a=n.get(t);if(a){const n=qt(en(a),i);s.push({id:t,data:{droppableContainer:e,value:n}})}}return s.sort(Zt)};function nn(e,t){const n=Math.max(t.top,e.top),a=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),s=Math.min(t.top+t.height,e.top+e.height),o=i-a,l=s-n;if(a<i&&n<s){const n=t.width*t.height,a=e.width*e.height,i=o*l;return Number((i/(n+a-i)).toFixed(4))}return 0}const an=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:a}=e;const i=[];for(const e of a){const{id:a}=e,s=n.get(a);if(s){const n=nn(s,t);n>0&&i.push({id:a,data:{droppableContainer:e,value:n}})}}return i.sort(Qt)};function sn(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:Yt}function on(e){return function(t){for(var n=arguments.length,a=new Array(n>1?n-1:0),i=1;i<n;i++)a[i-1]=arguments[i];return a.reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}const ln=on(1);function rn(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}const cn={ignoreTransform:!1};function dn(e,t){void 0===t&&(t=cn);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:t,transformOrigin:a}=vt(e).getComputedStyle(e);t&&(n=function(e,t,n){const a=rn(t);if(!a)return e;const{scaleX:i,scaleY:s,x:o,y:l}=a,r=e.left-o-(1-i)*parseFloat(n),c=e.top-l-(1-s)*parseFloat(n.slice(n.indexOf(" ")+1)),d=i?e.width/i:e.width,u=s?e.height/s:e.height;return{width:d,height:u,top:c,right:r+d,bottom:c+u,left:r}}(n,t,a))}const{top:a,left:i,width:s,height:o,bottom:l,right:r}=n;return{top:a,left:i,width:s,height:o,bottom:l,right:r}}function un(e){return dn(e,{ignoreTransform:!0})}function pn(e,t){const n=[];return e?function a(i){if(null!=t&&n.length>=t)return n;if(!i)return n;if(_t(i)&&null!=i.scrollingElement&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!xt(i)||bt(i))return n;if(n.includes(i))return n;const s=vt(e).getComputedStyle(i);return i!==e&&function(e,t){void 0===t&&(t=vt(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(e=>{const a=t[e];return"string"==typeof a&&n.test(a)})}(i,s)&&n.push(i),function(e,t){return void 0===t&&(t=vt(e).getComputedStyle(e)),"fixed"===t.position}(i,s)?n:a(i.parentNode)}(e):n}function gn(e){const[t]=pn(e,1);return null!=t?t:null}function mn(e){return mt&&e?ft(e)?e:ht(e)?_t(e)||e===yt(e).scrollingElement?window:xt(e)?e:null:null:null}function fn(e){return ft(e)?e.scrollX:e.scrollLeft}function hn(e){return ft(e)?e.scrollY:e.scrollTop}function vn(e){return{x:fn(e),y:hn(e)}}var xn;function bn(e){return!(!mt||!e)&&e===document.scrollingElement}function yn(e){const t={x:0,y:0},n=bn(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},a={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=a.y,isRight:e.scrollLeft>=a.x,maxScroll:a,minScroll:t}}!function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"}(xn||(xn={}));const wn={x:.2,y:.2};function jn(e,t,n,a,i){let{top:s,left:o,right:l,bottom:r}=n;void 0===a&&(a=10),void 0===i&&(i=wn);const{isTop:c,isBottom:d,isLeft:u,isRight:p}=yn(e),g={x:0,y:0},m={x:0,y:0},f=t.height*i.y,h=t.width*i.x;return!c&&s<=t.top+f?(g.y=xn.Backward,m.y=a*Math.abs((t.top+f-s)/f)):!d&&r>=t.bottom-f&&(g.y=xn.Forward,m.y=a*Math.abs((t.bottom-f-r)/f)),!p&&l>=t.right-h?(g.x=xn.Forward,m.x=a*Math.abs((t.right-h-l)/h)):!u&&o<=t.left+h&&(g.x=xn.Backward,m.x=a*Math.abs((t.left+h-o)/h)),{direction:g,speed:m}}function Nn(e){if(e===document.scrollingElement){const{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}const{top:t,left:n,right:a,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:a,bottom:i,width:e.clientWidth,height:e.clientHeight}}function En(e){return e.reduce((e,t)=>Rt(e,vn(t)),Yt)}function Dn(e,t){if(void 0===t&&(t=dn),!e)return;const{top:n,left:a,bottom:i,right:s}=t(e);gn(e)&&(i<=0||s<=0||n>=window.innerHeight||a>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const Cn=[["x",["left","right"],function(e){return e.reduce((e,t)=>e+fn(t),0)}],["y",["top","bottom"],function(e){return e.reduce((e,t)=>e+hn(t),0)}]];class Mn{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const n=pn(t),a=En(n);this.rect={...e},this.width=e.width,this.height=e.height;for(const[e,t,i]of Cn)for(const s of t)Object.defineProperty(this,s,{get:()=>{const t=i(n),o=a[e]-t;return this.rect[s]+o},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class Sn{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>{var t;return null==(t=this.target)?void 0:t.removeEventListener(...e)})},this.target=e}add(e,t,n){var a;null==(a=this.target)||a.addEventListener(e,t,n),this.listeners.push([e,t,n])}}function Tn(e,t){const n=Math.abs(e.x),a=Math.abs(e.y);return"number"==typeof t?Math.sqrt(n**2+a**2)>t:"x"in t&&"y"in t?n>t.x&&a>t.y:"x"in t?n>t.x:"y"in t&&a>t.y}var Rn,kn;function In(e){e.preventDefault()}function On(e){e.stopPropagation()}!function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"}(Rn||(Rn={})),function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter",e.Tab="Tab"}(kn||(kn={}));const An={start:[kn.Space,kn.Enter],cancel:[kn.Esc],end:[kn.Space,kn.Enter,kn.Tab]},Ln=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case kn.Right:return{...n,x:n.x+25};case kn.Left:return{...n,x:n.x-25};case kn.Down:return{...n,y:n.y+25};case kn.Up:return{...n,y:n.y-25}}};class Pn{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;const{event:{target:t}}=e;this.props=e,this.listeners=new Sn(yt(t)),this.windowListeners=new Sn(vt(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(Rn.Resize,this.handleCancel),this.windowListeners.add(Rn.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(Rn.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&Dn(n),t(Yt)}handleKeyDown(e){if(It(e)){const{active:t,context:n,options:a}=this.props,{keyboardCodes:i=An,coordinateGetter:s=Ln,scrollBehavior:o="smooth"}=a,{code:l}=e;if(i.end.includes(l))return void this.handleEnd(e);if(i.cancel.includes(l))return void this.handleCancel(e);const{collisionRect:r}=n.current,c=r?{x:r.left,y:r.top}:Yt;this.referenceCoordinates||(this.referenceCoordinates=c);const d=s(e,{active:t,context:n.current,currentCoordinates:c});if(d){const t=kt(d,c),a={x:0,y:0},{scrollableAncestors:i}=n.current;for(const n of i){const i=e.code,{isTop:s,isRight:l,isLeft:r,isBottom:c,maxScroll:u,minScroll:p}=yn(n),g=Nn(n),m={x:Math.min(i===kn.Right?g.right-g.width/2:g.right,Math.max(i===kn.Right?g.left:g.left+g.width/2,d.x)),y:Math.min(i===kn.Down?g.bottom-g.height/2:g.bottom,Math.max(i===kn.Down?g.top:g.top+g.height/2,d.y))},f=i===kn.Right&&!l||i===kn.Left&&!r,h=i===kn.Down&&!c||i===kn.Up&&!s;if(f&&m.x!==d.x){const e=n.scrollLeft+t.x,s=i===kn.Right&&e<=u.x||i===kn.Left&&e>=p.x;if(s&&!t.y)return void n.scrollTo({left:e,behavior:o});a.x=s?n.scrollLeft-e:i===kn.Right?n.scrollLeft-u.x:n.scrollLeft-p.x,a.x&&n.scrollBy({left:-a.x,behavior:o});break}if(h&&m.y!==d.y){const e=n.scrollTop+t.y,s=i===kn.Down&&e<=u.y||i===kn.Up&&e>=p.y;if(s&&!t.x)return void n.scrollTo({top:e,behavior:o});a.y=s?n.scrollTop-e:i===kn.Down?n.scrollTop-u.y:n.scrollTop-p.y,a.y&&n.scrollBy({top:-a.y,behavior:o});break}}this.handleMove(e,Rt(kt(d,this.referenceCoordinates),a))}}}handleMove(e,t){const{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){const{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){const{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}function zn(e){return Boolean(e&&"distance"in e)}function Fn(e){return Boolean(e&&"delay"in e)}Pn.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:a=An,onActivation:i}=t,{active:s}=n;const{code:o}=e.nativeEvent;if(a.start.includes(o)){const t=s.activatorNode.current;return!(t&&e.target!==t||(e.preventDefault(),null==i||i({event:e.nativeEvent}),0))}return!1}}];class Kn{constructor(e,t,n){var a;void 0===n&&(n=function(e){const{EventTarget:t}=vt(e);return e instanceof t?e:yt(e)}(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;const{event:i}=e,{target:s}=i;this.props=e,this.events=t,this.document=yt(s),this.documentListeners=new Sn(this.document),this.listeners=new Sn(n),this.windowListeners=new Sn(vt(s)),this.initialCoordinates=null!=(a=Ot(i))?a:Yt,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(Rn.Resize,this.handleCancel),this.windowListeners.add(Rn.DragStart,In),this.windowListeners.add(Rn.VisibilityChange,this.handleCancel),this.windowListeners.add(Rn.ContextMenu,In),this.documentListeners.add(Rn.Keydown,this.handleKeydown),t){if(null!=n&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(Fn(t))return this.timeoutId=setTimeout(this.handleStart,t.delay),void this.handlePending(t);if(zn(t))return void this.handlePending(t)}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),null!==this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){const{active:n,onPending:a}=this.props;a(n,e,this.initialCoordinates,t)}handleStart(){const{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(Rn.Click,On,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(Rn.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){var t;const{activated:n,initialCoordinates:a,props:i}=this,{onMove:s,options:{activationConstraint:o}}=i;if(!a)return;const l=null!=(t=Ot(e))?t:Yt,r=kt(a,l);if(!n&&o){if(zn(o)){if(null!=o.tolerance&&Tn(r,o.tolerance))return this.handleCancel();if(Tn(r,o.distance))return this.handleStart()}return Fn(o)&&Tn(r,o.tolerance)?this.handleCancel():void this.handlePending(o,r)}e.cancelable&&e.preventDefault(),s(l)}handleEnd(){const{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){const{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===kn.Esc&&this.handleCancel()}removeTextSelection(){var e;null==(e=this.document.getSelection())||e.removeAllRanges()}}const Vn={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class Bn extends Kn{constructor(e){const{event:t}=e,n=yt(t.target);super(e,Vn,n)}}Bn.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:a}=t;return!(!n.isPrimary||0!==n.button||(null==a||a({event:n}),0))}}];const $n={move:{name:"mousemove"},end:{name:"mouseup"}};var Hn;!function(e){e[e.RightClick=2]="RightClick"}(Hn||(Hn={})),class extends Kn{constructor(e){super(e,$n,yt(e.event.target))}}.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:a}=t;return n.button!==Hn.RightClick&&(null==a||a({event:n}),!0)}}];const Un={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};var Gn,Xn;(class extends Kn{constructor(e){super(e,Un)}static setup(){return window.addEventListener(Un.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(Un.move.name,e)};function e(){}}}).activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:a}=t;const{touches:i}=n;return!(i.length>1||(null==a||a({event:n}),0))}}],function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"}(Gn||(Gn={})),function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"}(Xn||(Xn={}));const Wn={x:{[xn.Backward]:!1,[xn.Forward]:!1},y:{[xn.Backward]:!1,[xn.Forward]:!1}};var Yn,qn;!function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"}(Yn||(Yn={})),function(e){e.Optimized="optimized"}(qn||(qn={}));const Jn=new Map;function Zn(e,t){return Et(n=>e?n||("function"==typeof t?t(e):e):null,[t,e])}function Qn(e){let{callback:t,disabled:n}=e;const a=jt(t),i=(0,ut.useMemo)(()=>{if(n||"undefined"==typeof window||void 0===window.ResizeObserver)return;const{ResizeObserver:e}=window;return new e(a)},[n]);return(0,ut.useEffect)(()=>()=>null==i?void 0:i.disconnect(),[i]),i}function ea(e){return new Mn(dn(e),e)}function ta(e,t,n){void 0===t&&(t=ea);const[a,i]=(0,ut.useState)(null);function s(){i(a=>{if(!e)return null;var i;if(!1===e.isConnected)return null!=(i=null!=a?a:n)?i:null;const s=t(e);return JSON.stringify(a)===JSON.stringify(s)?a:s})}const o=function(e){let{callback:t,disabled:n}=e;const a=jt(t),i=(0,ut.useMemo)(()=>{if(n||"undefined"==typeof window||void 0===window.MutationObserver)return;const{MutationObserver:e}=window;return new e(a)},[a,n]);return(0,ut.useEffect)(()=>()=>null==i?void 0:i.disconnect(),[i]),i}({callback(t){if(e)for(const n of t){const{type:t,target:a}=n;if("childList"===t&&a instanceof HTMLElement&&a.contains(e)){s();break}}}}),l=Qn({callback:s});return wt(()=>{s(),e?(null==l||l.observe(e),null==o||o.observe(document.body,{childList:!0,subtree:!0})):(null==l||l.disconnect(),null==o||o.disconnect())},[e]),a}const na=[];function aa(e,t){void 0===t&&(t=[]);const n=(0,ut.useRef)(null);return(0,ut.useEffect)(()=>{n.current=null},t),(0,ut.useEffect)(()=>{const t=e!==Yt;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?kt(e,n.current):Yt}function ia(e){return(0,ut.useMemo)(()=>e?function(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}(e):null,[e])}const sa=[];function oa(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return xt(t)?t:e}const la=[{sensor:Bn,options:{}},{sensor:Pn,options:{}}],ra={current:{}},ca={draggable:{measure:un},droppable:{measure:un,strategy:Yn.WhileDragging,frequency:qn.Optimized},dragOverlay:{measure:dn}};class da extends Map{get(e){var t;return null!=e&&null!=(t=super.get(e))?t:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){var t,n;return null!=(t=null==(n=this.get(e))?void 0:n.node.current)?t:void 0}}const ua={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new da,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:Gt},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:ca,measureDroppableContainers:Gt,windowRect:null,measuringScheduled:!1},pa={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:Gt,draggableNodes:new Map,over:null,measureDroppableContainers:Gt},ga=(0,ut.createContext)(pa),ma=(0,ut.createContext)(ua);function fa(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new da}}}function ha(e,t){switch(t.type){case Ut.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case Ut.DragMove:return null==e.draggable.active?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case Ut.DragEnd:case Ut.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case Ut.RegisterDroppable:{const{element:n}=t,{id:a}=n,i=new da(e.droppable.containers);return i.set(a,n),{...e,droppable:{...e.droppable,containers:i}}}case Ut.SetDroppableDisabled:{const{id:n,key:a,disabled:i}=t,s=e.droppable.containers.get(n);if(!s||a!==s.key)return e;const o=new da(e.droppable.containers);return o.set(n,{...s,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case Ut.UnregisterDroppable:{const{id:n,key:a}=t,i=e.droppable.containers.get(n);if(!i||a!==i.key)return e;const s=new da(e.droppable.containers);return s.delete(n),{...e,droppable:{...e.droppable,containers:s}}}default:return e}}function va(e){let{disabled:t}=e;const{active:n,activatorEvent:a,draggableNodes:i}=(0,ut.useContext)(ga),s=Ct(a),o=Ct(null==n?void 0:n.id);return(0,ut.useEffect)(()=>{if(!t&&!a&&s&&null!=o){if(!It(s))return;if(document.activeElement===s.target)return;const e=i.get(o);if(!e)return;const{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(const e of[t.current,n.current]){if(!e)continue;const t=Pt(e);if(t){t.focus();break}}})}},[a,t,i,o,s]),null}function _a(e,t){let{transform:n,...a}=t;return null!=e&&e.length?e.reduce((e,t)=>t({transform:e,...a}),n):n}const xa=(0,ut.createContext)({...Yt,scaleX:1,scaleY:1});var ba;!function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"}(ba||(ba={}));const ya=(0,ut.memo)(function(e){var t,n,a,i;let{id:s,accessibility:o,autoScroll:l=!0,children:r,sensors:c=la,collisionDetection:d=an,measuring:u,modifiers:p,...g}=e;const m=(0,ut.useReducer)(ha,void 0,fa),[f,h]=m,[v,_]=function(){const[e]=(0,ut.useState)(()=>new Set),t=(0,ut.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,ut.useCallback)(t=>{let{type:n,event:a}=t;e.forEach(e=>{var t;return null==(t=e[n])?void 0:t.call(e,a)})},[e]),t]}(),[x,b]=(0,ut.useState)(ba.Uninitialized),y=x===ba.Initialized,{draggable:{active:w,nodes:j,translate:N},droppable:{containers:E}}=f,D=null!=w?j.get(w):null,C=(0,ut.useRef)({initial:null,translated:null}),M=(0,ut.useMemo)(()=>{var e;return null!=w?{id:w,data:null!=(e=null==D?void 0:D.data)?e:ra,rect:C}:null},[w,D]),S=(0,ut.useRef)(null),[T,R]=(0,ut.useState)(null),[k,I]=(0,ut.useState)(null),O=Nt(g,Object.values(g)),A=St("DndDescribedBy",s),L=(0,ut.useMemo)(()=>E.getEnabled(),[E]),P=(z=u,(0,ut.useMemo)(()=>({draggable:{...ca.draggable,...null==z?void 0:z.draggable},droppable:{...ca.droppable,...null==z?void 0:z.droppable},dragOverlay:{...ca.dragOverlay,...null==z?void 0:z.dragOverlay}}),[null==z?void 0:z.draggable,null==z?void 0:z.droppable,null==z?void 0:z.dragOverlay]));var z;const{droppableRects:F,measureDroppableContainers:K,measuringScheduled:V}=function(e,t){let{dragging:n,dependencies:a,config:i}=t;const[s,o]=(0,ut.useState)(null),{frequency:l,measure:r,strategy:c}=i,d=(0,ut.useRef)(e),u=function(){switch(c){case Yn.Always:return!1;case Yn.BeforeDragging:return n;default:return!n}}(),p=Nt(u),g=(0,ut.useCallback)(function(e){void 0===e&&(e=[]),p.current||o(t=>null===t?e:t.concat(e.filter(e=>!t.includes(e))))},[p]),m=(0,ut.useRef)(null),f=Et(t=>{if(u&&!n)return Jn;if(!t||t===Jn||d.current!==e||null!=s){const t=new Map;for(let n of e){if(!n)continue;if(s&&s.length>0&&!s.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}const e=n.node.current,a=e?new Mn(r(e),e):null;n.rect.current=a,a&&t.set(n.id,a)}return t}return t},[e,s,n,u,r]);return(0,ut.useEffect)(()=>{d.current=e},[e]),(0,ut.useEffect)(()=>{u||g()},[n,u]),(0,ut.useEffect)(()=>{s&&s.length>0&&o(null)},[JSON.stringify(s)]),(0,ut.useEffect)(()=>{u||"number"!=typeof l||null!==m.current||(m.current=setTimeout(()=>{g(),m.current=null},l))},[l,u,g,...a]),{droppableRects:f,measureDroppableContainers:g,measuringScheduled:null!=s}}(L,{dragging:y,dependencies:[N.x,N.y],config:P.droppable}),B=function(e,t){const n=null!=t?e.get(t):void 0,a=n?n.node.current:null;return Et(e=>{var n;return null==t?null:null!=(n=null!=a?a:e)?n:null},[a,t])}(j,w),$=(0,ut.useMemo)(()=>k?Ot(k):null,[k]),H=function(){const e=!1===(null==T?void 0:T.autoScrollEnabled),t="object"==typeof l?!1===l.enabled:!1===l,n=y&&!e&&!t;return"object"==typeof l?{...l,enabled:n}:{enabled:n}}(),U=function(e,t){return Zn(e,t)}(B,P.draggable.measure);!function(e){let{activeNode:t,measure:n,initialRect:a,config:i=!0}=e;const s=(0,ut.useRef)(!1),{x:o,y:l}="boolean"==typeof i?{x:i,y:i}:i;wt(()=>{if(!o&&!l||!t)return void(s.current=!1);if(s.current||!a)return;const e=null==t?void 0:t.node.current;if(!e||!1===e.isConnected)return;const i=sn(n(e),a);if(o||(i.x=0),l||(i.y=0),s.current=!0,Math.abs(i.x)>0||Math.abs(i.y)>0){const t=gn(e);t&&t.scrollBy({top:i.y,left:i.x})}},[t,o,l,a,n])}({activeNode:null!=w?j.get(w):null,config:H.layoutShiftCompensation,initialRect:U,measure:P.draggable.measure});const G=ta(B,P.draggable.measure,U),X=ta(B?B.parentElement:null),W=(0,ut.useRef)({activatorEvent:null,active:null,activeNode:B,collisionRect:null,collisions:null,droppableRects:F,draggableNodes:j,draggingNode:null,draggingNodeRect:null,droppableContainers:E,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),Y=E.getNodeFor(null==(t=W.current.over)?void 0:t.id),q=function(e){let{measure:t}=e;const[n,a]=(0,ut.useState)(null),i=Qn({callback:(0,ut.useCallback)(e=>{for(const{target:n}of e)if(xt(n)){a(e=>{const a=t(n);return e?{...e,width:a.width,height:a.height}:a});break}},[t])}),s=(0,ut.useCallback)(e=>{const n=oa(e);null==i||i.disconnect(),n&&(null==i||i.observe(n)),a(n?t(n):null)},[t,i]),[o,l]=Dt(s);return(0,ut.useMemo)(()=>({nodeRef:o,rect:n,setRef:l}),[n,o,l])}({measure:P.dragOverlay.measure}),J=null!=(n=q.nodeRef.current)?n:B,Z=y?null!=(a=q.rect)?a:G:null,Q=Boolean(q.nodeRef.current&&q.rect),ee=sn(te=Q?null:G,Zn(te));var te;const ne=ia(J?vt(J):null),ae=function(e){const t=(0,ut.useRef)(e),n=Et(n=>e?n&&n!==na&&e&&t.current&&e.parentNode===t.current.parentNode?n:pn(e):na,[e]);return(0,ut.useEffect)(()=>{t.current=e},[e]),n}(y?null!=Y?Y:B:null),ie=function(e,t){void 0===t&&(t=dn);const[n]=e,a=ia(n?vt(n):null),[i,s]=(0,ut.useState)(sa);function o(){s(()=>e.length?e.map(e=>bn(e)?a:new Mn(t(e),e)):sa)}const l=Qn({callback:o});return wt(()=>{null==l||l.disconnect(),o(),e.forEach(e=>null==l?void 0:l.observe(e))},[e]),i}(ae),se=_a(p,{transform:{x:N.x-ee.x,y:N.y-ee.y,scaleX:1,scaleY:1},activatorEvent:k,active:M,activeNodeRect:G,containerNodeRect:X,draggingNodeRect:Z,over:W.current.over,overlayNodeRect:q.rect,scrollableAncestors:ae,scrollableAncestorRects:ie,windowRect:ne}),oe=$?Rt($,N):null,le=function(e){const[t,n]=(0,ut.useState)(null),a=(0,ut.useRef)(e),i=(0,ut.useCallback)(e=>{const t=mn(e.target);t&&n(e=>e?(e.set(t,vn(t)),new Map(e)):null)},[]);return(0,ut.useEffect)(()=>{const t=a.current;if(e!==t){s(t);const o=e.map(e=>{const t=mn(e);return t?(t.addEventListener("scroll",i,{passive:!0}),[t,vn(t)]):null}).filter(e=>null!=e);n(o.length?new Map(o):null),a.current=e}return()=>{s(e),s(t)};function s(e){e.forEach(e=>{const t=mn(e);null==t||t.removeEventListener("scroll",i)})}},[i,e]),(0,ut.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>Rt(e,t),Yt):En(e):Yt,[e,t])}(ae),re=aa(le),ce=aa(le,[G]),de=Rt(se,re),ue=Z?ln(Z,se):null,pe=M&&ue?d({active:M,collisionRect:ue,droppableRects:F,droppableContainers:L,pointerCoordinates:oe}):null,ge=function(e){if(!e||0===e.length)return null;const[t]=e;return t.id}(pe),[me,fe]=(0,ut.useState)(null),he=function(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}(Q?se:Rt(se,ce),null!=(i=null==me?void 0:me.rect)?i:null,G),ve=(0,ut.useRef)(null),_e=(0,ut.useCallback)((e,t)=>{let{sensor:n,options:a}=t;if(null==S.current)return;const i=j.get(S.current);if(!i)return;const s=e.nativeEvent,o=new n({active:S.current,activeNode:i,event:s,options:a,context:W,onAbort(e){if(!j.get(e))return;const{onDragAbort:t}=O.current,n={id:e};null==t||t(n),v({type:"onDragAbort",event:n})},onPending(e,t,n,a){if(!j.get(e))return;const{onDragPending:i}=O.current,s={id:e,constraint:t,initialCoordinates:n,offset:a};null==i||i(s),v({type:"onDragPending",event:s})},onStart(e){const t=S.current;if(null==t)return;const n=j.get(t);if(!n)return;const{onDragStart:a}=O.current,i={activatorEvent:s,active:{id:t,data:n.data,rect:C}};(0,gt.unstable_batchedUpdates)(()=>{null==a||a(i),b(ba.Initializing),h({type:Ut.DragStart,initialCoordinates:e,active:t}),v({type:"onDragStart",event:i}),R(ve.current),I(s)})},onMove(e){h({type:Ut.DragMove,coordinates:e})},onEnd:l(Ut.DragEnd),onCancel:l(Ut.DragCancel)});function l(e){return async function(){const{active:t,collisions:n,over:a,scrollAdjustedTranslate:i}=W.current;let o=null;if(t&&i){const{cancelDrop:l}=O.current;o={activatorEvent:s,active:t,collisions:n,delta:i,over:a},e===Ut.DragEnd&&"function"==typeof l&&await Promise.resolve(l(o))&&(e=Ut.DragCancel)}S.current=null,(0,gt.unstable_batchedUpdates)(()=>{h({type:e}),b(ba.Uninitialized),fe(null),R(null),I(null),ve.current=null;const t=e===Ut.DragEnd?"onDragEnd":"onDragCancel";if(o){const e=O.current[t];null==e||e(o),v({type:t,event:o})}})}}ve.current=o},[j]),xe=(0,ut.useCallback)((e,t)=>(n,a)=>{const i=n.nativeEvent,s=j.get(a);if(null!==S.current||!s||i.dndKit||i.defaultPrevented)return;const o={active:s};!0===e(n,t.options,o)&&(i.dndKit={capturedBy:t.sensor},S.current=a,_e(n,t))},[j,_e]),be=function(e,t){return(0,ut.useMemo)(()=>e.reduce((e,n)=>{const{sensor:a}=n;return[...e,...a.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}))]},[]),[e,t])}(c,xe);!function(e){(0,ut.useEffect)(()=>{if(!mt)return;const t=e.map(e=>{let{sensor:t}=e;return null==t.setup?void 0:t.setup()});return()=>{for(const e of t)null==e||e()}},e.map(e=>{let{sensor:t}=e;return t}))}(c),wt(()=>{G&&x===ba.Initializing&&b(ba.Initialized)},[G,x]),(0,ut.useEffect)(()=>{const{onDragMove:e}=O.current,{active:t,activatorEvent:n,collisions:a,over:i}=W.current;if(!t||!n)return;const s={active:t,activatorEvent:n,collisions:a,delta:{x:de.x,y:de.y},over:i};(0,gt.unstable_batchedUpdates)(()=>{null==e||e(s),v({type:"onDragMove",event:s})})},[de.x,de.y]),(0,ut.useEffect)(()=>{const{active:e,activatorEvent:t,collisions:n,droppableContainers:a,scrollAdjustedTranslate:i}=W.current;if(!e||null==S.current||!t||!i)return;const{onDragOver:s}=O.current,o=a.get(ge),l=o&&o.rect.current?{id:o.id,rect:o.rect.current,data:o.data,disabled:o.disabled}:null,r={active:e,activatorEvent:t,collisions:n,delta:{x:i.x,y:i.y},over:l};(0,gt.unstable_batchedUpdates)(()=>{fe(l),null==s||s(r),v({type:"onDragOver",event:r})})},[ge]),wt(()=>{W.current={activatorEvent:k,active:M,activeNode:B,collisionRect:ue,collisions:pe,droppableRects:F,draggableNodes:j,draggingNode:J,draggingNodeRect:Z,droppableContainers:E,over:me,scrollableAncestors:ae,scrollAdjustedTranslate:de},C.current={initial:Z,translated:ue}},[M,B,pe,ue,j,J,Z,F,E,me,ae,de]),function(e){let{acceleration:t,activator:n=Gn.Pointer,canScroll:a,draggingRect:i,enabled:s,interval:o=5,order:l=Xn.TreeOrder,pointerCoordinates:r,scrollableAncestors:c,scrollableAncestorRects:d,delta:u,threshold:p}=e;const g=function(e){let{delta:t,disabled:n}=e;const a=Ct(t);return Et(e=>{if(n||!a||!e)return Wn;const i=Math.sign(t.x-a.x),s=Math.sign(t.y-a.y);return{x:{[xn.Backward]:e.x[xn.Backward]||-1===i,[xn.Forward]:e.x[xn.Forward]||1===i},y:{[xn.Backward]:e.y[xn.Backward]||-1===s,[xn.Forward]:e.y[xn.Forward]||1===s}}},[n,t,a])}({delta:u,disabled:!s}),[m,f]=function(){const e=(0,ut.useRef)(null);return[(0,ut.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,ut.useCallback)(()=>{null!==e.current&&(clearInterval(e.current),e.current=null)},[])]}(),h=(0,ut.useRef)({x:0,y:0}),v=(0,ut.useRef)({x:0,y:0}),_=(0,ut.useMemo)(()=>{switch(n){case Gn.Pointer:return r?{top:r.y,bottom:r.y,left:r.x,right:r.x}:null;case Gn.DraggableRect:return i}},[n,i,r]),x=(0,ut.useRef)(null),b=(0,ut.useCallback)(()=>{const e=x.current;if(!e)return;const t=h.current.x*v.current.x,n=h.current.y*v.current.y;e.scrollBy(t,n)},[]),y=(0,ut.useMemo)(()=>l===Xn.TreeOrder?[...c].reverse():c,[l,c]);(0,ut.useEffect)(()=>{if(s&&c.length&&_){for(const e of y){if(!1===(null==a?void 0:a(e)))continue;const n=c.indexOf(e),i=d[n];if(!i)continue;const{direction:s,speed:l}=jn(e,i,_,t,p);for(const e of["x","y"])g[e][s[e]]||(l[e]=0,s[e]=0);if(l.x>0||l.y>0)return f(),x.current=e,m(b,o),h.current=l,void(v.current=s)}h.current={x:0,y:0},v.current={x:0,y:0},f()}else f()},[t,b,a,f,s,o,JSON.stringify(_),JSON.stringify(g),m,c,y,d,JSON.stringify(p)])}({...H,delta:N,draggingRect:ue,pointerCoordinates:oe,scrollableAncestors:ae,scrollableAncestorRects:ie});const ye=(0,ut.useMemo)(()=>({active:M,activeNode:B,activeNodeRect:G,activatorEvent:k,collisions:pe,containerNodeRect:X,dragOverlay:q,draggableNodes:j,droppableContainers:E,droppableRects:F,over:me,measureDroppableContainers:K,scrollableAncestors:ae,scrollableAncestorRects:ie,measuringConfiguration:P,measuringScheduled:V,windowRect:ne}),[M,B,G,k,pe,X,q,j,E,F,me,K,ae,ie,P,V,ne]),we=(0,ut.useMemo)(()=>({activatorEvent:k,activators:be,active:M,activeNodeRect:G,ariaDescribedById:{draggable:A},dispatch:h,draggableNodes:j,over:me,measureDroppableContainers:K}),[k,be,M,G,h,A,j,me,K]);return pt().createElement(Vt.Provider,{value:_},pt().createElement(ga.Provider,{value:we},pt().createElement(ma.Provider,{value:ye},pt().createElement(xa.Provider,{value:he},r)),pt().createElement(va,{disabled:!1===(null==o?void 0:o.restoreFocus)})),pt().createElement(Ht,{...o,hiddenTextDescribedById:A}))}),wa=(0,ut.createContext)(null),ja="button";function Na(){return(0,ut.useContext)(ma)}const Ea={timeout:25};function Da(e){let{data:t,disabled:n=!1,id:a,resizeObserverConfig:i}=e;const s=St("Droppable"),{active:o,dispatch:l,over:r,measureDroppableContainers:c}=(0,ut.useContext)(ga),d=(0,ut.useRef)({disabled:n}),u=(0,ut.useRef)(!1),p=(0,ut.useRef)(null),g=(0,ut.useRef)(null),{disabled:m,updateMeasurementsFor:f,timeout:h}={...Ea,...i},v=Nt(null!=f?f:a),_=Qn({callback:(0,ut.useCallback)(()=>{u.current?(null!=g.current&&clearTimeout(g.current),g.current=setTimeout(()=>{c(Array.isArray(v.current)?v.current:[v.current]),g.current=null},h)):u.current=!0},[h]),disabled:m||!o}),x=(0,ut.useCallback)((e,t)=>{_&&(t&&(_.unobserve(t),u.current=!1),e&&_.observe(e))},[_]),[b,y]=Dt(x),w=Nt(t);return(0,ut.useEffect)(()=>{_&&b.current&&(_.disconnect(),u.current=!1,_.observe(b.current))},[b,_]),(0,ut.useEffect)(()=>(l({type:Ut.RegisterDroppable,element:{id:a,key:s,disabled:n,node:b,rect:p,data:w}}),()=>l({type:Ut.UnregisterDroppable,key:s,id:a})),[a]),(0,ut.useEffect)(()=>{n!==d.current.disabled&&(l({type:Ut.SetDroppableDisabled,id:a,key:s,disabled:n}),d.current.disabled=n)},[a,s,n,l]),{active:o,rect:p,isOver:(null==r?void 0:r.id)===a,node:b,over:r,setNodeRef:y}}function Ca(e){let{animation:t,children:n}=e;const[a,i]=(0,ut.useState)(null),[s,o]=(0,ut.useState)(null),l=Ct(n);return n||a||!l||i(l),wt(()=>{if(!s)return;const e=null==a?void 0:a.key,n=null==a?void 0:a.props.id;null!=e&&null!=n?Promise.resolve(t(n,s)).then(()=>{i(null)}):i(null)},[t,a,s]),pt().createElement(pt().Fragment,null,n,a?(0,ut.cloneElement)(a,{ref:o}):null)}const Ma={x:0,y:0,scaleX:1,scaleY:1};function Sa(e){let{children:t}=e;return pt().createElement(ga.Provider,{value:pa},pt().createElement(xa.Provider,{value:Ma},t))}const Ta={position:"fixed",touchAction:"none"},Ra=e=>It(e)?"transform 250ms ease":void 0,ka=(0,ut.forwardRef)((e,t)=>{let{as:n,activatorEvent:a,adjustScale:i,children:s,className:o,rect:l,style:r,transform:c,transition:d=Ra}=e;if(!l)return null;const u=i?c:{...c,scaleX:1,scaleY:1},p={...Ta,width:l.width,height:l.height,top:l.top,left:l.left,transform:At.Transform.toString(u),transformOrigin:i&&a?Jt(a,l):void 0,transition:"function"==typeof d?d(a):d,...r};return pt().createElement(n,{className:o,style:p,ref:t},s)}),Ia=e=>t=>{let{active:n,dragOverlay:a}=t;const i={},{styles:s,className:o}=e;if(null!=s&&s.active)for(const[e,t]of Object.entries(s.active))void 0!==t&&(i[e]=n.node.style.getPropertyValue(e),n.node.style.setProperty(e,t));if(null!=s&&s.dragOverlay)for(const[e,t]of Object.entries(s.dragOverlay))void 0!==t&&a.node.style.setProperty(e,t);return null!=o&&o.active&&n.node.classList.add(o.active),null!=o&&o.dragOverlay&&a.node.classList.add(o.dragOverlay),function(){for(const[e,t]of Object.entries(i))n.node.style.setProperty(e,t);null!=o&&o.active&&n.node.classList.remove(o.active)}},Oa={duration:250,easing:"ease",keyframes:e=>{let{transform:{initial:t,final:n}}=e;return[{transform:At.Transform.toString(t)},{transform:At.Transform.toString(n)}]},sideEffects:Ia({styles:{active:{opacity:"0"}}})};let Aa=0;function La(e){return(0,ut.useMemo)(()=>{if(null!=e)return Aa++,Aa},[e])}const Pa=pt().memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:a,style:i,transition:s,modifiers:o,wrapperElement:l="div",className:r,zIndex:c=999}=e;const{activatorEvent:d,active:u,activeNodeRect:p,containerNodeRect:g,draggableNodes:m,droppableContainers:f,dragOverlay:h,over:v,measuringConfiguration:_,scrollableAncestors:x,scrollableAncestorRects:b,windowRect:y}=Na(),w=(0,ut.useContext)(xa),j=La(null==u?void 0:u.id),N=_a(o,{activatorEvent:d,active:u,activeNodeRect:p,containerNodeRect:g,draggingNodeRect:h.rect,over:v,overlayNodeRect:h.rect,scrollableAncestors:x,scrollableAncestorRects:b,transform:w,windowRect:y}),E=Zn(p),D=function(e){let{config:t,draggableNodes:n,droppableContainers:a,measuringConfiguration:i}=e;return jt((e,s)=>{if(null===t)return;const o=n.get(e);if(!o)return;const l=o.node.current;if(!l)return;const r=oa(s);if(!r)return;const{transform:c}=vt(s).getComputedStyle(s),d=rn(c);if(!d)return;const u="function"==typeof t?t:function(e){const{duration:t,easing:n,sideEffects:a,keyframes:i}={...Oa,...e};return e=>{let{active:s,dragOverlay:o,transform:l,...r}=e;if(!t)return;const c=o.rect.left-s.rect.left,d=o.rect.top-s.rect.top,u={scaleX:1!==l.scaleX?s.rect.width*l.scaleX/o.rect.width:1,scaleY:1!==l.scaleY?s.rect.height*l.scaleY/o.rect.height:1},p={x:l.x-c,y:l.y-d,...u},g=i({...r,active:s,dragOverlay:o,transform:{initial:l,final:p}}),[m]=g,f=g[g.length-1];if(JSON.stringify(m)===JSON.stringify(f))return;const h=null==a?void 0:a({active:s,dragOverlay:o,...r}),v=o.node.animate(g,{duration:t,easing:n,fill:"forwards"});return new Promise(e=>{v.onfinish=()=>{null==h||h(),e()}})}}(t);return Dn(l,i.draggable.measure),u({active:{id:e,data:o.data,node:l,rect:i.draggable.measure(l)},draggableNodes:n,dragOverlay:{node:s,rect:i.dragOverlay.measure(r)},droppableContainers:a,measuringConfiguration:i,transform:d})})}({config:a,draggableNodes:m,droppableContainers:f,measuringConfiguration:_}),C=E?h.setRef:void 0;return pt().createElement(Sa,null,pt().createElement(Ca,{animation:D},u&&j?pt().createElement(ka,{key:j,id:u.id,ref:C,as:l,activatorEvent:d,adjustScale:t,className:r,transition:s,rect:E,style:{zIndex:c,...i},transform:N},n):null))});function za(e,t,n){const a=e.slice();return a.splice(n<0?a.length+n:n,0,a.splice(t,1)[0]),a}function Fa(e,t){return e.reduce((e,n,a)=>{const i=t.get(n);return i&&(e[a]=i),e},Array(e.length))}function Ka(e){return null!==e&&e>=0}const Va={scaleX:1,scaleY:1},Ba=e=>{var t;let{rects:n,activeNodeRect:a,activeIndex:i,overIndex:s,index:o}=e;const l=null!=(t=n[i])?t:a;if(!l)return null;const r=function(e,t,n){const a=e[t],i=e[t-1],s=e[t+1];return a&&(i||s)?n<t?i?a.left-(i.left+i.width):s.left-(a.left+a.width):s?s.left-(a.left+a.width):a.left-(i.left+i.width):0}(n,o,i);if(o===i){const e=n[s];return e?{x:i<s?e.left+e.width-(l.left+l.width):e.left-l.left,y:0,...Va}:null}return o>i&&o<=s?{x:-l.width-r,y:0,...Va}:o<i&&o>=s?{x:l.width+r,y:0,...Va}:{x:0,y:0,...Va}},$a=e=>{let{rects:t,activeIndex:n,overIndex:a,index:i}=e;const s=za(t,a,n),o=t[i],l=s[i];return l&&o?{x:l.left-o.left,y:l.top-o.top,scaleX:l.width/o.width,scaleY:l.height/o.height}:null},Ha={scaleX:1,scaleY:1},Ua=e=>{var t;let{activeIndex:n,activeNodeRect:a,index:i,rects:s,overIndex:o}=e;const l=null!=(t=s[n])?t:a;if(!l)return null;if(i===n){const e=s[o];return e?{x:0,y:n<o?e.top+e.height-(l.top+l.height):e.top-l.top,...Ha}:null}const r=function(e,t,n){const a=e[t],i=e[t-1],s=e[t+1];return a?n<t?i?a.top-(i.top+i.height):s?s.top-(a.top+a.height):0:s?s.top-(a.top+a.height):i?a.top-(i.top+i.height):0:0}(s,i,n);return i>n&&i<=o?{x:0,y:-l.height-r,...Ha}:i<n&&i>=o?{x:0,y:l.height+r,...Ha}:{x:0,y:0,...Ha}},Ga="Sortable",Xa=pt().createContext({activeIndex:-1,containerId:Ga,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:$a,disabled:{draggable:!1,droppable:!1}});function Wa(e){let{children:t,id:n,items:a,strategy:i=$a,disabled:s=!1}=e;const{active:o,dragOverlay:l,droppableRects:r,over:c,measureDroppableContainers:d}=Na(),u=St(Ga,n),p=Boolean(null!==l.rect),g=(0,ut.useMemo)(()=>a.map(e=>"object"==typeof e&&"id"in e?e.id:e),[a]),m=null!=o,f=o?g.indexOf(o.id):-1,h=c?g.indexOf(c.id):-1,v=(0,ut.useRef)(g),_=!function(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}(g,v.current),x=-1!==h&&-1===f||_,b=function(e){return"boolean"==typeof e?{draggable:e,droppable:e}:e}(s);wt(()=>{_&&m&&d(g)},[_,g,m,d]),(0,ut.useEffect)(()=>{v.current=g},[g]);const y=(0,ut.useMemo)(()=>({activeIndex:f,containerId:u,disabled:b,disableTransforms:x,items:g,overIndex:h,useDragOverlay:p,sortedRects:Fa(g,r),strategy:i}),[f,u,b.draggable,b.droppable,x,g,h,r,p,i]);return pt().createElement(Xa.Provider,{value:y},t)}const Ya=e=>{let{id:t,items:n,activeIndex:a,overIndex:i}=e;return za(n,a,i).indexOf(t)},qa=e=>{let{containerId:t,isSorting:n,wasDragging:a,index:i,items:s,newIndex:o,previousItems:l,previousContainerId:r,transition:c}=e;return!(!c||!a||l!==s&&i===o||!n&&(o===i||t!==r))},Ja={duration:200,easing:"ease"},Za="transform",Qa=At.Transition.toString({property:Za,duration:0,easing:"linear"}),ei={roleDescription:"sortable"};function ti(e){let{animateLayoutChanges:t=qa,attributes:n,disabled:a,data:i,getNewIndex:s=Ya,id:o,strategy:l,resizeObserverConfig:r,transition:c=Ja}=e;const{items:d,containerId:u,activeIndex:p,disabled:g,disableTransforms:m,sortedRects:f,overIndex:h,useDragOverlay:v,strategy:_}=(0,ut.useContext)(Xa),x=function(e,t){var n,a;return"boolean"==typeof e?{draggable:e,droppable:!1}:{draggable:null!=(n=null==e?void 0:e.draggable)?n:t.draggable,droppable:null!=(a=null==e?void 0:e.droppable)?a:t.droppable}}(a,g),b=d.indexOf(o),y=(0,ut.useMemo)(()=>({sortable:{containerId:u,index:b,items:d},...i}),[u,i,b,d]),w=(0,ut.useMemo)(()=>d.slice(d.indexOf(o)),[d,o]),{rect:j,node:N,isOver:E,setNodeRef:D}=Da({id:o,data:y,disabled:x.droppable,resizeObserverConfig:{updateMeasurementsFor:w,...r}}),{active:C,activatorEvent:M,activeNodeRect:S,attributes:T,setNodeRef:R,listeners:k,isDragging:I,over:O,setActivatorNodeRef:A,transform:L}=function(e){let{id:t,data:n,disabled:a=!1,attributes:i}=e;const s=St("Draggable"),{activators:o,activatorEvent:l,active:r,activeNodeRect:c,ariaDescribedById:d,draggableNodes:u,over:p}=(0,ut.useContext)(ga),{role:g=ja,roleDescription:m="draggable",tabIndex:f=0}=null!=i?i:{},h=(null==r?void 0:r.id)===t,v=(0,ut.useContext)(h?xa:wa),[_,x]=Dt(),[b,y]=Dt(),w=function(e,t){return(0,ut.useMemo)(()=>e.reduce((e,n)=>{let{eventName:a,handler:i}=n;return e[a]=e=>{i(e,t)},e},{}),[e,t])}(o,t),j=Nt(n);return wt(()=>(u.set(t,{id:t,key:s,node:_,activatorNode:b,data:j}),()=>{const e=u.get(t);e&&e.key===s&&u.delete(t)}),[u,t]),{active:r,activatorEvent:l,activeNodeRect:c,attributes:(0,ut.useMemo)(()=>({role:g,tabIndex:f,"aria-disabled":a,"aria-pressed":!(!h||g!==ja)||void 0,"aria-roledescription":m,"aria-describedby":d.draggable}),[a,g,f,h,m,d.draggable]),isDragging:h,listeners:a?void 0:w,node:_,over:p,setNodeRef:x,setActivatorNodeRef:y,transform:v}}({id:o,data:y,attributes:{...ei,...n},disabled:x.draggable}),P=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,ut.useMemo)(()=>e=>{t.forEach(t=>t(e))},t)}(D,R),z=Boolean(C),F=z&&!m&&Ka(p)&&Ka(h),K=!v&&I,V=K&&F?L:null,B=F?null!=V?V:(null!=l?l:_)({rects:f,activeNodeRect:S,activeIndex:p,overIndex:h,index:b}):null,$=Ka(p)&&Ka(h)?s({id:o,items:d,activeIndex:p,overIndex:h}):b,H=null==C?void 0:C.id,U=(0,ut.useRef)({activeId:H,items:d,newIndex:$,containerId:u}),G=d!==U.current.items,X=t({active:C,containerId:u,isDragging:I,isSorting:z,id:o,index:b,items:d,newIndex:U.current.newIndex,previousItems:U.current.items,previousContainerId:U.current.containerId,transition:c,wasDragging:null!=U.current.activeId}),W=function(e){let{disabled:t,index:n,node:a,rect:i}=e;const[s,o]=(0,ut.useState)(null),l=(0,ut.useRef)(n);return wt(()=>{if(!t&&n!==l.current&&a.current){const e=i.current;if(e){const t=dn(a.current,{ignoreTransform:!0}),n={x:e.left-t.left,y:e.top-t.top,scaleX:e.width/t.width,scaleY:e.height/t.height};(n.x||n.y)&&o(n)}}n!==l.current&&(l.current=n)},[t,n,a,i]),(0,ut.useEffect)(()=>{s&&o(null)},[s]),s}({disabled:!X,index:b,node:N,rect:j});return(0,ut.useEffect)(()=>{z&&U.current.newIndex!==$&&(U.current.newIndex=$),u!==U.current.containerId&&(U.current.containerId=u),d!==U.current.items&&(U.current.items=d)},[z,$,u,d]),(0,ut.useEffect)(()=>{if(H===U.current.activeId)return;if(null!=H&&null==U.current.activeId)return void(U.current.activeId=H);const e=setTimeout(()=>{U.current.activeId=H},50);return()=>clearTimeout(e)},[H]),{active:C,activeIndex:p,attributes:T,data:y,rect:j,index:b,newIndex:$,items:d,isOver:E,isSorting:z,isDragging:I,listeners:k,node:N,overIndex:h,over:O,setNodeRef:P,setActivatorNodeRef:A,setDroppableNodeRef:D,setDraggableNodeRef:R,transform:null!=W?W:B,transition:W||G&&U.current.newIndex===b?Qa:K&&!It(M)||!c?void 0:z||X?At.Transition.toString({...c,property:Za}):void 0}}kn.Down,kn.Right,kn.Up,kn.Left;const ni="aop-is-dragging";function ai(){document.body.classList.add(ni)}function ii(){document.body.classList.remove(ni)}const si=e=>`page:${e.menu_slug}`,oi=e=>`field:${e.id}`,li=e=>`fields:${e}`,ri="field-slot";function ci(e,t){for(let n=0;n<e.length;n++){const a=(e[n].fields||[]).findIndex(e=>oi(e)===t);if(-1!==a)return{pageKey:n,index:a}}return null}function di(e,t,n){if(!n||t===n)return null;if(t.startsWith("page:")){const a=e.findIndex(e=>si(e)===t),i=e.findIndex(e=>si(e)===n);return-1===a||-1===i?null:{action:"movePage",from:a,to:i}}const a=ci(e,t);if(!a)return null;let i=ci(e,n);if(!i&&n.startsWith("fields:")){const t=Number(n.slice(7));if(!e[t])return null;i={pageKey:t,index:a.pageKey===t?e[t].fields.length-1:e[t].fields.length}}return i?i.pageKey===a.pageKey?i.index===a.index?null:{action:"moveField",pageKey:a.pageKey,from:a.index,to:i.index}:{action:"moveFieldToPage",fromPage:a.pageKey,fromIndex:a.index,toPage:i.pageKey,toIndex:i.index}:null}function ui({canMoveUp:e,canMoveDown:t,onUp:n,onDown:a,horizontal:i=!1}){const s=i?(0,r.__)("Move left","admin-options-pages"):(0,r.__)("Move up","admin-options-pages"),o=i?(0,r.__)("Move right","admin-options-pages"):(0,r.__)("Move down","admin-options-pages");return(0,Te.jsxs)("span",{className:"c-move-buttons",children:[(0,Te.jsx)(Me.Tooltip,{text:s,children:(0,Te.jsx)("button",{type:"button",className:"c-move-button is-up",disabled:!e,onClick:n,"aria-label":s,children:(0,Te.jsx)("span",{"aria-hidden":"true",className:`dashicons dashicons-arrow-${i?"left":"up"}-alt2`})})}),(0,Te.jsx)(Me.Tooltip,{text:o,children:(0,Te.jsx)("button",{type:"button",className:"c-move-button is-down",disabled:!t,onClick:a,"aria-label":o,children:(0,Te.jsx)("span",{"aria-hidden":"true",className:`dashicons dashicons-arrow-${i?"right":"down"}-alt2`})})})]})}function pi(e){const t=e.closest(".c-editor-main"),n=e.getBoundingClientRect();return{top:n.top+(t?.scrollTop??0),left:n.left+(t?.scrollLeft??0)}}function gi({id:e,type:t,index:n,count:a,item:i,itemClassName:s,renderItem:l,onMove:r,shared:c,ghostAway:d,nodesRef:u,beforeMoveRef:p}){const{attributes:g,listeners:m,setNodeRef:f,setActivatorNodeRef:h,transform:v,transition:_,isDragging:x}=ti({id:e,data:{type:t},attributes:{tabIndex:-1,role:"presentation"}}),b=(0,o.useRef)(null),[y,w]=(0,o.useState)(null);(0,o.useLayoutEffect)(()=>{const t=b.current,n=p.current?.get(e);if(!t||!n||x)return;p.current.delete(e);const a=pi(t),i=n.left-a.left,s=n.top-a.top;if(!i&&!s)return;t.style.transition="none",t.style.transform=`translate(${i}px, ${s}px)`;const o=window.requestAnimationFrame(()=>{w({transform:"translate(0, 0)",transition:"transform 200ms ease"})}),l=setTimeout(()=>w(null),200);return()=>{window.cancelAnimationFrame(o),clearTimeout(l)}},[n]);let j="";x&&(j=c?d?"is-ghost-slot is-ghost-away":"is-ghost-slot":"is-dragging");const N=y??{transform:At.Translate.toString(v),transition:_};function E(e){const t=new Map;u.current.forEach((e,n)=>{e&&t.set(n,pi(e))}),p.current=t,r(n,e)}return(0,Te.jsx)("div",{ref:t=>{f(t),b.current=t,t?u.current.set(e,t):u.current.delete(e)},style:N,className:[s,j].filter(Boolean).join(" "),children:l(i,n,{isDragging:x,handleProps:{ref:h,...g,...m},barProps:m,canMoveUp:n>0,canMoveDown:n<a-1,moveUp:()=>E(n-1),moveDown:()=>E(n+1)})})}function mi({className:e}){const{setNodeRef:t}=Da({id:ri,data:{type:"fieldSlot"}});return(0,Te.jsx)("div",{ref:t,"aria-hidden":"true",className:[e,"is-ghost-slot is-drop-slot"].filter(Boolean).join(" ")})}function fi({containerId:e,className:t,children:n}){const{setNodeRef:a}=Da({id:e,data:{type:"fieldList"}});return(0,Te.jsx)("div",{ref:a,className:t,children:n})}function hi({items:e,getId:t,onMove:n,renderItem:a,className:i="",itemClassName:s="",horizontal:l=!1,onDragStart:r,onDragEnd:c,shared:d=!1,type:u="item",containerId:p,slotIndex:g=null,ghostAway:m=!1}){const f=Wt(Xt(Bn,{activationConstraint:{distance:5}})),h=e.map(t),v=(0,o.useRef)(new Map),_=(0,o.useRef)(new Map),x=e.map((t,i)=>(0,Te.jsx)(gi,{id:h[i],type:u,index:i,count:e.length,item:t,itemClassName:s,renderItem:a,onMove:n,shared:d,ghostAway:m,nodesRef:v,beforeMoveRef:_},h[i]));null!==g&&x.splice(g,0,(0,Te.jsx)(mi,{className:s},ri));const b=l?Ba:Ua,y=p?(0,Te.jsx)(fi,{containerId:p,className:i,children:x}):(0,Te.jsx)("div",{className:i,children:x});return d?(0,Te.jsx)(Wa,{items:h,strategy:b,children:y}):(0,Te.jsx)(ya,{sensors:f,collisionDetection:tn,onDragStart:({active:e})=>(ai(),r&&r(e.id)),onDragEnd:e=>{ii(),function({active:e,over:t}){c&&c(),t&&e.id!==t.id&&n(h.indexOf(e.id),h.indexOf(t.id))}(e)},onDragCancel:()=>(ii(),c&&c()),children:(0,Te.jsx)(Wa,{items:h,strategy:b,children:y})})}function vi({onConfirm:e,onCancel:t}){const n=(0,o.useRef)(),[a,i]=(0,o.useState)(0);return(0,o.useLayoutEffect)(()=>{const e=n.current.previousElementSibling;e&&i((n.current.offsetWidth-e.offsetWidth)/2)},[]),(0,Te.jsxs)("div",{ref:n,className:"c-popover flex items-center px-2 py-2",style:{left:`-${a}px`},children:[(0,Te.jsx)("div",{className:"c-popover__text",children:(0,r.__)("Are you sure?","admin-options-pages")}),(0,Te.jsx)("button",{type:"button",tabIndex:0,className:"button button-link button-small c-button is-cancel is-link",onClick:t,children:(0,r.__)("Cancel","admin-options-pages")}),(0,Te.jsx)("button",{type:"button",className:"button button-link button-small c-button is-delete-button is-link",onClick:e,onKeyDown:e=>"Tab"===e.key&&!e.shiftKey&&t(),children:(0,r.__)("Delete","admin-options-pages")})]})}function _i({label:e,onConfirm:t,inRow:n=!1}){const[a,i]=(0,o.useState)(!1),s=(0,o.useRef)();(0,o.useEffect)(()=>{if(!a)return;const e=e=>{s.current&&!s.current.contains(e.target)&&i(!1)},t=e=>{"Escape"===e.key&&i(!1)};return document.addEventListener("click",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("click",e),document.removeEventListener("keydown",t)}},[a]);const l=(0,Te.jsxs)("div",{className:"relative",ref:s,children:[(0,Te.jsx)("button",{type:"button",className:"button c-button is-delete-button",onClick:()=>i(!a),children:e}),a&&(0,Te.jsx)(vi,{onConfirm:()=>{i(!1),t()},onCancel:()=>i(!1)})]});return n?(0,Te.jsx)("div",{className:Se("relative pt-6 px-2 flex justify-end items-end"),children:l}):l}const xi=(0,o.createContext)({pageKey:0,fieldKey:0,slug:"",sortable:null});function bi(){const e=(0,o.useContext)(xi),{pageKey:t,fieldKey:n}=e;return{...e,name:e=>`pages[${t}][fields][${n}][${e}]`,inputId:e=>`field_${t}_${n}_${e}`}}function yi(){const{pageKey:e,fieldKey:t}=bi(),n=(0,l.useSelect)(n=>n(Ce).getField(e,t),[e,t]),{setIn:a}=(0,l.useDispatch)(Ce);return{field:n,pageKey:e,fieldKey:t,open:Boolean(n?.field_toggle),set:(n,i)=>a(["pages",e,"fields",t,n],i)}}function wi(e){if(!e)return;const t=e.ownerDocument.activeElement;t&&t!==e&&["INPUT","TEXTAREA","SELECT"].includes(t.tagName)||e.focus()}function ji(e){if(e.field_label)return e.field_label;if(e.field_title)return e.field_title;if(e.description){const t=e.description.replace(/<\/?[^>]+(>|$)/g,"");return t.length>30?`${t.substring(0,30)}...`:t}return""}function Ni({typeName:e}){const{field:t,pageKey:n,fieldKey:a,open:i}=yi(),{sortable:s}=bi(),{setFieldOpen:o}=(0,l.useDispatch)(Ce),c=e=>e.stopPropagation();return(0,Te.jsxs)("div",{role:"presentation",className:Se("c-top-bar c-top-bar--field bg-gray-wp-100 border border-gray-wp-400 hover:border-gray-700",i&&"is-open"),onClick:()=>o(n,a,!i),...s&&s.barProps,children:[(0,Te.jsxs)("div",{className:"c-top-bar__left",children:[s&&(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Drag to reorder","admin-options-pages"),children:(0,Te.jsx)("span",{className:"c-top-bar__drag-handle","aria-hidden":"true",onClick:c,...s.handleProps,children:(0,Te.jsx)(Me.Icon,{icon:dt,size:20})})}),(0,Te.jsxs)("h3",{className:"c-top-bar__title",children:[(0,Te.jsx)("span",{className:"c-top-bar__pre-title",children:e}),ji(t)]})]}),(0,Te.jsxs)("div",{className:"c-top-bar__right",children:[s&&(0,Te.jsx)("span",{onClick:c,children:(0,Te.jsx)(ui,{canMoveUp:s.canMoveUp,canMoveDown:s.canMoveDown,onUp:s.moveUp,onDown:s.moveDown})}),(0,Te.jsx)("button",{type:"button",className:"c-top-bar__toggle","aria-expanded":i?"true":"false","aria-label":(0,r.__)("Add block","admin-options-pages"),children:(0,Te.jsx)("span",{className:Se("c-top-bar__toggle-indicator",i&&"is-open")})})]})]})}function Ei({typeName:e,content:t,options:n}){const{field:a,pageKey:i,fieldKey:s,open:c}=yi(),{name:d,slug:u}=bi(),{setFieldOpen:p,removeField:g}=(0,l.useDispatch)(Ce),m=(0,o.useRef)(),f=void 0===a.field_toggle;return(0,o.useEffect)(()=>{if(!f)return;p(i,s,!0);const e=m.current;e&&e.scrollIntoView&&e.scrollIntoView({behavior:"smooth",block:"center"});const t=setTimeout(()=>{const t=e?.querySelector(".o-field__inside input.c-input, .o-field__inside textarea");wi(t)},200);return()=>clearTimeout(t)},[]),(0,Te.jsxs)("div",{className:"o-field__wrapper",ref:m,children:[(0,Te.jsx)(Ni,{typeName:e}),(0,Te.jsxs)("div",{className:"o-field__inside",style:c?void 0:{display:"none"},children:[(0,Te.jsxs)("div",{className:"o-field__content",children:[(0,Te.jsx)("input",{type:"hidden",name:d("id"),value:a.id}),(0,Te.jsx)("input",{type:"hidden",name:d("type"),value:a.type}),(0,Te.jsx)("input",{type:"hidden",name:d("field_key"),value:s}),(0,Te.jsx)("input",{type:"hidden",name:d("field_toggle"),value:String(c)}),(0,Te.jsx)("input",{type:"hidden",name:d("page_slug"),value:u}),t]}),(0,Te.jsxs)("div",{className:"o-field__options justify-between",children:[(0,Te.jsx)("div",{children:n}),(0,Te.jsx)(_i,{inRow:!0,label:(0,r.__)("Delete","admin-options-pages"),onConfirm:()=>g(i,s)})]})]})]})}const Di=(0,Te.jsx)(Ie.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,Te.jsx)(Ie.Path,{d:"M11 12.5V17.5H12.5V12.5H17.5V11H12.5V6H11V11H6V12.5H11Z"})}),Ci=(0,Te.jsx)(Me.Icon,{icon:dt,size:20,className:"o-field-table__drag-handle-image"});function Mi({name:e,value:t,onChange:n,rules:a,as:i}){const{invalid:s,onTouch:o}=qe({name:e,value:t??"",rules:a,as:i});return(0,Te.jsx)("input",{className:Se("c-input","o-field-table__input",s&&"not-valid"),type:"text",name:e,value:t??"","aria-invalid":s||void 0,onChange:e=>n(e.target.value),onBlur:o,onKeyDown:e=>"Enter"===e.key&&e.preventDefault()})}function Si(){const{field:e,pageKey:t,fieldKey:n,set:a}=yi(),{name:i}=bi(),{addTableRow:s,removeTableRow:c,moveTableRow:d,setUi:u}=(0,l.useDispatch)(Ce),p=(0,l.useSelect)(e=>{const t=e(Ce),n={};return Object.keys(t.getErrors()).forEach(e=>{const a=t.getShownError(e);a&&(n[e]=a)}),n},[]),g=(0,l.useSelect)(e=>e(Ce).getUi().moving,[]),m=e.table_list||[],f=function(e){const t={};return e.forEach(e=>{t[e.value]=(t[e.value]||0)+1}),Object.keys(t).filter(e=>t[e]>1)}(m),h=(0,o.useRef)(m.length),v=(0,o.useRef)();(0,o.useEffect)(()=>{if(m.length>h.current){const e=m[m.length-1],t=setTimeout(()=>{wi(v.current?.querySelector(`input[name="${i("table_list")}[${e.id}][value]"]`))},50);return h.current=m.length,()=>clearTimeout(t)}h.current=m.length},[m.length]);const _=m.map(e=>String(e.id)),x={};Object.keys(p).forEach(e=>{e.startsWith(`${i("table_list")}[`)&&_.some(t=>e.includes(`[${t}]`))&&(x[p[e]]=(x[p[e]]||0)+1)});const b=(e,t,n)=>a("table_list",m.map((a,i)=>i===e?{...a,[t]:n}:a));return(0,Te.jsxs)("div",{ref:v,className:Se("o-field-table",g&&"is-active"),children:[(0,Te.jsxs)("div",{className:"o-field-table__header",children:[(0,Te.jsx)("div",{className:"o-field-table__header-label",children:(0,r.__)("Value","admin-options-pages")}),(0,Te.jsx)("div",{className:"o-field-table__header-label",children:(0,r.__)("Label","admin-options-pages")})]}),(0,Te.jsx)(hi,{items:m,getId:e=>e.id,className:"o-field-table__body",itemClassName:"o-field-table__row",onMove:(e,a)=>d(t,n,e,a),onDragStart:()=>u("moving",!0),onDragEnd:()=>u("moving",!1),renderItem:(e,a,s)=>{const o=`${i("table_list")}[${e.id}]`;return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)("div",{className:m.length>1?"o-field-table__drag-handle":"o-field-table__drag-handle-abort",children:m.length>1?(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Drag to reorder","admin-options-pages"),children:(0,Te.jsx)("span",{...s.handleProps,"aria-hidden":"true",children:Ci})}):(0,Te.jsx)("span",{"aria-hidden":"true",children:Ci})}),(0,Te.jsx)(Mi,{name:`${o}[value]`,value:e.value,onChange:e=>b(a,"value",e),rules:`required|alphanumeric_underscore|excluded_table_value:${f.join(",")}`,as:"value"}),(0,Te.jsx)(Mi,{name:`${o}[label]`,value:e.label,onChange:e=>b(a,"label",e),rules:"no_less_than_sign",as:"label"}),(0,Te.jsx)("input",{type:"hidden",name:`${o}[id]`,value:e.id}),m.length>1&&(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(ui,{canMoveUp:s.canMoveUp,canMoveDown:s.canMoveDown,onUp:s.moveUp,onDown:s.moveDown}),(0,Te.jsx)(Me.Button,{variant:"secondary",size:"small",isDestructive:!0,className:"o-field-table__delete","aria-label":(0,r.__)("Delete this row","admin-options-pages"),onClick:()=>c(t,n,a),children:(0,r.__)("Delete","admin-options-pages")})]})]})}}),Object.keys(x).length>0&&(0,Te.jsx)("ul",{className:"o-field-table__error-list",children:Object.entries(x).map(([e,t])=>(0,Te.jsxs)("li",{className:"o-field-table__error-item",children:[(0,Te.jsx)(Me.Icon,{className:"c-validate-message__icon",icon:Oe,size:16}),(0,Te.jsx)("span",{className:"o-field-table__error-message",children:e}),t>1&&(0,Te.jsx)("span",{className:"o-field-table__error-count",children:t})]},e))}),(0,Te.jsx)("div",{className:"o-field-table__footer",children:(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Add a row","admin-options-pages"),children:(0,Te.jsx)("button",{type:"button",className:"c-icon-button c-icon-button--insert-toggle is-appender for-field-table","aria-label":(0,r.__)("Add a row","admin-options-pages"),onClick:()=>s(t,n),children:(0,Te.jsx)(Me.Icon,{icon:Di,size:20})})})})]})}function Ti({name:e,id:t,label:n,value:a,onChange:i,rules:s="",as:o="field",className:l="",placeholder:r="",inputRef:c,wrapperClass:d="",messageClass:u="",onKeyDown:p}){const{message:g,invalid:m,onTouch:f}=qe({name:e,value:a??"",rules:s,as:o}),h=`${t}-message`;return(0,Te.jsxs)("div",{className:Se("o-input-wrapper has-message",d),children:[(0,Te.jsx)("label",{htmlFor:t,className:"c-input-label",children:n}),(0,Te.jsxs)("div",{className:"o-input-wrapper__field",children:[(0,Te.jsx)("input",{ref:c,className:Se("c-input",l,m&&"not-valid"),type:"text",name:e,id:t,value:a??"",placeholder:r,...Le(h,m),onChange:e=>i(e.target.value),onBlur:f,onKeyDown:e=>{"Enter"===e.key&&e.preventDefault(),p&&p(e)}}),(0,Te.jsx)(Ae,{id:h,message:m?g:null,className:u})]})]})}function Ri({data:e,value:t,onChange:n,validate:a="",validateName:i="field",placeholder:s="",code:o=!1,inputRef:l}){const{name:r,inputId:c}=bi();return(0,Te.jsx)(Ti,{name:r(e.id),id:c(e.id),label:e.label,value:t,onChange:n,rules:a||"no_less_than_sign",as:i,className:o?"code":"",placeholder:s,inputRef:l})}function ki({data:e,value:t,onChange:n,open:a=!1}){const{name:i,inputId:s}=bi(),l=(0,o.useRef)(),[r,c]=(0,o.useState)(33);return(0,o.useLayoutEffect)(()=>{l.current&&l.current.scrollHeight&&c(l.current.scrollHeight+2)},[t,a]),(0,Te.jsxs)("div",{className:"o-input-wrapper align-top",children:[(0,Te.jsx)("label",{htmlFor:s(e.id),className:"c-input-label",children:e.label}),(0,Te.jsx)("textarea",{ref:l,className:"c-input c-input--textarea",name:i(e.id),id:s(e.id),value:t??"",style:{height:`${r}px`},onChange:e=>n(e.target.value)})]})}function Ii({data:e,options:t,value:n,onChange:a,rules:i="",as:s="field",children:o,wrapperClass:l=""}){const{name:r,inputId:c}=bi(),d=r(e.id),{message:u,invalid:p,onTouch:g}=qe({name:d,value:n,rules:i,as:s}),m=`${c(e.id)}-message`,f=(0,Te.jsx)("select",{className:"c-select",name:d,id:c(e.id),value:n??"",...Le(m,p),onChange:e=>{a(e.target.value),g()},onKeyDown:e=>"Enter"===e.key&&e.preventDefault(),children:t.map(e=>(0,Te.jsx)("option",{value:e.id,children:e.label},e.id))});return(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:c(e.id),className:"c-input-label",children:e.label}),l?(0,Te.jsxs)("div",{className:l,children:[f,o]}):f,i&&(0,Te.jsx)(Ae,{id:m,message:p?u:null})]})}function Oi({name:e,id:t,checked:n,onChange:a,value:i="1",on:s=n,describedBy:o}){return(0,Te.jsxs)("span",{className:"c-toggle",children:[(0,Te.jsx)("input",{className:"c-toggle__input",type:"checkbox",name:e,id:t,checked:Boolean(n),value:i,"aria-describedby":o,onChange:e=>a(e.target.checked),onKeyDown:e=>"Enter"===e.key&&e.preventDefault()}),(0,Te.jsx)("span",{className:Se("c-toggle__track",s&&"is-checked")}),(0,Te.jsx)("span",{className:Se("c-toggle__thumb",s&&"is-checked")})]})}function Ai({data:e,value:t,onChange:n}){const{name:a,inputId:i}=bi(),s="on"===t;return(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:i(e.id),className:"c-input-label for-toggle",children:e.label}),(0,Te.jsx)(Oi,{name:a(e.id),id:i(e.id),value:"on",checked:s,onChange:e=>n(e?"on":"off")}),!s&&(0,Te.jsx)("input",{type:"hidden",name:a(e.id),value:"off"})]})}const Li=window.wp.compose;function Pi({data:e,value:t="yes",onChange:n}){const{name:a,inputId:i}=bi(),s="no"===t;return(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:i(e.id),className:"c-input-label",children:e.label}),(0,Te.jsx)(Oi,{name:a(e.id),id:i(e.id),value:"no",checked:s,on:!s,onChange:e=>n(e?"no":"yes")})]})}function zi({id:e,text:t}){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Me.Tooltip,{text:t,children:(0,Te.jsx)("button",{type:"button",className:"c-help-tip","aria-label":(0,r.__)("Help","admin-options-pages"),"aria-describedby":e,children:"?"})}),(0,Te.jsx)("span",{id:e,className:"screen-reader-text",children:t})]})}function Fi(){const{field:e,set:t}=yi();return(0,Te.jsx)(Pi,{data:{id:"toggle_autoload",label:(0,r.__)("Autoload","admin-options-pages")},value:e.toggle_autoload,onChange:e=>t("toggle_autoload",e)})}function Ki({fieldName:e}){const[t,n]=(0,o.useState)(!1),a=`[aop_option name="${e}"]`,i=(0,Li.useCopyToClipboard)(a,()=>n(!0));return(0,o.useEffect)(()=>{if(!t)return;const e=setTimeout(()=>n(!1),2e3);return()=>clearTimeout(e)},[t]),(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("span",{className:"c-input-label",children:(0,r.__)("Shortcode","admin-options-pages")}),(0,Te.jsxs)("div",{className:"o-input-wrapper__control",children:[(0,Te.jsx)("code",{className:"c-shortcode",children:a}),(0,Te.jsx)(Me.Button,{ref:i,variant:"secondary",size:"small",children:t?(0,r.__)("Copied!","admin-options-pages"):(0,r.__)("Copy","admin-options-pages")})]})]})}function Vi(){const{field:e,set:t}=yi(),{name:n,inputId:a}=bi(),i=a("frontend");return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:i,className:"c-input-label",children:(0,r.__)("Use in shortcode and blocks","admin-options-pages")}),(0,Te.jsxs)("div",{className:"o-input-wrapper__control",children:[(0,Te.jsx)(Oi,{name:n("frontend"),id:i,value:"yes",checked:"yes"===e.frontend,describedBy:`${i}-help`,onChange:e=>t("frontend",e?"yes":"no")}),(0,Te.jsx)(zi,{id:`${i}-help`,text:(0,r.__)("With get_option() the value is always available in PHP, also when this is off.","admin-options-pages")})]})]}),"yes"===e.frontend&&e.field_name?(0,Te.jsx)(Ki,{fieldName:e.field_name}):null]})}function Bi(){const{field:e,set:t}=yi();return(0,Te.jsx)(Ri,{data:{id:"field_label",label:(0,r.__)("Field label","admin-options-pages")},value:e.field_label,onChange:e=>t("field_label",e)})}function $i({idLikeName:e=!1}){const{field:t,set:n}=yi(),{name:a,inputId:i}=bi(),s=(0,l.useSelect)(e=>e(Ce).getExcludedOptionNames(),[]),o=e?a("field_name"):i("field_name");return(0,Te.jsx)(Ti,{name:a("field_name"),id:o,label:(0,r.__)("Field name","admin-options-pages"),value:t.field_name,onChange:e=>n("field_name",e),rules:`max:191|required|no_uppercase|option_name|excluded_option_name:${s.join(",")}`,as:"field name"})}function Hi(){const{field:e,set:t}=yi();return(0,Te.jsx)(Ri,{data:{id:"class_attribute",label:(0,r.__)("Additional CSS Class(es)","admin-options-pages")},value:e.class_attribute,onChange:e=>t("class_attribute",e),validate:"class_attribute",placeholder:"example-class second__one",code:!0})}function Ui(){const{field:e,set:t,open:n}=yi();return(0,Te.jsx)(ki,{data:{id:"description",label:(0,r.__)("Description","admin-options-pages")},value:e.description,onChange:e=>t("description",e),open:n})}function Gi(){const{field:e,set:t}=yi();return(0,Te.jsx)(Ri,{data:{id:"text_right",label:(0,r.__)("Text after input field","admin-options-pages")},value:e.text_right,onChange:e=>t("text_right",e)})}const Xi={field_label:Bi,field_name:$i,toggle_autoload:Fi,frontend:Vi,class_attribute:Hi,description:Ui},Wi=["field_label","field_name","toggle_autoload","frontend"];function Yi({setting:e}){const{field:t,set:n}=yi(),{name:a,inputId:i}=bi(),{key:s,control:o,label:l}=e,r=t[s],c=e=>n(s,e),d=Xi[s];return d?(0,Te.jsx)(d,{}):"textarea"===o?(0,Te.jsx)(ki,{data:{id:s,label:l},value:r,onChange:c}):"select"===o?(0,Te.jsx)(Ii,{data:{id:s,label:l},options:(e.options||[]).map(e=>({id:e,label:e})),value:r,onChange:c}):"toggle"===o&&"toggle_onoff"===e.sanitize?(0,Te.jsx)(Ai,{data:{id:s,label:l},value:r,onChange:c}):"toggle"===o&&"toggle_text_format"===e.sanitize?(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:i(s),className:"c-input-label for-toggle",children:l}),(0,Te.jsx)(Oi,{name:a(s),id:i(s),value:"1",checked:"1"===r,onChange:e=>c(!!e&&"1")})]}):"choices"===o?(0,Te.jsxs)("div",{className:"o-input-wrapper align-top has-table",children:[(0,Te.jsx)("label",{htmlFor:a("field_name"),className:"c-input-label",children:l}),(0,Te.jsx)(Si,{})]}):"color"===o?(0,Te.jsx)(Ti,{name:a(s),id:i(s),label:l,value:r,onChange:c,rules:"color_hex",as:l.toLowerCase(),className:"code",placeholder:"#000000"}):"number"===o?(0,Te.jsx)(Ti,{name:a(s),id:i(s),label:l,value:r,onChange:c,rules:"numeric",as:l.toLowerCase(),className:"code"}):(0,Te.jsx)(Ri,{data:{id:s,label:l},value:r,onChange:c})}function qi({serverType:e}){const t=(e.settings||[]).filter(e=>"hidden"!==e.control),n=t.filter(e=>Wi.includes(e.key)),a=t.filter(e=>!Wi.includes(e.key));return(0,Te.jsx)(Ei,{typeName:e.label||(0,r.__)("Field","admin-options-pages"),content:n.map(e=>(0,Te.jsx)(Yi,{setting:e},e.key)),options:a.map(e=>(0,Te.jsx)(Yi,{setting:e},e.key))})}const Ji=function(){const e=new Map;let t=new Map;return{register:(t,n={})=>"string"==typeof t&&""!==t&&(e.has(t)?(console.warn(`aop: the field type "${t}" is already registered.`),!1):(e.set(t,{...n}),!0)),get:t=>e.get(t),has:t=>e.has(t),all:()=>[...e].map(([e,t])=>({type:e,...t})),setServerTypes(e){t=new Map((e||[]).map(e=>[e.type,e]))},types:()=>[...t.values()].map(t=>{const n=e.get(t.type)||{};return{...t,...n,label:n.label||t.label,settings:t.settings}})}}();function Zi(){return"undefined"!=typeof window&&window.aop?.fields||Ji}function Qi({field:e,pageKey:t,fieldKey:n}){const{removeUnavailableField:a}=(0,l.useDispatch)(Ce);return(0,Te.jsxs)("div",{className:"o-field__wrapper is-unavailable",children:[(0,Te.jsx)("div",{className:"c-top-bar c-top-bar--field bg-gray-wp-100 border border-gray-wp-400",children:(0,Te.jsx)("div",{className:"c-top-bar__left",children:(0,Te.jsxs)("h3",{className:"c-top-bar__title",children:[(0,Te.jsx)("span",{className:"c-top-bar__pre-title",children:e.type}),e.field_label||e.field_name||""]})})}),(0,Te.jsxs)("div",{className:"o-field__unavailable-body",children:[(0,Te.jsx)("p",{className:"o-field__unavailable",children:(0,r.__)("This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.","admin-options-pages")}),(0,Te.jsx)("div",{className:"o-field__unavailable-actions",children:(0,Te.jsx)(_i,{label:(0,r.__)("Delete","admin-options-pages"),onConfirm:()=>a(t,n,e.id)})})]})]})}function es({pageKey:e,fieldKey:t,slug:n,sortable:a}){const{stored:i,serverType:s}=(0,l.useSelect)(n=>{const a=n(Ce),i=a.getField(e,t);return{stored:i,serverType:(a.getFieldTypes()||[]).find(e=>e.type===i?.type)}},[e,t]);if(!i)return null;const o=Zi().get(i.type),r=o?.EditComponent;return!r&&s?(0,Te.jsx)(xi.Provider,{value:{pageKey:e,fieldKey:t,slug:n,sortable:a},children:(0,Te.jsx)(qi,{serverType:s})}):r?(0,Te.jsx)(xi.Provider,{value:{pageKey:e,fieldKey:t,slug:n,sortable:a},children:(0,Te.jsx)(r,{})}):(0,Te.jsx)(Qi,{field:i,pageKey:e,fieldKey:t})}const ts=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"regular_text",label:(0,r.__)("Regular","admin-options-pages")},{id:"small_text",label:(0,r.__)("Small","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function ns(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fi,{}),(0,Te.jsx)(Vi,{}),(0,Te.jsx)(Bi,{}),(0,Te.jsx)($i,{}),(0,Te.jsx)(Ri,{data:{id:"placeholder",label:(0,r.__)("Placeholder","admin-options-pages")},value:e.placeholder,onChange:e=>t("placeholder",e)}),(0,Te.jsx)(Ri,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function as(){const{field:e,set:t}=yi(),{name:n,inputId:a}=bi(),i="1"===e.toggle_text_format;return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:a("toggle_text_format"),className:"c-input-label for-toggle",children:(0,r.__)("Formatted as code","admin-options-pages")}),(0,Te.jsx)(Oi,{name:n("toggle_text_format"),id:a("toggle_text_format"),checked:i,value:"1",onChange:e=>t("toggle_text_format",!!e&&"1")})]}),(0,Te.jsx)(Ii,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:ts,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hi,{}),(0,Te.jsx)(Gi,{}),(0,Te.jsx)(Ui,{})]})}f("text_field",e=>{const t={};return e.field_style||(t.field_style="regular_text"),e.toggle_text_format||(t.toggle_text_format=!1),e.toggle_autoload||(t.toggle_autoload="yes"),t});const is=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"standard",label:(0,r.__)("Standard","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function ss(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fi,{}),(0,Te.jsx)(Vi,{}),(0,Te.jsx)(Bi,{}),(0,Te.jsx)($i,{}),(0,Te.jsx)(Ri,{data:{id:"placeholder",label:(0,r.__)("Placeholder","admin-options-pages")},value:e.placeholder,onChange:e=>t("placeholder",e)}),(0,Te.jsx)(Ri,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function os(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Ii,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:is,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:"standard"!==e.field_style&&(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hi,{}),(0,Te.jsx)(Ui,{}),(0,Te.jsx)(Ai,{data:{id:"description_italic",label:(0,r.__)("Description italic","admin-options-pages")},value:e.description_italic,onChange:e=>t("description_italic",e)})]})}f("textarea",e=>{const t={};return e.field_style||(t.field_style="standard"),e.description_italic||(t.description_italic="off"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const ls=[{id:"0",label:(0,r.__)("0","admin-options-pages")},{id:"1",label:(0,r.__)("1","admin-options-pages")},{id:"2",label:(0,r.__)("2","admin-options-pages")}];function rs(){const{field:e,set:t}=yi(),{name:n,inputId:a}=bi(),{min:i,max:s,between:o}=function(e){const t=Number.isNaN(Number(e.min_value))?"":e.min_value,n=Number.isNaN(Number(e.max_value))?"":e.max_value;return{min:t,max:n,between:!t||!n||t>n?",":`${t}, ${n}`}}(e);return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fi,{}),(0,Te.jsx)(Vi,{}),(0,Te.jsx)(Bi,{}),(0,Te.jsx)($i,{}),(0,Te.jsx)(Ti,{name:n("min_value"),id:a("min_value"),label:(0,r.__)("Minimum value","admin-options-pages"),value:e.min_value,onChange:e=>t("min_value",e),rules:"numeric",as:"minimum value",className:"code"}),(0,Te.jsx)(Ti,{name:n("max_value"),id:a("max_value"),label:(0,r.__)("Maximum value","admin-options-pages"),value:e.max_value,onChange:e=>t("max_value",e),rules:`numeric|min_value:${i}`,as:"maximum value",className:"code"}),(0,Te.jsx)(Ri,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e),validate:`numeric|between:${o}|min_value:${i}|max_value:${s}`,validateName:"default value",code:!0}),(0,Te.jsx)(Ii,{data:{id:"decimals",label:(0,r.__)("Decimals","admin-options-pages")},options:ls,value:e.decimals,onChange:e=>t("decimals",e),rules:"between:0,2",as:"decimal"})]})}function cs(){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Hi,{}),(0,Te.jsx)(Gi,{}),(0,Te.jsx)(Ui,{})]})}function ds(){const{field:e,set:t}=yi(),{name:n}=bi(),a=[{id:"frontend_on",label:(0,r.__)("Text when checked","admin-options-pages")},{id:"frontend_off",label:(0,r.__)("Text when not checked","admin-options-pages")}];return"yes"!==e.frontend?a.map(({id:t})=>(0,Te.jsx)("input",{type:"hidden",name:n(t),value:e[t]||""},t)):a.map(n=>(0,Te.jsx)(Ri,{data:n,value:e[n.id]||"",placeholder:"frontend_on"===n.id?"1":"0",onChange:e=>t(n.id,e)},n.id))}function us(){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fi,{}),(0,Te.jsx)(Vi,{}),(0,Te.jsx)(ds,{}),(0,Te.jsx)(Bi,{}),(0,Te.jsx)($i,{idLikeName:!0})]})}function ps(){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Hi,{}),(0,Te.jsx)(Gi,{}),(0,Te.jsx)(Ui,{})]})}function gs(e){const t={};return e.toggle_autoload||(t.toggle_autoload="yes"),!e.table_list||Array.isArray(e.table_list)&&!e.table_list.length?t.table_list=[{label:"",value:"",id:(new Date).getTime()}]:Array.isArray(e.table_list)||(t.table_list=Object.values(e.table_list)),t}function ms(){const{name:e}=bi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fi,{}),(0,Te.jsx)(Vi,{}),(0,Te.jsx)(Bi,{}),(0,Te.jsx)($i,{idLikeName:!0}),(0,Te.jsxs)("div",{className:"o-input-wrapper align-top has-table",children:[(0,Te.jsx)("label",{htmlFor:e("field_name"),className:"c-input-label",children:(0,r.__)("Field values","admin-options-pages")}),(0,Te.jsx)(Si,{})]})]})}function fs(){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Hi,{}),(0,Te.jsx)(Ui,{})]})}f("number",e=>{const t={};return e.decimals||(t.decimals="0"),e.toggle_autoload||(t.toggle_autoload="yes"),t}),f("checkbox",e=>e.toggle_autoload?{}:{toggle_autoload:"yes"}),f("radio",gs),f("select_field",gs),f("button_group",gs);const hs=(0,Te.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",role:"img",className:"c-input__checkbox-svg","aria-hidden":"true",focusable:"false",children:(0,Te.jsx)("path",{d:"M18.3 5.6L9.9 16.9l-4.6-3.4-.9 1.2 5.8 4.3 9.3-12.6z"})});function vs({data:e,value:t,onChange:n}){const{name:a,inputId:i}=bi();if(!e.types)return(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:i(e.id),className:"c-input-label",children:e.label}),(0,Te.jsx)("input",{className:"c-input",type:"checkbox",name:a(e.id),id:i(e.id),checked:Boolean(t),onChange:e=>n(e.target.checked),onKeyDown:e=>"Enter"===e.key&&e.preventDefault()})]});const s=t||{};return(0,Te.jsxs)("div",{className:Se("o-input-wrapper","align-top"),children:[(0,Te.jsx)("label",{htmlFor:i(e.id),className:"c-input-label",children:e.label}),(0,Te.jsx)("div",{className:"c-input-group",children:e.types.map(t=>{const i=`${a(e.id)}[types][${t.id}]`,o=!t.disabled&&Object.prototype.hasOwnProperty.call(s,t.id),l=t.help?`${i}-help`:void 0;return(0,Te.jsxs)("div",{className:Se("c-input-group__item",t.disabled&&"is-disabled"),children:[(0,Te.jsx)("input",{className:"c-input",type:"checkbox",name:i,id:i,checked:o,disabled:t.disabled,"aria-describedby":l,onChange:e=>{const a={...s};e.target.checked?a[t.id]="on":delete a[t.id],n(a)},onKeyDown:e=>"Enter"===e.key&&e.preventDefault()}),o&&hs,(0,Te.jsx)("label",{htmlFor:i,className:"code",children:t.label}),t.help&&(0,Te.jsx)(zi,{id:l,text:t.help})]},t.id)})})]})}function _s(){const e="undefined"!=typeof window&&window.aop_editor_config||{};return!("svgUploads"in e)||[!0,1,"1"].includes(e.svgUploads)}function xs(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fi,{}),(0,Te.jsx)(Vi,{}),(0,Te.jsx)(Bi,{}),(0,Te.jsx)($i,{}),(0,Te.jsx)(vs,{data:{id:"extensions",label:(0,r.__)("Allowed extensions","admin-options-pages"),types:[{label:(0,r.__)(".jpeg .jpg","admin-options-pages"),id:"jpeg"},{label:(0,r.__)(".png","admin-options-pages"),id:"png"},{label:(0,r.__)(".gif","admin-options-pages"),id:"gif"},{label:(0,r.__)(".svg","admin-options-pages"),id:"svg",disabled:!_s(),help:_s()?void 0:(0,r.__)("This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.","admin-options-pages")},{label:(0,r.__)(".ico","admin-options-pages"),id:"ico"}]},value:e.extensions?.types,onChange:n=>t("extensions",{...e.extensions,types:n})})]})}function bs(){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Hi,{}),(0,Te.jsx)(Ui,{})]})}function ys(){const{field:e,set:t}=yi(),{name:n,inputId:a}=bi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fi,{}),(0,Te.jsx)(Vi,{}),(0,Te.jsx)(Bi,{}),(0,Te.jsx)($i,{}),(0,Te.jsx)(Ti,{name:n("default_value"),id:a("default_value"),label:(0,r.__)("Default color (HEX)","admin-options-pages"),value:e.default_value,onChange:e=>t("default_value",e),rules:"color_hex",as:"field color",className:"code",placeholder:"#000000"})]})}function ws(){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Hi,{}),(0,Te.jsx)(Ui,{})]})}f("image",e=>{const t={};if(e.toggle_autoload||(t.toggle_autoload="yes"),!e.extensions?.types){const e={jpeg:"on",png:"on",gif:"on",svg:"on",ico:"on"};_s()||delete e.svg,t.extensions={types:e}}return t}),f("color_picker",e=>e.toggle_autoload?{}:{toggle_autoload:"yes"});const js=[{id:"full",label:(0,r.__)("Full","admin-options-pages")},{id:"basic",label:(0,r.__)("Basic","admin-options-pages")}];function Ns(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fi,{}),(0,Te.jsx)(Vi,{}),(0,Te.jsx)(Bi,{}),(0,Te.jsx)($i,{}),(0,Te.jsx)(Ri,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function Es(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Ai,{data:{id:"toggle_show_media_upload_buttons",label:(0,r.__)("Show media upload buttons","admin-options-pages")},value:e.toggle_show_media_upload_buttons,onChange:e=>t("toggle_show_media_upload_buttons",e)}),(0,Te.jsx)(Ii,{data:{id:"toolbar",label:(0,r.__)("Toolbar","admin-options-pages")},options:js,value:e.toolbar,onChange:e=>t("toolbar",e),wrapperClass:"flex items-center"}),(0,Te.jsx)(Hi,{}),(0,Te.jsx)(Ui,{})]})}function Ds(){return(0,Te.jsx)(Hi,{})}function Cs(){const{field:e,set:t}=yi();return(0,Te.jsx)(Ri,{data:{id:"field_title",label:(0,r.__)("Title","admin-options-pages")},value:e.field_title,onChange:e=>t("field_title",e)})}f("wysiwyg_editor",e=>{const t={};return e.toolbar||(t.toolbar="full"),e.toggle_show_media_upload_buttons||(t.toggle_show_media_upload_buttons="off"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const Ms=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"regular_text",label:(0,r.__)("Regular","admin-options-pages")},{id:"small_text",label:(0,r.__)("Small","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function Ss(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fi,{}),(0,Te.jsx)(Vi,{}),(0,Te.jsx)(Bi,{}),(0,Te.jsx)($i,{}),(0,Te.jsx)(Ri,{data:{id:"placeholder",label:(0,r.__)("Placeholder","admin-options-pages")},value:e.placeholder,onChange:e=>t("placeholder",e)}),(0,Te.jsx)(Ri,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function Ts(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Ii,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:Ms,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hi,{}),(0,Te.jsx)(Ui,{})]})}f("email",e=>{const t={};return e.field_style||(t.field_style="regular_text"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const Rs=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"regular_text",label:(0,r.__)("Regular","admin-options-pages")},{id:"small_text",label:(0,r.__)("Small","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function ks(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fi,{}),(0,Te.jsx)(Vi,{}),(0,Te.jsx)(Bi,{}),(0,Te.jsx)($i,{}),(0,Te.jsx)(Ri,{data:{id:"placeholder",label:(0,r.__)("Placeholder","admin-options-pages")},value:e.placeholder,onChange:e=>t("placeholder",e)}),(0,Te.jsx)(Ri,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function Is(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Ii,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:Rs,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hi,{}),(0,Te.jsx)(Ui,{})]})}f("link",e=>{const t={};return e.field_style||(t.field_style="regular_text"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const Os=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"regular_text",label:(0,r.__)("Regular","admin-options-pages")},{id:"small_text",label:(0,r.__)("Small","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function As(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fi,{}),(0,Te.jsx)(Bi,{}),(0,Te.jsx)($i,{}),(0,Te.jsx)(Ri,{data:{id:"placeholder",label:(0,r.__)("Placeholder","admin-options-pages")},value:e.placeholder,onChange:e=>t("placeholder",e)}),(0,Te.jsx)(Ri,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function Ls(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Ii,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:Os,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hi,{}),(0,Te.jsx)(Ui,{})]})}f("password",e=>{const t={};return e.field_style||(t.field_style="regular_text"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const Ps=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"regular_text",label:(0,r.__)("Regular","admin-options-pages")},{id:"small_text",label:(0,r.__)("Small","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function zs(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fi,{}),(0,Te.jsx)(Vi,{}),(0,Te.jsx)(Bi,{}),(0,Te.jsx)($i,{}),(0,Te.jsx)(Ri,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function Fs(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Ii,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:Ps,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hi,{}),(0,Te.jsx)(Ui,{})]})}f("date",e=>{const t={};return e.field_style||(t.field_style="regular_text"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const Ks=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"regular_text",label:(0,r.__)("Regular","admin-options-pages")},{id:"small_text",label:(0,r.__)("Small","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function Vs(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fi,{}),(0,Te.jsx)(Vi,{}),(0,Te.jsx)(Bi,{}),(0,Te.jsx)($i,{}),(0,Te.jsx)(Ri,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function Bs(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Ii,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:Ks,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hi,{}),(0,Te.jsx)(Ui,{})]})}f("time",e=>{const t={};return e.field_style||(t.field_style="regular_text"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const $s=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"regular_text",label:(0,r.__)("Regular","admin-options-pages")},{id:"small_text",label:(0,r.__)("Small","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function Hs(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fi,{}),(0,Te.jsx)(Vi,{}),(0,Te.jsx)(Bi,{}),(0,Te.jsx)($i,{}),(0,Te.jsx)(Ri,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function Us(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Ii,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:$s,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hi,{}),(0,Te.jsx)(Ui,{})]})}f("date_time",e=>{const t={};return e.field_style||(t.field_style="regular_text"),e.toggle_autoload||(t.toggle_autoload="yes"),t}),f("range",e=>{const t={};return e.decimals||(t.decimals="0"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const Gs={id:"extensions",label:(0,r.__)("Allowed file types","admin-options-pages"),types:[{label:(0,r.__)(".pdf","admin-options-pages"),id:"pdf"},{label:(0,r.__)(".doc","admin-options-pages"),id:"doc"},{label:(0,r.__)(".docx","admin-options-pages"),id:"docx"},{label:(0,r.__)(".xls","admin-options-pages"),id:"xls"},{label:(0,r.__)(".xlsx","admin-options-pages"),id:"xlsx"},{label:(0,r.__)(".csv","admin-options-pages"),id:"csv"},{label:(0,r.__)(".zip","admin-options-pages"),id:"zip"},{label:(0,r.__)(".txt","admin-options-pages"),id:"txt"}]};function Xs(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fi,{}),(0,Te.jsx)(Vi,{}),(0,Te.jsx)(Bi,{}),(0,Te.jsx)($i,{}),(0,Te.jsx)(vs,{data:Gs,value:e.extensions?.types,onChange:n=>t("extensions",{...e.extensions,types:n})})]})}function Ws(){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Hi,{}),(0,Te.jsx)(Ui,{})]})}f("file",e=>{const t={};return e.toggle_autoload||(t.toggle_autoload="yes"),e.extensions?.types||(t.extensions={types:{pdf:"on",doc:"on",docx:"on",xls:"on",xlsx:"on",csv:"on",zip:"on",txt:"on"}}),t});const Ys={text_field:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Text field","admin-options-pages"),content:(0,Te.jsx)(ns,{}),options:(0,Te.jsx)(as,{})})},textarea:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Textarea","admin-options-pages"),content:(0,Te.jsx)(ss,{}),options:(0,Te.jsx)(os,{})})},number:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Number","admin-options-pages"),content:(0,Te.jsx)(rs,{}),options:(0,Te.jsx)(cs,{})})},checkbox:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Checkbox","admin-options-pages"),content:(0,Te.jsx)(us,{}),options:(0,Te.jsx)(ps,{})})},radio:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Radio buttons","admin-options-pages"),content:(0,Te.jsx)(ms,{}),options:(0,Te.jsx)(fs,{})})},select_field:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Select","admin-options-pages"),content:(0,Te.jsx)(ms,{}),options:(0,Te.jsx)(fs,{})})},image:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Image","admin-options-pages"),content:(0,Te.jsx)(xs,{}),options:(0,Te.jsx)(bs,{})})},color_picker:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Color picker","admin-options-pages"),content:(0,Te.jsx)(ys,{}),options:(0,Te.jsx)(ws,{})})},wysiwyg_editor:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Wysiwyg editor","admin-options-pages"),content:(0,Te.jsx)(Ns,{}),options:(0,Te.jsx)(Es,{})})},title:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Title","admin-options-pages"),content:(0,Te.jsx)(Cs,{}),options:(0,Te.jsx)(Ds,{})})},description:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Description","admin-options-pages"),content:(0,Te.jsx)(Ui,{}),options:(0,Te.jsx)(Hi,{})})},horizontal_rule:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Horizontal rule","admin-options-pages"),content:null,options:(0,Te.jsx)(Hi,{})})},email:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Email","admin-options-pages"),content:(0,Te.jsx)(Ss,{}),options:(0,Te.jsx)(Ts,{})})},link:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Link","admin-options-pages"),content:(0,Te.jsx)(ks,{}),options:(0,Te.jsx)(Is,{})})},password:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Password","admin-options-pages"),content:(0,Te.jsx)(As,{}),options:(0,Te.jsx)(Ls,{})})},date:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Date","admin-options-pages"),content:(0,Te.jsx)(zs,{}),options:(0,Te.jsx)(Fs,{})})},time:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Time","admin-options-pages"),content:(0,Te.jsx)(Vs,{}),options:(0,Te.jsx)(Bs,{})})},date_time:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Date and time","admin-options-pages"),content:(0,Te.jsx)(Hs,{}),options:(0,Te.jsx)(Us,{})})},range:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Range","admin-options-pages"),content:(0,Te.jsx)(rs,{}),options:(0,Te.jsx)(cs,{})})},button_group:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Button group","admin-options-pages"),content:(0,Te.jsx)(ms,{}),options:(0,Te.jsx)(fs,{})})},file:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("File","admin-options-pages"),content:(0,Te.jsx)(Xs,{}),options:(0,Te.jsx)(Ws,{})})}},qs=Object.keys(Ys).filter(e=>!["password","title","description","horizontal_rule"].includes(e)),Js={live_help:'<svg aria-hidden="true" role="img" focusable="false" class="c-material-icon" xmlns="http://www.w3.org/2000/svg"viewBox="0 0 24 24"><path d="M19 2H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h4l3 3 3-3h4c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 16h-4.83l-.59.59L12 20.17l-1.59-1.59-.58-.58H5V4h14v14zm-8-3h2v2h-2zm1-8c1.1 0 2 .9 2 2 0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4S8 6.79 8 9h2c0-1.1.9-2 2-2z"/></svg>',text_fields:'<svg aria-hidden="true" role="img" focusable="false" class="c-material-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2.5,4v3h5v12h3V7h5V4H2.5z M21.5,9h-9v3h3v7h3v-7h3V9z"/></svg>',colorize:'<svg aria-hidden="true" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="c-material-icon"><path d="M0,0h24v24H0V0z" fill="none"></path><path d="M17.66,5.41l0.92,0.92l-2.69,2.69l-0.92-0.92L17.66,5.41 M17.67,3c-0.26,0-0.51,0.1-0.71,0.29l-3.12,3.12L11.91,4.5 L10.5,5.91l1.42,1.42L3,16.25V21h4.75l8.92-8.92l1.42,1.42l1.41-1.41l-1.92-1.92l3.12-3.12c0.4-0.4,0.4-1.03,0.01-1.42l-2.34-2.34 C18.17,3.1,17.92,3,17.67,3L17.67,3z M6.92,19L5,17.08l8.06-8.06l1.92,1.92L6.92,19L6.92,19z"/></svg>',looks_5:'<svg aria-hidden="true" role="img" focusable="false" class="c-material-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M19,19H5V5h14V19z"/><path d="M15,15v-2c0-1.11-0.9-2-2-2h-2V9h4V7H9v6h4v2H9v2h4C14.1,17,15,16.11,15,15z"/></svg>',notes:'<svg aria-hidden="true" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="c-material-icon"><polygon points="21,11.01 3,11 3,13 21,13"/><rect x="3" y="16" width="12" height="2"/><polygon points="21,6 3,6 3,8.01 21,8"/></svg>',check_box:'<svg aria-hidden="true" role="img" focusable="false" class="c-material-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M19,19H5V5h14V19z"/><polygon points="17.99,9 16.58,7.58 9.99,14.17 7.41,11.6 5.99,13.01 9.99,17"/></svg>',radio_button_checked:'<svg aria-hidden="true" role="img" focusable="false" class="c-material-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12,2C6.48,2,2,6.48,2,12s4.48,10,10,10s10-4.48,10-10S17.52,2,12,2z M12,20c-4.42,0-8-3.58-8-8s3.58-8,8-8s8,3.58,8,8 S16.42,20,12,20z"/><circle cx="12" cy="12" r="5"/></svg>',image:'<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="c-material-icon"><path d="m19 5v14h-14v-14h14m0-2h-14c-1.1 0-2 0.9-2 2v14c0 1.1 0.9 2 2 2h14c1.1 0 2-0.9 2-2v-14c0-1.1-0.9-2-2-2z"></path><path d="m14.14 11.86l-3 3.87-2.14-2.59-3 3.86h12l-3.86-5.14z"></path></svg>',title:'<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" focusable="false" class="c-material-icon" viewBox="0 0 24 24"><path d="M5,4v3h5.5v12h3V7H19V4H5z"/></svg>',short_text:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M4,9h16v2H4V9z M4,13h10v2H4V13z"/></svg>',remove:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M19,13H5v-2h14V13z"/></svg>',select:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M24 24H0V0h24v24z" fill="none" opacity=".87"/><path d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6-1.41-1.41z"/></svg>',editor:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><g><rect fill="none" height="24" width="24"/><path d="M19,3H5C3.89,3,3,3.9,3,5v14c0,1.1,0.89,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.11,3,19,3z M19,19H5V7h14V19z M17,12H7v-2 h10V12z M13,16H7v-2h6V16z"/></g></svg>',email:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4-8 5-8-5V6l8 5 8-5v2z"/></svg>',link:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"/></svg>',lock:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zM9 6c0-1.66 1.34-3 3-3s3 1.34 3 3v2H9V6zm9 14H6V10h12v10zm-6-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z"/></svg>',event:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z"/></svg>',schedule:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"/><path d="M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"/></svg>',date_range:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M9 11H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm2-7h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z"/></svg>',tune:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M3 17v2h6v-2H3zM3 5v2h10V5H3zm10 16v-2h8v-2h-8v-2h-2v6h2zM7 9v2H3v2h4v2h2V9H7zm14 4v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z"/></svg>',apps:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M4 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4zm-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z"/></svg>',insert_drive_file:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6H6zm7 7V3.5L18.5 9H13z"/></svg>'},Zs=[{title:(0,r.__)("Text field","admin-options-pages"),id:"text_field",icon:"text_fields"},{title:(0,r.__)("Number","admin-options-pages"),id:"number",icon:"looks_5"},{title:(0,r.__)("Wysiwyg editor","admin-options-pages"),id:"wysiwyg_editor",icon:"editor"},{title:(0,r.__)("Textarea","admin-options-pages"),id:"textarea",icon:"notes"},{title:(0,r.__)("Checkbox","admin-options-pages"),id:"checkbox",icon:"check_box"},{title:(0,r.__)("Radio buttons","admin-options-pages"),id:"radio",icon:"radio_button_checked"},{title:(0,r.__)("Image","admin-options-pages"),id:"image",icon:"image"},{title:(0,r.__)("Color picker","admin-options-pages"),id:"color_picker",icon:"colorize"},{title:(0,r.__)("Select","admin-options-pages"),id:"select_field",icon:"select"},{title:(0,r.__)("Email","admin-options-pages"),id:"email",icon:"email"},{title:(0,r.__)("Link","admin-options-pages"),id:"link",icon:"link"},{title:(0,r.__)("Password","admin-options-pages"),id:"password",icon:"lock"},{title:(0,r.__)("Date","admin-options-pages"),id:"date",icon:"event"},{title:(0,r.__)("Time","admin-options-pages"),id:"time",icon:"schedule"},{title:(0,r.__)("Date and time","admin-options-pages"),id:"date_time",icon:"date_range"},{title:(0,r.__)("Range","admin-options-pages"),id:"range",icon:"tune"},{title:(0,r.__)("Button group","admin-options-pages"),id:"button_group",icon:"apps"},{title:(0,r.__)("File","admin-options-pages"),id:"file",icon:"insert_drive_file"}],Qs=[{title:(0,r.__)("Title","admin-options-pages"),id:"title",icon:"title"},{title:(0,r.__)("Description","admin-options-pages"),id:"description",icon:"short_text"},{title:(0,r.__)("Horizontal rule","admin-options-pages"),id:"horizontal_rule",icon:"remove"}],eo=430;function to({open:e}){return(0,Te.jsx)("button",{type:"button","aria-expanded":e?"true":"false",className:"c-field-types__list-toggle",children:(0,Te.jsx)("svg",{className:"c-field-types__list-toggle-arrow",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",role:"img","aria-hidden":"true",focusable:"false",children:(0,Te.jsx)("path",{d:e?"M12,8l-6,6l1.41,1.41L12,10.83l4.59,4.58L18,14L12,8z":"M7.41,8.59L12,13.17l4.59-4.58L18,10l-6,6l-6-6L7.41,8.59z"})})})}function no({title:e,fields:t,open:n,onToggle:a,onPick:i,onEscape:s}){return(0,Te.jsxs)("div",{className:"c-field-types__content",children:[(0,Te.jsxs)("h2",{className:"c-field-types__title",onClick:a,children:[e,(0,Te.jsx)(to,{open:n})]}),(0,Te.jsx)("ul",{className:"c-field-types__list",style:n?void 0:{display:"none"},children:t.map(e=>{return(0,Te.jsx)("li",{className:"c-field-types__item",children:(0,Te.jsxs)("button",{name:e.id,type:"button",tabIndex:0,className:"c-field-types__button",onClick:()=>i(e.id),onKeyDown:e=>"Escape"===e.key&&s(),children:[e.addOnIcon?(0,Te.jsx)("span",{className:"c-field-types__button-icon",children:(0,Te.jsx)(Me.Icon,{icon:e.addOnIcon,size:24,"aria-hidden":"true"})}):(0,Te.jsx)("span",{className:"c-field-types__button-icon",dangerouslySetInnerHTML:{__html:(t=e.icon,Js[t]||Js.live_help)}}),(0,Te.jsx)("span",{className:"c-field-types__button-title",children:e.title})]})},e.id);var t})})]})}function ao({pageKey:e,suffix:t,isEmpty:n}){const{addField:a,setUi:i}=(0,l.useDispatch)(Ce),[s,c]=(0,o.useState)(!1),[d,u]=(0,o.useState)(""),[p,g]=(0,o.useState)("bottom"),[m,f]=(0,o.useState)(!0),[h,v]=(0,o.useState)(!0),_=(0,o.useRef)(),x=(0,o.useRef)(),b=(0,o.useRef)(),y=(0,o.useRef)(),w=e=>e.title.toLowerCase().includes(d.toLowerCase()),j=(0,l.useSelect)(e=>e(Ce).getFieldTypes()||[],[]),N=[...Zs,...Qs].map(e=>e.id),E=j.filter(e=>!N.includes(e.type)).map(e=>{return{id:e.type,title:Zi().get(e.type)?.label||e.label,icon:Zi().get(e.type)?.materialIcon||"live_help",addOnIcon:(t=Zi().get(e.type)?.icon,"string"==typeof t?/^[a-z0-9-]+$/.test(t)?t:null:(0,o.isValidElement)(t)||"function"==typeof t?t:null),group:e.group};var t}),D=[...Zs,...E.filter(e=>"layout"!==e.group)].filter(w),C=[...Qs,...E.filter(e=>"layout"===e.group)].filter(w);function M(){c(!1),i("hoverOverDropdown",!1),y.current?.focus()}function S(t){const n=N.includes(t)?function(e){return qs.includes(e)?{frontend:"yes"}:{}}(t):function(e){const t={};return(e?.settings||[]).forEach(e=>{void 0!==e.default&&""!==e.default&&null!==e.default&&(t[e.key]=e.default)}),t}(j.find(e=>e.type===t));a(e,t,void 0,n),c(!1),i("hoverOverDropdown",!1)}return(0,o.useEffect)(()=>{if(!s)return;const e=e=>{_.current&&!_.current.contains(e.target)&&(c(!1),i("hoverOverDropdown",!1))};return document.addEventListener("click",e),()=>document.removeEventListener("click",e)},[s,i]),(0,o.useLayoutEffect)(()=>{if(!s)return;const e=document.querySelector(".c-editor-main"),t=x.current;function n(){if(!e||!t||!_.current)return;const n=e.clientHeight+88,a=_.current.getBoundingClientRect().top,i=a>n/2?a-88-10:n-a-46;g(a>n/2?"top":"bottom"),i<eo?(t.style.height=eo-(eo-i)+"px",t.lastChild.style.height=340-(eo-i)+"px"):(t.style.height="430px",t.lastChild.style.height="340px")}return n(),b.current?.focus(),e?.addEventListener("scroll",n),()=>e?.removeEventListener("scroll",n)},[s]),(0,Te.jsxs)("div",{className:Se("o-dropdown-group",n&&"is-empty"),ref:_,children:[(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Add a field","admin-options-pages"),children:(0,Te.jsx)("button",{ref:y,type:"button","aria-haspopup":"true","aria-expanded":s?"true":"false","aria-pressed":s?"true":"false",className:"c-icon-button c-icon-button--insert-toggle is-appender","aria-label":(0,r.__)("Add a field","admin-options-pages"),onClick:()=>c(!s),children:(0,Te.jsx)(Me.Icon,{icon:Di,size:20})})}),(0,Te.jsxs)("div",{ref:x,className:Se("c-field-types flex flex-col h-full","top"===p&&"above-button"),style:s?void 0:{display:"none"},id:`dropdown-${t}`,onMouseEnter:()=>s&&i("hoverOverDropdown",!0),onMouseLeave:()=>i("hoverOverDropdown",!1),children:[(0,Te.jsx)("div",{className:"p-4",children:(0,Te.jsx)("div",{className:"c-field-types__search-wrapper",children:(0,Te.jsx)("input",{ref:b,type:"search",className:"c-field-types__search",value:d,placeholder:(0,r.__)("Search…","admin-options-pages"),onChange:e=>{u(e.target.value),f(!0),v(!0)},onKeyDown:e=>{"Enter"===e.key&&e.preventDefault(),"Escape"===e.key&&M()}})})}),(0,Te.jsxs)("div",{className:"c-field-types__wrapper pl-4 pr-4 pb-4",children:[D.length>0&&(0,Te.jsx)(no,{title:(0,r.__)("Options fields","admin-options-pages"),fields:D,open:m,onToggle:()=>!d&&f(!m),onPick:S,onEscape:M}),C.length>0&&(0,Te.jsx)(no,{title:(0,r.__)("Static content","admin-options-pages"),fields:C,open:h,onToggle:()=>!d&&v(!h),onPick:S,onEscape:M}),0===D.length&&0===C.length&&(0,Te.jsx)("p",{className:"c-field-types__not-found-text",children:(0,r.__)("Nothing found.","admin-options-pages")})]})]})]})}const io={page:["page"],field:["field","fieldList","fieldSlot"]},so=(0,o.createContext)(null);function oo(e){const t=e.active.data.current?.type,n=io[t]||[t];return tn({...e,droppableContainers:e.droppableContainers.filter(e=>n.includes(e.data.current?.type))})}function lo({bar:e}){return(0,Te.jsx)("div",{className:"aop-drag-copy",ref:t=>{t&&!t.firstChild&&t.appendChild(e)}})}function ro({children:e}){const t=(0,l.useSelect)(e=>e(Ce).getPages(),[]),{movePage:n,moveField:a,moveFieldToPage:i,setUi:s,closeAllPages:r,setFieldOpen:c}=(0,l.useDispatch)(Ce),d=Wt(Xt(Bn,{activationConstraint:{distance:5}})),[u,p]=(0,o.useState)(null),[g,m]=(0,o.useState)(null);return(0,Te.jsxs)(ya,{sensors:d,collisionDetection:oo,measuring:{droppable:{strategy:Yn.Always}},onDragStart:e=>{ai(),function({active:e,activatorEvent:n}){s("moving",!0);const a=n?.target?.closest?.(".c-top-bar");p(a?{bar:a.cloneNode(!0),width:a.getBoundingClientRect().width,grabX:n.clientX-a.getBoundingClientRect().left,grabY:n.clientY-a.getBoundingClientRect().top}:null),"page"!==e.data.current?.type?t.forEach((t,n)=>{const a=(t.fields||[]).findIndex(t=>`field:${t.id}`===e.id);-1!==a&&c(n,a,!1)}):r()}(e)},onDragEnd:e=>{ii(),function({active:e,over:o}){if(p(null),m(null),setTimeout(()=>s("moving",!1),0),g){const n=ci(t,String(e.id));return void(n&&i(n.pageKey,n.index,g.pageKey,g.index))}const l=di(t,String(e.id),o&&String(o.id));l&&("movePage"===l.action?n(l.from,l.to):"moveField"===l.action?a(l.pageKey,l.from,l.to):i(l.fromPage,l.fromIndex,l.toPage,l.toIndex))}(e)},onDragMove:function({active:e,over:n,activatorEvent:a,delta:i}){const s=void 0===a?.clientY?null:a.clientY+i.y,o=null!==s&&Boolean(n?.rect)&&s>n.rect.top+n.rect.height/2,l=n?function(e,t,n,a=null,i=!1){if(!t.startsWith("field:"))return null;if(n===ri)return a;const s=di(e,t,n);return"moveFieldToPage"!==s?.action?null:{pageKey:s.toPage,index:i&&n.startsWith("field:")?s.toIndex+1:s.toIndex}}(t,String(e.id),String(n.id),g,o):null;l?.pageKey===g?.pageKey&&l?.index===g?.index||m(l)},onDragCancel:()=>{ii(),p(null),m(null),s("moving",!1)},children:[(0,Te.jsx)(so.Provider,{value:g,children:e}),(0,Te.jsx)(Pa,{dropAnimation:null,modifiers:[function({transform:e,activatorEvent:t,draggingNodeRect:n}){return u&&n&&void 0!==t?.clientX?{...e,x:t.clientX+e.x-u.grabX-n.left,y:t.clientY+e.y-u.grabY-n.top}:e}],children:u?(0,Te.jsx)("div",{style:{width:u.width},children:(0,Te.jsx)(lo,{bar:u.bar})}):null})]})}function co({pageKey:e,page:t,set:n}){const a=`pages[${e}][subpage_position]`,{message:i,invalid:s,onTouch:o}=qe({name:a,value:t.subpage_position??"",rules:"numeric|between:0,100",as:"subpage position"});return(0,Te.jsxs)("div",{className:"o-input-wrapper has-message",children:[(0,Te.jsx)("label",{htmlFor:a,className:"c-input-label for-toggle",children:(0,r.__)("Position","admin-options-pages")}),(0,Te.jsxs)("div",{className:"o-input-wrapper__field",children:[(0,Te.jsx)("input",{className:Se("c-input is-position",s&&"not-valid"),type:"text",placeholder:"0-100",name:a,id:a,value:t.subpage_position??"",...Le(`${a}-message`,s),onChange:e=>n("subpage_position",e.target.value),onBlur:o,onKeyDown:e=>{"Enter"===e.key&&e.preventDefault(),function(e,t,n){if(it(e))return;const{key:a}=e;["0",...at].includes(a)||nt.includes(a)||("ArrowUp"===a?(e.preventDefault(),""===e.target.value?n(1):Number(t)<=99&&n(Number(t)+1)):"ArrowDown"===a?(e.preventDefault(),""!==e.target.value&&Number(t)>=1&&n(Number(t)-1)):e.preventDefault())}(e,t.subpage_position,e=>n("subpage_position",e))}}),(0,Te.jsx)(Ae,{id:`${a}-message`,message:s?i:null})]})]})}function uo({pageKey:e,sortable:t}){const{page:n,menuType:a,text:i,moving:s,pageCount:c}=(0,l.useSelect)(t=>{const n=t(Ce);return{page:n.getPage(e),menuType:n.getMenuType(),text:n.getText(),moving:n.getUi().moving,pageCount:n.getPages().length}},[e]),{setIn:d,togglePage:u,setPageOpen:p,removePage:g,moveField:m}=(0,l.useDispatch)(Ce),f=(0,o.useContext)(so),h=(0,o.useRef)(),v=(0,o.useRef)(),_=(0,o.useRef)(Boolean(n.menu_title)),x=(0,o.useRef)(void 0===n.subpage_title&&c>1),b=(t,n)=>d(["pages",e,t],n),y=Boolean(n.subpage_toggle),w=(j=n.menu_title,N=n.subpage_slug_suffix,`${(j||"").trimEnd().split(" ").join("-")}-${N}`.normalize("NFD").replace(/[̀-ͯ]/g,""));var j,N;const E=function(e){const t="None",n=e.menu_title||"",a=e.subpage_title||"",i=[t,n,a].filter(Boolean),s=e.select_title;return{value:[n,a,t].includes(s)?s:t,options:i}}(n),D=t=>`pages[${e}][${t}]`;(0,o.useEffect)(()=>{if(x.current){h.current?.scrollIntoView?.({behavior:"smooth",block:"center"});const e=setTimeout(()=>wi(v.current),300);return()=>clearTimeout(e)}if(window.location.hash&&window.location.hash.substring(1)===n.subpage_slug_suffix){p(e,!0);const t=setTimeout(()=>{h.current?.scrollIntoView?.({behavior:"smooth",block:"start"}),window.history.replaceState({},document.title,window.location.href.replace(window.location.hash,""))},200);return()=>clearTimeout(t)}},[]);const C="existing"===a?`${n.parent_slug}?page=${w}`:`admin.php?page=${w}`;return(0,Te.jsxs)("div",{className:"o-page",id:n.subpage_slug_suffix,ref:h,children:[(0,Te.jsxs)("div",{role:"presentation",className:Se("c-top-bar c-top-bar--subpage bg-gray-wp-100 border border-gray-wp-400 hover:border-gray-700",y&&"is-open"),onClick:()=>!s&&u(e),...t&&t.barProps,children:[(0,Te.jsxs)("div",{className:"c-top-bar__left",children:[t&&(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Drag to reorder","admin-options-pages"),children:(0,Te.jsx)("span",{className:"c-top-bar__drag-handle","aria-hidden":"true",onClick:e=>e.stopPropagation(),...t.handleProps,children:(0,Te.jsx)(Me.Icon,{icon:dt,size:20})})}),(0,Te.jsx)("h3",{className:Se("c-top-bar__title is-subpage",!n.menu_title&&"is-placeholder"),children:n.menu_title?n.menu_title:(0,r.__)("Title","admin-options-pages")})]}),(0,Te.jsxs)("div",{className:"c-top-bar__right",children:[t&&(0,Te.jsx)("span",{onClick:e=>e.stopPropagation(),children:(0,Te.jsx)(ui,{canMoveUp:t.canMoveUp,canMoveDown:t.canMoveDown,onUp:t.moveUp,onDown:t.moveDown})}),(0,Te.jsx)("button",{type:"button",className:"c-top-bar__toggle","aria-expanded":y?"true":"false",children:(0,Te.jsx)("span",{className:Se("c-top-bar__toggle-indicator",y&&"is-open"),"aria-hidden":"true"})})]})]}),(0,Te.jsxs)("div",{className:"o-page__inside border-gray-wp-400",style:y?void 0:{display:"none"},children:[(0,Te.jsxs)("div",{className:"o-page__wrapper",children:[(0,Te.jsxs)("div",{className:"o-page__content",children:[(0,Te.jsx)(Ti,{name:D("menu_title"),id:D("menu_title"),label:(0,r.__)("Menu page title","admin-options-pages"),value:n.menu_title,onChange:e=>b("menu_title",e),rules:"required|alphanumeric_spaces",as:"page menu title",placeholder:(0,r.__)("Title","admin-options-pages"),inputRef:v}),(0,Te.jsx)(Ti,{name:D("subpage_title"),id:D("subpage_title"),label:(0,r.__)("Page title","admin-options-pages"),value:n.subpage_title,onChange:e=>b("subpage_title",e),rules:"no_less_than_sign",as:"page title"}),(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:`subpage_page_selector_${e}`,className:"c-input-label",children:(0,r.__)("Page title on top","admin-options-pages")}),(0,Te.jsx)("select",{className:"c-select",name:D("select_title"),id:`subpage_page_selector_${e}`,value:E.value,onChange:e=>b("select_title",e.target.value),onKeyDown:e=>"Enter"===e.key&&e.preventDefault(),children:E.options.map((e,t)=>(0,Te.jsx)("option",{children:e},`${e}-${t}`))})]}),(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:`subpage_tab_${e}`,className:"c-input-label for-toggle",children:(0,r.__)("Show page with tab","admin-options-pages")}),(0,Te.jsx)(Oi,{name:D("subpage_tab"),id:`subpage_tab_${e}`,checked:Boolean(n.include_tab),value:"1",onChange:e=>b("include_tab",e)})]}),(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:`subpage_role_selector_${e}`,className:"c-input-label",children:(0,r.__)("User access level","admin-options-pages")}),(0,Te.jsxs)("select",{className:"c-select",name:D("role"),id:`subpage_role_selector_${e}`,value:(M=n.capability,void 0===M||"manage_options"===M||"administrator"===M?"administrator":"editor"),onChange:e=>b("capability",e.target.value),onKeyDown:e=>"Enter"===e.key&&e.preventDefault(),children:[(0,Te.jsx)("option",{value:"administrator",children:i?.general?.role?.administrator}),(0,Te.jsx)("option",{value:"editor",children:i?.general?.role?.editor})]})]}),"existing"===a?(0,Te.jsx)(co,{pageKey:e,page:n,set:b}):(0,Te.jsx)("input",{type:"hidden",name:D("subpage_position"),value:""}),(0,Te.jsx)("input",{type:"hidden",name:D("subpage_toggle"),value:String(y)}),(0,Te.jsx)("input",{type:"hidden",name:D("subpage_slug"),value:w}),(0,Te.jsx)("input",{type:"hidden",name:D("subpage_slug_suffix"),value:n.subpage_slug_suffix})]}),(0,Te.jsxs)("div",{className:"o-page__options flex flex-col justify-between",children:[_.current&&(0,Te.jsx)("div",{className:"o-input-wrapper justify-end",children:(0,Te.jsx)("a",{href:C,className:"alignright button",children:(0,r.__)("Visit Page","admin-options-pages")})}),(0,Te.jsx)("div",{className:"o-input-wrapper justify-end",children:(0,Te.jsx)(_i,{label:(0,r.__)("Delete Page","admin-options-pages"),onConfirm:()=>g(e)})})]})]}),(0,Te.jsxs)("div",{className:"o-fields-wrapper border-gray-wp-200 border-t",children:[(0,Te.jsx)(hi,{shared:!0,type:"field",containerId:li(e),items:n.fields,getId:oi,className:Se("o-drag-list for-fields",s&&"is-active",!n.fields[0]&&"is-empty"),itemClassName:"o-field",slotIndex:f?.pageKey===e?f.index:null,ghostAway:null!==f,onMove:(t,n)=>m(e,t,n),renderItem:(t,n,a)=>(0,Te.jsx)(es,{pageKey:e,fieldKey:n,slug:w,sortable:a})}),(0,Te.jsx)(ao,{pageKey:e,suffix:n.subpage_slug_suffix,isEmpty:!n.fields[0]})]})]})]});var M}function po({config:e={}}){const{pages:t,removedFields:n,id:a,sideBarVisible:s,hoverOverDropdown:c,moving:d,text:u}=(0,l.useSelect)(e=>{const t=e(Ce);return{pages:t.getPages(),removedFields:t.getRemovedFields(),id:t.getData().id,sideBarVisible:t.isSidebarVisible(),hoverOverDropdown:t.getUi().hoverOverDropdown,moving:t.getUi().moving,text:t.getText()}},[]),{movePage:p,validateAll:g,setFieldTypes:m}=(0,l.useDispatch)(Ce),[f,h]=(0,o.useState)(!1),[v,_]=(0,o.useState)([]);return(0,o.useEffect)(()=>{let e=!1;return i()({path:"/aop/v1/field-types"}).then(t=>!e&&m(t.types)).catch(()=>{}),()=>{e=!0}},[m]),(0,o.useEffect)(()=>{if(a){const e=setTimeout(()=>g(),100);return()=>clearTimeout(e)}},[a,g]),(0,Te.jsxs)("div",{className:"inset-0 absolute block-editor__container",children:[(0,Te.jsx)("div",{className:"h-full",children:(0,Te.jsx)("div",{className:"h-full",children:(0,Te.jsx)("div",{className:"h-full",children:(0,Te.jsxs)("form",{method:"POST",onSubmit:async function(e){if(e.preventDefault(),!f){h(!0),_([]);try{const t=await function({id:e,body:t}){return i()({path:"/aop/v1/pages"+(e?`/${e}`:""),method:"POST",body:t})}({id:a,body:new URLSearchParams(new FormData(e.currentTarget))});return void(a?window.location.reload():window.location.assign(t.redirect))}catch(e){_(function(e){const t=e?.data?.errors;return Array.isArray(t)&&t.length?t.map(e=>e.message):[e?.message||(0,r.__)("Saving failed.","admin-options-pages")]}(e))}h(!1)}},children:[v.length>0&&(0,Te.jsx)("div",{className:"notice notice-error aop-save-errors",role:"alert",children:v.map(e=>(0,Te.jsx)("p",{children:e},e))}),(0,Te.jsxs)(ro,{children:[(0,Te.jsx)(rt,{}),(0,Te.jsxs)("div",{className:Se("c-editor-main",!s&&"no-side-bar",c&&"dropdown-active"),children:[(0,Te.jsx)("input",{type:"hidden",id:e.nonceName,name:e.nonceName,value:e.nonce||""}),(0,Te.jsx)("input",{type:"hidden",name:"_wp_http_referer",value:e.referer||""}),(0,Te.jsx)("input",{type:"hidden",name:"side_bar_visible",value:String(s)}),n.map(e=>(0,Te.jsx)("input",{type:"hidden",name:"removed_fields[]",value:e},e)),(0,Te.jsx)("div",{className:"o-body",children:(0,Te.jsx)("div",{className:"o-body__content",children:(0,Te.jsxs)("div",{className:"w-full relative",children:[(0,Te.jsx)("div",{className:"screen-reader-text"}),(0,Te.jsxs)("div",{className:"o-meta-box__pages-wrapper",children:[(0,Te.jsx)(hi,{shared:!0,type:"page",items:t,getId:si,className:Se("o-drag-list",d&&"is-active"),itemClassName:"",onMove:(e,t)=>p(e,t),renderItem:(e,t,n)=>(0,Te.jsx)(uo,{pageKey:t,sortable:n})}),(0,Te.jsx)(Qe,{}),(0,Te.jsx)("div",{className:"h-screen-half w-full"})]})]})})})]}),(0,Te.jsx)("div",{children:(0,Te.jsx)(ct,{})})]}),(0,Te.jsxs)("div",{className:"hidden min-width-screen bg-white w-full h-full z-50 absolute",children:[(0,Te.jsx)("div",{}),(0,Te.jsxs)("div",{className:"bg-gray-200 my-5",children:[(0,Te.jsx)("p",{className:"text-center text-xl mt-20 px-20",children:(0,r.__)("At this moment there is no proper support for small/mobile screens.","admin-options-pages")}),(0,Te.jsx)("p",{className:"text-center text-xl px-20",children:(0,r.__)("We hope to fix this in a future version.","admin-options-pages")}),(0,Te.jsx)("p",{className:"text-center text-2xl mt-20 px-20",children:(0,r.__)("The minimum required screen width is 1000px.","admin-options-pages")})]}),(0,Te.jsx)("div",{})]})]})})})}),(0,Te.jsx)("span",{className:"screen-reader-text",children:a?u?.page?.update?.h1Title:u?.page?.create?.h1Title})]})}function go({config:e}){return(0,Te.jsx)(po,{config:e})}const mo={};function fo(e,t){mo[e]=t}function ho(e){return{...e.dataset}}const vo="aop-modal-is-open",_o=window.aop_script_data_js;var xo;_o&&(xo=_o.rest,!s&&xo&&(i().use(i().createRootURLMiddleware(xo.root)),i().use(i().createNonceMiddleware(xo.nonce)),s=!0),function(e){const a=function(e,a){return(0,l.createReduxStore)(Ce,{reducer:j,actions:t,selectors:n,initialState:b(e,a)})}(e,{dashIcons:window.aop_dashicons_js});(0,l.register)(a)}(_o),function(e=Zi()){Object.entries(Ys).forEach(([t,n])=>{e.register(t,{EditComponent:n})})}(),fo("modal",function(){const{open:e,href:t,text:n}=(0,l.useSelect)(e=>{const t=e(Ce);return{open:t.isModalOpen(),href:t.getHrefDeleteAction(),text:t.getText()?.general?.modal||{}}},[]),{closeModal:a}=(0,l.useDispatch)(Ce),i=(0,o.useRef)();return(0,o.useEffect)(()=>{if(!e)return;const t=e=>"Escape"===e.key&&a();return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[e,a]),(0,o.useEffect)(()=>(document.body.classList.toggle(vo,e),e&&i.current&&i.current.focus(),()=>document.body.classList.remove(vo)),[e]),(0,Te.jsx)("div",{role:"presentation",className:"c-modal__screen-overlay",style:e?void 0:{display:"none"},onClick:e=>{"c-modal__screen-overlay"===e.target.className&&a()},children:(0,Te.jsx)("div",{className:"c-modal__frame",children:(0,Te.jsxs)("div",{role:"dialog","aria-modal":"true","aria-labelledby":"aop-modal-heading",className:"c-modal__content",ref:i,tabIndex:0,children:[(0,Te.jsxs)("div",{className:"c-modal__header",children:[(0,Te.jsx)("div",{className:"c-modal__header-heading-container",children:(0,Te.jsx)("h1",{className:"c-modal__header-heading",id:"aop-modal-heading",children:(0,Te.jsx)("span",{className:"edit-post-options-modal__title",children:n.heading})})}),(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Close dialog","admin-options-pages"),children:(0,Te.jsx)("button",{type:"button","aria-label":(0,r.__)("Close dialog","admin-options-pages"),className:"c-modal__button c-modal__icon-button",onClick:a,children:(0,Te.jsx)("svg",{"aria-hidden":"true",role:"img",focusable:"false",className:"dashicon dashicons-no-alt",xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",children:(0,Te.jsx)("path",{d:"M14.95 6.46L11.41 10l3.54 3.54-1.41 1.41L10 11.42l-3.53 3.53-1.42-1.42L8.58 10 5.05 6.47l1.42-1.42L10 8.58l3.54-3.53z"})})})})]}),(0,Te.jsxs)("div",{className:"c-modal__section",children:[(0,Te.jsx)("button",{className:"c-modal__button is-button is-cancel",tabIndex:0,type:"button",onClick:a,children:n.cancel}),(0,Te.jsx)("a",{className:"c-modal__button is-button is-delete",href:t,tabIndex:0,onKeyDown:e=>{"Tab"!==e.key||e.shiftKey||setTimeout(()=>i.current?.focus())},children:n.delete})]})]})})})}),fo("delete-page",function({data:e}){const t=(0,l.useSelect)(e=>e(Ce).getText()?.page||{},[]),{openModal:n}=(0,l.useDispatch)(Ce);return(0,Te.jsx)("button",{className:"c-row-action-button is-link",type:"button",onClick:()=>n(e.hrefDeleteAction),children:t.update?.linkDelete})}),function(e=document,t=window.aop_editor_config){const n=[],a=e.querySelector("#aop-react-root");if(a){const e=(0,o.createRoot)(a);e.render((0,Te.jsx)(go,{config:t})),n.push(e)}e.querySelectorAll("[data-aop-mount]").forEach(e=>{const t=mo[e.dataset.aopMount];if(!t)return;const a=(0,o.createRoot)(e);a.render((0,Te.jsx)(t,{data:ho(e)})),n.push(a)})}())})();
     1(()=>{"use strict";const e={n:t=>{const n=t&&t.__esModule?()=>t.default:()=>t;return e.d(n,{a:n}),n},d:(t,n)=>{for(var a in n)e.o(n,a)&&!e.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:n[a]})},o:(e,t)=>Object.hasOwn(e,t),r:e=>{Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}};var t={};e.r(t),e.d(t,{addField:()=>k,addPage:()=>C,addTableRow:()=>F,closeAllPages:()=>R,closeModal:()=>Z,decrementMenuPosition:()=>X,incrementMenuPosition:()=>G,moveField:()=>A,moveFieldToPage:()=>L,movePage:()=>M,moveTableRow:()=>V,openModal:()=>J,openPageOnError:()=>z,removeField:()=>I,removePage:()=>D,removeTableRow:()=>K,removeUnavailableField:()=>O,setExistingMenu:()=>$,setExistingMenus:()=>H,setFieldOpen:()=>P,setFieldTypes:()=>W,setIn:()=>E,setInputError:()=>te,setMenuTitle:()=>U,setMenuType:()=>B,setPageOpen:()=>T,setUi:()=>Y,togglePage:()=>S,toggleSidebar:()=>q,touch:()=>Q,validateAll:()=>ee});var n={};e.r(n),e.d(n,{getDashIcons:()=>ie,getData:()=>ae,getErrors:()=>be,getExcludedOptionNames:()=>Ee,getExistingMenu:()=>ge,getExistingMenus:()=>me,getField:()=>de,getFieldNames:()=>Ne,getFieldTypes:()=>Ce,getHrefDeleteAction:()=>_e,getMenu:()=>pe,getMenuType:()=>he,getPage:()=>ce,getPageData:()=>ne,getPages:()=>le,getRemovedFields:()=>re,getShownError:()=>ye,getText:()=>oe,getUi:()=>se,hasChanges:()=>je,hasPages:()=>ue,isModalOpen:()=>ve,isSidebarVisible:()=>fe,isTouched:()=>xe,isValid:()=>we});const a=window.wp.apiFetch;var s=e.n(a);let i=!1;const o=window.wp.element,l=window.wp.data,r=window.wp.i18n;function c(e,t,n){if(0===t.length)return n;const[a,...s]=t,i=(o=e??("number"==typeof a?[]:{}),Array.isArray(o)?o.slice():{...o});var o;return i[a]=c(i[a],s,n),i}function d(e,t,n){return c(e,t,n(u(e,t)))}function u(e,t,n){let a=e;for(const e of t){if(null==a)return n;a=a[e]}return void 0===a?n:a}function p(e,t){return e.filter((e,n)=>n!==t)}function g(e,t,n){if(t===n||t<0||n<0||t>=e.length||n>=e.length)return e;const a=e.slice(),[s]=a.splice(t,1);return a.splice(n,0,s),a}const m=new Map;function h(e,t){m.set(e,t)}const f=["field_label","field_title","description"];function v(e){let t=e;const n=function(e){const t={};return"true"===e.field_toggle?t.field_toggle=!0:"false"===e.field_toggle&&(t.field_toggle=!1),f.forEach(n=>{"string"==typeof e[n]&&e[n].includes("\\")&&(t[n]=e[n].replace(/\\/g,""))}),t}(t);Object.keys(n).length&&(t={...t,...n});const a=m.get(t.type),s=a?a(t):{};return Object.keys(s).length?{...t,...s}:t}function _(e=20){let t="";for(let n=0;n<e;n++)t+=String(Math.floor(10*Math.random()));return t}function x(e=10){let t="";for(let n=0;n<e;n++)t+="abcdefghijklmnopqrstuvwxyz0123456789".charAt(Math.floor(36*Math.random()));return t}function b(e,{random:t,randomText:n=x,dashIcons:a=[]}={}){const s=function(e){return e?.data?.existing_menu?"existing":"default"}(e),i=function(e,{random:t=_}={}){const n={...e.data||{}};if(n.pages||(n.pages=[{menu_slug:1,fields:[],subpage_toggle:!0}]),n.menu||(n.menu={page_title:"",menu_title:"",capability:"manage_options",menu_slug:"",menu_slug_suffix:"",icon_url:"dashicons-admin-generic",position:""}),!n.existing_menu){const t=(e.existingAdminMenuTitles||[])[0];n.existing_menu={menu_name:t?t.title:"",menu_slug:t?t.slug:""}}return n.menu_id||(n.menu_id=t(20)),"boolean"!=typeof n.side_bar_visible&&(n.side_bar_visible=!0),{...e,data:n}}(e,{random:t}),o={...i.data,pages:i.data.pages.map((e,t,a)=>function(e,t,n=x){const a={...e,fields:(e.fields||[]).map(v)};return a.subpage_slug_suffix||(a.subpage_slug_suffix=n(10)),void 0===a.subpage_toggle&&1===t&&(a.subpage_toggle=!0),a}(e,a.length,n))};return{pageData:{...i,data:o},initialData:JSON.parse(JSON.stringify(o)),dashIcons:a,ui:{menuType:s,existingMenuSlug:"",menuPagesLoaded:!1,sideBarVisible:i.data.side_bar_visible,modalActive:!1,hrefDeleteAction:"",hoverOverDropdown:!1,moving:!1,fieldTypes:null,errors:{},touched:{}}}}const y=["pageData","data"],w=[...y,"pages"];function j(e,t){switch(t.type){case"SET_IN":return c(e,[...y,...t.path],t.value);case"ADD_PAGE":return d(e,w,e=>[...e,{menu_slug:t.id,fields:[],subpage_toggle:!0,subpage_slug_suffix:t.id}]);case"REMOVE_PAGE":return d(e,w,e=>p(e,t.pageKey));case"MOVE_PAGE":return d(e,w,e=>g(e,t.from,t.to));case"SET_PAGE_OPEN":return c(e,[...w,t.pageKey,"subpage_toggle"],t.open);case"CLOSE_ALL_PAGES":return d(e,w,e=>e.map(e=>e.subpage_toggle?{...e,subpage_toggle:!1}:e));case"TOGGLE_PAGE":return d(e,[...w,t.pageKey,"subpage_toggle"],e=>!e);case"ADD_FIELD":return d(e,[...w,t.pageKey,"fields"],e=>[...e,v({...t.defaults||{},id:t.id,type:t.fieldType,field_toggle:void 0})]);case"REMOVE_FIELD":return d(e,[...w,t.pageKey,"fields"],e=>p(e,t.fieldKey));case"REMOVE_UNAVAILABLE_FIELD":return d(d(e,[...w,t.pageKey,"fields"],e=>p(e,t.fieldKey)),[...y,"removed_fields"],e=>[...e||[],String(t.id)]);case"MOVE_FIELD":return d(e,[...w,t.pageKey,"fields"],e=>g(e,t.from,t.to));case"MOVE_FIELD_TO_PAGE":{const n=e.pageData.data.pages[t.fromPage]?.fields[t.fromIndex];if(!n||!e.pageData.data.pages[t.toPage])return e;let a=d(e,[...w,t.fromPage,"fields"],e=>p(e,t.fromIndex));return a=d(a,[...w,t.toPage,"fields"],e=>{const a=e.slice();return a.splice(Math.min(t.toIndex,a.length),0,n),a}),a}case"SET_FIELD_OPEN":return c(e,[...w,t.pageKey,"fields",t.fieldKey,"field_toggle"],t.open);case"OPEN_PAGE_ON_ERROR":{let n=c(e,[...w,t.pageKey,"subpage_toggle"],!0);return void 0!==t.fieldKey&&(n=c(n,[...w,t.pageKey,"fields",t.fieldKey,"field_toggle"],!0)),n}case"ADD_TABLE_ROW":return d(e,[...w,t.pageKey,"fields",t.fieldKey,"table_list"],e=>[...e||[],{label:"",value:"",id:t.id}]);case"REMOVE_TABLE_ROW":return d(e,[...w,t.pageKey,"fields",t.fieldKey,"table_list"],e=>p(e,t.rowKey));case"MOVE_TABLE_ROW":return d(e,[...w,t.pageKey,"fields",t.fieldKey,"table_list"],e=>g(e,t.from,t.to));case"SET_MENU_TYPE":{let n=c(e,["ui","menuType"],t.menuType);return"existing"===t.menuType&&(n=c(n,[...y,"existing_menu"],t.menu)),"default"===t.menuType&&e.pageData.data.menu&&(n=c(n,[...y,"menu"],t.menu)),n}case"SET_EXISTING_MENU":{const n=e.pageData.existingAdminMenuTitles||[],a=n.find(e=>e.slug===t.slug);if(!a)return e;let s=c(e,["pageData","existingAdminMenuTitles"],[a,...n.filter(e=>e.slug!==t.slug)]);return s=c(s,[...y,"existing_menu"],{menu_name:a.title,menu_slug:t.slug}),c(s,["ui","existingMenuSlug"],t.slug)}case"SET_EXISTING_MENUS":return c(e,["pageData","existingAdminMenuTitles"],t.menus);case"SET_MENU_TITLE":return c(e,[...y,"menu"],{...e.pageData.data.menu,menu_title:t.title,page_title:t.title});case"STEP_MENU_POSITION":return c(e,[...y,"menu","position"],Number(e.pageData.data.menu.position)+t.step);case"SET_UI":return c(e,["ui",t.key],t.value);case"TOGGLE_SIDEBAR":return c(e,["ui","sideBarVisible"],!e.ui.sideBarVisible);case"OPEN_MODAL":return c(c(e,["ui","modalActive"],!0),["ui","hrefDeleteAction"],t.hrefDeleteAction);case"CLOSE_MODAL":return c(c(e,["ui","modalActive"],!1),["ui","hrefDeleteAction"],"");case"TOUCH":return c(e,["ui","touched",t.name],!0);case"VALIDATE_ALL":{const t=Object.keys(e.ui.errors);return t.every(t=>e.ui.touched[t])?e:c(e,["ui","touched"],{...e.ui.touched,...Object.fromEntries(t.map(e=>[e,!0]))})}case"SET_INPUT_ERROR":{const n=e.ui.errors[t.name];if(n===t.message||!n&&!t.message)return e;if(!t.message){const{[t.name]:n,...a}=e.ui.errors;return c(e,["ui","errors"],a)}return c(e,["ui","errors",t.name],t.message)}default:return e}}const N=()=>(new Date).getTime(),E=(e,t)=>({type:"SET_IN",path:e,value:t}),C=(e=N())=>({type:"ADD_PAGE",id:e}),D=e=>({type:"REMOVE_PAGE",pageKey:e}),M=(e,t)=>({type:"MOVE_PAGE",from:e,to:t}),S=e=>({type:"TOGGLE_PAGE",pageKey:e}),T=(e,t)=>({type:"SET_PAGE_OPEN",pageKey:e,open:t}),R=()=>({type:"CLOSE_ALL_PAGES"}),k=(e,t,n=N(),a={})=>({type:"ADD_FIELD",pageKey:e,fieldType:t,id:n,defaults:a}),I=(e,t)=>({type:"REMOVE_FIELD",pageKey:e,fieldKey:t}),O=(e,t,n)=>({type:"REMOVE_UNAVAILABLE_FIELD",pageKey:e,fieldKey:t,id:n}),A=(e,t,n)=>({type:"MOVE_FIELD",pageKey:e,from:t,to:n}),L=(e,t,n,a)=>({type:"MOVE_FIELD_TO_PAGE",fromPage:e,fromIndex:t,toPage:n,toIndex:a}),P=(e,t,n)=>({type:"SET_FIELD_OPEN",pageKey:e,fieldKey:t,open:n}),z=(e,t)=>({type:"OPEN_PAGE_ON_ERROR",pageKey:e,fieldKey:t}),F=(e,t,n=N())=>({type:"ADD_TABLE_ROW",pageKey:e,fieldKey:t,id:n}),K=(e,t,n)=>({type:"REMOVE_TABLE_ROW",pageKey:e,fieldKey:t,rowKey:n}),V=(e,t,n,a)=>({type:"MOVE_TABLE_ROW",pageKey:e,fieldKey:t,from:n,to:a}),B=(e,t)=>({type:"SET_MENU_TYPE",menuType:e,menu:t}),$=e=>({type:"SET_EXISTING_MENU",slug:e}),H=e=>({type:"SET_EXISTING_MENUS",menus:e}),U=e=>({type:"SET_MENU_TITLE",title:e}),G=()=>({type:"STEP_MENU_POSITION",step:1}),X=()=>({type:"STEP_MENU_POSITION",step:-1}),W=e=>({type:"SET_UI",key:"fieldTypes",value:e}),Y=(e,t)=>({type:"SET_UI",key:e,value:t}),q=()=>({type:"TOGGLE_SIDEBAR"}),J=e=>({type:"OPEN_MODAL",hrefDeleteAction:e}),Z=()=>({type:"CLOSE_MODAL"}),Q=e=>({type:"TOUCH",name:e}),ee=()=>({type:"VALIDATE_ALL"}),te=(e,t)=>({type:"SET_INPUT_ERROR",name:e,message:t||null}),ne=e=>e.pageData,ae=e=>e.pageData.data,se=e=>e.ui,ie=e=>e.dashIcons,oe=e=>e.pageData.text,le=e=>e.pageData.data.pages,re=e=>e.pageData.data.removed_fields||[],ce=(e,t)=>le(e)[t],de=(e,t,n)=>u(e,["pageData","data","pages",t,"fields",n]),ue=e=>le(e).length>0,pe=e=>e.pageData.data.menu,ge=e=>e.pageData.data.existing_menu,me=e=>e.pageData.existingAdminMenuTitles||[],he=e=>e.ui.menuType,fe=e=>e.ui.sideBarVisible,ve=e=>e.ui.modalActive,_e=e=>e.ui.hrefDeleteAction,xe=(e,t)=>Boolean(e.ui.touched[t]),be=e=>e.ui.errors,ye=(e,t)=>e.ui.errors[t]&&e.ui.touched[t]?e.ui.errors[t]:null,we=e=>0===Object.keys(e.ui.errors).length&&le(e).length>0,je=e=>JSON.stringify(ae(e))!==JSON.stringify(e.initialData),Ne=e=>le(e).flatMap(e=>e.fields||[]).map(e=>e.field_name).filter(Boolean),Ee=e=>{const t={};Ne(e).forEach(e=>{t[e]=(t[e]||0)+1});const n=Object.keys(t).filter(e=>t[e]>1);return n.length?n:Object.values(e.pageData.data.registered_options||{})},Ce=e=>e.ui.fieldTypes,De="aop/editor",Me=window.wp.components;function Se(...e){return e.filter(Boolean).join(" ")}const Te=window.ReactJSXRuntime;function Re(){const{iconUrl:e,dashIcons:t}=(0,l.useSelect)(e=>{const t=e(De);return{iconUrl:t.getMenu()?.icon_url||"dashicons-admin-generic",dashIcons:t.getDashIcons()||[]}},[]),{setIn:n}=(0,l.useDispatch)(De),[a,s]=(0,o.useState)(!1),[i,c]=(0,o.useState)(""),[d,u]=(0,o.useState)(null),p=(0,o.useRef)(),g=(0,o.useRef)(),m=(0,o.useRef)(),h=(0,o.useRef)(),f=(0,o.useMemo)(()=>t.map(e=>({name:e[0],css:e[1]})).filter(e=>e.name.includes(i.trim())),[t,i]);function v(){a&&(s(!1),u(null),g.current?.focus())}return(0,o.useEffect)(()=>{if(!a)return;const e=e=>{p.current&&!p.current.contains(e.target)&&(s(!1),u(null))},t=e=>{"c-icon-dropdown__item"!==e.target.parentNode?.className&&u(null)};return document.addEventListener("click",e),document.addEventListener("mouseover",t),m.current?.focus(),()=>{document.removeEventListener("click",e),document.removeEventListener("mouseover",t)}},[a]),(0,Te.jsxs)("div",{className:"flex",children:[(0,Te.jsx)("input",{type:"hidden",name:"menu[menu_icon]",id:"menu_icon",value:e}),(0,Te.jsx)("span",{className:"screen-reader-text",children:(0,r.__)("Icon","admin-options-pages")}),(0,Te.jsxs)("div",{className:"relative w-36px",ref:p,children:[(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Choose an icon","admin-options-pages"),children:(0,Te.jsx)("button",{ref:g,type:"button",className:Se("c-icon-picker",a&&"dropdown-is-open"),"aria-label":(0,r.__)("Choose an icon","admin-options-pages"),"aria-expanded":a?"true":"false",onClick:()=>a?v():s(!0),children:(0,Te.jsx)("div",{className:"c-icon-picker__inner",children:(0,Te.jsx)("span",{className:Se("c-icon-picker__icon dashicons-before",`dashicons-${e.replace("dashicons-","")}`)})})})}),a&&(0,Te.jsx)("div",{className:"c-icon-dropdown",onKeyDown:e=>"Escape"===e.key&&v(),children:(0,Te.jsxs)("div",{className:"flex flex-col",children:[(0,Te.jsx)("input",{ref:m,type:"search",className:"c-icon-dropdown__search",placeholder:(0,r.__)("Search for an icon…","admin-options-pages"),value:i,onChange:e=>c(e.target.value),onKeyDown:e=>{if("Enter"===e.key&&e.preventDefault(),"Tab"===e.key&&e.shiftKey){e.preventDefault();const t=h.current?.querySelectorAll("button");(t&&t.length?t[t.length-1]:m.current).focus()}}}),(0,Te.jsx)("div",{className:"pl-4 pr-4 pb-4 overflow-auto h-388px",children:(0,Te.jsxs)("ul",{className:"c-icon-dropdown__row",ref:h,children:[f.map(e=>(0,Te.jsx)("li",{className:"c-icon-dropdown__item",onMouseOver:()=>u(e),onFocus:()=>u(e),children:(0,Te.jsx)("button",{type:"button",tabIndex:0,"aria-label":e.name,className:Se("c-icon-dropdown__icon-name dashicons-before",`dashicons-${e.name}`),onFocus:()=>u(e),onClick:()=>{n(["menu","icon_url"],`dashicons-${e.name}`),s(!1),u(null),g.current?.focus()}})},e.name)),0===f.length&&(0,Te.jsx)("p",{className:"c-icon-dropdown__not-found-text",tabIndex:0,onFocus:()=>{u(null),m.current?.focus()},children:(0,r.__)("Nothing found.","admin-options-pages")})]})}),d&&(0,Te.jsx)("div",{className:"c-icon-dropdown__footer",tabIndex:0,children:(0,Te.jsxs)("p",{className:"c-icon-dropdown__footer__name",children:[d.name,(0,Te.jsx)("code",{className:"c-icon-dropdown__footer__css",dangerouslySetInnerHTML:{__html:d.css}})]})})]})})]})]})}const ke=(0,o.forwardRef)(({icon:e,size:t=24,...n},a)=>(0,o.cloneElement)(e,{width:t,height:t,...n,ref:a})),Ie=window.wp.primitives,Oe=(0,Te.jsx)(Ie.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,Te.jsx)(Ie.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M12.218 5.377a.25.25 0 0 0-.436 0l-7.29 12.96a.25.25 0 0 0 .218.373h14.58a.25.25 0 0 0 .218-.372l-7.29-12.96Zm-1.743-.735c.669-1.19 2.381-1.19 3.05 0l7.29 12.96a1.75 1.75 0 0 1-1.525 2.608H4.71a1.75 1.75 0 0 1-1.525-2.608l7.29-12.96ZM12.75 17.46h-1.5v-1.5h1.5v1.5Zm-1.5-3h1.5v-5h-1.5v5Z"})});function Ae({id:e,message:t,className:n=""}){return(0,Te.jsx)("p",{id:e,className:Se("c-validate-message",n),style:t?void 0:{display:"none"},children:t&&(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(ke,{className:"c-validate-message__icon",icon:Oe,size:16}),(0,Te.jsx)("span",{children:t})]})})}function Le(e,t){return t?{"aria-invalid":!0,"aria-describedby":e}:{}}function Pe({id:e,message:t}){return(0,Te.jsx)("div",{className:"tooltip-error",style:t?void 0:{display:"none"},children:(0,Te.jsx)(Ae,{id:e,message:t})})}const ze=/^[A-Za-z0-9_]+$/,Fe=/^_*[A-Za-z0-9]\w*$/,Ke=/^[\p{L}\p{M}\p{N}\s]+$/u,Ve=/^#(?:[a-f0-9]{3}|[a-f0-9]{6})$/i,Be=/^[A-Za-z0-9_-]+$/,$e=/^[^A-Z]*$/,He=/</,Ue=(e,t)=>Array.isArray(e)?e.every(t):t(e),Ge=e=>null==e||""===e,Xe={required:{getMessage:e=>`The ${e} is required.`,validate:(e,[t=!1]=[])=>Array.isArray(e)?!!e.length:!(!1===e&&t||null==e||!String(e).trim().length)},classAttribute:{getMessage:()=>"Only valid HTML class names allowed.",validate:e=>String(e).split(/\s+/).filter(Boolean).every(e=>Be.test(e))},noUppercase:{getMessage:()=>"No capital letters allowed.",validate:e=>Ue(e,e=>$e.test(e))},alphanumericUnderscore:{getMessage:e=>`The ${e} may only contain letters, numbers and underscores.`,validate:e=>Ue(e,e=>ze.test(e))},optionName:{getMessage:e=>`The ${e} may only contain letters, numbers and underscores, and needs a letter or a number.`,validate:e=>Ue(e,e=>Fe.test(e))},alphanumericSpaces:{getMessage:e=>`The ${e} may only contain letters, numbers and spaces.`,validate:e=>Ue(e,e=>Ke.test(e))},colorHex:{getMessage:e=>`The ${e} must be a valid Hex color.`,validate:e=>Ue(e,e=>Ve.test(e))},noLessThanSign:{getMessage:e=>`The ${e} may not have a 'less than' (<) character.`,validate:e=>Ue(e,e=>!He.test(e))},between:{getMessage:(e,[t,n])=>`The ${e} must be between ${t} and ${n}.`,validate:(e,[t,n])=>!(!Ge(t)&&!Ge(n)&&t!==n)||Ue(e,e=>Number(t)<=e&&Number(n)>=e)},included:{getMessage:e=>`The ${e} field must be a valid value.`,validate:(e,t)=>Ue(e,e=>[...t].some(t=>t===e))},excludedOptionName:{getMessage:()=>"This option_name is already in use.",validate:(...e)=>!Xe.included.validate(...e)},excludedTableValue:{getMessage:()=>"This value is used more than ones.",validate:(...e)=>!Xe.included.validate(...e)},excluded:{getMessage:e=>`The ${e} must be a valid value.`,validate:(...e)=>!Xe.included.validate(...e)},min:{getMessage:(e,[t])=>`The ${e} must be at least ${t} characters.`,validate:(e,[t])=>null!=e&&String(e).length>=t},max:{getMessage:(e,[t])=>`The ${e} field may not be greater than ${t} characters.`,validate:(e,[t])=>null!=e&&String(e).length<=t},numeric:{getMessage:()=>"Only numbers.",validate:e=>Ue(e,e=>/^[0-9]+$/.test(String(e)))},minValue:{getMessage:(e,[t])=>`The ${e} must be ${t} or more.`,validate:(e,[t])=>!t||!Ge(e)&&(Array.isArray(e)?e.length>0&&e.every(e=>Xe.minValue.validate(e,[t])):Number(e)>=t)},maxValue:{getMessage:(e,[t])=>`The ${e} must be ${t} or less.`,validate:(e,[t])=>!t||!Ge(e)&&(Array.isArray(e)?e.length>0&&e.every(e=>Xe.maxValue.validate(e,[t])):Number(e)<=t)},decimal:{getMessage:(e,[t="*"]=[])=>`The ${e} must be numeric and may contain ${t&&"*"!==t?t:""} decimal points.`,validate:(e,[t="*",n="."]=[])=>Array.isArray(e)?e.every(e=>Xe.decimal.validate(e,[t,n])):!!Ge(e)||(0===Number(t)?/^-?\d*$/.test(e):new RegExp(`^-?\\d*(\\${n}\\d${"*"===t?"+":`{1,${t}}`})?$`).test(e)&&!Number.isNaN(parseFloat(e)))}},We=Xe,Ye={required:We.required,class_attribute:We.classAttribute,no_uppercase:We.noUppercase,alphanumeric_underscore:We.alphanumericUnderscore,option_name:We.optionName,alphanumeric_spaces:We.alphanumericSpaces,color_hex:We.colorHex,between:We.between,excluded:We.excluded,excluded_option_name:We.excludedOptionName,excluded_table_value:We.excludedTableValue,min:We.min,max:We.max,min_value:We.minValue,max_value:We.maxValue,numeric:We.numeric,decimal:We.decimal,no_less_than_sign:We.noLessThanSign};function qe({name:e,value:t,rules:n,as:a}){const{setInputError:s,touch:i}=(0,l.useDispatch)(De),r=function(e,t,n="field"){const a=function(e){return String(e||"").split("|").filter(Boolean).map(e=>{const[t,...n]=e.split(":"),a=n.join(":");return{name:t,params:""===a?[]:a.split(",")}})}(t);if(!a.some(e=>"required"===e.name)&&function(e){return null==e||""===e||Array.isArray(e)&&0===e.length}(e))return null;for(const{name:t,params:s}of a){const a=Ye[t];if(!a)throw new Error(`Unknown validation rule: ${t}`);if(!a.validate(e,s))return a.getMessage(n,s)}return null}(t,n,a);(0,o.useEffect)(()=>{s(e,r)},[e,r,s]),(0,o.useEffect)(()=>()=>s(e,null),[e,s]);const c=(0,l.useSelect)(t=>t(De).getShownError(e),[e]);return{message:c,invalid:Boolean(c),onTouch:()=>i(e)}}Object.keys(Ye);const Je=(0,Te.jsx)(Ie.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,Te.jsx)(Ie.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-4 14.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h8v13zm4.5-.5c0 .3-.2.5-.5.5h-2.5v-13H18c.3 0 .5.2.5.5v12z"})});function Ze(){const{valid:e,id:t,changed:n,text:a}=(0,l.useSelect)(e=>{const t=e(De);return{valid:t.isValid(),id:t.getData().id,changed:t.hasChanges(),text:t.getText()?.page||{}}},[]),s=!e||t&&!n;return(0,Te.jsx)(Me.Button,{variant:"primary",size:"compact",type:"submit",disabled:s,name:"submit",id:"submit",className:"menu-save",children:t?a.update?.buttonUpdate:a.create?.buttonSave})}function Qe(){const{addPage:e}=(0,l.useDispatch)(De);return(0,Te.jsx)("div",{className:"mt-4 flex items-center justify-center",children:(0,Te.jsx)("button",{type:"button","aria-expanded":"false",className:"button button-large c-icon-button for-new-page",onClick:()=>e(),children:(0,r.__)("Add New Page","admin-options-pages")})})}function et(){const e=(0,l.useSelect)(e=>e(De).isSidebarVisible(),[]),{toggleSidebar:t}=(0,l.useDispatch)(De),n=(0,o.useRef)(),a=(0,o.useRef)(!0);return(0,o.useEffect)(()=>{a.current?a.current=!1:!e&&n.current&&n.current.focus()},[e]),(0,Te.jsx)(Me.Button,{ref:n,icon:Je,label:(0,r.__)("Settings","admin-options-pages"),size:"compact",isPressed:e,"aria-expanded":e?"true":"false",onClick:()=>t()})}function tt(){const{data:e,text:t}=(0,l.useSelect)(e=>{const t=e(De);return{data:t.getData(),text:t.getText()?.page||{}}},[]),{openModal:n}=(0,l.useDispatch)(De);return e.id?(0,Te.jsx)("button",{className:"button is-delete-button w-full",type:"button",onClick:()=>n(`?page=${e.page}&action=delete&optionpage=${e.id}&nonce=${e.nonce}`),children:t.update?.linkDelete}):null}const nt=["Backspace","Tab","Meta","Control","ArrowRight","ArrowLeft"],at=["1","2","3","4","5","6","7","8","9"];function st(e){return e.shiftKey||e.ctrlKey||e.altKey||e.metaKey}const it=e=>String(e??"").replace(/&#039;/g,"'");function ot(){const e=(0,l.useSelect)(e=>e(De).getMenu().menu_title,[]),{setMenuTitle:t}=(0,l.useDispatch)(De),{message:n,invalid:a,onTouch:s}=qe({name:"menu[menu_title]",value:e??"",rules:"required|alphanumeric_spaces|min:3",as:"menu title"});return(0,Te.jsx)("div",{className:"flex border-l header-item ml-3 h-36px",children:(0,Te.jsxs)("div",{className:"flex flex-wrap items-center ml-2",children:[(0,Te.jsx)("label",{className:"mr-2",htmlFor:"menu_title",children:(0,r.__)("Title","admin-options-pages")}),(0,Te.jsxs)("div",{className:"relative",children:[(0,Te.jsx)("input",{className:Se("c-input no-min-width",a&&"not-valid"),type:"text",name:"menu[menu_title]",id:"menu_title",value:e??"",...Le("menu_title-message",a),onChange:e=>t(e.target.value),onBlur:s,onKeyDown:e=>"Enter"===e.key&&e.preventDefault()}),(0,Te.jsx)(Pe,{id:"menu_title-message",message:a?n:null})]})]})})}function lt(){const e=(0,l.useSelect)(e=>e(De).getMenu().position,[]),{setIn:t,incrementMenuPosition:n,decrementMenuPosition:a}=(0,l.useDispatch)(De),{message:s,invalid:i,onTouch:o}=qe({name:"menu[menu_position]",value:e??"",rules:"decimal:3|required|between:1,150.999",as:"position"});return(0,Te.jsx)("div",{className:"flex border-l header-item ml-2 h-36px",children:(0,Te.jsxs)("div",{className:"flex flex-wrap items-center ml-2 mr-1",children:[(0,Te.jsx)("label",{className:"mr-2",htmlFor:"menu_position",children:(0,r.__)("Position","admin-options-pages")}),(0,Te.jsxs)("div",{className:"relative",children:[(0,Te.jsx)("input",{className:Se("c-input is-position",i&&"not-valid"),type:"text",placeholder:"1-150",name:"menu[menu_position]",id:"menu_position",value:e??"",...Le("menu_position-message",i),onChange:e=>t(["menu","position"],e.target.value),onBlur:o,onKeyDown:t=>{"Enter"===t.key&&t.preventDefault(),function(e,t,{up:n,down:a}){if(st(e))return;const{key:s}=e;at.includes(s)||nt.includes(s)||("0"!==s&&"."!==s||!Number(t))&&("ArrowUp"!==s?"ArrowDown"!==s?e.preventDefault():Number(t)>=2&&a():Number(t)<=149&&n())}(t,e,{up:n,down:a})}}),(0,Te.jsx)(Pe,{id:"menu_position-message",message:i?s:null})]})]})})}function rt(){const e=(0,l.useRegistry)(),{menuId:t,menuType:n,menus:a,existingSlug:s,menusLoaded:i,pageData:c}=(0,l.useSelect)(e=>{const t=e(De);return{menuId:t.getData().menu_id,menuType:t.getMenuType(),menus:t.getExistingMenus(),existingSlug:t.getUi().existingMenuSlug,menusLoaded:t.getUi().menuPagesLoaded,pageData:t.getPageData()}},[]),d=(0,l.useDispatch)(De),u="default"===n;function p(){d.validateAll(),Object.keys(e.select(De).getErrors()).forEach(e=>{const t=e.match(/\d+(?=\])/g);t&&d.openPageOnError(Number(t[0]),void 0===t[1]?void 0:Number(t[1]))})}(0,o.useEffect)(()=>{const t=e.select(De),n={id:null};return async function({data:e,dispatch:t,select:n}){const a=`${window.ajaxurl}?action=notUsedExistingMenuTitles&_ajax_nonce=${encodeURIComponent(e.ajaxNonce)}`,s=await fetch(a,{credentials:"same-origin"}),i=(await s.json()).map(e=>({...e,title:it(e.title)})),o=n.getData(),l="?page=admin_options_pages_create"===window.location.search;0!==o.menu.menu_slug.length||l?(t.setExistingMenus(i),t.setUi("menuType","default")):(t.setExistingMenus([{slug:o.existing_menu.menu_slug,title:o.existing_menu.menu_name},...i]),t.setUi("menuType","existing"));const r=n.getExistingMenus();r[0]&&t.setExistingMenu(r[0].slug)}({data:window.aop_script_data_js||c,dispatch:e.dispatch(De),select:t}).then(()=>{n.id=setTimeout(()=>d.setUi("menuPagesLoaded",!0),300)}).catch(e=>console.log(e)),()=>clearTimeout(n.id)},[]);const g=it(a.find(e=>e.slug===s)?.title);return(0,Te.jsxs)("div",{className:"c-editor-top-bar fixed top-0 p-2 bg-white z-30 border-solid border-b border-gray-wp-200 flex justify-between items-center left-0 right-0",children:[(0,Te.jsxs)("div",{className:"edit-post-header__toolbar ml-1 flex flex-wrap",children:[(0,Te.jsx)("input",{type:"hidden",name:"menu_id",value:t}),(0,Te.jsxs)("div",{role:"group","aria-label":(0,r.__)("Menu Type","admin-options-pages"),className:"components-button-group edit-post-header__button-group flex items-center",children:[(0,Te.jsx)(Me.Button,{size:"compact",variant:u?"primary":"secondary","aria-pressed":u,onClick:function(){const t=e.select(De),n=t.getMenu(),a=t.getPage(0);d.setMenuType("default",{page_title:n.menu_title,menu_title:n.menu_title,capability:"manage_options",menu_slug:a?.menu_slug,menu_slug_suffix:a?.subpage_slug_suffix,icon_url:n.icon_url,position:n.position})},children:(0,r.__)("Custom menu","admin-options-pages")}),(0,Te.jsx)(Me.Button,{size:"compact",variant:u?"secondary":"primary","aria-pressed":!u,onClick:function(){const e=a[0];d.setMenuType("existing",{menu_name:it(e?.title),menu_slug:e?.slug})},children:(0,r.__)("Existing menu","admin-options-pages")})]}),"existing"===n&&(0,Te.jsxs)("div",{className:"flex items-center border-l border-r border-gray-wp-200 ml-3 header-item h-36px",children:[(0,Te.jsx)("label",{className:"ml-2 mr-1",htmlFor:"subpage_page_selector",children:(0,r.__)("Menu title","admin-options-pages")}),a.length>0&&(0,Te.jsx)("select",{className:Se("c-select fade-in mr-2",i?"duration-0":"duration-1"),id:"subpage_page_selector",name:"existing_menu[menu_slug]",value:s,onChange:e=>d.setExistingMenu(e.target.value),onKeyDown:e=>"Enter"===e.key&&e.preventDefault(),children:a.map(e=>(0,Te.jsx)("option",{value:e.slug,children:it(e.title)},e.slug))}),(0,Te.jsx)("input",{type:"hidden",name:"existing_menu[menu_name]",value:g})]}),"default"===n&&(0,Te.jsxs)("div",{className:"flex items-center border-l border-r border-gray-wp-200 ml-3 header-item h-36px",children:[(0,Te.jsx)("legend",{className:"ml-2 mr-2",children:(0,r.__)("Icon","admin-options-pages")}),(0,Te.jsx)(Re,{}),(0,Te.jsx)(ot,{}),(0,Te.jsx)(lt,{})]})]}),(0,Te.jsxs)("div",{className:"edit-post-header__settings pl-3 pr-1 h-56px flex items-center gap-2",onMouseOver:p,onFocus:p,children:[(0,Te.jsx)(et,{}),(0,Te.jsx)(Ze,{})]})]})}function ct(){const e=(0,l.useSelect)(e=>e(De).isSidebarVisible(),[]),{toggleSidebar:t}=(0,l.useDispatch)(De);return(0,Te.jsx)("div",{className:Se("c-editor-side-bar fixed h-auto inset-y-0 right-0 bg-white border-l border-gray-300 text-gray-700",e?"is-open":"pointer-events-none"),"aria-hidden":!e,children:(0,Te.jsx)("div",{className:"flex flex-col justify-between h-full",children:(0,Te.jsxs)("div",{children:[(0,Te.jsxs)("div",{className:"h-50px bg-gray-wp-300 border-b border-gray-wp-200 sticky flex justify-between items-center pr-1",children:[(0,Te.jsx)("div",{}),(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Close settings","admin-options-pages"),children:(0,Te.jsx)("button",{type:"button","aria-label":(0,r.__)("Close settings","admin-options-pages"),className:"c-editor-side-bar__close-button",onClick:()=>t(),children:(0,Te.jsx)("svg",{"aria-hidden":"true",role:"img",focusable:"false",className:"dashicon dashicons-no-alt fill-current",xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",children:(0,Te.jsx)("path",{d:"M14.95 6.46L11.41 10l3.54 3.54-1.41 1.41L10 11.42l-3.53 3.53-1.42-1.42L8.58 10 5.05 6.47l1.42-1.42L10 8.58l3.54-3.53z"})})})})]}),(0,Te.jsx)("div",{className:"p-4 border-b border-gray-300",children:(0,Te.jsx)(tt,{})}),(0,Te.jsxs)("div",{className:"p-4 border-b border-gray-300",children:[(0,Te.jsx)("p",{children:(0,r.__)("Documentation","admin-options-pages")}),(0,Te.jsx)("div",{children:(0,Te.jsxs)("a",{target:"_blank",rel:"external noreferrer noopener",className:"c-link",href:"https://adminoptionspages.com/docs",children:[(0,Te.jsx)("span",{children:"adminoptionspages.com/docs"}),(0,Te.jsx)("svg",{"aria-hidden":"true",role:"img",focusable:"false",className:"fill-current inline-block c-link__icon",xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",children:(0,Te.jsx)("path",{d:"M9 3h8v8l-2-1V6.92l-5.6 5.59-1.41-1.41L14.08 5H10zm3 12v-3l2-2v7H3V6h8L9 8H5v7h7z"})})]})})]})]})})})}const dt=(0,Te.jsx)(Ie.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,Te.jsx)(Ie.Path,{d:"M8 7h2V5H8v2zm0 6h2v-2H8v2zm0 6h2v-2H8v2zm6-14v2h2V5h-2zm0 8h2v-2h-2v2zm0 6h2v-2h-2v2z"})}),ut=window.React;var pt=e.n(ut);const gt=window.ReactDOM,mt="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement;function ht(e){const t=Object.prototype.toString.call(e);return"[object Window]"===t||"[object global]"===t}function ft(e){return"nodeType"in e}function vt(e){var t,n;return e?ht(e)?e:ft(e)&&null!=(t=null==(n=e.ownerDocument)?void 0:n.defaultView)?t:window:window}function _t(e){const{Document:t}=vt(e);return e instanceof t}function xt(e){return!ht(e)&&e instanceof vt(e).HTMLElement}function bt(e){return e instanceof vt(e).SVGElement}function yt(e){return e?ht(e)?e.document:ft(e)?_t(e)?e:xt(e)||bt(e)?e.ownerDocument:document:document:document}const wt=mt?ut.useLayoutEffect:ut.useEffect;function jt(e){const t=(0,ut.useRef)(e);return wt(()=>{t.current=e}),(0,ut.useCallback)(function(){for(var e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];return null==t.current?void 0:t.current(...n)},[])}function Nt(e,t){void 0===t&&(t=[e]);const n=(0,ut.useRef)(e);return wt(()=>{n.current!==e&&(n.current=e)},t),n}function Et(e,t){const n=(0,ut.useRef)();return(0,ut.useMemo)(()=>{const t=e(n.current);return n.current=t,t},[...t])}function Ct(e){const t=jt(e),n=(0,ut.useRef)(null),a=(0,ut.useCallback)(e=>{e!==n.current&&(null==t||t(e,n.current)),n.current=e},[]);return[n,a]}function Dt(e){const t=(0,ut.useRef)();return(0,ut.useEffect)(()=>{t.current=e},[e]),t.current}let Mt={};function St(e,t){return(0,ut.useMemo)(()=>{if(t)return t;const n=null==Mt[e]?0:Mt[e]+1;return Mt[e]=n,e+"-"+n},[e,t])}function Tt(e){return function(t){for(var n=arguments.length,a=new Array(n>1?n-1:0),s=1;s<n;s++)a[s-1]=arguments[s];return a.reduce((t,n)=>{const a=Object.entries(n);for(const[n,s]of a){const a=t[n];null!=a&&(t[n]=a+e*s)}return t},{...t})}}const Rt=Tt(1),kt=Tt(-1);function It(e){if(!e)return!1;const{KeyboardEvent:t}=vt(e.target);return t&&e instanceof t}function Ot(e){if(function(e){if(!e)return!1;const{TouchEvent:t}=vt(e.target);return t&&e instanceof t}(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return function(e){return"clientX"in e&&"clientY"in e}(e)?{x:e.clientX,y:e.clientY}:null}const At=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[At.Translate.toString(e),At.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:a}=e;return t+" "+n+"ms "+a}}}),Lt="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function Pt(e){return e.matches(Lt)?e:e.querySelector(Lt)}const zt={display:"none"};function Ft(e){let{id:t,value:n}=e;return pt().createElement("div",{id:t,style:zt},n)}function Kt(e){let{id:t,announcement:n,ariaLiveType:a="assertive"}=e;return pt().createElement("div",{id:t,style:{position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"},role:"status","aria-live":a,"aria-atomic":!0},n)}const Vt=(0,ut.createContext)(null),Bt={draggable:"\n    To pick up a draggable item, press the space bar.\n    While dragging, use the arrow keys to move the item.\n    Press space again to drop the item in its new position, or press escape to cancel.\n  "},$t={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function Ht(e){let{announcements:t=$t,container:n,hiddenTextDescribedById:a,screenReaderInstructions:s=Bt}=e;const{announce:i,announcement:o}=function(){const[e,t]=(0,ut.useState)("");return{announce:(0,ut.useCallback)(e=>{null!=e&&t(e)},[]),announcement:e}}(),l=St("DndLiveRegion"),[r,c]=(0,ut.useState)(!1);if((0,ut.useEffect)(()=>{c(!0)},[]),function(e){const t=(0,ut.useContext)(Vt);(0,ut.useEffect)(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of <DndContext>");return t(e)},[e,t])}((0,ut.useMemo)(()=>({onDragStart(e){let{active:n}=e;i(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:a}=e;t.onDragMove&&i(t.onDragMove({active:n,over:a}))},onDragOver(e){let{active:n,over:a}=e;i(t.onDragOver({active:n,over:a}))},onDragEnd(e){let{active:n,over:a}=e;i(t.onDragEnd({active:n,over:a}))},onDragCancel(e){let{active:n,over:a}=e;i(t.onDragCancel({active:n,over:a}))}}),[i,t])),!r)return null;const d=pt().createElement(pt().Fragment,null,pt().createElement(Ft,{id:a,value:s.draggable}),pt().createElement(Kt,{id:l,announcement:o}));return n?(0,gt.createPortal)(d,n):d}var Ut;function Gt(){}function Xt(e,t){return(0,ut.useMemo)(()=>({sensor:e,options:null!=t?t:{}}),[e,t])}function Wt(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,ut.useMemo)(()=>[...t].filter(e=>null!=e),[...t])}!function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"}(Ut||(Ut={}));const Yt=Object.freeze({x:0,y:0});function qt(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function Jt(e,t){const n=Ot(e);return n?(n.x-t.left)/t.width*100+"% "+(n.y-t.top)/t.height*100+"%":"0 0"}function Zt(e,t){let{data:{value:n}}=e,{data:{value:a}}=t;return n-a}function Qt(e,t){let{data:{value:n}}=e,{data:{value:a}}=t;return a-n}function en(e,t,n){return void 0===t&&(t=e.left),void 0===n&&(n=e.top),{x:t+.5*e.width,y:n+.5*e.height}}const tn=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:a}=e;const s=en(t,t.left,t.top),i=[];for(const e of a){const{id:t}=e,a=n.get(t);if(a){const n=qt(en(a),s);i.push({id:t,data:{droppableContainer:e,value:n}})}}return i.sort(Zt)};function nn(e,t){const n=Math.max(t.top,e.top),a=Math.max(t.left,e.left),s=Math.min(t.left+t.width,e.left+e.width),i=Math.min(t.top+t.height,e.top+e.height),o=s-a,l=i-n;if(a<s&&n<i){const n=t.width*t.height,a=e.width*e.height,s=o*l;return Number((s/(n+a-s)).toFixed(4))}return 0}const an=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:a}=e;const s=[];for(const e of a){const{id:a}=e,i=n.get(a);if(i){const n=nn(i,t);n>0&&s.push({id:a,data:{droppableContainer:e,value:n}})}}return s.sort(Qt)};function sn(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:Yt}function on(e){return function(t){for(var n=arguments.length,a=new Array(n>1?n-1:0),s=1;s<n;s++)a[s-1]=arguments[s];return a.reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}const ln=on(1);function rn(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}const cn={ignoreTransform:!1};function dn(e,t){void 0===t&&(t=cn);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:t,transformOrigin:a}=vt(e).getComputedStyle(e);t&&(n=function(e,t,n){const a=rn(t);if(!a)return e;const{scaleX:s,scaleY:i,x:o,y:l}=a,r=e.left-o-(1-s)*parseFloat(n),c=e.top-l-(1-i)*parseFloat(n.slice(n.indexOf(" ")+1)),d=s?e.width/s:e.width,u=i?e.height/i:e.height;return{width:d,height:u,top:c,right:r+d,bottom:c+u,left:r}}(n,t,a))}const{top:a,left:s,width:i,height:o,bottom:l,right:r}=n;return{top:a,left:s,width:i,height:o,bottom:l,right:r}}function un(e){return dn(e,{ignoreTransform:!0})}function pn(e,t){const n=[];return e?function a(s){if(null!=t&&n.length>=t)return n;if(!s)return n;if(_t(s)&&null!=s.scrollingElement&&!n.includes(s.scrollingElement))return n.push(s.scrollingElement),n;if(!xt(s)||bt(s))return n;if(n.includes(s))return n;const i=vt(e).getComputedStyle(s);return s!==e&&function(e,t){void 0===t&&(t=vt(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(e=>{const a=t[e];return"string"==typeof a&&n.test(a)})}(s,i)&&n.push(s),function(e,t){return void 0===t&&(t=vt(e).getComputedStyle(e)),"fixed"===t.position}(s,i)?n:a(s.parentNode)}(e):n}function gn(e){const[t]=pn(e,1);return null!=t?t:null}function mn(e){return mt&&e?ht(e)?e:ft(e)?_t(e)||e===yt(e).scrollingElement?window:xt(e)?e:null:null:null}function hn(e){return ht(e)?e.scrollX:e.scrollLeft}function fn(e){return ht(e)?e.scrollY:e.scrollTop}function vn(e){return{x:hn(e),y:fn(e)}}var xn;function bn(e){return!(!mt||!e)&&e===document.scrollingElement}function yn(e){const t={x:0,y:0},n=bn(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},a={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=a.y,isRight:e.scrollLeft>=a.x,maxScroll:a,minScroll:t}}!function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"}(xn||(xn={}));const wn={x:.2,y:.2};function jn(e,t,n,a,s){let{top:i,left:o,right:l,bottom:r}=n;void 0===a&&(a=10),void 0===s&&(s=wn);const{isTop:c,isBottom:d,isLeft:u,isRight:p}=yn(e),g={x:0,y:0},m={x:0,y:0},h=t.height*s.y,f=t.width*s.x;return!c&&i<=t.top+h?(g.y=xn.Backward,m.y=a*Math.abs((t.top+h-i)/h)):!d&&r>=t.bottom-h&&(g.y=xn.Forward,m.y=a*Math.abs((t.bottom-h-r)/h)),!p&&l>=t.right-f?(g.x=xn.Forward,m.x=a*Math.abs((t.right-f-l)/f)):!u&&o<=t.left+f&&(g.x=xn.Backward,m.x=a*Math.abs((t.left+f-o)/f)),{direction:g,speed:m}}function Nn(e){if(e===document.scrollingElement){const{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}const{top:t,left:n,right:a,bottom:s}=e.getBoundingClientRect();return{top:t,left:n,right:a,bottom:s,width:e.clientWidth,height:e.clientHeight}}function En(e){return e.reduce((e,t)=>Rt(e,vn(t)),Yt)}function Cn(e,t){if(void 0===t&&(t=dn),!e)return;const{top:n,left:a,bottom:s,right:i}=t(e);gn(e)&&(s<=0||i<=0||n>=window.innerHeight||a>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const Dn=[["x",["left","right"],function(e){return e.reduce((e,t)=>e+hn(t),0)}],["y",["top","bottom"],function(e){return e.reduce((e,t)=>e+fn(t),0)}]];class Mn{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const n=pn(t),a=En(n);this.rect={...e},this.width=e.width,this.height=e.height;for(const[e,t,s]of Dn)for(const i of t)Object.defineProperty(this,i,{get:()=>{const t=s(n),o=a[e]-t;return this.rect[i]+o},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class Sn{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>{var t;return null==(t=this.target)?void 0:t.removeEventListener(...e)})},this.target=e}add(e,t,n){var a;null==(a=this.target)||a.addEventListener(e,t,n),this.listeners.push([e,t,n])}}function Tn(e,t){const n=Math.abs(e.x),a=Math.abs(e.y);return"number"==typeof t?Math.sqrt(n**2+a**2)>t:"x"in t&&"y"in t?n>t.x&&a>t.y:"x"in t?n>t.x:"y"in t&&a>t.y}var Rn,kn;function In(e){e.preventDefault()}function On(e){e.stopPropagation()}!function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"}(Rn||(Rn={})),function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter",e.Tab="Tab"}(kn||(kn={}));const An={start:[kn.Space,kn.Enter],cancel:[kn.Esc],end:[kn.Space,kn.Enter,kn.Tab]},Ln=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case kn.Right:return{...n,x:n.x+25};case kn.Left:return{...n,x:n.x-25};case kn.Down:return{...n,y:n.y+25};case kn.Up:return{...n,y:n.y-25}}};class Pn{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;const{event:{target:t}}=e;this.props=e,this.listeners=new Sn(yt(t)),this.windowListeners=new Sn(vt(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(Rn.Resize,this.handleCancel),this.windowListeners.add(Rn.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(Rn.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&Cn(n),t(Yt)}handleKeyDown(e){if(It(e)){const{active:t,context:n,options:a}=this.props,{keyboardCodes:s=An,coordinateGetter:i=Ln,scrollBehavior:o="smooth"}=a,{code:l}=e;if(s.end.includes(l))return void this.handleEnd(e);if(s.cancel.includes(l))return void this.handleCancel(e);const{collisionRect:r}=n.current,c=r?{x:r.left,y:r.top}:Yt;this.referenceCoordinates||(this.referenceCoordinates=c);const d=i(e,{active:t,context:n.current,currentCoordinates:c});if(d){const t=kt(d,c),a={x:0,y:0},{scrollableAncestors:s}=n.current;for(const n of s){const s=e.code,{isTop:i,isRight:l,isLeft:r,isBottom:c,maxScroll:u,minScroll:p}=yn(n),g=Nn(n),m={x:Math.min(s===kn.Right?g.right-g.width/2:g.right,Math.max(s===kn.Right?g.left:g.left+g.width/2,d.x)),y:Math.min(s===kn.Down?g.bottom-g.height/2:g.bottom,Math.max(s===kn.Down?g.top:g.top+g.height/2,d.y))},h=s===kn.Right&&!l||s===kn.Left&&!r,f=s===kn.Down&&!c||s===kn.Up&&!i;if(h&&m.x!==d.x){const e=n.scrollLeft+t.x,i=s===kn.Right&&e<=u.x||s===kn.Left&&e>=p.x;if(i&&!t.y)return void n.scrollTo({left:e,behavior:o});a.x=i?n.scrollLeft-e:s===kn.Right?n.scrollLeft-u.x:n.scrollLeft-p.x,a.x&&n.scrollBy({left:-a.x,behavior:o});break}if(f&&m.y!==d.y){const e=n.scrollTop+t.y,i=s===kn.Down&&e<=u.y||s===kn.Up&&e>=p.y;if(i&&!t.x)return void n.scrollTo({top:e,behavior:o});a.y=i?n.scrollTop-e:s===kn.Down?n.scrollTop-u.y:n.scrollTop-p.y,a.y&&n.scrollBy({top:-a.y,behavior:o});break}}this.handleMove(e,Rt(kt(d,this.referenceCoordinates),a))}}}handleMove(e,t){const{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){const{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){const{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}function zn(e){return Boolean(e&&"distance"in e)}function Fn(e){return Boolean(e&&"delay"in e)}Pn.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:a=An,onActivation:s}=t,{active:i}=n;const{code:o}=e.nativeEvent;if(a.start.includes(o)){const t=i.activatorNode.current;return!(t&&e.target!==t||(e.preventDefault(),null==s||s({event:e.nativeEvent}),0))}return!1}}];class Kn{constructor(e,t,n){var a;void 0===n&&(n=function(e){const{EventTarget:t}=vt(e);return e instanceof t?e:yt(e)}(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;const{event:s}=e,{target:i}=s;this.props=e,this.events=t,this.document=yt(i),this.documentListeners=new Sn(this.document),this.listeners=new Sn(n),this.windowListeners=new Sn(vt(i)),this.initialCoordinates=null!=(a=Ot(s))?a:Yt,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(Rn.Resize,this.handleCancel),this.windowListeners.add(Rn.DragStart,In),this.windowListeners.add(Rn.VisibilityChange,this.handleCancel),this.windowListeners.add(Rn.ContextMenu,In),this.documentListeners.add(Rn.Keydown,this.handleKeydown),t){if(null!=n&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(Fn(t))return this.timeoutId=setTimeout(this.handleStart,t.delay),void this.handlePending(t);if(zn(t))return void this.handlePending(t)}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),null!==this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){const{active:n,onPending:a}=this.props;a(n,e,this.initialCoordinates,t)}handleStart(){const{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(Rn.Click,On,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(Rn.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){var t;const{activated:n,initialCoordinates:a,props:s}=this,{onMove:i,options:{activationConstraint:o}}=s;if(!a)return;const l=null!=(t=Ot(e))?t:Yt,r=kt(a,l);if(!n&&o){if(zn(o)){if(null!=o.tolerance&&Tn(r,o.tolerance))return this.handleCancel();if(Tn(r,o.distance))return this.handleStart()}return Fn(o)&&Tn(r,o.tolerance)?this.handleCancel():void this.handlePending(o,r)}e.cancelable&&e.preventDefault(),i(l)}handleEnd(){const{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){const{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===kn.Esc&&this.handleCancel()}removeTextSelection(){var e;null==(e=this.document.getSelection())||e.removeAllRanges()}}const Vn={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class Bn extends Kn{constructor(e){const{event:t}=e,n=yt(t.target);super(e,Vn,n)}}Bn.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:a}=t;return!(!n.isPrimary||0!==n.button||(null==a||a({event:n}),0))}}];const $n={move:{name:"mousemove"},end:{name:"mouseup"}};var Hn;!function(e){e[e.RightClick=2]="RightClick"}(Hn||(Hn={})),class extends Kn{constructor(e){super(e,$n,yt(e.event.target))}}.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:a}=t;return n.button!==Hn.RightClick&&(null==a||a({event:n}),!0)}}];const Un={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};var Gn,Xn;(class extends Kn{constructor(e){super(e,Un)}static setup(){return window.addEventListener(Un.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(Un.move.name,e)};function e(){}}}).activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:a}=t;const{touches:s}=n;return!(s.length>1||(null==a||a({event:n}),0))}}],function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"}(Gn||(Gn={})),function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"}(Xn||(Xn={}));const Wn={x:{[xn.Backward]:!1,[xn.Forward]:!1},y:{[xn.Backward]:!1,[xn.Forward]:!1}};var Yn,qn;!function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"}(Yn||(Yn={})),function(e){e.Optimized="optimized"}(qn||(qn={}));const Jn=new Map;function Zn(e,t){return Et(n=>e?n||("function"==typeof t?t(e):e):null,[t,e])}function Qn(e){let{callback:t,disabled:n}=e;const a=jt(t),s=(0,ut.useMemo)(()=>{if(n||"undefined"==typeof window||void 0===window.ResizeObserver)return;const{ResizeObserver:e}=window;return new e(a)},[n]);return(0,ut.useEffect)(()=>()=>null==s?void 0:s.disconnect(),[s]),s}function ea(e){return new Mn(dn(e),e)}function ta(e,t,n){void 0===t&&(t=ea);const[a,s]=(0,ut.useState)(null);function i(){s(a=>{if(!e)return null;var s;if(!1===e.isConnected)return null!=(s=null!=a?a:n)?s:null;const i=t(e);return JSON.stringify(a)===JSON.stringify(i)?a:i})}const o=function(e){let{callback:t,disabled:n}=e;const a=jt(t),s=(0,ut.useMemo)(()=>{if(n||"undefined"==typeof window||void 0===window.MutationObserver)return;const{MutationObserver:e}=window;return new e(a)},[a,n]);return(0,ut.useEffect)(()=>()=>null==s?void 0:s.disconnect(),[s]),s}({callback(t){if(e)for(const n of t){const{type:t,target:a}=n;if("childList"===t&&a instanceof HTMLElement&&a.contains(e)){i();break}}}}),l=Qn({callback:i});return wt(()=>{i(),e?(null==l||l.observe(e),null==o||o.observe(document.body,{childList:!0,subtree:!0})):(null==l||l.disconnect(),null==o||o.disconnect())},[e]),a}const na=[];function aa(e,t){void 0===t&&(t=[]);const n=(0,ut.useRef)(null);return(0,ut.useEffect)(()=>{n.current=null},t),(0,ut.useEffect)(()=>{const t=e!==Yt;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?kt(e,n.current):Yt}function sa(e){return(0,ut.useMemo)(()=>e?function(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}(e):null,[e])}const ia=[];function oa(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return xt(t)?t:e}const la=[{sensor:Bn,options:{}},{sensor:Pn,options:{}}],ra={current:{}},ca={draggable:{measure:un},droppable:{measure:un,strategy:Yn.WhileDragging,frequency:qn.Optimized},dragOverlay:{measure:dn}};class da extends Map{get(e){var t;return null!=e&&null!=(t=super.get(e))?t:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){var t,n;return null!=(t=null==(n=this.get(e))?void 0:n.node.current)?t:void 0}}const ua={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new da,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:Gt},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:ca,measureDroppableContainers:Gt,windowRect:null,measuringScheduled:!1},pa={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:Gt,draggableNodes:new Map,over:null,measureDroppableContainers:Gt},ga=(0,ut.createContext)(pa),ma=(0,ut.createContext)(ua);function ha(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new da}}}function fa(e,t){switch(t.type){case Ut.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case Ut.DragMove:return null==e.draggable.active?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case Ut.DragEnd:case Ut.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case Ut.RegisterDroppable:{const{element:n}=t,{id:a}=n,s=new da(e.droppable.containers);return s.set(a,n),{...e,droppable:{...e.droppable,containers:s}}}case Ut.SetDroppableDisabled:{const{id:n,key:a,disabled:s}=t,i=e.droppable.containers.get(n);if(!i||a!==i.key)return e;const o=new da(e.droppable.containers);return o.set(n,{...i,disabled:s}),{...e,droppable:{...e.droppable,containers:o}}}case Ut.UnregisterDroppable:{const{id:n,key:a}=t,s=e.droppable.containers.get(n);if(!s||a!==s.key)return e;const i=new da(e.droppable.containers);return i.delete(n),{...e,droppable:{...e.droppable,containers:i}}}default:return e}}function va(e){let{disabled:t}=e;const{active:n,activatorEvent:a,draggableNodes:s}=(0,ut.useContext)(ga),i=Dt(a),o=Dt(null==n?void 0:n.id);return(0,ut.useEffect)(()=>{if(!t&&!a&&i&&null!=o){if(!It(i))return;if(document.activeElement===i.target)return;const e=s.get(o);if(!e)return;const{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(const e of[t.current,n.current]){if(!e)continue;const t=Pt(e);if(t){t.focus();break}}})}},[a,t,s,o,i]),null}function _a(e,t){let{transform:n,...a}=t;return null!=e&&e.length?e.reduce((e,t)=>t({transform:e,...a}),n):n}const xa=(0,ut.createContext)({...Yt,scaleX:1,scaleY:1});var ba;!function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"}(ba||(ba={}));const ya=(0,ut.memo)(function(e){var t,n,a,s;let{id:i,accessibility:o,autoScroll:l=!0,children:r,sensors:c=la,collisionDetection:d=an,measuring:u,modifiers:p,...g}=e;const m=(0,ut.useReducer)(fa,void 0,ha),[h,f]=m,[v,_]=function(){const[e]=(0,ut.useState)(()=>new Set),t=(0,ut.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,ut.useCallback)(t=>{let{type:n,event:a}=t;e.forEach(e=>{var t;return null==(t=e[n])?void 0:t.call(e,a)})},[e]),t]}(),[x,b]=(0,ut.useState)(ba.Uninitialized),y=x===ba.Initialized,{draggable:{active:w,nodes:j,translate:N},droppable:{containers:E}}=h,C=null!=w?j.get(w):null,D=(0,ut.useRef)({initial:null,translated:null}),M=(0,ut.useMemo)(()=>{var e;return null!=w?{id:w,data:null!=(e=null==C?void 0:C.data)?e:ra,rect:D}:null},[w,C]),S=(0,ut.useRef)(null),[T,R]=(0,ut.useState)(null),[k,I]=(0,ut.useState)(null),O=Nt(g,Object.values(g)),A=St("DndDescribedBy",i),L=(0,ut.useMemo)(()=>E.getEnabled(),[E]),P=(z=u,(0,ut.useMemo)(()=>({draggable:{...ca.draggable,...null==z?void 0:z.draggable},droppable:{...ca.droppable,...null==z?void 0:z.droppable},dragOverlay:{...ca.dragOverlay,...null==z?void 0:z.dragOverlay}}),[null==z?void 0:z.draggable,null==z?void 0:z.droppable,null==z?void 0:z.dragOverlay]));var z;const{droppableRects:F,measureDroppableContainers:K,measuringScheduled:V}=function(e,t){let{dragging:n,dependencies:a,config:s}=t;const[i,o]=(0,ut.useState)(null),{frequency:l,measure:r,strategy:c}=s,d=(0,ut.useRef)(e),u=function(){switch(c){case Yn.Always:return!1;case Yn.BeforeDragging:return n;default:return!n}}(),p=Nt(u),g=(0,ut.useCallback)(function(e){void 0===e&&(e=[]),p.current||o(t=>null===t?e:t.concat(e.filter(e=>!t.includes(e))))},[p]),m=(0,ut.useRef)(null),h=Et(t=>{if(u&&!n)return Jn;if(!t||t===Jn||d.current!==e||null!=i){const t=new Map;for(let n of e){if(!n)continue;if(i&&i.length>0&&!i.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}const e=n.node.current,a=e?new Mn(r(e),e):null;n.rect.current=a,a&&t.set(n.id,a)}return t}return t},[e,i,n,u,r]);return(0,ut.useEffect)(()=>{d.current=e},[e]),(0,ut.useEffect)(()=>{u||g()},[n,u]),(0,ut.useEffect)(()=>{i&&i.length>0&&o(null)},[JSON.stringify(i)]),(0,ut.useEffect)(()=>{u||"number"!=typeof l||null!==m.current||(m.current=setTimeout(()=>{g(),m.current=null},l))},[l,u,g,...a]),{droppableRects:h,measureDroppableContainers:g,measuringScheduled:null!=i}}(L,{dragging:y,dependencies:[N.x,N.y],config:P.droppable}),B=function(e,t){const n=null!=t?e.get(t):void 0,a=n?n.node.current:null;return Et(e=>{var n;return null==t?null:null!=(n=null!=a?a:e)?n:null},[a,t])}(j,w),$=(0,ut.useMemo)(()=>k?Ot(k):null,[k]),H=function(){const e=!1===(null==T?void 0:T.autoScrollEnabled),t="object"==typeof l?!1===l.enabled:!1===l,n=y&&!e&&!t;return"object"==typeof l?{...l,enabled:n}:{enabled:n}}(),U=function(e,t){return Zn(e,t)}(B,P.draggable.measure);!function(e){let{activeNode:t,measure:n,initialRect:a,config:s=!0}=e;const i=(0,ut.useRef)(!1),{x:o,y:l}="boolean"==typeof s?{x:s,y:s}:s;wt(()=>{if(!o&&!l||!t)return void(i.current=!1);if(i.current||!a)return;const e=null==t?void 0:t.node.current;if(!e||!1===e.isConnected)return;const s=sn(n(e),a);if(o||(s.x=0),l||(s.y=0),i.current=!0,Math.abs(s.x)>0||Math.abs(s.y)>0){const t=gn(e);t&&t.scrollBy({top:s.y,left:s.x})}},[t,o,l,a,n])}({activeNode:null!=w?j.get(w):null,config:H.layoutShiftCompensation,initialRect:U,measure:P.draggable.measure});const G=ta(B,P.draggable.measure,U),X=ta(B?B.parentElement:null),W=(0,ut.useRef)({activatorEvent:null,active:null,activeNode:B,collisionRect:null,collisions:null,droppableRects:F,draggableNodes:j,draggingNode:null,draggingNodeRect:null,droppableContainers:E,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),Y=E.getNodeFor(null==(t=W.current.over)?void 0:t.id),q=function(e){let{measure:t}=e;const[n,a]=(0,ut.useState)(null),s=Qn({callback:(0,ut.useCallback)(e=>{for(const{target:n}of e)if(xt(n)){a(e=>{const a=t(n);return e?{...e,width:a.width,height:a.height}:a});break}},[t])}),i=(0,ut.useCallback)(e=>{const n=oa(e);null==s||s.disconnect(),n&&(null==s||s.observe(n)),a(n?t(n):null)},[t,s]),[o,l]=Ct(i);return(0,ut.useMemo)(()=>({nodeRef:o,rect:n,setRef:l}),[n,o,l])}({measure:P.dragOverlay.measure}),J=null!=(n=q.nodeRef.current)?n:B,Z=y?null!=(a=q.rect)?a:G:null,Q=Boolean(q.nodeRef.current&&q.rect),ee=sn(te=Q?null:G,Zn(te));var te;const ne=sa(J?vt(J):null),ae=function(e){const t=(0,ut.useRef)(e),n=Et(n=>e?n&&n!==na&&e&&t.current&&e.parentNode===t.current.parentNode?n:pn(e):na,[e]);return(0,ut.useEffect)(()=>{t.current=e},[e]),n}(y?null!=Y?Y:B:null),se=function(e,t){void 0===t&&(t=dn);const[n]=e,a=sa(n?vt(n):null),[s,i]=(0,ut.useState)(ia);function o(){i(()=>e.length?e.map(e=>bn(e)?a:new Mn(t(e),e)):ia)}const l=Qn({callback:o});return wt(()=>{null==l||l.disconnect(),o(),e.forEach(e=>null==l?void 0:l.observe(e))},[e]),s}(ae),ie=_a(p,{transform:{x:N.x-ee.x,y:N.y-ee.y,scaleX:1,scaleY:1},activatorEvent:k,active:M,activeNodeRect:G,containerNodeRect:X,draggingNodeRect:Z,over:W.current.over,overlayNodeRect:q.rect,scrollableAncestors:ae,scrollableAncestorRects:se,windowRect:ne}),oe=$?Rt($,N):null,le=function(e){const[t,n]=(0,ut.useState)(null),a=(0,ut.useRef)(e),s=(0,ut.useCallback)(e=>{const t=mn(e.target);t&&n(e=>e?(e.set(t,vn(t)),new Map(e)):null)},[]);return(0,ut.useEffect)(()=>{const t=a.current;if(e!==t){i(t);const o=e.map(e=>{const t=mn(e);return t?(t.addEventListener("scroll",s,{passive:!0}),[t,vn(t)]):null}).filter(e=>null!=e);n(o.length?new Map(o):null),a.current=e}return()=>{i(e),i(t)};function i(e){e.forEach(e=>{const t=mn(e);null==t||t.removeEventListener("scroll",s)})}},[s,e]),(0,ut.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>Rt(e,t),Yt):En(e):Yt,[e,t])}(ae),re=aa(le),ce=aa(le,[G]),de=Rt(ie,re),ue=Z?ln(Z,ie):null,pe=M&&ue?d({active:M,collisionRect:ue,droppableRects:F,droppableContainers:L,pointerCoordinates:oe}):null,ge=function(e){if(!e||0===e.length)return null;const[t]=e;return t.id}(pe),[me,he]=(0,ut.useState)(null),fe=function(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}(Q?ie:Rt(ie,ce),null!=(s=null==me?void 0:me.rect)?s:null,G),ve=(0,ut.useRef)(null),_e=(0,ut.useCallback)((e,t)=>{let{sensor:n,options:a}=t;if(null==S.current)return;const s=j.get(S.current);if(!s)return;const i=e.nativeEvent,o=new n({active:S.current,activeNode:s,event:i,options:a,context:W,onAbort(e){if(!j.get(e))return;const{onDragAbort:t}=O.current,n={id:e};null==t||t(n),v({type:"onDragAbort",event:n})},onPending(e,t,n,a){if(!j.get(e))return;const{onDragPending:s}=O.current,i={id:e,constraint:t,initialCoordinates:n,offset:a};null==s||s(i),v({type:"onDragPending",event:i})},onStart(e){const t=S.current;if(null==t)return;const n=j.get(t);if(!n)return;const{onDragStart:a}=O.current,s={activatorEvent:i,active:{id:t,data:n.data,rect:D}};(0,gt.unstable_batchedUpdates)(()=>{null==a||a(s),b(ba.Initializing),f({type:Ut.DragStart,initialCoordinates:e,active:t}),v({type:"onDragStart",event:s}),R(ve.current),I(i)})},onMove(e){f({type:Ut.DragMove,coordinates:e})},onEnd:l(Ut.DragEnd),onCancel:l(Ut.DragCancel)});function l(e){return async function(){const{active:t,collisions:n,over:a,scrollAdjustedTranslate:s}=W.current;let o=null;if(t&&s){const{cancelDrop:l}=O.current;o={activatorEvent:i,active:t,collisions:n,delta:s,over:a},e===Ut.DragEnd&&"function"==typeof l&&await Promise.resolve(l(o))&&(e=Ut.DragCancel)}S.current=null,(0,gt.unstable_batchedUpdates)(()=>{f({type:e}),b(ba.Uninitialized),he(null),R(null),I(null),ve.current=null;const t=e===Ut.DragEnd?"onDragEnd":"onDragCancel";if(o){const e=O.current[t];null==e||e(o),v({type:t,event:o})}})}}ve.current=o},[j]),xe=(0,ut.useCallback)((e,t)=>(n,a)=>{const s=n.nativeEvent,i=j.get(a);if(null!==S.current||!i||s.dndKit||s.defaultPrevented)return;const o={active:i};!0===e(n,t.options,o)&&(s.dndKit={capturedBy:t.sensor},S.current=a,_e(n,t))},[j,_e]),be=function(e,t){return(0,ut.useMemo)(()=>e.reduce((e,n)=>{const{sensor:a}=n;return[...e,...a.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}))]},[]),[e,t])}(c,xe);!function(e){(0,ut.useEffect)(()=>{if(!mt)return;const t=e.map(e=>{let{sensor:t}=e;return null==t.setup?void 0:t.setup()});return()=>{for(const e of t)null==e||e()}},e.map(e=>{let{sensor:t}=e;return t}))}(c),wt(()=>{G&&x===ba.Initializing&&b(ba.Initialized)},[G,x]),(0,ut.useEffect)(()=>{const{onDragMove:e}=O.current,{active:t,activatorEvent:n,collisions:a,over:s}=W.current;if(!t||!n)return;const i={active:t,activatorEvent:n,collisions:a,delta:{x:de.x,y:de.y},over:s};(0,gt.unstable_batchedUpdates)(()=>{null==e||e(i),v({type:"onDragMove",event:i})})},[de.x,de.y]),(0,ut.useEffect)(()=>{const{active:e,activatorEvent:t,collisions:n,droppableContainers:a,scrollAdjustedTranslate:s}=W.current;if(!e||null==S.current||!t||!s)return;const{onDragOver:i}=O.current,o=a.get(ge),l=o&&o.rect.current?{id:o.id,rect:o.rect.current,data:o.data,disabled:o.disabled}:null,r={active:e,activatorEvent:t,collisions:n,delta:{x:s.x,y:s.y},over:l};(0,gt.unstable_batchedUpdates)(()=>{he(l),null==i||i(r),v({type:"onDragOver",event:r})})},[ge]),wt(()=>{W.current={activatorEvent:k,active:M,activeNode:B,collisionRect:ue,collisions:pe,droppableRects:F,draggableNodes:j,draggingNode:J,draggingNodeRect:Z,droppableContainers:E,over:me,scrollableAncestors:ae,scrollAdjustedTranslate:de},D.current={initial:Z,translated:ue}},[M,B,pe,ue,j,J,Z,F,E,me,ae,de]),function(e){let{acceleration:t,activator:n=Gn.Pointer,canScroll:a,draggingRect:s,enabled:i,interval:o=5,order:l=Xn.TreeOrder,pointerCoordinates:r,scrollableAncestors:c,scrollableAncestorRects:d,delta:u,threshold:p}=e;const g=function(e){let{delta:t,disabled:n}=e;const a=Dt(t);return Et(e=>{if(n||!a||!e)return Wn;const s=Math.sign(t.x-a.x),i=Math.sign(t.y-a.y);return{x:{[xn.Backward]:e.x[xn.Backward]||-1===s,[xn.Forward]:e.x[xn.Forward]||1===s},y:{[xn.Backward]:e.y[xn.Backward]||-1===i,[xn.Forward]:e.y[xn.Forward]||1===i}}},[n,t,a])}({delta:u,disabled:!i}),[m,h]=function(){const e=(0,ut.useRef)(null);return[(0,ut.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,ut.useCallback)(()=>{null!==e.current&&(clearInterval(e.current),e.current=null)},[])]}(),f=(0,ut.useRef)({x:0,y:0}),v=(0,ut.useRef)({x:0,y:0}),_=(0,ut.useMemo)(()=>{switch(n){case Gn.Pointer:return r?{top:r.y,bottom:r.y,left:r.x,right:r.x}:null;case Gn.DraggableRect:return s}},[n,s,r]),x=(0,ut.useRef)(null),b=(0,ut.useCallback)(()=>{const e=x.current;if(!e)return;const t=f.current.x*v.current.x,n=f.current.y*v.current.y;e.scrollBy(t,n)},[]),y=(0,ut.useMemo)(()=>l===Xn.TreeOrder?[...c].reverse():c,[l,c]);(0,ut.useEffect)(()=>{if(i&&c.length&&_){for(const e of y){if(!1===(null==a?void 0:a(e)))continue;const n=c.indexOf(e),s=d[n];if(!s)continue;const{direction:i,speed:l}=jn(e,s,_,t,p);for(const e of["x","y"])g[e][i[e]]||(l[e]=0,i[e]=0);if(l.x>0||l.y>0)return h(),x.current=e,m(b,o),f.current=l,void(v.current=i)}f.current={x:0,y:0},v.current={x:0,y:0},h()}else h()},[t,b,a,h,i,o,JSON.stringify(_),JSON.stringify(g),m,c,y,d,JSON.stringify(p)])}({...H,delta:N,draggingRect:ue,pointerCoordinates:oe,scrollableAncestors:ae,scrollableAncestorRects:se});const ye=(0,ut.useMemo)(()=>({active:M,activeNode:B,activeNodeRect:G,activatorEvent:k,collisions:pe,containerNodeRect:X,dragOverlay:q,draggableNodes:j,droppableContainers:E,droppableRects:F,over:me,measureDroppableContainers:K,scrollableAncestors:ae,scrollableAncestorRects:se,measuringConfiguration:P,measuringScheduled:V,windowRect:ne}),[M,B,G,k,pe,X,q,j,E,F,me,K,ae,se,P,V,ne]),we=(0,ut.useMemo)(()=>({activatorEvent:k,activators:be,active:M,activeNodeRect:G,ariaDescribedById:{draggable:A},dispatch:f,draggableNodes:j,over:me,measureDroppableContainers:K}),[k,be,M,G,f,A,j,me,K]);return pt().createElement(Vt.Provider,{value:_},pt().createElement(ga.Provider,{value:we},pt().createElement(ma.Provider,{value:ye},pt().createElement(xa.Provider,{value:fe},r)),pt().createElement(va,{disabled:!1===(null==o?void 0:o.restoreFocus)})),pt().createElement(Ht,{...o,hiddenTextDescribedById:A}))}),wa=(0,ut.createContext)(null),ja="button";function Na(){return(0,ut.useContext)(ma)}const Ea={timeout:25};function Ca(e){let{data:t,disabled:n=!1,id:a,resizeObserverConfig:s}=e;const i=St("Droppable"),{active:o,dispatch:l,over:r,measureDroppableContainers:c}=(0,ut.useContext)(ga),d=(0,ut.useRef)({disabled:n}),u=(0,ut.useRef)(!1),p=(0,ut.useRef)(null),g=(0,ut.useRef)(null),{disabled:m,updateMeasurementsFor:h,timeout:f}={...Ea,...s},v=Nt(null!=h?h:a),_=Qn({callback:(0,ut.useCallback)(()=>{u.current?(null!=g.current&&clearTimeout(g.current),g.current=setTimeout(()=>{c(Array.isArray(v.current)?v.current:[v.current]),g.current=null},f)):u.current=!0},[f]),disabled:m||!o}),x=(0,ut.useCallback)((e,t)=>{_&&(t&&(_.unobserve(t),u.current=!1),e&&_.observe(e))},[_]),[b,y]=Ct(x),w=Nt(t);return(0,ut.useEffect)(()=>{_&&b.current&&(_.disconnect(),u.current=!1,_.observe(b.current))},[b,_]),(0,ut.useEffect)(()=>(l({type:Ut.RegisterDroppable,element:{id:a,key:i,disabled:n,node:b,rect:p,data:w}}),()=>l({type:Ut.UnregisterDroppable,key:i,id:a})),[a]),(0,ut.useEffect)(()=>{n!==d.current.disabled&&(l({type:Ut.SetDroppableDisabled,id:a,key:i,disabled:n}),d.current.disabled=n)},[a,i,n,l]),{active:o,rect:p,isOver:(null==r?void 0:r.id)===a,node:b,over:r,setNodeRef:y}}function Da(e){let{animation:t,children:n}=e;const[a,s]=(0,ut.useState)(null),[i,o]=(0,ut.useState)(null),l=Dt(n);return n||a||!l||s(l),wt(()=>{if(!i)return;const e=null==a?void 0:a.key,n=null==a?void 0:a.props.id;null!=e&&null!=n?Promise.resolve(t(n,i)).then(()=>{s(null)}):s(null)},[t,a,i]),pt().createElement(pt().Fragment,null,n,a?(0,ut.cloneElement)(a,{ref:o}):null)}const Ma={x:0,y:0,scaleX:1,scaleY:1};function Sa(e){let{children:t}=e;return pt().createElement(ga.Provider,{value:pa},pt().createElement(xa.Provider,{value:Ma},t))}const Ta={position:"fixed",touchAction:"none"},Ra=e=>It(e)?"transform 250ms ease":void 0,ka=(0,ut.forwardRef)((e,t)=>{let{as:n,activatorEvent:a,adjustScale:s,children:i,className:o,rect:l,style:r,transform:c,transition:d=Ra}=e;if(!l)return null;const u=s?c:{...c,scaleX:1,scaleY:1},p={...Ta,width:l.width,height:l.height,top:l.top,left:l.left,transform:At.Transform.toString(u),transformOrigin:s&&a?Jt(a,l):void 0,transition:"function"==typeof d?d(a):d,...r};return pt().createElement(n,{className:o,style:p,ref:t},i)}),Ia=e=>t=>{let{active:n,dragOverlay:a}=t;const s={},{styles:i,className:o}=e;if(null!=i&&i.active)for(const[e,t]of Object.entries(i.active))void 0!==t&&(s[e]=n.node.style.getPropertyValue(e),n.node.style.setProperty(e,t));if(null!=i&&i.dragOverlay)for(const[e,t]of Object.entries(i.dragOverlay))void 0!==t&&a.node.style.setProperty(e,t);return null!=o&&o.active&&n.node.classList.add(o.active),null!=o&&o.dragOverlay&&a.node.classList.add(o.dragOverlay),function(){for(const[e,t]of Object.entries(s))n.node.style.setProperty(e,t);null!=o&&o.active&&n.node.classList.remove(o.active)}},Oa={duration:250,easing:"ease",keyframes:e=>{let{transform:{initial:t,final:n}}=e;return[{transform:At.Transform.toString(t)},{transform:At.Transform.toString(n)}]},sideEffects:Ia({styles:{active:{opacity:"0"}}})};let Aa=0;function La(e){return(0,ut.useMemo)(()=>{if(null!=e)return Aa++,Aa},[e])}const Pa=pt().memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:a,style:s,transition:i,modifiers:o,wrapperElement:l="div",className:r,zIndex:c=999}=e;const{activatorEvent:d,active:u,activeNodeRect:p,containerNodeRect:g,draggableNodes:m,droppableContainers:h,dragOverlay:f,over:v,measuringConfiguration:_,scrollableAncestors:x,scrollableAncestorRects:b,windowRect:y}=Na(),w=(0,ut.useContext)(xa),j=La(null==u?void 0:u.id),N=_a(o,{activatorEvent:d,active:u,activeNodeRect:p,containerNodeRect:g,draggingNodeRect:f.rect,over:v,overlayNodeRect:f.rect,scrollableAncestors:x,scrollableAncestorRects:b,transform:w,windowRect:y}),E=Zn(p),C=function(e){let{config:t,draggableNodes:n,droppableContainers:a,measuringConfiguration:s}=e;return jt((e,i)=>{if(null===t)return;const o=n.get(e);if(!o)return;const l=o.node.current;if(!l)return;const r=oa(i);if(!r)return;const{transform:c}=vt(i).getComputedStyle(i),d=rn(c);if(!d)return;const u="function"==typeof t?t:function(e){const{duration:t,easing:n,sideEffects:a,keyframes:s}={...Oa,...e};return e=>{let{active:i,dragOverlay:o,transform:l,...r}=e;if(!t)return;const c=o.rect.left-i.rect.left,d=o.rect.top-i.rect.top,u={scaleX:1!==l.scaleX?i.rect.width*l.scaleX/o.rect.width:1,scaleY:1!==l.scaleY?i.rect.height*l.scaleY/o.rect.height:1},p={x:l.x-c,y:l.y-d,...u},g=s({...r,active:i,dragOverlay:o,transform:{initial:l,final:p}}),[m]=g,h=g[g.length-1];if(JSON.stringify(m)===JSON.stringify(h))return;const f=null==a?void 0:a({active:i,dragOverlay:o,...r}),v=o.node.animate(g,{duration:t,easing:n,fill:"forwards"});return new Promise(e=>{v.onfinish=()=>{null==f||f(),e()}})}}(t);return Cn(l,s.draggable.measure),u({active:{id:e,data:o.data,node:l,rect:s.draggable.measure(l)},draggableNodes:n,dragOverlay:{node:i,rect:s.dragOverlay.measure(r)},droppableContainers:a,measuringConfiguration:s,transform:d})})}({config:a,draggableNodes:m,droppableContainers:h,measuringConfiguration:_}),D=E?f.setRef:void 0;return pt().createElement(Sa,null,pt().createElement(Da,{animation:C},u&&j?pt().createElement(ka,{key:j,id:u.id,ref:D,as:l,activatorEvent:d,adjustScale:t,className:r,transition:i,rect:E,style:{zIndex:c,...s},transform:N},n):null))});function za(e,t,n){const a=e.slice();return a.splice(n<0?a.length+n:n,0,a.splice(t,1)[0]),a}function Fa(e,t){return e.reduce((e,n,a)=>{const s=t.get(n);return s&&(e[a]=s),e},Array(e.length))}function Ka(e){return null!==e&&e>=0}const Va={scaleX:1,scaleY:1},Ba=e=>{var t;let{rects:n,activeNodeRect:a,activeIndex:s,overIndex:i,index:o}=e;const l=null!=(t=n[s])?t:a;if(!l)return null;const r=function(e,t,n){const a=e[t],s=e[t-1],i=e[t+1];return a&&(s||i)?n<t?s?a.left-(s.left+s.width):i.left-(a.left+a.width):i?i.left-(a.left+a.width):a.left-(s.left+s.width):0}(n,o,s);if(o===s){const e=n[i];return e?{x:s<i?e.left+e.width-(l.left+l.width):e.left-l.left,y:0,...Va}:null}return o>s&&o<=i?{x:-l.width-r,y:0,...Va}:o<s&&o>=i?{x:l.width+r,y:0,...Va}:{x:0,y:0,...Va}},$a=e=>{let{rects:t,activeIndex:n,overIndex:a,index:s}=e;const i=za(t,a,n),o=t[s],l=i[s];return l&&o?{x:l.left-o.left,y:l.top-o.top,scaleX:l.width/o.width,scaleY:l.height/o.height}:null},Ha={scaleX:1,scaleY:1},Ua=e=>{var t;let{activeIndex:n,activeNodeRect:a,index:s,rects:i,overIndex:o}=e;const l=null!=(t=i[n])?t:a;if(!l)return null;if(s===n){const e=i[o];return e?{x:0,y:n<o?e.top+e.height-(l.top+l.height):e.top-l.top,...Ha}:null}const r=function(e,t,n){const a=e[t],s=e[t-1],i=e[t+1];return a?n<t?s?a.top-(s.top+s.height):i?i.top-(a.top+a.height):0:i?i.top-(a.top+a.height):s?a.top-(s.top+s.height):0:0}(i,s,n);return s>n&&s<=o?{x:0,y:-l.height-r,...Ha}:s<n&&s>=o?{x:0,y:l.height+r,...Ha}:{x:0,y:0,...Ha}},Ga="Sortable",Xa=pt().createContext({activeIndex:-1,containerId:Ga,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:$a,disabled:{draggable:!1,droppable:!1}});function Wa(e){let{children:t,id:n,items:a,strategy:s=$a,disabled:i=!1}=e;const{active:o,dragOverlay:l,droppableRects:r,over:c,measureDroppableContainers:d}=Na(),u=St(Ga,n),p=Boolean(null!==l.rect),g=(0,ut.useMemo)(()=>a.map(e=>"object"==typeof e&&"id"in e?e.id:e),[a]),m=null!=o,h=o?g.indexOf(o.id):-1,f=c?g.indexOf(c.id):-1,v=(0,ut.useRef)(g),_=!function(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}(g,v.current),x=-1!==f&&-1===h||_,b=function(e){return"boolean"==typeof e?{draggable:e,droppable:e}:e}(i);wt(()=>{_&&m&&d(g)},[_,g,m,d]),(0,ut.useEffect)(()=>{v.current=g},[g]);const y=(0,ut.useMemo)(()=>({activeIndex:h,containerId:u,disabled:b,disableTransforms:x,items:g,overIndex:f,useDragOverlay:p,sortedRects:Fa(g,r),strategy:s}),[h,u,b.draggable,b.droppable,x,g,f,r,p,s]);return pt().createElement(Xa.Provider,{value:y},t)}const Ya=e=>{let{id:t,items:n,activeIndex:a,overIndex:s}=e;return za(n,a,s).indexOf(t)},qa=e=>{let{containerId:t,isSorting:n,wasDragging:a,index:s,items:i,newIndex:o,previousItems:l,previousContainerId:r,transition:c}=e;return!(!c||!a||l!==i&&s===o||!n&&(o===s||t!==r))},Ja={duration:200,easing:"ease"},Za="transform",Qa=At.Transition.toString({property:Za,duration:0,easing:"linear"}),es={roleDescription:"sortable"};function ts(e){let{animateLayoutChanges:t=qa,attributes:n,disabled:a,data:s,getNewIndex:i=Ya,id:o,strategy:l,resizeObserverConfig:r,transition:c=Ja}=e;const{items:d,containerId:u,activeIndex:p,disabled:g,disableTransforms:m,sortedRects:h,overIndex:f,useDragOverlay:v,strategy:_}=(0,ut.useContext)(Xa),x=function(e,t){var n,a;return"boolean"==typeof e?{draggable:e,droppable:!1}:{draggable:null!=(n=null==e?void 0:e.draggable)?n:t.draggable,droppable:null!=(a=null==e?void 0:e.droppable)?a:t.droppable}}(a,g),b=d.indexOf(o),y=(0,ut.useMemo)(()=>({sortable:{containerId:u,index:b,items:d},...s}),[u,s,b,d]),w=(0,ut.useMemo)(()=>d.slice(d.indexOf(o)),[d,o]),{rect:j,node:N,isOver:E,setNodeRef:C}=Ca({id:o,data:y,disabled:x.droppable,resizeObserverConfig:{updateMeasurementsFor:w,...r}}),{active:D,activatorEvent:M,activeNodeRect:S,attributes:T,setNodeRef:R,listeners:k,isDragging:I,over:O,setActivatorNodeRef:A,transform:L}=function(e){let{id:t,data:n,disabled:a=!1,attributes:s}=e;const i=St("Draggable"),{activators:o,activatorEvent:l,active:r,activeNodeRect:c,ariaDescribedById:d,draggableNodes:u,over:p}=(0,ut.useContext)(ga),{role:g=ja,roleDescription:m="draggable",tabIndex:h=0}=null!=s?s:{},f=(null==r?void 0:r.id)===t,v=(0,ut.useContext)(f?xa:wa),[_,x]=Ct(),[b,y]=Ct(),w=function(e,t){return(0,ut.useMemo)(()=>e.reduce((e,n)=>{let{eventName:a,handler:s}=n;return e[a]=e=>{s(e,t)},e},{}),[e,t])}(o,t),j=Nt(n);return wt(()=>(u.set(t,{id:t,key:i,node:_,activatorNode:b,data:j}),()=>{const e=u.get(t);e&&e.key===i&&u.delete(t)}),[u,t]),{active:r,activatorEvent:l,activeNodeRect:c,attributes:(0,ut.useMemo)(()=>({role:g,tabIndex:h,"aria-disabled":a,"aria-pressed":!(!f||g!==ja)||void 0,"aria-roledescription":m,"aria-describedby":d.draggable}),[a,g,h,f,m,d.draggable]),isDragging:f,listeners:a?void 0:w,node:_,over:p,setNodeRef:x,setActivatorNodeRef:y,transform:v}}({id:o,data:y,attributes:{...es,...n},disabled:x.draggable}),P=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,ut.useMemo)(()=>e=>{t.forEach(t=>t(e))},t)}(C,R),z=Boolean(D),F=z&&!m&&Ka(p)&&Ka(f),K=!v&&I,V=K&&F?L:null,B=F?null!=V?V:(null!=l?l:_)({rects:h,activeNodeRect:S,activeIndex:p,overIndex:f,index:b}):null,$=Ka(p)&&Ka(f)?i({id:o,items:d,activeIndex:p,overIndex:f}):b,H=null==D?void 0:D.id,U=(0,ut.useRef)({activeId:H,items:d,newIndex:$,containerId:u}),G=d!==U.current.items,X=t({active:D,containerId:u,isDragging:I,isSorting:z,id:o,index:b,items:d,newIndex:U.current.newIndex,previousItems:U.current.items,previousContainerId:U.current.containerId,transition:c,wasDragging:null!=U.current.activeId}),W=function(e){let{disabled:t,index:n,node:a,rect:s}=e;const[i,o]=(0,ut.useState)(null),l=(0,ut.useRef)(n);return wt(()=>{if(!t&&n!==l.current&&a.current){const e=s.current;if(e){const t=dn(a.current,{ignoreTransform:!0}),n={x:e.left-t.left,y:e.top-t.top,scaleX:e.width/t.width,scaleY:e.height/t.height};(n.x||n.y)&&o(n)}}n!==l.current&&(l.current=n)},[t,n,a,s]),(0,ut.useEffect)(()=>{i&&o(null)},[i]),i}({disabled:!X,index:b,node:N,rect:j});return(0,ut.useEffect)(()=>{z&&U.current.newIndex!==$&&(U.current.newIndex=$),u!==U.current.containerId&&(U.current.containerId=u),d!==U.current.items&&(U.current.items=d)},[z,$,u,d]),(0,ut.useEffect)(()=>{if(H===U.current.activeId)return;if(null!=H&&null==U.current.activeId)return void(U.current.activeId=H);const e=setTimeout(()=>{U.current.activeId=H},50);return()=>clearTimeout(e)},[H]),{active:D,activeIndex:p,attributes:T,data:y,rect:j,index:b,newIndex:$,items:d,isOver:E,isSorting:z,isDragging:I,listeners:k,node:N,overIndex:f,over:O,setNodeRef:P,setActivatorNodeRef:A,setDroppableNodeRef:C,setDraggableNodeRef:R,transform:null!=W?W:B,transition:W||G&&U.current.newIndex===b?Qa:K&&!It(M)||!c?void 0:z||X?At.Transition.toString({...c,property:Za}):void 0}}kn.Down,kn.Right,kn.Up,kn.Left;const ns="aop-is-dragging";function as(){document.body.classList.add(ns)}function ss(){document.body.classList.remove(ns)}const is=e=>`page:${e.menu_slug}`,os=e=>`field:${e.id}`,ls=e=>`fields:${e}`,rs="field-slot";function cs(e,t){for(let n=0;n<e.length;n++){const a=(e[n].fields||[]).findIndex(e=>os(e)===t);if(-1!==a)return{pageKey:n,index:a}}return null}function ds(e,t,n){if(!n||t===n)return null;if(t.startsWith("page:")){const a=e.findIndex(e=>is(e)===t),s=e.findIndex(e=>is(e)===n);return-1===a||-1===s?null:{action:"movePage",from:a,to:s}}const a=cs(e,t);if(!a)return null;let s=cs(e,n);if(!s&&n.startsWith("fields:")){const t=Number(n.slice(7));if(!e[t])return null;s={pageKey:t,index:a.pageKey===t?e[t].fields.length-1:e[t].fields.length}}return s?s.pageKey===a.pageKey?s.index===a.index?null:{action:"moveField",pageKey:a.pageKey,from:a.index,to:s.index}:{action:"moveFieldToPage",fromPage:a.pageKey,fromIndex:a.index,toPage:s.pageKey,toIndex:s.index}:null}function us({canMoveUp:e,canMoveDown:t,onUp:n,onDown:a,horizontal:s=!1}){const i=s?(0,r.__)("Move left","admin-options-pages"):(0,r.__)("Move up","admin-options-pages"),o=s?(0,r.__)("Move right","admin-options-pages"):(0,r.__)("Move down","admin-options-pages");return(0,Te.jsxs)("span",{className:"c-move-buttons",children:[(0,Te.jsx)(Me.Tooltip,{text:i,children:(0,Te.jsx)("button",{type:"button",className:"c-move-button is-up",disabled:!e,onClick:n,"aria-label":i,children:(0,Te.jsx)("span",{"aria-hidden":"true",className:`dashicons dashicons-arrow-${s?"left":"up"}-alt2`})})}),(0,Te.jsx)(Me.Tooltip,{text:o,children:(0,Te.jsx)("button",{type:"button",className:"c-move-button is-down",disabled:!t,onClick:a,"aria-label":o,children:(0,Te.jsx)("span",{"aria-hidden":"true",className:`dashicons dashicons-arrow-${s?"right":"down"}-alt2`})})})]})}function ps(e){const t=e.closest(".c-editor-main"),n=e.getBoundingClientRect();return{top:n.top+(t?.scrollTop??0),left:n.left+(t?.scrollLeft??0)}}function gs({id:e,type:t,index:n,count:a,item:s,itemClassName:i,renderItem:l,onMove:r,shared:c,ghostAway:d,nodesRef:u,beforeMoveRef:p}){const{attributes:g,listeners:m,setNodeRef:h,setActivatorNodeRef:f,transform:v,transition:_,isDragging:x}=ts({id:e,data:{type:t},attributes:{tabIndex:-1,role:"presentation"}}),b=(0,o.useRef)(null),[y,w]=(0,o.useState)(null);(0,o.useLayoutEffect)(()=>{const t=b.current,n=p.current?.get(e);if(!t||!n||x)return;p.current.delete(e);const a=ps(t),s=n.left-a.left,i=n.top-a.top;if(!s&&!i)return;t.style.transition="none",t.style.transform=`translate(${s}px, ${i}px)`;const o=window.requestAnimationFrame(()=>{w({transform:"translate(0, 0)",transition:"transform 200ms ease"})}),l=setTimeout(()=>w(null),200);return()=>{window.cancelAnimationFrame(o),clearTimeout(l)}},[n]);let j="";x&&(j=c?d?"is-ghost-slot is-ghost-away":"is-ghost-slot":"is-dragging");const N=y??{transform:At.Translate.toString(v),transition:_};function E(e){const t=new Map;u.current.forEach((e,n)=>{e&&t.set(n,ps(e))}),p.current=t,r(n,e)}return(0,Te.jsx)("div",{ref:t=>{h(t),b.current=t,t?u.current.set(e,t):u.current.delete(e)},style:N,className:[i,j].filter(Boolean).join(" "),children:l(s,n,{isDragging:x,handleProps:{ref:f,...g,...m},barProps:m,canMoveUp:n>0,canMoveDown:n<a-1,moveUp:()=>E(n-1),moveDown:()=>E(n+1)})})}function ms({className:e}){const{setNodeRef:t}=Ca({id:rs,data:{type:"fieldSlot"}});return(0,Te.jsx)("div",{ref:t,"aria-hidden":"true",className:[e,"is-ghost-slot is-drop-slot"].filter(Boolean).join(" ")})}function hs({containerId:e,className:t,children:n}){const{setNodeRef:a}=Ca({id:e,data:{type:"fieldList"}});return(0,Te.jsx)("div",{ref:a,className:t,children:n})}function fs({items:e,getId:t,onMove:n,renderItem:a,className:s="",itemClassName:i="",horizontal:l=!1,onDragStart:r,onDragEnd:c,shared:d=!1,type:u="item",containerId:p,slotIndex:g=null,ghostAway:m=!1}){const h=Wt(Xt(Bn,{activationConstraint:{distance:5}})),f=e.map(t),v=(0,o.useRef)(new Map),_=(0,o.useRef)(new Map),x=e.map((t,s)=>(0,Te.jsx)(gs,{id:f[s],type:u,index:s,count:e.length,item:t,itemClassName:i,renderItem:a,onMove:n,shared:d,ghostAway:m,nodesRef:v,beforeMoveRef:_},f[s]));null!==g&&x.splice(g,0,(0,Te.jsx)(ms,{className:i},rs));const b=l?Ba:Ua,y=p?(0,Te.jsx)(hs,{containerId:p,className:s,children:x}):(0,Te.jsx)("div",{className:s,children:x});return d?(0,Te.jsx)(Wa,{items:f,strategy:b,children:y}):(0,Te.jsx)(ya,{sensors:h,collisionDetection:tn,onDragStart:({active:e})=>(as(),r&&r(e.id)),onDragEnd:e=>{ss(),function({active:e,over:t}){c&&c(),t&&e.id!==t.id&&n(f.indexOf(e.id),f.indexOf(t.id))}(e)},onDragCancel:()=>(ss(),c&&c()),children:(0,Te.jsx)(Wa,{items:f,strategy:b,children:y})})}function vs({onConfirm:e,onCancel:t}){const n=(0,o.useRef)(),[a,s]=(0,o.useState)(0);return(0,o.useLayoutEffect)(()=>{const e=n.current.previousElementSibling;e&&s((n.current.offsetWidth-e.offsetWidth)/2)},[]),(0,Te.jsxs)("div",{ref:n,className:"c-popover flex items-center px-2 py-2",style:{left:`-${a}px`},children:[(0,Te.jsx)("div",{className:"c-popover__text",children:(0,r.__)("Are you sure?","admin-options-pages")}),(0,Te.jsx)("button",{type:"button",tabIndex:0,className:"button button-link button-small c-button is-cancel is-link",onClick:t,children:(0,r.__)("Cancel","admin-options-pages")}),(0,Te.jsx)("button",{type:"button",className:"button button-link button-small c-button is-delete-button is-link",onClick:e,onKeyDown:e=>"Tab"===e.key&&!e.shiftKey&&t(),children:(0,r.__)("Delete","admin-options-pages")})]})}function _s({label:e,onConfirm:t,inRow:n=!1}){const[a,s]=(0,o.useState)(!1),i=(0,o.useRef)();(0,o.useEffect)(()=>{if(!a)return;const e=e=>{i.current&&!i.current.contains(e.target)&&s(!1)},t=e=>{"Escape"===e.key&&s(!1)};return document.addEventListener("click",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("click",e),document.removeEventListener("keydown",t)}},[a]);const l=(0,Te.jsxs)("div",{className:"relative",ref:i,children:[(0,Te.jsx)("button",{type:"button",className:"button c-button is-delete-button",onClick:()=>s(!a),children:e}),a&&(0,Te.jsx)(vs,{onConfirm:()=>{s(!1),t()},onCancel:()=>s(!1)})]});return n?(0,Te.jsx)("div",{className:Se("relative pt-6 px-2 flex justify-end items-end"),children:l}):l}const xs=(0,o.createContext)({pageKey:0,fieldKey:0,slug:"",sortable:null});function bs(){const e=(0,o.useContext)(xs),{pageKey:t,fieldKey:n}=e;return{...e,name:e=>`pages[${t}][fields][${n}][${e}]`,inputId:e=>`field_${t}_${n}_${e}`}}function ys(){const{pageKey:e,fieldKey:t}=bs(),n=(0,l.useSelect)(n=>n(De).getField(e,t),[e,t]),{setIn:a}=(0,l.useDispatch)(De);return{field:n,pageKey:e,fieldKey:t,open:Boolean(n?.field_toggle),set:(n,s)=>a(["pages",e,"fields",t,n],s)}}function ws(e){if(!e)return;const t=e.ownerDocument.activeElement;t&&t!==e&&["INPUT","TEXTAREA","SELECT"].includes(t.tagName)||e.focus()}function js(e){if(e.field_label)return e.field_label;if(e.field_title)return e.field_title;if(e.description){const t=e.description.replace(/<\/?[^>]+(>|$)/g,"");return t.length>30?`${t.substring(0,30)}...`:t}return""}function Ns({typeName:e}){const{field:t,pageKey:n,fieldKey:a,open:s}=ys(),{sortable:i}=bs(),{setFieldOpen:o}=(0,l.useDispatch)(De),c=e=>e.stopPropagation();return(0,Te.jsxs)("div",{role:"presentation",className:Se("c-top-bar c-top-bar--field bg-gray-wp-100 border border-gray-wp-400 hover:border-gray-700",s&&"is-open"),onClick:()=>o(n,a,!s),...i&&i.barProps,children:[(0,Te.jsxs)("div",{className:"c-top-bar__left",children:[i&&(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Drag to reorder","admin-options-pages"),children:(0,Te.jsx)("span",{className:"c-top-bar__drag-handle","aria-hidden":"true",onClick:c,...i.handleProps,children:(0,Te.jsx)(Me.Icon,{icon:dt,size:20})})}),(0,Te.jsxs)("h3",{className:"c-top-bar__title",children:[(0,Te.jsx)("span",{className:"c-top-bar__pre-title",children:e}),js(t)]})]}),(0,Te.jsxs)("div",{className:"c-top-bar__right",children:[i&&(0,Te.jsx)("span",{onClick:c,children:(0,Te.jsx)(us,{canMoveUp:i.canMoveUp,canMoveDown:i.canMoveDown,onUp:i.moveUp,onDown:i.moveDown})}),(0,Te.jsx)("button",{type:"button",className:"c-top-bar__toggle","aria-expanded":s?"true":"false","aria-label":(0,r.__)("Add block","admin-options-pages"),children:(0,Te.jsx)("span",{className:Se("c-top-bar__toggle-indicator",s&&"is-open")})})]})]})}function Es({typeName:e,content:t,options:n}){const{field:a,pageKey:s,fieldKey:i,open:c}=ys(),{name:d,slug:u}=bs(),{setFieldOpen:p,removeField:g}=(0,l.useDispatch)(De),m=(0,o.useRef)(),h=void 0===a.field_toggle;return(0,o.useEffect)(()=>{if(!h)return;p(s,i,!0);const e=m.current;e&&e.scrollIntoView&&e.scrollIntoView({behavior:"smooth",block:"center"});const t=setTimeout(()=>{const t=e?.querySelector(".o-field__inside input.c-input, .o-field__inside textarea");ws(t)},200);return()=>clearTimeout(t)},[]),(0,Te.jsxs)("div",{className:"o-field__wrapper",ref:m,children:[(0,Te.jsx)(Ns,{typeName:e}),(0,Te.jsxs)("div",{className:"o-field__inside",style:c?void 0:{display:"none"},children:[(0,Te.jsxs)("div",{className:"o-field__content",children:[(0,Te.jsx)("input",{type:"hidden",name:d("id"),value:a.id}),(0,Te.jsx)("input",{type:"hidden",name:d("type"),value:a.type}),(0,Te.jsx)("input",{type:"hidden",name:d("field_key"),value:i}),(0,Te.jsx)("input",{type:"hidden",name:d("field_toggle"),value:String(c)}),(0,Te.jsx)("input",{type:"hidden",name:d("page_slug"),value:u}),t]}),(0,Te.jsxs)("div",{className:"o-field__options justify-between",children:[(0,Te.jsx)("div",{children:n}),(0,Te.jsx)(_s,{inRow:!0,label:(0,r.__)("Delete","admin-options-pages"),onConfirm:()=>g(s,i)})]})]})]})}const Cs=(0,Te.jsx)(Ie.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,Te.jsx)(Ie.Path,{d:"M11 12.5V17.5H12.5V12.5H17.5V11H12.5V6H11V11H6V12.5H11Z"})}),Ds=(0,Te.jsx)(Me.Icon,{icon:dt,size:20,className:"o-field-table__drag-handle-image"});function Ms({name:e,value:t,onChange:n,rules:a,as:s}){const{invalid:i,onTouch:o}=qe({name:e,value:t??"",rules:a,as:s});return(0,Te.jsx)("input",{className:Se("c-input","o-field-table__input",i&&"not-valid"),type:"text",name:e,value:t??"","aria-invalid":i||void 0,onChange:e=>n(e.target.value),onBlur:o,onKeyDown:e=>"Enter"===e.key&&e.preventDefault()})}function Ss(){const{field:e,pageKey:t,fieldKey:n,set:a}=ys(),{name:s}=bs(),{addTableRow:i,removeTableRow:c,moveTableRow:d,setUi:u}=(0,l.useDispatch)(De),p=(0,l.useSelect)(e=>{const t=e(De),n={};return Object.keys(t.getErrors()).forEach(e=>{const a=t.getShownError(e);a&&(n[e]=a)}),n},[]),g=(0,l.useSelect)(e=>e(De).getUi().moving,[]),m=e.table_list||[],h=function(e){const t={};return e.forEach(e=>{t[e.value]=(t[e.value]||0)+1}),Object.keys(t).filter(e=>t[e]>1)}(m),f=(0,o.useRef)(m.length),v=(0,o.useRef)();(0,o.useEffect)(()=>{if(m.length>f.current){const e=m[m.length-1],t=setTimeout(()=>{ws(v.current?.querySelector(`input[name="${s("table_list")}[${e.id}][value]"]`))},50);return f.current=m.length,()=>clearTimeout(t)}f.current=m.length},[m.length]);const _=m.map(e=>String(e.id)),x={};Object.keys(p).forEach(e=>{e.startsWith(`${s("table_list")}[`)&&_.some(t=>e.includes(`[${t}]`))&&(x[p[e]]=(x[p[e]]||0)+1)});const b=(e,t,n)=>a("table_list",m.map((a,s)=>s===e?{...a,[t]:n}:a));return(0,Te.jsxs)("div",{ref:v,className:Se("o-field-table",g&&"is-active"),children:[(0,Te.jsxs)("div",{className:"o-field-table__header",children:[(0,Te.jsx)("div",{className:"o-field-table__header-label",children:(0,r.__)("Value","admin-options-pages")}),(0,Te.jsx)("div",{className:"o-field-table__header-label",children:(0,r.__)("Label","admin-options-pages")})]}),(0,Te.jsx)(fs,{items:m,getId:e=>e.id,className:"o-field-table__body",itemClassName:"o-field-table__row",onMove:(e,a)=>d(t,n,e,a),onDragStart:()=>u("moving",!0),onDragEnd:()=>u("moving",!1),renderItem:(e,a,i)=>{const o=`${s("table_list")}[${e.id}]`;return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)("div",{className:m.length>1?"o-field-table__drag-handle":"o-field-table__drag-handle-abort",children:m.length>1?(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Drag to reorder","admin-options-pages"),children:(0,Te.jsx)("span",{...i.handleProps,"aria-hidden":"true",children:Ds})}):(0,Te.jsx)("span",{"aria-hidden":"true",children:Ds})}),(0,Te.jsx)(Ms,{name:`${o}[value]`,value:e.value,onChange:e=>b(a,"value",e),rules:`required|alphanumeric_underscore|excluded_table_value:${h.join(",")}`,as:"value"}),(0,Te.jsx)(Ms,{name:`${o}[label]`,value:e.label,onChange:e=>b(a,"label",e),rules:"no_less_than_sign",as:"label"}),(0,Te.jsx)("input",{type:"hidden",name:`${o}[id]`,value:e.id}),m.length>1&&(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(us,{canMoveUp:i.canMoveUp,canMoveDown:i.canMoveDown,onUp:i.moveUp,onDown:i.moveDown}),(0,Te.jsx)(Me.Button,{variant:"secondary",size:"small",isDestructive:!0,className:"o-field-table__delete","aria-label":(0,r.__)("Delete this row","admin-options-pages"),onClick:()=>c(t,n,a),children:(0,r.__)("Delete","admin-options-pages")})]})]})}}),Object.keys(x).length>0&&(0,Te.jsx)("ul",{className:"o-field-table__error-list",children:Object.entries(x).map(([e,t])=>(0,Te.jsxs)("li",{className:"o-field-table__error-item",children:[(0,Te.jsx)(Me.Icon,{className:"c-validate-message__icon",icon:Oe,size:16}),(0,Te.jsx)("span",{className:"o-field-table__error-message",children:e}),t>1&&(0,Te.jsx)("span",{className:"o-field-table__error-count",children:t})]},e))}),(0,Te.jsx)("div",{className:"o-field-table__footer",children:(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Add a row","admin-options-pages"),children:(0,Te.jsx)("button",{type:"button",className:"c-icon-button c-icon-button--insert-toggle is-appender for-field-table","aria-label":(0,r.__)("Add a row","admin-options-pages"),onClick:()=>i(t,n),children:(0,Te.jsx)(Me.Icon,{icon:Cs,size:20})})})})]})}function Ts({name:e,id:t,label:n,value:a,onChange:s,rules:i="",as:o="field",className:l="",placeholder:r="",inputRef:c,wrapperClass:d="",messageClass:u="",onKeyDown:p}){const{message:g,invalid:m,onTouch:h}=qe({name:e,value:a??"",rules:i,as:o}),f=`${t}-message`;return(0,Te.jsxs)("div",{className:Se("o-input-wrapper has-message",d),children:[(0,Te.jsx)("label",{htmlFor:t,className:"c-input-label",children:n}),(0,Te.jsxs)("div",{className:"o-input-wrapper__field",children:[(0,Te.jsx)("input",{ref:c,className:Se("c-input",l,m&&"not-valid"),type:"text",name:e,id:t,value:a??"",placeholder:r,...Le(f,m),onChange:e=>s(e.target.value),onBlur:h,onKeyDown:e=>{"Enter"===e.key&&e.preventDefault(),p&&p(e)}}),(0,Te.jsx)(Ae,{id:f,message:m?g:null,className:u})]})]})}function Rs({data:e,value:t,onChange:n,validate:a="",validateName:s="field",placeholder:i="",code:o=!1,inputRef:l}){const{name:r,inputId:c}=bs();return(0,Te.jsx)(Ts,{name:r(e.id),id:c(e.id),label:e.label,value:t,onChange:n,rules:a||"no_less_than_sign",as:s,className:o?"code":"",placeholder:i,inputRef:l})}function ks({data:e,value:t,onChange:n,open:a=!1}){const{name:s,inputId:i}=bs(),l=(0,o.useRef)(),[r,c]=(0,o.useState)(33);return(0,o.useLayoutEffect)(()=>{l.current&&l.current.scrollHeight&&c(l.current.scrollHeight+2)},[t,a]),(0,Te.jsxs)("div",{className:"o-input-wrapper align-top",children:[(0,Te.jsx)("label",{htmlFor:i(e.id),className:"c-input-label",children:e.label}),(0,Te.jsx)("textarea",{ref:l,className:"c-input c-input--textarea",name:s(e.id),id:i(e.id),value:t??"",style:{height:`${r}px`},onChange:e=>n(e.target.value)})]})}function Is({data:e,options:t,value:n,onChange:a,rules:s="",as:i="field",children:o,wrapperClass:l=""}){const{name:r,inputId:c}=bs(),d=r(e.id),{message:u,invalid:p,onTouch:g}=qe({name:d,value:n,rules:s,as:i}),m=`${c(e.id)}-message`,h=(0,Te.jsx)("select",{className:"c-select",name:d,id:c(e.id),value:n??"",...Le(m,p),onChange:e=>{a(e.target.value),g()},onKeyDown:e=>"Enter"===e.key&&e.preventDefault(),children:t.map(e=>(0,Te.jsx)("option",{value:e.id,children:e.label},e.id))});return(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:c(e.id),className:"c-input-label",children:e.label}),l?(0,Te.jsxs)("div",{className:l,children:[h,o]}):h,s&&(0,Te.jsx)(Ae,{id:m,message:p?u:null})]})}function Os({name:e,id:t,checked:n,onChange:a,value:s="1",on:i=n,describedBy:o}){return(0,Te.jsxs)("span",{className:"c-toggle",children:[(0,Te.jsx)("input",{className:"c-toggle__input",type:"checkbox",name:e,id:t,checked:Boolean(n),value:s,"aria-describedby":o,onChange:e=>a(e.target.checked),onKeyDown:e=>"Enter"===e.key&&e.preventDefault()}),(0,Te.jsx)("span",{className:Se("c-toggle__track",i&&"is-checked")}),(0,Te.jsx)("span",{className:Se("c-toggle__thumb",i&&"is-checked")})]})}function As({data:e,value:t,onChange:n}){const{name:a,inputId:s}=bs(),i="on"===t;return(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:s(e.id),className:"c-input-label for-toggle",children:e.label}),(0,Te.jsx)(Os,{name:a(e.id),id:s(e.id),value:"on",checked:i,onChange:e=>n(e?"on":"off")}),!i&&(0,Te.jsx)("input",{type:"hidden",name:a(e.id),value:"off"})]})}const Ls=window.wp.compose;function Ps({data:e,value:t="yes",onChange:n}){const{name:a,inputId:s}=bs(),i="no"===t;return(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:s(e.id),className:"c-input-label",children:e.label}),(0,Te.jsx)(Os,{name:a(e.id),id:s(e.id),value:"no",checked:i,on:!i,onChange:e=>n(e?"no":"yes")})]})}function zs({id:e,text:t}){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Me.Tooltip,{text:t,children:(0,Te.jsx)("button",{type:"button",className:"c-help-tip","aria-label":(0,r.__)("Help","admin-options-pages"),"aria-describedby":e,children:"?"})}),(0,Te.jsx)("span",{id:e,className:"screen-reader-text",children:t})]})}function Fs(){const{field:e,set:t}=ys();return(0,Te.jsx)(Ps,{data:{id:"toggle_autoload",label:(0,r.__)("Autoload","admin-options-pages")},value:e.toggle_autoload,onChange:e=>t("toggle_autoload",e)})}function Ks({fieldName:e}){const[t,n]=(0,o.useState)(!1),a=`[aop_option name="${e}"]`,s=(0,Ls.useCopyToClipboard)(a,()=>n(!0));return(0,o.useEffect)(()=>{if(!t)return;const e=setTimeout(()=>n(!1),2e3);return()=>clearTimeout(e)},[t]),(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("span",{className:"c-input-label",children:(0,r.__)("Shortcode","admin-options-pages")}),(0,Te.jsxs)("div",{className:"o-input-wrapper__control",children:[(0,Te.jsx)("code",{className:"c-shortcode",children:a}),(0,Te.jsx)(Me.Button,{ref:s,variant:"secondary",size:"small",children:t?(0,r.__)("Copied!","admin-options-pages"):(0,r.__)("Copy","admin-options-pages")})]})]})}function Vs(){const{field:e,set:t}=ys(),{name:n,inputId:a}=bs(),s=a("frontend");return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:s,className:"c-input-label",children:(0,r.__)("Use in shortcode and blocks","admin-options-pages")}),(0,Te.jsxs)("div",{className:"o-input-wrapper__control",children:[(0,Te.jsx)(Os,{name:n("frontend"),id:s,value:"yes",checked:"yes"===e.frontend,describedBy:`${s}-help`,onChange:e=>t("frontend",e?"yes":"no")}),(0,Te.jsx)(zs,{id:`${s}-help`,text:(0,r.__)("With get_option() the value is always available in PHP, also when this is off.","admin-options-pages")})]})]}),"yes"===e.frontend&&e.field_name?(0,Te.jsx)(Ks,{fieldName:e.field_name}):null]})}function Bs(){const{field:e,set:t}=ys();return(0,Te.jsx)(Rs,{data:{id:"field_label",label:(0,r.__)("Field label","admin-options-pages")},value:e.field_label,onChange:e=>t("field_label",e)})}function $s({idLikeName:e=!1}){const{field:t,set:n}=ys(),{name:a,inputId:s}=bs(),i=(0,l.useSelect)(e=>e(De).getExcludedOptionNames(),[]),o=e?a("field_name"):s("field_name");return(0,Te.jsx)(Ts,{name:a("field_name"),id:o,label:(0,r.__)("Field name","admin-options-pages"),value:t.field_name,onChange:e=>n("field_name",e),rules:`max:191|required|no_uppercase|option_name|excluded_option_name:${i.join(",")}`,as:"field name"})}function Hs(){const{field:e,set:t}=ys();return(0,Te.jsx)(Rs,{data:{id:"class_attribute",label:(0,r.__)("Additional CSS Class(es)","admin-options-pages")},value:e.class_attribute,onChange:e=>t("class_attribute",e),validate:"class_attribute",placeholder:"example-class second__one",code:!0})}function Us(){const{field:e,set:t,open:n}=ys();return(0,Te.jsx)(ks,{data:{id:"description",label:(0,r.__)("Description","admin-options-pages")},value:e.description,onChange:e=>t("description",e),open:n})}function Gs(){const{field:e,set:t}=ys();return(0,Te.jsx)(Rs,{data:{id:"text_right",label:(0,r.__)("Text after input field","admin-options-pages")},value:e.text_right,onChange:e=>t("text_right",e)})}const Xs={field_label:Bs,field_name:$s,toggle_autoload:Fs,frontend:Vs,class_attribute:Hs,description:Us},Ws=["field_label","field_name","toggle_autoload","frontend"];function Ys({setting:e}){const{field:t,set:n}=ys(),{name:a,inputId:s}=bs(),{key:i,control:o,label:l}=e,r=t[i],c=e=>n(i,e),d=Xs[i];return d?(0,Te.jsx)(d,{}):"textarea"===o?(0,Te.jsx)(ks,{data:{id:i,label:l},value:r,onChange:c}):"select"===o?(0,Te.jsx)(Is,{data:{id:i,label:l},options:(e.options||[]).map(e=>({id:e,label:e})),value:r,onChange:c}):"toggle"===o&&"toggle_onoff"===e.sanitize?(0,Te.jsx)(As,{data:{id:i,label:l},value:r,onChange:c}):"toggle"===o&&"toggle_text_format"===e.sanitize?(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:s(i),className:"c-input-label for-toggle",children:l}),(0,Te.jsx)(Os,{name:a(i),id:s(i),value:"1",checked:"1"===r,onChange:e=>c(!!e&&"1")})]}):"choices"===o?(0,Te.jsxs)("div",{className:"o-input-wrapper align-top has-table",children:[(0,Te.jsx)("label",{htmlFor:a("field_name"),className:"c-input-label",children:l}),(0,Te.jsx)(Ss,{})]}):"color"===o?(0,Te.jsx)(Ts,{name:a(i),id:s(i),label:l,value:r,onChange:c,rules:"color_hex",as:l.toLowerCase(),className:"code",placeholder:"#000000"}):"number"===o?(0,Te.jsx)(Ts,{name:a(i),id:s(i),label:l,value:r,onChange:c,rules:"numeric",as:l.toLowerCase(),className:"code"}):(0,Te.jsx)(Rs,{data:{id:i,label:l},value:r,onChange:c})}function qs({serverType:e}){const t=(e.settings||[]).filter(e=>"hidden"!==e.control),n=t.filter(e=>Ws.includes(e.key)),a=t.filter(e=>!Ws.includes(e.key));return(0,Te.jsx)(Es,{typeName:e.label||(0,r.__)("Field","admin-options-pages"),content:n.map(e=>(0,Te.jsx)(Ys,{setting:e},e.key)),options:a.map(e=>(0,Te.jsx)(Ys,{setting:e},e.key))})}const Js=function(){const e=new Map;let t=new Map;return{register:(t,n={})=>"string"==typeof t&&""!==t&&(e.has(t)?(console.warn(`aop: the field type "${t}" is already registered.`),!1):(e.set(t,{...n}),!0)),get:t=>e.get(t),has:t=>e.has(t),all:()=>[...e].map(([e,t])=>({type:e,...t})),setServerTypes(e){t=new Map((e||[]).map(e=>[e.type,e]))},types:()=>[...t.values()].map(t=>{const n=e.get(t.type)||{};return{...t,...n,label:n.label||t.label,settings:t.settings}})}}();function Zs(){return"undefined"!=typeof window&&window.aop?.fields||Js}function Qs({field:e,pageKey:t,fieldKey:n}){const{removeUnavailableField:a}=(0,l.useDispatch)(De);return(0,Te.jsxs)("div",{className:"o-field__wrapper is-unavailable",children:[(0,Te.jsx)("div",{className:"c-top-bar c-top-bar--field bg-gray-wp-100 border border-gray-wp-400",children:(0,Te.jsx)("div",{className:"c-top-bar__left",children:(0,Te.jsxs)("h3",{className:"c-top-bar__title",children:[(0,Te.jsx)("span",{className:"c-top-bar__pre-title",children:e.type}),e.field_label||e.field_name||""]})})}),(0,Te.jsxs)("div",{className:"o-field__unavailable-body",children:[(0,Te.jsx)("p",{className:"o-field__unavailable",children:(0,r.__)("This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.","admin-options-pages")}),(0,Te.jsx)("div",{className:"o-field__unavailable-actions",children:(0,Te.jsx)(_s,{label:(0,r.__)("Delete","admin-options-pages"),onConfirm:()=>a(t,n,e.id)})})]})]})}function ei({pageKey:e,fieldKey:t,slug:n,sortable:a}){const{stored:s,serverType:i}=(0,l.useSelect)(n=>{const a=n(De),s=a.getField(e,t);return{stored:s,serverType:(a.getFieldTypes()||[]).find(e=>e.type===s?.type)}},[e,t]);if(!s)return null;const o=Zs().get(s.type),r=o?.EditComponent;return!r&&i?(0,Te.jsx)(xs.Provider,{value:{pageKey:e,fieldKey:t,slug:n,sortable:a},children:(0,Te.jsx)(qs,{serverType:i})}):r?(0,Te.jsx)(xs.Provider,{value:{pageKey:e,fieldKey:t,slug:n,sortable:a},children:(0,Te.jsx)(r,{})}):(0,Te.jsx)(Qs,{field:s,pageKey:e,fieldKey:t})}const ti=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"regular_text",label:(0,r.__)("Regular","admin-options-pages")},{id:"small_text",label:(0,r.__)("Small","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function ni(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fs,{}),(0,Te.jsx)(Vs,{}),(0,Te.jsx)(Bs,{}),(0,Te.jsx)($s,{}),(0,Te.jsx)(Rs,{data:{id:"placeholder",label:(0,r.__)("Placeholder","admin-options-pages")},value:e.placeholder,onChange:e=>t("placeholder",e)}),(0,Te.jsx)(Rs,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function ai(){const{field:e,set:t}=ys(),{name:n,inputId:a}=bs(),s="1"===e.toggle_text_format;return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:a("toggle_text_format"),className:"c-input-label for-toggle",children:(0,r.__)("Formatted as code","admin-options-pages")}),(0,Te.jsx)(Os,{name:n("toggle_text_format"),id:a("toggle_text_format"),checked:s,value:"1",onChange:e=>t("toggle_text_format",!!e&&"1")})]}),(0,Te.jsx)(Is,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:ti,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hs,{}),(0,Te.jsx)(Gs,{}),(0,Te.jsx)(Us,{})]})}h("text_field",e=>{const t={};return e.field_style||(t.field_style="regular_text"),e.toggle_text_format||(t.toggle_text_format=!1),e.toggle_autoload||(t.toggle_autoload="yes"),t});const si=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"standard",label:(0,r.__)("Standard","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function ii(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fs,{}),(0,Te.jsx)(Vs,{}),(0,Te.jsx)(Bs,{}),(0,Te.jsx)($s,{}),(0,Te.jsx)(Rs,{data:{id:"placeholder",label:(0,r.__)("Placeholder","admin-options-pages")},value:e.placeholder,onChange:e=>t("placeholder",e)}),(0,Te.jsx)(Rs,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function oi(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Is,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:si,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:"standard"!==e.field_style&&(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hs,{}),(0,Te.jsx)(Us,{}),(0,Te.jsx)(As,{data:{id:"description_italic",label:(0,r.__)("Description italic","admin-options-pages")},value:e.description_italic,onChange:e=>t("description_italic",e)})]})}h("textarea",e=>{const t={};return e.field_style||(t.field_style="standard"),e.description_italic||(t.description_italic="off"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const li=[{id:"0",label:(0,r.__)("0","admin-options-pages")},{id:"1",label:(0,r.__)("1","admin-options-pages")},{id:"2",label:(0,r.__)("2","admin-options-pages")}];function ri(){const{field:e,set:t}=ys(),{name:n,inputId:a}=bs(),{min:s,max:i,between:o}=function(e){const t=Number.isNaN(Number(e.min_value))?"":e.min_value,n=Number.isNaN(Number(e.max_value))?"":e.max_value;return{min:t,max:n,between:!t||!n||t>n?",":`${t}, ${n}`}}(e);return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fs,{}),(0,Te.jsx)(Vs,{}),(0,Te.jsx)(Bs,{}),(0,Te.jsx)($s,{}),(0,Te.jsx)(Ts,{name:n("min_value"),id:a("min_value"),label:(0,r.__)("Minimum value","admin-options-pages"),value:e.min_value,onChange:e=>t("min_value",e),rules:"numeric",as:"minimum value",className:"code"}),(0,Te.jsx)(Ts,{name:n("max_value"),id:a("max_value"),label:(0,r.__)("Maximum value","admin-options-pages"),value:e.max_value,onChange:e=>t("max_value",e),rules:`numeric|min_value:${s}`,as:"maximum value",className:"code"}),(0,Te.jsx)(Rs,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e),validate:`numeric|between:${o}|min_value:${s}|max_value:${i}`,validateName:"default value",code:!0}),(0,Te.jsx)(Is,{data:{id:"decimals",label:(0,r.__)("Decimals","admin-options-pages")},options:li,value:e.decimals,onChange:e=>t("decimals",e),rules:"between:0,2",as:"decimal"})]})}function ci(){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Hs,{}),(0,Te.jsx)(Gs,{}),(0,Te.jsx)(Us,{})]})}function di(){const{field:e,set:t}=ys(),{name:n}=bs(),a=[{id:"frontend_on",label:(0,r.__)("Text when checked","admin-options-pages")},{id:"frontend_off",label:(0,r.__)("Text when not checked","admin-options-pages")}];return"yes"!==e.frontend?a.map(({id:t})=>(0,Te.jsx)("input",{type:"hidden",name:n(t),value:e[t]||""},t)):a.map(n=>(0,Te.jsx)(Rs,{data:n,value:e[n.id]||"",placeholder:"frontend_on"===n.id?"1":"0",onChange:e=>t(n.id,e)},n.id))}function ui(){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fs,{}),(0,Te.jsx)(Vs,{}),(0,Te.jsx)(di,{}),(0,Te.jsx)(Bs,{}),(0,Te.jsx)($s,{idLikeName:!0})]})}function pi(){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Hs,{}),(0,Te.jsx)(Gs,{}),(0,Te.jsx)(Us,{})]})}function gi(e){const t={};return e.toggle_autoload||(t.toggle_autoload="yes"),!e.table_list||Array.isArray(e.table_list)&&!e.table_list.length?t.table_list=[{label:"",value:"",id:(new Date).getTime()}]:Array.isArray(e.table_list)||(t.table_list=Object.values(e.table_list)),t}function mi(){const{name:e}=bs();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fs,{}),(0,Te.jsx)(Vs,{}),(0,Te.jsx)(Bs,{}),(0,Te.jsx)($s,{idLikeName:!0}),(0,Te.jsxs)("div",{className:"o-input-wrapper align-top has-table",children:[(0,Te.jsx)("label",{htmlFor:e("field_name"),className:"c-input-label",children:(0,r.__)("Field values","admin-options-pages")}),(0,Te.jsx)(Ss,{})]})]})}function hi(){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Hs,{}),(0,Te.jsx)(Us,{})]})}h("number",e=>{const t={};return e.decimals||(t.decimals="0"),e.toggle_autoload||(t.toggle_autoload="yes"),t}),h("checkbox",e=>e.toggle_autoload?{}:{toggle_autoload:"yes"}),h("radio",gi),h("select_field",gi),h("button_group",gi);const fi=(0,Te.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",role:"img",className:"c-input__checkbox-svg","aria-hidden":"true",focusable:"false",children:(0,Te.jsx)("path",{d:"M18.3 5.6L9.9 16.9l-4.6-3.4-.9 1.2 5.8 4.3 9.3-12.6z"})});function vi({data:e,value:t,onChange:n}){const{name:a,inputId:s}=bs();if(!e.types)return(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:s(e.id),className:"c-input-label",children:e.label}),(0,Te.jsx)("input",{className:"c-input",type:"checkbox",name:a(e.id),id:s(e.id),checked:Boolean(t),onChange:e=>n(e.target.checked),onKeyDown:e=>"Enter"===e.key&&e.preventDefault()})]});const i=t||{};return(0,Te.jsxs)("div",{className:Se("o-input-wrapper","align-top"),children:[(0,Te.jsx)("label",{htmlFor:s(e.id),className:"c-input-label",children:e.label}),(0,Te.jsx)("div",{className:"c-input-group",children:e.types.map(t=>{const s=`${a(e.id)}[types][${t.id}]`,o=!t.disabled&&Object.prototype.hasOwnProperty.call(i,t.id),l=t.help?`${s}-help`:void 0;return(0,Te.jsxs)("div",{className:Se("c-input-group__item",t.disabled&&"is-disabled"),children:[(0,Te.jsx)("input",{className:"c-input",type:"checkbox",name:s,id:s,checked:o,disabled:t.disabled,"aria-describedby":l,onChange:e=>{const a={...i};e.target.checked?a[t.id]="on":delete a[t.id],n(a)},onKeyDown:e=>"Enter"===e.key&&e.preventDefault()}),o&&fi,(0,Te.jsx)("label",{htmlFor:s,className:"code",children:t.label}),t.help&&(0,Te.jsx)(zs,{id:l,text:t.help})]},t.id)})})]})}function _i(){return"undefined"!=typeof window&&window.aop_editor_config||{}}function xi(){const e=_i();return!("svgUploads"in e)||[!0,1,"1"].includes(e.svgUploads)}function bi(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fs,{}),(0,Te.jsx)(Vs,{}),(0,Te.jsx)(Bs,{}),(0,Te.jsx)($s,{}),(0,Te.jsx)(vi,{data:{id:"extensions",label:(0,r.__)("Allowed extensions","admin-options-pages"),types:[{label:(0,r.__)(".jpeg .jpg","admin-options-pages"),id:"jpeg"},{label:(0,r.__)(".png","admin-options-pages"),id:"png"},{label:(0,r.__)(".gif","admin-options-pages"),id:"gif"},{label:(0,r.__)(".svg","admin-options-pages"),id:"svg",disabled:!xi(),help:xi()?void 0:(0,r.__)("This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.","admin-options-pages")},{label:(0,r.__)(".ico","admin-options-pages"),id:"ico"}]},value:e.extensions?.types,onChange:n=>t("extensions",{...e.extensions,types:n})})]})}function yi(){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Hs,{}),(0,Te.jsx)(Us,{})]})}function wi(){const{field:e,set:t}=ys(),{name:n,inputId:a}=bs();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fs,{}),(0,Te.jsx)(Vs,{}),(0,Te.jsx)(Bs,{}),(0,Te.jsx)($s,{}),(0,Te.jsx)(Ts,{name:n("default_value"),id:a("default_value"),label:(0,r.__)("Default color (HEX)","admin-options-pages"),value:e.default_value,onChange:e=>t("default_value",e),rules:"color_hex",as:"field color",className:"code",placeholder:"#000000"})]})}function ji(){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Hs,{}),(0,Te.jsx)(Us,{})]})}h("image",e=>{const t={};if(e.toggle_autoload||(t.toggle_autoload="yes"),!e.extensions?.types){const e={jpeg:"on",png:"on",gif:"on",svg:"on",ico:"on"};xi()||delete e.svg,t.extensions={types:e}}return t}),h("color_picker",e=>e.toggle_autoload?{}:{toggle_autoload:"yes"});const Ni=[{id:"full",label:(0,r.__)("Full","admin-options-pages")},{id:"basic",label:(0,r.__)("Basic","admin-options-pages")}];function Ei(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fs,{}),(0,Te.jsx)(Vs,{}),(0,Te.jsx)(Bs,{}),(0,Te.jsx)($s,{}),(0,Te.jsx)(Rs,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function Ci(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(As,{data:{id:"toggle_show_media_upload_buttons",label:(0,r.__)("Show media upload buttons","admin-options-pages")},value:e.toggle_show_media_upload_buttons,onChange:e=>t("toggle_show_media_upload_buttons",e)}),(0,Te.jsx)(Is,{data:{id:"toolbar",label:(0,r.__)("Toolbar","admin-options-pages")},options:Ni,value:e.toolbar,onChange:e=>t("toolbar",e),wrapperClass:"flex items-center"}),(0,Te.jsx)(Hs,{}),(0,Te.jsx)(Us,{})]})}function Di(){return(0,Te.jsx)(Hs,{})}function Mi(){const{field:e,set:t}=ys();return(0,Te.jsx)(Rs,{data:{id:"field_title",label:(0,r.__)("Title","admin-options-pages")},value:e.field_title,onChange:e=>t("field_title",e)})}h("wysiwyg_editor",e=>{const t={};return e.toolbar||(t.toolbar="full"),e.toggle_show_media_upload_buttons||(t.toggle_show_media_upload_buttons="off"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const Si=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"regular_text",label:(0,r.__)("Regular","admin-options-pages")},{id:"small_text",label:(0,r.__)("Small","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function Ti(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fs,{}),(0,Te.jsx)(Vs,{}),(0,Te.jsx)(Bs,{}),(0,Te.jsx)($s,{}),(0,Te.jsx)(Rs,{data:{id:"placeholder",label:(0,r.__)("Placeholder","admin-options-pages")},value:e.placeholder,onChange:e=>t("placeholder",e)}),(0,Te.jsx)(Rs,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function Ri(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Is,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:Si,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hs,{}),(0,Te.jsx)(Us,{})]})}h("email",e=>{const t={};return e.field_style||(t.field_style="regular_text"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const ki=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"regular_text",label:(0,r.__)("Regular","admin-options-pages")},{id:"small_text",label:(0,r.__)("Small","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function Ii(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fs,{}),(0,Te.jsx)(Vs,{}),(0,Te.jsx)(Bs,{}),(0,Te.jsx)($s,{}),(0,Te.jsx)(Rs,{data:{id:"placeholder",label:(0,r.__)("Placeholder","admin-options-pages")},value:e.placeholder,onChange:e=>t("placeholder",e)}),(0,Te.jsx)(Rs,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function Oi(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Is,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:ki,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hs,{}),(0,Te.jsx)(Us,{})]})}h("link",e=>{const t={};return e.field_style||(t.field_style="regular_text"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const Ai=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"regular_text",label:(0,r.__)("Regular","admin-options-pages")},{id:"small_text",label:(0,r.__)("Small","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function Li(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fs,{}),(0,Te.jsx)(Bs,{}),(0,Te.jsx)($s,{}),(0,Te.jsx)(Rs,{data:{id:"placeholder",label:(0,r.__)("Placeholder","admin-options-pages")},value:e.placeholder,onChange:e=>t("placeholder",e)}),(0,Te.jsx)(Rs,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function Pi(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Is,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:Ai,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hs,{}),(0,Te.jsx)(Us,{})]})}h("password",e=>{const t={};return e.field_style||(t.field_style="regular_text"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const zi=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"regular_text",label:(0,r.__)("Regular","admin-options-pages")},{id:"small_text",label:(0,r.__)("Small","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function Fi(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fs,{}),(0,Te.jsx)(Vs,{}),(0,Te.jsx)(Bs,{}),(0,Te.jsx)($s,{}),(0,Te.jsx)(Rs,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function Ki(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Is,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:zi,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hs,{}),(0,Te.jsx)(Us,{})]})}h("date",e=>{const t={};return e.field_style||(t.field_style="regular_text"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const Vi=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"regular_text",label:(0,r.__)("Regular","admin-options-pages")},{id:"small_text",label:(0,r.__)("Small","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function Bi(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fs,{}),(0,Te.jsx)(Vs,{}),(0,Te.jsx)(Bs,{}),(0,Te.jsx)($s,{}),(0,Te.jsx)(Rs,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function $i(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Is,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:Vi,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hs,{}),(0,Te.jsx)(Us,{})]})}h("time",e=>{const t={};return e.field_style||(t.field_style="regular_text"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const Hi=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"regular_text",label:(0,r.__)("Regular","admin-options-pages")},{id:"small_text",label:(0,r.__)("Small","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function Ui(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fs,{}),(0,Te.jsx)(Vs,{}),(0,Te.jsx)(Bs,{}),(0,Te.jsx)($s,{}),(0,Te.jsx)(Rs,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function Gi(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Is,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:Hi,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hs,{}),(0,Te.jsx)(Us,{})]})}h("date_time",e=>{const t={};return e.field_style||(t.field_style="regular_text"),e.toggle_autoload||(t.toggle_autoload="yes"),t}),h("range",e=>{const t={};return e.decimals||(t.decimals="0"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const Xi={id:"extensions",label:(0,r.__)("Allowed file types","admin-options-pages"),types:[{label:(0,r.__)(".pdf","admin-options-pages"),id:"pdf"},{label:(0,r.__)(".doc","admin-options-pages"),id:"doc"},{label:(0,r.__)(".docx","admin-options-pages"),id:"docx"},{label:(0,r.__)(".xls","admin-options-pages"),id:"xls"},{label:(0,r.__)(".xlsx","admin-options-pages"),id:"xlsx"},{label:(0,r.__)(".csv","admin-options-pages"),id:"csv"},{label:(0,r.__)(".zip","admin-options-pages"),id:"zip"},{label:(0,r.__)(".txt","admin-options-pages"),id:"txt"}]};function Wi(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fs,{}),(0,Te.jsx)(Vs,{}),(0,Te.jsx)(Bs,{}),(0,Te.jsx)($s,{}),(0,Te.jsx)(vi,{data:Xi,value:e.extensions?.types,onChange:n=>t("extensions",{...e.extensions,types:n})})]})}function Yi(){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Hs,{}),(0,Te.jsx)(Us,{})]})}h("file",e=>{const t={};return e.toggle_autoload||(t.toggle_autoload="yes"),e.extensions?.types||(t.extensions={types:{pdf:"on",doc:"on",docx:"on",xls:"on",xlsx:"on",csv:"on",zip:"on",txt:"on"}}),t});const qi={text_field:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Text field","admin-options-pages"),content:(0,Te.jsx)(ni,{}),options:(0,Te.jsx)(ai,{})})},textarea:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Textarea","admin-options-pages"),content:(0,Te.jsx)(ii,{}),options:(0,Te.jsx)(oi,{})})},number:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Number","admin-options-pages"),content:(0,Te.jsx)(ri,{}),options:(0,Te.jsx)(ci,{})})},checkbox:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Checkbox","admin-options-pages"),content:(0,Te.jsx)(ui,{}),options:(0,Te.jsx)(pi,{})})},radio:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Radio buttons","admin-options-pages"),content:(0,Te.jsx)(mi,{}),options:(0,Te.jsx)(hi,{})})},select_field:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Select","admin-options-pages"),content:(0,Te.jsx)(mi,{}),options:(0,Te.jsx)(hi,{})})},image:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Image","admin-options-pages"),content:(0,Te.jsx)(bi,{}),options:(0,Te.jsx)(yi,{})})},color_picker:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Color picker","admin-options-pages"),content:(0,Te.jsx)(wi,{}),options:(0,Te.jsx)(ji,{})})},wysiwyg_editor:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Wysiwyg editor","admin-options-pages"),content:(0,Te.jsx)(Ei,{}),options:(0,Te.jsx)(Ci,{})})},title:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Title","admin-options-pages"),content:(0,Te.jsx)(Mi,{}),options:(0,Te.jsx)(Di,{})})},description:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Description","admin-options-pages"),content:(0,Te.jsx)(Us,{}),options:(0,Te.jsx)(Hs,{})})},horizontal_rule:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Horizontal rule","admin-options-pages"),content:null,options:(0,Te.jsx)(Hs,{})})},email:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Email","admin-options-pages"),content:(0,Te.jsx)(Ti,{}),options:(0,Te.jsx)(Ri,{})})},link:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Link","admin-options-pages"),content:(0,Te.jsx)(Ii,{}),options:(0,Te.jsx)(Oi,{})})},password:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Password","admin-options-pages"),content:(0,Te.jsx)(Li,{}),options:(0,Te.jsx)(Pi,{})})},date:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Date","admin-options-pages"),content:(0,Te.jsx)(Fi,{}),options:(0,Te.jsx)(Ki,{})})},time:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Time","admin-options-pages"),content:(0,Te.jsx)(Bi,{}),options:(0,Te.jsx)($i,{})})},date_time:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Date and time","admin-options-pages"),content:(0,Te.jsx)(Ui,{}),options:(0,Te.jsx)(Gi,{})})},range:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Range","admin-options-pages"),content:(0,Te.jsx)(ri,{}),options:(0,Te.jsx)(ci,{})})},button_group:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Button group","admin-options-pages"),content:(0,Te.jsx)(mi,{}),options:(0,Te.jsx)(hi,{})})},file:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("File","admin-options-pages"),content:(0,Te.jsx)(Wi,{}),options:(0,Te.jsx)(Yi,{})})}},Ji=Object.keys(qi).filter(e=>!["password","title","description","horizontal_rule"].includes(e)),Zi={live_help:'<svg aria-hidden="true" role="img" focusable="false" class="c-material-icon" xmlns="http://www.w3.org/2000/svg"viewBox="0 0 24 24"><path d="M19 2H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h4l3 3 3-3h4c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 16h-4.83l-.59.59L12 20.17l-1.59-1.59-.58-.58H5V4h14v14zm-8-3h2v2h-2zm1-8c1.1 0 2 .9 2 2 0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4S8 6.79 8 9h2c0-1.1.9-2 2-2z"/></svg>',text_fields:'<svg aria-hidden="true" role="img" focusable="false" class="c-material-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2.5,4v3h5v12h3V7h5V4H2.5z M21.5,9h-9v3h3v7h3v-7h3V9z"/></svg>',colorize:'<svg aria-hidden="true" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="c-material-icon"><path d="M0,0h24v24H0V0z" fill="none"></path><path d="M17.66,5.41l0.92,0.92l-2.69,2.69l-0.92-0.92L17.66,5.41 M17.67,3c-0.26,0-0.51,0.1-0.71,0.29l-3.12,3.12L11.91,4.5 L10.5,5.91l1.42,1.42L3,16.25V21h4.75l8.92-8.92l1.42,1.42l1.41-1.41l-1.92-1.92l3.12-3.12c0.4-0.4,0.4-1.03,0.01-1.42l-2.34-2.34 C18.17,3.1,17.92,3,17.67,3L17.67,3z M6.92,19L5,17.08l8.06-8.06l1.92,1.92L6.92,19L6.92,19z"/></svg>',looks_5:'<svg aria-hidden="true" role="img" focusable="false" class="c-material-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M19,19H5V5h14V19z"/><path d="M15,15v-2c0-1.11-0.9-2-2-2h-2V9h4V7H9v6h4v2H9v2h4C14.1,17,15,16.11,15,15z"/></svg>',notes:'<svg aria-hidden="true" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="c-material-icon"><polygon points="21,11.01 3,11 3,13 21,13"/><rect x="3" y="16" width="12" height="2"/><polygon points="21,6 3,6 3,8.01 21,8"/></svg>',check_box:'<svg aria-hidden="true" role="img" focusable="false" class="c-material-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M19,19H5V5h14V19z"/><polygon points="17.99,9 16.58,7.58 9.99,14.17 7.41,11.6 5.99,13.01 9.99,17"/></svg>',radio_button_checked:'<svg aria-hidden="true" role="img" focusable="false" class="c-material-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12,2C6.48,2,2,6.48,2,12s4.48,10,10,10s10-4.48,10-10S17.52,2,12,2z M12,20c-4.42,0-8-3.58-8-8s3.58-8,8-8s8,3.58,8,8 S16.42,20,12,20z"/><circle cx="12" cy="12" r="5"/></svg>',image:'<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="c-material-icon"><path d="m19 5v14h-14v-14h14m0-2h-14c-1.1 0-2 0.9-2 2v14c0 1.1 0.9 2 2 2h14c1.1 0 2-0.9 2-2v-14c0-1.1-0.9-2-2-2z"></path><path d="m14.14 11.86l-3 3.87-2.14-2.59-3 3.86h12l-3.86-5.14z"></path></svg>',title:'<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" focusable="false" class="c-material-icon" viewBox="0 0 24 24"><path d="M5,4v3h5.5v12h3V7H19V4H5z"/></svg>',short_text:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M4,9h16v2H4V9z M4,13h10v2H4V13z"/></svg>',remove:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M19,13H5v-2h14V13z"/></svg>',select:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M24 24H0V0h24v24z" fill="none" opacity=".87"/><path d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6-1.41-1.41z"/></svg>',editor:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><g><rect fill="none" height="24" width="24"/><path d="M19,3H5C3.89,3,3,3.9,3,5v14c0,1.1,0.89,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.11,3,19,3z M19,19H5V7h14V19z M17,12H7v-2 h10V12z M13,16H7v-2h6V16z"/></g></svg>',email:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4-8 5-8-5V6l8 5 8-5v2z"/></svg>',link:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"/></svg>',lock:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zM9 6c0-1.66 1.34-3 3-3s3 1.34 3 3v2H9V6zm9 14H6V10h12v10zm-6-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z"/></svg>',event:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z"/></svg>',schedule:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"/><path d="M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"/></svg>',date_range:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M9 11H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm2-7h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z"/></svg>',tune:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M3 17v2h6v-2H3zM3 5v2h10V5H3zm10 16v-2h8v-2h-8v-2h-2v6h2zM7 9v2H3v2h4v2h2V9H7zm14 4v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z"/></svg>',apps:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M4 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4zm-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z"/></svg>',insert_drive_file:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6H6zm7 7V3.5L18.5 9H13z"/></svg>'},Qi=[{title:(0,r.__)("Text field","admin-options-pages"),id:"text_field",icon:"text_fields"},{title:(0,r.__)("Number","admin-options-pages"),id:"number",icon:"looks_5"},{title:(0,r.__)("Wysiwyg editor","admin-options-pages"),id:"wysiwyg_editor",icon:"editor"},{title:(0,r.__)("Textarea","admin-options-pages"),id:"textarea",icon:"notes"},{title:(0,r.__)("Checkbox","admin-options-pages"),id:"checkbox",icon:"check_box"},{title:(0,r.__)("Radio buttons","admin-options-pages"),id:"radio",icon:"radio_button_checked"},{title:(0,r.__)("Image","admin-options-pages"),id:"image",icon:"image"},{title:(0,r.__)("Color picker","admin-options-pages"),id:"color_picker",icon:"colorize"},{title:(0,r.__)("Select","admin-options-pages"),id:"select_field",icon:"select"},{title:(0,r.__)("Email","admin-options-pages"),id:"email",icon:"email"},{title:(0,r.__)("Link","admin-options-pages"),id:"link",icon:"link"},{title:(0,r.__)("Password","admin-options-pages"),id:"password",icon:"lock"},{title:(0,r.__)("Date","admin-options-pages"),id:"date",icon:"event"},{title:(0,r.__)("Time","admin-options-pages"),id:"time",icon:"schedule"},{title:(0,r.__)("Date and time","admin-options-pages"),id:"date_time",icon:"date_range"},{title:(0,r.__)("Range","admin-options-pages"),id:"range",icon:"tune"},{title:(0,r.__)("Button group","admin-options-pages"),id:"button_group",icon:"apps"},{title:(0,r.__)("File","admin-options-pages"),id:"file",icon:"insert_drive_file"}],eo=[{title:(0,r.__)("Title","admin-options-pages"),id:"title",icon:"title"},{title:(0,r.__)("Description","admin-options-pages"),id:"description",icon:"short_text"},{title:(0,r.__)("Horizontal rule","admin-options-pages"),id:"horizontal_rule",icon:"remove"}],to=430;function no({open:e}){return(0,Te.jsx)("button",{type:"button","aria-expanded":e?"true":"false",className:"c-field-types__list-toggle",children:(0,Te.jsx)("svg",{className:"c-field-types__list-toggle-arrow",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",role:"img","aria-hidden":"true",focusable:"false",children:(0,Te.jsx)("path",{d:e?"M12,8l-6,6l1.41,1.41L12,10.83l4.59,4.58L18,14L12,8z":"M7.41,8.59L12,13.17l4.59-4.58L18,10l-6,6l-6-6L7.41,8.59z"})})})}function ao({title:e,fields:t,open:n,onToggle:a,onPick:s,onEscape:i}){return(0,Te.jsxs)("div",{className:"c-field-types__content",children:[(0,Te.jsxs)("h2",{className:"c-field-types__title",onClick:a,children:[e,(0,Te.jsx)(no,{open:n})]}),(0,Te.jsx)("ul",{className:"c-field-types__list",style:n?void 0:{display:"none"},children:t.map(e=>{return(0,Te.jsx)("li",{className:"c-field-types__item",children:(0,Te.jsxs)("button",{name:e.id,type:"button",tabIndex:0,className:"c-field-types__button",onClick:()=>s(e.id),onKeyDown:e=>"Escape"===e.key&&i(),children:[e.addOnIcon?(0,Te.jsx)("span",{className:"c-field-types__button-icon",children:(0,Te.jsx)(Me.Icon,{icon:e.addOnIcon,size:24,"aria-hidden":"true"})}):(0,Te.jsx)("span",{className:"c-field-types__button-icon",dangerouslySetInnerHTML:{__html:(t=e.icon,Zi[t]||Zi.live_help)}}),(0,Te.jsx)("span",{className:"c-field-types__button-title",children:e.title})]})},e.id);var t})})]})}function so({pageKey:e,suffix:t,isEmpty:n}){const{addField:a,setUi:s}=(0,l.useDispatch)(De),[i,c]=(0,o.useState)(!1),[d,u]=(0,o.useState)(""),[p,g]=(0,o.useState)("bottom"),[m,h]=(0,o.useState)(!0),[f,v]=(0,o.useState)(!0),_=(0,o.useRef)(),x=(0,o.useRef)(),b=(0,o.useRef)(),y=(0,o.useRef)(),w=e=>e.title.toLowerCase().includes(d.toLowerCase()),j=(0,l.useSelect)(e=>e(De).getFieldTypes()||[],[]),N=[...Qi,...eo].map(e=>e.id),E=j.filter(e=>!N.includes(e.type)).map(e=>{return{id:e.type,title:Zs().get(e.type)?.label||e.label,icon:Zs().get(e.type)?.materialIcon||"live_help",addOnIcon:(t=Zs().get(e.type)?.icon,"string"==typeof t?/^[a-z0-9-]+$/.test(t)?t:null:(0,o.isValidElement)(t)||"function"==typeof t?t:null),group:e.group};var t}),C=[...Qi,...E.filter(e=>"layout"!==e.group)].filter(w),D=[...eo,...E.filter(e=>"layout"===e.group)].filter(w);function M(){c(!1),s("hoverOverDropdown",!1),y.current?.focus()}function S(t){const n=N.includes(t)?function(e){return Ji.includes(e)?{frontend:"yes"}:{}}(t):function(e){const t={};return(e?.settings||[]).forEach(e=>{void 0!==e.default&&""!==e.default&&null!==e.default&&(t[e.key]=e.default)}),t}(j.find(e=>e.type===t));a(e,t,void 0,n),c(!1),s("hoverOverDropdown",!1)}return(0,o.useEffect)(()=>{if(!i)return;const e=e=>{_.current&&!_.current.contains(e.target)&&(c(!1),s("hoverOverDropdown",!1))};return document.addEventListener("click",e),()=>document.removeEventListener("click",e)},[i,s]),(0,o.useLayoutEffect)(()=>{if(!i)return;const e=document.querySelector(".c-editor-main"),t=x.current;function n(){if(!e||!t||!_.current)return;const n=e.clientHeight+88,a=_.current.getBoundingClientRect().top,s=a>n/2?a-88-10:n-a-46;g(a>n/2?"top":"bottom"),s<to?(t.style.height=to-(to-s)+"px",t.lastChild.style.height=340-(to-s)+"px"):(t.style.height="430px",t.lastChild.style.height="340px")}return n(),b.current?.focus(),e?.addEventListener("scroll",n),()=>e?.removeEventListener("scroll",n)},[i]),(0,Te.jsxs)("div",{className:Se("o-dropdown-group",n&&"is-empty"),ref:_,children:[(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Add a field","admin-options-pages"),children:(0,Te.jsx)("button",{ref:y,type:"button","aria-haspopup":"true","aria-expanded":i?"true":"false","aria-pressed":i?"true":"false",className:"c-icon-button c-icon-button--insert-toggle is-appender","aria-label":(0,r.__)("Add a field","admin-options-pages"),onClick:()=>c(!i),children:(0,Te.jsx)(Me.Icon,{icon:Cs,size:20})})}),(0,Te.jsxs)("div",{ref:x,className:Se("c-field-types flex flex-col h-full","top"===p&&"above-button"),style:i?void 0:{display:"none"},id:`dropdown-${t}`,onMouseEnter:()=>i&&s("hoverOverDropdown",!0),onMouseLeave:()=>s("hoverOverDropdown",!1),children:[(0,Te.jsx)("div",{className:"p-4",children:(0,Te.jsx)("div",{className:"c-field-types__search-wrapper",children:(0,Te.jsx)("input",{ref:b,type:"search",className:"c-field-types__search",value:d,placeholder:(0,r.__)("Search…","admin-options-pages"),onChange:e=>{u(e.target.value),h(!0),v(!0)},onKeyDown:e=>{"Enter"===e.key&&e.preventDefault(),"Escape"===e.key&&M()}})})}),(0,Te.jsxs)("div",{className:"c-field-types__wrapper pl-4 pr-4 pb-4",children:[C.length>0&&(0,Te.jsx)(ao,{title:(0,r.__)("Options fields","admin-options-pages"),fields:C,open:m,onToggle:()=>!d&&h(!m),onPick:S,onEscape:M}),D.length>0&&(0,Te.jsx)(ao,{title:(0,r.__)("Static content","admin-options-pages"),fields:D,open:f,onToggle:()=>!d&&v(!f),onPick:S,onEscape:M}),0===C.length&&0===D.length&&(0,Te.jsx)("p",{className:"c-field-types__not-found-text",children:(0,r.__)("Nothing found.","admin-options-pages")})]})]})]})}const io={page:["page"],field:["field","fieldList","fieldSlot"]},oo=(0,o.createContext)(null);function lo(e){const t=e.active.data.current?.type,n=io[t]||[t];return tn({...e,droppableContainers:e.droppableContainers.filter(e=>n.includes(e.data.current?.type))})}function ro({bar:e}){return(0,Te.jsx)("div",{className:"aop-drag-copy",ref:t=>{t&&!t.firstChild&&t.appendChild(e)}})}function co({children:e}){const t=(0,l.useSelect)(e=>e(De).getPages(),[]),{movePage:n,moveField:a,moveFieldToPage:s,setUi:i,closeAllPages:r,setFieldOpen:c}=(0,l.useDispatch)(De),d=Wt(Xt(Bn,{activationConstraint:{distance:5}})),[u,p]=(0,o.useState)(null),[g,m]=(0,o.useState)(null);return(0,Te.jsxs)(ya,{sensors:d,collisionDetection:lo,measuring:{droppable:{strategy:Yn.Always}},onDragStart:e=>{as(),function({active:e,activatorEvent:n}){i("moving",!0);const a=n?.target?.closest?.(".c-top-bar");p(a?{bar:a.cloneNode(!0),width:a.getBoundingClientRect().width,grabX:n.clientX-a.getBoundingClientRect().left,grabY:n.clientY-a.getBoundingClientRect().top}:null),"page"!==e.data.current?.type?t.forEach((t,n)=>{const a=(t.fields||[]).findIndex(t=>`field:${t.id}`===e.id);-1!==a&&c(n,a,!1)}):r()}(e)},onDragEnd:e=>{ss(),function({active:e,over:o}){if(p(null),m(null),setTimeout(()=>i("moving",!1),0),g){const n=cs(t,String(e.id));return void(n&&s(n.pageKey,n.index,g.pageKey,g.index))}const l=ds(t,String(e.id),o&&String(o.id));l&&("movePage"===l.action?n(l.from,l.to):"moveField"===l.action?a(l.pageKey,l.from,l.to):s(l.fromPage,l.fromIndex,l.toPage,l.toIndex))}(e)},onDragMove:function({active:e,over:n,activatorEvent:a,delta:s}){const i=void 0===a?.clientY?null:a.clientY+s.y,o=null!==i&&Boolean(n?.rect)&&i>n.rect.top+n.rect.height/2,l=n?function(e,t,n,a=null,s=!1){if(!t.startsWith("field:"))return null;if(n===rs)return a;const i=ds(e,t,n);return"moveFieldToPage"!==i?.action?null:{pageKey:i.toPage,index:s&&n.startsWith("field:")?i.toIndex+1:i.toIndex}}(t,String(e.id),String(n.id),g,o):null;l?.pageKey===g?.pageKey&&l?.index===g?.index||m(l)},onDragCancel:()=>{ss(),p(null),m(null),i("moving",!1)},children:[(0,Te.jsx)(oo.Provider,{value:g,children:e}),(0,Te.jsx)(Pa,{dropAnimation:null,modifiers:[function({transform:e,activatorEvent:t,draggingNodeRect:n}){return u&&n&&void 0!==t?.clientX?{...e,x:t.clientX+e.x-u.grabX-n.left,y:t.clientY+e.y-u.grabY-n.top}:e}],children:u?(0,Te.jsx)("div",{style:{width:u.width},children:(0,Te.jsx)(ro,{bar:u.bar})}):null})]})}const uo="administrator";function po(e){return e.missing?(0,r.sprintf)(/* translators: %s: the slug of a role that does not exist on this site */ /* translators: %s: the slug of a role that does not exist on this site */
     2(0,r.__)("%s (no longer available)","admin-options-pages"),e.name):"number"!=typeof e.count?e.name:(0,r.sprintf)(/* translators: 1: the name of a role, 2: the number of users with that role */ /* translators: 1: the name of a role, 2: the number of users with that role */
     3(0,r._n)("%1$s (%2$d user)","%1$s (%2$d users)",e.count,"admin-options-pages"),e.name,e.count)}function go({pageKey:e,page:t,onChange:n}){const[a,s]=(0,o.useState)(!1),i=_i(),{roles:l}=function(e,t=[]){return Array.isArray(e.roles)?{roles:e.roles,legacy:!1}:"edit_others_posts"===e.capability?{roles:[...t],legacy:!0}:{roles:[],legacy:!1}}(t,i.legacyEditorRoles||[]),c=function(e=[],t=[]){const n=e.find(e=>e.slug===uo)||{slug:uo,name:(0,r.__)("Administrator","admin-options-pages"),canOpenAdmin:!0},a=e.filter(e=>e.slug!==uo),s=e.map(e=>e.slug);return[n,...a,...t.filter(e=>!s.includes(e)).map(e=>({slug:e,name:e,missing:!0}))]}(i.roles||[],l),d=`pages[${e}][roles]`,u=`aop-roles-label-${e}`;return(0,Te.jsxs)("div",{className:"o-input-wrapper aop-roles",children:[(0,Te.jsx)("span",{id:u,className:"c-input-label",children:(0,r.__)("Who can edit","admin-options-pages")}),(0,Te.jsxs)("div",{className:"o-input-wrapper__field aop-roles__field",children:[(0,Te.jsx)(Me.Button,{variant:"secondary",className:"aop-roles__button","aria-labelledby":`${u} aop-roles-summary-${e}`,"aria-haspopup":"dialog",onClick:()=>s(!0),children:(0,Te.jsx)("span",{id:`aop-roles-summary-${e}`,children:(p=l.length,(0,r.sprintf)(/* translators: %d: the number of roles besides administrator that can edit the page */ /* translators: %d: the number of roles besides administrator that can edit the page */
     4(0,r._n)("Administrator + %d other","Administrator + %d others",p,"admin-options-pages"),p))})}),(0,Te.jsx)("input",{type:"hidden",name:d,value:""}),l.map(e=>(0,Te.jsx)("input",{type:"hidden",name:`${d}[]`,value:e},e))]}),a&&(0,Te.jsxs)(Me.Modal,{title:(0,r.__)("Who can edit","admin-options-pages"),className:"aop-roles-modal",size:"small",onRequestClose:()=>s(!1),children:[(0,Te.jsx)("div",{className:"aop-roles__list",children:c.map(e=>{const t=e.slug===uo,a=t||l.includes(e.slug);let s;return t?s=(0,r.__)("Administrators always have access.","admin-options-pages"):a&&!1===e.canOpenAdmin&&(s=(0,r.__)("Users with this role cannot open the dashboard.","admin-options-pages")),(0,Te.jsx)(Me.CheckboxControl,{__nextHasNoMarginBottom:!0,className:"aop-roles__role",label:po(e),help:s,checked:a,disabled:t,onChange:t=>((e,t)=>n(t?[...l,e]:l.filter(t=>t!==e)))(e.slug,t)},e.slug)})}),(0,Te.jsx)("div",{className:"aop-roles-modal__footer",children:(0,Te.jsx)(Me.Button,{variant:"primary",onClick:()=>s(!1),children:(0,r.__)("Done","admin-options-pages")})})]})]});var p}function mo({pageKey:e,page:t,set:n}){const a=`pages[${e}][subpage_position]`,{message:s,invalid:i,onTouch:o}=qe({name:a,value:t.subpage_position??"",rules:"numeric|between:0,100",as:"subpage position"});return(0,Te.jsxs)("div",{className:"o-input-wrapper has-message",children:[(0,Te.jsx)("label",{htmlFor:a,className:"c-input-label for-toggle",children:(0,r.__)("Position","admin-options-pages")}),(0,Te.jsxs)("div",{className:"o-input-wrapper__field",children:[(0,Te.jsx)("input",{className:Se("c-input is-position",i&&"not-valid"),type:"text",placeholder:"0-100",name:a,id:a,value:t.subpage_position??"",...Le(`${a}-message`,i),onChange:e=>n("subpage_position",e.target.value),onBlur:o,onKeyDown:e=>{"Enter"===e.key&&e.preventDefault(),function(e,t,n){if(st(e))return;const{key:a}=e;["0",...at].includes(a)||nt.includes(a)||("ArrowUp"===a?(e.preventDefault(),""===e.target.value?n(1):Number(t)<=99&&n(Number(t)+1)):"ArrowDown"===a?(e.preventDefault(),""!==e.target.value&&Number(t)>=1&&n(Number(t)-1)):e.preventDefault())}(e,t.subpage_position,e=>n("subpage_position",e))}}),(0,Te.jsx)(Ae,{id:`${a}-message`,message:i?s:null})]})]})}function ho({pageKey:e,sortable:t}){const{page:n,menuType:a,moving:s,pageCount:i}=(0,l.useSelect)(t=>{const n=t(De);return{page:n.getPage(e),menuType:n.getMenuType(),moving:n.getUi().moving,pageCount:n.getPages().length}},[e]),{setIn:c,togglePage:d,setPageOpen:u,removePage:p,moveField:g}=(0,l.useDispatch)(De),m=(0,o.useContext)(oo),h=(0,o.useRef)(),f=(0,o.useRef)(),v=(0,o.useRef)(Boolean(n.menu_title)),_=(0,o.useRef)(void 0===n.subpage_title&&i>1),x=(t,n)=>c(["pages",e,t],n),b=Boolean(n.subpage_toggle),y=(w=n.menu_title,j=n.subpage_slug_suffix,`${(w||"").trimEnd().split(" ").join("-")}-${j}`.normalize("NFD").replace(/[̀-ͯ]/g,""));var w,j;const N=function(e){const t="None",n=e.menu_title||"",a=e.subpage_title||"",s=[t,n,a].filter(Boolean),i=e.select_title;return{value:[n,a,t].includes(i)?i:t,options:s}}(n),E=t=>`pages[${e}][${t}]`;(0,o.useEffect)(()=>{if(_.current){h.current?.scrollIntoView?.({behavior:"smooth",block:"center"});const e=setTimeout(()=>ws(f.current),300);return()=>clearTimeout(e)}if(window.location.hash&&window.location.hash.substring(1)===n.subpage_slug_suffix){u(e,!0);const t=setTimeout(()=>{h.current?.scrollIntoView?.({behavior:"smooth",block:"start"}),window.history.replaceState({},document.title,window.location.href.replace(window.location.hash,""))},200);return()=>clearTimeout(t)}},[]);const C="existing"===a?`${n.parent_slug}?page=${y}`:`admin.php?page=${y}`;return(0,Te.jsxs)("div",{className:"o-page",id:n.subpage_slug_suffix,ref:h,children:[(0,Te.jsxs)("div",{role:"presentation",className:Se("c-top-bar c-top-bar--subpage bg-gray-wp-100 border border-gray-wp-400 hover:border-gray-700",b&&"is-open"),onClick:()=>!s&&d(e),...t&&t.barProps,children:[(0,Te.jsxs)("div",{className:"c-top-bar__left",children:[t&&(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Drag to reorder","admin-options-pages"),children:(0,Te.jsx)("span",{className:"c-top-bar__drag-handle","aria-hidden":"true",onClick:e=>e.stopPropagation(),...t.handleProps,children:(0,Te.jsx)(Me.Icon,{icon:dt,size:20})})}),(0,Te.jsx)("h3",{className:Se("c-top-bar__title is-subpage",!n.menu_title&&"is-placeholder"),children:n.menu_title?n.menu_title:(0,r.__)("Title","admin-options-pages")})]}),(0,Te.jsxs)("div",{className:"c-top-bar__right",children:[t&&(0,Te.jsx)("span",{onClick:e=>e.stopPropagation(),children:(0,Te.jsx)(us,{canMoveUp:t.canMoveUp,canMoveDown:t.canMoveDown,onUp:t.moveUp,onDown:t.moveDown})}),(0,Te.jsx)("button",{type:"button",className:"c-top-bar__toggle","aria-expanded":b?"true":"false",children:(0,Te.jsx)("span",{className:Se("c-top-bar__toggle-indicator",b&&"is-open"),"aria-hidden":"true"})})]})]}),(0,Te.jsxs)("div",{className:"o-page__inside border-gray-wp-400",style:b?void 0:{display:"none"},children:[(0,Te.jsxs)("div",{className:"o-page__wrapper",children:[(0,Te.jsxs)("div",{className:"o-page__content",children:[(0,Te.jsx)(Ts,{name:E("menu_title"),id:E("menu_title"),label:(0,r.__)("Menu page title","admin-options-pages"),value:n.menu_title,onChange:e=>x("menu_title",e),rules:"required|alphanumeric_spaces",as:"page menu title",placeholder:(0,r.__)("Title","admin-options-pages"),inputRef:f}),(0,Te.jsx)(Ts,{name:E("subpage_title"),id:E("subpage_title"),label:(0,r.__)("Page title","admin-options-pages"),value:n.subpage_title,onChange:e=>x("subpage_title",e),rules:"no_less_than_sign",as:"page title"}),(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:`subpage_page_selector_${e}`,className:"c-input-label",children:(0,r.__)("Page title on top","admin-options-pages")}),(0,Te.jsx)("select",{className:"c-select",name:E("select_title"),id:`subpage_page_selector_${e}`,value:N.value,onChange:e=>x("select_title",e.target.value),onKeyDown:e=>"Enter"===e.key&&e.preventDefault(),children:N.options.map((e,t)=>(0,Te.jsx)("option",{children:e},`${e}-${t}`))})]}),(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:`subpage_tab_${e}`,className:"c-input-label for-toggle",children:(0,r.__)("Show page with tab","admin-options-pages")}),(0,Te.jsx)(Os,{name:E("subpage_tab"),id:`subpage_tab_${e}`,checked:Boolean(n.include_tab),value:"1",onChange:e=>x("include_tab",e)})]}),(0,Te.jsx)(go,{pageKey:e,page:n,onChange:e=>x("roles",e)}),"existing"===a?(0,Te.jsx)(mo,{pageKey:e,page:n,set:x}):(0,Te.jsx)("input",{type:"hidden",name:E("subpage_position"),value:""}),(0,Te.jsx)("input",{type:"hidden",name:E("subpage_toggle"),value:String(b)}),(0,Te.jsx)("input",{type:"hidden",name:E("subpage_slug"),value:y}),(0,Te.jsx)("input",{type:"hidden",name:E("subpage_slug_suffix"),value:n.subpage_slug_suffix})]}),(0,Te.jsxs)("div",{className:"o-page__options flex flex-col justify-between",children:[v.current&&(0,Te.jsx)("div",{className:"o-input-wrapper justify-end",children:(0,Te.jsx)("a",{href:C,className:"alignright button",children:(0,r.__)("Visit Page","admin-options-pages")})}),(0,Te.jsx)("div",{className:"o-input-wrapper justify-end",children:(0,Te.jsx)(_s,{label:(0,r.__)("Delete Page","admin-options-pages"),onConfirm:()=>p(e)})})]})]}),(0,Te.jsxs)("div",{className:"o-fields-wrapper border-gray-wp-200 border-t",children:[(0,Te.jsx)(fs,{shared:!0,type:"field",containerId:ls(e),items:n.fields,getId:os,className:Se("o-drag-list for-fields",s&&"is-active",!n.fields[0]&&"is-empty"),itemClassName:"o-field",slotIndex:m?.pageKey===e?m.index:null,ghostAway:null!==m,onMove:(t,n)=>g(e,t,n),renderItem:(t,n,a)=>(0,Te.jsx)(ei,{pageKey:e,fieldKey:n,slug:y,sortable:a})}),(0,Te.jsx)(so,{pageKey:e,suffix:n.subpage_slug_suffix,isEmpty:!n.fields[0]})]})]})]})}function fo({config:e={}}){const{pages:t,removedFields:n,id:a,sideBarVisible:i,hoverOverDropdown:c,moving:d,text:u}=(0,l.useSelect)(e=>{const t=e(De);return{pages:t.getPages(),removedFields:t.getRemovedFields(),id:t.getData().id,sideBarVisible:t.isSidebarVisible(),hoverOverDropdown:t.getUi().hoverOverDropdown,moving:t.getUi().moving,text:t.getText()}},[]),{movePage:p,validateAll:g,setFieldTypes:m}=(0,l.useDispatch)(De),[h,f]=(0,o.useState)(!1),[v,_]=(0,o.useState)([]);return(0,o.useEffect)(()=>{let e=!1;return s()({path:"/aop/v1/field-types"}).then(t=>!e&&m(t.types)).catch(()=>{}),()=>{e=!0}},[m]),(0,o.useEffect)(()=>{if(a){const e=setTimeout(()=>g(),100);return()=>clearTimeout(e)}},[a,g]),(0,Te.jsxs)("div",{className:"inset-0 absolute block-editor__container",children:[(0,Te.jsx)("div",{className:"h-full",children:(0,Te.jsx)("div",{className:"h-full",children:(0,Te.jsx)("div",{className:"h-full",children:(0,Te.jsxs)("form",{method:"POST",onSubmit:async function(e){if(e.preventDefault(),!h){f(!0),_([]);try{const t=await function({id:e,body:t}){return s()({path:"/aop/v1/pages"+(e?`/${e}`:""),method:"POST",body:t})}({id:a,body:new URLSearchParams(new FormData(e.currentTarget))});return void(a?window.location.reload():window.location.assign(t.redirect))}catch(e){_(function(e){const t=e?.data?.errors;return Array.isArray(t)&&t.length?t.map(e=>e.message):[e?.message||(0,r.__)("Saving failed.","admin-options-pages")]}(e))}f(!1)}},children:[v.length>0&&(0,Te.jsx)("div",{className:"notice notice-error aop-save-errors",role:"alert",children:v.map(e=>(0,Te.jsx)("p",{children:e},e))}),(0,Te.jsxs)(co,{children:[(0,Te.jsx)(rt,{}),(0,Te.jsxs)("div",{className:Se("c-editor-main",!i&&"no-side-bar",c&&"dropdown-active"),children:[(0,Te.jsx)("input",{type:"hidden",id:e.nonceName,name:e.nonceName,value:e.nonce||""}),(0,Te.jsx)("input",{type:"hidden",name:"_wp_http_referer",value:e.referer||""}),(0,Te.jsx)("input",{type:"hidden",name:"side_bar_visible",value:String(i)}),n.map(e=>(0,Te.jsx)("input",{type:"hidden",name:"removed_fields[]",value:e},e)),(0,Te.jsx)("div",{className:"o-body",children:(0,Te.jsx)("div",{className:"o-body__content",children:(0,Te.jsxs)("div",{className:"w-full relative",children:[(0,Te.jsx)("div",{className:"screen-reader-text"}),(0,Te.jsxs)("div",{className:"o-meta-box__pages-wrapper",children:[(0,Te.jsx)(fs,{shared:!0,type:"page",items:t,getId:is,className:Se("o-drag-list",d&&"is-active"),itemClassName:"",onMove:(e,t)=>p(e,t),renderItem:(e,t,n)=>(0,Te.jsx)(ho,{pageKey:t,sortable:n})}),(0,Te.jsx)(Qe,{}),(0,Te.jsx)("div",{className:"h-screen-half w-full"})]})]})})})]}),(0,Te.jsx)("div",{children:(0,Te.jsx)(ct,{})})]}),(0,Te.jsxs)("div",{className:"hidden min-width-screen bg-white w-full h-full z-50 absolute",children:[(0,Te.jsx)("div",{}),(0,Te.jsxs)("div",{className:"bg-gray-200 my-5",children:[(0,Te.jsx)("p",{className:"text-center text-xl mt-20 px-20",children:(0,r.__)("At this moment there is no proper support for small/mobile screens.","admin-options-pages")}),(0,Te.jsx)("p",{className:"text-center text-xl px-20",children:(0,r.__)("We hope to fix this in a future version.","admin-options-pages")}),(0,Te.jsx)("p",{className:"text-center text-2xl mt-20 px-20",children:(0,r.__)("The minimum required screen width is 1000px.","admin-options-pages")})]}),(0,Te.jsx)("div",{})]})]})})})}),(0,Te.jsx)("span",{className:"screen-reader-text",children:a?u?.page?.update?.h1Title:u?.page?.create?.h1Title})]})}function vo({config:e}){return(0,Te.jsx)(fo,{config:e})}const _o={};function xo(e,t){_o[e]=t}function bo(e){return{...e.dataset}}const yo="aop-modal-is-open",wo=window.aop_script_data_js;var jo;wo&&(jo=wo.rest,!i&&jo&&(s().use(s().createRootURLMiddleware(jo.root)),s().use(s().createNonceMiddleware(jo.nonce)),i=!0),function(e){const a=function(e,a){return(0,l.createReduxStore)(De,{reducer:j,actions:t,selectors:n,initialState:b(e,a)})}(e,{dashIcons:window.aop_dashicons_js});(0,l.register)(a)}(wo),function(e=Zs()){Object.entries(qi).forEach(([t,n])=>{e.register(t,{EditComponent:n})})}(),xo("modal",function(){const{open:e,href:t,text:n}=(0,l.useSelect)(e=>{const t=e(De);return{open:t.isModalOpen(),href:t.getHrefDeleteAction(),text:t.getText()?.general?.modal||{}}},[]),{closeModal:a}=(0,l.useDispatch)(De),s=(0,o.useRef)();return(0,o.useEffect)(()=>{if(!e)return;const t=e=>"Escape"===e.key&&a();return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[e,a]),(0,o.useEffect)(()=>(document.body.classList.toggle(yo,e),e&&s.current&&s.current.focus(),()=>document.body.classList.remove(yo)),[e]),(0,Te.jsx)("div",{role:"presentation",className:"c-modal__screen-overlay",style:e?void 0:{display:"none"},onClick:e=>{"c-modal__screen-overlay"===e.target.className&&a()},children:(0,Te.jsx)("div",{className:"c-modal__frame",children:(0,Te.jsxs)("div",{role:"dialog","aria-modal":"true","aria-labelledby":"aop-modal-heading",className:"c-modal__content",ref:s,tabIndex:0,children:[(0,Te.jsxs)("div",{className:"c-modal__header",children:[(0,Te.jsx)("div",{className:"c-modal__header-heading-container",children:(0,Te.jsx)("h1",{className:"c-modal__header-heading",id:"aop-modal-heading",children:(0,Te.jsx)("span",{className:"edit-post-options-modal__title",children:n.heading})})}),(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Close dialog","admin-options-pages"),children:(0,Te.jsx)("button",{type:"button","aria-label":(0,r.__)("Close dialog","admin-options-pages"),className:"c-modal__button c-modal__icon-button",onClick:a,children:(0,Te.jsx)("svg",{"aria-hidden":"true",role:"img",focusable:"false",className:"dashicon dashicons-no-alt",xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",children:(0,Te.jsx)("path",{d:"M14.95 6.46L11.41 10l3.54 3.54-1.41 1.41L10 11.42l-3.53 3.53-1.42-1.42L8.58 10 5.05 6.47l1.42-1.42L10 8.58l3.54-3.53z"})})})})]}),(0,Te.jsxs)("div",{className:"c-modal__section",children:[(0,Te.jsx)("button",{className:"c-modal__button is-button is-cancel",tabIndex:0,type:"button",onClick:a,children:n.cancel}),(0,Te.jsx)("a",{className:"c-modal__button is-button is-delete",href:t,tabIndex:0,onKeyDown:e=>{"Tab"!==e.key||e.shiftKey||setTimeout(()=>s.current?.focus())},children:n.delete})]})]})})})}),xo("delete-page",function({data:e}){const t=(0,l.useSelect)(e=>e(De).getText()?.page||{},[]),{openModal:n}=(0,l.useDispatch)(De);return(0,Te.jsx)("button",{className:"c-row-action-button is-link",type:"button",onClick:()=>n(e.hrefDeleteAction),children:t.update?.linkDelete})}),function(e=document,t=window.aop_editor_config){const n=[],a=e.querySelector("#aop-react-root");if(a){const e=(0,o.createRoot)(a);e.render((0,Te.jsx)(vo,{config:t})),n.push(e)}e.querySelectorAll("[data-aop-mount]").forEach(e=>{const t=_o[e.dataset.aopMount];if(!t)return;const a=(0,o.createRoot)(e);a.render((0,Te.jsx)(t,{data:bo(e)})),n.push(a)})}())})();
  • admin-options-pages/tags/1.1.0/includes/schema/export.v1.json

    r3736451 r3750608  
    7070              "menu_title": { "type": "string", "maxLength": 191 },
    7171              "capability": { "type": "string", "maxLength": 64 },
     72              "roles": {
     73                "type": "array",
     74                "maxItems": 50,
     75                "items": { "type": "string", "maxLength": 64, "pattern": "^[a-z0-9_-]+$" }
     76              },
    7277              "menu_slug": { "type": "string", "maxLength": 191 },
    7378              "subpage_slug_suffix": { "type": "string", "maxLength": 191 },
  • admin-options-pages/tags/1.1.0/languages/admin-options-pages-de_DE-40ab473175f2d6a502e444c4dd505d9d.json

    r3736451 r3750608  
    1 {"translation-revision-date":"2026-10-09T10:01:38+00:00","generator":"WP-CLI\/2.11.0","source":"includes\/build\/editor.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de","plural-forms":"nplurals=2; plural=(n != 1);"},"Settings":["Einstellungen"],"Documentation":["Dokumentation"],"Title":["Titel"],"Position":["Position"],"Are you sure?":["Bist du sicher?"],"Cancel":["Abbrechen"],"Delete":["L\u00f6schen"],"Field label":["Feldbeschriftung"],"Field name":["Feldname"],"Autoload":["Autoload"],"Use in shortcode and blocks":["In Shortcode und Bl\u00f6cken verwenden"],"Additional CSS Class(es)":["Zus\u00e4tzliche CSS-Klasse(n)"],"Description":["Beschreibung"],"Default value":["Standardwert"],"Button group":["Button-Gruppe"],"Field values":["Feldwerte"],"Checkbox":["Checkbox"],"Text when checked":["Text, wenn ausgew\u00e4hlt"],"Text when not checked":["Text, wenn nicht ausgew\u00e4hlt"],"Text after input field":["Text nach dem Eingabefeld"],"Color picker":["Farbw\u00e4hler"],"Default color (HEX)":["Standardfarbe (HEX)"],"Date":["Datum"],"Field style":["Feldstil"],"Date and time":["Datum und Uhrzeit"],"Email":["E-Mail"],"Placeholder":["Platzhalter"],"File":["Datei"],"Allowed file types":["Erlaubte Dateitypen"],"Horizontal rule":["Horizontale Linie"],"Image":["Bild"],"Allowed extensions":["Erlaubte Dateiendungen"],"Link":["Link"],"Number":["Zahl"],"Minimum value":["Mindestwert"],"Maximum value":["H\u00f6chstwert"],"Decimals":["Dezimalstellen"],"Password":["Passwort"],"Radio buttons":["Radio-Buttons"],"Range":["Schieberegler"],"Select":["Auswahl"],"Textarea":["Textbereich"],"Description italic":["Beschreibung kursiv"],"Text field":["Textfeld"],"Formatted as code":["Als Code formatiert"],"Time":["Uhrzeit"],"Wysiwyg editor":["WYSIWYG-Editor"],"Show media upload buttons":["Buttons zum Hochladen von Medien anzeigen"],"Toolbar":["Werkzeugleiste"],"Icon":["Icon"],"Choose an icon":["W\u00e4hle ein Icon"],"Search for an icon\u2026":["Nach einem Icon suchen \u2026"],"Nothing found.":["Nichts gefunden."],"Add New Page":["Neue Seite hinzuf\u00fcgen"],"Menu Type":["Men\u00fctyp"],"Custom menu":["Eigenes Men\u00fc"],"Existing menu":["Bestehendes Men\u00fc"],"Menu title":["Men\u00fctitel"],"Close settings":["Einstellungen schlie\u00dfen"],"Move left":["Nach links verschieben"],"Move up":["Nach oben verschieben"],"Move right":["Nach rechts verschieben"],"Move down":["Nach unten verschieben"],"Drag to reorder":["Zum Neuordnen ziehen"],"Add block":["Block hinzuf\u00fcgen"],"Value":["Wert"],"Label":["Beschriftung"],"Delete this row":["Diese Zeile l\u00f6schen"],"Add a row":["Eine Zeile hinzuf\u00fcgen"],"Help":["Hilfe"],"Shortcode":["Shortcode"],"Copied!":["Kopiert!"],"Copy":["Kopieren"],"With get_option() the value is always available in PHP, also when this is off.":["Mit get_option() ist der Wert in PHP immer verf\u00fcgbar, auch wenn dies aus ist."],"Field":["Feld"],"This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.":["Dieser Feldtyp ist nicht verf\u00fcgbar. Aktiviere das Plugin, das ihn bereitstellt. Es wurde nichts gel\u00f6scht: Das Feld wird so gespeichert, wie es ist."],"Options":["Optionen"],"Regular":["Normal"],"Small":["Klein"],"Large":["Gro\u00df"],"Standard":["Standard"],"0":["0"],"1":["1"],"2":["2"],".jpeg .jpg":[".jpeg .jpg"],".png":[".png"],".gif":[".gif"],".svg":[".svg"],"This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.":["Diese Website erlaubt keine SVG-Uploads. Ein Plugin wie Safe SVG f\u00fcgt das sicher hinzu."],".ico":[".ico"],"Full":["Vollst\u00e4ndig"],"Basic":["Einfach"],".pdf":[".pdf"],".doc":[".doc"],".docx":[".docx"],".xls":[".xls"],".xlsx":[".xlsx"],".csv":[".csv"],".zip":[".zip"],".txt":[".txt"],"Add a field":["Ein Feld hinzuf\u00fcgen"],"Search\u2026":["Suchen \u2026"],"Options fields":["Optionsfelder"],"Static content":["Statischer Inhalt"],"Menu page title":["Seitentitel im Men\u00fc"],"Page title":["Seitentitel"],"Page title on top":["Seitentitel oben"],"Show page with tab":["Seite mit Tab anzeigen"],"User access level":["Zugriffsebene"],"Visit Page":["Seite ansehen"],"Delete Page":["Seite l\u00f6schen"],"Saving failed.":["Speichern fehlgeschlagen."],"At this moment there is no proper support for small\/mobile screens.":["Zurzeit werden kleine\/mobile Bildschirme nicht richtig unterst\u00fctzt."],"We hope to fix this in a future version.":["Wir hoffen, das in einer kommenden Version zu beheben."],"The minimum required screen width is 1000px.":["Die minimale Bildschirmbreite ist 1000px."],"Close dialog":["Dialog schlie\u00dfen"]}}}
     1{"translation-revision-date":"2026-10-09T10:01:38+00:00","generator":"WP-CLI\/2.11.0","source":"includes\/build\/editor.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de","plural-forms":"nplurals=2; plural=(n != 1);"},"Settings":["Einstellungen"],"Documentation":["Dokumentation"],"Title":["Titel"],"Position":["Position"],"Are you sure?":["Bist du sicher?"],"Cancel":["Abbrechen"],"Delete":["L\u00f6schen"],"Field label":["Feldbeschriftung"],"Field name":["Feldname"],"Autoload":["Autoload"],"Use in shortcode and blocks":["In Shortcode und Bl\u00f6cken verwenden"],"Additional CSS Class(es)":["Zus\u00e4tzliche CSS-Klasse(n)"],"Description":["Beschreibung"],"Default value":["Standardwert"],"Button group":["Button-Gruppe"],"Field values":["Feldwerte"],"Checkbox":["Checkbox"],"Text when checked":["Text, wenn ausgew\u00e4hlt"],"Text when not checked":["Text, wenn nicht ausgew\u00e4hlt"],"Text after input field":["Text nach dem Eingabefeld"],"Color picker":["Farbw\u00e4hler"],"Default color (HEX)":["Standardfarbe (HEX)"],"Date":["Datum"],"Field style":["Feldstil"],"Date and time":["Datum und Uhrzeit"],"Email":["E-Mail"],"Placeholder":["Platzhalter"],"File":["Datei"],"Allowed file types":["Erlaubte Dateitypen"],"Horizontal rule":["Horizontale Linie"],"Image":["Bild"],"Allowed extensions":["Erlaubte Dateiendungen"],"Link":["Link"],"Number":["Zahl"],"Minimum value":["Mindestwert"],"Maximum value":["H\u00f6chstwert"],"Decimals":["Dezimalstellen"],"Password":["Passwort"],"Radio buttons":["Radio-Buttons"],"Range":["Schieberegler"],"Select":["Auswahl"],"Textarea":["Textbereich"],"Description italic":["Beschreibung kursiv"],"Text field":["Textfeld"],"Formatted as code":["Als Code formatiert"],"Time":["Uhrzeit"],"Wysiwyg editor":["WYSIWYG-Editor"],"Show media upload buttons":["Buttons zum Hochladen von Medien anzeigen"],"Toolbar":["Werkzeugleiste"],"Icon":["Icon"],"Choose an icon":["W\u00e4hle ein Icon"],"Search for an icon\u2026":["Nach einem Icon suchen \u2026"],"Nothing found.":["Nichts gefunden."],"Add New Page":["Neue Seite hinzuf\u00fcgen"],"Menu Type":["Men\u00fctyp"],"Custom menu":["Eigenes Men\u00fc"],"Existing menu":["Bestehendes Men\u00fc"],"Menu title":["Men\u00fctitel"],"Close settings":["Einstellungen schlie\u00dfen"],"Move left":["Nach links verschieben"],"Move up":["Nach oben verschieben"],"Move right":["Nach rechts verschieben"],"Move down":["Nach unten verschieben"],"Drag to reorder":["Zum Neuordnen ziehen"],"Add block":["Block hinzuf\u00fcgen"],"Value":["Wert"],"Label":["Beschriftung"],"Delete this row":["Diese Zeile l\u00f6schen"],"Add a row":["Eine Zeile hinzuf\u00fcgen"],"Help":["Hilfe"],"Shortcode":["Shortcode"],"Copied!":["Kopiert!"],"Copy":["Kopieren"],"With get_option() the value is always available in PHP, also when this is off.":["Mit get_option() ist der Wert in PHP immer verf\u00fcgbar, auch wenn dies aus ist."],"Field":["Feld"],"This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.":["Dieser Feldtyp ist nicht verf\u00fcgbar. Aktiviere das Plugin, das ihn bereitstellt. Es wurde nichts gel\u00f6scht: Das Feld wird so gespeichert, wie es ist."],"Options":["Optionen"],"Regular":["Normal"],"Small":["Klein"],"Large":["Gro\u00df"],"Standard":["Standard"],"0":["0"],"1":["1"],"2":["2"],".jpeg .jpg":[".jpeg .jpg"],".png":[".png"],".gif":[".gif"],".svg":[".svg"],"This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.":["Diese Website erlaubt keine SVG-Uploads. Ein Plugin wie Safe SVG f\u00fcgt das sicher hinzu."],".ico":[".ico"],"Full":["Vollst\u00e4ndig"],"Basic":["Einfach"],".pdf":[".pdf"],".doc":[".doc"],".docx":[".docx"],".xls":[".xls"],".xlsx":[".xlsx"],".csv":[".csv"],".zip":[".zip"],".txt":[".txt"],"Add a field":["Ein Feld hinzuf\u00fcgen"],"Search\u2026":["Suchen \u2026"],"Options fields":["Optionsfelder"],"Static content":["Statischer Inhalt"],"Menu page title":["Seitentitel im Men\u00fc"],"Page title":["Seitentitel"],"Page title on top":["Seitentitel oben"],"Show page with tab":["Seite mit Tab anzeigen"],"Visit Page":["Seite ansehen"],"Delete Page":["Seite l\u00f6schen"],"Saving failed.":["Speichern fehlgeschlagen."],"At this moment there is no proper support for small\/mobile screens.":["Zurzeit werden kleine\/mobile Bildschirme nicht richtig unterst\u00fctzt."],"We hope to fix this in a future version.":["Wir hoffen, das in einer kommenden Version zu beheben."],"The minimum required screen width is 1000px.":["Die minimale Bildschirmbreite ist 1000px."],"Close dialog":["Dialog schlie\u00dfen"],"%s (no longer available)":["%s (nicht mehr verf\u00fcgbar)"],"%1$s (%2$d user)":["%1$s (%2$d Benutzer)","%1$s (%2$d Benutzer)"],"Administrator":["Administrator"],"Who can edit":["Wer bearbeiten darf"],"Administrator + %d other":["Administrator + %d weitere","Administrator + %d weitere"],"Administrators always have access.":["Administratoren haben immer Zugriff."],"Users with this role cannot open the dashboard.":["Benutzer mit dieser Rolle k\u00f6nnen das Dashboard nicht \u00f6ffnen."],"Done":["Fertig"]}}}
  • admin-options-pages/tags/1.1.0/languages/admin-options-pages-de_DE.l10n.php

    r3736451 r3750608  
    11<?php
    2 return ['domain'=>'admin-options-pages','plural-forms'=>'nplurals=2; plural=(n != 1);','language'=>'de','project-id-version'=>'Admin Options Pages 1.0.0','pot-creation-date'=>'2026-10-09T10:01:38+00:00','po-revision-date'=>'2026-10-09T10:01:38+00:00','x-generator'=>'WP-CLI 2.11.0','messages'=>['Admin Options Pages'=>'Admin Options Pages','https://adminoptionspages.com'=>'https://adminoptionspages.com','Create and edit your own options pages with ease.'=>'Erstelle und bearbeite ganz einfach deine eigenen Optionsseiten.','Johannes van Poelgeest'=>'Johannes van Poelgeest','https://poolghost.com'=>'https://poolghost.com','Options Pages'=>'Optionsseiten','All Options Pages'=>'Alle Optionsseiten','Add new'=>'Neu hinzufügen','edit Page'=>'Seite bearbeiten','What\'s new in Admin Options Pages 1.0'=>'Neu in Admin Options Pages 1.0','What\'s new'=>'Was ist neu','Settings'=>'Einstellungen','Import / Export'=>'Import / Export','Saved.'=>'Gespeichert.','Updated.'=>'Aktualisiert.','Pages deleted.'=>'Seiten gelöscht.','Page deleted.'=>'Seite gelöscht.','You attempted to edit a menu that does not exist. Perhaps it was deleted?'=>'Du versuchst, ein Menü zu bearbeiten, das nicht existiert. Vielleicht wurde es gelöscht?','Go to all options pages'=>'Zu allen Optionsseiten','Menu not found'=>'Menü nicht gefunden','Global Settings'=>'Allgemeine Einstellungen','Sorry, you are not allowed to export.'=>'Du darfst nicht exportieren.','Creating options pages has never been easier.'=>'Optionsseiten zu erstellen war noch nie so einfach.','Documentation'=>'Dokumentation','love'=>'liebst','five stars'=>'fünf Sterne','If you really %1$s this plugin, consider giving some %2$s to help make %3$s more known.'=>'Wenn du dieses Plugin wirklich %1$s, gib ihm %2$s, damit %3$s bekannter wird.','Admin Options Pages 1.0 is here.'=>'Admin Options Pages 1.0 ist da.','Import and export with your data, your own field types, nine new field types and your values on your website.'=>'Import und Export mit deinen Daten, eigene Feldtypen, neun neue Feldtypen und deine Werte auf deiner Website.','See what\'s new'=>'Sieh dir an, was neu ist','Admin Options Pages 1.0'=>'Admin Options Pages 1.0','Import and export with your data, your own field types and your values on your website.'=>'Import und Export mit deinen Daten, eigene Feldtypen und deine Werte auf deiner Website.','Welcome to Admin Options Pages 1.0'=>'Willkommen bei Admin Options Pages 1.0','This is the biggest update of the plugin so far. Menus now move to another site with all their values, so the options pages you built and filled locally go live in one file. You can add field types of your own, there are nine new built-in ones, and the values of your fields can be shown on your website without code. Your menus, pages, fields and values are all still here.'=>'Das ist das bisher größte Update des Plugins. Menüs ziehen jetzt mit allen Werten auf eine andere Website um, sodass die Optionsseiten, die du lokal gebaut und gefüllt hast, in einer Datei live gehen. Du kannst eigene Feldtypen hinzufügen, es gibt neun neue eingebaute, und die Werte deiner Felder lassen sich ohne Code auf deiner Website anzeigen. Deine Menüs, Seiten, Felder und Werte sind alle noch da.','Import and export, with your data'=>'Import und Export, mit deinen Daten','Build and fill your options pages locally, then take them live in one file.'=>'Baue und fülle deine Optionsseiten lokal und bring sie dann in einer Datei live.','Export the menus you choose together with the values of their fields, and import them on your live site, a staging site or your next project. No more typing the same settings twice.'=>'Exportiere die Menüs, die du auswählst, zusammen mit den Werten ihrer Felder, und importiere sie auf deiner Live-Website, einer Staging-Website oder in deinem nächsten Projekt. Nie wieder dieselben Einstellungen zweimal eintippen.','Before anything changes you see what would happen, and you choose per menu, page, field and value. Nothing is replaced unless you choose it, and an import is all or nothing. Exports made with 0.9 can be imported too.'=>'Bevor sich etwas ändert, siehst du, was passieren würde, und du wählst pro Menü, Seite, Feld und Wert. Nichts wird ersetzt, wenn du es nicht auswählst, und ein Import geschieht ganz oder gar nicht. Exporte aus 0.9 lassen sich ebenfalls importieren.','The preview of an import, with a checkbox for every menu, page, field and value'=>'Die Vorschau eines Imports, mit einer Checkbox für jedes Menü, jede Seite, jedes Feld und jeden Wert','An options page with a logo, a brand color and contact details'=>'Eine Optionsseite mit einem Logo, einer Markenfarbe und Kontaktdaten','Nine new field types'=>'Neun neue Feldtypen','Email, Link, Password, Date, Time, Date and time, Range, Button group and File.'=>'E-Mail, Link, Passwort, Datum, Uhrzeit, Datum und Uhrzeit, Schieberegler, Button-Gruppe und Datei.','That makes 21 field types. Each one checks what is entered, and an image or file field only accepts the file types you choose, also when something is uploaded.'=>'Damit gibt es 21 Feldtypen. Jeder prüft, was eingegeben wird, und ein Bild- oder Dateifeld akzeptiert nur die Dateitypen, die du auswählst, auch beim Hochladen.','Your own field types'=>'Deine eigenen Feldtypen','Need a field that is not there? Add it yourself.'=>'Dir fehlt ein Feld? Füge es selbst hinzu.','Register a field type from your theme or plugin with one class: what the editor asks for, how the value is checked and stored, and how it shows on the options page and on your website. It appears in the field picker next to the built-in types, which use exactly the same API.'=>'Registriere einen Feldtyp aus deinem Theme oder Plugin mit einer Klasse: was der Editor abfragt, wie der Wert geprüft und gespeichert wird und wie er auf der Optionsseite und auf deiner Website erscheint. Er erscheint in der Feldauswahl neben den eingebauten Typen, die genau dieselbe API verwenden.','The Field Types API is stable from 1.0 on and follows semantic versioning, so your field types keep working with the next versions.'=>'Die Field Types API ist ab 1.0 stabil und folgt Semantic Versioning, sodass deine Feldtypen mit den nächsten Versionen weiter funktionieren.','A paragraph connected to a field in the Attributes panel'=>'Ein Absatz, der im Bedienfeld Attribute mit einem Feld verbunden ist','Your values on your website'=>'Deine Werte auf deiner Website','With a shortcode or a block, no code needed.'=>'Mit einem Shortcode oder einem Block, ganz ohne Code.','Put a field in a post with [aop_option name="…"], or connect a paragraph, heading, button or image to it in the Attributes panel of the block editor. Change the value once, and it changes everywhere.'=>'Setze ein Feld mit [aop_option name="…"] in einen Beitrag, oder verbinde im Bedienfeld Attribute des Block-Editors einen Absatz, eine Überschrift, einen Button oder ein Bild damit. Ändere den Wert einmal, und er ändert sich überall.','Switch on "Use in shortcode and blocks" for the fields you want to show. Fields made before 1.0 have it off, so nothing appears on your website by itself.'=>'Schalte „In Shortcode und Blöcken verwenden“ für die Felder ein, die du anzeigen möchtest. Bei Feldern, die vor 1.0 erstellt wurden, ist es aus, sodass nichts von selbst auf deiner Website erscheint.','Rewritten in React'=>'Neu geschrieben in React','Under the hood the editor is rewritten in React, the WordPress way: with the components and the data store the block editor is made of.'=>'Unter der Haube ist der Editor in React neu geschrieben, auf die WordPress-Art: mit den Komponenten und dem Datenspeicher, aus denen der Block-Editor besteht.','Change any saved value'=>'Jeden gespeicherten Wert ändern','Developers can change the value of any field before it is stored with the new filters aop_sanitized_option and aop_sanitized_option_{name}.'=>'Entwickler können den Wert jedes Feldes vor dem Speichern mit den neuen Filtern aop_sanitized_option und aop_sanitized_option_{name} ändern.','A safe upgrade'=>'Ein sicheres Upgrade','Your pages are stored in a new format now. A copy in the old format is kept for 90 days.'=>'Deine Seiten werden jetzt in einem neuen Format gespeichert. Eine Kopie im alten Format wird 90 Tage lang aufbewahrt.','Requirements'=>'Voraussetzungen','Admin Options Pages 1.0 needs WordPress 6.9 or later and PHP 8.1 or later.'=>'Admin Options Pages 1.0 benötigt WordPress 6.9 oder höher und PHP 8.1 oder höher.','Go to your options pages'=>'Zu deinen Optionsseiten','Read the documentation'=>'Lies die Dokumentation','media modal menuMenu'=>'Menü','Title'=>'Titel','Position'=>'Position','Pages'=>'Seiten','Dismiss this notice.'=>'Diese Meldung ausblenden.','Publish'=>'Veröffentlichen','Are you sure?'=>'Bist du sicher?','Cancel'=>'Abbrechen','Delete'=>'Löschen','User roleAdministrator'=>'Administrator','User roleEditor'=>'Redakteur','Save'=>'Speichern','New Pages'=>'Neue Seiten','Update'=>'Aktualisieren','Edit Pages'=>'Seiten bearbeiten','List View'=>'Listenansicht','Excerpt View'=>'Auszugsansicht','No items found.'=>'Keine Einträge gefunden.','Show more details'=>'Mehr Details anzeigen','%s item'=>'%s Eintrag' . "\0" . '%s Einträge','First page'=>'Erste Seite','Previous page'=>'Vorherige Seite','Current Page'=>'Aktuelle Seite','paging%1$s of %2$s'=>'%1$s von %2$s','Next page'=>'Nächste Seite','Last page'=>'Letzte Seite','Select All'=>'Alle auswählen','Edit'=>'Bearbeiten','The link you followed has expired.'=>'Der Link, dem du gefolgt bist, ist abgelaufen.','The field type "%1$s" of the option "%2$s" is not available, so the field is not shown. Activate the plugin that provides it. Nothing was deleted.'=>'Der Feldtyp „%1$s“ der Option „%2$s“ ist nicht verfügbar, daher wird das Feld nicht angezeigt. Aktiviere das Plugin, das ihn bereitstellt. Es wurde nichts gelöscht.','%s is not a field type.'=>'%s ist kein Feldtyp.','The field type "%1$s" is already registered; %2$s was ignored.'=>'Der Feldtyp „%1$s“ ist bereits registriert; %2$s wurde ignoriert.','%1$s is not the class of the field type "%2$s".'=>'%1$s ist nicht die Klasse des Feldtyps „%2$s“.','Field label'=>'Feldbeschriftung','Field name'=>'Feldname','Autoload'=>'Autoload','Use in shortcode and blocks'=>'In Shortcode und Blöcken verwenden','Additional CSS Class(es)'=>'Zusätzliche CSS-Klasse(n)','Description'=>'Beschreibung','Default value'=>'Standardwert','Button group'=>'Button-Gruppe','Field values'=>'Feldwerte','Checkbox'=>'Checkbox','Text when checked'=>'Text, wenn ausgewählt','Text when not checked'=>'Text, wenn nicht ausgewählt','Text after input field'=>'Text nach dem Eingabefeld','Color picker'=>'Farbwähler','Default color (HEX)'=>'Standardfarbe (HEX)','Date'=>'Datum','Field style'=>'Feldstil','Date and time'=>'Datum und Uhrzeit','Email'=>'E-Mail','Placeholder'=>'Platzhalter','File'=>'Datei','Allowed file types'=>'Erlaubte Dateitypen','Upload'=>'Hochladen','Horizontal rule'=>'Horizontale Linie','Image'=>'Bild','Allowed extensions'=>'Erlaubte Dateiendungen','Link'=>'Link','Number'=>'Zahl','Minimum value'=>'Mindestwert','Maximum value'=>'Höchstwert','Decimals'=>'Dezimalstellen','Password'=>'Passwort','Radio buttons'=>'Radio-Buttons','Range'=>'Schieberegler','Select'=>'Auswahl','Textarea'=>'Textbereich','Description italic'=>'Beschreibung kursiv','Text field'=>'Textfeld','Formatted as code'=>'Als Code formatiert','Time'=>'Uhrzeit','Wysiwyg editor'=>'WYSIWYG-Editor','Show media upload buttons'=>'Buttons zum Hochladen von Medien anzeigen','Toolbar'=>'Werkzeugleiste','The value on this settings field is not allowed.'=>'Der Wert dieses Einstellungsfeldes ist nicht erlaubt.','Some of the value on this settings field is not allowed.'=>'Ein Teil des Wertes dieses Einstellungsfeldes ist nicht erlaubt.','This is not a correct formatted Hex color.'=>'Das ist keine korrekt formatierte Hex-Farbe.','the shortcode has no name="..."'=>'der Shortcode hat kein name="..."','"Use in shortcode and blocks" is off for this field, or its type cannot be shown'=>'„In Shortcode und Blöcken verwenden“ ist für dieses Feld aus, oder sein Typ kann nicht angezeigt werden','this is not an option of Admin Options Pages'=>'das ist keine Option von Admin Options Pages','The database tables of this site cannot roll back. If something goes wrong halfway, part of the import may remain.'=>'Die Datenbanktabellen dieser Website können keine Änderungen zurücknehmen. Geht mittendrin etwas schief, kann ein Teil des Imports bestehen bleiben.','This menu is in the file more than once.'=>'Dieses Menü ist mehr als einmal in der Datei.','The menu on this site was saved by a newer version of the plugin. Update the plugin first.'=>'Das Menü auf dieser Website wurde mit einer neueren Version des Plugins gespeichert. Aktualisiere zuerst das Plugin.','Another menu on this site already has the id of this menu.'=>'Ein anderes Menü auf dieser Website hat bereits die ID dieses Menüs.','The option name "%s" is used by more than one menu in the file.'=>'Der Optionsname „%s“ wird in der Datei von mehr als einem Menü verwendet.','The field type "%s" is not available on this site. Activate the plugin that provides it.'=>'Der Feldtyp „%s“ ist auf dieser Website nicht verfügbar. Aktiviere das Plugin, das ihn bereitstellt.','This is not a valid option name.'=>'Das ist kein gültiger Optionsname.','This option name is used by WordPress or another plugin.'=>'Dieser Optionsname wird von WordPress oder einem anderen Plugin verwendet.','Something in this menu is not allowed.'=>'Etwas in diesem Menü ist nicht erlaubt.','The name of this menu does not match what is in it.'=>'Der Name dieses Menüs passt nicht zu seinem Inhalt.','Checked'=>'Ausgewählt','Not checked'=>'Nicht ausgewählt','Media ID %s'=>'Medien-ID %s','This import has expired. Choose the file again.'=>'Dieser Import ist abgelaufen. Wähle die Datei erneut aus.','Without its first page the menu "%s" would get the name of a menu that is on this site already. Import the first page too, or choose another page as the first.'=>'Ohne seine erste Seite bekäme das Menü „%s“ den Namen eines Menüs, das bereits auf dieser Website ist. Importiere auch die erste Seite, oder wähle eine andere Seite als erste.','A choice was made for a menu that is not in the file.'=>'Es wurde eine Auswahl für ein Menü getroffen, das nicht in der Datei ist.','A choice was made for a page or field that is not in the file.'=>'Es wurde eine Auswahl für eine Seite oder ein Feld getroffen, das nicht in der Datei ist.','A menu needs at least one page.'=>'Ein Menü braucht mindestens eine Seite.','That cannot be done with the menu "%s".'=>'Das ist mit dem Menü „%s“ nicht möglich.','That cannot be done with the option "%s".'=>'Das ist mit der Option „%s“ nicht möglich.','A menu in the file could not be saved. Nothing was imported.'=>'Ein Menü in der Datei konnte nicht gespeichert werden. Es wurde nichts importiert.','The value of "%s" was changed by its field type.'=>'Der Wert von „%s“ wurde von seinem Feldtyp geändert.','The file is too large to import.'=>'Die Datei ist zu groß für den Import.','This is not a JSON file, or it is not valid UTF-8.'=>'Das ist keine JSON-Datei, oder sie ist kein gültiges UTF-8.','This file does not look like an export of Admin Options Pages.'=>'Diese Datei sieht nicht wie ein Export von Admin Options Pages aus.','This file has export format %1$d. This version of the plugin reads format %2$d. Update the plugin on this site and try again.'=>'Diese Datei hat das Exportformat %1$d. Diese Version des Plugins liest das Format %2$d. Aktualisiere das Plugin auf dieser Website und versuche es erneut.','%1$s must be of type %2$s.'=>'%1$s muss vom Typ %2$s sein.','%s has a value that is not supported.'=>'%s hat einen Wert, der nicht unterstützt wird.','%s has a value that is not allowed.'=>'%s hat einen Wert, der nicht erlaubt ist.','%s does not have what it needs.'=>'%s hat nicht, was es braucht.','%1$s is longer than %2$d characters.'=>'%1$s ist länger als %2$d Zeichen.','%s is empty.'=>'%s ist leer.','%1$s has more than %2$d items.'=>'%1$s hat mehr als %2$d Elemente.','%s has no items.'=>'%s hat keine Elemente.','%1$s has more than %2$d entries.'=>'%1$s hat mehr als %2$d Einträge.','%1$s misses "%2$s".'=>'%1$s fehlt „%2$s“.','The file'=>'Die Datei','Choose a file to import.'=>'Wähle eine Datei zum Importieren.','The request is not complete.'=>'Die Anfrage ist nicht vollständig.','The page is not valid.'=>'Die Seite ist nicht gültig.','This page does not exist.'=>'Diese Seite existiert nicht.','There are no pages to save.'=>'Es gibt keine Seiten zum Speichern.','Every page needs a menu title.'=>'Jede Seite braucht einen Menütitel.','"%s" is not a valid option name.'=>'„%s“ ist kein gültiger Optionsname.','Every field with an option needs an option name.'=>'Jedes Feld mit einer Option braucht einen Optionsnamen.','The option name "%s" is used more than once.'=>'Der Optionsname „%s“ wird mehr als einmal verwendet.','The option name "%s" is already in use.'=>'Der Optionsname „%s“ wird bereits verwendet.','This menu is already used by another options page.'=>'Dieses Menü wird bereits von einer anderen Optionsseite verwendet.','The menu position is not valid.'=>'Die Menüposition ist nicht gültig.','The menu title is not valid.'=>'Der Menütitel ist nicht gültig.','The menu icon is not valid.'=>'Das Menü-Icon ist nicht gültig.','Select or upload a file'=>'Datei auswählen oder hochladen','Use this file'=>'Diese Datei verwenden','Allowed files'=>'Erlaubte Dateien','Select or upload image'=>'Bild auswählen oder hochladen','Use this image'=>'Dieses Bild verwenden','Icon'=>'Icon','Choose an icon'=>'Wähle ein Icon','Search for an icon…'=>'Nach einem Icon suchen …','Nothing found.'=>'Nichts gefunden.','Add New Page'=>'Neue Seite hinzufügen','Menu Type'=>'Menütyp','Custom menu'=>'Eigenes Menü','Existing menu'=>'Bestehendes Menü','Menu title'=>'Menütitel','Close settings'=>'Einstellungen schließen','Move left'=>'Nach links verschieben','Move up'=>'Nach oben verschieben','Move right'=>'Nach rechts verschieben','Move down'=>'Nach unten verschieben','Drag to reorder'=>'Zum Neuordnen ziehen','Add block'=>'Block hinzufügen','Value'=>'Wert','Label'=>'Beschriftung','Delete this row'=>'Diese Zeile löschen','Add a row'=>'Eine Zeile hinzufügen','Help'=>'Hilfe','Shortcode'=>'Shortcode','Copied!'=>'Kopiert!','Copy'=>'Kopieren','With get_option() the value is always available in PHP, also when this is off.'=>'Mit get_option() ist der Wert in PHP immer verfügbar, auch wenn dies aus ist.','Field'=>'Feld','This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.'=>'Dieser Feldtyp ist nicht verfügbar. Aktiviere das Plugin, das ihn bereitstellt. Es wurde nichts gelöscht: Das Feld wird so gespeichert, wie es ist.','Options'=>'Optionen','Regular'=>'Normal','Small'=>'Klein','Large'=>'Groß','Standard'=>'Standard',0=>'0',1=>'1',2=>'2','.jpeg .jpg'=>'.jpeg .jpg','.png'=>'.png','.gif'=>'.gif','.svg'=>'.svg','This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.'=>'Diese Website erlaubt keine SVG-Uploads. Ein Plugin wie Safe SVG fügt das sicher hinzu.','.ico'=>'.ico','Full'=>'Vollständig','Basic'=>'Einfach','.pdf'=>'.pdf','.doc'=>'.doc','.docx'=>'.docx','.xls'=>'.xls','.xlsx'=>'.xlsx','.csv'=>'.csv','.zip'=>'.zip','.txt'=>'.txt','Add a field'=>'Ein Feld hinzufügen','Search…'=>'Suchen …','Options fields'=>'Optionsfelder','Static content'=>'Statischer Inhalt','Menu page title'=>'Seitentitel im Menü','Page title'=>'Seitentitel','Page title on top'=>'Seitentitel oben','Show page with tab'=>'Seite mit Tab anzeigen','User access level'=>'Zugriffsebene','Visit Page'=>'Seite ansehen','Delete Page'=>'Seite löschen','Saving failed.'=>'Speichern fehlgeschlagen.','At this moment there is no proper support for small/mobile screens.'=>'Zurzeit werden kleine/mobile Bildschirme nicht richtig unterstützt.','We hope to fix this in a future version.'=>'Wir hoffen, das in einer kommenden Version zu beheben.','The minimum required screen width is 1000px.'=>'Die minimale Bildschirmbreite ist 1000px.','Close dialog'=>'Dialog schließen','The menus could not be loaded.'=>'Die Menüs konnten nicht geladen werden.','Export'=>'Export','There\'s nothing to export.'=>'Es gibt nichts zu exportieren.','Uncheck all'=>'Alle abwählen','Check all'=>'Alle auswählen','Export file'=>'Datei exportieren','New'=>'Neu','Already on this site, replaced when checked'=>'Bereits auf dieser Website, wird ersetzt, wenn ausgewählt','Cannot be imported'=>'Kann nicht importiert werden','Same value as on this site'=>'Gleicher Wert wie auf dieser Website','Different value on this site, replaced when checked'=>'Anderer Wert auf dieser Website, wird ersetzt, wenn ausgewählt','Belongs to something else'=>'Gehört zu etwas anderem','Menu'=>'Menü','The menu on this site is replaced by the one in the file, also when its fields are of another type. Options of fields that are not in the file any more are deleted.'=>'Das Menü auf dieser Website wird durch das in der Datei ersetzt, auch wenn seine Felder einen anderen Typ haben. Optionen von Feldern, die nicht mehr in der Datei sind, werden gelöscht.','(no title)'=>'(kein Titel)','Main page'=>'Hauptseite','Page'=>'Seite','No value in the file'=>'Kein Wert in der Datei','Field name:'=>'Feldname:','Field label:'=>'Feldbeschriftung:','The field moves here from the menu "%s".'=>'Das Feld zieht aus dem Menü „%s“ hierher um.','Empty'=>'Leer','Value in the file: %s'=>'Wert in der Datei: %s','%1$s and %2$s'=>'%1$s und %2$s','%s has been imported'=>'%s wurde importiert','%s have been imported'=>'%s wurden importiert','%d menu has been imported'=>'%d Menü wurde importiert' . "\0" . '%d Menüs wurden importiert','%s has been replaced'=>'%s wurde ersetzt','%s have been replaced'=>'%s wurden ersetzt','%d menu has been replaced'=>'%d Menü wurde ersetzt' . "\0" . '%d Menüs wurden ersetzt','The import is done.'=>'Der Import ist abgeschlossen.',', with %d value'=>', mit %d Wert' . "\0" . ', mit %d Werten','Something went wrong. Nothing was imported.'=>'Etwas ist schiefgelaufen. Es wurde nichts importiert.','Import selection'=>'Auswahl importieren','Choose another file'=>'Andere Datei wählen','Import'=>'Import','Drop the JSON file here'=>'Lege die JSON-Datei hier ab','Drop a JSON file here'=>'Lege eine JSON-Datei hier ab','or'=>'oder','Select a file'=>'Datei auswählen','Maximum file size: %s.'=>'Maximale Dateigröße: %s.','You see what would happen before anything is imported.'=>'Du siehst, was passieren würde, bevor etwas importiert wird.','File: %s'=>'Datei: %s','Import another file'=>'Eine andere Datei importieren','Hide "Edit page" button'=>'Button „Seite bearbeiten“ ausblenden','The setting could not be saved.'=>'Die Einstellung konnte nicht gespeichert werden.','Setting saved.'=>'Einstellung gespeichert.']];
     2return ['domain'=>'admin-options-pages','plural-forms'=>'nplurals=2; plural=(n != 1);','language'=>'de','project-id-version'=>'Admin Options Pages 1.0.0','pot-creation-date'=>'2026-10-09T10:01:38+00:00','po-revision-date'=>'2026-10-09T10:01:38+00:00','x-generator'=>'WP-CLI 2.11.0','messages'=>['Admin Options Pages'=>'Admin Options Pages','https://adminoptionspages.com'=>'https://adminoptionspages.com','Create and edit your own options pages with ease.'=>'Erstelle und bearbeite ganz einfach deine eigenen Optionsseiten.','Johannes van Poelgeest'=>'Johannes van Poelgeest','https://poolghost.com'=>'https://poolghost.com','Options Pages'=>'Optionsseiten','All Options Pages'=>'Alle Optionsseiten','Add new'=>'Neu hinzufügen','edit Page'=>'Seite bearbeiten','What\'s new in Admin Options Pages 1.0'=>'Neu in Admin Options Pages 1.0','What\'s new'=>'Was ist neu','Settings'=>'Einstellungen','Import / Export'=>'Import / Export','Saved.'=>'Gespeichert.','Updated.'=>'Aktualisiert.','Pages deleted.'=>'Seiten gelöscht.','Page deleted.'=>'Seite gelöscht.','You attempted to edit a menu that does not exist. Perhaps it was deleted?'=>'Du versuchst, ein Menü zu bearbeiten, das nicht existiert. Vielleicht wurde es gelöscht?','Go to all options pages'=>'Zu allen Optionsseiten','Menu not found'=>'Menü nicht gefunden','Global Settings'=>'Allgemeine Einstellungen','Sorry, you are not allowed to export.'=>'Du darfst nicht exportieren.','Creating options pages has never been easier.'=>'Optionsseiten zu erstellen war noch nie so einfach.','Documentation'=>'Dokumentation','love'=>'liebst','five stars'=>'fünf Sterne','If you really %1$s this plugin, consider giving some %2$s to help make %3$s more known.'=>'Wenn du dieses Plugin wirklich %1$s, gib ihm %2$s, damit %3$s bekannter wird.','See what\'s new'=>'Sieh dir an, was neu ist','Admin Options Pages 1.0'=>'Admin Options Pages 1.0','Import and export with your data, your own field types and your values on your website.'=>'Import und Export mit deinen Daten, eigene Feldtypen und deine Werte auf deiner Website.','Welcome to Admin Options Pages 1.0'=>'Willkommen bei Admin Options Pages 1.0','This is the biggest update of the plugin so far. Menus now move to another site with all their values, so the options pages you built and filled locally go live in one file. You can add field types of your own, there are nine new built-in ones, and the values of your fields can be shown on your website without code. Your menus, pages, fields and values are all still here.'=>'Das ist das bisher größte Update des Plugins. Menüs ziehen jetzt mit allen Werten auf eine andere Website um, sodass die Optionsseiten, die du lokal gebaut und gefüllt hast, in einer Datei live gehen. Du kannst eigene Feldtypen hinzufügen, es gibt neun neue eingebaute, und die Werte deiner Felder lassen sich ohne Code auf deiner Website anzeigen. Deine Menüs, Seiten, Felder und Werte sind alle noch da.','Import and export, with your data'=>'Import und Export, mit deinen Daten','Build and fill your options pages locally, then take them live in one file.'=>'Baue und fülle deine Optionsseiten lokal und bring sie dann in einer Datei live.','Export the menus you choose together with the values of their fields, and import them on your live site, a staging site or your next project. No more typing the same settings twice.'=>'Exportiere die Menüs, die du auswählst, zusammen mit den Werten ihrer Felder, und importiere sie auf deiner Live-Website, einer Staging-Website oder in deinem nächsten Projekt. Nie wieder dieselben Einstellungen zweimal eintippen.','Before anything changes you see what would happen, and you choose per menu, page, field and value. Nothing is replaced unless you choose it, and an import is all or nothing. Exports made with 0.9 can be imported too.'=>'Bevor sich etwas ändert, siehst du, was passieren würde, und du wählst pro Menü, Seite, Feld und Wert. Nichts wird ersetzt, wenn du es nicht auswählst, und ein Import geschieht ganz oder gar nicht. Exporte aus 0.9 lassen sich ebenfalls importieren.','The preview of an import, with a checkbox for every menu, page, field and value'=>'Die Vorschau eines Imports, mit einer Checkbox für jedes Menü, jede Seite, jedes Feld und jeden Wert','An options page with a logo, a brand color and contact details'=>'Eine Optionsseite mit einem Logo, einer Markenfarbe und Kontaktdaten','Nine new field types'=>'Neun neue Feldtypen','Email, Link, Password, Date, Time, Date and time, Range, Button group and File.'=>'E-Mail, Link, Passwort, Datum, Uhrzeit, Datum und Uhrzeit, Schieberegler, Button-Gruppe und Datei.','That makes 21 field types. Each one checks what is entered, and an image or file field only accepts the file types you choose, also when something is uploaded.'=>'Damit gibt es 21 Feldtypen. Jeder prüft, was eingegeben wird, und ein Bild- oder Dateifeld akzeptiert nur die Dateitypen, die du auswählst, auch beim Hochladen.','Your own field types'=>'Deine eigenen Feldtypen','Need a field that is not there? Add it yourself.'=>'Dir fehlt ein Feld? Füge es selbst hinzu.','Register a field type from your theme or plugin with one class: what the editor asks for, how the value is checked and stored, and how it shows on the options page and on your website. It appears in the field picker next to the built-in types, which use exactly the same API.'=>'Registriere einen Feldtyp aus deinem Theme oder Plugin mit einer Klasse: was der Editor abfragt, wie der Wert geprüft und gespeichert wird und wie er auf der Optionsseite und auf deiner Website erscheint. Er erscheint in der Feldauswahl neben den eingebauten Typen, die genau dieselbe API verwenden.','The Field Types API is stable from 1.0 on and follows semantic versioning, so your field types keep working with the next versions.'=>'Die Field Types API ist ab 1.0 stabil und folgt Semantic Versioning, sodass deine Feldtypen mit den nächsten Versionen weiter funktionieren.','A paragraph connected to a field in the Attributes panel'=>'Ein Absatz, der im Bedienfeld Attribute mit einem Feld verbunden ist','Your values on your website'=>'Deine Werte auf deiner Website','With a shortcode or a block, no code needed.'=>'Mit einem Shortcode oder einem Block, ganz ohne Code.','Put a field in a post with [aop_option name="…"], or connect a paragraph, heading, button or image to it in the Attributes panel of the block editor. Change the value once, and it changes everywhere.'=>'Setze ein Feld mit [aop_option name="…"] in einen Beitrag, oder verbinde im Bedienfeld Attribute des Block-Editors einen Absatz, eine Überschrift, einen Button oder ein Bild damit. Ändere den Wert einmal, und er ändert sich überall.','Switch on "Use in shortcode and blocks" for the fields you want to show. Fields made before 1.0 have it off, so nothing appears on your website by itself.'=>'Schalte „In Shortcode und Blöcken verwenden“ für die Felder ein, die du anzeigen möchtest. Bei Feldern, die vor 1.0 erstellt wurden, ist es aus, sodass nichts von selbst auf deiner Website erscheint.','Rewritten in React'=>'Neu geschrieben in React','Under the hood the editor is rewritten in React, the WordPress way: with the components and the data store the block editor is made of.'=>'Unter der Haube ist der Editor in React neu geschrieben, auf die WordPress-Art: mit den Komponenten und dem Datenspeicher, aus denen der Block-Editor besteht.','Change any saved value'=>'Jeden gespeicherten Wert ändern','Developers can change the value of any field before it is stored with the new filters aop_sanitized_option and aop_sanitized_option_{name}.'=>'Entwickler können den Wert jedes Feldes vor dem Speichern mit den neuen Filtern aop_sanitized_option und aop_sanitized_option_{name} ändern.','A safe upgrade'=>'Ein sicheres Upgrade','Your pages are stored in a new format now. A copy in the old format is kept for 90 days.'=>'Deine Seiten werden jetzt in einem neuen Format gespeichert. Eine Kopie im alten Format wird 90 Tage lang aufbewahrt.','Requirements'=>'Voraussetzungen','Admin Options Pages 1.0 needs WordPress 6.9 or later and PHP 8.1 or later.'=>'Admin Options Pages 1.0 benötigt WordPress 6.9 oder höher und PHP 8.1 oder höher.','Go to your options pages'=>'Zu deinen Optionsseiten','Read the documentation'=>'Lies die Dokumentation','media modal menuMenu'=>'Menü','Title'=>'Titel','Position'=>'Position','Pages'=>'Seiten','Dismiss this notice.'=>'Diese Meldung ausblenden.','Publish'=>'Veröffentlichen','Are you sure?'=>'Bist du sicher?','Cancel'=>'Abbrechen','Delete'=>'Löschen','Save'=>'Speichern','New Pages'=>'Neue Seiten','Update'=>'Aktualisieren','Edit Pages'=>'Seiten bearbeiten','List View'=>'Listenansicht','Excerpt View'=>'Auszugsansicht','No items found.'=>'Keine Einträge gefunden.','Show more details'=>'Mehr Details anzeigen','%s item'=>'%s Eintrag' . "\0" . '%s Einträge','First page'=>'Erste Seite','Previous page'=>'Vorherige Seite','Current Page'=>'Aktuelle Seite','paging%1$s of %2$s'=>'%1$s von %2$s','Next page'=>'Nächste Seite','Last page'=>'Letzte Seite','Select All'=>'Alle auswählen','Edit'=>'Bearbeiten','The link you followed has expired.'=>'Der Link, dem du gefolgt bist, ist abgelaufen.','The field type "%1$s" of the option "%2$s" is not available, so the field is not shown. Activate the plugin that provides it. Nothing was deleted.'=>'Der Feldtyp „%1$s“ der Option „%2$s“ ist nicht verfügbar, daher wird das Feld nicht angezeigt. Aktiviere das Plugin, das ihn bereitstellt. Es wurde nichts gelöscht.','%s is not a field type.'=>'%s ist kein Feldtyp.','The field type "%1$s" is already registered; %2$s was ignored.'=>'Der Feldtyp „%1$s“ ist bereits registriert; %2$s wurde ignoriert.','%1$s is not the class of the field type "%2$s".'=>'%1$s ist nicht die Klasse des Feldtyps „%2$s“.','Field label'=>'Feldbeschriftung','Field name'=>'Feldname','Autoload'=>'Autoload','Use in shortcode and blocks'=>'In Shortcode und Blöcken verwenden','Additional CSS Class(es)'=>'Zusätzliche CSS-Klasse(n)','Description'=>'Beschreibung','Default value'=>'Standardwert','Button group'=>'Button-Gruppe','Field values'=>'Feldwerte','Checkbox'=>'Checkbox','Text when checked'=>'Text, wenn ausgewählt','Text when not checked'=>'Text, wenn nicht ausgewählt','Text after input field'=>'Text nach dem Eingabefeld','Color picker'=>'Farbwähler','Default color (HEX)'=>'Standardfarbe (HEX)','Date'=>'Datum','Field style'=>'Feldstil','Date and time'=>'Datum und Uhrzeit','Email'=>'E-Mail','Placeholder'=>'Platzhalter','File'=>'Datei','Allowed file types'=>'Erlaubte Dateitypen','Upload'=>'Hochladen','Horizontal rule'=>'Horizontale Linie','Image'=>'Bild','Allowed extensions'=>'Erlaubte Dateiendungen','Link'=>'Link','Number'=>'Zahl','Minimum value'=>'Mindestwert','Maximum value'=>'Höchstwert','Decimals'=>'Dezimalstellen','Password'=>'Passwort','Radio buttons'=>'Radio-Buttons','Range'=>'Schieberegler','Select'=>'Auswahl','Textarea'=>'Textbereich','Description italic'=>'Beschreibung kursiv','Text field'=>'Textfeld','Formatted as code'=>'Als Code formatiert','Time'=>'Uhrzeit','Wysiwyg editor'=>'WYSIWYG-Editor','Show media upload buttons'=>'Buttons zum Hochladen von Medien anzeigen','Toolbar'=>'Werkzeugleiste','The value on this settings field is not allowed.'=>'Der Wert dieses Einstellungsfeldes ist nicht erlaubt.','Some of the value on this settings field is not allowed.'=>'Ein Teil des Wertes dieses Einstellungsfeldes ist nicht erlaubt.','This is not a correct formatted Hex color.'=>'Das ist keine korrekt formatierte Hex-Farbe.','the shortcode has no name="..."'=>'der Shortcode hat kein name="..."','"Use in shortcode and blocks" is off for this field, or its type cannot be shown'=>'„In Shortcode und Blöcken verwenden“ ist für dieses Feld aus, oder sein Typ kann nicht angezeigt werden','this is not an option of Admin Options Pages'=>'das ist keine Option von Admin Options Pages','The database tables of this site cannot roll back. If something goes wrong halfway, part of the import may remain.'=>'Die Datenbanktabellen dieser Website können keine Änderungen zurücknehmen. Geht mittendrin etwas schief, kann ein Teil des Imports bestehen bleiben.','This menu is in the file more than once.'=>'Dieses Menü ist mehr als einmal in der Datei.','The menu on this site was saved by a newer version of the plugin. Update the plugin first.'=>'Das Menü auf dieser Website wurde mit einer neueren Version des Plugins gespeichert. Aktualisiere zuerst das Plugin.','Another menu on this site already has the id of this menu.'=>'Ein anderes Menü auf dieser Website hat bereits die ID dieses Menüs.','The option name "%s" is used by more than one menu in the file.'=>'Der Optionsname „%s“ wird in der Datei von mehr als einem Menü verwendet.','The field type "%s" is not available on this site. Activate the plugin that provides it.'=>'Der Feldtyp „%s“ ist auf dieser Website nicht verfügbar. Aktiviere das Plugin, das ihn bereitstellt.','This is not a valid option name.'=>'Das ist kein gültiger Optionsname.','This option name is used by WordPress or another plugin.'=>'Dieser Optionsname wird von WordPress oder einem anderen Plugin verwendet.','Something in this menu is not allowed.'=>'Etwas in diesem Menü ist nicht erlaubt.','The name of this menu does not match what is in it.'=>'Der Name dieses Menüs passt nicht zu seinem Inhalt.','Checked'=>'Ausgewählt','Not checked'=>'Nicht ausgewählt','Media ID %s'=>'Medien-ID %s','This import has expired. Choose the file again.'=>'Dieser Import ist abgelaufen. Wähle die Datei erneut aus.','Without its first page the menu "%s" would get the name of a menu that is on this site already. Import the first page too, or choose another page as the first.'=>'Ohne seine erste Seite bekäme das Menü „%s“ den Namen eines Menüs, das bereits auf dieser Website ist. Importiere auch die erste Seite, oder wähle eine andere Seite als erste.','A choice was made for a menu that is not in the file.'=>'Es wurde eine Auswahl für ein Menü getroffen, das nicht in der Datei ist.','A choice was made for a page or field that is not in the file.'=>'Es wurde eine Auswahl für eine Seite oder ein Feld getroffen, das nicht in der Datei ist.','A menu needs at least one page.'=>'Ein Menü braucht mindestens eine Seite.','That cannot be done with the menu "%s".'=>'Das ist mit dem Menü „%s“ nicht möglich.','That cannot be done with the option "%s".'=>'Das ist mit der Option „%s“ nicht möglich.','A menu in the file could not be saved. Nothing was imported.'=>'Ein Menü in der Datei konnte nicht gespeichert werden. Es wurde nichts importiert.','The value of "%s" was changed by its field type.'=>'Der Wert von „%s“ wurde von seinem Feldtyp geändert.','The file is too large to import.'=>'Die Datei ist zu groß für den Import.','This is not a JSON file, or it is not valid UTF-8.'=>'Das ist keine JSON-Datei, oder sie ist kein gültiges UTF-8.','This file does not look like an export of Admin Options Pages.'=>'Diese Datei sieht nicht wie ein Export von Admin Options Pages aus.','This file has export format %1$d. This version of the plugin reads format %2$d. Update the plugin on this site and try again.'=>'Diese Datei hat das Exportformat %1$d. Diese Version des Plugins liest das Format %2$d. Aktualisiere das Plugin auf dieser Website und versuche es erneut.','%1$s must be of type %2$s.'=>'%1$s muss vom Typ %2$s sein.','%s has a value that is not supported.'=>'%s hat einen Wert, der nicht unterstützt wird.','%s has a value that is not allowed.'=>'%s hat einen Wert, der nicht erlaubt ist.','%s does not have what it needs.'=>'%s hat nicht, was es braucht.','%1$s is longer than %2$d characters.'=>'%1$s ist länger als %2$d Zeichen.','%s is empty.'=>'%s ist leer.','%1$s has more than %2$d items.'=>'%1$s hat mehr als %2$d Elemente.','%s has no items.'=>'%s hat keine Elemente.','%1$s has more than %2$d entries.'=>'%1$s hat mehr als %2$d Einträge.','%1$s misses "%2$s".'=>'%1$s fehlt „%2$s“.','The file'=>'Die Datei','Choose a file to import.'=>'Wähle eine Datei zum Importieren.','The request is not complete.'=>'Die Anfrage ist nicht vollständig.','The page is not valid.'=>'Die Seite ist nicht gültig.','This page does not exist.'=>'Diese Seite existiert nicht.','There are no pages to save.'=>'Es gibt keine Seiten zum Speichern.','Every page needs a menu title.'=>'Jede Seite braucht einen Menütitel.','"%s" is not a valid option name.'=>'„%s“ ist kein gültiger Optionsname.','Every field with an option needs an option name.'=>'Jedes Feld mit einer Option braucht einen Optionsnamen.','The option name "%s" is used more than once.'=>'Der Optionsname „%s“ wird mehr als einmal verwendet.','The option name "%s" is already in use.'=>'Der Optionsname „%s“ wird bereits verwendet.','This menu is already used by another options page.'=>'Dieses Menü wird bereits von einer anderen Optionsseite verwendet.','The menu position is not valid.'=>'Die Menüposition ist nicht gültig.','The menu title is not valid.'=>'Der Menütitel ist nicht gültig.','The menu icon is not valid.'=>'Das Menü-Icon ist nicht gültig.','Select or upload a file'=>'Datei auswählen oder hochladen','Use this file'=>'Diese Datei verwenden','Allowed files'=>'Erlaubte Dateien','Select or upload image'=>'Bild auswählen oder hochladen','Use this image'=>'Dieses Bild verwenden','Icon'=>'Icon','Choose an icon'=>'Wähle ein Icon','Search for an icon…'=>'Nach einem Icon suchen …','Nothing found.'=>'Nichts gefunden.','Add New Page'=>'Neue Seite hinzufügen','Menu Type'=>'Menütyp','Custom menu'=>'Eigenes Menü','Existing menu'=>'Bestehendes Menü','Menu title'=>'Menütitel','Close settings'=>'Einstellungen schließen','Move left'=>'Nach links verschieben','Move up'=>'Nach oben verschieben','Move right'=>'Nach rechts verschieben','Move down'=>'Nach unten verschieben','Drag to reorder'=>'Zum Neuordnen ziehen','Add block'=>'Block hinzufügen','Value'=>'Wert','Label'=>'Beschriftung','Delete this row'=>'Diese Zeile löschen','Add a row'=>'Eine Zeile hinzufügen','Help'=>'Hilfe','Shortcode'=>'Shortcode','Copied!'=>'Kopiert!','Copy'=>'Kopieren','With get_option() the value is always available in PHP, also when this is off.'=>'Mit get_option() ist der Wert in PHP immer verfügbar, auch wenn dies aus ist.','Field'=>'Feld','This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.'=>'Dieser Feldtyp ist nicht verfügbar. Aktiviere das Plugin, das ihn bereitstellt. Es wurde nichts gelöscht: Das Feld wird so gespeichert, wie es ist.','Options'=>'Optionen','Regular'=>'Normal','Small'=>'Klein','Large'=>'Groß','Standard'=>'Standard',0=>'0',1=>'1',2=>'2','.jpeg .jpg'=>'.jpeg .jpg','.png'=>'.png','.gif'=>'.gif','.svg'=>'.svg','This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.'=>'Diese Website erlaubt keine SVG-Uploads. Ein Plugin wie Safe SVG fügt das sicher hinzu.','.ico'=>'.ico','Full'=>'Vollständig','Basic'=>'Einfach','.pdf'=>'.pdf','.doc'=>'.doc','.docx'=>'.docx','.xls'=>'.xls','.xlsx'=>'.xlsx','.csv'=>'.csv','.zip'=>'.zip','.txt'=>'.txt','Add a field'=>'Ein Feld hinzufügen','Search…'=>'Suchen …','Options fields'=>'Optionsfelder','Static content'=>'Statischer Inhalt','Menu page title'=>'Seitentitel im Menü','Page title'=>'Seitentitel','Page title on top'=>'Seitentitel oben','Show page with tab'=>'Seite mit Tab anzeigen','Visit Page'=>'Seite ansehen','Delete Page'=>'Seite löschen','Saving failed.'=>'Speichern fehlgeschlagen.','At this moment there is no proper support for small/mobile screens.'=>'Zurzeit werden kleine/mobile Bildschirme nicht richtig unterstützt.','We hope to fix this in a future version.'=>'Wir hoffen, das in einer kommenden Version zu beheben.','The minimum required screen width is 1000px.'=>'Die minimale Bildschirmbreite ist 1000px.','Close dialog'=>'Dialog schließen','The menus could not be loaded.'=>'Die Menüs konnten nicht geladen werden.','Export'=>'Export','There\'s nothing to export.'=>'Es gibt nichts zu exportieren.','Uncheck all'=>'Alle abwählen','Check all'=>'Alle auswählen','Export file'=>'Datei exportieren','New'=>'Neu','Already on this site, replaced when checked'=>'Bereits auf dieser Website, wird ersetzt, wenn ausgewählt','Cannot be imported'=>'Kann nicht importiert werden','Same value as on this site'=>'Gleicher Wert wie auf dieser Website','Different value on this site, replaced when checked'=>'Anderer Wert auf dieser Website, wird ersetzt, wenn ausgewählt','Belongs to something else'=>'Gehört zu etwas anderem','Menu'=>'Menü','The menu on this site is replaced by the one in the file, also when its fields are of another type. Options of fields that are not in the file any more are deleted.'=>'Das Menü auf dieser Website wird durch das in der Datei ersetzt, auch wenn seine Felder einen anderen Typ haben. Optionen von Feldern, die nicht mehr in der Datei sind, werden gelöscht.','(no title)'=>'(kein Titel)','Main page'=>'Hauptseite','Page'=>'Seite','No value in the file'=>'Kein Wert in der Datei','Field name:'=>'Feldname:','Field label:'=>'Feldbeschriftung:','The field moves here from the menu "%s".'=>'Das Feld zieht aus dem Menü „%s“ hierher um.','Empty'=>'Leer','Value in the file: %s'=>'Wert in der Datei: %s','%1$s and %2$s'=>'%1$s und %2$s','%s has been imported'=>'%s wurde importiert','%s have been imported'=>'%s wurden importiert','%d menu has been imported'=>'%d Menü wurde importiert' . "\0" . '%d Menüs wurden importiert','%s has been replaced'=>'%s wurde ersetzt','%s have been replaced'=>'%s wurden ersetzt','%d menu has been replaced'=>'%d Menü wurde ersetzt' . "\0" . '%d Menüs wurden ersetzt','The import is done.'=>'Der Import ist abgeschlossen.',', with %d value'=>', mit %d Wert' . "\0" . ', mit %d Werten','Something went wrong. Nothing was imported.'=>'Etwas ist schiefgelaufen. Es wurde nichts importiert.','Import selection'=>'Auswahl importieren','Choose another file'=>'Andere Datei wählen','Import'=>'Import','Drop the JSON file here'=>'Lege die JSON-Datei hier ab','Drop a JSON file here'=>'Lege eine JSON-Datei hier ab','or'=>'oder','Select a file'=>'Datei auswählen','Maximum file size: %s.'=>'Maximale Dateigröße: %s.','You see what would happen before anything is imported.'=>'Du siehst, was passieren würde, bevor etwas importiert wird.','File: %s'=>'Datei: %s','Import another file'=>'Eine andere Datei importieren','Hide "Edit page" button'=>'Button „Seite bearbeiten“ ausblenden','The setting could not be saved.'=>'Die Einstellung konnte nicht gespeichert werden.','Setting saved.'=>'Einstellung gespeichert.','The role "%1$s" of the page "%2$s" does not exist on this site. Until it does, users with that role cannot open the page.'=>'Die Rolle „%1$s“ der Seite „%2$s“ gibt es auf dieser Website nicht. Solange es sie nicht gibt, können Benutzer mit dieser Rolle die Seite nicht öffnen.','%s has characters that are not allowed.'=>'%s enthält Zeichen, die nicht erlaubt sind.','%s (no longer available)'=>'%s (nicht mehr verfügbar)','%1$s (%2$d user)'=>'%1$s (%2$d Benutzer)' . "\0" . '%1$s (%2$d Benutzer)','Administrator'=>'Administrator','Who can edit'=>'Wer bearbeiten darf','Administrator + %d other'=>'Administrator + %d weitere' . "\0" . 'Administrator + %d weitere','Administrators always have access.'=>'Administratoren haben immer Zugriff.','Users with this role cannot open the dashboard.'=>'Benutzer mit dieser Rolle können das Dashboard nicht öffnen.','Done'=>'Fertig','Admin Options Pages 1.1 is here.'=>'Admin Options Pages 1.1 ist da.','You now choose per page which roles can edit it. Have a look at who can edit your pages.'=>'Du wählst jetzt pro Seite, welche Rollen sie bearbeiten dürfen. Sieh dir an, wer deine Seiten bearbeiten darf.','What is new in 1.1'=>'Neu in 1.1','Admin Options Pages 1.1'=>'Admin Options Pages 1.1','Choose who can edit each page.'=>'Wähle, wer jede Seite bearbeiten darf.','Welcome to Admin Options Pages 1.1'=>'Willkommen bei Admin Options Pages 1.1','Tick the roles that may edit a page.'=>'Hake die Rollen an, die eine Seite bearbeiten dürfen.','Open a page in the editor and click the button next to "Who can edit". Every role of your site is there, also the roles of other plugins and the roles you made yourself. Users with a ticked role see the page in their menu and can save it; nobody else can.'=>'Öffne eine Seite im Editor und klicke auf die Schaltfläche neben „Wer bearbeiten darf“. Jede Rolle deiner Website ist dort, auch die Rollen anderer Plugins und die Rollen, die du selbst angelegt hast. Benutzer mit einer angehakten Rolle sehen die Seite in ihrem Menü und können sie speichern; sonst niemand.','Administrators can always open every page, and only administrators can build and change the pages themselves.'=>'Administratoren können jede Seite immer öffnen, und nur Administratoren können die Seiten selbst erstellen und ändern.','The dialog "Who can edit" with a checkbox for every role of the site'=>'Der Dialog „Wer bearbeiten darf“ mit einem Kontrollkästchen für jede Rolle der Website','What happens to your pages'=>'Was mit deinen Seiten passiert','Nothing changes until you save a page again. A page that was set to Editor opens in the editor with the roles ticked that can edit it now: usually Editor, and with WooCommerce also Shop manager. Save the page to keep it that way, or change the roles first.'=>'Nichts ändert sich, bis du eine Seite erneut speicherst. Eine Seite, die auf Redakteur stand, öffnet sich im Editor mit den Rollen angehakt, die sie jetzt bearbeiten dürfen: meist Redakteur, mit WooCommerce auch Shop-Manager. Speichere die Seite, um es so zu behalten, oder ändere zuerst die Rollen.','From then on the ticked roles decide, not what a role may do elsewhere on the site. Did someone get access without one of these roles? Tick a role they have, or give them access to that page with a plugin that manages roles.'=>'Ab dann entscheiden die angehakten Rollen, nicht was eine Rolle anderswo auf der Website darf. Hatte jemand Zugriff ohne eine dieser Rollen? Hake eine Rolle an, die er hat, oder gib ihm mit einem Plugin für Rollen Zugriff auf diese Seite.','One user, one page'=>'Ein Benutzer, eine Seite','With a plugin that manages roles, such as Members or User Role Editor, you can give a single user access to a single page: every page is listed there under Admin Options Pages.'=>'Mit einem Plugin, das Rollen verwaltet, wie Members oder User Role Editor, gibst du einem einzelnen Benutzer Zugriff auf eine einzelne Seite: Jede Seite steht dort unter Admin Options Pages.','Roles move with your pages'=>'Rollen ziehen mit um','An export takes the roles of every page with it. When a role does not exist on the site you import to, the preview tells you; the page is imported all the same.'=>'Ein Export nimmt die Rollen jeder Seite mit. Gibt es eine Rolle auf der Website, auf die du importierst, nicht, sagt dir die Vorschau das; die Seite wird trotzdem importiert.','No dead ends'=>'Keine Sackgassen','The editor tells you when a ticked role cannot open the dashboard at all, such as the Customer role of WooCommerce.'=>'Der Editor sagt dir, wenn eine angehakte Rolle das Dashboard gar nicht öffnen kann, wie die Rolle Kunde von WooCommerce.','Admin Options Pages 1.1 needs WordPress 6.9 or later and PHP 8.1 or later, like 1.0.'=>'Admin Options Pages 1.1 braucht WordPress 6.9 oder neuer und PHP 8.1 oder neuer, wie 1.0.','What was new in 1.0'=>'Neu in 1.0','Your clients and colleagues now get exactly the pages they need. Choose the right roles for each page: Editor, Shop manager, Author, or a role you made yourself.'=>'Deine Kunden und Kollegen bekommen jetzt genau die Seiten, die sie brauchen. Wähle für jede Seite die passenden Rollen: Redakteur, Shop-Manager, Autor oder eine Rolle, die du selbst angelegt hast.']];
  • admin-options-pages/tags/1.1.0/languages/admin-options-pages-de_DE.po

    r3736451 r3750608  
    11msgid ""
    2 msgstr "Project-Id-Version: Admin Options Pages 1.0.0\nReport-Msgid-Bugs-To: https://github.com/poolghost/adminoptionspages-issues/issues\nLast-Translator: Automatically generated\nLanguage-Team: none\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nPOT-Creation-Date: 2026-10-09T10:01:38+00:00\nPO-Revision-Date: 2026-10-09T10:01:38+00:00\nLanguage: de\nX-Generator: WP-CLI 2.11.0\nX-Domain: admin-options-pages\nPlural-Forms: nplurals=2; plural=(n != 1);\n"
     2msgstr ""
     3"Project-Id-Version: Admin Options Pages 1.0.0\n"
     4"Report-Msgid-Bugs-To: https://github.com/poolghost/adminoptionspages-issues/issues\n"
     5"Last-Translator: Automatically generated\n"
     6"Language-Team: none\n"
     7"MIME-Version: 1.0\n"
     8"Content-Type: text/plain; charset=UTF-8\n"
     9"Content-Transfer-Encoding: 8bit\n"
     10"POT-Creation-Date: 2026-10-09T10:01:38+00:00\n"
     11"PO-Revision-Date: 2026-10-09T10:01:38+00:00\n"
     12"Language: de\n"
     13"X-Generator: WP-CLI 2.11.0\n"
     14"X-Domain: admin-options-pages\n"
     15"Plural-Forms: nplurals=2; plural=(n != 1);\n"
    316
    417#. Plugin Name of the plugin
    … …  
    7184
    7285#: App/Admin/AdminPages/AdminPages.php:207
    73 #: App/Admin/Input.php:61
     86#: App/Admin/Input.php:62
    7487msgid "Updated."
    7588msgstr "Aktualisiert."
    … …  
    126139msgstr "Wenn du dieses Plugin wirklich %1$s, gib ihm %2$s, damit %3$s bekannter wird."
    127140
    128 #: App/Admin/AdminPages/SubpageWhatsNew.php:93
    129 msgid "Admin Options Pages 1.0 is here."
    130 msgstr "Admin Options Pages 1.0 ist da."
    131 
    132 #: App/Admin/AdminPages/SubpageWhatsNew.php:94
    133 msgid "Import and export with your data, your own field types, nine new field types and your values on your website."
    134 msgstr "Import und Export mit deinen Daten, eigene Feldtypen, neun neue Feldtypen und deine Werte auf deiner Website."
    135 
    136 #: App/Admin/AdminPages/SubpageWhatsNew.php:96
     141#: App/Admin/AdminPages/SubpageWhatsNew.php:123
    137142msgid "See what's new"
    138143msgstr "Sieh dir an, was neu ist"
    139144
    140 #: App/Admin/AdminPages/views/whats-new.php:19
     145#: App/Admin/AdminPages/views/whats-new-1.0.php:20
    141146msgid "Admin Options Pages 1.0"
    142147msgstr "Admin Options Pages 1.0"
    143148
    144 #: App/Admin/AdminPages/views/whats-new.php:21
     149#: App/Admin/AdminPages/views/whats-new-1.0.php:22
    145150msgid "Import and export with your data, your own field types and your values on your website."
    146151msgstr "Import und Export mit deinen Daten, eigene Feldtypen und deine Werte auf deiner Website."
    147152
    148 #: App/Admin/AdminPages/views/whats-new.php:26
     153#: App/Admin/AdminPages/views/whats-new-1.0.php:27
    149154msgid "Welcome to Admin Options Pages 1.0"
    150155msgstr "Willkommen bei Admin Options Pages 1.0"
    151156
    152 #: App/Admin/AdminPages/views/whats-new.php:27
     157#: App/Admin/AdminPages/views/whats-new-1.0.php:28
    153158msgid "This is the biggest update of the plugin so far. Menus now move to another site with all their values, so the options pages you built and filled locally go live in one file. You can add field types of your own, there are nine new built-in ones, and the values of your fields can be shown on your website without code. Your menus, pages, fields and values are all still here."
    154159msgstr "Das ist das bisher größte Update des Plugins. Menüs ziehen jetzt mit allen Werten auf eine andere Website um, sodass die Optionsseiten, die du lokal gebaut und gefüllt hast, in einer Datei live gehen. Du kannst eigene Feldtypen hinzufügen, es gibt neun neue eingebaute, und die Werte deiner Felder lassen sich ohne Code auf deiner Website anzeigen. Deine Menüs, Seiten, Felder und Werte sind alle noch da."
    155160
    156 #: App/Admin/AdminPages/views/whats-new.php:33
     161#: App/Admin/AdminPages/views/whats-new-1.0.php:34
    157162msgid "Import and export, with your data"
    158163msgstr "Import und Export, mit deinen Daten"
    159164
    160 #: App/Admin/AdminPages/views/whats-new.php:35
     165#: App/Admin/AdminPages/views/whats-new-1.0.php:36
    161166msgid "Build and fill your options pages locally, then take them live in one file."
    162167msgstr "Baue und fülle deine Optionsseiten lokal und bring sie dann in einer Datei live."
    163168
    164 #: App/Admin/AdminPages/views/whats-new.php:36
     169#: App/Admin/AdminPages/views/whats-new-1.0.php:37
    165170msgid "Export the menus you choose together with the values of their fields, and import them on your live site, a staging site or your next project. No more typing the same settings twice."
    166171msgstr "Exportiere die Menüs, die du auswählst, zusammen mit den Werten ihrer Felder, und importiere sie auf deiner Live-Website, einer Staging-Website oder in deinem nächsten Projekt. Nie wieder dieselben Einstellungen zweimal eintippen."
    167172
    168 #: App/Admin/AdminPages/views/whats-new.php:38
     173#: App/Admin/AdminPages/views/whats-new-1.0.php:39
    169174msgid "Before anything changes you see what would happen, and you choose per menu, page, field and value. Nothing is replaced unless you choose it, and an import is all or nothing. Exports made with 0.9 can be imported too."
    170175msgstr "Bevor sich etwas ändert, siehst du, was passieren würde, und du wählst pro Menü, Seite, Feld und Wert. Nichts wird ersetzt, wenn du es nicht auswählst, und ein Import geschieht ganz oder gar nicht. Exporte aus 0.9 lassen sich ebenfalls importieren."
    171176
    172 #: App/Admin/AdminPages/views/whats-new.php:41
     177#: App/Admin/AdminPages/views/whats-new-1.0.php:42
    173178msgid "The preview of an import, with a checkbox for every menu, page, field and value"
    174179msgstr "Die Vorschau eines Imports, mit einer Checkbox für jedes Menü, jede Seite, jedes Feld und jeden Wert"
    175180
    176 #: App/Admin/AdminPages/views/whats-new.php:47
     181#: App/Admin/AdminPages/views/whats-new-1.0.php:48
    177182msgid "An options page with a logo, a brand color and contact details"
    178183msgstr "Eine Optionsseite mit einem Logo, einer Markenfarbe und Kontaktdaten"
    179184
    180 #: App/Admin/AdminPages/views/whats-new.php:50
     185#: App/Admin/AdminPages/views/whats-new-1.0.php:51
    181186msgid "Nine new field types"
    182187msgstr "Neun neue Feldtypen"
    183188
    184 #: App/Admin/AdminPages/views/whats-new.php:52
     189#: App/Admin/AdminPages/views/whats-new-1.0.php:53
    185190msgid "Email, Link, Password, Date, Time, Date and time, Range, Button group and File."
    186191msgstr "E-Mail, Link, Passwort, Datum, Uhrzeit, Datum und Uhrzeit, Schieberegler, Button-Gruppe und Datei."
    187192
    188 #: App/Admin/AdminPages/views/whats-new.php:53
     193#: App/Admin/AdminPages/views/whats-new-1.0.php:54
    189194msgid "That makes 21 field types. Each one checks what is entered, and an image or file field only accepts the file types you choose, also when something is uploaded."
    190195msgstr "Damit gibt es 21 Feldtypen. Jeder prüft, was eingegeben wird, und ein Bild- oder Dateifeld akzeptiert nur die Dateitypen, die du auswählst, auch beim Hochladen."
    191196
    192 #: App/Admin/AdminPages/views/whats-new.php:60
     197#: App/Admin/AdminPages/views/whats-new-1.0.php:61
    193198msgid "Your own field types"
    194199msgstr "Deine eigenen Feldtypen"
    195200
    196 #: App/Admin/AdminPages/views/whats-new.php:62
     201#: App/Admin/AdminPages/views/whats-new-1.0.php:63
    197202msgid "Need a field that is not there? Add it yourself."
    198203msgstr "Dir fehlt ein Feld? Füge es selbst hinzu."
    199204
    200 #: App/Admin/AdminPages/views/whats-new.php:63
     205#: App/Admin/AdminPages/views/whats-new-1.0.php:64
    201206msgid "Register a field type from your theme or plugin with one class: what the editor asks for, how the value is checked and stored, and how it shows on the options page and on your website. It appears in the field picker next to the built-in types, which use exactly the same API."
    202207msgstr "Registriere einen Feldtyp aus deinem Theme oder Plugin mit einer Klasse: was der Editor abfragt, wie der Wert geprüft und gespeichert wird und wie er auf der Optionsseite und auf deiner Website erscheint. Er erscheint in der Feldauswahl neben den eingebauten Typen, die genau dieselbe API verwenden."
    203208
    204 #: App/Admin/AdminPages/views/whats-new.php:65
     209#: App/Admin/AdminPages/views/whats-new-1.0.php:66
    205210msgid "The Field Types API is stable from 1.0 on and follows semantic versioning, so your field types keep working with the next versions."
    206211msgstr "Die Field Types API ist ab 1.0 stabil und folgt Semantic Versioning, sodass deine Feldtypen mit den nächsten Versionen weiter funktionieren."
    207212
    208 #: App/Admin/AdminPages/views/whats-new.php:86
     213#: App/Admin/AdminPages/views/whats-new-1.0.php:87
    209214msgid "A paragraph connected to a field in the Attributes panel"
    210215msgstr "Ein Absatz, der im Bedienfeld Attribute mit einem Feld verbunden ist"
    211216
    212 #: App/Admin/AdminPages/views/whats-new.php:89
     217#: App/Admin/AdminPages/views/whats-new-1.0.php:90
    213218msgid "Your values on your website"
    214219msgstr "Deine Werte auf deiner Website"
    215220
    216 #: App/Admin/AdminPages/views/whats-new.php:91
     221#: App/Admin/AdminPages/views/whats-new-1.0.php:92
    217222msgid "With a shortcode or a block, no code needed."
    218223msgstr "Mit einem Shortcode oder einem Block, ganz ohne Code."
    219224
    220 #: App/Admin/AdminPages/views/whats-new.php:92
     225#: App/Admin/AdminPages/views/whats-new-1.0.php:93
    221226msgid "Put a field in a post with [aop_option name=\"…\"], or connect a paragraph, heading, button or image to it in the Attributes panel of the block editor. Change the value once, and it changes everywhere."
    222227msgstr "Setze ein Feld mit [aop_option name=\"…\"] in einen Beitrag, oder verbinde im Bedienfeld Attribute des Block-Editors einen Absatz, eine Überschrift, einen Button oder ein Bild damit. Ändere den Wert einmal, und er ändert sich überall."
    223228
    224 #: App/Admin/AdminPages/views/whats-new.php:94
     229#: App/Admin/AdminPages/views/whats-new-1.0.php:95
    225230msgid "Switch on \"Use in shortcode and blocks\" for the fields you want to show. Fields made before 1.0 have it off, so nothing appears on your website by itself."
    226231msgstr "Schalte „In Shortcode und Blöcken verwenden“ für die Felder ein, die du anzeigen möchtest. Bei Feldern, die vor 1.0 erstellt wurden, ist es aus, sodass nichts von selbst auf deiner Website erscheint."
    227232
    228 #: App/Admin/AdminPages/views/whats-new.php:100
     233#: App/Admin/AdminPages/views/whats-new-1.0.php:101
    229234msgid "Rewritten in React"
    230235msgstr "Neu geschrieben in React"
    231236
    232 #: App/Admin/AdminPages/views/whats-new.php:101
     237#: App/Admin/AdminPages/views/whats-new-1.0.php:102
    233238msgid "Under the hood the editor is rewritten in React, the WordPress way: with the components and the data store the block editor is made of."
    234239msgstr "Unter der Haube ist der Editor in React neu geschrieben, auf die WordPress-Art: mit den Komponenten und dem Datenspeicher, aus denen der Block-Editor besteht."
    235240
    236 #: App/Admin/AdminPages/views/whats-new.php:104
     241#: App/Admin/AdminPages/views/whats-new-1.0.php:105
    237242msgid "Change any saved value"
    238243msgstr "Jeden gespeicherten Wert ändern"
    239244
    240 #: App/Admin/AdminPages/views/whats-new.php:105
     245#: App/Admin/AdminPages/views/whats-new-1.0.php:106
    241246msgid "Developers can change the value of any field before it is stored with the new filters aop_sanitized_option and aop_sanitized_option_{name}."
    242247msgstr "Entwickler können den Wert jedes Feldes vor dem Speichern mit den neuen Filtern aop_sanitized_option und aop_sanitized_option_{name} ändern."
    243248
    244 #: App/Admin/AdminPages/views/whats-new.php:108
     249#: App/Admin/AdminPages/views/whats-new-1.0.php:109
    245250msgid "A safe upgrade"
    246251msgstr "Ein sicheres Upgrade"
    247252
    248 #: App/Admin/AdminPages/views/whats-new.php:109
     253#: App/Admin/AdminPages/views/whats-new-1.0.php:110
    249254msgid "Your pages are stored in a new format now. A copy in the old format is kept for 90 days."
    250255msgstr "Deine Seiten werden jetzt in einem neuen Format gespeichert. Eine Kopie im alten Format wird 90 Tage lang aufbewahrt."
    251256
    252 #: App/Admin/AdminPages/views/whats-new.php:115
     257#: App/Admin/AdminPages/views/whats-new-1.0.php:116
     258#: App/Admin/AdminPages/views/whats-new.php:71
    253259msgid "Requirements"
    254260msgstr "Voraussetzungen"
    255261
    256 #: App/Admin/AdminPages/views/whats-new.php:116
     262#: App/Admin/AdminPages/views/whats-new-1.0.php:117
    257263msgid "Admin Options Pages 1.0 needs WordPress 6.9 or later and PHP 8.1 or later."
    258264msgstr "Admin Options Pages 1.0 benötigt WordPress 6.9 oder höher und PHP 8.1 oder höher."
    259265
    260 #: App/Admin/AdminPages/views/whats-new.php:118
     266#: App/Admin/AdminPages/views/whats-new-1.0.php:119
     267#: App/Admin/AdminPages/views/whats-new.php:74
    261268msgid "Go to your options pages"
    262269msgstr "Zu deinen Optionsseiten"
    263270
    264 #: App/Admin/AdminPages/views/whats-new.php:119
     271#: App/Admin/AdminPages/views/whats-new-1.0.php:120
     272#: App/Admin/AdminPages/views/whats-new.php:75
    265273msgid "Read the documentation"
    266274msgstr "Lies die Dokumentation"
    … …  
    275283#: App/Fields/Types/Subtitle.php:38
    276284#: includes/build/editor.js:1
     285#: includes/build/editor.js:4
    277286msgid "Title"
    278287msgstr "Titel"
    … …  
    280289#: App/Admin/ListTable.php:41
    281290#: includes/build/editor.js:1
     291#: includes/build/editor.js:4
    282292msgid "Position"
    283293msgstr "Position"
    … …  
    301311
    302312#: App/Admin/Text.php:14
    303 #: App/Admin/Text.php:32
     313#: App/Admin/Text.php:28
    304314#: includes/build/editor.js:1
    305315msgid "Cancel"
    … …  
    307317
    308318#: App/Admin/Text.php:15
     319#: App/Admin/Text.php:25
    309320#: App/Admin/Text.php:29
    310 #: App/Admin/Text.php:33
    311321#: App/Fields/Types/FileField.php:165
    312322#: App/Fields/Types/Image.php:158
    … …  
    315325msgstr "Löschen"
    316326
    317 #: App/Admin/Text.php:18
    318 msgctxt "User role"
    319 msgid "Administrator"
    320 msgstr "Administrator"
    321 
    322 #: App/Admin/Text.php:19
    323 msgctxt "User role"
    324 msgid "Editor"
    325 msgstr "Redakteur"
    326 
    327 #: App/Admin/Text.php:24
     327#: App/Admin/Text.php:20
    328328msgid "Save"
    329329msgstr "Speichern"
    330330
    331 #: App/Admin/Text.php:25
     331#: App/Admin/Text.php:21
    332332msgid "New Pages"
    333333msgstr "Neue Seiten"
    334334
    335 #: App/Admin/Text.php:28
     335#: App/Admin/Text.php:24
    336336msgid "Update"
    337337msgstr "Aktualisieren"
    338338
    339 #: App/Admin/Text.php:30
     339#: App/Admin/Text.php:26
    340340msgid "Edit Pages"
    341341msgstr "Seiten bearbeiten"
    … …  
    400400msgstr "Bearbeiten"
    401401
    402 #: App/Data.php:651
     402#: App/Data.php:653
    403403msgid "The link you followed has expired."
    404404msgstr "Der Link, dem du gefolgt bist, ist abgelaufen."
    405405
    406406#. translators: 1: a field type, 2: an option name
    407 #: App/Fields/FieldManager.php:164
     407#: App/Fields/FieldManager.php:171
    408408msgid "The field type \"%1$s\" of the option \"%2$s\" is not available, so the field is not shown. Activate the plugin that provides it. Nothing was deleted."
    409409msgstr "Der Feldtyp „%1$s“ der Option „%2$s“ ist nicht verfügbar, daher wird das Feld nicht angezeigt. Aktiviere das Plugin, das ihn bereitstellt. Es wurde nichts gelöscht."
    … …  
    692692msgstr "Die Datenbanktabellen dieser Website können keine Änderungen zurücknehmen. Geht mittendrin etwas schief, kann ein Teil des Imports bestehen bleiben."
    693693
    694 #: App/ImportExport/Importer.php:112
     694#: App/ImportExport/Importer.php:141
    695695msgid "This menu is in the file more than once."
    696696msgstr "Dieses Menü ist mehr als einmal in der Datei."
    697697
    698 #: App/ImportExport/Importer.php:118
     698#: App/ImportExport/Importer.php:147
    699699msgid "The menu on this site was saved by a newer version of the plugin. Update the plugin first."
    700700msgstr "Das Menü auf dieser Website wurde mit einer neueren Version des Plugins gespeichert. Aktualisiere zuerst das Plugin."
    701701
    702 #: App/ImportExport/Importer.php:124
     702#: App/ImportExport/Importer.php:153
    703703msgid "Another menu on this site already has the id of this menu."
    704704msgstr "Ein anderes Menü auf dieser Website hat bereits die ID dieses Menüs."
    705705
    706706#. translators: %s: an option name
    707 #: App/ImportExport/Importer.php:137
     707#: App/ImportExport/Importer.php:166
    708708msgid "The option name \"%s\" is used by more than one menu in the file."
    709709msgstr "Der Optionsname „%s“ wird in der Datei von mehr als einem Menü verwendet."
    710710
    711711#. translators: %s: the name of a field type
    712 #: App/ImportExport/Importer.php:228
     712#: App/ImportExport/Importer.php:257
    713713msgid "The field type \"%s\" is not available on this site. Activate the plugin that provides it."
    714714msgstr "Der Feldtyp „%s“ ist auf dieser Website nicht verfügbar. Aktiviere das Plugin, das ihn bereitstellt."
    715715
    716 #: App/ImportExport/Importer.php:233
     716#: App/ImportExport/Importer.php:262
    717717msgid "This is not a valid option name."
    718718msgstr "Das ist kein gültiger Optionsname."
    719719
    720 #: App/ImportExport/Importer.php:235
     720#: App/ImportExport/Importer.php:264
    721721msgid "This option name is used by WordPress or another plugin."
    722722msgstr "Dieser Optionsname wird von WordPress oder einem anderen Plugin verwendet."
    723723
    724 #: App/ImportExport/Importer.php:300
     724#: App/ImportExport/Importer.php:329
    725725msgid "Something in this menu is not allowed."
    726726msgstr "Etwas in diesem Menü ist nicht erlaubt."
    727727
    728 #: App/ImportExport/Importer.php:310
     728#: App/ImportExport/Importer.php:339
    729729msgid "The name of this menu does not match what is in it."
    730730msgstr "Der Name dieses Menüs passt nicht zu seinem Inhalt."
    731731
    732 #: App/ImportExport/Importer.php:429
     732#: App/ImportExport/Importer.php:458
    733733msgid "Checked"
    734734msgstr "Ausgewählt"
    735735
    736 #: App/ImportExport/Importer.php:429
     736#: App/ImportExport/Importer.php:458
    737737msgid "Not checked"
    738738msgstr "Nicht ausgewählt"
    739739
    740740#. translators: %s: the id of an image or file in the media library
    741 #: App/ImportExport/Importer.php:440
     741#: App/ImportExport/Importer.php:469
    742742msgid "Media ID %s"
    743743msgstr "Medien-ID %s"
    744744
    745 #: App/ImportExport/Importer.php:472
     745#: App/ImportExport/Importer.php:501
    746746msgid "This import has expired. Choose the file again."
    747747msgstr "Dieser Import ist abgelaufen. Wähle die Datei erneut aus."
    748748
    749749#. translators: %s: the name of a menu
    750 #: App/ImportExport/Importer.php:613
     750#: App/ImportExport/Importer.php:642
    751751msgid "Without its first page the menu \"%s\" would get the name of a menu that is on this site already. Import the first page too, or choose another page as the first."
    752752msgstr "Ohne seine erste Seite bekäme das Menü „%s“ den Namen eines Menüs, das bereits auf dieser Website ist. Importiere auch die erste Seite, oder wähle eine andere Seite als erste."
    753753
    754 #: App/ImportExport/Importer.php:638
    755 #: App/ImportExport/Importer.php:691
     754#: App/ImportExport/Importer.php:667
     755#: App/ImportExport/Importer.php:720
    756756msgid "A choice was made for a menu that is not in the file."
    757757msgstr "Es wurde eine Auswahl für ein Menü getroffen, das nicht in der Datei ist."
    758758
    759 #: App/ImportExport/Importer.php:645
     759#: App/ImportExport/Importer.php:674
    760760msgid "A choice was made for a page or field that is not in the file."
    761761msgstr "Es wurde eine Auswahl für eine Seite oder ein Feld getroffen, das nicht in der Datei ist."
    762762
    763 #: App/ImportExport/Importer.php:652
     763#: App/ImportExport/Importer.php:681
    764764msgid "A menu needs at least one page."
    765765msgstr "Ein Menü braucht mindestens eine Seite."
    766766
    767767#. translators: %s: the title of a menu
    768 #: App/ImportExport/Importer.php:680
     768#: App/ImportExport/Importer.php:709
    769769msgid "That cannot be done with the menu \"%s\"."
    770770msgstr "Das ist mit dem Menü „%s“ nicht möglich."
    771771
    772772#. translators: %s: an option name
    773 #: App/ImportExport/Importer.php:716
     773#: App/ImportExport/Importer.php:745
    774774msgid "That cannot be done with the option \"%s\"."
    775775msgstr "Das ist mit der Option „%s“ nicht möglich."
    776776
    777 #: App/ImportExport/Importer.php:742
     777#: App/ImportExport/Importer.php:771
    778778msgid "A menu in the file could not be saved. Nothing was imported."
    779779msgstr "Ein Menü in der Datei konnte nicht gespeichert werden. Es wurde nichts importiert."
    780780
    781781#. translators: %s: an option name
    782 #: App/ImportExport/Importer.php:781
     782#: App/ImportExport/Importer.php:810
    783783msgid "The value of \"%s\" was changed by its field type."
    784784msgstr "Der Wert von „%s“ wurde von seinem Feldtyp geändert."
    … …  
    834834
    835835#. translators: 1: where in the file, 2: a number
    836 #: App/ImportExport/SchemaValidator.php:96
     836#: App/ImportExport/SchemaValidator.php:102
    837837msgid "%1$s has more than %2$d items."
    838838msgstr "%1$s hat mehr als %2$d Elemente."
    839839
    840840#. translators: %s: where in the file
    841 #: App/ImportExport/SchemaValidator.php:101
     841#: App/ImportExport/SchemaValidator.php:107
    842842msgid "%s has no items."
    843843msgstr "%s hat keine Elemente."
    844844
    845845#. translators: 1: where in the file, 2: a number
    846 #: App/ImportExport/SchemaValidator.php:106
     846#: App/ImportExport/SchemaValidator.php:112
    847847msgid "%1$s has more than %2$d entries."
    848848msgstr "%1$s hat mehr als %2$d Einträge."
    849849
    850850#. translators: 1: where in the file, 2: the name of what is missing
    851 #: App/ImportExport/SchemaValidator.php:112
     851#: App/ImportExport/SchemaValidator.php:118
    852852msgid "%1$s misses \"%2$s\"."
    853853msgstr "%1$s fehlt „%2$s“."
    854854
    855 #: App/ImportExport/SchemaValidator.php:169
     855#: App/ImportExport/SchemaValidator.php:175
    856856msgid "The file"
    857857msgstr "Die Datei"
    … …  
    994994
    995995#: includes/build/editor.js:1
     996#: includes/build/editor.js:4
    996997msgid "Drag to reorder"
    997998msgstr "Zum Neuordnen ziehen"
    … …  
    11591160msgstr "Statischer Inhalt"
    11601161
    1161 #: includes/build/editor.js:1
     1162#: includes/build/editor.js:4
    11621163msgid "Menu page title"
    11631164msgstr "Seitentitel im Menü"
    11641165
    1165 #: includes/build/editor.js:1
     1166#: includes/build/editor.js:4
    11661167msgid "Page title"
    11671168msgstr "Seitentitel"
    11681169
    1169 #: includes/build/editor.js:1
     1170#: includes/build/editor.js:4
    11701171msgid "Page title on top"
    11711172msgstr "Seitentitel oben"
    11721173
    1173 #: includes/build/editor.js:1
     1174#: includes/build/editor.js:4
    11741175msgid "Show page with tab"
    11751176msgstr "Seite mit Tab anzeigen"
    11761177
    1177 #: includes/build/editor.js:1
    1178 msgid "User access level"
    1179 msgstr "Zugriffsebene"
    1180 
    1181 #: includes/build/editor.js:1
     1178#: includes/build/editor.js:4
    11821179msgid "Visit Page"
    11831180msgstr "Seite ansehen"
    11841181
    1185 #: includes/build/editor.js:1
     1182#: includes/build/editor.js:4
    11861183msgid "Delete Page"
    11871184msgstr "Seite löschen"
    11881185
    1189 #: includes/build/editor.js:1
     1186#: includes/build/editor.js:4
    11901187msgid "Saving failed."
    11911188msgstr "Speichern fehlgeschlagen."
    11921189
    1193 #: includes/build/editor.js:1
     1190#: includes/build/editor.js:4
    11941191msgid "At this moment there is no proper support for small/mobile screens."
    11951192msgstr "Zurzeit werden kleine/mobile Bildschirme nicht richtig unterstützt."
    11961193
    1197 #: includes/build/editor.js:1
     1194#: includes/build/editor.js:4
    11981195msgid "We hope to fix this in a future version."
    11991196msgstr "Wir hoffen, das in einer kommenden Version zu beheben."
    12001197
    1201 #: includes/build/editor.js:1
     1198#: includes/build/editor.js:4
    12021199msgid "The minimum required screen width is 1000px."
    12031200msgstr "Die minimale Bildschirmbreite ist 1000px."
    12041201
    1205 #: includes/build/editor.js:1
     1202#: includes/build/editor.js:4
    12061203msgid "Close dialog"
    12071204msgstr "Dialog schließen"
    … …  
    14121409msgid "Setting saved."
    14131410msgstr "Einstellung gespeichert."
     1411
     1412#. translators: 1: the slug of a user role, 2: the menu title of a page
     1413#: App/ImportExport/Importer.php:118
     1414msgid "The role \"%1$s\" of the page \"%2$s\" does not exist on this site. Until it does, users with that role cannot open the page."
     1415msgstr "Die Rolle „%1$s“ der Seite „%2$s“ gibt es auf dieser Website nicht. Solange es sie nicht gibt, können Benutzer mit dieser Rolle die Seite nicht öffnen."
     1416
     1417#. translators: %s: where in the file
     1418#: App/ImportExport/SchemaValidator.php:92
     1419msgid "%s has characters that are not allowed."
     1420msgstr "%s enthält Zeichen, die nicht erlaubt sind."
     1421
     1422#. translators: %s: the slug of a role that does not exist on this site
     1423#: includes/build/editor.js:2
     1424msgid "%s (no longer available)"
     1425msgstr "%s (nicht mehr verfügbar)"
     1426
     1427#. translators: 1: the name of a role, 2: the number of users with that role
     1428#: includes/build/editor.js:3
     1429msgid "%1$s (%2$d user)"
     1430msgid_plural "%1$s (%2$d users)"
     1431msgstr[0] "%1$s (%2$d Benutzer)"
     1432msgstr[1] "%1$s (%2$d Benutzer)"
     1433
     1434#: includes/build/editor.js:3
     1435msgid "Administrator"
     1436msgstr "Administrator"
     1437
     1438#: App/Admin/AdminPages/views/whats-new.php:34
     1439#: includes/build/editor.js:3
     1440#: includes/build/editor.js:4
     1441msgid "Who can edit"
     1442msgstr "Wer bearbeiten darf"
     1443
     1444#. translators: %d: the number of roles besides administrator that can edit the page
     1445#: includes/build/editor.js:4
     1446msgid "Administrator + %d other"
     1447msgid_plural "Administrator + %d others"
     1448msgstr[0] "Administrator + %d weitere"
     1449msgstr[1] "Administrator + %d weitere"
     1450
     1451#: includes/build/editor.js:4
     1452msgid "Administrators always have access."
     1453msgstr "Administratoren haben immer Zugriff."
     1454
     1455#: includes/build/editor.js:4
     1456msgid "Users with this role cannot open the dashboard."
     1457msgstr "Benutzer mit dieser Rolle können das Dashboard nicht öffnen."
     1458
     1459#: includes/build/editor.js:4
     1460msgid "Done"
     1461msgstr "Fertig"
     1462
     1463#: App/Admin/AdminPages/SubpageWhatsNew.php:120
     1464msgid "Admin Options Pages 1.1 is here."
     1465msgstr "Admin Options Pages 1.1 ist da."
     1466
     1467#: App/Admin/AdminPages/SubpageWhatsNew.php:121
     1468msgid "You now choose per page which roles can edit it. Have a look at who can edit your pages."
     1469msgstr "Du wählst jetzt pro Seite, welche Rollen sie bearbeiten dürfen. Sieh dir an, wer deine Seiten bearbeiten darf."
     1470
     1471#: App/Admin/AdminPages/views/whats-new-1.0.php:122
     1472msgid "What is new in 1.1"
     1473msgstr "Neu in 1.1"
     1474
     1475#: App/Admin/AdminPages/views/whats-new.php:20
     1476msgid "Admin Options Pages 1.1"
     1477msgstr "Admin Options Pages 1.1"
     1478
     1479#: App/Admin/AdminPages/views/whats-new.php:22
     1480msgid "Choose who can edit each page."
     1481msgstr "Wähle, wer jede Seite bearbeiten darf."
     1482
     1483#: App/Admin/AdminPages/views/whats-new.php:27
     1484msgid "Welcome to Admin Options Pages 1.1"
     1485msgstr "Willkommen bei Admin Options Pages 1.1"
     1486
     1487#: App/Admin/AdminPages/views/whats-new.php:36
     1488msgid "Tick the roles that may edit a page."
     1489msgstr "Hake die Rollen an, die eine Seite bearbeiten dürfen."
     1490
     1491#: App/Admin/AdminPages/views/whats-new.php:37
     1492msgid "Open a page in the editor and click the button next to \"Who can edit\". Every role of your site is there, also the roles of other plugins and the roles you made yourself. Users with a ticked role see the page in their menu and can save it; nobody else can."
     1493msgstr "Öffne eine Seite im Editor und klicke auf die Schaltfläche neben „Wer bearbeiten darf“. Jede Rolle deiner Website ist dort, auch die Rollen anderer Plugins und die Rollen, die du selbst angelegt hast. Benutzer mit einer angehakten Rolle sehen die Seite in ihrem Menü und können sie speichern; sonst niemand."
     1494
     1495#: App/Admin/AdminPages/views/whats-new.php:39
     1496msgid "Administrators can always open every page, and only administrators can build and change the pages themselves."
     1497msgstr "Administratoren können jede Seite immer öffnen, und nur Administratoren können die Seiten selbst erstellen und ändern."
     1498
     1499#: App/Admin/AdminPages/views/whats-new.php:42
     1500msgid "The dialog \"Who can edit\" with a checkbox for every role of the site"
     1501msgstr "Der Dialog „Wer bearbeiten darf“ mit einem Kontrollkästchen für jede Rolle der Website"
     1502
     1503#: App/Admin/AdminPages/views/whats-new.php:48
     1504msgid "What happens to your pages"
     1505msgstr "Was mit deinen Seiten passiert"
     1506
     1507#: App/Admin/AdminPages/views/whats-new.php:49
     1508msgid "Nothing changes until you save a page again. A page that was set to Editor opens in the editor with the roles ticked that can edit it now: usually Editor, and with WooCommerce also Shop manager. Save the page to keep it that way, or change the roles first."
     1509msgstr "Nichts ändert sich, bis du eine Seite erneut speicherst. Eine Seite, die auf Redakteur stand, öffnet sich im Editor mit den Rollen angehakt, die sie jetzt bearbeiten dürfen: meist Redakteur, mit WooCommerce auch Shop-Manager. Speichere die Seite, um es so zu behalten, oder ändere zuerst die Rollen."
     1510
     1511#: App/Admin/AdminPages/views/whats-new.php:50
     1512msgid "From then on the ticked roles decide, not what a role may do elsewhere on the site. Did someone get access without one of these roles? Tick a role they have, or give them access to that page with a plugin that manages roles."
     1513msgstr "Ab dann entscheiden die angehakten Rollen, nicht was eine Rolle anderswo auf der Website darf. Hatte jemand Zugriff ohne eine dieser Rollen? Hake eine Rolle an, die er hat, oder gib ihm mit einem Plugin für Rollen Zugriff auf diese Seite."
     1514
     1515#: App/Admin/AdminPages/views/whats-new.php:56
     1516msgid "One user, one page"
     1517msgstr "Ein Benutzer, eine Seite"
     1518
     1519#: App/Admin/AdminPages/views/whats-new.php:57
     1520msgid "With a plugin that manages roles, such as Members or User Role Editor, you can give a single user access to a single page: every page is listed there under Admin Options Pages."
     1521msgstr "Mit einem Plugin, das Rollen verwaltet, wie Members oder User Role Editor, gibst du einem einzelnen Benutzer Zugriff auf eine einzelne Seite: Jede Seite steht dort unter Admin Options Pages."
     1522
     1523#: App/Admin/AdminPages/views/whats-new.php:60
     1524msgid "Roles move with your pages"
     1525msgstr "Rollen ziehen mit um"
     1526
     1527#: App/Admin/AdminPages/views/whats-new.php:61
     1528msgid "An export takes the roles of every page with it. When a role does not exist on the site you import to, the preview tells you; the page is imported all the same."
     1529msgstr "Ein Export nimmt die Rollen jeder Seite mit. Gibt es eine Rolle auf der Website, auf die du importierst, nicht, sagt dir die Vorschau das; die Seite wird trotzdem importiert."
     1530
     1531#: App/Admin/AdminPages/views/whats-new.php:64
     1532msgid "No dead ends"
     1533msgstr "Keine Sackgassen"
     1534
     1535#: App/Admin/AdminPages/views/whats-new.php:65
     1536msgid "The editor tells you when a ticked role cannot open the dashboard at all, such as the Customer role of WooCommerce."
     1537msgstr "Der Editor sagt dir, wenn eine angehakte Rolle das Dashboard gar nicht öffnen kann, wie die Rolle Kunde von WooCommerce."
     1538
     1539#: App/Admin/AdminPages/views/whats-new.php:72
     1540msgid "Admin Options Pages 1.1 needs WordPress 6.9 or later and PHP 8.1 or later, like 1.0."
     1541msgstr "Admin Options Pages 1.1 braucht WordPress 6.9 oder neuer und PHP 8.1 oder neuer, wie 1.0."
     1542
     1543#: App/Admin/AdminPages/views/whats-new.php:77
     1544msgid "What was new in 1.0"
     1545msgstr "Neu in 1.0"
     1546
     1547#: App/Admin/AdminPages/views/whats-new.php:28
     1548msgid "Your clients and colleagues now get exactly the pages they need. Choose the right roles for each page: Editor, Shop manager, Author, or a role you made yourself."
     1549msgstr "Deine Kunden und Kollegen bekommen jetzt genau die Seiten, die sie brauchen. Wähle für jede Seite die passenden Rollen: Redakteur, Shop-Manager, Autor oder eine Rolle, die du selbst angelegt hast."
  • admin-options-pages/tags/1.1.0/languages/admin-options-pages-es_ES-40ab473175f2d6a502e444c4dd505d9d.json

    r3736451 r3750608  
    1 {"translation-revision-date":"2026-10-09T10:01:38+00:00","generator":"WP-CLI\/2.11.0","source":"includes\/build\/editor.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"es","plural-forms":"nplurals=2; plural=(n != 1);"},"Settings":["Ajustes"],"Documentation":["Documentaci\u00f3n"],"Title":["T\u00edtulo"],"Position":["Posici\u00f3n"],"Are you sure?":["\u00bfEst\u00e1s seguro?"],"Cancel":["Cancelar"],"Delete":["Borrar"],"Field label":["Etiqueta del campo"],"Field name":["Nombre del campo"],"Autoload":["Carga autom\u00e1tica"],"Use in shortcode and blocks":["Usar en shortcode y bloques"],"Additional CSS Class(es)":["Clase(s) CSS adicional(es)"],"Description":["Descripci\u00f3n"],"Default value":["Valor por defecto"],"Button group":["Grupo de botones"],"Field values":["Valores del campo"],"Checkbox":["Casilla de verificaci\u00f3n"],"Text when checked":["Texto si est\u00e1 marcada"],"Text when not checked":["Texto si no est\u00e1 marcada"],"Text after input field":["Texto despu\u00e9s del campo"],"Color picker":["Selector de color"],"Default color (HEX)":["Color por defecto (HEX)"],"Date":["Fecha"],"Field style":["Estilo del campo"],"Date and time":["Fecha y hora"],"Email":["Correo electr\u00f3nico"],"Placeholder":["Texto de ejemplo"],"File":["Archivo"],"Allowed file types":["Tipos de archivo permitidos"],"Horizontal rule":["L\u00ednea horizontal"],"Image":["Imagen"],"Allowed extensions":["Extensiones permitidas"],"Link":["Enlace"],"Number":["N\u00famero"],"Minimum value":["Valor m\u00ednimo"],"Maximum value":["Valor m\u00e1ximo"],"Decimals":["Decimales"],"Password":["Contrase\u00f1a"],"Radio buttons":["Botones de opci\u00f3n"],"Range":["Rango"],"Select":["Desplegable"],"Textarea":["\u00c1rea de texto"],"Description italic":["Descripci\u00f3n en cursiva"],"Text field":["Campo de texto"],"Formatted as code":["Con formato de c\u00f3digo"],"Time":["Hora"],"Wysiwyg editor":["Editor WYSIWYG"],"Show media upload buttons":["Mostrar los botones para subir medios"],"Toolbar":["Barra de herramientas"],"Icon":["Icono"],"Choose an icon":["Elige un icono"],"Search for an icon\u2026":["Buscar un icono\u2026"],"Nothing found.":["No se ha encontrado nada."],"Add New Page":["A\u00f1adir p\u00e1gina nueva"],"Menu Type":["Tipo de men\u00fa"],"Custom menu":["Men\u00fa propio"],"Existing menu":["Men\u00fa existente"],"Menu title":["T\u00edtulo del men\u00fa"],"Close settings":["Cerrar ajustes"],"Move left":["Mover a la izquierda"],"Move up":["Mover hacia arriba"],"Move right":["Mover a la derecha"],"Move down":["Mover hacia abajo"],"Drag to reorder":["Arrastrar para reordenar"],"Add block":["A\u00f1adir bloque"],"Value":["Valor"],"Label":["Etiqueta"],"Delete this row":["Borrar esta fila"],"Add a row":["A\u00f1adir una fila"],"Help":["Ayuda"],"Shortcode":["Shortcode"],"Copied!":["\u00a1Copiado!"],"Copy":["Copiar"],"With get_option() the value is always available in PHP, also when this is off.":["Con get_option() el valor siempre est\u00e1 disponible en PHP, tambi\u00e9n cuando esto est\u00e1 desactivado."],"Field":["Campo"],"This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.":["Este tipo de campo no est\u00e1 disponible. Activa el plugin que lo proporciona. No se ha borrado nada: el campo se guarda tal como est\u00e1."],"Options":["Opciones"],"Regular":["Normal"],"Small":["Peque\u00f1o"],"Large":["Grande"],"Standard":["Est\u00e1ndar"],"0":["0"],"1":["1"],"2":["2"],".jpeg .jpg":[".jpeg .jpg"],".png":[".png"],".gif":[".gif"],".svg":[".svg"],"This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.":["Este sitio no permite subir archivos SVG. Un plugin como Safe SVG lo a\u00f1ade de forma segura."],".ico":[".ico"],"Full":["Completa"],"Basic":["B\u00e1sica"],".pdf":[".pdf"],".doc":[".doc"],".docx":[".docx"],".xls":[".xls"],".xlsx":[".xlsx"],".csv":[".csv"],".zip":[".zip"],".txt":[".txt"],"Add a field":["A\u00f1adir un campo"],"Search\u2026":["Buscar\u2026"],"Options fields":["Campos de opciones"],"Static content":["Contenido est\u00e1tico"],"Menu page title":["T\u00edtulo de la p\u00e1gina en el men\u00fa"],"Page title":["T\u00edtulo de la p\u00e1gina"],"Page title on top":["T\u00edtulo de la p\u00e1gina arriba"],"Show page with tab":["Mostrar la p\u00e1gina con pesta\u00f1a"],"User access level":["Nivel de acceso"],"Visit Page":["Ver p\u00e1gina"],"Delete Page":["Borrar p\u00e1gina"],"Saving failed.":["No se ha podido guardar."],"At this moment there is no proper support for small\/mobile screens.":["Por ahora las pantallas peque\u00f1as y m\u00f3viles no son totalmente compatibles."],"We hope to fix this in a future version.":["Esperamos solucionarlo en una pr\u00f3xima versi\u00f3n."],"The minimum required screen width is 1000px.":["El ancho m\u00ednimo de pantalla es de 1000px."],"Close dialog":["Cerrar el di\u00e1logo"]}}}
     1{"translation-revision-date":"2026-10-09T10:01:38+00:00","generator":"WP-CLI\/2.11.0","source":"includes\/build\/editor.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"es","plural-forms":"nplurals=2; plural=(n != 1);"},"Settings":["Ajustes"],"Documentation":["Documentaci\u00f3n"],"Title":["T\u00edtulo"],"Position":["Posici\u00f3n"],"Are you sure?":["\u00bfEst\u00e1s seguro?"],"Cancel":["Cancelar"],"Delete":["Borrar"],"Field label":["Etiqueta del campo"],"Field name":["Nombre del campo"],"Autoload":["Carga autom\u00e1tica"],"Use in shortcode and blocks":["Usar en shortcode y bloques"],"Additional CSS Class(es)":["Clase(s) CSS adicional(es)"],"Description":["Descripci\u00f3n"],"Default value":["Valor por defecto"],"Button group":["Grupo de botones"],"Field values":["Valores del campo"],"Checkbox":["Casilla de verificaci\u00f3n"],"Text when checked":["Texto si est\u00e1 marcada"],"Text when not checked":["Texto si no est\u00e1 marcada"],"Text after input field":["Texto despu\u00e9s del campo"],"Color picker":["Selector de color"],"Default color (HEX)":["Color por defecto (HEX)"],"Date":["Fecha"],"Field style":["Estilo del campo"],"Date and time":["Fecha y hora"],"Email":["Correo electr\u00f3nico"],"Placeholder":["Texto de ejemplo"],"File":["Archivo"],"Allowed file types":["Tipos de archivo permitidos"],"Horizontal rule":["L\u00ednea horizontal"],"Image":["Imagen"],"Allowed extensions":["Extensiones permitidas"],"Link":["Enlace"],"Number":["N\u00famero"],"Minimum value":["Valor m\u00ednimo"],"Maximum value":["Valor m\u00e1ximo"],"Decimals":["Decimales"],"Password":["Contrase\u00f1a"],"Radio buttons":["Botones de opci\u00f3n"],"Range":["Rango"],"Select":["Desplegable"],"Textarea":["\u00c1rea de texto"],"Description italic":["Descripci\u00f3n en cursiva"],"Text field":["Campo de texto"],"Formatted as code":["Con formato de c\u00f3digo"],"Time":["Hora"],"Wysiwyg editor":["Editor WYSIWYG"],"Show media upload buttons":["Mostrar los botones para subir medios"],"Toolbar":["Barra de herramientas"],"Icon":["Icono"],"Choose an icon":["Elige un icono"],"Search for an icon\u2026":["Buscar un icono\u2026"],"Nothing found.":["No se ha encontrado nada."],"Add New Page":["A\u00f1adir p\u00e1gina nueva"],"Menu Type":["Tipo de men\u00fa"],"Custom menu":["Men\u00fa propio"],"Existing menu":["Men\u00fa existente"],"Menu title":["T\u00edtulo del men\u00fa"],"Close settings":["Cerrar ajustes"],"Move left":["Mover a la izquierda"],"Move up":["Mover hacia arriba"],"Move right":["Mover a la derecha"],"Move down":["Mover hacia abajo"],"Drag to reorder":["Arrastrar para reordenar"],"Add block":["A\u00f1adir bloque"],"Value":["Valor"],"Label":["Etiqueta"],"Delete this row":["Borrar esta fila"],"Add a row":["A\u00f1adir una fila"],"Help":["Ayuda"],"Shortcode":["Shortcode"],"Copied!":["\u00a1Copiado!"],"Copy":["Copiar"],"With get_option() the value is always available in PHP, also when this is off.":["Con get_option() el valor siempre est\u00e1 disponible en PHP, tambi\u00e9n cuando esto est\u00e1 desactivado."],"Field":["Campo"],"This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.":["Este tipo de campo no est\u00e1 disponible. Activa el plugin que lo proporciona. No se ha borrado nada: el campo se guarda tal como est\u00e1."],"Options":["Opciones"],"Regular":["Normal"],"Small":["Peque\u00f1o"],"Large":["Grande"],"Standard":["Est\u00e1ndar"],"0":["0"],"1":["1"],"2":["2"],".jpeg .jpg":[".jpeg .jpg"],".png":[".png"],".gif":[".gif"],".svg":[".svg"],"This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.":["Este sitio no permite subir archivos SVG. Un plugin como Safe SVG lo a\u00f1ade de forma segura."],".ico":[".ico"],"Full":["Completa"],"Basic":["B\u00e1sica"],".pdf":[".pdf"],".doc":[".doc"],".docx":[".docx"],".xls":[".xls"],".xlsx":[".xlsx"],".csv":[".csv"],".zip":[".zip"],".txt":[".txt"],"Add a field":["A\u00f1adir un campo"],"Search\u2026":["Buscar\u2026"],"Options fields":["Campos de opciones"],"Static content":["Contenido est\u00e1tico"],"Menu page title":["T\u00edtulo de la p\u00e1gina en el men\u00fa"],"Page title":["T\u00edtulo de la p\u00e1gina"],"Page title on top":["T\u00edtulo de la p\u00e1gina arriba"],"Show page with tab":["Mostrar la p\u00e1gina con pesta\u00f1a"],"Visit Page":["Ver p\u00e1gina"],"Delete Page":["Borrar p\u00e1gina"],"Saving failed.":["No se ha podido guardar."],"At this moment there is no proper support for small\/mobile screens.":["Por ahora las pantallas peque\u00f1as y m\u00f3viles no son totalmente compatibles."],"We hope to fix this in a future version.":["Esperamos solucionarlo en una pr\u00f3xima versi\u00f3n."],"The minimum required screen width is 1000px.":["El ancho m\u00ednimo de pantalla es de 1000px."],"Close dialog":["Cerrar el di\u00e1logo"],"%s (no longer available)":["%s (ya no est\u00e1 disponible)"],"%1$s (%2$d user)":["%1$s (%2$d usuario)","%1$s (%2$d usuarios)"],"Administrator":["Administrador"],"Who can edit":["Qui\u00e9n puede editar"],"Administrator + %d other":["Administrador + %d m\u00e1s","Administrador + %d m\u00e1s"],"Administrators always have access.":["Los administradores siempre tienen acceso."],"Users with this role cannot open the dashboard.":["Los usuarios con este rol no pueden abrir el escritorio."],"Done":["Hecho"]}}}
  • admin-options-pages/tags/1.1.0/languages/admin-options-pages-es_ES.l10n.php

    r3736451 r3750608  
    11<?php
    2 return ['domain'=>'admin-options-pages','plural-forms'=>'nplurals=2; plural=(n != 1);','language'=>'es','project-id-version'=>'Admin Options Pages 1.0.0','pot-creation-date'=>'2026-10-09T10:01:38+00:00','po-revision-date'=>'2026-10-09T10:01:38+00:00','x-generator'=>'WP-CLI 2.11.0','messages'=>['Admin Options Pages'=>'Admin Options Pages','https://adminoptionspages.com'=>'https://adminoptionspages.com','Create and edit your own options pages with ease.'=>'Crea y edita fácilmente tus propias páginas de opciones.','Johannes van Poelgeest'=>'Johannes van Poelgeest','https://poolghost.com'=>'https://poolghost.com','Options Pages'=>'Páginas de opciones','All Options Pages'=>'Todas las páginas de opciones','Add new'=>'Añadir nueva','edit Page'=>'Editar página','What\'s new in Admin Options Pages 1.0'=>'Novedades de Admin Options Pages 1.0','What\'s new'=>'Novedades','Settings'=>'Ajustes','Import / Export'=>'Importar / exportar','Saved.'=>'Guardado.','Updated.'=>'Actualizado.','Pages deleted.'=>'Páginas borradas.','Page deleted.'=>'Página borrada.','You attempted to edit a menu that does not exist. Perhaps it was deleted?'=>'Has intentado editar un menú que no existe. ¿Quizá se ha borrado?','Go to all options pages'=>'Ir a todas las páginas de opciones','Menu not found'=>'Menú no encontrado','Global Settings'=>'Ajustes generales','Sorry, you are not allowed to export.'=>'No tienes permiso para exportar.','Creating options pages has never been easier.'=>'Crear páginas de opciones nunca ha sido tan fácil.','Documentation'=>'Documentación','love'=>'te encanta','five stars'=>'cinco estrellas','If you really %1$s this plugin, consider giving some %2$s to help make %3$s more known.'=>'Si de verdad %1$s este plugin, considera darle %2$s para que %3$s sea más conocido.','Admin Options Pages 1.0 is here.'=>'Ya está aquí Admin Options Pages 1.0.','Import and export with your data, your own field types, nine new field types and your values on your website.'=>'Importación y exportación con tus datos, tus propios tipos de campo, nueve tipos de campo nuevos y tus valores en tu web.','See what\'s new'=>'Ver las novedades','Admin Options Pages 1.0'=>'Admin Options Pages 1.0','Import and export with your data, your own field types and your values on your website.'=>'Importación y exportación con tus datos, tus propios tipos de campo y tus valores en tu web.','Welcome to Admin Options Pages 1.0'=>'Te damos la bienvenida a Admin Options Pages 1.0','This is the biggest update of the plugin so far. Menus now move to another site with all their values, so the options pages you built and filled locally go live in one file. You can add field types of your own, there are nine new built-in ones, and the values of your fields can be shown on your website without code. Your menus, pages, fields and values are all still here.'=>'Es la mayor actualización del plugin hasta ahora. Los menús pasan ahora a otro sitio con todos sus valores, así que las páginas de opciones que has creado y rellenado en local se publican en un solo archivo. Puedes añadir tus propios tipos de campo, hay nueve nuevos integrados, y los valores de tus campos se pueden mostrar en tu web sin código. Tus menús, páginas, campos y valores siguen todos aquí.','Import and export, with your data'=>'Importar y exportar, con tus datos','Build and fill your options pages locally, then take them live in one file.'=>'Crea y rellena tus páginas de opciones en local y publícalas después en un solo archivo.','Export the menus you choose together with the values of their fields, and import them on your live site, a staging site or your next project. No more typing the same settings twice.'=>'Exporta los menús que elijas junto con los valores de sus campos, e impórtalos en tu sitio en producción, un sitio de pruebas o tu próximo proyecto. Se acabó escribir dos veces los mismos ajustes.','Before anything changes you see what would happen, and you choose per menu, page, field and value. Nothing is replaced unless you choose it, and an import is all or nothing. Exports made with 0.9 can be imported too.'=>'Antes de que cambie nada, ves lo que pasaría, y eliges por menú, página, campo y valor. No se reemplaza nada a menos que lo elijas, y una importación se hace entera o no se hace. También se pueden importar las exportaciones de la 0.9.','The preview of an import, with a checkbox for every menu, page, field and value'=>'La vista previa de una importación, con una casilla para cada menú, página, campo y valor','An options page with a logo, a brand color and contact details'=>'Una página de opciones con un logotipo, un color de marca y datos de contacto','Nine new field types'=>'Nueve tipos de campo nuevos','Email, Link, Password, Date, Time, Date and time, Range, Button group and File.'=>'Correo electrónico, Enlace, Contraseña, Fecha, Hora, Fecha y hora, Rango, Grupo de botones y Archivo.','That makes 21 field types. Each one checks what is entered, and an image or file field only accepts the file types you choose, also when something is uploaded.'=>'Eso hace 21 tipos de campo. Cada uno comprueba lo que se introduce, y un campo de imagen o de archivo solo acepta los tipos de archivo que elijas, también al subir algo.','Your own field types'=>'Tus propios tipos de campo','Need a field that is not there? Add it yourself.'=>'¿Te falta un campo? Añádelo tú mismo.','Register a field type from your theme or plugin with one class: what the editor asks for, how the value is checked and stored, and how it shows on the options page and on your website. It appears in the field picker next to the built-in types, which use exactly the same API.'=>'Registra un tipo de campo desde tu tema o plugin con una sola clase: lo que pide el editor, cómo se comprueba y se guarda el valor, y cómo se muestra en la página de opciones y en tu web. Aparece en el selector de campos junto a los tipos integrados, que usan exactamente la misma API.','The Field Types API is stable from 1.0 on and follows semantic versioning, so your field types keep working with the next versions.'=>'La Field Types API es estable a partir de la 1.0 y sigue el versionado semántico, así que tus tipos de campo seguirán funcionando con las próximas versiones.','A paragraph connected to a field in the Attributes panel'=>'Un párrafo conectado a un campo en el panel Atributos','Your values on your website'=>'Tus valores en tu web','With a shortcode or a block, no code needed.'=>'Con un shortcode o un bloque, sin código.','Put a field in a post with [aop_option name="…"], or connect a paragraph, heading, button or image to it in the Attributes panel of the block editor. Change the value once, and it changes everywhere.'=>'Pon un campo en una entrada con [aop_option name="…"], o conéctale un párrafo, un encabezado, un botón o una imagen en el panel Atributos del editor de bloques. Cambia el valor una vez, y cambia en todas partes.','Switch on "Use in shortcode and blocks" for the fields you want to show. Fields made before 1.0 have it off, so nothing appears on your website by itself.'=>'Activa «Usar en shortcode y bloques» para los campos que quieras mostrar. En los campos creados antes de la 1.0 está desactivado, así que no aparece nada por sí solo en tu web.','Rewritten in React'=>'Reescrito en React','Under the hood the editor is rewritten in React, the WordPress way: with the components and the data store the block editor is made of.'=>'Por dentro, el editor está reescrito en React, al estilo de WordPress: con los componentes y el almacén de datos de los que está hecho el editor de bloques.','Change any saved value'=>'Cambiar cualquier valor guardado','Developers can change the value of any field before it is stored with the new filters aop_sanitized_option and aop_sanitized_option_{name}.'=>'Los desarrolladores pueden cambiar el valor de cualquier campo antes de que se guarde con los nuevos filtros aop_sanitized_option y aop_sanitized_option_{name}.','A safe upgrade'=>'Una actualización segura','Your pages are stored in a new format now. A copy in the old format is kept for 90 days.'=>'Tus páginas se guardan ahora en un formato nuevo. Se conserva una copia en el formato antiguo durante 90 días.','Requirements'=>'Requisitos','Admin Options Pages 1.0 needs WordPress 6.9 or later and PHP 8.1 or later.'=>'Admin Options Pages 1.0 necesita WordPress 6.9 o superior y PHP 8.1 o superior.','Go to your options pages'=>'Ir a tus páginas de opciones','Read the documentation'=>'Leer la documentación','media modal menuMenu'=>'Menú','Title'=>'Título','Position'=>'Posición','Pages'=>'Páginas','Dismiss this notice.'=>'Descartar este aviso.','Publish'=>'Publicar','Are you sure?'=>'¿Estás seguro?','Cancel'=>'Cancelar','Delete'=>'Borrar','User roleAdministrator'=>'Administrador','User roleEditor'=>'Editor','Save'=>'Guardar','New Pages'=>'Páginas nuevas','Update'=>'Actualizar','Edit Pages'=>'Editar páginas','List View'=>'Vista de lista','Excerpt View'=>'Vista de extracto','No items found.'=>'No se han encontrado elementos.','Show more details'=>'Mostrar más detalles','%s item'=>'%s elemento' . "\0" . '%s elementos','First page'=>'Primera página','Previous page'=>'Página anterior','Current Page'=>'Página actual','paging%1$s of %2$s'=>'%1$s de %2$s','Next page'=>'Página siguiente','Last page'=>'Última página','Select All'=>'Seleccionar todo','Edit'=>'Editar','The link you followed has expired.'=>'El enlace que has seguido ha caducado.','The field type "%1$s" of the option "%2$s" is not available, so the field is not shown. Activate the plugin that provides it. Nothing was deleted.'=>'El tipo de campo «%1$s» de la opción «%2$s» no está disponible, así que el campo no se muestra. Activa el plugin que lo proporciona. No se ha borrado nada.','%s is not a field type.'=>'%s no es un tipo de campo.','The field type "%1$s" is already registered; %2$s was ignored.'=>'El tipo de campo «%1$s» ya está registrado; se ha ignorado %2$s.','%1$s is not the class of the field type "%2$s".'=>'%1$s no es la clase del tipo de campo «%2$s».','Field label'=>'Etiqueta del campo','Field name'=>'Nombre del campo','Autoload'=>'Carga automática','Use in shortcode and blocks'=>'Usar en shortcode y bloques','Additional CSS Class(es)'=>'Clase(s) CSS adicional(es)','Description'=>'Descripción','Default value'=>'Valor por defecto','Button group'=>'Grupo de botones','Field values'=>'Valores del campo','Checkbox'=>'Casilla de verificación','Text when checked'=>'Texto si está marcada','Text when not checked'=>'Texto si no está marcada','Text after input field'=>'Texto después del campo','Color picker'=>'Selector de color','Default color (HEX)'=>'Color por defecto (HEX)','Date'=>'Fecha','Field style'=>'Estilo del campo','Date and time'=>'Fecha y hora','Email'=>'Correo electrónico','Placeholder'=>'Texto de ejemplo','File'=>'Archivo','Allowed file types'=>'Tipos de archivo permitidos','Upload'=>'Subir','Horizontal rule'=>'Línea horizontal','Image'=>'Imagen','Allowed extensions'=>'Extensiones permitidas','Link'=>'Enlace','Number'=>'Número','Minimum value'=>'Valor mínimo','Maximum value'=>'Valor máximo','Decimals'=>'Decimales','Password'=>'Contraseña','Radio buttons'=>'Botones de opción','Range'=>'Rango','Select'=>'Desplegable','Textarea'=>'Área de texto','Description italic'=>'Descripción en cursiva','Text field'=>'Campo de texto','Formatted as code'=>'Con formato de código','Time'=>'Hora','Wysiwyg editor'=>'Editor WYSIWYG','Show media upload buttons'=>'Mostrar los botones para subir medios','Toolbar'=>'Barra de herramientas','The value on this settings field is not allowed.'=>'El valor de este campo de ajustes no está permitido.','Some of the value on this settings field is not allowed.'=>'Parte del valor de este campo de ajustes no está permitida.','This is not a correct formatted Hex color.'=>'No es un color hexadecimal con un formato correcto.','the shortcode has no name="..."'=>'el shortcode no tiene name="..."','"Use in shortcode and blocks" is off for this field, or its type cannot be shown'=>'«Usar en shortcode y bloques» está desactivado para este campo, o su tipo no se puede mostrar','this is not an option of Admin Options Pages'=>'no es una opción de Admin Options Pages','The database tables of this site cannot roll back. If something goes wrong halfway, part of the import may remain.'=>'Las tablas de la base de datos de este sitio no pueden deshacer cambios. Si algo falla a mitad, puede quedar parte de la importación.','This menu is in the file more than once.'=>'Este menú está más de una vez en el archivo.','The menu on this site was saved by a newer version of the plugin. Update the plugin first.'=>'El menú de este sitio se guardó con una versión más reciente del plugin. Actualiza primero el plugin.','Another menu on this site already has the id of this menu.'=>'Otro menú de este sitio ya tiene el ID de este menú.','The option name "%s" is used by more than one menu in the file.'=>'El nombre de opción «%s» lo usa más de un menú en el archivo.','The field type "%s" is not available on this site. Activate the plugin that provides it.'=>'El tipo de campo «%s» no está disponible en este sitio. Activa el plugin que lo proporciona.','This is not a valid option name.'=>'No es un nombre de opción válido.','This option name is used by WordPress or another plugin.'=>'Este nombre de opción lo usa WordPress u otro plugin.','Something in this menu is not allowed.'=>'Algo de este menú no está permitido.','The name of this menu does not match what is in it.'=>'El nombre de este menú no coincide con su contenido.','Checked'=>'Marcada','Not checked'=>'No marcada','Media ID %s'=>'ID de medio %s','This import has expired. Choose the file again.'=>'Esta importación ha caducado. Vuelve a elegir el archivo.','Without its first page the menu "%s" would get the name of a menu that is on this site already. Import the first page too, or choose another page as the first.'=>'Sin su primera página, el menú «%s» tendría el nombre de un menú que ya está en este sitio. Importa también la primera página, o elige otra página como primera.','A choice was made for a menu that is not in the file.'=>'Se ha elegido algo para un menú que no está en el archivo.','A choice was made for a page or field that is not in the file.'=>'Se ha elegido algo para una página o un campo que no está en el archivo.','A menu needs at least one page.'=>'Un menú necesita al menos una página.','That cannot be done with the menu "%s".'=>'Eso no se puede hacer con el menú «%s».','That cannot be done with the option "%s".'=>'Eso no se puede hacer con la opción «%s».','A menu in the file could not be saved. Nothing was imported.'=>'No se ha podido guardar un menú del archivo. No se ha importado nada.','The value of "%s" was changed by its field type.'=>'Su tipo de campo ha cambiado el valor de «%s».','The file is too large to import.'=>'El archivo es demasiado grande para importarlo.','This is not a JSON file, or it is not valid UTF-8.'=>'No es un archivo JSON, o no es UTF-8 válido.','This file does not look like an export of Admin Options Pages.'=>'Este archivo no parece una exportación de Admin Options Pages.','This file has export format %1$d. This version of the plugin reads format %2$d. Update the plugin on this site and try again.'=>'Este archivo tiene el formato de exportación %1$d. Esta versión del plugin lee el formato %2$d. Actualiza el plugin en este sitio y vuelve a intentarlo.','%1$s must be of type %2$s.'=>'%1$s debe ser del tipo %2$s.','%s has a value that is not supported.'=>'%s tiene un valor que no es compatible.','%s has a value that is not allowed.'=>'%s tiene un valor que no está permitido.','%s does not have what it needs.'=>'A %s le falta lo que necesita.','%1$s is longer than %2$d characters.'=>'%1$s tiene más de %2$d caracteres.','%s is empty.'=>'%s está vacío.','%1$s has more than %2$d items.'=>'%1$s tiene más de %2$d elementos.','%s has no items.'=>'%s no tiene elementos.','%1$s has more than %2$d entries.'=>'%1$s tiene más de %2$d entradas.','%1$s misses "%2$s".'=>'A %1$s le falta «%2$s».','The file'=>'El archivo','Choose a file to import.'=>'Elige un archivo para importar.','The request is not complete.'=>'La petición no está completa.','The page is not valid.'=>'La página no es válida.','This page does not exist.'=>'Esta página no existe.','There are no pages to save.'=>'No hay páginas que guardar.','Every page needs a menu title.'=>'Cada página necesita un título de menú.','"%s" is not a valid option name.'=>'«%s» no es un nombre de opción válido.','Every field with an option needs an option name.'=>'Cada campo con una opción necesita un nombre de opción.','The option name "%s" is used more than once.'=>'El nombre de opción «%s» se usa más de una vez.','The option name "%s" is already in use.'=>'El nombre de opción «%s» ya está en uso.','This menu is already used by another options page.'=>'Otra página de opciones ya usa este menú.','The menu position is not valid.'=>'La posición del menú no es válida.','The menu title is not valid.'=>'El título del menú no es válido.','The menu icon is not valid.'=>'El icono del menú no es válido.','Select or upload a file'=>'Selecciona o sube un archivo','Use this file'=>'Usar este archivo','Allowed files'=>'Archivos permitidos','Select or upload image'=>'Selecciona o sube una imagen','Use this image'=>'Usar esta imagen','Icon'=>'Icono','Choose an icon'=>'Elige un icono','Search for an icon…'=>'Buscar un icono…','Nothing found.'=>'No se ha encontrado nada.','Add New Page'=>'Añadir página nueva','Menu Type'=>'Tipo de menú','Custom menu'=>'Menú propio','Existing menu'=>'Menú existente','Menu title'=>'Título del menú','Close settings'=>'Cerrar ajustes','Move left'=>'Mover a la izquierda','Move up'=>'Mover hacia arriba','Move right'=>'Mover a la derecha','Move down'=>'Mover hacia abajo','Drag to reorder'=>'Arrastrar para reordenar','Add block'=>'Añadir bloque','Value'=>'Valor','Label'=>'Etiqueta','Delete this row'=>'Borrar esta fila','Add a row'=>'Añadir una fila','Help'=>'Ayuda','Shortcode'=>'Shortcode','Copied!'=>'¡Copiado!','Copy'=>'Copiar','With get_option() the value is always available in PHP, also when this is off.'=>'Con get_option() el valor siempre está disponible en PHP, también cuando esto está desactivado.','Field'=>'Campo','This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.'=>'Este tipo de campo no está disponible. Activa el plugin que lo proporciona. No se ha borrado nada: el campo se guarda tal como está.','Options'=>'Opciones','Regular'=>'Normal','Small'=>'Pequeño','Large'=>'Grande','Standard'=>'Estándar',0=>'0',1=>'1',2=>'2','.jpeg .jpg'=>'.jpeg .jpg','.png'=>'.png','.gif'=>'.gif','.svg'=>'.svg','This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.'=>'Este sitio no permite subir archivos SVG. Un plugin como Safe SVG lo añade de forma segura.','.ico'=>'.ico','Full'=>'Completa','Basic'=>'Básica','.pdf'=>'.pdf','.doc'=>'.doc','.docx'=>'.docx','.xls'=>'.xls','.xlsx'=>'.xlsx','.csv'=>'.csv','.zip'=>'.zip','.txt'=>'.txt','Add a field'=>'Añadir un campo','Search…'=>'Buscar…','Options fields'=>'Campos de opciones','Static content'=>'Contenido estático','Menu page title'=>'Título de la página en el menú','Page title'=>'Título de la página','Page title on top'=>'Título de la página arriba','Show page with tab'=>'Mostrar la página con pestaña','User access level'=>'Nivel de acceso','Visit Page'=>'Ver página','Delete Page'=>'Borrar página','Saving failed.'=>'No se ha podido guardar.','At this moment there is no proper support for small/mobile screens.'=>'Por ahora las pantallas pequeñas y móviles no son totalmente compatibles.','We hope to fix this in a future version.'=>'Esperamos solucionarlo en una próxima versión.','The minimum required screen width is 1000px.'=>'El ancho mínimo de pantalla es de 1000px.','Close dialog'=>'Cerrar el diálogo','The menus could not be loaded.'=>'No se han podido cargar los menús.','Export'=>'Exportar','There\'s nothing to export.'=>'No hay nada que exportar.','Uncheck all'=>'Desmarcar todo','Check all'=>'Marcar todo','Export file'=>'Exportar archivo','New'=>'Nuevo','Already on this site, replaced when checked'=>'Ya está en este sitio, se reemplaza si se marca','Cannot be imported'=>'No se puede importar','Same value as on this site'=>'El mismo valor que en este sitio','Different value on this site, replaced when checked'=>'Valor distinto en este sitio, se reemplaza si se marca','Belongs to something else'=>'Pertenece a otra cosa','Menu'=>'Menú','The menu on this site is replaced by the one in the file, also when its fields are of another type. Options of fields that are not in the file any more are deleted.'=>'El menú de este sitio se reemplaza por el del archivo, aunque sus campos sean de otro tipo. Se borran las opciones de los campos que ya no están en el archivo.','(no title)'=>'(sin título)','Main page'=>'Página principal','Page'=>'Página','No value in the file'=>'Sin valor en el archivo','Field name:'=>'Nombre del campo:','Field label:'=>'Etiqueta del campo:','The field moves here from the menu "%s".'=>'El campo se mueve aquí desde el menú «%s».','Empty'=>'Vacío','Value in the file: %s'=>'Valor en el archivo: %s','%1$s and %2$s'=>'%1$s y %2$s','%s has been imported'=>'Se ha importado %s','%s have been imported'=>'Se han importado %s','%d menu has been imported'=>'Se ha importado %d menú' . "\0" . 'Se han importado %d menús','%s has been replaced'=>'Se ha reemplazado %s','%s have been replaced'=>'Se han reemplazado %s','%d menu has been replaced'=>'Se ha reemplazado %d menú' . "\0" . 'Se han reemplazado %d menús','The import is done.'=>'La importación ha terminado.',', with %d value'=>', con %d valor' . "\0" . ', con %d valores','Something went wrong. Nothing was imported.'=>'Algo ha fallado. No se ha importado nada.','Import selection'=>'Importar la selección','Choose another file'=>'Elegir otro archivo','Import'=>'Importar','Drop the JSON file here'=>'Suelta aquí el archivo JSON','Drop a JSON file here'=>'Suelta aquí un archivo JSON','or'=>'o','Select a file'=>'Seleccionar un archivo','Maximum file size: %s.'=>'Tamaño máximo de archivo: %s.','You see what would happen before anything is imported.'=>'Ves lo que pasaría antes de que se importe nada.','File: %s'=>'Archivo: %s','Import another file'=>'Importar otro archivo','Hide "Edit page" button'=>'Ocultar el botón «Editar página»','The setting could not be saved.'=>'No se ha podido guardar el ajuste.','Setting saved.'=>'Ajuste guardado.']];
     2return ['domain'=>'admin-options-pages','plural-forms'=>'nplurals=2; plural=(n != 1);','language'=>'es','project-id-version'=>'Admin Options Pages 1.0.0','pot-creation-date'=>'2026-10-09T10:01:38+00:00','po-revision-date'=>'2026-10-09T10:01:38+00:00','x-generator'=>'WP-CLI 2.11.0','messages'=>['Admin Options Pages'=>'Admin Options Pages','https://adminoptionspages.com'=>'https://adminoptionspages.com','Create and edit your own options pages with ease.'=>'Crea y edita fácilmente tus propias páginas de opciones.','Johannes van Poelgeest'=>'Johannes van Poelgeest','https://poolghost.com'=>'https://poolghost.com','Options Pages'=>'Páginas de opciones','All Options Pages'=>'Todas las páginas de opciones','Add new'=>'Añadir nueva','edit Page'=>'Editar página','What\'s new in Admin Options Pages 1.0'=>'Novedades de Admin Options Pages 1.0','What\'s new'=>'Novedades','Settings'=>'Ajustes','Import / Export'=>'Importar / exportar','Saved.'=>'Guardado.','Updated.'=>'Actualizado.','Pages deleted.'=>'Páginas borradas.','Page deleted.'=>'Página borrada.','You attempted to edit a menu that does not exist. Perhaps it was deleted?'=>'Has intentado editar un menú que no existe. ¿Quizá se ha borrado?','Go to all options pages'=>'Ir a todas las páginas de opciones','Menu not found'=>'Menú no encontrado','Global Settings'=>'Ajustes generales','Sorry, you are not allowed to export.'=>'No tienes permiso para exportar.','Creating options pages has never been easier.'=>'Crear páginas de opciones nunca ha sido tan fácil.','Documentation'=>'Documentación','love'=>'te encanta','five stars'=>'cinco estrellas','If you really %1$s this plugin, consider giving some %2$s to help make %3$s more known.'=>'Si de verdad %1$s este plugin, considera darle %2$s para que %3$s sea más conocido.','See what\'s new'=>'Ver las novedades','Admin Options Pages 1.0'=>'Admin Options Pages 1.0','Import and export with your data, your own field types and your values on your website.'=>'Importación y exportación con tus datos, tus propios tipos de campo y tus valores en tu web.','Welcome to Admin Options Pages 1.0'=>'Te damos la bienvenida a Admin Options Pages 1.0','This is the biggest update of the plugin so far. Menus now move to another site with all their values, so the options pages you built and filled locally go live in one file. You can add field types of your own, there are nine new built-in ones, and the values of your fields can be shown on your website without code. Your menus, pages, fields and values are all still here.'=>'Es la mayor actualización del plugin hasta ahora. Los menús pasan ahora a otro sitio con todos sus valores, así que las páginas de opciones que has creado y rellenado en local se publican en un solo archivo. Puedes añadir tus propios tipos de campo, hay nueve nuevos integrados, y los valores de tus campos se pueden mostrar en tu web sin código. Tus menús, páginas, campos y valores siguen todos aquí.','Import and export, with your data'=>'Importar y exportar, con tus datos','Build and fill your options pages locally, then take them live in one file.'=>'Crea y rellena tus páginas de opciones en local y publícalas después en un solo archivo.','Export the menus you choose together with the values of their fields, and import them on your live site, a staging site or your next project. No more typing the same settings twice.'=>'Exporta los menús que elijas junto con los valores de sus campos, e impórtalos en tu sitio en producción, un sitio de pruebas o tu próximo proyecto. Se acabó escribir dos veces los mismos ajustes.','Before anything changes you see what would happen, and you choose per menu, page, field and value. Nothing is replaced unless you choose it, and an import is all or nothing. Exports made with 0.9 can be imported too.'=>'Antes de que cambie nada, ves lo que pasaría, y eliges por menú, página, campo y valor. No se reemplaza nada a menos que lo elijas, y una importación se hace entera o no se hace. También se pueden importar las exportaciones de la 0.9.','The preview of an import, with a checkbox for every menu, page, field and value'=>'La vista previa de una importación, con una casilla para cada menú, página, campo y valor','An options page with a logo, a brand color and contact details'=>'Una página de opciones con un logotipo, un color de marca y datos de contacto','Nine new field types'=>'Nueve tipos de campo nuevos','Email, Link, Password, Date, Time, Date and time, Range, Button group and File.'=>'Correo electrónico, Enlace, Contraseña, Fecha, Hora, Fecha y hora, Rango, Grupo de botones y Archivo.','That makes 21 field types. Each one checks what is entered, and an image or file field only accepts the file types you choose, also when something is uploaded.'=>'Eso hace 21 tipos de campo. Cada uno comprueba lo que se introduce, y un campo de imagen o de archivo solo acepta los tipos de archivo que elijas, también al subir algo.','Your own field types'=>'Tus propios tipos de campo','Need a field that is not there? Add it yourself.'=>'¿Te falta un campo? Añádelo tú mismo.','Register a field type from your theme or plugin with one class: what the editor asks for, how the value is checked and stored, and how it shows on the options page and on your website. It appears in the field picker next to the built-in types, which use exactly the same API.'=>'Registra un tipo de campo desde tu tema o plugin con una sola clase: lo que pide el editor, cómo se comprueba y se guarda el valor, y cómo se muestra en la página de opciones y en tu web. Aparece en el selector de campos junto a los tipos integrados, que usan exactamente la misma API.','The Field Types API is stable from 1.0 on and follows semantic versioning, so your field types keep working with the next versions.'=>'La Field Types API es estable a partir de la 1.0 y sigue el versionado semántico, así que tus tipos de campo seguirán funcionando con las próximas versiones.','A paragraph connected to a field in the Attributes panel'=>'Un párrafo conectado a un campo en el panel Atributos','Your values on your website'=>'Tus valores en tu web','With a shortcode or a block, no code needed.'=>'Con un shortcode o un bloque, sin código.','Put a field in a post with [aop_option name="…"], or connect a paragraph, heading, button or image to it in the Attributes panel of the block editor. Change the value once, and it changes everywhere.'=>'Pon un campo en una entrada con [aop_option name="…"], o conéctale un párrafo, un encabezado, un botón o una imagen en el panel Atributos del editor de bloques. Cambia el valor una vez, y cambia en todas partes.','Switch on "Use in shortcode and blocks" for the fields you want to show. Fields made before 1.0 have it off, so nothing appears on your website by itself.'=>'Activa «Usar en shortcode y bloques» para los campos que quieras mostrar. En los campos creados antes de la 1.0 está desactivado, así que no aparece nada por sí solo en tu web.','Rewritten in React'=>'Reescrito en React','Under the hood the editor is rewritten in React, the WordPress way: with the components and the data store the block editor is made of.'=>'Por dentro, el editor está reescrito en React, al estilo de WordPress: con los componentes y el almacén de datos de los que está hecho el editor de bloques.','Change any saved value'=>'Cambiar cualquier valor guardado','Developers can change the value of any field before it is stored with the new filters aop_sanitized_option and aop_sanitized_option_{name}.'=>'Los desarrolladores pueden cambiar el valor de cualquier campo antes de que se guarde con los nuevos filtros aop_sanitized_option y aop_sanitized_option_{name}.','A safe upgrade'=>'Una actualización segura','Your pages are stored in a new format now. A copy in the old format is kept for 90 days.'=>'Tus páginas se guardan ahora en un formato nuevo. Se conserva una copia en el formato antiguo durante 90 días.','Requirements'=>'Requisitos','Admin Options Pages 1.0 needs WordPress 6.9 or later and PHP 8.1 or later.'=>'Admin Options Pages 1.0 necesita WordPress 6.9 o superior y PHP 8.1 o superior.','Go to your options pages'=>'Ir a tus páginas de opciones','Read the documentation'=>'Leer la documentación','media modal menuMenu'=>'Menú','Title'=>'Título','Position'=>'Posición','Pages'=>'Páginas','Dismiss this notice.'=>'Descartar este aviso.','Publish'=>'Publicar','Are you sure?'=>'¿Estás seguro?','Cancel'=>'Cancelar','Delete'=>'Borrar','Save'=>'Guardar','New Pages'=>'Páginas nuevas','Update'=>'Actualizar','Edit Pages'=>'Editar páginas','List View'=>'Vista de lista','Excerpt View'=>'Vista de extracto','No items found.'=>'No se han encontrado elementos.','Show more details'=>'Mostrar más detalles','%s item'=>'%s elemento' . "\0" . '%s elementos','First page'=>'Primera página','Previous page'=>'Página anterior','Current Page'=>'Página actual','paging%1$s of %2$s'=>'%1$s de %2$s','Next page'=>'Página siguiente','Last page'=>'Última página','Select All'=>'Seleccionar todo','Edit'=>'Editar','The link you followed has expired.'=>'El enlace que has seguido ha caducado.','The field type "%1$s" of the option "%2$s" is not available, so the field is not shown. Activate the plugin that provides it. Nothing was deleted.'=>'El tipo de campo «%1$s» de la opción «%2$s» no está disponible, así que el campo no se muestra. Activa el plugin que lo proporciona. No se ha borrado nada.','%s is not a field type.'=>'%s no es un tipo de campo.','The field type "%1$s" is already registered; %2$s was ignored.'=>'El tipo de campo «%1$s» ya está registrado; se ha ignorado %2$s.','%1$s is not the class of the field type "%2$s".'=>'%1$s no es la clase del tipo de campo «%2$s».','Field label'=>'Etiqueta del campo','Field name'=>'Nombre del campo','Autoload'=>'Carga automática','Use in shortcode and blocks'=>'Usar en shortcode y bloques','Additional CSS Class(es)'=>'Clase(s) CSS adicional(es)','Description'=>'Descripción','Default value'=>'Valor por defecto','Button group'=>'Grupo de botones','Field values'=>'Valores del campo','Checkbox'=>'Casilla de verificación','Text when checked'=>'Texto si está marcada','Text when not checked'=>'Texto si no está marcada','Text after input field'=>'Texto después del campo','Color picker'=>'Selector de color','Default color (HEX)'=>'Color por defecto (HEX)','Date'=>'Fecha','Field style'=>'Estilo del campo','Date and time'=>'Fecha y hora','Email'=>'Correo electrónico','Placeholder'=>'Texto de ejemplo','File'=>'Archivo','Allowed file types'=>'Tipos de archivo permitidos','Upload'=>'Subir','Horizontal rule'=>'Línea horizontal','Image'=>'Imagen','Allowed extensions'=>'Extensiones permitidas','Link'=>'Enlace','Number'=>'Número','Minimum value'=>'Valor mínimo','Maximum value'=>'Valor máximo','Decimals'=>'Decimales','Password'=>'Contraseña','Radio buttons'=>'Botones de opción','Range'=>'Rango','Select'=>'Desplegable','Textarea'=>'Área de texto','Description italic'=>'Descripción en cursiva','Text field'=>'Campo de texto','Formatted as code'=>'Con formato de código','Time'=>'Hora','Wysiwyg editor'=>'Editor WYSIWYG','Show media upload buttons'=>'Mostrar los botones para subir medios','Toolbar'=>'Barra de herramientas','The value on this settings field is not allowed.'=>'El valor de este campo de ajustes no está permitido.','Some of the value on this settings field is not allowed.'=>'Parte del valor de este campo de ajustes no está permitida.','This is not a correct formatted Hex color.'=>'No es un color hexadecimal con un formato correcto.','the shortcode has no name="..."'=>'el shortcode no tiene name="..."','"Use in shortcode and blocks" is off for this field, or its type cannot be shown'=>'«Usar en shortcode y bloques» está desactivado para este campo, o su tipo no se puede mostrar','this is not an option of Admin Options Pages'=>'no es una opción de Admin Options Pages','The database tables of this site cannot roll back. If something goes wrong halfway, part of the import may remain.'=>'Las tablas de la base de datos de este sitio no pueden deshacer cambios. Si algo falla a mitad, puede quedar parte de la importación.','This menu is in the file more than once.'=>'Este menú está más de una vez en el archivo.','The menu on this site was saved by a newer version of the plugin. Update the plugin first.'=>'El menú de este sitio se guardó con una versión más reciente del plugin. Actualiza primero el plugin.','Another menu on this site already has the id of this menu.'=>'Otro menú de este sitio ya tiene el ID de este menú.','The option name "%s" is used by more than one menu in the file.'=>'El nombre de opción «%s» lo usa más de un menú en el archivo.','The field type "%s" is not available on this site. Activate the plugin that provides it.'=>'El tipo de campo «%s» no está disponible en este sitio. Activa el plugin que lo proporciona.','This is not a valid option name.'=>'No es un nombre de opción válido.','This option name is used by WordPress or another plugin.'=>'Este nombre de opción lo usa WordPress u otro plugin.','Something in this menu is not allowed.'=>'Algo de este menú no está permitido.','The name of this menu does not match what is in it.'=>'El nombre de este menú no coincide con su contenido.','Checked'=>'Marcada','Not checked'=>'No marcada','Media ID %s'=>'ID de medio %s','This import has expired. Choose the file again.'=>'Esta importación ha caducado. Vuelve a elegir el archivo.','Without its first page the menu "%s" would get the name of a menu that is on this site already. Import the first page too, or choose another page as the first.'=>'Sin su primera página, el menú «%s» tendría el nombre de un menú que ya está en este sitio. Importa también la primera página, o elige otra página como primera.','A choice was made for a menu that is not in the file.'=>'Se ha elegido algo para un menú que no está en el archivo.','A choice was made for a page or field that is not in the file.'=>'Se ha elegido algo para una página o un campo que no está en el archivo.','A menu needs at least one page.'=>'Un menú necesita al menos una página.','That cannot be done with the menu "%s".'=>'Eso no se puede hacer con el menú «%s».','That cannot be done with the option "%s".'=>'Eso no se puede hacer con la opción «%s».','A menu in the file could not be saved. Nothing was imported.'=>'No se ha podido guardar un menú del archivo. No se ha importado nada.','The value of "%s" was changed by its field type.'=>'Su tipo de campo ha cambiado el valor de «%s».','The file is too large to import.'=>'El archivo es demasiado grande para importarlo.','This is not a JSON file, or it is not valid UTF-8.'=>'No es un archivo JSON, o no es UTF-8 válido.','This file does not look like an export of Admin Options Pages.'=>'Este archivo no parece una exportación de Admin Options Pages.','This file has export format %1$d. This version of the plugin reads format %2$d. Update the plugin on this site and try again.'=>'Este archivo tiene el formato de exportación %1$d. Esta versión del plugin lee el formato %2$d. Actualiza el plugin en este sitio y vuelve a intentarlo.','%1$s must be of type %2$s.'=>'%1$s debe ser del tipo %2$s.','%s has a value that is not supported.'=>'%s tiene un valor que no es compatible.','%s has a value that is not allowed.'=>'%s tiene un valor que no está permitido.','%s does not have what it needs.'=>'A %s le falta lo que necesita.','%1$s is longer than %2$d characters.'=>'%1$s tiene más de %2$d caracteres.','%s is empty.'=>'%s está vacío.','%1$s has more than %2$d items.'=>'%1$s tiene más de %2$d elementos.','%s has no items.'=>'%s no tiene elementos.','%1$s has more than %2$d entries.'=>'%1$s tiene más de %2$d entradas.','%1$s misses "%2$s".'=>'A %1$s le falta «%2$s».','The file'=>'El archivo','Choose a file to import.'=>'Elige un archivo para importar.','The request is not complete.'=>'La petición no está completa.','The page is not valid.'=>'La página no es válida.','This page does not exist.'=>'Esta página no existe.','There are no pages to save.'=>'No hay páginas que guardar.','Every page needs a menu title.'=>'Cada página necesita un título de menú.','"%s" is not a valid option name.'=>'«%s» no es un nombre de opción válido.','Every field with an option needs an option name.'=>'Cada campo con una opción necesita un nombre de opción.','The option name "%s" is used more than once.'=>'El nombre de opción «%s» se usa más de una vez.','The option name "%s" is already in use.'=>'El nombre de opción «%s» ya está en uso.','This menu is already used by another options page.'=>'Otra página de opciones ya usa este menú.','The menu position is not valid.'=>'La posición del menú no es válida.','The menu title is not valid.'=>'El título del menú no es válido.','The menu icon is not valid.'=>'El icono del menú no es válido.','Select or upload a file'=>'Selecciona o sube un archivo','Use this file'=>'Usar este archivo','Allowed files'=>'Archivos permitidos','Select or upload image'=>'Selecciona o sube una imagen','Use this image'=>'Usar esta imagen','Icon'=>'Icono','Choose an icon'=>'Elige un icono','Search for an icon…'=>'Buscar un icono…','Nothing found.'=>'No se ha encontrado nada.','Add New Page'=>'Añadir página nueva','Menu Type'=>'Tipo de menú','Custom menu'=>'Menú propio','Existing menu'=>'Menú existente','Menu title'=>'Título del menú','Close settings'=>'Cerrar ajustes','Move left'=>'Mover a la izquierda','Move up'=>'Mover hacia arriba','Move right'=>'Mover a la derecha','Move down'=>'Mover hacia abajo','Drag to reorder'=>'Arrastrar para reordenar','Add block'=>'Añadir bloque','Value'=>'Valor','Label'=>'Etiqueta','Delete this row'=>'Borrar esta fila','Add a row'=>'Añadir una fila','Help'=>'Ayuda','Shortcode'=>'Shortcode','Copied!'=>'¡Copiado!','Copy'=>'Copiar','With get_option() the value is always available in PHP, also when this is off.'=>'Con get_option() el valor siempre está disponible en PHP, también cuando esto está desactivado.','Field'=>'Campo','This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.'=>'Este tipo de campo no está disponible. Activa el plugin que lo proporciona. No se ha borrado nada: el campo se guarda tal como está.','Options'=>'Opciones','Regular'=>'Normal','Small'=>'Pequeño','Large'=>'Grande','Standard'=>'Estándar',0=>'0',1=>'1',2=>'2','.jpeg .jpg'=>'.jpeg .jpg','.png'=>'.png','.gif'=>'.gif','.svg'=>'.svg','This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.'=>'Este sitio no permite subir archivos SVG. Un plugin como Safe SVG lo añade de forma segura.','.ico'=>'.ico','Full'=>'Completa','Basic'=>'Básica','.pdf'=>'.pdf','.doc'=>'.doc','.docx'=>'.docx','.xls'=>'.xls','.xlsx'=>'.xlsx','.csv'=>'.csv','.zip'=>'.zip','.txt'=>'.txt','Add a field'=>'Añadir un campo','Search…'=>'Buscar…','Options fields'=>'Campos de opciones','Static content'=>'Contenido estático','Menu page title'=>'Título de la página en el menú','Page title'=>'Título de la página','Page title on top'=>'Título de la página arriba','Show page with tab'=>'Mostrar la página con pestaña','Visit Page'=>'Ver página','Delete Page'=>'Borrar página','Saving failed.'=>'No se ha podido guardar.','At this moment there is no proper support for small/mobile screens.'=>'Por ahora las pantallas pequeñas y móviles no son totalmente compatibles.','We hope to fix this in a future version.'=>'Esperamos solucionarlo en una próxima versión.','The minimum required screen width is 1000px.'=>'El ancho mínimo de pantalla es de 1000px.','Close dialog'=>'Cerrar el diálogo','The menus could not be loaded.'=>'No se han podido cargar los menús.','Export'=>'Exportar','There\'s nothing to export.'=>'No hay nada que exportar.','Uncheck all'=>'Desmarcar todo','Check all'=>'Marcar todo','Export file'=>'Exportar archivo','New'=>'Nuevo','Already on this site, replaced when checked'=>'Ya está en este sitio, se reemplaza si se marca','Cannot be imported'=>'No se puede importar','Same value as on this site'=>'El mismo valor que en este sitio','Different value on this site, replaced when checked'=>'Valor distinto en este sitio, se reemplaza si se marca','Belongs to something else'=>'Pertenece a otra cosa','Menu'=>'Menú','The menu on this site is replaced by the one in the file, also when its fields are of another type. Options of fields that are not in the file any more are deleted.'=>'El menú de este sitio se reemplaza por el del archivo, aunque sus campos sean de otro tipo. Se borran las opciones de los campos que ya no están en el archivo.','(no title)'=>'(sin título)','Main page'=>'Página principal','Page'=>'Página','No value in the file'=>'Sin valor en el archivo','Field name:'=>'Nombre del campo:','Field label:'=>'Etiqueta del campo:','The field moves here from the menu "%s".'=>'El campo se mueve aquí desde el menú «%s».','Empty'=>'Vacío','Value in the file: %s'=>'Valor en el archivo: %s','%1$s and %2$s'=>'%1$s y %2$s','%s has been imported'=>'Se ha importado %s','%s have been imported'=>'Se han importado %s','%d menu has been imported'=>'Se ha importado %d menú' . "\0" . 'Se han importado %d menús','%s has been replaced'=>'Se ha reemplazado %s','%s have been replaced'=>'Se han reemplazado %s','%d menu has been replaced'=>'Se ha reemplazado %d menú' . "\0" . 'Se han reemplazado %d menús','The import is done.'=>'La importación ha terminado.',', with %d value'=>', con %d valor' . "\0" . ', con %d valores','Something went wrong. Nothing was imported.'=>'Algo ha fallado. No se ha importado nada.','Import selection'=>'Importar la selección','Choose another file'=>'Elegir otro archivo','Import'=>'Importar','Drop the JSON file here'=>'Suelta aquí el archivo JSON','Drop a JSON file here'=>'Suelta aquí un archivo JSON','or'=>'o','Select a file'=>'Seleccionar un archivo','Maximum file size: %s.'=>'Tamaño máximo de archivo: %s.','You see what would happen before anything is imported.'=>'Ves lo que pasaría antes de que se importe nada.','File: %s'=>'Archivo: %s','Import another file'=>'Importar otro archivo','Hide "Edit page" button'=>'Ocultar el botón «Editar página»','The setting could not be saved.'=>'No se ha podido guardar el ajuste.','Setting saved.'=>'Ajuste guardado.','The role "%1$s" of the page "%2$s" does not exist on this site. Until it does, users with that role cannot open the page.'=>'El rol «%1$s» de la página «%2$s» no existe en este sitio. Hasta que exista, los usuarios con ese rol no pueden abrir la página.','%s has characters that are not allowed.'=>'%s tiene caracteres que no están permitidos.','%s (no longer available)'=>'%s (ya no está disponible)','%1$s (%2$d user)'=>'%1$s (%2$d usuario)' . "\0" . '%1$s (%2$d usuarios)','Administrator'=>'Administrador','Who can edit'=>'Quién puede editar','Administrator + %d other'=>'Administrador + %d más' . "\0" . 'Administrador + %d más','Administrators always have access.'=>'Los administradores siempre tienen acceso.','Users with this role cannot open the dashboard.'=>'Los usuarios con este rol no pueden abrir el escritorio.','Done'=>'Hecho','Admin Options Pages 1.1 is here.'=>'Ya está aquí Admin Options Pages 1.1.','You now choose per page which roles can edit it. Have a look at who can edit your pages.'=>'Ahora eliges por página qué roles pueden editarla. Echa un vistazo a quién puede editar tus páginas.','What is new in 1.1'=>'Novedades de la 1.1','Admin Options Pages 1.1'=>'Admin Options Pages 1.1','Choose who can edit each page.'=>'Elige quién puede editar cada página.','Welcome to Admin Options Pages 1.1'=>'Te damos la bienvenida a Admin Options Pages 1.1','Tick the roles that may edit a page.'=>'Marca los roles que pueden editar una página.','Open a page in the editor and click the button next to "Who can edit". Every role of your site is there, also the roles of other plugins and the roles you made yourself. Users with a ticked role see the page in their menu and can save it; nobody else can.'=>'Abre una página en el editor y haz clic en el botón junto a «Quién puede editar». Están todos los roles de tu sitio, también los de otros plugins y los que has creado tú. Los usuarios con un rol marcado ven la página en su menú y pueden guardarla; nadie más puede.','Administrators can always open every page, and only administrators can build and change the pages themselves.'=>'Los administradores siempre pueden abrir cualquier página, y solo los administradores pueden crear y cambiar las páginas en sí.','The dialog "Who can edit" with a checkbox for every role of the site'=>'La ventana «Quién puede editar» con una casilla para cada rol del sitio','What happens to your pages'=>'Qué pasa con tus páginas','Nothing changes until you save a page again. A page that was set to Editor opens in the editor with the roles ticked that can edit it now: usually Editor, and with WooCommerce also Shop manager. Save the page to keep it that way, or change the roles first.'=>'Nada cambia hasta que vuelvas a guardar una página. Una página que estaba en Editor se abre en el editor con marcados los roles que pueden editarla ahora: normalmente Editor, y con WooCommerce también Gestor de la tienda. Guarda la página para mantenerlo así, o cambia antes los roles.','From then on the ticked roles decide, not what a role may do elsewhere on the site. Did someone get access without one of these roles? Tick a role they have, or give them access to that page with a plugin that manages roles.'=>'A partir de entonces deciden los roles marcados, no lo que un rol puede hacer en otras partes del sitio. ¿Alguien tenía acceso sin uno de estos roles? Marca un rol que tenga, o dale acceso a esa página con un plugin que gestione roles.','One user, one page'=>'Un usuario, una página','With a plugin that manages roles, such as Members or User Role Editor, you can give a single user access to a single page: every page is listed there under Admin Options Pages.'=>'Con un plugin que gestiona roles, como Members o User Role Editor, puedes dar a un solo usuario acceso a una sola página: cada página aparece allí bajo Admin Options Pages.','Roles move with your pages'=>'Los roles viajan con tus páginas','An export takes the roles of every page with it. When a role does not exist on the site you import to, the preview tells you; the page is imported all the same.'=>'Una exportación se lleva los roles de cada página. Si un rol no existe en el sitio al que importas, la vista previa te lo dice; la página se importa igualmente.','No dead ends'=>'Sin callejones sin salida','The editor tells you when a ticked role cannot open the dashboard at all, such as the Customer role of WooCommerce.'=>'El editor te avisa cuando un rol marcado no puede abrir el escritorio, como el rol Cliente de WooCommerce.','Admin Options Pages 1.1 needs WordPress 6.9 or later and PHP 8.1 or later, like 1.0.'=>'Admin Options Pages 1.1 necesita WordPress 6.9 o posterior y PHP 8.1 o posterior, igual que la 1.0.','What was new in 1.0'=>'Novedades de la 1.0','Your clients and colleagues now get exactly the pages they need. Choose the right roles for each page: Editor, Shop manager, Author, or a role you made yourself.'=>'Tus clientes y colegas ahora tienen exactamente las páginas que necesitan. Elige los roles adecuados para cada página: Editor, Gestor de la tienda, Autor o un rol que hayas creado tú.']];
  • admin-options-pages/tags/1.1.0/languages/admin-options-pages-es_ES.po

    r3736451 r3750608  
    11msgid ""
    2 msgstr "Project-Id-Version: Admin Options Pages 1.0.0\nReport-Msgid-Bugs-To: https://github.com/poolghost/adminoptionspages-issues/issues\nLast-Translator: Automatically generated\nLanguage-Team: none\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nPOT-Creation-Date: 2026-10-09T10:01:38+00:00\nPO-Revision-Date: 2026-10-09T10:01:38+00:00\nLanguage: es\nX-Generator: WP-CLI 2.11.0\nX-Domain: admin-options-pages\nPlural-Forms: nplurals=2; plural=(n != 1);\n"
     2msgstr ""
     3"Project-Id-Version: Admin Options Pages 1.0.0\n"
     4"Report-Msgid-Bugs-To: https://github.com/poolghost/adminoptionspages-issues/issues\n"
     5"Last-Translator: Automatically generated\n"
     6"Language-Team: none\n"
     7"MIME-Version: 1.0\n"
     8"Content-Type: text/plain; charset=UTF-8\n"
     9"Content-Transfer-Encoding: 8bit\n"
     10"POT-Creation-Date: 2026-10-09T10:01:38+00:00\n"
     11"PO-Revision-Date: 2026-10-09T10:01:38+00:00\n"
     12"Language: es\n"
     13"X-Generator: WP-CLI 2.11.0\n"
     14"X-Domain: admin-options-pages\n"
     15"Plural-Forms: nplurals=2; plural=(n != 1);\n"
    316
    417#. Plugin Name of the plugin
    … …  
    7184
    7285#: App/Admin/AdminPages/AdminPages.php:207
    73 #: App/Admin/Input.php:61
     86#: App/Admin/Input.php:62
    7487msgid "Updated."
    7588msgstr "Actualizado."
    … …  
    126139msgstr "Si de verdad %1$s este plugin, considera darle %2$s para que %3$s sea más conocido."
    127140
    128 #: App/Admin/AdminPages/SubpageWhatsNew.php:93
    129 msgid "Admin Options Pages 1.0 is here."
    130 msgstr "Ya está aquí Admin Options Pages 1.0."
    131 
    132 #: App/Admin/AdminPages/SubpageWhatsNew.php:94
    133 msgid "Import and export with your data, your own field types, nine new field types and your values on your website."
    134 msgstr "Importación y exportación con tus datos, tus propios tipos de campo, nueve tipos de campo nuevos y tus valores en tu web."
    135 
    136 #: App/Admin/AdminPages/SubpageWhatsNew.php:96
     141#: App/Admin/AdminPages/SubpageWhatsNew.php:123
    137142msgid "See what's new"
    138143msgstr "Ver las novedades"
    139144
    140 #: App/Admin/AdminPages/views/whats-new.php:19
     145#: App/Admin/AdminPages/views/whats-new-1.0.php:20
    141146msgid "Admin Options Pages 1.0"
    142147msgstr "Admin Options Pages 1.0"
    143148
    144 #: App/Admin/AdminPages/views/whats-new.php:21
     149#: App/Admin/AdminPages/views/whats-new-1.0.php:22
    145150msgid "Import and export with your data, your own field types and your values on your website."
    146151msgstr "Importación y exportación con tus datos, tus propios tipos de campo y tus valores en tu web."
    147152
    148 #: App/Admin/AdminPages/views/whats-new.php:26
     153#: App/Admin/AdminPages/views/whats-new-1.0.php:27
    149154msgid "Welcome to Admin Options Pages 1.0"
    150155msgstr "Te damos la bienvenida a Admin Options Pages 1.0"
    151156
    152 #: App/Admin/AdminPages/views/whats-new.php:27
     157#: App/Admin/AdminPages/views/whats-new-1.0.php:28
    153158msgid "This is the biggest update of the plugin so far. Menus now move to another site with all their values, so the options pages you built and filled locally go live in one file. You can add field types of your own, there are nine new built-in ones, and the values of your fields can be shown on your website without code. Your menus, pages, fields and values are all still here."
    154159msgstr "Es la mayor actualización del plugin hasta ahora. Los menús pasan ahora a otro sitio con todos sus valores, así que las páginas de opciones que has creado y rellenado en local se publican en un solo archivo. Puedes añadir tus propios tipos de campo, hay nueve nuevos integrados, y los valores de tus campos se pueden mostrar en tu web sin código. Tus menús, páginas, campos y valores siguen todos aquí."
    155160
    156 #: App/Admin/AdminPages/views/whats-new.php:33
     161#: App/Admin/AdminPages/views/whats-new-1.0.php:34
    157162msgid "Import and export, with your data"
    158163msgstr "Importar y exportar, con tus datos"
    159164
    160 #: App/Admin/AdminPages/views/whats-new.php:35
     165#: App/Admin/AdminPages/views/whats-new-1.0.php:36
    161166msgid "Build and fill your options pages locally, then take them live in one file."
    162167msgstr "Crea y rellena tus páginas de opciones en local y publícalas después en un solo archivo."
    163168
    164 #: App/Admin/AdminPages/views/whats-new.php:36
     169#: App/Admin/AdminPages/views/whats-new-1.0.php:37
    165170msgid "Export the menus you choose together with the values of their fields, and import them on your live site, a staging site or your next project. No more typing the same settings twice."
    166171msgstr "Exporta los menús que elijas junto con los valores de sus campos, e impórtalos en tu sitio en producción, un sitio de pruebas o tu próximo proyecto. Se acabó escribir dos veces los mismos ajustes."
    167172
    168 #: App/Admin/AdminPages/views/whats-new.php:38
     173#: App/Admin/AdminPages/views/whats-new-1.0.php:39
    169174msgid "Before anything changes you see what would happen, and you choose per menu, page, field and value. Nothing is replaced unless you choose it, and an import is all or nothing. Exports made with 0.9 can be imported too."
    170175msgstr "Antes de que cambie nada, ves lo que pasaría, y eliges por menú, página, campo y valor. No se reemplaza nada a menos que lo elijas, y una importación se hace entera o no se hace. También se pueden importar las exportaciones de la 0.9."
    171176
    172 #: App/Admin/AdminPages/views/whats-new.php:41
     177#: App/Admin/AdminPages/views/whats-new-1.0.php:42
    173178msgid "The preview of an import, with a checkbox for every menu, page, field and value"
    174179msgstr "La vista previa de una importación, con una casilla para cada menú, página, campo y valor"
    175180
    176 #: App/Admin/AdminPages/views/whats-new.php:47
     181#: App/Admin/AdminPages/views/whats-new-1.0.php:48
    177182msgid "An options page with a logo, a brand color and contact details"
    178183msgstr "Una página de opciones con un logotipo, un color de marca y datos de contacto"
    179184
    180 #: App/Admin/AdminPages/views/whats-new.php:50
     185#: App/Admin/AdminPages/views/whats-new-1.0.php:51
    181186msgid "Nine new field types"
    182187msgstr "Nueve tipos de campo nuevos"
    183188
    184 #: App/Admin/AdminPages/views/whats-new.php:52
     189#: App/Admin/AdminPages/views/whats-new-1.0.php:53
    185190msgid "Email, Link, Password, Date, Time, Date and time, Range, Button group and File."
    186191msgstr "Correo electrónico, Enlace, Contraseña, Fecha, Hora, Fecha y hora, Rango, Grupo de botones y Archivo."
    187192
    188 #: App/Admin/AdminPages/views/whats-new.php:53
     193#: App/Admin/AdminPages/views/whats-new-1.0.php:54
    189194msgid "That makes 21 field types. Each one checks what is entered, and an image or file field only accepts the file types you choose, also when something is uploaded."
    190195msgstr "Eso hace 21 tipos de campo. Cada uno comprueba lo que se introduce, y un campo de imagen o de archivo solo acepta los tipos de archivo que elijas, también al subir algo."
    191196
    192 #: App/Admin/AdminPages/views/whats-new.php:60
     197#: App/Admin/AdminPages/views/whats-new-1.0.php:61
    193198msgid "Your own field types"
    194199msgstr "Tus propios tipos de campo"
    195200
    196 #: App/Admin/AdminPages/views/whats-new.php:62
     201#: App/Admin/AdminPages/views/whats-new-1.0.php:63
    197202msgid "Need a field that is not there? Add it yourself."
    198203msgstr "¿Te falta un campo? Añádelo tú mismo."
    199204
    200 #: App/Admin/AdminPages/views/whats-new.php:63
     205#: App/Admin/AdminPages/views/whats-new-1.0.php:64
    201206msgid "Register a field type from your theme or plugin with one class: what the editor asks for, how the value is checked and stored, and how it shows on the options page and on your website. It appears in the field picker next to the built-in types, which use exactly the same API."
    202207msgstr "Registra un tipo de campo desde tu tema o plugin con una sola clase: lo que pide el editor, cómo se comprueba y se guarda el valor, y cómo se muestra en la página de opciones y en tu web. Aparece en el selector de campos junto a los tipos integrados, que usan exactamente la misma API."
    203208
    204 #: App/Admin/AdminPages/views/whats-new.php:65
     209#: App/Admin/AdminPages/views/whats-new-1.0.php:66
    205210msgid "The Field Types API is stable from 1.0 on and follows semantic versioning, so your field types keep working with the next versions."
    206211msgstr "La Field Types API es estable a partir de la 1.0 y sigue el versionado semántico, así que tus tipos de campo seguirán funcionando con las próximas versiones."
    207212
    208 #: App/Admin/AdminPages/views/whats-new.php:86
     213#: App/Admin/AdminPages/views/whats-new-1.0.php:87
    209214msgid "A paragraph connected to a field in the Attributes panel"
    210215msgstr "Un párrafo conectado a un campo en el panel Atributos"
    211216
    212 #: App/Admin/AdminPages/views/whats-new.php:89
     217#: App/Admin/AdminPages/views/whats-new-1.0.php:90
    213218msgid "Your values on your website"
    214219msgstr "Tus valores en tu web"
    215220
    216 #: App/Admin/AdminPages/views/whats-new.php:91
     221#: App/Admin/AdminPages/views/whats-new-1.0.php:92
    217222msgid "With a shortcode or a block, no code needed."
    218223msgstr "Con un shortcode o un bloque, sin código."
    219224
    220 #: App/Admin/AdminPages/views/whats-new.php:92
     225#: App/Admin/AdminPages/views/whats-new-1.0.php:93
    221226msgid "Put a field in a post with [aop_option name=\"…\"], or connect a paragraph, heading, button or image to it in the Attributes panel of the block editor. Change the value once, and it changes everywhere."
    222227msgstr "Pon un campo en una entrada con [aop_option name=\"…\"], o conéctale un párrafo, un encabezado, un botón o una imagen en el panel Atributos del editor de bloques. Cambia el valor una vez, y cambia en todas partes."
    223228
    224 #: App/Admin/AdminPages/views/whats-new.php:94
     229#: App/Admin/AdminPages/views/whats-new-1.0.php:95
    225230msgid "Switch on \"Use in shortcode and blocks\" for the fields you want to show. Fields made before 1.0 have it off, so nothing appears on your website by itself."
    226231msgstr "Activa «Usar en shortcode y bloques» para los campos que quieras mostrar. En los campos creados antes de la 1.0 está desactivado, así que no aparece nada por sí solo en tu web."
    227232
    228 #: App/Admin/AdminPages/views/whats-new.php:100
     233#: App/Admin/AdminPages/views/whats-new-1.0.php:101
    229234msgid "Rewritten in React"
    230235msgstr "Reescrito en React"
    231236
    232 #: App/Admin/AdminPages/views/whats-new.php:101
     237#: App/Admin/AdminPages/views/whats-new-1.0.php:102
    233238msgid "Under the hood the editor is rewritten in React, the WordPress way: with the components and the data store the block editor is made of."
    234239msgstr "Por dentro, el editor está reescrito en React, al estilo de WordPress: con los componentes y el almacén de datos de los que está hecho el editor de bloques."
    235240
    236 #: App/Admin/AdminPages/views/whats-new.php:104
     241#: App/Admin/AdminPages/views/whats-new-1.0.php:105
    237242msgid "Change any saved value"
    238243msgstr "Cambiar cualquier valor guardado"
    239244
    240 #: App/Admin/AdminPages/views/whats-new.php:105
     245#: App/Admin/AdminPages/views/whats-new-1.0.php:106
    241246msgid "Developers can change the value of any field before it is stored with the new filters aop_sanitized_option and aop_sanitized_option_{name}."
    242247msgstr "Los desarrolladores pueden cambiar el valor de cualquier campo antes de que se guarde con los nuevos filtros aop_sanitized_option y aop_sanitized_option_{name}."
    243248
    244 #: App/Admin/AdminPages/views/whats-new.php:108
     249#: App/Admin/AdminPages/views/whats-new-1.0.php:109
    245250msgid "A safe upgrade"
    246251msgstr "Una actualización segura"
    247252
    248 #: App/Admin/AdminPages/views/whats-new.php:109
     253#: App/Admin/AdminPages/views/whats-new-1.0.php:110
    249254msgid "Your pages are stored in a new format now. A copy in the old format is kept for 90 days."
    250255msgstr "Tus páginas se guardan ahora en un formato nuevo. Se conserva una copia en el formato antiguo durante 90 días."
    251256
    252 #: App/Admin/AdminPages/views/whats-new.php:115
     257#: App/Admin/AdminPages/views/whats-new-1.0.php:116
     258#: App/Admin/AdminPages/views/whats-new.php:71
    253259msgid "Requirements"
    254260msgstr "Requisitos"
    255261
    256 #: App/Admin/AdminPages/views/whats-new.php:116
     262#: App/Admin/AdminPages/views/whats-new-1.0.php:117
    257263msgid "Admin Options Pages 1.0 needs WordPress 6.9 or later and PHP 8.1 or later."
    258264msgstr "Admin Options Pages 1.0 necesita WordPress 6.9 o superior y PHP 8.1 o superior."
    259265
    260 #: App/Admin/AdminPages/views/whats-new.php:118
     266#: App/Admin/AdminPages/views/whats-new-1.0.php:119
     267#: App/Admin/AdminPages/views/whats-new.php:74
    261268msgid "Go to your options pages"
    262269msgstr "Ir a tus páginas de opciones"
    263270
    264 #: App/Admin/AdminPages/views/whats-new.php:119
     271#: App/Admin/AdminPages/views/whats-new-1.0.php:120
     272#: App/Admin/AdminPages/views/whats-new.php:75
    265273msgid "Read the documentation"
    266274msgstr "Leer la documentación"
    … …  
    275283#: App/Fields/Types/Subtitle.php:38
    276284#: includes/build/editor.js:1
     285#: includes/build/editor.js:4
    277286msgid "Title"
    278287msgstr "Título"
    … …  
    280289#: App/Admin/ListTable.php:41
    281290#: includes/build/editor.js:1
     291#: includes/build/editor.js:4
    282292msgid "Position"
    283293msgstr "Posición"
    … …  
    301311
    302312#: App/Admin/Text.php:14
    303 #: App/Admin/Text.php:32
     313#: App/Admin/Text.php:28
    304314#: includes/build/editor.js:1
    305315msgid "Cancel"
    … …  
    307317
    308318#: App/Admin/Text.php:15
     319#: App/Admin/Text.php:25
    309320#: App/Admin/Text.php:29
    310 #: App/Admin/Text.php:33
    311321#: App/Fields/Types/FileField.php:165
    312322#: App/Fields/Types/Image.php:158
    … …  
    315325msgstr "Borrar"
    316326
    317 #: App/Admin/Text.php:18
    318 msgctxt "User role"
    319 msgid "Administrator"
    320 msgstr "Administrador"
    321 
    322 #: App/Admin/Text.php:19
    323 msgctxt "User role"
    324 msgid "Editor"
    325 msgstr "Editor"
    326 
    327 #: App/Admin/Text.php:24
     327#: App/Admin/Text.php:20
    328328msgid "Save"
    329329msgstr "Guardar"
    330330
    331 #: App/Admin/Text.php:25
     331#: App/Admin/Text.php:21
    332332msgid "New Pages"
    333333msgstr "Páginas nuevas"
    334334
    335 #: App/Admin/Text.php:28
     335#: App/Admin/Text.php:24
    336336msgid "Update"
    337337msgstr "Actualizar"
    338338
    339 #: App/Admin/Text.php:30
     339#: App/Admin/Text.php:26
    340340msgid "Edit Pages"
    341341msgstr "Editar páginas"
    … …  
    400400msgstr "Editar"
    401401
    402 #: App/Data.php:651
     402#: App/Data.php:653
    403403msgid "The link you followed has expired."
    404404msgstr "El enlace que has seguido ha caducado."
    405405
    406406#. translators: 1: a field type, 2: an option name
    407 #: App/Fields/FieldManager.php:164
     407#: App/Fields/FieldManager.php:171
    408408msgid "The field type \"%1$s\" of the option \"%2$s\" is not available, so the field is not shown. Activate the plugin that provides it. Nothing was deleted."
    409409msgstr "El tipo de campo «%1$s» de la opción «%2$s» no está disponible, así que el campo no se muestra. Activa el plugin que lo proporciona. No se ha borrado nada."
    … …  
    692692msgstr "Las tablas de la base de datos de este sitio no pueden deshacer cambios. Si algo falla a mitad, puede quedar parte de la importación."
    693693
    694 #: App/ImportExport/Importer.php:112
     694#: App/ImportExport/Importer.php:141
    695695msgid "This menu is in the file more than once."
    696696msgstr "Este menú está más de una vez en el archivo."
    697697
    698 #: App/ImportExport/Importer.php:118
     698#: App/ImportExport/Importer.php:147
    699699msgid "The menu on this site was saved by a newer version of the plugin. Update the plugin first."
    700700msgstr "El menú de este sitio se guardó con una versión más reciente del plugin. Actualiza primero el plugin."
    701701
    702 #: App/ImportExport/Importer.php:124
     702#: App/ImportExport/Importer.php:153
    703703msgid "Another menu on this site already has the id of this menu."
    704704msgstr "Otro menú de este sitio ya tiene el ID de este menú."
    705705
    706706#. translators: %s: an option name
    707 #: App/ImportExport/Importer.php:137
     707#: App/ImportExport/Importer.php:166
    708708msgid "The option name \"%s\" is used by more than one menu in the file."
    709709msgstr "El nombre de opción «%s» lo usa más de un menú en el archivo."
    710710
    711711#. translators: %s: the name of a field type
    712 #: App/ImportExport/Importer.php:228
     712#: App/ImportExport/Importer.php:257
    713713msgid "The field type \"%s\" is not available on this site. Activate the plugin that provides it."
    714714msgstr "El tipo de campo «%s» no está disponible en este sitio. Activa el plugin que lo proporciona."
    715715
    716 #: App/ImportExport/Importer.php:233
     716#: App/ImportExport/Importer.php:262
    717717msgid "This is not a valid option name."
    718718msgstr "No es un nombre de opción válido."
    719719
    720 #: App/ImportExport/Importer.php:235
     720#: App/ImportExport/Importer.php:264
    721721msgid "This option name is used by WordPress or another plugin."
    722722msgstr "Este nombre de opción lo usa WordPress u otro plugin."
    723723
    724 #: App/ImportExport/Importer.php:300
     724#: App/ImportExport/Importer.php:329
    725725msgid "Something in this menu is not allowed."
    726726msgstr "Algo de este menú no está permitido."
    727727
    728 #: App/ImportExport/Importer.php:310
     728#: App/ImportExport/Importer.php:339
    729729msgid "The name of this menu does not match what is in it."
    730730msgstr "El nombre de este menú no coincide con su contenido."
    731731
    732 #: App/ImportExport/Importer.php:429
     732#: App/ImportExport/Importer.php:458
    733733msgid "Checked"
    734734msgstr "Marcada"
    735735
    736 #: App/ImportExport/Importer.php:429
     736#: App/ImportExport/Importer.php:458
    737737msgid "Not checked"
    738738msgstr "No marcada"
    739739
    740740#. translators: %s: the id of an image or file in the media library
    741 #: App/ImportExport/Importer.php:440
     741#: App/ImportExport/Importer.php:469
    742742msgid "Media ID %s"
    743743msgstr "ID de medio %s"
    744744
    745 #: App/ImportExport/Importer.php:472
     745#: App/ImportExport/Importer.php:501
    746746msgid "This import has expired. Choose the file again."
    747747msgstr "Esta importación ha caducado. Vuelve a elegir el archivo."
    748748
    749749#. translators: %s: the name of a menu
    750 #: App/ImportExport/Importer.php:613
     750#: App/ImportExport/Importer.php:642
    751751msgid "Without its first page the menu \"%s\" would get the name of a menu that is on this site already. Import the first page too, or choose another page as the first."
    752752msgstr "Sin su primera página, el menú «%s» tendría el nombre de un menú que ya está en este sitio. Importa también la primera página, o elige otra página como primera."
    753753
    754 #: App/ImportExport/Importer.php:638
    755 #: App/ImportExport/Importer.php:691
     754#: App/ImportExport/Importer.php:667
     755#: App/ImportExport/Importer.php:720
    756756msgid "A choice was made for a menu that is not in the file."
    757757msgstr "Se ha elegido algo para un menú que no está en el archivo."
    758758
    759 #: App/ImportExport/Importer.php:645
     759#: App/ImportExport/Importer.php:674
    760760msgid "A choice was made for a page or field that is not in the file."
    761761msgstr "Se ha elegido algo para una página o un campo que no está en el archivo."
    762762
    763 #: App/ImportExport/Importer.php:652
     763#: App/ImportExport/Importer.php:681
    764764msgid "A menu needs at least one page."
    765765msgstr "Un menú necesita al menos una página."
    766766
    767767#. translators: %s: the title of a menu
    768 #: App/ImportExport/Importer.php:680
     768#: App/ImportExport/Importer.php:709
    769769msgid "That cannot be done with the menu \"%s\"."
    770770msgstr "Eso no se puede hacer con el menú «%s»."
    771771
    772772#. translators: %s: an option name
    773 #: App/ImportExport/Importer.php:716
     773#: App/ImportExport/Importer.php:745
    774774msgid "That cannot be done with the option \"%s\"."
    775775msgstr "Eso no se puede hacer con la opción «%s»."
    776776
    777 #: App/ImportExport/Importer.php:742
     777#: App/ImportExport/Importer.php:771
    778778msgid "A menu in the file could not be saved. Nothing was imported."
    779779msgstr "No se ha podido guardar un menú del archivo. No se ha importado nada."
    780780
    781781#. translators: %s: an option name
    782 #: App/ImportExport/Importer.php:781
     782#: App/ImportExport/Importer.php:810
    783783msgid "The value of \"%s\" was changed by its field type."
    784784msgstr "Su tipo de campo ha cambiado el valor de «%s»."
    … …  
    834834
    835835#. translators: 1: where in the file, 2: a number
    836 #: App/ImportExport/SchemaValidator.php:96
     836#: App/ImportExport/SchemaValidator.php:102
    837837msgid "%1$s has more than %2$d items."
    838838msgstr "%1$s tiene más de %2$d elementos."
    839839
    840840#. translators: %s: where in the file
    841 #: App/ImportExport/SchemaValidator.php:101
     841#: App/ImportExport/SchemaValidator.php:107
    842842msgid "%s has no items."
    843843msgstr "%s no tiene elementos."
    844844
    845845#. translators: 1: where in the file, 2: a number
    846 #: App/ImportExport/SchemaValidator.php:106
     846#: App/ImportExport/SchemaValidator.php:112
    847847msgid "%1$s has more than %2$d entries."
    848848msgstr "%1$s tiene más de %2$d entradas."
    849849
    850850#. translators: 1: where in the file, 2: the name of what is missing
    851 #: App/ImportExport/SchemaValidator.php:112
     851#: App/ImportExport/SchemaValidator.php:118
    852852msgid "%1$s misses \"%2$s\"."
    853853msgstr "A %1$s le falta «%2$s»."
    854854
    855 #: App/ImportExport/SchemaValidator.php:169
     855#: App/ImportExport/SchemaValidator.php:175
    856856msgid "The file"
    857857msgstr "El archivo"
    … …  
    994994
    995995#: includes/build/editor.js:1
     996#: includes/build/editor.js:4
    996997msgid "Drag to reorder"
    997998msgstr "Arrastrar para reordenar"
    … …  
    11591160msgstr "Contenido estático"
    11601161
    1161 #: includes/build/editor.js:1
     1162#: includes/build/editor.js:4
    11621163msgid "Menu page title"
    11631164msgstr "Título de la página en el menú"
    11641165
    1165 #: includes/build/editor.js:1
     1166#: includes/build/editor.js:4
    11661167msgid "Page title"
    11671168msgstr "Título de la página"
    11681169
    1169 #: includes/build/editor.js:1
     1170#: includes/build/editor.js:4
    11701171msgid "Page title on top"
    11711172msgstr "Título de la página arriba"
    11721173
    1173 #: includes/build/editor.js:1
     1174#: includes/build/editor.js:4
    11741175msgid "Show page with tab"
    11751176msgstr "Mostrar la página con pestaña"
    11761177
    1177 #: includes/build/editor.js:1
    1178 msgid "User access level"
    1179 msgstr "Nivel de acceso"
    1180 
    1181 #: includes/build/editor.js:1
     1178#: includes/build/editor.js:4
    11821179msgid "Visit Page"
    11831180msgstr "Ver página"
    11841181
    1185 #: includes/build/editor.js:1
     1182#: includes/build/editor.js:4
    11861183msgid "Delete Page"
    11871184msgstr "Borrar página"
    11881185
    1189 #: includes/build/editor.js:1
     1186#: includes/build/editor.js:4
    11901187msgid "Saving failed."
    11911188msgstr "No se ha podido guardar."
    11921189
    1193 #: includes/build/editor.js:1
     1190#: includes/build/editor.js:4
    11941191msgid "At this moment there is no proper support for small/mobile screens."
    11951192msgstr "Por ahora las pantallas pequeñas y móviles no son totalmente compatibles."
    11961193
    1197 #: includes/build/editor.js:1
     1194#: includes/build/editor.js:4
    11981195msgid "We hope to fix this in a future version."
    11991196msgstr "Esperamos solucionarlo en una próxima versión."
    12001197
    1201 #: includes/build/editor.js:1
     1198#: includes/build/editor.js:4
    12021199msgid "The minimum required screen width is 1000px."
    12031200msgstr "El ancho mínimo de pantalla es de 1000px."
    12041201
    1205 #: includes/build/editor.js:1
     1202#: includes/build/editor.js:4
    12061203msgid "Close dialog"
    12071204msgstr "Cerrar el diálogo"
    … …  
    14121409msgid "Setting saved."
    14131410msgstr "Ajuste guardado."
     1411
     1412#. translators: 1: the slug of a user role, 2: the menu title of a page
     1413#: App/ImportExport/Importer.php:118
     1414msgid "The role \"%1$s\" of the page \"%2$s\" does not exist on this site. Until it does, users with that role cannot open the page."
     1415msgstr "El rol «%1$s» de la página «%2$s» no existe en este sitio. Hasta que exista, los usuarios con ese rol no pueden abrir la página."
     1416
     1417#. translators: %s: where in the file
     1418#: App/ImportExport/SchemaValidator.php:92
     1419msgid "%s has characters that are not allowed."
     1420msgstr "%s tiene caracteres que no están permitidos."
     1421
     1422#. translators: %s: the slug of a role that does not exist on this site
     1423#: includes/build/editor.js:2
     1424msgid "%s (no longer available)"
     1425msgstr "%s (ya no está disponible)"
     1426
     1427#. translators: 1: the name of a role, 2: the number of users with that role
     1428#: includes/build/editor.js:3
     1429msgid "%1$s (%2$d user)"
     1430msgid_plural "%1$s (%2$d users)"
     1431msgstr[0] "%1$s (%2$d usuario)"
     1432msgstr[1] "%1$s (%2$d usuarios)"
     1433
     1434#: includes/build/editor.js:3
     1435msgid "Administrator"
     1436msgstr "Administrador"
     1437
     1438#: App/Admin/AdminPages/views/whats-new.php:34
     1439#: includes/build/editor.js:3
     1440#: includes/build/editor.js:4
     1441msgid "Who can edit"
     1442msgstr "Quién puede editar"
     1443
     1444#. translators: %d: the number of roles besides administrator that can edit the page
     1445#: includes/build/editor.js:4
     1446msgid "Administrator + %d other"
     1447msgid_plural "Administrator + %d others"
     1448msgstr[0] "Administrador + %d más"
     1449msgstr[1] "Administrador + %d más"
     1450
     1451#: includes/build/editor.js:4
     1452msgid "Administrators always have access."
     1453msgstr "Los administradores siempre tienen acceso."
     1454
     1455#: includes/build/editor.js:4
     1456msgid "Users with this role cannot open the dashboard."
     1457msgstr "Los usuarios con este rol no pueden abrir el escritorio."
     1458
     1459#: includes/build/editor.js:4
     1460msgid "Done"
     1461msgstr "Hecho"
     1462
     1463#: App/Admin/AdminPages/SubpageWhatsNew.php:120
     1464msgid "Admin Options Pages 1.1 is here."
     1465msgstr "Ya está aquí Admin Options Pages 1.1."
     1466
     1467#: App/Admin/AdminPages/SubpageWhatsNew.php:121
     1468msgid "You now choose per page which roles can edit it. Have a look at who can edit your pages."
     1469msgstr "Ahora eliges por página qué roles pueden editarla. Echa un vistazo a quién puede editar tus páginas."
     1470
     1471#: App/Admin/AdminPages/views/whats-new-1.0.php:122
     1472msgid "What is new in 1.1"
     1473msgstr "Novedades de la 1.1"
     1474
     1475#: App/Admin/AdminPages/views/whats-new.php:20
     1476msgid "Admin Options Pages 1.1"
     1477msgstr "Admin Options Pages 1.1"
     1478
     1479#: App/Admin/AdminPages/views/whats-new.php:22
     1480msgid "Choose who can edit each page."
     1481msgstr "Elige quién puede editar cada página."
     1482
     1483#: App/Admin/AdminPages/views/whats-new.php:27
     1484msgid "Welcome to Admin Options Pages 1.1"
     1485msgstr "Te damos la bienvenida a Admin Options Pages 1.1"
     1486
     1487#: App/Admin/AdminPages/views/whats-new.php:36
     1488msgid "Tick the roles that may edit a page."
     1489msgstr "Marca los roles que pueden editar una página."
     1490
     1491#: App/Admin/AdminPages/views/whats-new.php:37
     1492msgid "Open a page in the editor and click the button next to \"Who can edit\". Every role of your site is there, also the roles of other plugins and the roles you made yourself. Users with a ticked role see the page in their menu and can save it; nobody else can."
     1493msgstr "Abre una página en el editor y haz clic en el botón junto a «Quién puede editar». Están todos los roles de tu sitio, también los de otros plugins y los que has creado tú. Los usuarios con un rol marcado ven la página en su menú y pueden guardarla; nadie más puede."
     1494
     1495#: App/Admin/AdminPages/views/whats-new.php:39
     1496msgid "Administrators can always open every page, and only administrators can build and change the pages themselves."
     1497msgstr "Los administradores siempre pueden abrir cualquier página, y solo los administradores pueden crear y cambiar las páginas en sí."
     1498
     1499#: App/Admin/AdminPages/views/whats-new.php:42
     1500msgid "The dialog \"Who can edit\" with a checkbox for every role of the site"
     1501msgstr "La ventana «Quién puede editar» con una casilla para cada rol del sitio"
     1502
     1503#: App/Admin/AdminPages/views/whats-new.php:48
     1504msgid "What happens to your pages"
     1505msgstr "Qué pasa con tus páginas"
     1506
     1507#: App/Admin/AdminPages/views/whats-new.php:49
     1508msgid "Nothing changes until you save a page again. A page that was set to Editor opens in the editor with the roles ticked that can edit it now: usually Editor, and with WooCommerce also Shop manager. Save the page to keep it that way, or change the roles first."
     1509msgstr "Nada cambia hasta que vuelvas a guardar una página. Una página que estaba en Editor se abre en el editor con marcados los roles que pueden editarla ahora: normalmente Editor, y con WooCommerce también Gestor de la tienda. Guarda la página para mantenerlo así, o cambia antes los roles."
     1510
     1511#: App/Admin/AdminPages/views/whats-new.php:50
     1512msgid "From then on the ticked roles decide, not what a role may do elsewhere on the site. Did someone get access without one of these roles? Tick a role they have, or give them access to that page with a plugin that manages roles."
     1513msgstr "A partir de entonces deciden los roles marcados, no lo que un rol puede hacer en otras partes del sitio. ¿Alguien tenía acceso sin uno de estos roles? Marca un rol que tenga, o dale acceso a esa página con un plugin que gestione roles."
     1514
     1515#: App/Admin/AdminPages/views/whats-new.php:56
     1516msgid "One user, one page"
     1517msgstr "Un usuario, una página"
     1518
     1519#: App/Admin/AdminPages/views/whats-new.php:57
     1520msgid "With a plugin that manages roles, such as Members or User Role Editor, you can give a single user access to a single page: every page is listed there under Admin Options Pages."
     1521msgstr "Con un plugin que gestiona roles, como Members o User Role Editor, puedes dar a un solo usuario acceso a una sola página: cada página aparece allí bajo Admin Options Pages."
     1522
     1523#: App/Admin/AdminPages/views/whats-new.php:60
     1524msgid "Roles move with your pages"
     1525msgstr "Los roles viajan con tus páginas"
     1526
     1527#: App/Admin/AdminPages/views/whats-new.php:61
     1528msgid "An export takes the roles of every page with it. When a role does not exist on the site you import to, the preview tells you; the page is imported all the same."
     1529msgstr "Una exportación se lleva los roles de cada página. Si un rol no existe en el sitio al que importas, la vista previa te lo dice; la página se importa igualmente."
     1530
     1531#: App/Admin/AdminPages/views/whats-new.php:64
     1532msgid "No dead ends"
     1533msgstr "Sin callejones sin salida"
     1534
     1535#: App/Admin/AdminPages/views/whats-new.php:65
     1536msgid "The editor tells you when a ticked role cannot open the dashboard at all, such as the Customer role of WooCommerce."
     1537msgstr "El editor te avisa cuando un rol marcado no puede abrir el escritorio, como el rol Cliente de WooCommerce."
     1538
     1539#: App/Admin/AdminPages/views/whats-new.php:72
     1540msgid "Admin Options Pages 1.1 needs WordPress 6.9 or later and PHP 8.1 or later, like 1.0."
     1541msgstr "Admin Options Pages 1.1 necesita WordPress 6.9 o posterior y PHP 8.1 o posterior, igual que la 1.0."
     1542
     1543#: App/Admin/AdminPages/views/whats-new.php:77
     1544msgid "What was new in 1.0"
     1545msgstr "Novedades de la 1.0"
     1546
     1547#: App/Admin/AdminPages/views/whats-new.php:28
     1548msgid "Your clients and colleagues now get exactly the pages they need. Choose the right roles for each page: Editor, Shop manager, Author, or a role you made yourself."
     1549msgstr "Tus clientes y colegas ahora tienen exactamente las páginas que necesitan. Elige los roles adecuados para cada página: Editor, Gestor de la tienda, Autor o un rol que hayas creado tú."
  • admin-options-pages/tags/1.1.0/languages/admin-options-pages-fr_FR-40ab473175f2d6a502e444c4dd505d9d.json

    r3736451 r3750608  
    1 {"translation-revision-date":"2026-10-09T10:01:38+00:00","generator":"WP-CLI\/2.11.0","source":"includes\/build\/editor.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"fr","plural-forms":"nplurals=2; plural=(n > 1);"},"Settings":["R\u00e9glages"],"Documentation":["Documentation"],"Title":["Titre"],"Position":["Position"],"Are you sure?":["Confirmez-vous ?"],"Cancel":["Annuler"],"Delete":["Supprimer"],"Field label":["Libell\u00e9 du champ"],"Field name":["Nom du champ"],"Autoload":["Chargement automatique"],"Use in shortcode and blocks":["Utiliser dans les codes courts et les blocs"],"Additional CSS Class(es)":["Classe(s) CSS suppl\u00e9mentaire(s)"],"Description":["Description"],"Default value":["Valeur par d\u00e9faut"],"Button group":["Groupe de boutons"],"Field values":["Valeurs du champ"],"Checkbox":["Case \u00e0 cocher"],"Text when checked":["Texte si coch\u00e9e"],"Text when not checked":["Texte si non coch\u00e9e"],"Text after input field":["Texte apr\u00e8s le champ de saisie"],"Color picker":["S\u00e9lecteur de couleur"],"Default color (HEX)":["Couleur par d\u00e9faut (HEX)"],"Date":["Date"],"Field style":["Style du champ"],"Date and time":["Date et heure"],"Email":["E-mail"],"Placeholder":["Texte indicatif"],"File":["Fichier"],"Allowed file types":["Types de fichiers autoris\u00e9s"],"Horizontal rule":["Ligne horizontale"],"Image":["Image"],"Allowed extensions":["Extensions autoris\u00e9es"],"Link":["Lien"],"Number":["Nombre"],"Minimum value":["Valeur minimale"],"Maximum value":["Valeur maximale"],"Decimals":["D\u00e9cimales"],"Password":["Mot de passe"],"Radio buttons":["Boutons radio"],"Range":["Curseur"],"Select":["Liste d\u00e9roulante"],"Textarea":["Zone de texte"],"Description italic":["Description en italique"],"Text field":["Champ texte"],"Formatted as code":["Mis en forme comme du code"],"Time":["Heure"],"Wysiwyg editor":["\u00c9diteur WYSIWYG"],"Show media upload buttons":["Afficher les boutons d\u2019ajout de m\u00e9dias"],"Toolbar":["Barre d\u2019outils"],"Icon":["Ic\u00f4ne"],"Choose an icon":["Choisir une ic\u00f4ne"],"Search for an icon\u2026":["Rechercher une ic\u00f4ne\u2026"],"Nothing found.":["Aucun r\u00e9sultat."],"Add New Page":["Ajouter une page"],"Menu Type":["Type de menu"],"Custom menu":["Menu personnalis\u00e9"],"Existing menu":["Menu existant"],"Menu title":["Titre du menu"],"Close settings":["Fermer les r\u00e9glages"],"Move left":["D\u00e9placer vers la gauche"],"Move up":["D\u00e9placer vers le haut"],"Move right":["D\u00e9placer vers la droite"],"Move down":["D\u00e9placer vers le bas"],"Drag to reorder":["Faire glisser pour r\u00e9organiser"],"Add block":["Ajouter un bloc"],"Value":["Valeur"],"Label":["Libell\u00e9"],"Delete this row":["Supprimer cette ligne"],"Add a row":["Ajouter une ligne"],"Help":["Aide"],"Shortcode":["Code court"],"Copied!":["Copi\u00e9 !"],"Copy":["Copier"],"With get_option() the value is always available in PHP, also when this is off.":["Avec get_option(), la valeur est toujours disponible en PHP, m\u00eame quand ceci est d\u00e9sactiv\u00e9."],"Field":["Champ"],"This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.":["Ce type de champ n\u2019est pas disponible. Activez l\u2019extension qui le fournit. Rien n\u2019a \u00e9t\u00e9 supprim\u00e9 : le champ est enregistr\u00e9 tel quel."],"Options":["Options"],"Regular":["Normal"],"Small":["Petit"],"Large":["Grand"],"Standard":["Standard"],"0":["0"],"1":["1"],"2":["2"],".jpeg .jpg":[".jpeg .jpg"],".png":[".png"],".gif":[".gif"],".svg":[".svg"],"This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.":["Ce site n\u2019autorise pas le t\u00e9l\u00e9versement de fichiers SVG. Une extension comme Safe SVG l\u2019ajoute en toute s\u00e9curit\u00e9."],".ico":[".ico"],"Full":["Compl\u00e8te"],"Basic":["Basique"],".pdf":[".pdf"],".doc":[".doc"],".docx":[".docx"],".xls":[".xls"],".xlsx":[".xlsx"],".csv":[".csv"],".zip":[".zip"],".txt":[".txt"],"Add a field":["Ajouter un champ"],"Search\u2026":["Rechercher\u2026"],"Options fields":["Champs d\u2019options"],"Static content":["Contenu statique"],"Menu page title":["Titre de la page dans le menu"],"Page title":["Titre de la page"],"Page title on top":["Titre de la page en haut"],"Show page with tab":["Afficher la page avec un onglet"],"User access level":["Niveau d\u2019acc\u00e8s"],"Visit Page":["Voir la page"],"Delete Page":["Supprimer la page"],"Saving failed.":["L\u2019enregistrement a \u00e9chou\u00e9."],"At this moment there is no proper support for small\/mobile screens.":["Pour le moment, les petits \u00e9crans et les mobiles ne sont pas bien pris en charge."],"We hope to fix this in a future version.":["Nous esp\u00e9rons corriger cela dans une prochaine version."],"The minimum required screen width is 1000px.":["La largeur d\u2019\u00e9cran minimale est de 1000px."],"Close dialog":["Fermer la bo\u00eete de dialogue"]}}}
     1{"translation-revision-date":"2026-10-09T10:01:38+00:00","generator":"WP-CLI\/2.11.0","source":"includes\/build\/editor.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"fr","plural-forms":"nplurals=2; plural=(n > 1);"},"Settings":["R\u00e9glages"],"Documentation":["Documentation"],"Title":["Titre"],"Position":["Position"],"Are you sure?":["Confirmez-vous ?"],"Cancel":["Annuler"],"Delete":["Supprimer"],"Field label":["Libell\u00e9 du champ"],"Field name":["Nom du champ"],"Autoload":["Chargement automatique"],"Use in shortcode and blocks":["Utiliser dans les codes courts et les blocs"],"Additional CSS Class(es)":["Classe(s) CSS suppl\u00e9mentaire(s)"],"Description":["Description"],"Default value":["Valeur par d\u00e9faut"],"Button group":["Groupe de boutons"],"Field values":["Valeurs du champ"],"Checkbox":["Case \u00e0 cocher"],"Text when checked":["Texte si coch\u00e9e"],"Text when not checked":["Texte si non coch\u00e9e"],"Text after input field":["Texte apr\u00e8s le champ de saisie"],"Color picker":["S\u00e9lecteur de couleur"],"Default color (HEX)":["Couleur par d\u00e9faut (HEX)"],"Date":["Date"],"Field style":["Style du champ"],"Date and time":["Date et heure"],"Email":["E-mail"],"Placeholder":["Texte indicatif"],"File":["Fichier"],"Allowed file types":["Types de fichiers autoris\u00e9s"],"Horizontal rule":["Ligne horizontale"],"Image":["Image"],"Allowed extensions":["Extensions autoris\u00e9es"],"Link":["Lien"],"Number":["Nombre"],"Minimum value":["Valeur minimale"],"Maximum value":["Valeur maximale"],"Decimals":["D\u00e9cimales"],"Password":["Mot de passe"],"Radio buttons":["Boutons radio"],"Range":["Curseur"],"Select":["Liste d\u00e9roulante"],"Textarea":["Zone de texte"],"Description italic":["Description en italique"],"Text field":["Champ texte"],"Formatted as code":["Mis en forme comme du code"],"Time":["Heure"],"Wysiwyg editor":["\u00c9diteur WYSIWYG"],"Show media upload buttons":["Afficher les boutons d\u2019ajout de m\u00e9dias"],"Toolbar":["Barre d\u2019outils"],"Icon":["Ic\u00f4ne"],"Choose an icon":["Choisir une ic\u00f4ne"],"Search for an icon\u2026":["Rechercher une ic\u00f4ne\u2026"],"Nothing found.":["Aucun r\u00e9sultat."],"Add New Page":["Ajouter une page"],"Menu Type":["Type de menu"],"Custom menu":["Menu personnalis\u00e9"],"Existing menu":["Menu existant"],"Menu title":["Titre du menu"],"Close settings":["Fermer les r\u00e9glages"],"Move left":["D\u00e9placer vers la gauche"],"Move up":["D\u00e9placer vers le haut"],"Move right":["D\u00e9placer vers la droite"],"Move down":["D\u00e9placer vers le bas"],"Drag to reorder":["Faire glisser pour r\u00e9organiser"],"Add block":["Ajouter un bloc"],"Value":["Valeur"],"Label":["Libell\u00e9"],"Delete this row":["Supprimer cette ligne"],"Add a row":["Ajouter une ligne"],"Help":["Aide"],"Shortcode":["Code court"],"Copied!":["Copi\u00e9 !"],"Copy":["Copier"],"With get_option() the value is always available in PHP, also when this is off.":["Avec get_option(), la valeur est toujours disponible en PHP, m\u00eame quand ceci est d\u00e9sactiv\u00e9."],"Field":["Champ"],"This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.":["Ce type de champ n\u2019est pas disponible. Activez l\u2019extension qui le fournit. Rien n\u2019a \u00e9t\u00e9 supprim\u00e9 : le champ est enregistr\u00e9 tel quel."],"Options":["Options"],"Regular":["Normal"],"Small":["Petit"],"Large":["Grand"],"Standard":["Standard"],"0":["0"],"1":["1"],"2":["2"],".jpeg .jpg":[".jpeg .jpg"],".png":[".png"],".gif":[".gif"],".svg":[".svg"],"This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.":["Ce site n\u2019autorise pas le t\u00e9l\u00e9versement de fichiers SVG. Une extension comme Safe SVG l\u2019ajoute en toute s\u00e9curit\u00e9."],".ico":[".ico"],"Full":["Compl\u00e8te"],"Basic":["Basique"],".pdf":[".pdf"],".doc":[".doc"],".docx":[".docx"],".xls":[".xls"],".xlsx":[".xlsx"],".csv":[".csv"],".zip":[".zip"],".txt":[".txt"],"Add a field":["Ajouter un champ"],"Search\u2026":["Rechercher\u2026"],"Options fields":["Champs d\u2019options"],"Static content":["Contenu statique"],"Menu page title":["Titre de la page dans le menu"],"Page title":["Titre de la page"],"Page title on top":["Titre de la page en haut"],"Show page with tab":["Afficher la page avec un onglet"],"Visit Page":["Voir la page"],"Delete Page":["Supprimer la page"],"Saving failed.":["L\u2019enregistrement a \u00e9chou\u00e9."],"At this moment there is no proper support for small\/mobile screens.":["Pour le moment, les petits \u00e9crans et les mobiles ne sont pas bien pris en charge."],"We hope to fix this in a future version.":["Nous esp\u00e9rons corriger cela dans une prochaine version."],"The minimum required screen width is 1000px.":["La largeur d\u2019\u00e9cran minimale est de 1000px."],"Close dialog":["Fermer la bo\u00eete de dialogue"],"%s (no longer available)":["%s (n\u2019est plus disponible)"],"%1$s (%2$d user)":["%1$s (%2$d utilisateur)","%1$s (%2$d utilisateurs)"],"Administrator":["Administrateur"],"Who can edit":["Qui peut modifier"],"Administrator + %d other":["Administrateur + %d autre","Administrateur + %d autres"],"Administrators always have access.":["Les administrateurs ont toujours acc\u00e8s."],"Users with this role cannot open the dashboard.":["Les utilisateurs ayant ce r\u00f4le ne peuvent pas ouvrir le tableau de bord."],"Done":["Termin\u00e9"]}}}
  • admin-options-pages/tags/1.1.0/languages/admin-options-pages-fr_FR.l10n.php

    r3736451 r3750608  
    11<?php
    2 return ['domain'=>'admin-options-pages','plural-forms'=>'nplurals=2; plural=(n > 1);','language'=>'fr','project-id-version'=>'Admin Options Pages 1.0.0','pot-creation-date'=>'2026-10-09T10:01:38+00:00','po-revision-date'=>'2026-10-09T10:01:38+00:00','x-generator'=>'WP-CLI 2.11.0','messages'=>['Admin Options Pages'=>'Admin Options Pages','https://adminoptionspages.com'=>'https://adminoptionspages.com','Create and edit your own options pages with ease.'=>'Créez et modifiez facilement vos propres pages d’options.','Johannes van Poelgeest'=>'Johannes van Poelgeest','https://poolghost.com'=>'https://poolghost.com','Options Pages'=>'Pages d’options','All Options Pages'=>'Toutes les pages d’options','Add new'=>'Ajouter','edit Page'=>'Modifier la page','What\'s new in Admin Options Pages 1.0'=>'Nouveautés d’Admin Options Pages 1.0','What\'s new'=>'Nouveautés','Settings'=>'Réglages','Import / Export'=>'Importer / exporter','Saved.'=>'Enregistré.','Updated.'=>'Mis à jour.','Pages deleted.'=>'Pages supprimées.','Page deleted.'=>'Page supprimée.','You attempted to edit a menu that does not exist. Perhaps it was deleted?'=>'Vous essayez de modifier un menu qui n’existe pas. Peut-être a-t-il été supprimé ?','Go to all options pages'=>'Aller à toutes les pages d’options','Menu not found'=>'Menu introuvable','Global Settings'=>'Réglages généraux','Sorry, you are not allowed to export.'=>'Vous n’avez pas l’autorisation d’exporter.','Creating options pages has never been easier.'=>'Créer des pages d’options n’a jamais été aussi simple.','Documentation'=>'Documentation','love'=>'aimez','five stars'=>'cinq étoiles','If you really %1$s this plugin, consider giving some %2$s to help make %3$s more known.'=>'Si vous %1$s vraiment cette extension, pensez à lui donner %2$s pour faire connaître %3$s.','Admin Options Pages 1.0 is here.'=>'Admin Options Pages 1.0 est là.','Import and export with your data, your own field types, nine new field types and your values on your website.'=>'L’import et l’export avec vos données, vos propres types de champs, neuf nouveaux types de champs et vos valeurs sur votre site.','See what\'s new'=>'Voir les nouveautés','Admin Options Pages 1.0'=>'Admin Options Pages 1.0','Import and export with your data, your own field types and your values on your website.'=>'L’import et l’export avec vos données, vos propres types de champs et vos valeurs sur votre site.','Welcome to Admin Options Pages 1.0'=>'Bienvenue dans Admin Options Pages 1.0','This is the biggest update of the plugin so far. Menus now move to another site with all their values, so the options pages you built and filled locally go live in one file. You can add field types of your own, there are nine new built-in ones, and the values of your fields can be shown on your website without code. Your menus, pages, fields and values are all still here.'=>'C’est la plus grande mise à jour de l’extension à ce jour. Les menus passent maintenant sur un autre site avec toutes leurs valeurs : les pages d’options que vous avez construites et remplies en local sont mises en ligne en un seul fichier. Vous pouvez ajouter vos propres types de champs, il y en a neuf nouveaux intégrés, et les valeurs de vos champs peuvent s’afficher sur votre site sans code. Vos menus, pages, champs et valeurs sont tous toujours là.','Import and export, with your data'=>'Importer et exporter, avec vos données','Build and fill your options pages locally, then take them live in one file.'=>'Construisez et remplissez vos pages d’options en local, puis mettez-les en ligne en un seul fichier.','Export the menus you choose together with the values of their fields, and import them on your live site, a staging site or your next project. No more typing the same settings twice.'=>'Exportez les menus de votre choix avec les valeurs de leurs champs, et importez-les sur votre site en production, un site de préproduction ou votre prochain projet. Fini de saisir deux fois les mêmes réglages.','Before anything changes you see what would happen, and you choose per menu, page, field and value. Nothing is replaced unless you choose it, and an import is all or nothing. Exports made with 0.9 can be imported too.'=>'Avant tout changement, vous voyez ce qui se passerait, et vous choisissez par menu, page, champ et valeur. Rien n’est remplacé sans votre choix, et un import se fait entièrement ou pas du tout. Les exports faits avec la 0.9 peuvent aussi être importés.','The preview of an import, with a checkbox for every menu, page, field and value'=>'L’aperçu d’un import, avec une case à cocher pour chaque menu, page, champ et valeur','An options page with a logo, a brand color and contact details'=>'Une page d’options avec un logo, une couleur de marque et des coordonnées','Nine new field types'=>'Neuf nouveaux types de champs','Email, Link, Password, Date, Time, Date and time, Range, Button group and File.'=>'E-mail, Lien, Mot de passe, Date, Heure, Date et heure, Curseur, Groupe de boutons et Fichier.','That makes 21 field types. Each one checks what is entered, and an image or file field only accepts the file types you choose, also when something is uploaded.'=>'Cela fait 21 types de champs. Chacun vérifie ce qui est saisi, et un champ image ou fichier n’accepte que les types de fichiers que vous choisissez, y compris lors du téléversement.','Your own field types'=>'Vos propres types de champs','Need a field that is not there? Add it yourself.'=>'Il vous manque un champ ? Ajoutez-le vous-même.','Register a field type from your theme or plugin with one class: what the editor asks for, how the value is checked and stored, and how it shows on the options page and on your website. It appears in the field picker next to the built-in types, which use exactly the same API.'=>'Enregistrez un type de champ depuis votre thème ou votre extension avec une seule classe : ce que l’éditeur demande, comment la valeur est vérifiée et enregistrée, et comment elle s’affiche sur la page d’options et sur votre site. Il apparaît dans le sélecteur de champs à côté des types intégrés, qui utilisent exactement la même API.','The Field Types API is stable from 1.0 on and follows semantic versioning, so your field types keep working with the next versions.'=>'La Field Types API est stable à partir de la 1.0 et suit le versionnage sémantique : vos types de champs continuent de fonctionner avec les prochaines versions.','A paragraph connected to a field in the Attributes panel'=>'Un paragraphe relié à un champ dans le panneau Attributs','Your values on your website'=>'Vos valeurs sur votre site','With a shortcode or a block, no code needed.'=>'Avec un code court ou un bloc, sans code.','Put a field in a post with [aop_option name="…"], or connect a paragraph, heading, button or image to it in the Attributes panel of the block editor. Change the value once, and it changes everywhere.'=>'Placez un champ dans un article avec [aop_option name="…"], ou reliez-y un paragraphe, un titre, un bouton ou une image dans le panneau Attributs de l’éditeur de blocs. Modifiez la valeur une fois, et elle change partout.','Switch on "Use in shortcode and blocks" for the fields you want to show. Fields made before 1.0 have it off, so nothing appears on your website by itself.'=>'Activez « Utiliser dans les codes courts et les blocs » pour les champs que vous voulez afficher. Pour les champs créés avant la 1.0, c’est désactivé : rien n’apparaît tout seul sur votre site.','Rewritten in React'=>'Réécrit en React','Under the hood the editor is rewritten in React, the WordPress way: with the components and the data store the block editor is made of.'=>'Sous le capot, l’éditeur est réécrit en React, à la manière de WordPress : avec les composants et le magasin de données dont est fait l’éditeur de blocs.','Change any saved value'=>'Modifier n’importe quelle valeur enregistrée','Developers can change the value of any field before it is stored with the new filters aop_sanitized_option and aop_sanitized_option_{name}.'=>'Les développeurs peuvent modifier la valeur de n’importe quel champ avant son enregistrement avec les nouveaux filtres aop_sanitized_option et aop_sanitized_option_{name}.','A safe upgrade'=>'Une mise à niveau sûre','Your pages are stored in a new format now. A copy in the old format is kept for 90 days.'=>'Vos pages sont maintenant enregistrées dans un nouveau format. Une copie dans l’ancien format est conservée pendant 90 jours.','Requirements'=>'Prérequis','Admin Options Pages 1.0 needs WordPress 6.9 or later and PHP 8.1 or later.'=>'Admin Options Pages 1.0 nécessite WordPress 6.9 ou supérieur et PHP 8.1 ou supérieur.','Go to your options pages'=>'Aller à vos pages d’options','Read the documentation'=>'Lire la documentation','media modal menuMenu'=>'Menu','Title'=>'Titre','Position'=>'Position','Pages'=>'Pages','Dismiss this notice.'=>'Ignorer cette notification.','Publish'=>'Publier','Are you sure?'=>'Confirmez-vous ?','Cancel'=>'Annuler','Delete'=>'Supprimer','User roleAdministrator'=>'Administrateur','User roleEditor'=>'Éditeur','Save'=>'Enregistrer','New Pages'=>'Nouvelles pages','Update'=>'Mettre à jour','Edit Pages'=>'Modifier les pages','List View'=>'Vue en liste','Excerpt View'=>'Vue avec extrait','No items found.'=>'Aucun élément trouvé.','Show more details'=>'Afficher plus de détails','%s item'=>'%s élément' . "\0" . '%s éléments','First page'=>'Première page','Previous page'=>'Page précédente','Current Page'=>'Page actuelle','paging%1$s of %2$s'=>'%1$s sur %2$s','Next page'=>'Page suivante','Last page'=>'Dernière page','Select All'=>'Tout sélectionner','Edit'=>'Modifier','The link you followed has expired.'=>'Le lien que vous avez suivi a expiré.','The field type "%1$s" of the option "%2$s" is not available, so the field is not shown. Activate the plugin that provides it. Nothing was deleted.'=>'Le type de champ « %1$s » de l’option « %2$s » n’est pas disponible, le champ n’est donc pas affiché. Activez l’extension qui le fournit. Rien n’a été supprimé.','%s is not a field type.'=>'%s n’est pas un type de champ.','The field type "%1$s" is already registered; %2$s was ignored.'=>'Le type de champ « %1$s » est déjà enregistré ; %2$s a été ignoré.','%1$s is not the class of the field type "%2$s".'=>'%1$s n’est pas la classe du type de champ « %2$s ».','Field label'=>'Libellé du champ','Field name'=>'Nom du champ','Autoload'=>'Chargement automatique','Use in shortcode and blocks'=>'Utiliser dans les codes courts et les blocs','Additional CSS Class(es)'=>'Classe(s) CSS supplémentaire(s)','Description'=>'Description','Default value'=>'Valeur par défaut','Button group'=>'Groupe de boutons','Field values'=>'Valeurs du champ','Checkbox'=>'Case à cocher','Text when checked'=>'Texte si cochée','Text when not checked'=>'Texte si non cochée','Text after input field'=>'Texte après le champ de saisie','Color picker'=>'Sélecteur de couleur','Default color (HEX)'=>'Couleur par défaut (HEX)','Date'=>'Date','Field style'=>'Style du champ','Date and time'=>'Date et heure','Email'=>'E-mail','Placeholder'=>'Texte indicatif','File'=>'Fichier','Allowed file types'=>'Types de fichiers autorisés','Upload'=>'Téléverser','Horizontal rule'=>'Ligne horizontale','Image'=>'Image','Allowed extensions'=>'Extensions autorisées','Link'=>'Lien','Number'=>'Nombre','Minimum value'=>'Valeur minimale','Maximum value'=>'Valeur maximale','Decimals'=>'Décimales','Password'=>'Mot de passe','Radio buttons'=>'Boutons radio','Range'=>'Curseur','Select'=>'Liste déroulante','Textarea'=>'Zone de texte','Description italic'=>'Description en italique','Text field'=>'Champ texte','Formatted as code'=>'Mis en forme comme du code','Time'=>'Heure','Wysiwyg editor'=>'Éditeur WYSIWYG','Show media upload buttons'=>'Afficher les boutons d’ajout de médias','Toolbar'=>'Barre d’outils','The value on this settings field is not allowed.'=>'La valeur de ce champ de réglage n’est pas autorisée.','Some of the value on this settings field is not allowed.'=>'Une partie de la valeur de ce champ de réglage n’est pas autorisée.','This is not a correct formatted Hex color.'=>'Ce n’est pas une couleur hexadécimale correctement formatée.','the shortcode has no name="..."'=>'le code court n’a pas de name="..."','"Use in shortcode and blocks" is off for this field, or its type cannot be shown'=>'« Utiliser dans les codes courts et les blocs » est désactivé pour ce champ, ou son type ne peut pas être affiché','this is not an option of Admin Options Pages'=>'ce n’est pas une option d’Admin Options Pages','The database tables of this site cannot roll back. If something goes wrong halfway, part of the import may remain.'=>'Les tables de base de données de ce site ne peuvent pas annuler les modifications. Si quelque chose échoue en cours de route, une partie de l’import peut rester.','This menu is in the file more than once.'=>'Ce menu figure plus d’une fois dans le fichier.','The menu on this site was saved by a newer version of the plugin. Update the plugin first.'=>'Le menu de ce site a été enregistré par une version plus récente de l’extension. Mettez d’abord l’extension à jour.','Another menu on this site already has the id of this menu.'=>'Un autre menu de ce site a déjà l’identifiant de ce menu.','The option name "%s" is used by more than one menu in the file.'=>'Le nom d’option « %s » est utilisé par plus d’un menu dans le fichier.','The field type "%s" is not available on this site. Activate the plugin that provides it.'=>'Le type de champ « %s » n’est pas disponible sur ce site. Activez l’extension qui le fournit.','This is not a valid option name.'=>'Ce n’est pas un nom d’option valide.','This option name is used by WordPress or another plugin.'=>'Ce nom d’option est utilisé par WordPress ou une autre extension.','Something in this menu is not allowed.'=>'Quelque chose dans ce menu n’est pas autorisé.','The name of this menu does not match what is in it.'=>'Le nom de ce menu ne correspond pas à son contenu.','Checked'=>'Cochée','Not checked'=>'Non cochée','Media ID %s'=>'ID de média %s','This import has expired. Choose the file again.'=>'Cet import a expiré. Choisissez à nouveau le fichier.','Without its first page the menu "%s" would get the name of a menu that is on this site already. Import the first page too, or choose another page as the first.'=>'Sans sa première page, le menu « %s » prendrait le nom d’un menu déjà présent sur ce site. Importez aussi la première page, ou choisissez une autre page comme première.','A choice was made for a menu that is not in the file.'=>'Un choix a été fait pour un menu qui n’est pas dans le fichier.','A choice was made for a page or field that is not in the file.'=>'Un choix a été fait pour une page ou un champ qui n’est pas dans le fichier.','A menu needs at least one page.'=>'Un menu a besoin d’au moins une page.','That cannot be done with the menu "%s".'=>'Ce n’est pas possible avec le menu « %s ».','That cannot be done with the option "%s".'=>'Ce n’est pas possible avec l’option « %s ».','A menu in the file could not be saved. Nothing was imported.'=>'Un menu du fichier n’a pas pu être enregistré. Rien n’a été importé.','The value of "%s" was changed by its field type.'=>'La valeur de « %s » a été modifiée par son type de champ.','The file is too large to import.'=>'Le fichier est trop volumineux pour être importé.','This is not a JSON file, or it is not valid UTF-8.'=>'Ce n’est pas un fichier JSON, ou il n’est pas en UTF-8 valide.','This file does not look like an export of Admin Options Pages.'=>'Ce fichier ne ressemble pas à un export d’Admin Options Pages.','This file has export format %1$d. This version of the plugin reads format %2$d. Update the plugin on this site and try again.'=>'Ce fichier a le format d’export %1$d. Cette version de l’extension lit le format %2$d. Mettez à jour l’extension sur ce site et réessayez.','%1$s must be of type %2$s.'=>'%1$s doit être de type %2$s.','%s has a value that is not supported.'=>'%s a une valeur qui n’est pas prise en charge.','%s has a value that is not allowed.'=>'%s a une valeur qui n’est pas autorisée.','%s does not have what it needs.'=>'Il manque à %s ce dont il a besoin.','%1$s is longer than %2$d characters.'=>'%1$s dépasse %2$d caractères.','%s is empty.'=>'%s est vide.','%1$s has more than %2$d items.'=>'%1$s a plus de %2$d éléments.','%s has no items.'=>'%s n’a aucun élément.','%1$s has more than %2$d entries.'=>'%1$s a plus de %2$d entrées.','%1$s misses "%2$s".'=>'Il manque « %2$s » à %1$s.','The file'=>'Le fichier','Choose a file to import.'=>'Choisissez un fichier à importer.','The request is not complete.'=>'La requête est incomplète.','The page is not valid.'=>'La page n’est pas valide.','This page does not exist.'=>'Cette page n’existe pas.','There are no pages to save.'=>'Il n’y a aucune page à enregistrer.','Every page needs a menu title.'=>'Chaque page a besoin d’un titre de menu.','"%s" is not a valid option name.'=>'« %s » n’est pas un nom d’option valide.','Every field with an option needs an option name.'=>'Chaque champ avec une option a besoin d’un nom d’option.','The option name "%s" is used more than once.'=>'Le nom d’option « %s » est utilisé plus d’une fois.','The option name "%s" is already in use.'=>'Le nom d’option « %s » est déjà utilisé.','This menu is already used by another options page.'=>'Ce menu est déjà utilisé par une autre page d’options.','The menu position is not valid.'=>'La position du menu n’est pas valide.','The menu title is not valid.'=>'Le titre du menu n’est pas valide.','The menu icon is not valid.'=>'L’icône du menu n’est pas valide.','Select or upload a file'=>'Sélectionner ou téléverser un fichier','Use this file'=>'Utiliser ce fichier','Allowed files'=>'Fichiers autorisés','Select or upload image'=>'Sélectionner ou téléverser une image','Use this image'=>'Utiliser cette image','Icon'=>'Icône','Choose an icon'=>'Choisir une icône','Search for an icon…'=>'Rechercher une icône…','Nothing found.'=>'Aucun résultat.','Add New Page'=>'Ajouter une page','Menu Type'=>'Type de menu','Custom menu'=>'Menu personnalisé','Existing menu'=>'Menu existant','Menu title'=>'Titre du menu','Close settings'=>'Fermer les réglages','Move left'=>'Déplacer vers la gauche','Move up'=>'Déplacer vers le haut','Move right'=>'Déplacer vers la droite','Move down'=>'Déplacer vers le bas','Drag to reorder'=>'Faire glisser pour réorganiser','Add block'=>'Ajouter un bloc','Value'=>'Valeur','Label'=>'Libellé','Delete this row'=>'Supprimer cette ligne','Add a row'=>'Ajouter une ligne','Help'=>'Aide','Shortcode'=>'Code court','Copied!'=>'Copié !','Copy'=>'Copier','With get_option() the value is always available in PHP, also when this is off.'=>'Avec get_option(), la valeur est toujours disponible en PHP, même quand ceci est désactivé.','Field'=>'Champ','This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.'=>'Ce type de champ n’est pas disponible. Activez l’extension qui le fournit. Rien n’a été supprimé : le champ est enregistré tel quel.','Options'=>'Options','Regular'=>'Normal','Small'=>'Petit','Large'=>'Grand','Standard'=>'Standard',0=>'0',1=>'1',2=>'2','.jpeg .jpg'=>'.jpeg .jpg','.png'=>'.png','.gif'=>'.gif','.svg'=>'.svg','This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.'=>'Ce site n’autorise pas le téléversement de fichiers SVG. Une extension comme Safe SVG l’ajoute en toute sécurité.','.ico'=>'.ico','Full'=>'Complète','Basic'=>'Basique','.pdf'=>'.pdf','.doc'=>'.doc','.docx'=>'.docx','.xls'=>'.xls','.xlsx'=>'.xlsx','.csv'=>'.csv','.zip'=>'.zip','.txt'=>'.txt','Add a field'=>'Ajouter un champ','Search…'=>'Rechercher…','Options fields'=>'Champs d’options','Static content'=>'Contenu statique','Menu page title'=>'Titre de la page dans le menu','Page title'=>'Titre de la page','Page title on top'=>'Titre de la page en haut','Show page with tab'=>'Afficher la page avec un onglet','User access level'=>'Niveau d’accès','Visit Page'=>'Voir la page','Delete Page'=>'Supprimer la page','Saving failed.'=>'L’enregistrement a échoué.','At this moment there is no proper support for small/mobile screens.'=>'Pour le moment, les petits écrans et les mobiles ne sont pas bien pris en charge.','We hope to fix this in a future version.'=>'Nous espérons corriger cela dans une prochaine version.','The minimum required screen width is 1000px.'=>'La largeur d’écran minimale est de 1000px.','Close dialog'=>'Fermer la boîte de dialogue','The menus could not be loaded.'=>'Les menus n’ont pas pu être chargés.','Export'=>'Exporter','There\'s nothing to export.'=>'Il n’y a rien à exporter.','Uncheck all'=>'Tout décocher','Check all'=>'Tout cocher','Export file'=>'Exporter le fichier','New'=>'Nouveau','Already on this site, replaced when checked'=>'Déjà sur ce site, remplacé si coché','Cannot be imported'=>'Ne peut pas être importé','Same value as on this site'=>'Même valeur que sur ce site','Different value on this site, replaced when checked'=>'Valeur différente sur ce site, remplacée si cochée','Belongs to something else'=>'Appartient à autre chose','Menu'=>'Menu','The menu on this site is replaced by the one in the file, also when its fields are of another type. Options of fields that are not in the file any more are deleted.'=>'Le menu de ce site est remplacé par celui du fichier, même si ses champs sont d’un autre type. Les options des champs qui ne sont plus dans le fichier sont supprimées.','(no title)'=>'(sans titre)','Main page'=>'Page principale','Page'=>'Page','No value in the file'=>'Aucune valeur dans le fichier','Field name:'=>'Nom du champ :','Field label:'=>'Libellé du champ :','The field moves here from the menu "%s".'=>'Le champ est déplacé ici depuis le menu « %s ».','Empty'=>'Vide','Value in the file: %s'=>'Valeur dans le fichier : %s','%1$s and %2$s'=>'%1$s et %2$s','%s has been imported'=>'%s a été importé','%s have been imported'=>'%s ont été importés','%d menu has been imported'=>'%d menu a été importé' . "\0" . '%d menus ont été importés','%s has been replaced'=>'%s a été remplacé','%s have been replaced'=>'%s ont été remplacés','%d menu has been replaced'=>'%d menu a été remplacé' . "\0" . '%d menus ont été remplacés','The import is done.'=>'L’import est terminé.',', with %d value'=>', avec %d valeur' . "\0" . ', avec %d valeurs','Something went wrong. Nothing was imported.'=>'Une erreur s’est produite. Rien n’a été importé.','Import selection'=>'Importer la sélection','Choose another file'=>'Choisir un autre fichier','Import'=>'Importer','Drop the JSON file here'=>'Déposez le fichier JSON ici','Drop a JSON file here'=>'Déposez un fichier JSON ici','or'=>'ou','Select a file'=>'Sélectionner un fichier','Maximum file size: %s.'=>'Taille maximale du fichier : %s.','You see what would happen before anything is imported.'=>'Vous voyez ce qui se passerait avant que quoi que ce soit ne soit importé.','File: %s'=>'Fichier : %s','Import another file'=>'Importer un autre fichier','Hide "Edit page" button'=>'Masquer le bouton « Modifier la page »','The setting could not be saved.'=>'Le réglage n’a pas pu être enregistré.','Setting saved.'=>'Réglage enregistré.']];
     2return ['domain'=>'admin-options-pages','plural-forms'=>'nplurals=2; plural=(n > 1);','language'=>'fr','project-id-version'=>'Admin Options Pages 1.0.0','pot-creation-date'=>'2026-10-09T10:01:38+00:00','po-revision-date'=>'2026-10-09T10:01:38+00:00','x-generator'=>'WP-CLI 2.11.0','messages'=>['Admin Options Pages'=>'Admin Options Pages','https://adminoptionspages.com'=>'https://adminoptionspages.com','Create and edit your own options pages with ease.'=>'Créez et modifiez facilement vos propres pages d’options.','Johannes van Poelgeest'=>'Johannes van Poelgeest','https://poolghost.com'=>'https://poolghost.com','Options Pages'=>'Pages d’options','All Options Pages'=>'Toutes les pages d’options','Add new'=>'Ajouter','edit Page'=>'Modifier la page','What\'s new in Admin Options Pages 1.0'=>'Nouveautés d’Admin Options Pages 1.0','What\'s new'=>'Nouveautés','Settings'=>'Réglages','Import / Export'=>'Importer / exporter','Saved.'=>'Enregistré.','Updated.'=>'Mis à jour.','Pages deleted.'=>'Pages supprimées.','Page deleted.'=>'Page supprimée.','You attempted to edit a menu that does not exist. Perhaps it was deleted?'=>'Vous essayez de modifier un menu qui n’existe pas. Peut-être a-t-il été supprimé ?','Go to all options pages'=>'Aller à toutes les pages d’options','Menu not found'=>'Menu introuvable','Global Settings'=>'Réglages généraux','Sorry, you are not allowed to export.'=>'Vous n’avez pas l’autorisation d’exporter.','Creating options pages has never been easier.'=>'Créer des pages d’options n’a jamais été aussi simple.','Documentation'=>'Documentation','love'=>'aimez','five stars'=>'cinq étoiles','If you really %1$s this plugin, consider giving some %2$s to help make %3$s more known.'=>'Si vous %1$s vraiment cette extension, pensez à lui donner %2$s pour faire connaître %3$s.','See what\'s new'=>'Voir les nouveautés','Admin Options Pages 1.0'=>'Admin Options Pages 1.0','Import and export with your data, your own field types and your values on your website.'=>'L’import et l’export avec vos données, vos propres types de champs et vos valeurs sur votre site.','Welcome to Admin Options Pages 1.0'=>'Bienvenue dans Admin Options Pages 1.0','This is the biggest update of the plugin so far. Menus now move to another site with all their values, so the options pages you built and filled locally go live in one file. You can add field types of your own, there are nine new built-in ones, and the values of your fields can be shown on your website without code. Your menus, pages, fields and values are all still here.'=>'C’est la plus grande mise à jour de l’extension à ce jour. Les menus passent maintenant sur un autre site avec toutes leurs valeurs : les pages d’options que vous avez construites et remplies en local sont mises en ligne en un seul fichier. Vous pouvez ajouter vos propres types de champs, il y en a neuf nouveaux intégrés, et les valeurs de vos champs peuvent s’afficher sur votre site sans code. Vos menus, pages, champs et valeurs sont tous toujours là.','Import and export, with your data'=>'Importer et exporter, avec vos données','Build and fill your options pages locally, then take them live in one file.'=>'Construisez et remplissez vos pages d’options en local, puis mettez-les en ligne en un seul fichier.','Export the menus you choose together with the values of their fields, and import them on your live site, a staging site or your next project. No more typing the same settings twice.'=>'Exportez les menus de votre choix avec les valeurs de leurs champs, et importez-les sur votre site en production, un site de préproduction ou votre prochain projet. Fini de saisir deux fois les mêmes réglages.','Before anything changes you see what would happen, and you choose per menu, page, field and value. Nothing is replaced unless you choose it, and an import is all or nothing. Exports made with 0.9 can be imported too.'=>'Avant tout changement, vous voyez ce qui se passerait, et vous choisissez par menu, page, champ et valeur. Rien n’est remplacé sans votre choix, et un import se fait entièrement ou pas du tout. Les exports faits avec la 0.9 peuvent aussi être importés.','The preview of an import, with a checkbox for every menu, page, field and value'=>'L’aperçu d’un import, avec une case à cocher pour chaque menu, page, champ et valeur','An options page with a logo, a brand color and contact details'=>'Une page d’options avec un logo, une couleur de marque et des coordonnées','Nine new field types'=>'Neuf nouveaux types de champs','Email, Link, Password, Date, Time, Date and time, Range, Button group and File.'=>'E-mail, Lien, Mot de passe, Date, Heure, Date et heure, Curseur, Groupe de boutons et Fichier.','That makes 21 field types. Each one checks what is entered, and an image or file field only accepts the file types you choose, also when something is uploaded.'=>'Cela fait 21 types de champs. Chacun vérifie ce qui est saisi, et un champ image ou fichier n’accepte que les types de fichiers que vous choisissez, y compris lors du téléversement.','Your own field types'=>'Vos propres types de champs','Need a field that is not there? Add it yourself.'=>'Il vous manque un champ ? Ajoutez-le vous-même.','Register a field type from your theme or plugin with one class: what the editor asks for, how the value is checked and stored, and how it shows on the options page and on your website. It appears in the field picker next to the built-in types, which use exactly the same API.'=>'Enregistrez un type de champ depuis votre thème ou votre extension avec une seule classe : ce que l’éditeur demande, comment la valeur est vérifiée et enregistrée, et comment elle s’affiche sur la page d’options et sur votre site. Il apparaît dans le sélecteur de champs à côté des types intégrés, qui utilisent exactement la même API.','The Field Types API is stable from 1.0 on and follows semantic versioning, so your field types keep working with the next versions.'=>'La Field Types API est stable à partir de la 1.0 et suit le versionnage sémantique : vos types de champs continuent de fonctionner avec les prochaines versions.','A paragraph connected to a field in the Attributes panel'=>'Un paragraphe relié à un champ dans le panneau Attributs','Your values on your website'=>'Vos valeurs sur votre site','With a shortcode or a block, no code needed.'=>'Avec un code court ou un bloc, sans code.','Put a field in a post with [aop_option name="…"], or connect a paragraph, heading, button or image to it in the Attributes panel of the block editor. Change the value once, and it changes everywhere.'=>'Placez un champ dans un article avec [aop_option name="…"], ou reliez-y un paragraphe, un titre, un bouton ou une image dans le panneau Attributs de l’éditeur de blocs. Modifiez la valeur une fois, et elle change partout.','Switch on "Use in shortcode and blocks" for the fields you want to show. Fields made before 1.0 have it off, so nothing appears on your website by itself.'=>'Activez « Utiliser dans les codes courts et les blocs » pour les champs que vous voulez afficher. Pour les champs créés avant la 1.0, c’est désactivé : rien n’apparaît tout seul sur votre site.','Rewritten in React'=>'Réécrit en React','Under the hood the editor is rewritten in React, the WordPress way: with the components and the data store the block editor is made of.'=>'Sous le capot, l’éditeur est réécrit en React, à la manière de WordPress : avec les composants et le magasin de données dont est fait l’éditeur de blocs.','Change any saved value'=>'Modifier n’importe quelle valeur enregistrée','Developers can change the value of any field before it is stored with the new filters aop_sanitized_option and aop_sanitized_option_{name}.'=>'Les développeurs peuvent modifier la valeur de n’importe quel champ avant son enregistrement avec les nouveaux filtres aop_sanitized_option et aop_sanitized_option_{name}.','A safe upgrade'=>'Une mise à niveau sûre','Your pages are stored in a new format now. A copy in the old format is kept for 90 days.'=>'Vos pages sont maintenant enregistrées dans un nouveau format. Une copie dans l’ancien format est conservée pendant 90 jours.','Requirements'=>'Prérequis','Admin Options Pages 1.0 needs WordPress 6.9 or later and PHP 8.1 or later.'=>'Admin Options Pages 1.0 nécessite WordPress 6.9 ou supérieur et PHP 8.1 ou supérieur.','Go to your options pages'=>'Aller à vos pages d’options','Read the documentation'=>'Lire la documentation','media modal menuMenu'=>'Menu','Title'=>'Titre','Position'=>'Position','Pages'=>'Pages','Dismiss this notice.'=>'Ignorer cette notification.','Publish'=>'Publier','Are you sure?'=>'Confirmez-vous ?','Cancel'=>'Annuler','Delete'=>'Supprimer','Save'=>'Enregistrer','New Pages'=>'Nouvelles pages','Update'=>'Mettre à jour','Edit Pages'=>'Modifier les pages','List View'=>'Vue en liste','Excerpt View'=>'Vue avec extrait','No items found.'=>'Aucun élément trouvé.','Show more details'=>'Afficher plus de détails','%s item'=>'%s élément' . "\0" . '%s éléments','First page'=>'Première page','Previous page'=>'Page précédente','Current Page'=>'Page actuelle','paging%1$s of %2$s'=>'%1$s sur %2$s','Next page'=>'Page suivante','Last page'=>'Dernière page','Select All'=>'Tout sélectionner','Edit'=>'Modifier','The link you followed has expired.'=>'Le lien que vous avez suivi a expiré.','The field type "%1$s" of the option "%2$s" is not available, so the field is not shown. Activate the plugin that provides it. Nothing was deleted.'=>'Le type de champ « %1$s » de l’option « %2$s » n’est pas disponible, le champ n’est donc pas affiché. Activez l’extension qui le fournit. Rien n’a été supprimé.','%s is not a field type.'=>'%s n’est pas un type de champ.','The field type "%1$s" is already registered; %2$s was ignored.'=>'Le type de champ « %1$s » est déjà enregistré ; %2$s a été ignoré.','%1$s is not the class of the field type "%2$s".'=>'%1$s n’est pas la classe du type de champ « %2$s ».','Field label'=>'Libellé du champ','Field name'=>'Nom du champ','Autoload'=>'Chargement automatique','Use in shortcode and blocks'=>'Utiliser dans les codes courts et les blocs','Additional CSS Class(es)'=>'Classe(s) CSS supplémentaire(s)','Description'=>'Description','Default value'=>'Valeur par défaut','Button group'=>'Groupe de boutons','Field values'=>'Valeurs du champ','Checkbox'=>'Case à cocher','Text when checked'=>'Texte si cochée','Text when not checked'=>'Texte si non cochée','Text after input field'=>'Texte après le champ de saisie','Color picker'=>'Sélecteur de couleur','Default color (HEX)'=>'Couleur par défaut (HEX)','Date'=>'Date','Field style'=>'Style du champ','Date and time'=>'Date et heure','Email'=>'E-mail','Placeholder'=>'Texte indicatif','File'=>'Fichier','Allowed file types'=>'Types de fichiers autorisés','Upload'=>'Téléverser','Horizontal rule'=>'Ligne horizontale','Image'=>'Image','Allowed extensions'=>'Extensions autorisées','Link'=>'Lien','Number'=>'Nombre','Minimum value'=>'Valeur minimale','Maximum value'=>'Valeur maximale','Decimals'=>'Décimales','Password'=>'Mot de passe','Radio buttons'=>'Boutons radio','Range'=>'Curseur','Select'=>'Liste déroulante','Textarea'=>'Zone de texte','Description italic'=>'Description en italique','Text field'=>'Champ texte','Formatted as code'=>'Mis en forme comme du code','Time'=>'Heure','Wysiwyg editor'=>'Éditeur WYSIWYG','Show media upload buttons'=>'Afficher les boutons d’ajout de médias','Toolbar'=>'Barre d’outils','The value on this settings field is not allowed.'=>'La valeur de ce champ de réglage n’est pas autorisée.','Some of the value on this settings field is not allowed.'=>'Une partie de la valeur de ce champ de réglage n’est pas autorisée.','This is not a correct formatted Hex color.'=>'Ce n’est pas une couleur hexadécimale correctement formatée.','the shortcode has no name="..."'=>'le code court n’a pas de name="..."','"Use in shortcode and blocks" is off for this field, or its type cannot be shown'=>'« Utiliser dans les codes courts et les blocs » est désactivé pour ce champ, ou son type ne peut pas être affiché','this is not an option of Admin Options Pages'=>'ce n’est pas une option d’Admin Options Pages','The database tables of this site cannot roll back. If something goes wrong halfway, part of the import may remain.'=>'Les tables de base de données de ce site ne peuvent pas annuler les modifications. Si quelque chose échoue en cours de route, une partie de l’import peut rester.','This menu is in the file more than once.'=>'Ce menu figure plus d’une fois dans le fichier.','The menu on this site was saved by a newer version of the plugin. Update the plugin first.'=>'Le menu de ce site a été enregistré par une version plus récente de l’extension. Mettez d’abord l’extension à jour.','Another menu on this site already has the id of this menu.'=>'Un autre menu de ce site a déjà l’identifiant de ce menu.','The option name "%s" is used by more than one menu in the file.'=>'Le nom d’option « %s » est utilisé par plus d’un menu dans le fichier.','The field type "%s" is not available on this site. Activate the plugin that provides it.'=>'Le type de champ « %s » n’est pas disponible sur ce site. Activez l’extension qui le fournit.','This is not a valid option name.'=>'Ce n’est pas un nom d’option valide.','This option name is used by WordPress or another plugin.'=>'Ce nom d’option est utilisé par WordPress ou une autre extension.','Something in this menu is not allowed.'=>'Quelque chose dans ce menu n’est pas autorisé.','The name of this menu does not match what is in it.'=>'Le nom de ce menu ne correspond pas à son contenu.','Checked'=>'Cochée','Not checked'=>'Non cochée','Media ID %s'=>'ID de média %s','This import has expired. Choose the file again.'=>'Cet import a expiré. Choisissez à nouveau le fichier.','Without its first page the menu "%s" would get the name of a menu that is on this site already. Import the first page too, or choose another page as the first.'=>'Sans sa première page, le menu « %s » prendrait le nom d’un menu déjà présent sur ce site. Importez aussi la première page, ou choisissez une autre page comme première.','A choice was made for a menu that is not in the file.'=>'Un choix a été fait pour un menu qui n’est pas dans le fichier.','A choice was made for a page or field that is not in the file.'=>'Un choix a été fait pour une page ou un champ qui n’est pas dans le fichier.','A menu needs at least one page.'=>'Un menu a besoin d’au moins une page.','That cannot be done with the menu "%s".'=>'Ce n’est pas possible avec le menu « %s ».','That cannot be done with the option "%s".'=>'Ce n’est pas possible avec l’option « %s ».','A menu in the file could not be saved. Nothing was imported.'=>'Un menu du fichier n’a pas pu être enregistré. Rien n’a été importé.','The value of "%s" was changed by its field type.'=>'La valeur de « %s » a été modifiée par son type de champ.','The file is too large to import.'=>'Le fichier est trop volumineux pour être importé.','This is not a JSON file, or it is not valid UTF-8.'=>'Ce n’est pas un fichier JSON, ou il n’est pas en UTF-8 valide.','This file does not look like an export of Admin Options Pages.'=>'Ce fichier ne ressemble pas à un export d’Admin Options Pages.','This file has export format %1$d. This version of the plugin reads format %2$d. Update the plugin on this site and try again.'=>'Ce fichier a le format d’export %1$d. Cette version de l’extension lit le format %2$d. Mettez à jour l’extension sur ce site et réessayez.','%1$s must be of type %2$s.'=>'%1$s doit être de type %2$s.','%s has a value that is not supported.'=>'%s a une valeur qui n’est pas prise en charge.','%s has a value that is not allowed.'=>'%s a une valeur qui n’est pas autorisée.','%s does not have what it needs.'=>'Il manque à %s ce dont il a besoin.','%1$s is longer than %2$d characters.'=>'%1$s dépasse %2$d caractères.','%s is empty.'=>'%s est vide.','%1$s has more than %2$d items.'=>'%1$s a plus de %2$d éléments.','%s has no items.'=>'%s n’a aucun élément.','%1$s has more than %2$d entries.'=>'%1$s a plus de %2$d entrées.','%1$s misses "%2$s".'=>'Il manque « %2$s » à %1$s.','The file'=>'Le fichier','Choose a file to import.'=>'Choisissez un fichier à importer.','The request is not complete.'=>'La requête est incomplète.','The page is not valid.'=>'La page n’est pas valide.','This page does not exist.'=>'Cette page n’existe pas.','There are no pages to save.'=>'Il n’y a aucune page à enregistrer.','Every page needs a menu title.'=>'Chaque page a besoin d’un titre de menu.','"%s" is not a valid option name.'=>'« %s » n’est pas un nom d’option valide.','Every field with an option needs an option name.'=>'Chaque champ avec une option a besoin d’un nom d’option.','The option name "%s" is used more than once.'=>'Le nom d’option « %s » est utilisé plus d’une fois.','The option name "%s" is already in use.'=>'Le nom d’option « %s » est déjà utilisé.','This menu is already used by another options page.'=>'Ce menu est déjà utilisé par une autre page d’options.','The menu position is not valid.'=>'La position du menu n’est pas valide.','The menu title is not valid.'=>'Le titre du menu n’est pas valide.','The menu icon is not valid.'=>'L’icône du menu n’est pas valide.','Select or upload a file'=>'Sélectionner ou téléverser un fichier','Use this file'=>'Utiliser ce fichier','Allowed files'=>'Fichiers autorisés','Select or upload image'=>'Sélectionner ou téléverser une image','Use this image'=>'Utiliser cette image','Icon'=>'Icône','Choose an icon'=>'Choisir une icône','Search for an icon…'=>'Rechercher une icône…','Nothing found.'=>'Aucun résultat.','Add New Page'=>'Ajouter une page','Menu Type'=>'Type de menu','Custom menu'=>'Menu personnalisé','Existing menu'=>'Menu existant','Menu title'=>'Titre du menu','Close settings'=>'Fermer les réglages','Move left'=>'Déplacer vers la gauche','Move up'=>'Déplacer vers le haut','Move right'=>'Déplacer vers la droite','Move down'=>'Déplacer vers le bas','Drag to reorder'=>'Faire glisser pour réorganiser','Add block'=>'Ajouter un bloc','Value'=>'Valeur','Label'=>'Libellé','Delete this row'=>'Supprimer cette ligne','Add a row'=>'Ajouter une ligne','Help'=>'Aide','Shortcode'=>'Code court','Copied!'=>'Copié !','Copy'=>'Copier','With get_option() the value is always available in PHP, also when this is off.'=>'Avec get_option(), la valeur est toujours disponible en PHP, même quand ceci est désactivé.','Field'=>'Champ','This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.'=>'Ce type de champ n’est pas disponible. Activez l’extension qui le fournit. Rien n’a été supprimé : le champ est enregistré tel quel.','Options'=>'Options','Regular'=>'Normal','Small'=>'Petit','Large'=>'Grand','Standard'=>'Standard',0=>'0',1=>'1',2=>'2','.jpeg .jpg'=>'.jpeg .jpg','.png'=>'.png','.gif'=>'.gif','.svg'=>'.svg','This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.'=>'Ce site n’autorise pas le téléversement de fichiers SVG. Une extension comme Safe SVG l’ajoute en toute sécurité.','.ico'=>'.ico','Full'=>'Complète','Basic'=>'Basique','.pdf'=>'.pdf','.doc'=>'.doc','.docx'=>'.docx','.xls'=>'.xls','.xlsx'=>'.xlsx','.csv'=>'.csv','.zip'=>'.zip','.txt'=>'.txt','Add a field'=>'Ajouter un champ','Search…'=>'Rechercher…','Options fields'=>'Champs d’options','Static content'=>'Contenu statique','Menu page title'=>'Titre de la page dans le menu','Page title'=>'Titre de la page','Page title on top'=>'Titre de la page en haut','Show page with tab'=>'Afficher la page avec un onglet','Visit Page'=>'Voir la page','Delete Page'=>'Supprimer la page','Saving failed.'=>'L’enregistrement a échoué.','At this moment there is no proper support for small/mobile screens.'=>'Pour le moment, les petits écrans et les mobiles ne sont pas bien pris en charge.','We hope to fix this in a future version.'=>'Nous espérons corriger cela dans une prochaine version.','The minimum required screen width is 1000px.'=>'La largeur d’écran minimale est de 1000px.','Close dialog'=>'Fermer la boîte de dialogue','The menus could not be loaded.'=>'Les menus n’ont pas pu être chargés.','Export'=>'Exporter','There\'s nothing to export.'=>'Il n’y a rien à exporter.','Uncheck all'=>'Tout décocher','Check all'=>'Tout cocher','Export file'=>'Exporter le fichier','New'=>'Nouveau','Already on this site, replaced when checked'=>'Déjà sur ce site, remplacé si coché','Cannot be imported'=>'Ne peut pas être importé','Same value as on this site'=>'Même valeur que sur ce site','Different value on this site, replaced when checked'=>'Valeur différente sur ce site, remplacée si cochée','Belongs to something else'=>'Appartient à autre chose','Menu'=>'Menu','The menu on this site is replaced by the one in the file, also when its fields are of another type. Options of fields that are not in the file any more are deleted.'=>'Le menu de ce site est remplacé par celui du fichier, même si ses champs sont d’un autre type. Les options des champs qui ne sont plus dans le fichier sont supprimées.','(no title)'=>'(sans titre)','Main page'=>'Page principale','Page'=>'Page','No value in the file'=>'Aucune valeur dans le fichier','Field name:'=>'Nom du champ :','Field label:'=>'Libellé du champ :','The field moves here from the menu "%s".'=>'Le champ est déplacé ici depuis le menu « %s ».','Empty'=>'Vide','Value in the file: %s'=>'Valeur dans le fichier : %s','%1$s and %2$s'=>'%1$s et %2$s','%s has been imported'=>'%s a été importé','%s have been imported'=>'%s ont été importés','%d menu has been imported'=>'%d menu a été importé' . "\0" . '%d menus ont été importés','%s has been replaced'=>'%s a été remplacé','%s have been replaced'=>'%s ont été remplacés','%d menu has been replaced'=>'%d menu a été remplacé' . "\0" . '%d menus ont été remplacés','The import is done.'=>'L’import est terminé.',', with %d value'=>', avec %d valeur' . "\0" . ', avec %d valeurs','Something went wrong. Nothing was imported.'=>'Une erreur s’est produite. Rien n’a été importé.','Import selection'=>'Importer la sélection','Choose another file'=>'Choisir un autre fichier','Import'=>'Importer','Drop the JSON file here'=>'Déposez le fichier JSON ici','Drop a JSON file here'=>'Déposez un fichier JSON ici','or'=>'ou','Select a file'=>'Sélectionner un fichier','Maximum file size: %s.'=>'Taille maximale du fichier : %s.','You see what would happen before anything is imported.'=>'Vous voyez ce qui se passerait avant que quoi que ce soit ne soit importé.','File: %s'=>'Fichier : %s','Import another file'=>'Importer un autre fichier','Hide "Edit page" button'=>'Masquer le bouton « Modifier la page »','The setting could not be saved.'=>'Le réglage n’a pas pu être enregistré.','Setting saved.'=>'Réglage enregistré.','The role "%1$s" of the page "%2$s" does not exist on this site. Until it does, users with that role cannot open the page.'=>'Le rôle « %1$s » de la page « %2$s » n’existe pas sur ce site. Tant qu’il n’existe pas, les utilisateurs ayant ce rôle ne peuvent pas ouvrir la page.','%s has characters that are not allowed.'=>'%s contient des caractères non autorisés.','%s (no longer available)'=>'%s (n’est plus disponible)','%1$s (%2$d user)'=>'%1$s (%2$d utilisateur)' . "\0" . '%1$s (%2$d utilisateurs)','Administrator'=>'Administrateur','Who can edit'=>'Qui peut modifier','Administrator + %d other'=>'Administrateur + %d autre' . "\0" . 'Administrateur + %d autres','Administrators always have access.'=>'Les administrateurs ont toujours accès.','Users with this role cannot open the dashboard.'=>'Les utilisateurs ayant ce rôle ne peuvent pas ouvrir le tableau de bord.','Done'=>'Terminé','Admin Options Pages 1.1 is here.'=>'Admin Options Pages 1.1 est arrivé.','You now choose per page which roles can edit it. Have a look at who can edit your pages.'=>'Vous choisissez désormais pour chaque page les rôles qui peuvent la modifier. Vérifiez qui peut modifier vos pages.','What is new in 1.1'=>'Les nouveautés de la 1.1','Admin Options Pages 1.1'=>'Admin Options Pages 1.1','Choose who can edit each page.'=>'Choisissez qui peut modifier chaque page.','Welcome to Admin Options Pages 1.1'=>'Bienvenue dans Admin Options Pages 1.1','Tick the roles that may edit a page.'=>'Cochez les rôles qui peuvent modifier une page.','Open a page in the editor and click the button next to "Who can edit". Every role of your site is there, also the roles of other plugins and the roles you made yourself. Users with a ticked role see the page in their menu and can save it; nobody else can.'=>'Ouvrez une page dans l’éditeur et cliquez sur le bouton à côté de « Qui peut modifier ». Tous les rôles de votre site y figurent, y compris ceux d’autres extensions et ceux que vous avez créés. Les utilisateurs ayant un rôle coché voient la page dans leur menu et peuvent l’enregistrer ; personne d’autre ne le peut.','Administrators can always open every page, and only administrators can build and change the pages themselves.'=>'Les administrateurs peuvent toujours ouvrir toutes les pages, et seuls les administrateurs peuvent créer et modifier les pages elles-mêmes.','The dialog "Who can edit" with a checkbox for every role of the site'=>'La fenêtre « Qui peut modifier » avec une case à cocher pour chaque rôle du site','What happens to your pages'=>'Ce qui arrive à vos pages','Nothing changes until you save a page again. A page that was set to Editor opens in the editor with the roles ticked that can edit it now: usually Editor, and with WooCommerce also Shop manager. Save the page to keep it that way, or change the roles first.'=>'Rien ne change tant que vous n’enregistrez pas une page à nouveau. Une page réglée sur Éditeur s’ouvre dans l’éditeur avec les rôles cochés qui peuvent la modifier aujourd’hui : en général Éditeur, et avec WooCommerce aussi Gestionnaire de la boutique. Enregistrez la page pour garder cela, ou modifiez d’abord les rôles.','From then on the ticked roles decide, not what a role may do elsewhere on the site. Did someone get access without one of these roles? Tick a role they have, or give them access to that page with a plugin that manages roles.'=>'Ensuite, ce sont les rôles cochés qui décident, et non ce qu’un rôle peut faire ailleurs sur le site. Quelqu’un avait accès sans l’un de ces rôles ? Cochez un rôle qu’il possède, ou donnez-lui accès à cette page avec une extension de gestion des rôles.','One user, one page'=>'Un utilisateur, une page','With a plugin that manages roles, such as Members or User Role Editor, you can give a single user access to a single page: every page is listed there under Admin Options Pages.'=>'Avec une extension de gestion des rôles, comme Members ou User Role Editor, vous donnez à un seul utilisateur l’accès à une seule page : chaque page y figure sous Admin Options Pages.','Roles move with your pages'=>'Les rôles suivent vos pages','An export takes the roles of every page with it. When a role does not exist on the site you import to, the preview tells you; the page is imported all the same.'=>'Un export emporte les rôles de chaque page. Si un rôle n’existe pas sur le site où vous importez, l’aperçu vous le dit ; la page est tout de même importée.','No dead ends'=>'Pas d’impasse','The editor tells you when a ticked role cannot open the dashboard at all, such as the Customer role of WooCommerce.'=>'L’éditeur vous prévient lorsqu’un rôle coché ne peut pas du tout ouvrir le tableau de bord, comme le rôle Client de WooCommerce.','Admin Options Pages 1.1 needs WordPress 6.9 or later and PHP 8.1 or later, like 1.0.'=>'Admin Options Pages 1.1 nécessite WordPress 6.9 ou plus récent et PHP 8.1 ou plus récent, comme la 1.0.','What was new in 1.0'=>'Les nouveautés de la 1.0','Your clients and colleagues now get exactly the pages they need. Choose the right roles for each page: Editor, Shop manager, Author, or a role you made yourself.'=>'Vos clients et collègues obtiennent désormais exactement les pages dont ils ont besoin. Choisissez les bons rôles pour chaque page : Éditeur, Gestionnaire de la boutique, Auteur ou un rôle que vous avez créé vous-même.']];
  • admin-options-pages/tags/1.1.0/languages/admin-options-pages-fr_FR.po

    r3736451 r3750608  
    11msgid ""
    2 msgstr "Project-Id-Version: Admin Options Pages 1.0.0\nReport-Msgid-Bugs-To: https://github.com/poolghost/adminoptionspages-issues/issues\nLast-Translator: Automatically generated\nLanguage-Team: none\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nPOT-Creation-Date: 2026-10-09T10:01:38+00:00\nPO-Revision-Date: 2026-10-09T10:01:38+00:00\nLanguage: fr\nX-Generator: WP-CLI 2.11.0\nX-Domain: admin-options-pages\nPlural-Forms: nplurals=2; plural=(n > 1);\n"
     2msgstr ""
     3"Project-Id-Version: Admin Options Pages 1.0.0\n"
     4"Report-Msgid-Bugs-To: https://github.com/poolghost/adminoptionspages-issues/issues\n"
     5"Last-Translator: Automatically generated\n"
     6"Language-Team: none\n"
     7"MIME-Version: 1.0\n"
     8"Content-Type: text/plain; charset=UTF-8\n"
     9"Content-Transfer-Encoding: 8bit\n"
     10"POT-Creation-Date: 2026-10-09T10:01:38+00:00\n"
     11"PO-Revision-Date: 2026-10-09T10:01:38+00:00\n"
     12"Language: fr\n"
     13"X-Generator: WP-CLI 2.11.0\n"
     14"X-Domain: admin-options-pages\n"
     15"Plural-Forms: nplurals=2; plural=(n > 1);\n"
    316
    417#. Plugin Name of the plugin
    … …  
    7184
    7285#: App/Admin/AdminPages/AdminPages.php:207
    73 #: App/Admin/Input.php:61
     86#: App/Admin/Input.php:62
    7487msgid "Updated."
    7588msgstr "Mis à jour."
    … …  
    126139msgstr "Si vous %1$s vraiment cette extension, pensez à lui donner %2$s pour faire connaître %3$s."
    127140
    128 #: App/Admin/AdminPages/SubpageWhatsNew.php:93
    129 msgid "Admin Options Pages 1.0 is here."
    130 msgstr "Admin Options Pages 1.0 est là."
    131 
    132 #: App/Admin/AdminPages/SubpageWhatsNew.php:94
    133 msgid "Import and export with your data, your own field types, nine new field types and your values on your website."
    134 msgstr "L’import et l’export avec vos données, vos propres types de champs, neuf nouveaux types de champs et vos valeurs sur votre site."
    135 
    136 #: App/Admin/AdminPages/SubpageWhatsNew.php:96
     141#: App/Admin/AdminPages/SubpageWhatsNew.php:123
    137142msgid "See what's new"
    138143msgstr "Voir les nouveautés"
    139144
    140 #: App/Admin/AdminPages/views/whats-new.php:19
     145#: App/Admin/AdminPages/views/whats-new-1.0.php:20
    141146msgid "Admin Options Pages 1.0"
    142147msgstr "Admin Options Pages 1.0"
    143148
    144 #: App/Admin/AdminPages/views/whats-new.php:21
     149#: App/Admin/AdminPages/views/whats-new-1.0.php:22
    145150msgid "Import and export with your data, your own field types and your values on your website."
    146151msgstr "L’import et l’export avec vos données, vos propres types de champs et vos valeurs sur votre site."
    147152
    148 #: App/Admin/AdminPages/views/whats-new.php:26
     153#: App/Admin/AdminPages/views/whats-new-1.0.php:27
    149154msgid "Welcome to Admin Options Pages 1.0"
    150155msgstr "Bienvenue dans Admin Options Pages 1.0"
    151156
    152 #: App/Admin/AdminPages/views/whats-new.php:27
     157#: App/Admin/AdminPages/views/whats-new-1.0.php:28
    153158msgid "This is the biggest update of the plugin so far. Menus now move to another site with all their values, so the options pages you built and filled locally go live in one file. You can add field types of your own, there are nine new built-in ones, and the values of your fields can be shown on your website without code. Your menus, pages, fields and values are all still here."
    154159msgstr "C’est la plus grande mise à jour de l’extension à ce jour. Les menus passent maintenant sur un autre site avec toutes leurs valeurs : les pages d’options que vous avez construites et remplies en local sont mises en ligne en un seul fichier. Vous pouvez ajouter vos propres types de champs, il y en a neuf nouveaux intégrés, et les valeurs de vos champs peuvent s’afficher sur votre site sans code. Vos menus, pages, champs et valeurs sont tous toujours là."
    155160
    156 #: App/Admin/AdminPages/views/whats-new.php:33
     161#: App/Admin/AdminPages/views/whats-new-1.0.php:34
    157162msgid "Import and export, with your data"
    158163msgstr "Importer et exporter, avec vos données"
    159164
    160 #: App/Admin/AdminPages/views/whats-new.php:35
     165#: App/Admin/AdminPages/views/whats-new-1.0.php:36
    161166msgid "Build and fill your options pages locally, then take them live in one file."
    162167msgstr "Construisez et remplissez vos pages d’options en local, puis mettez-les en ligne en un seul fichier."
    163168
    164 #: App/Admin/AdminPages/views/whats-new.php:36
     169#: App/Admin/AdminPages/views/whats-new-1.0.php:37
    165170msgid "Export the menus you choose together with the values of their fields, and import them on your live site, a staging site or your next project. No more typing the same settings twice."
    166171msgstr "Exportez les menus de votre choix avec les valeurs de leurs champs, et importez-les sur votre site en production, un site de préproduction ou votre prochain projet. Fini de saisir deux fois les mêmes réglages."
    167172
    168 #: App/Admin/AdminPages/views/whats-new.php:38
     173#: App/Admin/AdminPages/views/whats-new-1.0.php:39
    169174msgid "Before anything changes you see what would happen, and you choose per menu, page, field and value. Nothing is replaced unless you choose it, and an import is all or nothing. Exports made with 0.9 can be imported too."
    170175msgstr "Avant tout changement, vous voyez ce qui se passerait, et vous choisissez par menu, page, champ et valeur. Rien n’est remplacé sans votre choix, et un import se fait entièrement ou pas du tout. Les exports faits avec la 0.9 peuvent aussi être importés."
    171176
    172 #: App/Admin/AdminPages/views/whats-new.php:41
     177#: App/Admin/AdminPages/views/whats-new-1.0.php:42
    173178msgid "The preview of an import, with a checkbox for every menu, page, field and value"
    174179msgstr "L’aperçu d’un import, avec une case à cocher pour chaque menu, page, champ et valeur"
    175180
    176 #: App/Admin/AdminPages/views/whats-new.php:47
     181#: App/Admin/AdminPages/views/whats-new-1.0.php:48
    177182msgid "An options page with a logo, a brand color and contact details"
    178183msgstr "Une page d’options avec un logo, une couleur de marque et des coordonnées"
    179184
    180 #: App/Admin/AdminPages/views/whats-new.php:50
     185#: App/Admin/AdminPages/views/whats-new-1.0.php:51
    181186msgid "Nine new field types"
    182187msgstr "Neuf nouveaux types de champs"
    183188
    184 #: App/Admin/AdminPages/views/whats-new.php:52
     189#: App/Admin/AdminPages/views/whats-new-1.0.php:53
    185190msgid "Email, Link, Password, Date, Time, Date and time, Range, Button group and File."
    186191msgstr "E-mail, Lien, Mot de passe, Date, Heure, Date et heure, Curseur, Groupe de boutons et Fichier."
    187192
    188 #: App/Admin/AdminPages/views/whats-new.php:53
     193#: App/Admin/AdminPages/views/whats-new-1.0.php:54
    189194msgid "That makes 21 field types. Each one checks what is entered, and an image or file field only accepts the file types you choose, also when something is uploaded."
    190195msgstr "Cela fait 21 types de champs. Chacun vérifie ce qui est saisi, et un champ image ou fichier n’accepte que les types de fichiers que vous choisissez, y compris lors du téléversement."
    191196
    192 #: App/Admin/AdminPages/views/whats-new.php:60
     197#: App/Admin/AdminPages/views/whats-new-1.0.php:61
    193198msgid "Your own field types"
    194199msgstr "Vos propres types de champs"
    195200
    196 #: App/Admin/AdminPages/views/whats-new.php:62
     201#: App/Admin/AdminPages/views/whats-new-1.0.php:63
    197202msgid "Need a field that is not there? Add it yourself."
    198203msgstr "Il vous manque un champ ? Ajoutez-le vous-même."
    199204
    200 #: App/Admin/AdminPages/views/whats-new.php:63
     205#: App/Admin/AdminPages/views/whats-new-1.0.php:64
    201206msgid "Register a field type from your theme or plugin with one class: what the editor asks for, how the value is checked and stored, and how it shows on the options page and on your website. It appears in the field picker next to the built-in types, which use exactly the same API."
    202207msgstr "Enregistrez un type de champ depuis votre thème ou votre extension avec une seule classe : ce que l’éditeur demande, comment la valeur est vérifiée et enregistrée, et comment elle s’affiche sur la page d’options et sur votre site. Il apparaît dans le sélecteur de champs à côté des types intégrés, qui utilisent exactement la même API."
    203208
    204 #: App/Admin/AdminPages/views/whats-new.php:65
     209#: App/Admin/AdminPages/views/whats-new-1.0.php:66
    205210msgid "The Field Types API is stable from 1.0 on and follows semantic versioning, so your field types keep working with the next versions."
    206211msgstr "La Field Types API est stable à partir de la 1.0 et suit le versionnage sémantique : vos types de champs continuent de fonctionner avec les prochaines versions."
    207212
    208 #: App/Admin/AdminPages/views/whats-new.php:86
     213#: App/Admin/AdminPages/views/whats-new-1.0.php:87
    209214msgid "A paragraph connected to a field in the Attributes panel"
    210215msgstr "Un paragraphe relié à un champ dans le panneau Attributs"
    211216
    212 #: App/Admin/AdminPages/views/whats-new.php:89
     217#: App/Admin/AdminPages/views/whats-new-1.0.php:90
    213218msgid "Your values on your website"
    214219msgstr "Vos valeurs sur votre site"
    215220
    216 #: App/Admin/AdminPages/views/whats-new.php:91
     221#: App/Admin/AdminPages/views/whats-new-1.0.php:92
    217222msgid "With a shortcode or a block, no code needed."
    218223msgstr "Avec un code court ou un bloc, sans code."
    219224
    220 #: App/Admin/AdminPages/views/whats-new.php:92
     225#: App/Admin/AdminPages/views/whats-new-1.0.php:93
    221226msgid "Put a field in a post with [aop_option name=\"…\"], or connect a paragraph, heading, button or image to it in the Attributes panel of the block editor. Change the value once, and it changes everywhere."
    222227msgstr "Placez un champ dans un article avec [aop_option name=\"…\"], ou reliez-y un paragraphe, un titre, un bouton ou une image dans le panneau Attributs de l’éditeur de blocs. Modifiez la valeur une fois, et elle change partout."
    223228
    224 #: App/Admin/AdminPages/views/whats-new.php:94
     229#: App/Admin/AdminPages/views/whats-new-1.0.php:95
    225230msgid "Switch on \"Use in shortcode and blocks\" for the fields you want to show. Fields made before 1.0 have it off, so nothing appears on your website by itself."
    226231msgstr "Activez « Utiliser dans les codes courts et les blocs » pour les champs que vous voulez afficher. Pour les champs créés avant la 1.0, c’est désactivé : rien n’apparaît tout seul sur votre site."
    227232
    228 #: App/Admin/AdminPages/views/whats-new.php:100
     233#: App/Admin/AdminPages/views/whats-new-1.0.php:101
    229234msgid "Rewritten in React"
    230235msgstr "Réécrit en React"
    231236
    232 #: App/Admin/AdminPages/views/whats-new.php:101
     237#: App/Admin/AdminPages/views/whats-new-1.0.php:102
    233238msgid "Under the hood the editor is rewritten in React, the WordPress way: with the components and the data store the block editor is made of."
    234239msgstr "Sous le capot, l’éditeur est réécrit en React, à la manière de WordPress : avec les composants et le magasin de données dont est fait l’éditeur de blocs."
    235240
    236 #: App/Admin/AdminPages/views/whats-new.php:104
     241#: App/Admin/AdminPages/views/whats-new-1.0.php:105
    237242msgid "Change any saved value"
    238243msgstr "Modifier n’importe quelle valeur enregistrée"
    239244
    240 #: App/Admin/AdminPages/views/whats-new.php:105
     245#: App/Admin/AdminPages/views/whats-new-1.0.php:106
    241246msgid "Developers can change the value of any field before it is stored with the new filters aop_sanitized_option and aop_sanitized_option_{name}."
    242247msgstr "Les développeurs peuvent modifier la valeur de n’importe quel champ avant son enregistrement avec les nouveaux filtres aop_sanitized_option et aop_sanitized_option_{name}."
    243248
    244 #: App/Admin/AdminPages/views/whats-new.php:108
     249#: App/Admin/AdminPages/views/whats-new-1.0.php:109
    245250msgid "A safe upgrade"
    246251msgstr "Une mise à niveau sûre"
    247252
    248 #: App/Admin/AdminPages/views/whats-new.php:109
     253#: App/Admin/AdminPages/views/whats-new-1.0.php:110
    249254msgid "Your pages are stored in a new format now. A copy in the old format is kept for 90 days."
    250255msgstr "Vos pages sont maintenant enregistrées dans un nouveau format. Une copie dans l’ancien format est conservée pendant 90 jours."
    251256
    252 #: App/Admin/AdminPages/views/whats-new.php:115
     257#: App/Admin/AdminPages/views/whats-new-1.0.php:116
     258#: App/Admin/AdminPages/views/whats-new.php:71
    253259msgid "Requirements"
    254260msgstr "Prérequis"
    255261
    256 #: App/Admin/AdminPages/views/whats-new.php:116
     262#: App/Admin/AdminPages/views/whats-new-1.0.php:117
    257263msgid "Admin Options Pages 1.0 needs WordPress 6.9 or later and PHP 8.1 or later."
    258264msgstr "Admin Options Pages 1.0 nécessite WordPress 6.9 ou supérieur et PHP 8.1 ou supérieur."
    259265
    260 #: App/Admin/AdminPages/views/whats-new.php:118
     266#: App/Admin/AdminPages/views/whats-new-1.0.php:119
     267#: App/Admin/AdminPages/views/whats-new.php:74
    261268msgid "Go to your options pages"
    262269msgstr "Aller à vos pages d’options"
    263270
    264 #: App/Admin/AdminPages/views/whats-new.php:119
     271#: App/Admin/AdminPages/views/whats-new-1.0.php:120
     272#: App/Admin/AdminPages/views/whats-new.php:75
    265273msgid "Read the documentation"
    266274msgstr "Lire la documentation"
    … …  
    275283#: App/Fields/Types/Subtitle.php:38
    276284#: includes/build/editor.js:1
     285#: includes/build/editor.js:4
    277286msgid "Title"
    278287msgstr "Titre"
    … …  
    280289#: App/Admin/ListTable.php:41
    281290#: includes/build/editor.js:1
     291#: includes/build/editor.js:4
    282292msgid "Position"
    283293msgstr "Position"
    … …  
    301311
    302312#: App/Admin/Text.php:14
    303 #: App/Admin/Text.php:32
     313#: App/Admin/Text.php:28
    304314#: includes/build/editor.js:1
    305315msgid "Cancel"
    … …  
    307317
    308318#: App/Admin/Text.php:15
     319#: App/Admin/Text.php:25
    309320#: App/Admin/Text.php:29
    310 #: App/Admin/Text.php:33
    311321#: App/Fields/Types/FileField.php:165
    312322#: App/Fields/Types/Image.php:158
    … …  
    315325msgstr "Supprimer"
    316326
    317 #: App/Admin/Text.php:18
    318 msgctxt "User role"
    319 msgid "Administrator"
    320 msgstr "Administrateur"
    321 
    322 #: App/Admin/Text.php:19
    323 msgctxt "User role"
    324 msgid "Editor"
    325 msgstr "Éditeur"
    326 
    327 #: App/Admin/Text.php:24
     327#: App/Admin/Text.php:20
    328328msgid "Save"
    329329msgstr "Enregistrer"
    330330
    331 #: App/Admin/Text.php:25
     331#: App/Admin/Text.php:21
    332332msgid "New Pages"
    333333msgstr "Nouvelles pages"
    334334
    335 #: App/Admin/Text.php:28
     335#: App/Admin/Text.php:24
    336336msgid "Update"
    337337msgstr "Mettre à jour"
    338338
    339 #: App/Admin/Text.php:30
     339#: App/Admin/Text.php:26
    340340msgid "Edit Pages"
    341341msgstr "Modifier les pages"
    … …  
    400400msgstr "Modifier"
    401401
    402 #: App/Data.php:651
     402#: App/Data.php:653
    403403msgid "The link you followed has expired."
    404404msgstr "Le lien que vous avez suivi a expiré."
    405405
    406406#. translators: 1: a field type, 2: an option name
    407 #: App/Fields/FieldManager.php:164
     407#: App/Fields/FieldManager.php:171
    408408msgid "The field type \"%1$s\" of the option \"%2$s\" is not available, so the field is not shown. Activate the plugin that provides it. Nothing was deleted."
    409409msgstr "Le type de champ « %1$s » de l’option « %2$s » n’est pas disponible, le champ n’est donc pas affiché. Activez l’extension qui le fournit. Rien n’a été supprimé."
    … …  
    692692msgstr "Les tables de base de données de ce site ne peuvent pas annuler les modifications. Si quelque chose échoue en cours de route, une partie de l’import peut rester."
    693693
    694 #: App/ImportExport/Importer.php:112
     694#: App/ImportExport/Importer.php:141
    695695msgid "This menu is in the file more than once."
    696696msgstr "Ce menu figure plus d’une fois dans le fichier."
    697697
    698 #: App/ImportExport/Importer.php:118
     698#: App/ImportExport/Importer.php:147
    699699msgid "The menu on this site was saved by a newer version of the plugin. Update the plugin first."
    700700msgstr "Le menu de ce site a été enregistré par une version plus récente de l’extension. Mettez d’abord l’extension à jour."
    701701
    702 #: App/ImportExport/Importer.php:124
     702#: App/ImportExport/Importer.php:153
    703703msgid "Another menu on this site already has the id of this menu."
    704704msgstr "Un autre menu de ce site a déjà l’identifiant de ce menu."
    705705
    706706#. translators: %s: an option name
    707 #: App/ImportExport/Importer.php:137
     707#: App/ImportExport/Importer.php:166
    708708msgid "The option name \"%s\" is used by more than one menu in the file."
    709709msgstr "Le nom d’option « %s » est utilisé par plus d’un menu dans le fichier."
    710710
    711711#. translators: %s: the name of a field type
    712 #: App/ImportExport/Importer.php:228
     712#: App/ImportExport/Importer.php:257
    713713msgid "The field type \"%s\" is not available on this site. Activate the plugin that provides it."
    714714msgstr "Le type de champ « %s » n’est pas disponible sur ce site. Activez l’extension qui le fournit."
    715715
    716 #: App/ImportExport/Importer.php:233
     716#: App/ImportExport/Importer.php:262
    717717msgid "This is not a valid option name."
    718718msgstr "Ce n’est pas un nom d’option valide."
    719719
    720 #: App/ImportExport/Importer.php:235
     720#: App/ImportExport/Importer.php:264
    721721msgid "This option name is used by WordPress or another plugin."
    722722msgstr "Ce nom d’option est utilisé par WordPress ou une autre extension."
    723723
    724 #: App/ImportExport/Importer.php:300
     724#: App/ImportExport/Importer.php:329
    725725msgid "Something in this menu is not allowed."
    726726msgstr "Quelque chose dans ce menu n’est pas autorisé."
    727727
    728 #: App/ImportExport/Importer.php:310
     728#: App/ImportExport/Importer.php:339
    729729msgid "The name of this menu does not match what is in it."
    730730msgstr "Le nom de ce menu ne correspond pas à son contenu."
    731731
    732 #: App/ImportExport/Importer.php:429
     732#: App/ImportExport/Importer.php:458
    733733msgid "Checked"
    734734msgstr "Cochée"
    735735
    736 #: App/ImportExport/Importer.php:429
     736#: App/ImportExport/Importer.php:458
    737737msgid "Not checked"
    738738msgstr "Non cochée"
    739739
    740740#. translators: %s: the id of an image or file in the media library
    741 #: App/ImportExport/Importer.php:440
     741#: App/ImportExport/Importer.php:469
    742742msgid "Media ID %s"
    743743msgstr "ID de média %s"
    744744
    745 #: App/ImportExport/Importer.php:472
     745#: App/ImportExport/Importer.php:501
    746746msgid "This import has expired. Choose the file again."
    747747msgstr "Cet import a expiré. Choisissez à nouveau le fichier."
    748748
    749749#. translators: %s: the name of a menu
    750 #: App/ImportExport/Importer.php:613
     750#: App/ImportExport/Importer.php:642
    751751msgid "Without its first page the menu \"%s\" would get the name of a menu that is on this site already. Import the first page too, or choose another page as the first."
    752752msgstr "Sans sa première page, le menu « %s » prendrait le nom d’un menu déjà présent sur ce site. Importez aussi la première page, ou choisissez une autre page comme première."
    753753
    754 #: App/ImportExport/Importer.php:638
    755 #: App/ImportExport/Importer.php:691
     754#: App/ImportExport/Importer.php:667
     755#: App/ImportExport/Importer.php:720
    756756msgid "A choice was made for a menu that is not in the file."
    757757msgstr "Un choix a été fait pour un menu qui n’est pas dans le fichier."
    758758
    759 #: App/ImportExport/Importer.php:645
     759#: App/ImportExport/Importer.php:674
    760760msgid "A choice was made for a page or field that is not in the file."
    761761msgstr "Un choix a été fait pour une page ou un champ qui n’est pas dans le fichier."
    762762
    763 #: App/ImportExport/Importer.php:652
     763#: App/ImportExport/Importer.php:681
    764764msgid "A menu needs at least one page."
    765765msgstr "Un menu a besoin d’au moins une page."
    766766
    767767#. translators: %s: the title of a menu
    768 #: App/ImportExport/Importer.php:680
     768#: App/ImportExport/Importer.php:709
    769769msgid "That cannot be done with the menu \"%s\"."
    770770msgstr "Ce n’est pas possible avec le menu « %s »."
    771771
    772772#. translators: %s: an option name
    773 #: App/ImportExport/Importer.php:716
     773#: App/ImportExport/Importer.php:745
    774774msgid "That cannot be done with the option \"%s\"."
    775775msgstr "Ce n’est pas possible avec l’option « %s »."
    776776
    777 #: App/ImportExport/Importer.php:742
     777#: App/ImportExport/Importer.php:771
    778778msgid "A menu in the file could not be saved. Nothing was imported."
    779779msgstr "Un menu du fichier n’a pas pu être enregistré. Rien n’a été importé."
    780780
    781781#. translators: %s: an option name
    782 #: App/ImportExport/Importer.php:781
     782#: App/ImportExport/Importer.php:810
    783783msgid "The value of \"%s\" was changed by its field type."
    784784msgstr "La valeur de « %s » a été modifiée par son type de champ."
    … …  
    834834
    835835#. translators: 1: where in the file, 2: a number
    836 #: App/ImportExport/SchemaValidator.php:96
     836#: App/ImportExport/SchemaValidator.php:102
    837837msgid "%1$s has more than %2$d items."
    838838msgstr "%1$s a plus de %2$d éléments."
    839839
    840840#. translators: %s: where in the file
    841 #: App/ImportExport/SchemaValidator.php:101
     841#: App/ImportExport/SchemaValidator.php:107
    842842msgid "%s has no items."
    843843msgstr "%s n’a aucun élément."
    844844
    845845#. translators: 1: where in the file, 2: a number
    846 #: App/ImportExport/SchemaValidator.php:106
     846#: App/ImportExport/SchemaValidator.php:112
    847847msgid "%1$s has more than %2$d entries."
    848848msgstr "%1$s a plus de %2$d entrées."
    849849
    850850#. translators: 1: where in the file, 2: the name of what is missing
    851 #: App/ImportExport/SchemaValidator.php:112
     851#: App/ImportExport/SchemaValidator.php:118
    852852msgid "%1$s misses \"%2$s\"."
    853853msgstr "Il manque « %2$s » à %1$s."
    854854
    855 #: App/ImportExport/SchemaValidator.php:169
     855#: App/ImportExport/SchemaValidator.php:175
    856856msgid "The file"
    857857msgstr "Le fichier"
    … …  
    994994
    995995#: includes/build/editor.js:1
     996#: includes/build/editor.js:4
    996997msgid "Drag to reorder"
    997998msgstr "Faire glisser pour réorganiser"
    … …  
    11591160msgstr "Contenu statique"
    11601161
    1161 #: includes/build/editor.js:1
     1162#: includes/build/editor.js:4
    11621163msgid "Menu page title"
    11631164msgstr "Titre de la page dans le menu"
    11641165
    1165 #: includes/build/editor.js:1
     1166#: includes/build/editor.js:4
    11661167msgid "Page title"
    11671168msgstr "Titre de la page"
    11681169
    1169 #: includes/build/editor.js:1
     1170#: includes/build/editor.js:4
    11701171msgid "Page title on top"
    11711172msgstr "Titre de la page en haut"
    11721173
    1173 #: includes/build/editor.js:1
     1174#: includes/build/editor.js:4
    11741175msgid "Show page with tab"
    11751176msgstr "Afficher la page avec un onglet"
    11761177
    1177 #: includes/build/editor.js:1
    1178 msgid "User access level"
    1179 msgstr "Niveau d’accès"
    1180 
    1181 #: includes/build/editor.js:1
     1178#: includes/build/editor.js:4
    11821179msgid "Visit Page"
    11831180msgstr "Voir la page"
    11841181
    1185 #: includes/build/editor.js:1
     1182#: includes/build/editor.js:4
    11861183msgid "Delete Page"
    11871184msgstr "Supprimer la page"
    11881185
    1189 #: includes/build/editor.js:1
     1186#: includes/build/editor.js:4
    11901187msgid "Saving failed."
    11911188msgstr "L’enregistrement a échoué."
    11921189
    1193 #: includes/build/editor.js:1
     1190#: includes/build/editor.js:4
    11941191msgid "At this moment there is no proper support for small/mobile screens."
    11951192msgstr "Pour le moment, les petits écrans et les mobiles ne sont pas bien pris en charge."
    11961193
    1197 #: includes/build/editor.js:1
     1194#: includes/build/editor.js:4
    11981195msgid "We hope to fix this in a future version."
    11991196msgstr "Nous espérons corriger cela dans une prochaine version."
    12001197
    1201 #: includes/build/editor.js:1
     1198#: includes/build/editor.js:4
    12021199msgid "The minimum required screen width is 1000px."
    12031200msgstr "La largeur d’écran minimale est de 1000px."
    12041201
    1205 #: includes/build/editor.js:1
     1202#: includes/build/editor.js:4
    12061203msgid "Close dialog"
    12071204msgstr "Fermer la boîte de dialogue"
    … …  
    14121409msgid "Setting saved."
    14131410msgstr "Réglage enregistré."
     1411
     1412#. translators: 1: the slug of a user role, 2: the menu title of a page
     1413#: App/ImportExport/Importer.php:118
     1414msgid "The role \"%1$s\" of the page \"%2$s\" does not exist on this site. Until it does, users with that role cannot open the page."
     1415msgstr "Le rôle « %1$s » de la page « %2$s » n’existe pas sur ce site. Tant qu’il n’existe pas, les utilisateurs ayant ce rôle ne peuvent pas ouvrir la page."
     1416
     1417#. translators: %s: where in the file
     1418#: App/ImportExport/SchemaValidator.php:92
     1419msgid "%s has characters that are not allowed."
     1420msgstr "%s contient des caractères non autorisés."
     1421
     1422#. translators: %s: the slug of a role that does not exist on this site
     1423#: includes/build/editor.js:2
     1424msgid "%s (no longer available)"
     1425msgstr "%s (n’est plus disponible)"
     1426
     1427#. translators: 1: the name of a role, 2: the number of users with that role
     1428#: includes/build/editor.js:3
     1429msgid "%1$s (%2$d user)"
     1430msgid_plural "%1$s (%2$d users)"
     1431msgstr[0] "%1$s (%2$d utilisateur)"
     1432msgstr[1] "%1$s (%2$d utilisateurs)"
     1433
     1434#: includes/build/editor.js:3
     1435msgid "Administrator"
     1436msgstr "Administrateur"
     1437
     1438#: App/Admin/AdminPages/views/whats-new.php:34
     1439#: includes/build/editor.js:3
     1440#: includes/build/editor.js:4
     1441msgid "Who can edit"
     1442msgstr "Qui peut modifier"
     1443
     1444#. translators: %d: the number of roles besides administrator that can edit the page
     1445#: includes/build/editor.js:4
     1446msgid "Administrator + %d other"
     1447msgid_plural "Administrator + %d others"
     1448msgstr[0] "Administrateur + %d autre"
     1449msgstr[1] "Administrateur + %d autres"
     1450
     1451#: includes/build/editor.js:4
     1452msgid "Administrators always have access."
     1453msgstr "Les administrateurs ont toujours accès."
     1454
     1455#: includes/build/editor.js:4
     1456msgid "Users with this role cannot open the dashboard."
     1457msgstr "Les utilisateurs ayant ce rôle ne peuvent pas ouvrir le tableau de bord."
     1458
     1459#: includes/build/editor.js:4
     1460msgid "Done"
     1461msgstr "Terminé"
     1462
     1463#: App/Admin/AdminPages/SubpageWhatsNew.php:120
     1464msgid "Admin Options Pages 1.1 is here."
     1465msgstr "Admin Options Pages 1.1 est arrivé."
     1466
     1467#: App/Admin/AdminPages/SubpageWhatsNew.php:121
     1468msgid "You now choose per page which roles can edit it. Have a look at who can edit your pages."
     1469msgstr "Vous choisissez désormais pour chaque page les rôles qui peuvent la modifier. Vérifiez qui peut modifier vos pages."
     1470
     1471#: App/Admin/AdminPages/views/whats-new-1.0.php:122
     1472msgid "What is new in 1.1"
     1473msgstr "Les nouveautés de la 1.1"
     1474
     1475#: App/Admin/AdminPages/views/whats-new.php:20
     1476msgid "Admin Options Pages 1.1"
     1477msgstr "Admin Options Pages 1.1"
     1478
     1479#: App/Admin/AdminPages/views/whats-new.php:22
     1480msgid "Choose who can edit each page."
     1481msgstr "Choisissez qui peut modifier chaque page."
     1482
     1483#: App/Admin/AdminPages/views/whats-new.php:27
     1484msgid "Welcome to Admin Options Pages 1.1"
     1485msgstr "Bienvenue dans Admin Options Pages 1.1"
     1486
     1487#: App/Admin/AdminPages/views/whats-new.php:36
     1488msgid "Tick the roles that may edit a page."
     1489msgstr "Cochez les rôles qui peuvent modifier une page."
     1490
     1491#: App/Admin/AdminPages/views/whats-new.php:37
     1492msgid "Open a page in the editor and click the button next to \"Who can edit\". Every role of your site is there, also the roles of other plugins and the roles you made yourself. Users with a ticked role see the page in their menu and can save it; nobody else can."
     1493msgstr "Ouvrez une page dans l’éditeur et cliquez sur le bouton à côté de « Qui peut modifier ». Tous les rôles de votre site y figurent, y compris ceux d’autres extensions et ceux que vous avez créés. Les utilisateurs ayant un rôle coché voient la page dans leur menu et peuvent l’enregistrer ; personne d’autre ne le peut."
     1494
     1495#: App/Admin/AdminPages/views/whats-new.php:39
     1496msgid "Administrators can always open every page, and only administrators can build and change the pages themselves."
     1497msgstr "Les administrateurs peuvent toujours ouvrir toutes les pages, et seuls les administrateurs peuvent créer et modifier les pages elles-mêmes."
     1498
     1499#: App/Admin/AdminPages/views/whats-new.php:42
     1500msgid "The dialog \"Who can edit\" with a checkbox for every role of the site"
     1501msgstr "La fenêtre « Qui peut modifier » avec une case à cocher pour chaque rôle du site"
     1502
     1503#: App/Admin/AdminPages/views/whats-new.php:48
     1504msgid "What happens to your pages"
     1505msgstr "Ce qui arrive à vos pages"
     1506
     1507#: App/Admin/AdminPages/views/whats-new.php:49
     1508msgid "Nothing changes until you save a page again. A page that was set to Editor opens in the editor with the roles ticked that can edit it now: usually Editor, and with WooCommerce also Shop manager. Save the page to keep it that way, or change the roles first."
     1509msgstr "Rien ne change tant que vous n’enregistrez pas une page à nouveau. Une page réglée sur Éditeur s’ouvre dans l’éditeur avec les rôles cochés qui peuvent la modifier aujourd’hui : en général Éditeur, et avec WooCommerce aussi Gestionnaire de la boutique. Enregistrez la page pour garder cela, ou modifiez d’abord les rôles."
     1510
     1511#: App/Admin/AdminPages/views/whats-new.php:50
     1512msgid "From then on the ticked roles decide, not what a role may do elsewhere on the site. Did someone get access without one of these roles? Tick a role they have, or give them access to that page with a plugin that manages roles."
     1513msgstr "Ensuite, ce sont les rôles cochés qui décident, et non ce qu’un rôle peut faire ailleurs sur le site. Quelqu’un avait accès sans l’un de ces rôles ? Cochez un rôle qu’il possède, ou donnez-lui accès à cette page avec une extension de gestion des rôles."
     1514
     1515#: App/Admin/AdminPages/views/whats-new.php:56
     1516msgid "One user, one page"
     1517msgstr "Un utilisateur, une page"
     1518
     1519#: App/Admin/AdminPages/views/whats-new.php:57
     1520msgid "With a plugin that manages roles, such as Members or User Role Editor, you can give a single user access to a single page: every page is listed there under Admin Options Pages."
     1521msgstr "Avec une extension de gestion des rôles, comme Members ou User Role Editor, vous donnez à un seul utilisateur l’accès à une seule page : chaque page y figure sous Admin Options Pages."
     1522
     1523#: App/Admin/AdminPages/views/whats-new.php:60
     1524msgid "Roles move with your pages"
     1525msgstr "Les rôles suivent vos pages"
     1526
     1527#: App/Admin/AdminPages/views/whats-new.php:61
     1528msgid "An export takes the roles of every page with it. When a role does not exist on the site you import to, the preview tells you; the page is imported all the same."
     1529msgstr "Un export emporte les rôles de chaque page. Si un rôle n’existe pas sur le site où vous importez, l’aperçu vous le dit ; la page est tout de même importée."
     1530
     1531#: App/Admin/AdminPages/views/whats-new.php:64
     1532msgid "No dead ends"
     1533msgstr "Pas d’impasse"
     1534
     1535#: App/Admin/AdminPages/views/whats-new.php:65
     1536msgid "The editor tells you when a ticked role cannot open the dashboard at all, such as the Customer role of WooCommerce."
     1537msgstr "L’éditeur vous prévient lorsqu’un rôle coché ne peut pas du tout ouvrir le tableau de bord, comme le rôle Client de WooCommerce."
     1538
     1539#: App/Admin/AdminPages/views/whats-new.php:72
     1540msgid "Admin Options Pages 1.1 needs WordPress 6.9 or later and PHP 8.1 or later, like 1.0."
     1541msgstr "Admin Options Pages 1.1 nécessite WordPress 6.9 ou plus récent et PHP 8.1 ou plus récent, comme la 1.0."
     1542
     1543#: App/Admin/AdminPages/views/whats-new.php:77
     1544msgid "What was new in 1.0"
     1545msgstr "Les nouveautés de la 1.0"
     1546
     1547#: App/Admin/AdminPages/views/whats-new.php:28
     1548msgid "Your clients and colleagues now get exactly the pages they need. Choose the right roles for each page: Editor, Shop manager, Author, or a role you made yourself."
     1549msgstr "Vos clients et collègues obtiennent désormais exactement les pages dont ils ont besoin. Choisissez les bons rôles pour chaque page : Éditeur, Gestionnaire de la boutique, Auteur ou un rôle que vous avez créé vous-même."
  • admin-options-pages/tags/1.1.0/languages/admin-options-pages-nl_NL-40ab473175f2d6a502e444c4dd505d9d.json

    r3736451 r3750608  
    1 {"translation-revision-date":"2026-10-09T10:01:38+00:00","generator":"WP-CLI\/2.11.0","source":"includes\/build\/editor.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"nl","plural-forms":"nplurals=2; plural=(n != 1);"},"Settings":["Instellingen"],"Documentation":["Documentatie"],"Title":["Titel"],"Position":["Positie"],"Are you sure?":["Weet je het zeker?"],"Cancel":["Annuleren"],"Delete":["Verwijderen"],"Field label":["Veldlabel"],"Field name":["Veldnaam"],"Autoload":["Autoload"],"Use in shortcode and blocks":["In shortcode en blokken gebruiken"],"Additional CSS Class(es)":["Extra CSS-klasse(n)"],"Description":["Beschrijving"],"Default value":["Standaardwaarde"],"Button group":["Knoppengroep"],"Field values":["Veldwaarden"],"Checkbox":["Selectievakje"],"Text when checked":["Tekst als aangevinkt"],"Text when not checked":["Tekst als niet aangevinkt"],"Text after input field":["Tekst na het invoerveld"],"Color picker":["Kleurkiezer"],"Default color (HEX)":["Standaardkleur (HEX)"],"Date":["Datum"],"Field style":["Veldstijl"],"Date and time":["Datum en tijd"],"Email":["E-mail"],"Placeholder":["Plaatshouder"],"File":["Bestand"],"Allowed file types":["Toegestane bestandstypes"],"Horizontal rule":["Horizontale lijn"],"Image":["Afbeelding"],"Allowed extensions":["Toegestane extensies"],"Link":["Link"],"Number":["Getal"],"Minimum value":["Minimumwaarde"],"Maximum value":["Maximumwaarde"],"Decimals":["Decimalen"],"Password":["Wachtwoord"],"Radio buttons":["Keuzerondjes"],"Range":["Bereik"],"Select":["Selecteren"],"Textarea":["Tekstvak"],"Description italic":["Beschrijving cursief"],"Text field":["Tekstveld"],"Formatted as code":["Opgemaakt als code"],"Time":["Tijd"],"Wysiwyg editor":["Wysiwyg-editor"],"Show media upload buttons":["Knoppen voor media uploaden tonen"],"Toolbar":["Werkbalk"],"Icon":["Pictogram"],"Choose an icon":["Kies een pictogram"],"Search for an icon\u2026":["Zoek een pictogram\u2026"],"Nothing found.":["Niets gevonden."],"Add New Page":["Nieuwe pagina toevoegen"],"Menu Type":["Menutype"],"Custom menu":["Eigen menu"],"Existing menu":["Bestaand menu"],"Menu title":["Menutitel"],"Close settings":["Instellingen sluiten"],"Move left":["Naar links verplaatsen"],"Move up":["Omhoog verplaatsen"],"Move right":["Naar rechts verplaatsen"],"Move down":["Omlaag verplaatsen"],"Drag to reorder":["Slepen om de volgorde te wijzigen"],"Add block":["Blok toevoegen"],"Value":["Waarde"],"Label":["Label"],"Delete this row":["Deze rij verwijderen"],"Add a row":["Een rij toevoegen"],"Help":["Help"],"Shortcode":["Shortcode"],"Copied!":["Gekopieerd!"],"Copy":["Kopi\u00ebren"],"With get_option() the value is always available in PHP, also when this is off.":["Met get_option() is de waarde in PHP altijd beschikbaar, ook als dit uit staat."],"Field":["Veld"],"This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.":["Dit veldtype is niet beschikbaar. Activeer de plugin die het levert. Er is niets verwijderd: het veld wordt opgeslagen zoals het is."],"Options":["Opties"],"Regular":["Normaal"],"Small":["Klein"],"Large":["Groot"],"Standard":["Standaard"],"0":["0"],"1":["1"],"2":["2"],".jpeg .jpg":[".jpeg .jpg"],".png":[".png"],".gif":[".gif"],".svg":[".svg"],"This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.":["Deze site staat geen SVG-uploads toe. Een plugin zoals Safe SVG voegt dat veilig toe."],".ico":[".ico"],"Full":["Volledig"],"Basic":["Basis"],".pdf":[".pdf"],".doc":[".doc"],".docx":[".docx"],".xls":[".xls"],".xlsx":[".xlsx"],".csv":[".csv"],".zip":[".zip"],".txt":[".txt"],"Add a field":["Een veld toevoegen"],"Search\u2026":["Zoeken\u2026"],"Options fields":["Optievelden"],"Static content":["Vaste inhoud"],"Menu page title":["Paginatitel in menu"],"Page title":["Paginatitel"],"Page title on top":["Paginatitel bovenaan"],"Show page with tab":["Pagina met tab tonen"],"User access level":["Toegangsniveau"],"Visit Page":["Pagina bekijken"],"Delete Page":["Pagina verwijderen"],"Saving failed.":["Opslaan mislukt."],"At this moment there is no proper support for small\/mobile screens.":["Op dit moment worden kleine\/mobiele schermen niet goed ondersteund."],"We hope to fix this in a future version.":["We hopen dit in een volgende versie op te lossen."],"The minimum required screen width is 1000px.":["De minimale schermbreedte is 1000px."],"Close dialog":["Dialoogvenster sluiten"]}}}
     1{"translation-revision-date":"2026-10-09T10:01:38+00:00","generator":"WP-CLI\/2.11.0","source":"includes\/build\/editor.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"nl","plural-forms":"nplurals=2; plural=(n != 1);"},"Settings":["Instellingen"],"Documentation":["Documentatie"],"Title":["Titel"],"Position":["Positie"],"Are you sure?":["Weet je het zeker?"],"Cancel":["Annuleren"],"Delete":["Verwijderen"],"Field label":["Veldlabel"],"Field name":["Veldnaam"],"Autoload":["Autoload"],"Use in shortcode and blocks":["In shortcode en blokken gebruiken"],"Additional CSS Class(es)":["Extra CSS-klasse(n)"],"Description":["Beschrijving"],"Default value":["Standaardwaarde"],"Button group":["Knoppengroep"],"Field values":["Veldwaarden"],"Checkbox":["Selectievakje"],"Text when checked":["Tekst als aangevinkt"],"Text when not checked":["Tekst als niet aangevinkt"],"Text after input field":["Tekst na het invoerveld"],"Color picker":["Kleurkiezer"],"Default color (HEX)":["Standaardkleur (HEX)"],"Date":["Datum"],"Field style":["Veldstijl"],"Date and time":["Datum en tijd"],"Email":["E-mail"],"Placeholder":["Plaatshouder"],"File":["Bestand"],"Allowed file types":["Toegestane bestandstypes"],"Horizontal rule":["Horizontale lijn"],"Image":["Afbeelding"],"Allowed extensions":["Toegestane extensies"],"Link":["Link"],"Number":["Getal"],"Minimum value":["Minimumwaarde"],"Maximum value":["Maximumwaarde"],"Decimals":["Decimalen"],"Password":["Wachtwoord"],"Radio buttons":["Keuzerondjes"],"Range":["Bereik"],"Select":["Selecteren"],"Textarea":["Tekstgebied"],"Description italic":["Beschrijving cursief"],"Text field":["Tekstveld"],"Formatted as code":["Opgemaakt als code"],"Time":["Tijd"],"Wysiwyg editor":["Wysiwyg-editor"],"Show media upload buttons":["Knoppen voor media uploaden tonen"],"Toolbar":["Toolbar"],"Icon":["Icoon"],"Choose an icon":["Kies een icoon"],"Search for an icon\u2026":["Zoek een icoon\u2026"],"Nothing found.":["Niets gevonden."],"Add New Page":["Nieuwe pagina toevoegen"],"Menu Type":["Menutype"],"Custom menu":["Eigen menu"],"Existing menu":["Bestaand menu"],"Menu title":["Menutitel"],"Close settings":["Instellingen sluiten"],"Move left":["Naar links verplaatsen"],"Move up":["Omhoog verplaatsen"],"Move right":["Naar rechts verplaatsen"],"Move down":["Omlaag verplaatsen"],"Drag to reorder":["Slepen om de volgorde te wijzigen"],"Add block":["Blok toevoegen"],"Value":["Waarde"],"Label":["Label"],"Delete this row":["Deze rij verwijderen"],"Add a row":["Een rij toevoegen"],"Help":["Help"],"Shortcode":["Shortcode"],"Copied!":["Gekopieerd!"],"Copy":["Kopi\u00ebren"],"With get_option() the value is always available in PHP, also when this is off.":["Met get_option() is de waarde in PHP altijd beschikbaar, ook als dit uit staat."],"Field":["Veld"],"This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.":["Dit veldtype is niet beschikbaar. Activeer de plugin die het levert. Er is niets verwijderd: het veld wordt opgeslagen zoals het is."],"Options":["Opties"],"Regular":["Normaal"],"Small":["Klein"],"Large":["Groot"],"Standard":["Standaard"],"0":["0"],"1":["1"],"2":["2"],".jpeg .jpg":[".jpeg .jpg"],".png":[".png"],".gif":[".gif"],".svg":[".svg"],"This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.":["Deze site staat geen SVG-uploads toe. Een plugin zoals Safe SVG voegt dat veilig toe."],".ico":[".ico"],"Full":["Volledig"],"Basic":["Basis"],".pdf":[".pdf"],".doc":[".doc"],".docx":[".docx"],".xls":[".xls"],".xlsx":[".xlsx"],".csv":[".csv"],".zip":[".zip"],".txt":[".txt"],"Add a field":["Een veld toevoegen"],"Search\u2026":["Zoeken\u2026"],"Options fields":["Optievelden"],"Static content":["Statische content"],"Menu page title":["Paginatitel in menu"],"Page title":["Paginatitel"],"Page title on top":["Paginatitel bovenaan"],"Show page with tab":["Pagina met tab tonen"],"Visit Page":["Pagina bekijken"],"Delete Page":["Pagina verwijderen"],"Saving failed.":["Opslaan mislukt."],"At this moment there is no proper support for small\/mobile screens.":["Op dit moment worden kleine\/mobiele schermen niet goed ondersteund."],"We hope to fix this in a future version.":["We hopen dit in een volgende versie op te lossen."],"The minimum required screen width is 1000px.":["De minimale schermbreedte is 1000px."],"Close dialog":["Dialoogvenster sluiten"],"%s (no longer available)":["%s (niet meer beschikbaar)"],"%1$s (%2$d user)":["%1$s (%2$d gebruiker)","%1$s (%2$d gebruikers)"],"Administrator":["Beheerder"],"Who can edit":["Wie kan bewerken"],"Administrator + %d other":["Beheerder + %d andere","Beheerder + %d andere"],"Administrators always have access.":["Beheerders hebben altijd toegang."],"Users with this role cannot open the dashboard.":["Gebruikers met deze rol kunnen het dashboard niet openen."],"Done":["Klaar"]}}}
  • admin-options-pages/tags/1.1.0/languages/admin-options-pages-nl_NL.l10n.php

    r3736451 r3750608  
    11<?php
    2 return ['domain'=>'admin-options-pages','plural-forms'=>'nplurals=2; plural=(n != 1);','language'=>'nl','project-id-version'=>'Admin Options Pages 1.0.0','pot-creation-date'=>'2026-10-09T10:01:38+00:00','po-revision-date'=>'2026-10-09T10:01:38+00:00','x-generator'=>'WP-CLI 2.11.0','messages'=>['Admin Options Pages'=>'Admin Options Pages','https://adminoptionspages.com'=>'https://adminoptionspages.com','Create and edit your own options pages with ease.'=>'Maak en bewerk eenvoudig je eigen optiepagina\'s.','Johannes van Poelgeest'=>'Johannes van Poelgeest','https://poolghost.com'=>'https://poolghost.com','Options Pages'=>'Optiepagina\'s','All Options Pages'=>'Alle optiepagina\'s','Add new'=>'Nieuwe toevoegen','edit Page'=>'Pagina bewerken','What\'s new in Admin Options Pages 1.0'=>'Wat is er nieuw in Admin Options Pages 1.0','What\'s new'=>'Wat is er nieuw','Settings'=>'Instellingen','Import / Export'=>'Importeren / exporteren','Saved.'=>'Opgeslagen.','Updated.'=>'Bijgewerkt.','Pages deleted.'=>'Pagina\'s verwijderd.','Page deleted.'=>'Pagina verwijderd.','You attempted to edit a menu that does not exist. Perhaps it was deleted?'=>'Je probeert een menu te bewerken dat niet bestaat. Misschien is het verwijderd?','Go to all options pages'=>'Naar alle optiepagina\'s','Menu not found'=>'Menu niet gevonden','Global Settings'=>'Algemene instellingen','Sorry, you are not allowed to export.'=>'Je hebt geen toestemming om te exporteren.','Creating options pages has never been easier.'=>'Optiepagina\'s maken was nog nooit zo eenvoudig.','Documentation'=>'Documentatie','love'=>'fijn vindt','five stars'=>'vijf sterren','If you really %1$s this plugin, consider giving some %2$s to help make %3$s more known.'=>'Als je deze plugin echt %1$s, geef dan %2$s om %3$s bekender te maken.','Admin Options Pages 1.0 is here.'=>'Admin Options Pages 1.0 is er.','Import and export with your data, your own field types, nine new field types and your values on your website.'=>'Importeren en exporteren met je gegevens, je eigen veldtypes, negen nieuwe veldtypes en je waarden op je website.','See what\'s new'=>'Bekijk wat er nieuw is','Admin Options Pages 1.0'=>'Admin Options Pages 1.0','Import and export with your data, your own field types and your values on your website.'=>'Importeren en exporteren met je gegevens, je eigen veldtypes en je waarden op je website.','Welcome to Admin Options Pages 1.0'=>'Welkom bij Admin Options Pages 1.0','This is the biggest update of the plugin so far. Menus now move to another site with all their values, so the options pages you built and filled locally go live in one file. You can add field types of your own, there are nine new built-in ones, and the values of your fields can be shown on your website without code. Your menus, pages, fields and values are all still here.'=>'Dit is de grootste update van de plugin tot nu toe. Menu\'s gaan nu met al hun waarden naar een andere site, dus de optiepagina\'s die je lokaal hebt gebouwd en gevuld, gaan in één bestand live. Je kunt eigen veldtypes toevoegen, er zijn negen nieuwe ingebouwde, en de waarden van je velden kun je zonder code op je website tonen. Je menu\'s, pagina\'s, velden en waarden zijn er allemaal nog.','Import and export, with your data'=>'Importeren en exporteren, met je gegevens','Build and fill your options pages locally, then take them live in one file.'=>'Bouw en vul je optiepagina\'s lokaal, en zet ze daarna in één bestand live.','Export the menus you choose together with the values of their fields, and import them on your live site, a staging site or your next project. No more typing the same settings twice.'=>'Exporteer de menu\'s die je kiest samen met de waarden van hun velden, en importeer ze op je live site, een testsite of je volgende project. Nooit meer dezelfde instellingen twee keer invullen.','Before anything changes you see what would happen, and you choose per menu, page, field and value. Nothing is replaced unless you choose it, and an import is all or nothing. Exports made with 0.9 can be imported too.'=>'Voordat er iets verandert, zie je wat er zou gebeuren, en je kiest per menu, pagina, veld en waarde. Er wordt niets vervangen tenzij je dat kiest, en een import gebeurt helemaal of helemaal niet. Exports van 0.9 kun je ook importeren.','The preview of an import, with a checkbox for every menu, page, field and value'=>'De preview van een import, met een selectievakje voor elk menu, elke pagina, elk veld en elke waarde','An options page with a logo, a brand color and contact details'=>'Een optiepagina met een logo, een merkkleur en contactgegevens','Nine new field types'=>'Negen nieuwe veldtypes','Email, Link, Password, Date, Time, Date and time, Range, Button group and File.'=>'E-mail, Link, Wachtwoord, Datum, Tijd, Datum en tijd, Bereik, Knoppengroep en Bestand.','That makes 21 field types. Each one checks what is entered, and an image or file field only accepts the file types you choose, also when something is uploaded.'=>'Daarmee zijn er 21 veldtypes. Elk type controleert wat er wordt ingevuld, en een afbeeldings- of bestandsveld accepteert alleen de bestandstypes die je kiest, ook bij het uploaden.','Your own field types'=>'Je eigen veldtypes','Need a field that is not there? Add it yourself.'=>'Mis je een veld? Voeg het zelf toe.','Register a field type from your theme or plugin with one class: what the editor asks for, how the value is checked and stored, and how it shows on the options page and on your website. It appears in the field picker next to the built-in types, which use exactly the same API.'=>'Registreer een veldtype vanuit je thema of plugin met één klasse: wat de editor vraagt, hoe de waarde wordt gecontroleerd en opgeslagen, en hoe hij op de optiepagina en op je website wordt getoond. Hij verschijnt in de veldkiezer naast de ingebouwde types, die precies dezelfde API gebruiken.','The Field Types API is stable from 1.0 on and follows semantic versioning, so your field types keep working with the next versions.'=>'De Field Types API is stabiel vanaf 1.0 en volgt semantic versioning, dus je veldtypes blijven werken met de volgende versies.','A paragraph connected to a field in the Attributes panel'=>'Een alinea gekoppeld aan een veld in het paneel Attributen','Your values on your website'=>'Je waarden op je website','With a shortcode or a block, no code needed.'=>'Met een shortcode of een blok, zonder code.','Put a field in a post with [aop_option name="…"], or connect a paragraph, heading, button or image to it in the Attributes panel of the block editor. Change the value once, and it changes everywhere.'=>'Zet een veld in een bericht met [aop_option name="…"], of koppel er een alinea, kop, knop of afbeelding aan in het paneel Attributen van de blokeditor. Pas de waarde één keer aan, en hij verandert overal.','Switch on "Use in shortcode and blocks" for the fields you want to show. Fields made before 1.0 have it off, so nothing appears on your website by itself.'=>'Zet "In shortcode en blokken gebruiken" aan voor de velden die je wilt tonen. Bij velden die vóór 1.0 zijn gemaakt staat het uit, dus er verschijnt niets vanzelf op je website.','Rewritten in React'=>'Herschreven in React','Under the hood the editor is rewritten in React, the WordPress way: with the components and the data store the block editor is made of.'=>'Onder de motorkap is de editor herschreven in React, op de manier van WordPress: met de componenten en de datastore waar de blokeditor van gemaakt is.','Change any saved value'=>'Elke opgeslagen waarde aanpassen','Developers can change the value of any field before it is stored with the new filters aop_sanitized_option and aop_sanitized_option_{name}.'=>'Developers kunnen de waarde van elk veld aanpassen voordat hij wordt opgeslagen, met de nieuwe filters aop_sanitized_option en aop_sanitized_option_{name}.','A safe upgrade'=>'Een veilige upgrade','Your pages are stored in a new format now. A copy in the old format is kept for 90 days.'=>'Je pagina\'s worden nu in een nieuw formaat opgeslagen. Een kopie in het oude formaat wordt 90 dagen bewaard.','Requirements'=>'Vereisten','Admin Options Pages 1.0 needs WordPress 6.9 or later and PHP 8.1 or later.'=>'Admin Options Pages 1.0 heeft WordPress 6.9 of hoger en PHP 8.1 of hoger nodig.','Go to your options pages'=>'Naar je optiepagina\'s','Read the documentation'=>'Lees de documentatie','media modal menuMenu'=>'Menu','Title'=>'Titel','Position'=>'Positie','Pages'=>'Pagina\'s','Dismiss this notice.'=>'Deze melding verbergen.','Publish'=>'Publiceren','Are you sure?'=>'Weet je het zeker?','Cancel'=>'Annuleren','Delete'=>'Verwijderen','User roleAdministrator'=>'Beheerder','User roleEditor'=>'Redacteur','Save'=>'Opslaan','New Pages'=>'Nieuwe pagina\'s','Update'=>'Bijwerken','Edit Pages'=>'Pagina\'s bewerken','List View'=>'Lijstweergave','Excerpt View'=>'Samenvattingsweergave','No items found.'=>'Geen items gevonden.','Show more details'=>'Meer details tonen','%s item'=>'%s item' . "\0" . '%s items','First page'=>'Eerste pagina','Previous page'=>'Vorige pagina','Current Page'=>'Huidige pagina','paging%1$s of %2$s'=>'%1$s van %2$s','Next page'=>'Volgende pagina','Last page'=>'Laatste pagina','Select All'=>'Alles selecteren','Edit'=>'Bewerken','The link you followed has expired.'=>'De link die je hebt gevolgd is verlopen.','The field type "%1$s" of the option "%2$s" is not available, so the field is not shown. Activate the plugin that provides it. Nothing was deleted.'=>'Het veldtype "%1$s" van de optie "%2$s" is niet beschikbaar, daarom wordt het veld niet getoond. Activeer de plugin die het levert. Er is niets verwijderd.','%s is not a field type.'=>'%s is geen veldtype.','The field type "%1$s" is already registered; %2$s was ignored.'=>'Het veldtype "%1$s" is al geregistreerd; %2$s is genegeerd.','%1$s is not the class of the field type "%2$s".'=>'%1$s is niet de klasse van het veldtype "%2$s".','Field label'=>'Veldlabel','Field name'=>'Veldnaam','Autoload'=>'Autoload','Use in shortcode and blocks'=>'In shortcode en blokken gebruiken','Additional CSS Class(es)'=>'Extra CSS-klasse(n)','Description'=>'Beschrijving','Default value'=>'Standaardwaarde','Button group'=>'Knoppengroep','Field values'=>'Veldwaarden','Checkbox'=>'Selectievakje','Text when checked'=>'Tekst als aangevinkt','Text when not checked'=>'Tekst als niet aangevinkt','Text after input field'=>'Tekst na het invoerveld','Color picker'=>'Kleurkiezer','Default color (HEX)'=>'Standaardkleur (HEX)','Date'=>'Datum','Field style'=>'Veldstijl','Date and time'=>'Datum en tijd','Email'=>'E-mail','Placeholder'=>'Plaatshouder','File'=>'Bestand','Allowed file types'=>'Toegestane bestandstypes','Upload'=>'Uploaden','Horizontal rule'=>'Horizontale lijn','Image'=>'Afbeelding','Allowed extensions'=>'Toegestane extensies','Link'=>'Link','Number'=>'Getal','Minimum value'=>'Minimumwaarde','Maximum value'=>'Maximumwaarde','Decimals'=>'Decimalen','Password'=>'Wachtwoord','Radio buttons'=>'Keuzerondjes','Range'=>'Bereik','Select'=>'Selecteren','Textarea'=>'Tekstvak','Description italic'=>'Beschrijving cursief','Text field'=>'Tekstveld','Formatted as code'=>'Opgemaakt als code','Time'=>'Tijd','Wysiwyg editor'=>'Wysiwyg-editor','Show media upload buttons'=>'Knoppen voor media uploaden tonen','Toolbar'=>'Werkbalk','The value on this settings field is not allowed.'=>'De waarde van dit instellingenveld is niet toegestaan.','Some of the value on this settings field is not allowed.'=>'Een deel van de waarde van dit instellingenveld is niet toegestaan.','This is not a correct formatted Hex color.'=>'Dit is geen correct opgemaakte hex-kleur.','the shortcode has no name="..."'=>'de shortcode heeft geen name="..."','"Use in shortcode and blocks" is off for this field, or its type cannot be shown'=>'"In shortcode en blokken gebruiken" staat uit voor dit veld, of het type kan niet worden getoond','this is not an option of Admin Options Pages'=>'dit is geen optie van Admin Options Pages','The database tables of this site cannot roll back. If something goes wrong halfway, part of the import may remain.'=>'De databasetabellen van deze site kunnen niet terugdraaien. Gaat er halverwege iets mis, dan kan een deel van de import blijven staan.','This menu is in the file more than once.'=>'Dit menu staat meer dan één keer in het bestand.','The menu on this site was saved by a newer version of the plugin. Update the plugin first.'=>'Het menu op deze site is opgeslagen met een nieuwere versie van de plugin. Werk eerst de plugin bij.','Another menu on this site already has the id of this menu.'=>'Een ander menu op deze site heeft al de id van dit menu.','The option name "%s" is used by more than one menu in the file.'=>'De optienaam "%s" wordt in het bestand door meer dan één menu gebruikt.','The field type "%s" is not available on this site. Activate the plugin that provides it.'=>'Het veldtype "%s" is niet beschikbaar op deze site. Activeer de plugin die het levert.','This is not a valid option name.'=>'Dit is geen geldige optienaam.','This option name is used by WordPress or another plugin.'=>'Deze optienaam wordt gebruikt door WordPress of een andere plugin.','Something in this menu is not allowed.'=>'Iets in dit menu is niet toegestaan.','The name of this menu does not match what is in it.'=>'De naam van dit menu klopt niet met wat erin staat.','Checked'=>'Aangevinkt','Not checked'=>'Niet aangevinkt','Media ID %s'=>'Media-ID %s','This import has expired. Choose the file again.'=>'Deze import is verlopen. Kies het bestand opnieuw.','Without its first page the menu "%s" would get the name of a menu that is on this site already. Import the first page too, or choose another page as the first.'=>'Zonder de eerste pagina krijgt het menu "%s" de naam van een menu dat al op deze site staat. Importeer ook de eerste pagina, of kies een andere pagina als eerste.','A choice was made for a menu that is not in the file.'=>'Er is een keuze gemaakt voor een menu dat niet in het bestand staat.','A choice was made for a page or field that is not in the file.'=>'Er is een keuze gemaakt voor een pagina of veld dat niet in het bestand staat.','A menu needs at least one page.'=>'Een menu heeft minstens één pagina nodig.','That cannot be done with the menu "%s".'=>'Dat kan niet met het menu "%s".','That cannot be done with the option "%s".'=>'Dat kan niet met de optie "%s".','A menu in the file could not be saved. Nothing was imported.'=>'Een menu in het bestand kon niet worden opgeslagen. Er is niets geïmporteerd.','The value of "%s" was changed by its field type.'=>'De waarde van "%s" is aangepast door het veldtype.','The file is too large to import.'=>'Het bestand is te groot om te importeren.','This is not a JSON file, or it is not valid UTF-8.'=>'Dit is geen JSON-bestand, of het is geen geldige UTF-8.','This file does not look like an export of Admin Options Pages.'=>'Dit bestand lijkt geen export van Admin Options Pages.','This file has export format %1$d. This version of the plugin reads format %2$d. Update the plugin on this site and try again.'=>'Dit bestand heeft exportformaat %1$d. Deze versie van de plugin leest formaat %2$d. Werk de plugin op deze site bij en probeer het opnieuw.','%1$s must be of type %2$s.'=>'%1$s moet van het type %2$s zijn.','%s has a value that is not supported.'=>'%s heeft een waarde die niet wordt ondersteund.','%s has a value that is not allowed.'=>'%s heeft een waarde die niet is toegestaan.','%s does not have what it needs.'=>'%s heeft niet wat het nodig heeft.','%1$s is longer than %2$d characters.'=>'%1$s is langer dan %2$d tekens.','%s is empty.'=>'%s is leeg.','%1$s has more than %2$d items.'=>'%1$s heeft meer dan %2$d items.','%s has no items.'=>'%s heeft geen items.','%1$s has more than %2$d entries.'=>'%1$s heeft meer dan %2$d onderdelen.','%1$s misses "%2$s".'=>'%1$s mist "%2$s".','The file'=>'Het bestand','Choose a file to import.'=>'Kies een bestand om te importeren.','The request is not complete.'=>'Het verzoek is niet compleet.','The page is not valid.'=>'De pagina is niet geldig.','This page does not exist.'=>'Deze pagina bestaat niet.','There are no pages to save.'=>'Er zijn geen pagina\'s om op te slaan.','Every page needs a menu title.'=>'Elke pagina heeft een menutitel nodig.','"%s" is not a valid option name.'=>'"%s" is geen geldige optienaam.','Every field with an option needs an option name.'=>'Elk veld met een optie heeft een optienaam nodig.','The option name "%s" is used more than once.'=>'De optienaam "%s" wordt meer dan één keer gebruikt.','The option name "%s" is already in use.'=>'De optienaam "%s" is al in gebruik.','This menu is already used by another options page.'=>'Dit menu wordt al door een andere optiepagina gebruikt.','The menu position is not valid.'=>'De menupositie is niet geldig.','The menu title is not valid.'=>'De menutitel is niet geldig.','The menu icon is not valid.'=>'Het menupictogram is niet geldig.','Select or upload a file'=>'Een bestand selecteren of uploaden','Use this file'=>'Dit bestand gebruiken','Allowed files'=>'Toegestane bestanden','Select or upload image'=>'Een afbeelding selecteren of uploaden','Use this image'=>'Deze afbeelding gebruiken','Icon'=>'Pictogram','Choose an icon'=>'Kies een pictogram','Search for an icon…'=>'Zoek een pictogram…','Nothing found.'=>'Niets gevonden.','Add New Page'=>'Nieuwe pagina toevoegen','Menu Type'=>'Menutype','Custom menu'=>'Eigen menu','Existing menu'=>'Bestaand menu','Menu title'=>'Menutitel','Close settings'=>'Instellingen sluiten','Move left'=>'Naar links verplaatsen','Move up'=>'Omhoog verplaatsen','Move right'=>'Naar rechts verplaatsen','Move down'=>'Omlaag verplaatsen','Drag to reorder'=>'Slepen om de volgorde te wijzigen','Add block'=>'Blok toevoegen','Value'=>'Waarde','Label'=>'Label','Delete this row'=>'Deze rij verwijderen','Add a row'=>'Een rij toevoegen','Help'=>'Help','Shortcode'=>'Shortcode','Copied!'=>'Gekopieerd!','Copy'=>'Kopiëren','With get_option() the value is always available in PHP, also when this is off.'=>'Met get_option() is de waarde in PHP altijd beschikbaar, ook als dit uit staat.','Field'=>'Veld','This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.'=>'Dit veldtype is niet beschikbaar. Activeer de plugin die het levert. Er is niets verwijderd: het veld wordt opgeslagen zoals het is.','Options'=>'Opties','Regular'=>'Normaal','Small'=>'Klein','Large'=>'Groot','Standard'=>'Standaard',0=>'0',1=>'1',2=>'2','.jpeg .jpg'=>'.jpeg .jpg','.png'=>'.png','.gif'=>'.gif','.svg'=>'.svg','This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.'=>'Deze site staat geen SVG-uploads toe. Een plugin zoals Safe SVG voegt dat veilig toe.','.ico'=>'.ico','Full'=>'Volledig','Basic'=>'Basis','.pdf'=>'.pdf','.doc'=>'.doc','.docx'=>'.docx','.xls'=>'.xls','.xlsx'=>'.xlsx','.csv'=>'.csv','.zip'=>'.zip','.txt'=>'.txt','Add a field'=>'Een veld toevoegen','Search…'=>'Zoeken…','Options fields'=>'Optievelden','Static content'=>'Vaste inhoud','Menu page title'=>'Paginatitel in menu','Page title'=>'Paginatitel','Page title on top'=>'Paginatitel bovenaan','Show page with tab'=>'Pagina met tab tonen','User access level'=>'Toegangsniveau','Visit Page'=>'Pagina bekijken','Delete Page'=>'Pagina verwijderen','Saving failed.'=>'Opslaan mislukt.','At this moment there is no proper support for small/mobile screens.'=>'Op dit moment worden kleine/mobiele schermen niet goed ondersteund.','We hope to fix this in a future version.'=>'We hopen dit in een volgende versie op te lossen.','The minimum required screen width is 1000px.'=>'De minimale schermbreedte is 1000px.','Close dialog'=>'Dialoogvenster sluiten','The menus could not be loaded.'=>'De menu\'s konden niet worden geladen.','Export'=>'Exporteren','There\'s nothing to export.'=>'Er is niets om te exporteren.','Uncheck all'=>'Alles uitvinken','Check all'=>'Alles aanvinken','Export file'=>'Bestand exporteren','New'=>'Nieuw','Already on this site, replaced when checked'=>'Staat al op deze site, wordt vervangen als het is aangevinkt','Cannot be imported'=>'Kan niet worden geïmporteerd','Same value as on this site'=>'Dezelfde waarde als op deze site','Different value on this site, replaced when checked'=>'Andere waarde op deze site, wordt vervangen als het is aangevinkt','Belongs to something else'=>'Hoort bij iets anders','Menu'=>'Menu','The menu on this site is replaced by the one in the file, also when its fields are of another type. Options of fields that are not in the file any more are deleted.'=>'Het menu op deze site wordt vervangen door het menu in het bestand, ook als de velden een ander type hebben. Opties van velden die niet meer in het bestand staan, worden verwijderd.','(no title)'=>'(geen titel)','Main page'=>'Hoofdpagina','Page'=>'Pagina','No value in the file'=>'Geen waarde in het bestand','Field name:'=>'Veldnaam:','Field label:'=>'Veldlabel:','The field moves here from the menu "%s".'=>'Het veld verhuist hierheen uit het menu "%s".','Empty'=>'Leeg','Value in the file: %s'=>'Waarde in het bestand: %s','%1$s and %2$s'=>'%1$s en %2$s','%s has been imported'=>'%s is geïmporteerd','%s have been imported'=>'%s zijn geïmporteerd','%d menu has been imported'=>'%d menu is geïmporteerd' . "\0" . '%d menu\'s zijn geïmporteerd','%s has been replaced'=>'%s is vervangen','%s have been replaced'=>'%s zijn vervangen','%d menu has been replaced'=>'%d menu is vervangen' . "\0" . '%d menu\'s zijn vervangen','The import is done.'=>'De import is klaar.',', with %d value'=>', met %d waarde' . "\0" . ', met %d waarden','Something went wrong. Nothing was imported.'=>'Er ging iets mis. Er is niets geïmporteerd.','Import selection'=>'Selectie importeren','Choose another file'=>'Een ander bestand kiezen','Import'=>'Importeren','Drop the JSON file here'=>'Zet het JSON-bestand hier neer','Drop a JSON file here'=>'Zet een JSON-bestand hier neer','or'=>'of','Select a file'=>'Een bestand selecteren','Maximum file size: %s.'=>'Maximale bestandsgrootte: %s.','You see what would happen before anything is imported.'=>'Je ziet wat er zou gebeuren voordat er iets wordt geïmporteerd.','File: %s'=>'Bestand: %s','Import another file'=>'Een ander bestand importeren','Hide "Edit page" button'=>'Knop "Pagina bewerken" verbergen','The setting could not be saved.'=>'De instelling kon niet worden opgeslagen.','Setting saved.'=>'Instelling opgeslagen.']];
     2return ['domain'=>'admin-options-pages','plural-forms'=>'nplurals=2; plural=(n != 1);','language'=>'nl','project-id-version'=>'Admin Options Pages 1.0.0','pot-creation-date'=>'2026-10-09T10:01:38+00:00','po-revision-date'=>'2026-10-09T10:01:38+00:00','x-generator'=>'WP-CLI 2.11.0','messages'=>['Admin Options Pages'=>'Admin Options Pages','https://adminoptionspages.com'=>'https://adminoptionspages.com','Create and edit your own options pages with ease.'=>'Maak en bewerk eenvoudig je eigen optiepagina\'s.','Johannes van Poelgeest'=>'Johannes van Poelgeest','https://poolghost.com'=>'https://poolghost.com','Options Pages'=>'Optiepagina\'s','All Options Pages'=>'Alle optiepagina\'s','Add new'=>'Nieuwe toevoegen','edit Page'=>'Pagina bewerken','What\'s new in Admin Options Pages 1.0'=>'Wat is er nieuw in Admin Options Pages 1.0','What\'s new'=>'Wat is er nieuw','Settings'=>'Instellingen','Import / Export'=>'Importeren / exporteren','Saved.'=>'Opgeslagen.','Updated.'=>'Geüpdatet.','Pages deleted.'=>'Pagina\'s verwijderd.','Page deleted.'=>'Pagina verwijderd.','You attempted to edit a menu that does not exist. Perhaps it was deleted?'=>'Je probeert een menu te bewerken dat niet bestaat. Misschien is het verwijderd?','Go to all options pages'=>'Naar alle optiepagina\'s','Menu not found'=>'Menu niet gevonden','Global Settings'=>'Algemene instellingen','Sorry, you are not allowed to export.'=>'Je hebt geen toestemming om te exporteren.','Creating options pages has never been easier.'=>'Optiepagina\'s maken was nog nooit zo eenvoudig.','Documentation'=>'Documentatie','love'=>'fijn vindt','five stars'=>'vijf sterren','If you really %1$s this plugin, consider giving some %2$s to help make %3$s more known.'=>'Als je deze plugin echt %1$s, geef dan %2$s om %3$s bekender te maken.','See what\'s new'=>'Bekijk wat er nieuw is','Admin Options Pages 1.0'=>'Admin Options Pages 1.0','Import and export with your data, your own field types and your values on your website.'=>'Importeren en exporteren met je gegevens, je eigen veldtypes en je waarden op je site.','Welcome to Admin Options Pages 1.0'=>'Welkom bij Admin Options Pages 1.0','This is the biggest update of the plugin so far. Menus now move to another site with all their values, so the options pages you built and filled locally go live in one file. You can add field types of your own, there are nine new built-in ones, and the values of your fields can be shown on your website without code. Your menus, pages, fields and values are all still here.'=>'Dit is de grootste update van de plugin tot nu toe. Menu\'s gaan nu met al hun waarden naar een andere site, dus de optiepagina\'s die je lokaal hebt gebouwd en gevuld, gaan in één bestand live. Je kunt eigen veldtypes toevoegen, er zijn negen nieuwe ingebouwde, en de waarden van je velden kun je zonder code op je site tonen. Je menu\'s, pagina\'s, velden en waarden zijn er allemaal nog.','Import and export, with your data'=>'Importeren en exporteren, met je gegevens','Build and fill your options pages locally, then take them live in one file.'=>'Bouw en vul je optiepagina\'s lokaal, en zet ze daarna in één bestand live.','Export the menus you choose together with the values of their fields, and import them on your live site, a staging site or your next project. No more typing the same settings twice.'=>'Exporteer de menu\'s die je kiest samen met de waarden van hun velden, en importeer ze op je live site, een testsite of je volgende project. Nooit meer dezelfde instellingen twee keer invullen.','Before anything changes you see what would happen, and you choose per menu, page, field and value. Nothing is replaced unless you choose it, and an import is all or nothing. Exports made with 0.9 can be imported too.'=>'Voordat er iets verandert, zie je wat er zou gebeuren, en je kiest per menu, pagina, veld en waarde. Er wordt niets vervangen tenzij je dat kiest, en een import gebeurt helemaal of helemaal niet. Exports van 0.9 kun je ook importeren.','The preview of an import, with a checkbox for every menu, page, field and value'=>'Het voorbeeld van een import, met een selectievakje voor elk menu, elke pagina, elk veld en elke waarde','An options page with a logo, a brand color and contact details'=>'Een optiepagina met een logo, een merkkleur en contact details','Nine new field types'=>'Negen nieuwe veldtypes','Email, Link, Password, Date, Time, Date and time, Range, Button group and File.'=>'E-mail, Link, Wachtwoord, Datum, Tijd, Datum en tijd, Bereik, Knoppengroep en Bestand.','That makes 21 field types. Each one checks what is entered, and an image or file field only accepts the file types you choose, also when something is uploaded.'=>'Daarmee zijn er 21 veldtypes. Elk type controleert wat er wordt ingevuld, en een afbeeldings- of bestandsveld accepteert alleen de bestandstypes die je kiest, ook bij het uploaden.','Your own field types'=>'Je eigen veldtypes','Need a field that is not there? Add it yourself.'=>'Mis je een veld? Voeg het zelf toe.','Register a field type from your theme or plugin with one class: what the editor asks for, how the value is checked and stored, and how it shows on the options page and on your website. It appears in the field picker next to the built-in types, which use exactly the same API.'=>'Registreer een veldtype vanuit je thema of plugin met één klasse: wat de editor vraagt, hoe de waarde wordt gecontroleerd en opgeslagen, en hoe hij op de optiepagina en op je site wordt getoond. Hij verschijnt in de veldkiezer naast de ingebouwde types, die precies dezelfde API gebruiken.','The Field Types API is stable from 1.0 on and follows semantic versioning, so your field types keep working with the next versions.'=>'De Field Types API is stabiel vanaf 1.0 en volgt semantic versioning, dus je veldtypes blijven werken met de volgende versies.','A paragraph connected to a field in the Attributes panel'=>'Een alinea gekoppeld aan een veld in het paneel Attributen','Your values on your website'=>'Je waarden op je site','With a shortcode or a block, no code needed.'=>'Met een shortcode of een blok, zonder code.','Put a field in a post with [aop_option name="…"], or connect a paragraph, heading, button or image to it in the Attributes panel of the block editor. Change the value once, and it changes everywhere.'=>'Zet een veld in een bericht met [aop_option name="…"], of koppel er een alinea, koptekst, knop of afbeelding aan in het paneel Attributen van de blok-editor. Pas de waarde één keer aan, en hij verandert overal.','Switch on "Use in shortcode and blocks" for the fields you want to show. Fields made before 1.0 have it off, so nothing appears on your website by itself.'=>'Zet "In shortcode en blokken gebruiken" aan voor de velden die je wilt tonen. Bij velden die vóór 1.0 zijn gemaakt staat het uit, dus er verschijnt niets vanzelf op je site.','Rewritten in React'=>'Herschreven in React','Under the hood the editor is rewritten in React, the WordPress way: with the components and the data store the block editor is made of.'=>'Onder de motorkap is de editor herschreven in React, op de manier van WordPress: met de componenten en de datastore waar de blok-editor van gemaakt is.','Change any saved value'=>'Elke opgeslagen waarde aanpassen','Developers can change the value of any field before it is stored with the new filters aop_sanitized_option and aop_sanitized_option_{name}.'=>'Developers kunnen de waarde van elk veld aanpassen voordat hij wordt opgeslagen, met de nieuwe filters aop_sanitized_option en aop_sanitized_option_{name}.','A safe upgrade'=>'Een veilige upgrade','Your pages are stored in a new format now. A copy in the old format is kept for 90 days.'=>'Je pagina\'s worden nu in een nieuw format opgeslagen. Een kopie in het oude format wordt 90 dagen bewaard.','Requirements'=>'Vereisten','Admin Options Pages 1.0 needs WordPress 6.9 or later and PHP 8.1 or later.'=>'Admin Options Pages 1.0 heeft WordPress 6.9 of hoger en PHP 8.1 of hoger nodig.','Go to your options pages'=>'Naar je optiepagina\'s','Read the documentation'=>'Lees de documentatie','media modal menuMenu'=>'Menu','Title'=>'Titel','Position'=>'Positie','Pages'=>'Pagina\'s','Dismiss this notice.'=>'Deze melding negeren.','Publish'=>'Publiceren','Are you sure?'=>'Weet je het zeker?','Cancel'=>'Annuleren','Delete'=>'Verwijderen','Save'=>'Opslaan','New Pages'=>'Nieuwe pagina\'s','Update'=>'Updaten','Edit Pages'=>'Pagina\'s bewerken','List View'=>'Lijstweergave','Excerpt View'=>'Samenvattingsweergave','No items found.'=>'Geen items gevonden.','Show more details'=>'Meer details tonen','%s item'=>'%s item' . "\0" . '%s items','First page'=>'Eerste pagina','Previous page'=>'Vorige pagina','Current Page'=>'Huidige pagina','paging%1$s of %2$s'=>'%1$s van %2$s','Next page'=>'Volgende pagina','Last page'=>'Laatste pagina','Select All'=>'Alles selecteren','Edit'=>'Bewerken','The link you followed has expired.'=>'De link die je hebt gevolgd is verlopen.','The field type "%1$s" of the option "%2$s" is not available, so the field is not shown. Activate the plugin that provides it. Nothing was deleted.'=>'Het veldtype "%1$s" van de optie "%2$s" is niet beschikbaar, daarom wordt het veld niet getoond. Activeer de plugin die het levert. Er is niets verwijderd.','%s is not a field type.'=>'%s is geen veldtype.','The field type "%1$s" is already registered; %2$s was ignored.'=>'Het veldtype "%1$s" is al geregistreerd; %2$s is genegeerd.','%1$s is not the class of the field type "%2$s".'=>'%1$s is niet de klasse van het veldtype "%2$s".','Field label'=>'Veldlabel','Field name'=>'Veldnaam','Autoload'=>'Autoload','Use in shortcode and blocks'=>'In shortcode en blokken gebruiken','Additional CSS Class(es)'=>'Extra CSS-klasse(n)','Description'=>'Beschrijving','Default value'=>'Standaardwaarde','Button group'=>'Knoppengroep','Field values'=>'Veldwaarden','Checkbox'=>'Selectievakje','Text when checked'=>'Tekst als aangevinkt','Text when not checked'=>'Tekst als niet aangevinkt','Text after input field'=>'Tekst na het invoerveld','Color picker'=>'Kleurkiezer','Default color (HEX)'=>'Standaardkleur (HEX)','Date'=>'Datum','Field style'=>'Veldstijl','Date and time'=>'Datum en tijd','Email'=>'E-mail','Placeholder'=>'Plaatshouder','File'=>'Bestand','Allowed file types'=>'Toegestane bestandstypes','Upload'=>'Uploaden','Horizontal rule'=>'Horizontale lijn','Image'=>'Afbeelding','Allowed extensions'=>'Toegestane extensies','Link'=>'Link','Number'=>'Getal','Minimum value'=>'Minimumwaarde','Maximum value'=>'Maximumwaarde','Decimals'=>'Decimalen','Password'=>'Wachtwoord','Radio buttons'=>'Keuzerondjes','Range'=>'Bereik','Select'=>'Selecteren','Textarea'=>'Tekstgebied','Description italic'=>'Beschrijving cursief','Text field'=>'Tekstveld','Formatted as code'=>'Opgemaakt als code','Time'=>'Tijd','Wysiwyg editor'=>'Wysiwyg-editor','Show media upload buttons'=>'Knoppen voor media uploaden tonen','Toolbar'=>'Toolbar','The value on this settings field is not allowed.'=>'De waarde van dit instellingenveld is niet toegestaan.','Some of the value on this settings field is not allowed.'=>'Een deel van de waarde van dit instellingenveld is niet toegestaan.','This is not a correct formatted Hex color.'=>'Dit is geen correct opgemaakte hex-kleur.','the shortcode has no name="..."'=>'de shortcode heeft geen name="..."','"Use in shortcode and blocks" is off for this field, or its type cannot be shown'=>'"In shortcode en blokken gebruiken" staat uit voor dit veld, of het type kan niet worden getoond','this is not an option of Admin Options Pages'=>'dit is geen optie van Admin Options Pages','The database tables of this site cannot roll back. If something goes wrong halfway, part of the import may remain.'=>'De databasetabellen van deze site kunnen niet terugdraaien. Gaat er halverwege iets mis, dan kan een deel van de import blijven staan.','This menu is in the file more than once.'=>'Dit menu staat meer dan één keer in het bestand.','The menu on this site was saved by a newer version of the plugin. Update the plugin first.'=>'Het menu op deze site is opgeslagen met een nieuwere versie van de plugin. Update eerst de plugin.','Another menu on this site already has the id of this menu.'=>'Een ander menu op deze site heeft al de id van dit menu.','The option name "%s" is used by more than one menu in the file.'=>'De optienaam "%s" wordt in het bestand door meer dan één menu gebruikt.','The field type "%s" is not available on this site. Activate the plugin that provides it.'=>'Het veldtype "%s" is niet beschikbaar op deze site. Activeer de plugin die het levert.','This is not a valid option name.'=>'Dit is geen geldige optienaam.','This option name is used by WordPress or another plugin.'=>'Deze optienaam wordt gebruikt door WordPress of een andere plugin.','Something in this menu is not allowed.'=>'Iets in dit menu is niet toegestaan.','The name of this menu does not match what is in it.'=>'De naam van dit menu klopt niet met wat erin staat.','Checked'=>'Aangevinkt','Not checked'=>'Niet aangevinkt','Media ID %s'=>'Media-ID %s','This import has expired. Choose the file again.'=>'Deze import is verlopen. Kies het bestand opnieuw.','Without its first page the menu "%s" would get the name of a menu that is on this site already. Import the first page too, or choose another page as the first.'=>'Zonder de eerste pagina krijgt het menu "%s" de naam van een menu dat al op deze site staat. Importeer ook de eerste pagina, of kies een andere pagina als eerste.','A choice was made for a menu that is not in the file.'=>'Er is een keuze gemaakt voor een menu dat niet in het bestand staat.','A choice was made for a page or field that is not in the file.'=>'Er is een keuze gemaakt voor een pagina of veld dat niet in het bestand staat.','A menu needs at least one page.'=>'Een menu heeft minstens één pagina nodig.','That cannot be done with the menu "%s".'=>'Dat kan niet met het menu "%s".','That cannot be done with the option "%s".'=>'Dat kan niet met de optie "%s".','A menu in the file could not be saved. Nothing was imported.'=>'Een menu in het bestand kon niet worden opgeslagen. Er is niets geïmporteerd.','The value of "%s" was changed by its field type.'=>'De waarde van "%s" is aangepast door het veldtype.','The file is too large to import.'=>'Het bestand is te groot om te importeren.','This is not a JSON file, or it is not valid UTF-8.'=>'Dit is geen JSON-bestand, of het is geen geldige UTF-8.','This file does not look like an export of Admin Options Pages.'=>'Dit bestand lijkt geen export van Admin Options Pages.','This file has export format %1$d. This version of the plugin reads format %2$d. Update the plugin on this site and try again.'=>'Dit bestand heeft exportformat %1$d. Deze versie van de plugin leest format %2$d. Update de plugin op deze site en probeer het opnieuw.','%1$s must be of type %2$s.'=>'%1$s moet van het type %2$s zijn.','%s has a value that is not supported.'=>'%s heeft een waarde die niet wordt ondersteund.','%s has a value that is not allowed.'=>'%s heeft een waarde die niet is toegestaan.','%s does not have what it needs.'=>'%s heeft niet wat het nodig heeft.','%1$s is longer than %2$d characters.'=>'%1$s is langer dan %2$d tekens.','%s is empty.'=>'%s is leeg.','%1$s has more than %2$d items.'=>'%1$s heeft meer dan %2$d items.','%s has no items.'=>'%s heeft geen items.','%1$s has more than %2$d entries.'=>'%1$s heeft meer dan %2$d vermeldingen.','%1$s misses "%2$s".'=>'%1$s mist "%2$s".','The file'=>'Het bestand','Choose a file to import.'=>'Kies een bestand om te importeren.','The request is not complete.'=>'De aanvraag is niet compleet.','The page is not valid.'=>'De pagina is niet geldig.','This page does not exist.'=>'Deze pagina bestaat niet.','There are no pages to save.'=>'Er zijn geen pagina\'s om op te slaan.','Every page needs a menu title.'=>'Elke pagina heeft een menutitel nodig.','"%s" is not a valid option name.'=>'"%s" is geen geldige optienaam.','Every field with an option needs an option name.'=>'Elk veld met een optie heeft een optienaam nodig.','The option name "%s" is used more than once.'=>'De optienaam "%s" wordt meer dan één keer gebruikt.','The option name "%s" is already in use.'=>'De optienaam "%s" is al in gebruik.','This menu is already used by another options page.'=>'Dit menu wordt al door een andere optiepagina gebruikt.','The menu position is not valid.'=>'De menupositie is niet geldig.','The menu title is not valid.'=>'De menutitel is niet geldig.','The menu icon is not valid.'=>'Het menu-icoon is niet geldig.','Select or upload a file'=>'Een bestand selecteren of uploaden','Use this file'=>'Dit bestand gebruiken','Allowed files'=>'Toegestane bestanden','Select or upload image'=>'Een afbeelding selecteren of uploaden','Use this image'=>'Deze afbeelding gebruiken','Icon'=>'Icoon','Choose an icon'=>'Kies een icoon','Search for an icon…'=>'Zoek een icoon…','Nothing found.'=>'Niets gevonden.','Add New Page'=>'Nieuwe pagina toevoegen','Menu Type'=>'Menutype','Custom menu'=>'Eigen menu','Existing menu'=>'Bestaand menu','Menu title'=>'Menutitel','Close settings'=>'Instellingen sluiten','Move left'=>'Naar links verplaatsen','Move up'=>'Omhoog verplaatsen','Move right'=>'Naar rechts verplaatsen','Move down'=>'Omlaag verplaatsen','Drag to reorder'=>'Slepen om de volgorde te wijzigen','Add block'=>'Blok toevoegen','Value'=>'Waarde','Label'=>'Label','Delete this row'=>'Deze rij verwijderen','Add a row'=>'Een rij toevoegen','Help'=>'Help','Shortcode'=>'Shortcode','Copied!'=>'Gekopieerd!','Copy'=>'Kopiëren','With get_option() the value is always available in PHP, also when this is off.'=>'Met get_option() is de waarde in PHP altijd beschikbaar, ook als dit uit staat.','Field'=>'Veld','This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.'=>'Dit veldtype is niet beschikbaar. Activeer de plugin die het levert. Er is niets verwijderd: het veld wordt opgeslagen zoals het is.','Options'=>'Opties','Regular'=>'Normaal','Small'=>'Klein','Large'=>'Groot','Standard'=>'Standaard',0=>'0',1=>'1',2=>'2','.jpeg .jpg'=>'.jpeg .jpg','.png'=>'.png','.gif'=>'.gif','.svg'=>'.svg','This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.'=>'Deze site staat geen SVG-uploads toe. Een plugin zoals Safe SVG voegt dat veilig toe.','.ico'=>'.ico','Full'=>'Volledig','Basic'=>'Basis','.pdf'=>'.pdf','.doc'=>'.doc','.docx'=>'.docx','.xls'=>'.xls','.xlsx'=>'.xlsx','.csv'=>'.csv','.zip'=>'.zip','.txt'=>'.txt','Add a field'=>'Een veld toevoegen','Search…'=>'Zoeken…','Options fields'=>'Optievelden','Static content'=>'Statische content','Menu page title'=>'Paginatitel in menu','Page title'=>'Paginatitel','Page title on top'=>'Paginatitel bovenaan','Show page with tab'=>'Pagina met tab tonen','Visit Page'=>'Pagina bekijken','Delete Page'=>'Pagina verwijderen','Saving failed.'=>'Opslaan mislukt.','At this moment there is no proper support for small/mobile screens.'=>'Op dit moment worden kleine/mobiele schermen niet goed ondersteund.','We hope to fix this in a future version.'=>'We hopen dit in een volgende versie op te lossen.','The minimum required screen width is 1000px.'=>'De minimale schermbreedte is 1000px.','Close dialog'=>'Dialoogvenster sluiten','The menus could not be loaded.'=>'De menu\'s konden niet worden geladen.','Export'=>'Exporteren','There\'s nothing to export.'=>'Er is niets om te exporteren.','Uncheck all'=>'Alles uitvinken','Check all'=>'Alles aanvinken','Export file'=>'Bestand exporteren','New'=>'Nieuw','Already on this site, replaced when checked'=>'Staat al op deze site, wordt vervangen als het is aangevinkt','Cannot be imported'=>'Kan niet worden geïmporteerd','Same value as on this site'=>'Dezelfde waarde als op deze site','Different value on this site, replaced when checked'=>'Andere waarde op deze site, wordt vervangen als het is aangevinkt','Belongs to something else'=>'Hoort bij iets anders','Menu'=>'Menu','The menu on this site is replaced by the one in the file, also when its fields are of another type. Options of fields that are not in the file any more are deleted.'=>'Het menu op deze site wordt vervangen door het menu in het bestand, ook als de velden een ander type hebben. Opties van velden die niet meer in het bestand staan, worden verwijderd.','(no title)'=>'(geen titel)','Main page'=>'Hoofdpagina','Page'=>'Pagina','No value in the file'=>'Geen waarde in het bestand','Field name:'=>'Veldnaam:','Field label:'=>'Veldlabel:','The field moves here from the menu "%s".'=>'Het veld verhuist hierheen uit het menu "%s".','Empty'=>'Leeg','Value in the file: %s'=>'Waarde in het bestand: %s','%1$s and %2$s'=>'%1$s en %2$s','%s has been imported'=>'%s is geïmporteerd','%s have been imported'=>'%s zijn geïmporteerd','%d menu has been imported'=>'%d menu is geïmporteerd' . "\0" . '%d menu\'s zijn geïmporteerd','%s has been replaced'=>'%s is vervangen','%s have been replaced'=>'%s zijn vervangen','%d menu has been replaced'=>'%d menu is vervangen' . "\0" . '%d menu\'s zijn vervangen','The import is done.'=>'De import is klaar.',', with %d value'=>', met %d waarde' . "\0" . ', met %d waarden','Something went wrong. Nothing was imported.'=>'Er ging iets mis. Er is niets geïmporteerd.','Import selection'=>'Selectie importeren','Choose another file'=>'Een ander bestand kiezen','Import'=>'Importeren','Drop the JSON file here'=>'Zet het JSON-bestand hier neer','Drop a JSON file here'=>'Zet een JSON-bestand hier neer','or'=>'of','Select a file'=>'Een bestand selecteren','Maximum file size: %s.'=>'Maximale bestandsgrootte: %s.','You see what would happen before anything is imported.'=>'Je ziet wat er zou gebeuren voordat er iets wordt geïmporteerd.','File: %s'=>'Bestand: %s','Import another file'=>'Een ander bestand importeren','Hide "Edit page" button'=>'Knop "Pagina bewerken" verbergen','The setting could not be saved.'=>'De instelling kon niet worden opgeslagen.','Setting saved.'=>'Instelling opgeslagen.','The role "%1$s" of the page "%2$s" does not exist on this site. Until it does, users with that role cannot open the page.'=>'De rol "%1$s" van de pagina "%2$s" bestaat niet op deze site. Tot hij er is, kunnen gebruikers met die rol de pagina niet openen.','%s has characters that are not allowed.'=>'%s bevat tekens die niet zijn toegestaan.','%s (no longer available)'=>'%s (niet meer beschikbaar)','%1$s (%2$d user)'=>'%1$s (%2$d gebruiker)' . "\0" . '%1$s (%2$d gebruikers)','Administrator'=>'Beheerder','Who can edit'=>'Wie kan bewerken','Administrator + %d other'=>'Beheerder + %d andere' . "\0" . 'Beheerder + %d andere','Administrators always have access.'=>'Beheerders hebben altijd toegang.','Users with this role cannot open the dashboard.'=>'Gebruikers met deze rol kunnen het dashboard niet openen.','Done'=>'Klaar','Admin Options Pages 1.1 is here.'=>'Admin Options Pages 1.1 is er.','You now choose per page which roles can edit it. Have a look at who can edit your pages.'=>'Je kiest nu per pagina welke rollen hem kunnen bewerken. Kijk even wie je pagina\'s kan bewerken.','What is new in 1.1'=>'Wat is er nieuw in 1.1','Admin Options Pages 1.1'=>'Admin Options Pages 1.1','Choose who can edit each page.'=>'Kies wie elke pagina kan bewerken.','Welcome to Admin Options Pages 1.1'=>'Welkom bij Admin Options Pages 1.1','Tick the roles that may edit a page.'=>'Vink de rollen aan die een pagina mogen bewerken.','Open a page in the editor and click the button next to "Who can edit". Every role of your site is there, also the roles of other plugins and the roles you made yourself. Users with a ticked role see the page in their menu and can save it; nobody else can.'=>'Open een pagina in de editor en klik op de knop naast "Wie kan bewerken". Elke rol van je site staat erin, ook de rollen van andere plugins en de rollen die je zelf hebt gemaakt. Gebruikers met een aangevinkte rol zien de pagina in hun menu en kunnen hem opslaan; niemand anders kan dat.','Administrators can always open every page, and only administrators can build and change the pages themselves.'=>'Beheerders kunnen elke pagina altijd openen, en alleen beheerders kunnen de pagina\'s zelf bouwen en wijzigen.','The dialog "Who can edit" with a checkbox for every role of the site'=>'Het venster "Wie kan bewerken" met een selectievakje voor elke rol van de site','What happens to your pages'=>'Wat er met je pagina\'s gebeurt','Nothing changes until you save a page again. A page that was set to Editor opens in the editor with the roles ticked that can edit it now: usually Editor, and with WooCommerce also Shop manager. Save the page to keep it that way, or change the roles first.'=>'Er verandert niets tot je een pagina opnieuw opslaat. Een pagina die op Redacteur stond, opent in de editor met de rollen aangevinkt die hem nu kunnen bewerken: meestal Redacteur, en met WooCommerce ook Winkelmanager. Sla de pagina op om het zo te houden, of pas eerst de rollen aan.','From then on the ticked roles decide, not what a role may do elsewhere on the site. Did someone get access without one of these roles? Tick a role they have, or give them access to that page with a plugin that manages roles.'=>'Vanaf dan beslissen de aangevinkte rollen, niet wat een rol elders op de site mag. Had iemand toegang zonder een van deze rollen? Vink een rol aan die hij heeft, of geef hem toegang tot die pagina met een plugin die rollen beheert.','One user, one page'=>'Eén gebruiker, één pagina','With a plugin that manages roles, such as Members or User Role Editor, you can give a single user access to a single page: every page is listed there under Admin Options Pages.'=>'Met een plugin die rollen beheert, zoals Members of User Role Editor, geef je één gebruiker toegang tot één pagina: elke pagina staat daar onder Admin Options Pages.','Roles move with your pages'=>'Rollen verhuizen mee','An export takes the roles of every page with it. When a role does not exist on the site you import to, the preview tells you; the page is imported all the same.'=>'Een export neemt de rollen van elke pagina mee. Bestaat een rol niet op de site waar je importeert, dan zegt het voorbeeld dat; de pagina wordt toch geïmporteerd.','No dead ends'=>'Geen doodlopende wegen','The editor tells you when a ticked role cannot open the dashboard at all, such as the Customer role of WooCommerce.'=>'De editor zegt het als een aangevinkte rol het dashboard helemaal niet kan openen, zoals de rol Klant van WooCommerce.','Admin Options Pages 1.1 needs WordPress 6.9 or later and PHP 8.1 or later, like 1.0.'=>'Admin Options Pages 1.1 heeft WordPress 6.9 of hoger en PHP 8.1 of hoger nodig, net als 1.0.','What was new in 1.0'=>'Wat was er nieuw in 1.0','Your clients and colleagues now get exactly the pages they need. Choose the right roles for each page: Editor, Shop manager, Author, or a role you made yourself.'=>'Je klanten en collega\'s krijgen nu precies de pagina\'s die ze nodig hebben. Kies per pagina de juiste rollen: Redacteur, Winkelmanager, Auteur of een rol die je zelf hebt gemaakt.']];
  • admin-options-pages/tags/1.1.0/languages/admin-options-pages-nl_NL.po

    r3736451 r3750608  
    11msgid ""
    2 msgstr "Project-Id-Version: Admin Options Pages 1.0.0\nReport-Msgid-Bugs-To: https://github.com/poolghost/adminoptionspages-issues/issues\nLast-Translator: Automatically generated\nLanguage-Team: none\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nPOT-Creation-Date: 2026-10-09T10:01:38+00:00\nPO-Revision-Date: 2026-10-09T10:01:38+00:00\nLanguage: nl\nX-Generator: WP-CLI 2.11.0\nX-Domain: admin-options-pages\nPlural-Forms: nplurals=2; plural=(n != 1);\n"
     2msgstr ""
     3"Project-Id-Version: Admin Options Pages 1.0.0\n"
     4"Report-Msgid-Bugs-To: https://github.com/poolghost/adminoptionspages-issues/issues\n"
     5"Last-Translator: Automatically generated\n"
     6"Language-Team: none\n"
     7"MIME-Version: 1.0\n"
     8"Content-Type: text/plain; charset=UTF-8\n"
     9"Content-Transfer-Encoding: 8bit\n"
     10"POT-Creation-Date: 2026-10-09T10:01:38+00:00\n"
     11"PO-Revision-Date: 2026-10-09T10:01:38+00:00\n"
     12"Language: nl\n"
     13"X-Generator: WP-CLI 2.11.0\n"
     14"X-Domain: admin-options-pages\n"
     15"Plural-Forms: nplurals=2; plural=(n != 1);\n"
    316
    417#. Plugin Name of the plugin
    … …  
    7184
    7285#: App/Admin/AdminPages/AdminPages.php:207
    73 #: App/Admin/Input.php:61
     86#: App/Admin/Input.php:62
    7487msgid "Updated."
    75 msgstr "Bijgewerkt."
     88msgstr "Geüpdatet."
    7689
    7790#: App/Admin/AdminPages/AdminPages.php:222
    … …  
    126139msgstr "Als je deze plugin echt %1$s, geef dan %2$s om %3$s bekender te maken."
    127140
    128 #: App/Admin/AdminPages/SubpageWhatsNew.php:93
    129 msgid "Admin Options Pages 1.0 is here."
    130 msgstr "Admin Options Pages 1.0 is er."
    131 
    132 #: App/Admin/AdminPages/SubpageWhatsNew.php:94
    133 msgid "Import and export with your data, your own field types, nine new field types and your values on your website."
    134 msgstr "Importeren en exporteren met je gegevens, je eigen veldtypes, negen nieuwe veldtypes en je waarden op je website."
    135 
    136 #: App/Admin/AdminPages/SubpageWhatsNew.php:96
     141#: App/Admin/AdminPages/SubpageWhatsNew.php:123
    137142msgid "See what's new"
    138143msgstr "Bekijk wat er nieuw is"
    139144
    140 #: App/Admin/AdminPages/views/whats-new.php:19
     145#: App/Admin/AdminPages/views/whats-new-1.0.php:20
    141146msgid "Admin Options Pages 1.0"
    142147msgstr "Admin Options Pages 1.0"
    143148
    144 #: App/Admin/AdminPages/views/whats-new.php:21
     149#: App/Admin/AdminPages/views/whats-new-1.0.php:22
    145150msgid "Import and export with your data, your own field types and your values on your website."
    146 msgstr "Importeren en exporteren met je gegevens, je eigen veldtypes en je waarden op je website."
    147 
    148 #: App/Admin/AdminPages/views/whats-new.php:26
     151msgstr "Importeren en exporteren met je gegevens, je eigen veldtypes en je waarden op je site."
     152
     153#: App/Admin/AdminPages/views/whats-new-1.0.php:27
    149154msgid "Welcome to Admin Options Pages 1.0"
    150155msgstr "Welkom bij Admin Options Pages 1.0"
    151156
    152 #: App/Admin/AdminPages/views/whats-new.php:27
     157#: App/Admin/AdminPages/views/whats-new-1.0.php:28
    153158msgid "This is the biggest update of the plugin so far. Menus now move to another site with all their values, so the options pages you built and filled locally go live in one file. You can add field types of your own, there are nine new built-in ones, and the values of your fields can be shown on your website without code. Your menus, pages, fields and values are all still here."
    154 msgstr "Dit is de grootste update van de plugin tot nu toe. Menu's gaan nu met al hun waarden naar een andere site, dus de optiepagina's die je lokaal hebt gebouwd en gevuld, gaan in één bestand live. Je kunt eigen veldtypes toevoegen, er zijn negen nieuwe ingebouwde, en de waarden van je velden kun je zonder code op je website tonen. Je menu's, pagina's, velden en waarden zijn er allemaal nog."
    155 
    156 #: App/Admin/AdminPages/views/whats-new.php:33
     159msgstr "Dit is de grootste update van de plugin tot nu toe. Menu's gaan nu met al hun waarden naar een andere site, dus de optiepagina's die je lokaal hebt gebouwd en gevuld, gaan in één bestand live. Je kunt eigen veldtypes toevoegen, er zijn negen nieuwe ingebouwde, en de waarden van je velden kun je zonder code op je site tonen. Je menu's, pagina's, velden en waarden zijn er allemaal nog."
     160
     161#: App/Admin/AdminPages/views/whats-new-1.0.php:34
    157162msgid "Import and export, with your data"
    158163msgstr "Importeren en exporteren, met je gegevens"
    159164
    160 #: App/Admin/AdminPages/views/whats-new.php:35
     165#: App/Admin/AdminPages/views/whats-new-1.0.php:36
    161166msgid "Build and fill your options pages locally, then take them live in one file."
    162167msgstr "Bouw en vul je optiepagina's lokaal, en zet ze daarna in één bestand live."
    163168
    164 #: App/Admin/AdminPages/views/whats-new.php:36
     169#: App/Admin/AdminPages/views/whats-new-1.0.php:37
    165170msgid "Export the menus you choose together with the values of their fields, and import them on your live site, a staging site or your next project. No more typing the same settings twice."
    166171msgstr "Exporteer de menu's die je kiest samen met de waarden van hun velden, en importeer ze op je live site, een testsite of je volgende project. Nooit meer dezelfde instellingen twee keer invullen."
    167172
    168 #: App/Admin/AdminPages/views/whats-new.php:38
     173#: App/Admin/AdminPages/views/whats-new-1.0.php:39
    169174msgid "Before anything changes you see what would happen, and you choose per menu, page, field and value. Nothing is replaced unless you choose it, and an import is all or nothing. Exports made with 0.9 can be imported too."
    170175msgstr "Voordat er iets verandert, zie je wat er zou gebeuren, en je kiest per menu, pagina, veld en waarde. Er wordt niets vervangen tenzij je dat kiest, en een import gebeurt helemaal of helemaal niet. Exports van 0.9 kun je ook importeren."
    171176
    172 #: App/Admin/AdminPages/views/whats-new.php:41
     177#: App/Admin/AdminPages/views/whats-new-1.0.php:42
    173178msgid "The preview of an import, with a checkbox for every menu, page, field and value"
    174 msgstr "De preview van een import, met een selectievakje voor elk menu, elke pagina, elk veld en elke waarde"
    175 
    176 #: App/Admin/AdminPages/views/whats-new.php:47
     179msgstr "Het voorbeeld van een import, met een selectievakje voor elk menu, elke pagina, elk veld en elke waarde"
     180
     181#: App/Admin/AdminPages/views/whats-new-1.0.php:48
    177182msgid "An options page with a logo, a brand color and contact details"
    178 msgstr "Een optiepagina met een logo, een merkkleur en contactgegevens"
    179 
    180 #: App/Admin/AdminPages/views/whats-new.php:50
     183msgstr "Een optiepagina met een logo, een merkkleur en contact details"
     184
     185#: App/Admin/AdminPages/views/whats-new-1.0.php:51
    181186msgid "Nine new field types"
    182187msgstr "Negen nieuwe veldtypes"
    183188
    184 #: App/Admin/AdminPages/views/whats-new.php:52
     189#: App/Admin/AdminPages/views/whats-new-1.0.php:53
    185190msgid "Email, Link, Password, Date, Time, Date and time, Range, Button group and File."
    186191msgstr "E-mail, Link, Wachtwoord, Datum, Tijd, Datum en tijd, Bereik, Knoppengroep en Bestand."
    187192
    188 #: App/Admin/AdminPages/views/whats-new.php:53
     193#: App/Admin/AdminPages/views/whats-new-1.0.php:54
    189194msgid "That makes 21 field types. Each one checks what is entered, and an image or file field only accepts the file types you choose, also when something is uploaded."
    190195msgstr "Daarmee zijn er 21 veldtypes. Elk type controleert wat er wordt ingevuld, en een afbeeldings- of bestandsveld accepteert alleen de bestandstypes die je kiest, ook bij het uploaden."
    191196
    192 #: App/Admin/AdminPages/views/whats-new.php:60
     197#: App/Admin/AdminPages/views/whats-new-1.0.php:61
    193198msgid "Your own field types"
    194199msgstr "Je eigen veldtypes"
    195200
    196 #: App/Admin/AdminPages/views/whats-new.php:62
     201#: App/Admin/AdminPages/views/whats-new-1.0.php:63
    197202msgid "Need a field that is not there? Add it yourself."
    198203msgstr "Mis je een veld? Voeg het zelf toe."
    199204
    200 #: App/Admin/AdminPages/views/whats-new.php:63
     205#: App/Admin/AdminPages/views/whats-new-1.0.php:64
    201206msgid "Register a field type from your theme or plugin with one class: what the editor asks for, how the value is checked and stored, and how it shows on the options page and on your website. It appears in the field picker next to the built-in types, which use exactly the same API."
    202 msgstr "Registreer een veldtype vanuit je thema of plugin met één klasse: wat de editor vraagt, hoe de waarde wordt gecontroleerd en opgeslagen, en hoe hij op de optiepagina en op je website wordt getoond. Hij verschijnt in de veldkiezer naast de ingebouwde types, die precies dezelfde API gebruiken."
    203 
    204 #: App/Admin/AdminPages/views/whats-new.php:65
     207msgstr "Registreer een veldtype vanuit je thema of plugin met één klasse: wat de editor vraagt, hoe de waarde wordt gecontroleerd en opgeslagen, en hoe hij op de optiepagina en op je site wordt getoond. Hij verschijnt in de veldkiezer naast de ingebouwde types, die precies dezelfde API gebruiken."
     208
     209#: App/Admin/AdminPages/views/whats-new-1.0.php:66
    205210msgid "The Field Types API is stable from 1.0 on and follows semantic versioning, so your field types keep working with the next versions."
    206211msgstr "De Field Types API is stabiel vanaf 1.0 en volgt semantic versioning, dus je veldtypes blijven werken met de volgende versies."
    207212
    208 #: App/Admin/AdminPages/views/whats-new.php:86
     213#: App/Admin/AdminPages/views/whats-new-1.0.php:87
    209214msgid "A paragraph connected to a field in the Attributes panel"
    210215msgstr "Een alinea gekoppeld aan een veld in het paneel Attributen"
    211216
    212 #: App/Admin/AdminPages/views/whats-new.php:89
     217#: App/Admin/AdminPages/views/whats-new-1.0.php:90
    213218msgid "Your values on your website"
    214 msgstr "Je waarden op je website"
    215 
    216 #: App/Admin/AdminPages/views/whats-new.php:91
     219msgstr "Je waarden op je site"
     220
     221#: App/Admin/AdminPages/views/whats-new-1.0.php:92
    217222msgid "With a shortcode or a block, no code needed."
    218223msgstr "Met een shortcode of een blok, zonder code."
    219224
    220 #: App/Admin/AdminPages/views/whats-new.php:92
     225#: App/Admin/AdminPages/views/whats-new-1.0.php:93
    221226msgid "Put a field in a post with [aop_option name=\"…\"], or connect a paragraph, heading, button or image to it in the Attributes panel of the block editor. Change the value once, and it changes everywhere."
    222 msgstr "Zet een veld in een bericht met [aop_option name=\"…\"], of koppel er een alinea, kop, knop of afbeelding aan in het paneel Attributen van de blokeditor. Pas de waarde één keer aan, en hij verandert overal."
    223 
    224 #: App/Admin/AdminPages/views/whats-new.php:94
     227msgstr "Zet een veld in een bericht met [aop_option name=\"…\"], of koppel er een alinea, koptekst, knop of afbeelding aan in het paneel Attributen van de blok-editor. Pas de waarde één keer aan, en hij verandert overal."
     228
     229#: App/Admin/AdminPages/views/whats-new-1.0.php:95
    225230msgid "Switch on \"Use in shortcode and blocks\" for the fields you want to show. Fields made before 1.0 have it off, so nothing appears on your website by itself."
    226 msgstr "Zet \"In shortcode en blokken gebruiken\" aan voor de velden die je wilt tonen. Bij velden die vóór 1.0 zijn gemaakt staat het uit, dus er verschijnt niets vanzelf op je website."
    227 
    228 #: App/Admin/AdminPages/views/whats-new.php:100
     231msgstr "Zet \"In shortcode en blokken gebruiken\" aan voor de velden die je wilt tonen. Bij velden die vóór 1.0 zijn gemaakt staat het uit, dus er verschijnt niets vanzelf op je site."
     232
     233#: App/Admin/AdminPages/views/whats-new-1.0.php:101
    229234msgid "Rewritten in React"
    230235msgstr "Herschreven in React"
    231236
    232 #: App/Admin/AdminPages/views/whats-new.php:101
     237#: App/Admin/AdminPages/views/whats-new-1.0.php:102
    233238msgid "Under the hood the editor is rewritten in React, the WordPress way: with the components and the data store the block editor is made of."
    234 msgstr "Onder de motorkap is de editor herschreven in React, op de manier van WordPress: met de componenten en de datastore waar de blokeditor van gemaakt is."
    235 
    236 #: App/Admin/AdminPages/views/whats-new.php:104
     239msgstr "Onder de motorkap is de editor herschreven in React, op de manier van WordPress: met de componenten en de datastore waar de blok-editor van gemaakt is."
     240
     241#: App/Admin/AdminPages/views/whats-new-1.0.php:105
    237242msgid "Change any saved value"
    238243msgstr "Elke opgeslagen waarde aanpassen"
    239244
    240 #: App/Admin/AdminPages/views/whats-new.php:105
     245#: App/Admin/AdminPages/views/whats-new-1.0.php:106
    241246msgid "Developers can change the value of any field before it is stored with the new filters aop_sanitized_option and aop_sanitized_option_{name}."
    242247msgstr "Developers kunnen de waarde van elk veld aanpassen voordat hij wordt opgeslagen, met de nieuwe filters aop_sanitized_option en aop_sanitized_option_{name}."
    243248
    244 #: App/Admin/AdminPages/views/whats-new.php:108
     249#: App/Admin/AdminPages/views/whats-new-1.0.php:109
    245250msgid "A safe upgrade"
    246251msgstr "Een veilige upgrade"
    247252
    248 #: App/Admin/AdminPages/views/whats-new.php:109
     253#: App/Admin/AdminPages/views/whats-new-1.0.php:110
    249254msgid "Your pages are stored in a new format now. A copy in the old format is kept for 90 days."
    250 msgstr "Je pagina's worden nu in een nieuw formaat opgeslagen. Een kopie in het oude formaat wordt 90 dagen bewaard."
    251 
    252 #: App/Admin/AdminPages/views/whats-new.php:115
     255msgstr "Je pagina's worden nu in een nieuw format opgeslagen. Een kopie in het oude format wordt 90 dagen bewaard."
     256
     257#: App/Admin/AdminPages/views/whats-new-1.0.php:116
     258#: App/Admin/AdminPages/views/whats-new.php:71
    253259msgid "Requirements"
    254260msgstr "Vereisten"
    255261
    256 #: App/Admin/AdminPages/views/whats-new.php:116
     262#: App/Admin/AdminPages/views/whats-new-1.0.php:117
    257263msgid "Admin Options Pages 1.0 needs WordPress 6.9 or later and PHP 8.1 or later."
    258264msgstr "Admin Options Pages 1.0 heeft WordPress 6.9 of hoger en PHP 8.1 of hoger nodig."
    259265
    260 #: App/Admin/AdminPages/views/whats-new.php:118
     266#: App/Admin/AdminPages/views/whats-new-1.0.php:119
     267#: App/Admin/AdminPages/views/whats-new.php:74
    261268msgid "Go to your options pages"
    262269msgstr "Naar je optiepagina's"
    263270
    264 #: App/Admin/AdminPages/views/whats-new.php:119
     271#: App/Admin/AdminPages/views/whats-new-1.0.php:120
     272#: App/Admin/AdminPages/views/whats-new.php:75
    265273msgid "Read the documentation"
    266274msgstr "Lees de documentatie"
    … …  
    275283#: App/Fields/Types/Subtitle.php:38
    276284#: includes/build/editor.js:1
     285#: includes/build/editor.js:4
    277286msgid "Title"
    278287msgstr "Titel"
    … …  
    280289#: App/Admin/ListTable.php:41
    281290#: includes/build/editor.js:1
     291#: includes/build/editor.js:4
    282292msgid "Position"
    283293msgstr "Positie"
    … …  
    289299#: App/Admin/Notice.php:18
    290300msgid "Dismiss this notice."
    291 msgstr "Deze melding verbergen."
     301msgstr "Deze melding negeren."
    292302
    293303#: App/Admin/Text.php:11
    … …  
    301311
    302312#: App/Admin/Text.php:14
    303 #: App/Admin/Text.php:32
     313#: App/Admin/Text.php:28
    304314#: includes/build/editor.js:1
    305315msgid "Cancel"
    … …  
    307317
    308318#: App/Admin/Text.php:15
     319#: App/Admin/Text.php:25
    309320#: App/Admin/Text.php:29
    310 #: App/Admin/Text.php:33
    311321#: App/Fields/Types/FileField.php:165
    312322#: App/Fields/Types/Image.php:158
    … …  
    315325msgstr "Verwijderen"
    316326
    317 #: App/Admin/Text.php:18
    318 msgctxt "User role"
    319 msgid "Administrator"
    320 msgstr "Beheerder"
    321 
    322 #: App/Admin/Text.php:19
    323 msgctxt "User role"
    324 msgid "Editor"
    325 msgstr "Redacteur"
    326 
    327 #: App/Admin/Text.php:24
     327#: App/Admin/Text.php:20
    328328msgid "Save"
    329329msgstr "Opslaan"
    330330
    331 #: App/Admin/Text.php:25
     331#: App/Admin/Text.php:21
    332332msgid "New Pages"
    333333msgstr "Nieuwe pagina's"
    334334
    335 #: App/Admin/Text.php:28
     335#: App/Admin/Text.php:24
    336336msgid "Update"
    337 msgstr "Bijwerken"
    338 
    339 #: App/Admin/Text.php:30
     337msgstr "Updaten"
     338
     339#: App/Admin/Text.php:26
    340340msgid "Edit Pages"
    341341msgstr "Pagina's bewerken"
    … …  
    400400msgstr "Bewerken"
    401401
    402 #: App/Data.php:651
     402#: App/Data.php:653
    403403msgid "The link you followed has expired."
    404404msgstr "De link die je hebt gevolgd is verlopen."
    405405
    406406#. translators: 1: a field type, 2: an option name
    407 #: App/Fields/FieldManager.php:164
     407#: App/Fields/FieldManager.php:171
    408408msgid "The field type \"%1$s\" of the option \"%2$s\" is not available, so the field is not shown. Activate the plugin that provides it. Nothing was deleted."
    409409msgstr "Het veldtype \"%1$s\" van de optie \"%2$s\" is niet beschikbaar, daarom wordt het veld niet getoond. Activeer de plugin die het levert. Er is niets verwijderd."
    … …  
    627627#: includes/build/editor.js:1
    628628msgid "Textarea"
    629 msgstr "Tekstvak"
     629msgstr "Tekstgebied"
    630630
    631631#: App/Fields/Types/Textarea.php:35
    … …  
    662662#: includes/build/editor.js:1
    663663msgid "Toolbar"
    664 msgstr "Werkbalk"
     664msgstr "Toolbar"
    665665
    666666#: App/Fields/ValueSanitizer.php:43
    … …  
    692692msgstr "De databasetabellen van deze site kunnen niet terugdraaien. Gaat er halverwege iets mis, dan kan een deel van de import blijven staan."
    693693
    694 #: App/ImportExport/Importer.php:112
     694#: App/ImportExport/Importer.php:141
    695695msgid "This menu is in the file more than once."
    696696msgstr "Dit menu staat meer dan één keer in het bestand."
    697697
    698 #: App/ImportExport/Importer.php:118
     698#: App/ImportExport/Importer.php:147
    699699msgid "The menu on this site was saved by a newer version of the plugin. Update the plugin first."
    700 msgstr "Het menu op deze site is opgeslagen met een nieuwere versie van de plugin. Werk eerst de plugin bij."
    701 
    702 #: App/ImportExport/Importer.php:124
     700msgstr "Het menu op deze site is opgeslagen met een nieuwere versie van de plugin. Update eerst de plugin."
     701
     702#: App/ImportExport/Importer.php:153
    703703msgid "Another menu on this site already has the id of this menu."
    704704msgstr "Een ander menu op deze site heeft al de id van dit menu."
    705705
    706706#. translators: %s: an option name
    707 #: App/ImportExport/Importer.php:137
     707#: App/ImportExport/Importer.php:166
    708708msgid "The option name \"%s\" is used by more than one menu in the file."
    709709msgstr "De optienaam \"%s\" wordt in het bestand door meer dan één menu gebruikt."
    710710
    711711#. translators: %s: the name of a field type
    712 #: App/ImportExport/Importer.php:228
     712#: App/ImportExport/Importer.php:257
    713713msgid "The field type \"%s\" is not available on this site. Activate the plugin that provides it."
    714714msgstr "Het veldtype \"%s\" is niet beschikbaar op deze site. Activeer de plugin die het levert."
    715715
    716 #: App/ImportExport/Importer.php:233
     716#: App/ImportExport/Importer.php:262
    717717msgid "This is not a valid option name."
    718718msgstr "Dit is geen geldige optienaam."
    719719
    720 #: App/ImportExport/Importer.php:235
     720#: App/ImportExport/Importer.php:264
    721721msgid "This option name is used by WordPress or another plugin."
    722722msgstr "Deze optienaam wordt gebruikt door WordPress of een andere plugin."
    723723
    724 #: App/ImportExport/Importer.php:300
     724#: App/ImportExport/Importer.php:329
    725725msgid "Something in this menu is not allowed."
    726726msgstr "Iets in dit menu is niet toegestaan."
    727727
    728 #: App/ImportExport/Importer.php:310
     728#: App/ImportExport/Importer.php:339
    729729msgid "The name of this menu does not match what is in it."
    730730msgstr "De naam van dit menu klopt niet met wat erin staat."
    731731
    732 #: App/ImportExport/Importer.php:429
     732#: App/ImportExport/Importer.php:458
    733733msgid "Checked"
    734734msgstr "Aangevinkt"
    735735
    736 #: App/ImportExport/Importer.php:429
     736#: App/ImportExport/Importer.php:458
    737737msgid "Not checked"
    738738msgstr "Niet aangevinkt"
    739739
    740740#. translators: %s: the id of an image or file in the media library
    741 #: App/ImportExport/Importer.php:440
     741#: App/ImportExport/Importer.php:469
    742742msgid "Media ID %s"
    743743msgstr "Media-ID %s"
    744744
    745 #: App/ImportExport/Importer.php:472
     745#: App/ImportExport/Importer.php:501
    746746msgid "This import has expired. Choose the file again."
    747747msgstr "Deze import is verlopen. Kies het bestand opnieuw."
    748748
    749749#. translators: %s: the name of a menu
    750 #: App/ImportExport/Importer.php:613
     750#: App/ImportExport/Importer.php:642
    751751msgid "Without its first page the menu \"%s\" would get the name of a menu that is on this site already. Import the first page too, or choose another page as the first."
    752752msgstr "Zonder de eerste pagina krijgt het menu \"%s\" de naam van een menu dat al op deze site staat. Importeer ook de eerste pagina, of kies een andere pagina als eerste."
    753753
    754 #: App/ImportExport/Importer.php:638
    755 #: App/ImportExport/Importer.php:691
     754#: App/ImportExport/Importer.php:667
     755#: App/ImportExport/Importer.php:720
    756756msgid "A choice was made for a menu that is not in the file."
    757757msgstr "Er is een keuze gemaakt voor een menu dat niet in het bestand staat."
    758758
    759 #: App/ImportExport/Importer.php:645
     759#: App/ImportExport/Importer.php:674
    760760msgid "A choice was made for a page or field that is not in the file."
    761761msgstr "Er is een keuze gemaakt voor een pagina of veld dat niet in het bestand staat."
    762762
    763 #: App/ImportExport/Importer.php:652
     763#: App/ImportExport/Importer.php:681
    764764msgid "A menu needs at least one page."
    765765msgstr "Een menu heeft minstens één pagina nodig."
    766766
    767767#. translators: %s: the title of a menu
    768 #: App/ImportExport/Importer.php:680
     768#: App/ImportExport/Importer.php:709
    769769msgid "That cannot be done with the menu \"%s\"."
    770770msgstr "Dat kan niet met het menu \"%s\"."
    771771
    772772#. translators: %s: an option name
    773 #: App/ImportExport/Importer.php:716
     773#: App/ImportExport/Importer.php:745
    774774msgid "That cannot be done with the option \"%s\"."
    775775msgstr "Dat kan niet met de optie \"%s\"."
    776776
    777 #: App/ImportExport/Importer.php:742
     777#: App/ImportExport/Importer.php:771
    778778msgid "A menu in the file could not be saved. Nothing was imported."
    779779msgstr "Een menu in het bestand kon niet worden opgeslagen. Er is niets geïmporteerd."
    780780
    781781#. translators: %s: an option name
    782 #: App/ImportExport/Importer.php:781
     782#: App/ImportExport/Importer.php:810
    783783msgid "The value of \"%s\" was changed by its field type."
    784784msgstr "De waarde van \"%s\" is aangepast door het veldtype."
    … …  
    801801#: App/ImportExport/Package.php:107
    802802msgid "This file has export format %1$d. This version of the plugin reads format %2$d. Update the plugin on this site and try again."
    803 msgstr "Dit bestand heeft exportformaat %1$d. Deze versie van de plugin leest formaat %2$d. Werk de plugin op deze site bij en probeer het opnieuw."
     803msgstr "Dit bestand heeft exportformat %1$d. Deze versie van de plugin leest format %2$d. Update de plugin op deze site en probeer het opnieuw."
    804804
    805805#. translators: 1: where in the file, 2: the type that is expected
    … …  
    834834
    835835#. translators: 1: where in the file, 2: a number
    836 #: App/ImportExport/SchemaValidator.php:96
     836#: App/ImportExport/SchemaValidator.php:102
    837837msgid "%1$s has more than %2$d items."
    838838msgstr "%1$s heeft meer dan %2$d items."
    839839
    840840#. translators: %s: where in the file
    841 #: App/ImportExport/SchemaValidator.php:101
     841#: App/ImportExport/SchemaValidator.php:107
    842842msgid "%s has no items."
    843843msgstr "%s heeft geen items."
    844844
    845845#. translators: 1: where in the file, 2: a number
    846 #: App/ImportExport/SchemaValidator.php:106
     846#: App/ImportExport/SchemaValidator.php:112
    847847msgid "%1$s has more than %2$d entries."
    848 msgstr "%1$s heeft meer dan %2$d onderdelen."
     848msgstr "%1$s heeft meer dan %2$d vermeldingen."
    849849
    850850#. translators: 1: where in the file, 2: the name of what is missing
    851 #: App/ImportExport/SchemaValidator.php:112
     851#: App/ImportExport/SchemaValidator.php:118
    852852msgid "%1$s misses \"%2$s\"."
    853853msgstr "%1$s mist \"%2$s\"."
    854854
    855 #: App/ImportExport/SchemaValidator.php:169
     855#: App/ImportExport/SchemaValidator.php:175
    856856msgid "The file"
    857857msgstr "Het bestand"
    … …  
    863863#: App/Rest/ImportController.php:65
    864864msgid "The request is not complete."
    865 msgstr "Het verzoek is niet compleet."
     865msgstr "De aanvraag is niet compleet."
    866866
    867867#: App/Rest/PagesController.php:171
    … …  
    914914#: App/Validator.php:83
    915915msgid "The menu icon is not valid."
    916 msgstr "Het menupictogram is niet geldig."
     916msgstr "Het menu-icoon is niet geldig."
    917917
    918918#: includes/assets/js/aop-file.js:27
    … …  
    939939#: includes/build/editor.js:1
    940940msgid "Icon"
    941 msgstr "Pictogram"
     941msgstr "Icoon"
    942942
    943943#: includes/build/editor.js:1
    944944msgid "Choose an icon"
    945 msgstr "Kies een pictogram"
     945msgstr "Kies een icoon"
    946946
    947947#: includes/build/editor.js:1
    948948msgid "Search for an icon…"
    949 msgstr "Zoek een pictogram…"
     949msgstr "Zoek een icoon…"
    950950
    951951#: includes/build/editor.js:1
    … …  
    994994
    995995#: includes/build/editor.js:1
     996#: includes/build/editor.js:4
    996997msgid "Drag to reorder"
    997998msgstr "Slepen om de volgorde te wijzigen"
    … …  
    11571158#: includes/build/editor.js:1
    11581159msgid "Static content"
    1159 msgstr "Vaste inhoud"
    1160 
    1161 #: includes/build/editor.js:1
     1160msgstr "Statische content"
     1161
     1162#: includes/build/editor.js:4
    11621163msgid "Menu page title"
    11631164msgstr "Paginatitel in menu"
    11641165
    1165 #: includes/build/editor.js:1
     1166#: includes/build/editor.js:4
    11661167msgid "Page title"
    11671168msgstr "Paginatitel"
    11681169
    1169 #: includes/build/editor.js:1
     1170#: includes/build/editor.js:4
    11701171msgid "Page title on top"
    11711172msgstr "Paginatitel bovenaan"
    11721173
    1173 #: includes/build/editor.js:1
     1174#: includes/build/editor.js:4
    11741175msgid "Show page with tab"
    11751176msgstr "Pagina met tab tonen"
    11761177
    1177 #: includes/build/editor.js:1
    1178 msgid "User access level"
    1179 msgstr "Toegangsniveau"
    1180 
    1181 #: includes/build/editor.js:1
     1178#: includes/build/editor.js:4
    11821179msgid "Visit Page"
    11831180msgstr "Pagina bekijken"
    11841181
    1185 #: includes/build/editor.js:1
     1182#: includes/build/editor.js:4
    11861183msgid "Delete Page"
    11871184msgstr "Pagina verwijderen"
    11881185
    1189 #: includes/build/editor.js:1
     1186#: includes/build/editor.js:4
    11901187msgid "Saving failed."
    11911188msgstr "Opslaan mislukt."
    11921189
    1193 #: includes/build/editor.js:1
     1190#: includes/build/editor.js:4
    11941191msgid "At this moment there is no proper support for small/mobile screens."
    11951192msgstr "Op dit moment worden kleine/mobiele schermen niet goed ondersteund."
    11961193
    1197 #: includes/build/editor.js:1
     1194#: includes/build/editor.js:4
    11981195msgid "We hope to fix this in a future version."
    11991196msgstr "We hopen dit in een volgende versie op te lossen."
    12001197
    1201 #: includes/build/editor.js:1
     1198#: includes/build/editor.js:4
    12021199msgid "The minimum required screen width is 1000px."
    12031200msgstr "De minimale schermbreedte is 1000px."
    12041201
    1205 #: includes/build/editor.js:1
     1202#: includes/build/editor.js:4
    12061203msgid "Close dialog"
    12071204msgstr "Dialoogvenster sluiten"
    … …  
    14121409msgid "Setting saved."
    14131410msgstr "Instelling opgeslagen."
     1411
     1412#. translators: 1: the slug of a user role, 2: the menu title of a page
     1413#: App/ImportExport/Importer.php:118
     1414msgid "The role \"%1$s\" of the page \"%2$s\" does not exist on this site. Until it does, users with that role cannot open the page."
     1415msgstr "De rol \"%1$s\" van de pagina \"%2$s\" bestaat niet op deze site. Tot hij er is, kunnen gebruikers met die rol de pagina niet openen."
     1416
     1417#. translators: %s: where in the file
     1418#: App/ImportExport/SchemaValidator.php:92
     1419msgid "%s has characters that are not allowed."
     1420msgstr "%s bevat tekens die niet zijn toegestaan."
     1421
     1422#. translators: %s: the slug of a role that does not exist on this site
     1423#: includes/build/editor.js:2
     1424msgid "%s (no longer available)"
     1425msgstr "%s (niet meer beschikbaar)"
     1426
     1427#. translators: 1: the name of a role, 2: the number of users with that role
     1428#: includes/build/editor.js:3
     1429msgid "%1$s (%2$d user)"
     1430msgid_plural "%1$s (%2$d users)"
     1431msgstr[0] "%1$s (%2$d gebruiker)"
     1432msgstr[1] "%1$s (%2$d gebruikers)"
     1433
     1434#: includes/build/editor.js:3
     1435msgid "Administrator"
     1436msgstr "Beheerder"
     1437
     1438#: App/Admin/AdminPages/views/whats-new.php:34
     1439#: includes/build/editor.js:3
     1440#: includes/build/editor.js:4
     1441msgid "Who can edit"
     1442msgstr "Wie kan bewerken"
     1443
     1444#. translators: %d: the number of roles besides administrator that can edit the page
     1445#: includes/build/editor.js:4
     1446msgid "Administrator + %d other"
     1447msgid_plural "Administrator + %d others"
     1448msgstr[0] "Beheerder + %d andere"
     1449msgstr[1] "Beheerder + %d andere"
     1450
     1451#: includes/build/editor.js:4
     1452msgid "Administrators always have access."
     1453msgstr "Beheerders hebben altijd toegang."
     1454
     1455#: includes/build/editor.js:4
     1456msgid "Users with this role cannot open the dashboard."
     1457msgstr "Gebruikers met deze rol kunnen het dashboard niet openen."
     1458
     1459#: includes/build/editor.js:4
     1460msgid "Done"
     1461msgstr "Klaar"
     1462
     1463#: App/Admin/AdminPages/SubpageWhatsNew.php:120
     1464msgid "Admin Options Pages 1.1 is here."
     1465msgstr "Admin Options Pages 1.1 is er."
     1466
     1467#: App/Admin/AdminPages/SubpageWhatsNew.php:121
     1468msgid "You now choose per page which roles can edit it. Have a look at who can edit your pages."
     1469msgstr "Je kiest nu per pagina welke rollen hem kunnen bewerken. Kijk even wie je pagina's kan bewerken."
     1470
     1471#: App/Admin/AdminPages/views/whats-new-1.0.php:122
     1472msgid "What is new in 1.1"
     1473msgstr "Wat is er nieuw in 1.1"
     1474
     1475#: App/Admin/AdminPages/views/whats-new.php:20
     1476msgid "Admin Options Pages 1.1"
     1477msgstr "Admin Options Pages 1.1"
     1478
     1479#: App/Admin/AdminPages/views/whats-new.php:22
     1480msgid "Choose who can edit each page."
     1481msgstr "Kies wie elke pagina kan bewerken."
     1482
     1483#: App/Admin/AdminPages/views/whats-new.php:27
     1484msgid "Welcome to Admin Options Pages 1.1"
     1485msgstr "Welkom bij Admin Options Pages 1.1"
     1486
     1487#: App/Admin/AdminPages/views/whats-new.php:36
     1488msgid "Tick the roles that may edit a page."
     1489msgstr "Vink de rollen aan die een pagina mogen bewerken."
     1490
     1491#: App/Admin/AdminPages/views/whats-new.php:37
     1492msgid "Open a page in the editor and click the button next to \"Who can edit\". Every role of your site is there, also the roles of other plugins and the roles you made yourself. Users with a ticked role see the page in their menu and can save it; nobody else can."
     1493msgstr "Open een pagina in de editor en klik op de knop naast \"Wie kan bewerken\". Elke rol van je site staat erin, ook de rollen van andere plugins en de rollen die je zelf hebt gemaakt. Gebruikers met een aangevinkte rol zien de pagina in hun menu en kunnen hem opslaan; niemand anders kan dat."
     1494
     1495#: App/Admin/AdminPages/views/whats-new.php:39
     1496msgid "Administrators can always open every page, and only administrators can build and change the pages themselves."
     1497msgstr "Beheerders kunnen elke pagina altijd openen, en alleen beheerders kunnen de pagina's zelf bouwen en wijzigen."
     1498
     1499#: App/Admin/AdminPages/views/whats-new.php:42
     1500msgid "The dialog \"Who can edit\" with a checkbox for every role of the site"
     1501msgstr "Het venster \"Wie kan bewerken\" met een selectievakje voor elke rol van de site"
     1502
     1503#: App/Admin/AdminPages/views/whats-new.php:48
     1504msgid "What happens to your pages"
     1505msgstr "Wat er met je pagina's gebeurt"
     1506
     1507#: App/Admin/AdminPages/views/whats-new.php:49
     1508msgid "Nothing changes until you save a page again. A page that was set to Editor opens in the editor with the roles ticked that can edit it now: usually Editor, and with WooCommerce also Shop manager. Save the page to keep it that way, or change the roles first."
     1509msgstr "Er verandert niets tot je een pagina opnieuw opslaat. Een pagina die op Redacteur stond, opent in de editor met de rollen aangevinkt die hem nu kunnen bewerken: meestal Redacteur, en met WooCommerce ook Winkelmanager. Sla de pagina op om het zo te houden, of pas eerst de rollen aan."
     1510
     1511#: App/Admin/AdminPages/views/whats-new.php:50
     1512msgid "From then on the ticked roles decide, not what a role may do elsewhere on the site. Did someone get access without one of these roles? Tick a role they have, or give them access to that page with a plugin that manages roles."
     1513msgstr "Vanaf dan beslissen de aangevinkte rollen, niet wat een rol elders op de site mag. Had iemand toegang zonder een van deze rollen? Vink een rol aan die hij heeft, of geef hem toegang tot die pagina met een plugin die rollen beheert."
     1514
     1515#: App/Admin/AdminPages/views/whats-new.php:56
     1516msgid "One user, one page"
     1517msgstr "Eén gebruiker, één pagina"
     1518
     1519#: App/Admin/AdminPages/views/whats-new.php:57
     1520msgid "With a plugin that manages roles, such as Members or User Role Editor, you can give a single user access to a single page: every page is listed there under Admin Options Pages."
     1521msgstr "Met een plugin die rollen beheert, zoals Members of User Role Editor, geef je één gebruiker toegang tot één pagina: elke pagina staat daar onder Admin Options Pages."
     1522
     1523#: App/Admin/AdminPages/views/whats-new.php:60
     1524msgid "Roles move with your pages"
     1525msgstr "Rollen verhuizen mee"
     1526
     1527#: App/Admin/AdminPages/views/whats-new.php:61
     1528msgid "An export takes the roles of every page with it. When a role does not exist on the site you import to, the preview tells you; the page is imported all the same."
     1529msgstr "Een export neemt de rollen van elke pagina mee. Bestaat een rol niet op de site waar je importeert, dan zegt het voorbeeld dat; de pagina wordt toch geïmporteerd."
     1530
     1531#: App/Admin/AdminPages/views/whats-new.php:64
     1532msgid "No dead ends"
     1533msgstr "Geen doodlopende wegen"
     1534
     1535#: App/Admin/AdminPages/views/whats-new.php:65
     1536msgid "The editor tells you when a ticked role cannot open the dashboard at all, such as the Customer role of WooCommerce."
     1537msgstr "De editor zegt het als een aangevinkte rol het dashboard helemaal niet kan openen, zoals de rol Klant van WooCommerce."
     1538
     1539#: App/Admin/AdminPages/views/whats-new.php:72
     1540msgid "Admin Options Pages 1.1 needs WordPress 6.9 or later and PHP 8.1 or later, like 1.0."
     1541msgstr "Admin Options Pages 1.1 heeft WordPress 6.9 of hoger en PHP 8.1 of hoger nodig, net als 1.0."
     1542
     1543#: App/Admin/AdminPages/views/whats-new.php:77
     1544msgid "What was new in 1.0"
     1545msgstr "Wat was er nieuw in 1.0"
     1546
     1547#: App/Admin/AdminPages/views/whats-new.php:28
     1548msgid "Your clients and colleagues now get exactly the pages they need. Choose the right roles for each page: Editor, Shop manager, Author, or a role you made yourself."
     1549msgstr "Je klanten en collega's krijgen nu precies de pagina's die ze nodig hebben. Kies per pagina de juiste rollen: Redacteur, Winkelmanager, Auteur of een rol die je zelf hebt gemaakt."
  • admin-options-pages/tags/1.1.0/languages/admin-options-pages.pot

    r3736451 r3750608  
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2026-10-09T10:01:38+00:00\n"
     12"POT-Creation-Date: 2026-10-16T13:58:23+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.11.0\n"
    … …  
    8484
    8585#: App/Admin/AdminPages/AdminPages.php:207
    86 #: App/Admin/Input.php:61
     86#: App/Admin/Input.php:62
    8787msgid "Updated."
    8888msgstr ""
    … …  
    139139msgstr ""
    140140
    141 #: App/Admin/AdminPages/SubpageWhatsNew.php:93
    142 msgid "Admin Options Pages 1.0 is here."
    143 msgstr ""
    144 
    145 #: App/Admin/AdminPages/SubpageWhatsNew.php:94
    146 msgid "Import and export with your data, your own field types, nine new field types and your values on your website."
    147 msgstr ""
    148 
    149 #: App/Admin/AdminPages/SubpageWhatsNew.php:96
     141#: App/Admin/AdminPages/SubpageWhatsNew.php:120
     142msgid "Admin Options Pages 1.1 is here."
     143msgstr ""
     144
     145#: App/Admin/AdminPages/SubpageWhatsNew.php:121
     146msgid "You now choose per page which roles can edit it. Have a look at who can edit your pages."
     147msgstr ""
     148
     149#: App/Admin/AdminPages/SubpageWhatsNew.php:123
    150150msgid "See what's new"
    151151msgstr ""
    152152
    153 #: App/Admin/AdminPages/views/whats-new.php:19
     153#: App/Admin/AdminPages/views/whats-new-1.0.php:20
    154154msgid "Admin Options Pages 1.0"
    155155msgstr ""
    156156
    157 #: App/Admin/AdminPages/views/whats-new.php:21
     157#: App/Admin/AdminPages/views/whats-new-1.0.php:22
    158158msgid "Import and export with your data, your own field types and your values on your website."
    159159msgstr ""
    160160
    161 #: App/Admin/AdminPages/views/whats-new.php:26
     161#: App/Admin/AdminPages/views/whats-new-1.0.php:27
    162162msgid "Welcome to Admin Options Pages 1.0"
    163163msgstr ""
    164164
     165#: App/Admin/AdminPages/views/whats-new-1.0.php:28
     166msgid "This is the biggest update of the plugin so far. Menus now move to another site with all their values, so the options pages you built and filled locally go live in one file. You can add field types of your own, there are nine new built-in ones, and the values of your fields can be shown on your website without code. Your menus, pages, fields and values are all still here."
     167msgstr ""
     168
     169#: App/Admin/AdminPages/views/whats-new-1.0.php:34
     170msgid "Import and export, with your data"
     171msgstr ""
     172
     173#: App/Admin/AdminPages/views/whats-new-1.0.php:36
     174msgid "Build and fill your options pages locally, then take them live in one file."
     175msgstr ""
     176
     177#: App/Admin/AdminPages/views/whats-new-1.0.php:37
     178msgid "Export the menus you choose together with the values of their fields, and import them on your live site, a staging site or your next project. No more typing the same settings twice."
     179msgstr ""
     180
     181#: App/Admin/AdminPages/views/whats-new-1.0.php:39
     182msgid "Before anything changes you see what would happen, and you choose per menu, page, field and value. Nothing is replaced unless you choose it, and an import is all or nothing. Exports made with 0.9 can be imported too."
     183msgstr ""
     184
     185#: App/Admin/AdminPages/views/whats-new-1.0.php:42
     186msgid "The preview of an import, with a checkbox for every menu, page, field and value"
     187msgstr ""
     188
     189#: App/Admin/AdminPages/views/whats-new-1.0.php:48
     190msgid "An options page with a logo, a brand color and contact details"
     191msgstr ""
     192
     193#: App/Admin/AdminPages/views/whats-new-1.0.php:51
     194msgid "Nine new field types"
     195msgstr ""
     196
     197#: App/Admin/AdminPages/views/whats-new-1.0.php:53
     198msgid "Email, Link, Password, Date, Time, Date and time, Range, Button group and File."
     199msgstr ""
     200
     201#: App/Admin/AdminPages/views/whats-new-1.0.php:54
     202msgid "That makes 21 field types. Each one checks what is entered, and an image or file field only accepts the file types you choose, also when something is uploaded."
     203msgstr ""
     204
     205#: App/Admin/AdminPages/views/whats-new-1.0.php:61
     206msgid "Your own field types"
     207msgstr ""
     208
     209#: App/Admin/AdminPages/views/whats-new-1.0.php:63
     210msgid "Need a field that is not there? Add it yourself."
     211msgstr ""
     212
     213#: App/Admin/AdminPages/views/whats-new-1.0.php:64
     214msgid "Register a field type from your theme or plugin with one class: what the editor asks for, how the value is checked and stored, and how it shows on the options page and on your website. It appears in the field picker next to the built-in types, which use exactly the same API."
     215msgstr ""
     216
     217#: App/Admin/AdminPages/views/whats-new-1.0.php:66
     218msgid "The Field Types API is stable from 1.0 on and follows semantic versioning, so your field types keep working with the next versions."
     219msgstr ""
     220
     221#: App/Admin/AdminPages/views/whats-new-1.0.php:87
     222msgid "A paragraph connected to a field in the Attributes panel"
     223msgstr ""
     224
     225#: App/Admin/AdminPages/views/whats-new-1.0.php:90
     226msgid "Your values on your website"
     227msgstr ""
     228
     229#: App/Admin/AdminPages/views/whats-new-1.0.php:92
     230msgid "With a shortcode or a block, no code needed."
     231msgstr ""
     232
     233#: App/Admin/AdminPages/views/whats-new-1.0.php:93
     234msgid "Put a field in a post with [aop_option name=\"…\"], or connect a paragraph, heading, button or image to it in the Attributes panel of the block editor. Change the value once, and it changes everywhere."
     235msgstr ""
     236
     237#: App/Admin/AdminPages/views/whats-new-1.0.php:95
     238msgid "Switch on \"Use in shortcode and blocks\" for the fields you want to show. Fields made before 1.0 have it off, so nothing appears on your website by itself."
     239msgstr ""
     240
     241#: App/Admin/AdminPages/views/whats-new-1.0.php:101
     242msgid "Rewritten in React"
     243msgstr ""
     244
     245#: App/Admin/AdminPages/views/whats-new-1.0.php:102
     246msgid "Under the hood the editor is rewritten in React, the WordPress way: with the components and the data store the block editor is made of."
     247msgstr ""
     248
     249#: App/Admin/AdminPages/views/whats-new-1.0.php:105
     250msgid "Change any saved value"
     251msgstr ""
     252
     253#: App/Admin/AdminPages/views/whats-new-1.0.php:106
     254msgid "Developers can change the value of any field before it is stored with the new filters aop_sanitized_option and aop_sanitized_option_{name}."
     255msgstr ""
     256
     257#: App/Admin/AdminPages/views/whats-new-1.0.php:109
     258msgid "A safe upgrade"
     259msgstr ""
     260
     261#: App/Admin/AdminPages/views/whats-new-1.0.php:110
     262msgid "Your pages are stored in a new format now. A copy in the old format is kept for 90 days."
     263msgstr ""
     264
     265#: App/Admin/AdminPages/views/whats-new-1.0.php:116
     266#: App/Admin/AdminPages/views/whats-new.php:71
     267msgid "Requirements"
     268msgstr ""
     269
     270#: App/Admin/AdminPages/views/whats-new-1.0.php:117
     271msgid "Admin Options Pages 1.0 needs WordPress 6.9 or later and PHP 8.1 or later."
     272msgstr ""
     273
     274#: App/Admin/AdminPages/views/whats-new-1.0.php:119
     275#: App/Admin/AdminPages/views/whats-new.php:74
     276msgid "Go to your options pages"
     277msgstr ""
     278
     279#: App/Admin/AdminPages/views/whats-new-1.0.php:120
     280#: App/Admin/AdminPages/views/whats-new.php:75
     281msgid "Read the documentation"
     282msgstr ""
     283
     284#: App/Admin/AdminPages/views/whats-new-1.0.php:122
     285msgid "What is new in 1.1"
     286msgstr ""
     287
     288#: App/Admin/AdminPages/views/whats-new.php:20
     289msgid "Admin Options Pages 1.1"
     290msgstr ""
     291
     292#: App/Admin/AdminPages/views/whats-new.php:22
     293msgid "Choose who can edit each page."
     294msgstr ""
     295
    165296#: App/Admin/AdminPages/views/whats-new.php:27
    166 msgid "This is the biggest update of the plugin so far. Menus now move to another site with all their values, so the options pages you built and filled locally go live in one file. You can add field types of your own, there are nine new built-in ones, and the values of your fields can be shown on your website without code. Your menus, pages, fields and values are all still here."
    167 msgstr ""
    168 
    169 #: App/Admin/AdminPages/views/whats-new.php:33
    170 msgid "Import and export, with your data"
    171 msgstr ""
    172 
    173 #: App/Admin/AdminPages/views/whats-new.php:35
    174 msgid "Build and fill your options pages locally, then take them live in one file."
     297msgid "Welcome to Admin Options Pages 1.1"
     298msgstr ""
     299
     300#: App/Admin/AdminPages/views/whats-new.php:28
     301msgid "Your clients and colleagues now get exactly the pages they need. Choose the right roles for each page: Editor, Shop manager, Author, or a role you made yourself."
     302msgstr ""
     303
     304#: App/Admin/AdminPages/views/whats-new.php:34
     305#: includes/build/editor.js:3
     306#: includes/build/editor.js:4
     307msgid "Who can edit"
    175308msgstr ""
    176309
    177310#: App/Admin/AdminPages/views/whats-new.php:36
    178 msgid "Export the menus you choose together with the values of their fields, and import them on your live site, a staging site or your next project. No more typing the same settings twice."
    179 msgstr ""
    180 
    181 #: App/Admin/AdminPages/views/whats-new.php:38
    182 msgid "Before anything changes you see what would happen, and you choose per menu, page, field and value. Nothing is replaced unless you choose it, and an import is all or nothing. Exports made with 0.9 can be imported too."
    183 msgstr ""
    184 
    185 #: App/Admin/AdminPages/views/whats-new.php:41
    186 msgid "The preview of an import, with a checkbox for every menu, page, field and value"
    187 msgstr ""
    188 
    189 #: App/Admin/AdminPages/views/whats-new.php:47
    190 msgid "An options page with a logo, a brand color and contact details"
     311msgid "Tick the roles that may edit a page."
     312msgstr ""
     313
     314#: App/Admin/AdminPages/views/whats-new.php:37
     315msgid "Open a page in the editor and click the button next to \"Who can edit\". Every role of your site is there, also the roles of other plugins and the roles you made yourself. Users with a ticked role see the page in their menu and can save it; nobody else can."
     316msgstr ""
     317
     318#: App/Admin/AdminPages/views/whats-new.php:39
     319msgid "Administrators can always open every page, and only administrators can build and change the pages themselves."
     320msgstr ""
     321
     322#: App/Admin/AdminPages/views/whats-new.php:42
     323msgid "The dialog \"Who can edit\" with a checkbox for every role of the site"
     324msgstr ""
     325
     326#: App/Admin/AdminPages/views/whats-new.php:48
     327msgid "What happens to your pages"
     328msgstr ""
     329
     330#: App/Admin/AdminPages/views/whats-new.php:49
     331msgid "Nothing changes until you save a page again. A page that was set to Editor opens in the editor with the roles ticked that can edit it now: usually Editor, and with WooCommerce also Shop manager. Save the page to keep it that way, or change the roles first."
    191332msgstr ""
    192333
    193334#: App/Admin/AdminPages/views/whats-new.php:50
    194 msgid "Nine new field types"
    195 msgstr ""
    196 
    197 #: App/Admin/AdminPages/views/whats-new.php:52
    198 msgid "Email, Link, Password, Date, Time, Date and time, Range, Button group and File."
    199 msgstr ""
    200 
    201 #: App/Admin/AdminPages/views/whats-new.php:53
    202 msgid "That makes 21 field types. Each one checks what is entered, and an image or file field only accepts the file types you choose, also when something is uploaded."
     335msgid "From then on the ticked roles decide, not what a role may do elsewhere on the site. Did someone get access without one of these roles? Tick a role they have, or give them access to that page with a plugin that manages roles."
     336msgstr ""
     337
     338#: App/Admin/AdminPages/views/whats-new.php:56
     339msgid "One user, one page"
     340msgstr ""
     341
     342#: App/Admin/AdminPages/views/whats-new.php:57
     343msgid "With a plugin that manages roles, such as Members or User Role Editor, you can give a single user access to a single page: every page is listed there under Admin Options Pages."
    203344msgstr ""
    204345
    205346#: App/Admin/AdminPages/views/whats-new.php:60
    206 msgid "Your own field types"
    207 msgstr ""
    208 
    209 #: App/Admin/AdminPages/views/whats-new.php:62
    210 msgid "Need a field that is not there? Add it yourself."
    211 msgstr ""
    212 
    213 #: App/Admin/AdminPages/views/whats-new.php:63
    214 msgid "Register a field type from your theme or plugin with one class: what the editor asks for, how the value is checked and stored, and how it shows on the options page and on your website. It appears in the field picker next to the built-in types, which use exactly the same API."
     347msgid "Roles move with your pages"
     348msgstr ""
     349
     350#: App/Admin/AdminPages/views/whats-new.php:61
     351msgid "An export takes the roles of every page with it. When a role does not exist on the site you import to, the preview tells you; the page is imported all the same."
     352msgstr ""
     353
     354#: App/Admin/AdminPages/views/whats-new.php:64
     355msgid "No dead ends"
    215356msgstr ""
    216357
    217358#: App/Admin/AdminPages/views/whats-new.php:65
    218 msgid "The Field Types API is stable from 1.0 on and follows semantic versioning, so your field types keep working with the next versions."
    219 msgstr ""
    220 
    221 #: App/Admin/AdminPages/views/whats-new.php:86
    222 msgid "A paragraph connected to a field in the Attributes panel"
    223 msgstr ""
    224 
    225 #: App/Admin/AdminPages/views/whats-new.php:89
    226 msgid "Your values on your website"
    227 msgstr ""
    228 
    229 #: App/Admin/AdminPages/views/whats-new.php:91
    230 msgid "With a shortcode or a block, no code needed."
    231 msgstr ""
    232 
    233 #: App/Admin/AdminPages/views/whats-new.php:92
    234 msgid "Put a field in a post with [aop_option name=\"…\"], or connect a paragraph, heading, button or image to it in the Attributes panel of the block editor. Change the value once, and it changes everywhere."
    235 msgstr ""
    236 
    237 #: App/Admin/AdminPages/views/whats-new.php:94
    238 msgid "Switch on \"Use in shortcode and blocks\" for the fields you want to show. Fields made before 1.0 have it off, so nothing appears on your website by itself."
    239 msgstr ""
    240 
    241 #: App/Admin/AdminPages/views/whats-new.php:100
    242 msgid "Rewritten in React"
    243 msgstr ""
    244 
    245 #: App/Admin/AdminPages/views/whats-new.php:101
    246 msgid "Under the hood the editor is rewritten in React, the WordPress way: with the components and the data store the block editor is made of."
    247 msgstr ""
    248 
    249 #: App/Admin/AdminPages/views/whats-new.php:104
    250 msgid "Change any saved value"
    251 msgstr ""
    252 
    253 #: App/Admin/AdminPages/views/whats-new.php:105
    254 msgid "Developers can change the value of any field before it is stored with the new filters aop_sanitized_option and aop_sanitized_option_{name}."
    255 msgstr ""
    256 
    257 #: App/Admin/AdminPages/views/whats-new.php:108
    258 msgid "A safe upgrade"
    259 msgstr ""
    260 
    261 #: App/Admin/AdminPages/views/whats-new.php:109
    262 msgid "Your pages are stored in a new format now. A copy in the old format is kept for 90 days."
    263 msgstr ""
    264 
    265 #: App/Admin/AdminPages/views/whats-new.php:115
    266 msgid "Requirements"
    267 msgstr ""
    268 
    269 #: App/Admin/AdminPages/views/whats-new.php:116
    270 msgid "Admin Options Pages 1.0 needs WordPress 6.9 or later and PHP 8.1 or later."
    271 msgstr ""
    272 
    273 #: App/Admin/AdminPages/views/whats-new.php:118
    274 msgid "Go to your options pages"
    275 msgstr ""
    276 
    277 #: App/Admin/AdminPages/views/whats-new.php:119
    278 msgid "Read the documentation"
     359msgid "The editor tells you when a ticked role cannot open the dashboard at all, such as the Customer role of WooCommerce."
     360msgstr ""
     361
     362#: App/Admin/AdminPages/views/whats-new.php:72
     363msgid "Admin Options Pages 1.1 needs WordPress 6.9 or later and PHP 8.1 or later, like 1.0."
     364msgstr ""
     365
     366#: App/Admin/AdminPages/views/whats-new.php:77
     367msgid "What was new in 1.0"
    279368msgstr ""
    280369
    … …  
    288377#: App/Fields/Types/Subtitle.php:38
    289378#: includes/build/editor.js:1
     379#: includes/build/editor.js:4
    290380msgid "Title"
    291381msgstr ""
    … …  
    293383#: App/Admin/ListTable.php:41
    294384#: includes/build/editor.js:1
     385#: includes/build/editor.js:4
    295386msgid "Position"
    296387msgstr ""
    … …  
    314405
    315406#: App/Admin/Text.php:14
    316 #: App/Admin/Text.php:32
     407#: App/Admin/Text.php:28
    317408#: includes/build/editor.js:1
    318409msgid "Cancel"
    … …  
    320411
    321412#: App/Admin/Text.php:15
     413#: App/Admin/Text.php:25
    322414#: App/Admin/Text.php:29
    323 #: App/Admin/Text.php:33
    324415#: App/Fields/Types/FileField.php:165
    325416#: App/Fields/Types/Image.php:158
    … …  
    328419msgstr ""
    329420
    330 #: App/Admin/Text.php:18
    331 msgctxt "User role"
    332 msgid "Administrator"
    333 msgstr ""
    334 
    335 #: App/Admin/Text.php:19
    336 msgctxt "User role"
    337 msgid "Editor"
     421#: App/Admin/Text.php:20
     422msgid "Save"
     423msgstr ""
     424
     425#: App/Admin/Text.php:21
     426msgid "New Pages"
    338427msgstr ""
    339428
    340429#: App/Admin/Text.php:24
    341 msgid "Save"
    342 msgstr ""
    343 
    344 #: App/Admin/Text.php:25
    345 msgid "New Pages"
    346 msgstr ""
    347 
    348 #: App/Admin/Text.php:28
    349430msgid "Update"
    350431msgstr ""
    351432
    352 #: App/Admin/Text.php:30
     433#: App/Admin/Text.php:26
    353434msgid "Edit Pages"
    354435msgstr ""
    … …  
    413494msgstr ""
    414495
    415 #: App/Data.php:651
     496#: App/Data.php:653
    416497msgid "The link you followed has expired."
    417498msgstr ""
    418499
    419500#. translators: 1: a field type, 2: an option name
    420 #: App/Fields/FieldManager.php:164
     501#: App/Fields/FieldManager.php:171
    421502msgid "The field type \"%1$s\" of the option \"%2$s\" is not available, so the field is not shown. Activate the plugin that provides it. Nothing was deleted."
    422503msgstr ""
    … …  
    705786msgstr ""
    706787
    707 #: App/ImportExport/Importer.php:112
     788#. translators: 1: the slug of a user role, 2: the menu title of a page
     789#: App/ImportExport/Importer.php:118
     790msgid "The role \"%1$s\" of the page \"%2$s\" does not exist on this site. Until it does, users with that role cannot open the page."
     791msgstr ""
     792
     793#: App/ImportExport/Importer.php:141
    708794msgid "This menu is in the file more than once."
    709795msgstr ""
    710796
    711 #: App/ImportExport/Importer.php:118
     797#: App/ImportExport/Importer.php:147
    712798msgid "The menu on this site was saved by a newer version of the plugin. Update the plugin first."
    713799msgstr ""
    714800
    715 #: App/ImportExport/Importer.php:124
     801#: App/ImportExport/Importer.php:153
    716802msgid "Another menu on this site already has the id of this menu."
    717803msgstr ""
    718804
    719805#. translators: %s: an option name
    720 #: App/ImportExport/Importer.php:137
     806#: App/ImportExport/Importer.php:166
    721807msgid "The option name \"%s\" is used by more than one menu in the file."
    722808msgstr ""
    723809
    724810#. translators: %s: the name of a field type
    725 #: App/ImportExport/Importer.php:228
     811#: App/ImportExport/Importer.php:257
    726812msgid "The field type \"%s\" is not available on this site. Activate the plugin that provides it."
    727813msgstr ""
    728814
    729 #: App/ImportExport/Importer.php:233
     815#: App/ImportExport/Importer.php:262
    730816msgid "This is not a valid option name."
    731817msgstr ""
    732818
    733 #: App/ImportExport/Importer.php:235
     819#: App/ImportExport/Importer.php:264
    734820msgid "This option name is used by WordPress or another plugin."
    735821msgstr ""
    736822
    737 #: App/ImportExport/Importer.php:300
     823#: App/ImportExport/Importer.php:329
    738824msgid "Something in this menu is not allowed."
    739825msgstr ""
    740826
    741 #: App/ImportExport/Importer.php:310
     827#: App/ImportExport/Importer.php:339
    742828msgid "The name of this menu does not match what is in it."
    743829msgstr ""
    744830
    745 #: App/ImportExport/Importer.php:429
     831#: App/ImportExport/Importer.php:458
    746832msgid "Checked"
    747833msgstr ""
    748834
    749 #: App/ImportExport/Importer.php:429
     835#: App/ImportExport/Importer.php:458
    750836msgid "Not checked"
    751837msgstr ""
    752838
    753839#. translators: %s: the id of an image or file in the media library
    754 #: App/ImportExport/Importer.php:440
     840#: App/ImportExport/Importer.php:469
    755841msgid "Media ID %s"
    756842msgstr ""
    757843
    758 #: App/ImportExport/Importer.php:472
     844#: App/ImportExport/Importer.php:501
    759845msgid "This import has expired. Choose the file again."
    760846msgstr ""
    761847
    762848#. translators: %s: the name of a menu
    763 #: App/ImportExport/Importer.php:613
     849#: App/ImportExport/Importer.php:642
    764850msgid "Without its first page the menu \"%s\" would get the name of a menu that is on this site already. Import the first page too, or choose another page as the first."
    765851msgstr ""
    766852
    767 #: App/ImportExport/Importer.php:638
    768 #: App/ImportExport/Importer.php:691
     853#: App/ImportExport/Importer.php:667
     854#: App/ImportExport/Importer.php:720
    769855msgid "A choice was made for a menu that is not in the file."
    770856msgstr ""
    771857
    772 #: App/ImportExport/Importer.php:645
     858#: App/ImportExport/Importer.php:674
    773859msgid "A choice was made for a page or field that is not in the file."
    774860msgstr ""
    775861
    776 #: App/ImportExport/Importer.php:652
     862#: App/ImportExport/Importer.php:681
    777863msgid "A menu needs at least one page."
    778864msgstr ""
    779865
    780866#. translators: %s: the title of a menu
    781 #: App/ImportExport/Importer.php:680
     867#: App/ImportExport/Importer.php:709
    782868msgid "That cannot be done with the menu \"%s\"."
    783869msgstr ""
    784870
    785871#. translators: %s: an option name
    786 #: App/ImportExport/Importer.php:716
     872#: App/ImportExport/Importer.php:745
    787873msgid "That cannot be done with the option \"%s\"."
    788874msgstr ""
    789875
    790 #: App/ImportExport/Importer.php:742
     876#: App/ImportExport/Importer.php:771
    791877msgid "A menu in the file could not be saved. Nothing was imported."
    792878msgstr ""
    793879
    794880#. translators: %s: an option name
    795 #: App/ImportExport/Importer.php:781
     881#: App/ImportExport/Importer.php:810
    796882msgid "The value of \"%s\" was changed by its field type."
    797883msgstr ""
    … …  
    846932msgstr ""
    847933
     934#. translators: %s: where in the file
     935#: App/ImportExport/SchemaValidator.php:92
     936msgid "%s has characters that are not allowed."
     937msgstr ""
     938
    848939#. translators: 1: where in the file, 2: a number
    849 #: App/ImportExport/SchemaValidator.php:96
     940#: App/ImportExport/SchemaValidator.php:102
    850941msgid "%1$s has more than %2$d items."
    851942msgstr ""
    852943
    853944#. translators: %s: where in the file
    854 #: App/ImportExport/SchemaValidator.php:101
     945#: App/ImportExport/SchemaValidator.php:107
    855946msgid "%s has no items."
    856947msgstr ""
    857948
    858949#. translators: 1: where in the file, 2: a number
    859 #: App/ImportExport/SchemaValidator.php:106
     950#: App/ImportExport/SchemaValidator.php:112
    860951msgid "%1$s has more than %2$d entries."
    861952msgstr ""
    862953
    863954#. translators: 1: where in the file, 2: the name of what is missing
    864 #: App/ImportExport/SchemaValidator.php:112
     955#: App/ImportExport/SchemaValidator.php:118
    865956msgid "%1$s misses \"%2$s\"."
    866957msgstr ""
    867958
    868 #: App/ImportExport/SchemaValidator.php:169
     959#: App/ImportExport/SchemaValidator.php:175
    869960msgid "The file"
    870961msgstr ""
    … …  
    10071098
    10081099#: includes/build/editor.js:1
     1100#: includes/build/editor.js:4
    10091101msgid "Drag to reorder"
    10101102msgstr ""
    … …  
    11721264msgstr ""
    11731265
    1174 #: includes/build/editor.js:1
     1266#. translators: %s: the slug of a role that does not exist on this site
     1267#: includes/build/editor.js:2
     1268msgid "%s (no longer available)"
     1269msgstr ""
     1270
     1271#. translators: 1: the name of a role, 2: the number of users with that role
     1272#: includes/build/editor.js:3
     1273msgid "%1$s (%2$d user)"
     1274msgid_plural "%1$s (%2$d users)"
     1275msgstr[0] ""
     1276msgstr[1] ""
     1277
     1278#: includes/build/editor.js:3
     1279msgid "Administrator"
     1280msgstr ""
     1281
     1282#. translators: %d: the number of roles besides administrator that can edit the page
     1283#: includes/build/editor.js:4
     1284msgid "Administrator + %d other"
     1285msgid_plural "Administrator + %d others"
     1286msgstr[0] ""
     1287msgstr[1] ""
     1288
     1289#: includes/build/editor.js:4
     1290msgid "Administrators always have access."
     1291msgstr ""
     1292
     1293#: includes/build/editor.js:4
     1294msgid "Users with this role cannot open the dashboard."
     1295msgstr ""
     1296
     1297#: includes/build/editor.js:4
     1298msgid "Done"
     1299msgstr ""
     1300
     1301#: includes/build/editor.js:4
    11751302msgid "Menu page title"
    11761303msgstr ""
    11771304
    1178 #: includes/build/editor.js:1
     1305#: includes/build/editor.js:4
    11791306msgid "Page title"
    11801307msgstr ""
    11811308
    1182 #: includes/build/editor.js:1
     1309#: includes/build/editor.js:4
    11831310msgid "Page title on top"
    11841311msgstr ""
    11851312
    1186 #: includes/build/editor.js:1
     1313#: includes/build/editor.js:4
    11871314msgid "Show page with tab"
    11881315msgstr ""
    11891316
    1190 #: includes/build/editor.js:1
    1191 msgid "User access level"
    1192 msgstr ""
    1193 
    1194 #: includes/build/editor.js:1
     1317#: includes/build/editor.js:4
    11951318msgid "Visit Page"
    11961319msgstr ""
    11971320
    1198 #: includes/build/editor.js:1
     1321#: includes/build/editor.js:4
    11991322msgid "Delete Page"
    12001323msgstr ""
    12011324
    1202 #: includes/build/editor.js:1
     1325#: includes/build/editor.js:4
    12031326msgid "Saving failed."
    12041327msgstr ""
    12051328
    1206 #: includes/build/editor.js:1
     1329#: includes/build/editor.js:4
    12071330msgid "At this moment there is no proper support for small/mobile screens."
    12081331msgstr ""
    12091332
    1210 #: includes/build/editor.js:1
     1333#: includes/build/editor.js:4
    12111334msgid "We hope to fix this in a future version."
    12121335msgstr ""
    12131336
    1214 #: includes/build/editor.js:1
     1337#: includes/build/editor.js:4
    12151338msgid "The minimum required screen width is 1000px."
    12161339msgstr ""
    12171340
    1218 #: includes/build/editor.js:1
     1341#: includes/build/editor.js:4
    12191342msgid "Close dialog"
    12201343msgstr ""
  • admin-options-pages/tags/1.1.0/readme.txt

    r3736451 r3750608  
    55Tested up to: 7.1
    66Requires PHP: 8.1
    7 Stable tag: 1.0.0
     7Stable tag: 1.1.0
    88License: GPLv2 or later
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html
    … …  
    106106= Who can edit the options pages? =
    107107
    108 You choose per page: *Administrator* or *Editor*. With *Editor*, users who can edit other people's posts can see the page and change its values. The editor of Admin Options Pages itself is only for administrators.
     108You tick per page which roles can see it and change its values: for example *Shop manager*, *Author*, or a role you made yourself. Administrators can always open every page. A plugin that manages roles, such as Members or User Role Editor, can also give a single user access to a page. The editor of Admin Options Pages itself is only for administrators.
     109
     110Pages you made before 1.1 keep working as they did. When you open such a page in the editor, the roles that have access now are ticked.
    109111
    110112== Screenshots ==
    … …  
    118120
    119121== Changelog ==
     122
     123= 1.1.0 =
     124*Release Date - 16 October 2026*
     125
     126* New: choose per page which roles can edit it, also roles of other plugins and roles you made yourself. Administrators can always open every page.
     127* New: Members and User Role Editor list a capability per page, so you can give one user access to one page.
     128* New: the import says when a page has a role that does not exist on this site.
     129* New: a What's new page for 1.1; the page of 1.0 stays available.
     130* Pages of 1.0 keep their access: the roles that have the level *Editor* now are ticked when you open the page.
     131* Fixed: new texts no longer show in English when an older language pack of translate.wordpress.org is installed.
    120132
    121133= 1.0.0 =
    … …  
    292304== Upgrade Notice ==
    293305
     306= 1.1.0 =
     307Choose per page which roles can edit it. Pages set to Editor keep working; open them in the editor and save once to keep the roles that have access now.
     308
    294309= 1.0.0 =
    295310A new editor, 21 field types, and your values in blocks and shortcodes. Requires PHP 8.1 and WordPress 6.9. Your pages are converted to a new format; a backup is kept for 90 days. Going back to 0.9.11 needs that backup.
  • admin-options-pages/tags/1.1.0/vendor/composer/autoload_classmap.php

    r3736451 r3750608  
    77
    88return array(
     9    'AOP\\App\\Access' => $baseDir . '/App/Access.php',
    910    'AOP\\App\\Admin\\AdminPages\\AdminPages' => $baseDir . '/App/Admin/AdminPages/AdminPages.php',
    1011    'AOP\\App\\Admin\\AdminPages\\MenuPage' => $baseDir . '/App/Admin/AdminPages/MenuPage.php',
    … …  
    8384    'AOP\\App\\Rest\\PagesController' => $baseDir . '/App/Rest/PagesController.php',
    8485    'AOP\\App\\Singleton' => $baseDir . '/App/Singleton.php',
     86    'AOP\\App\\Translations' => $baseDir . '/App/Translations.php',
    8587    'AOP\\App\\Validation' => $baseDir . '/App/Validation.php',
    8688    'AOP\\App\\ValidationFailed' => $baseDir . '/App/ValidationFailed.php',
  • admin-options-pages/tags/1.1.0/vendor/composer/autoload_static.php

    r3736451 r3750608  
    5454
    5555    public static $classMap = array (
     56        'AOP\\App\\Access' => __DIR__ . '/../..' . '/App/Access.php',
    5657        'AOP\\App\\Admin\\AdminPages\\AdminPages' => __DIR__ . '/../..' . '/App/Admin/AdminPages/AdminPages.php',
    5758        'AOP\\App\\Admin\\AdminPages\\MenuPage' => __DIR__ . '/../..' . '/App/Admin/AdminPages/MenuPage.php',
    … …  
    130131        'AOP\\App\\Rest\\PagesController' => __DIR__ . '/../..' . '/App/Rest/PagesController.php',
    131132        'AOP\\App\\Singleton' => __DIR__ . '/../..' . '/App/Singleton.php',
     133        'AOP\\App\\Translations' => __DIR__ . '/../..' . '/App/Translations.php',
    132134        'AOP\\App\\Validation' => __DIR__ . '/../..' . '/App/Validation.php',
    133135        'AOP\\App\\ValidationFailed' => __DIR__ . '/../..' . '/App/ValidationFailed.php',
  • admin-options-pages/trunk/App/Admin/AdminPages/SubpageWhatsNew.php

    r3736451 r3750608  
    77
    88/**
    9  * "What's new in 1.0": the page that tells what changed, like the About page of WordPress after an update (it uses
    10  * the classes of wp-admin/css/about.css, which every admin screen loads). After an update from an older version an
    11  * administrator sees a notice that links to it, until the page was opened or the notice dismissed.
     9 * "What's new": the page that tells what changed in the latest release with news (VERSION), like the About page of
     10 * WordPress after an update (it uses the classes of wp-admin/css/about.css, which every admin screen loads). The page
     11 * of an earlier release stays available as an archive (`&version=1.0`). After an update an administrator sees a
     12 * notice that links to it, until the page was opened or the notice dismissed.
    1213 */
    1314class SubpageWhatsNew
    … …  
    1617
    1718    /** The release this page is about. */
    18     public const VERSION = '1.0.0';
     19    public const VERSION = '1.1.0';
     20
     21    /** Earlier releases with a page of their own: `&version=` => view. */
     22    public const ARCHIVE = ['1.0' => 'whats-new-1.0.php'];
     23
     24    /**
     25     * The release whose news this site has had (VERSION when it was installed with it). A site where it is older or
     26     * missing was updated: it gets the notice once.
     27     */
     28    public const SEEN_OPTION = Plugin::PREFIX_ . 'whats_new_version';
    1929
    2030    /** Set when an update needs the notice (the version it is for); removed when it was seen or dismissed. */
    … …  
    2737    public static function register(): void
    2838    {
     39        add_action('admin_init', [self::class, 'checkRelease']);
    2940        add_action('admin_notices', [self::class, 'notice']);
    3041        add_action('wp_ajax_' . self::DISMISS_ACTION, [self::class, 'dismiss']);
    … …  
    3243    }
    3344
    34     public static function url(): string
     45    /**
     46     * @param string $version Empty for the latest release, or a key of ARCHIVE.
     47     */
     48    public static function url(string $version = ''): string
    3549    {
    36         return admin_url('admin.php?page=' . self::SLUG);
     50        return admin_url('admin.php?page=' . self::SLUG . ($version !== '' ? '&version=' . rawurlencode($version) : ''));
     51    }
     52
     53    /**
     54     * A site that has not had the news of this release yet (an update from 1.0 or older) gets the notice once. A
     55     * fresh install has SEEN_OPTION already (Plugin::addOptions()).
     56     */
     57    public static function checkRelease(): void
     58    {
     59        if (get_option(self::SEEN_OPTION) === self::VERSION) {
     60            return;
     61        }
     62
     63        update_option(self::SEEN_OPTION, self::VERSION, false);
     64        self::remember();
    3765    }
    3866
    … …  
    90118            esc_attr(wp_create_nonce(self::DISMISS_ACTION)),
    91119            esc_attr(self::DISMISS_ACTION),
    92             esc_html__('Admin Options Pages 1.0 is here.', 'admin-options-pages'),
    93             esc_html__('Import and export with your data, your own field types, nine new field types and your values on your website.', 'admin-options-pages'),
     120            esc_html__('Admin Options Pages 1.1 is here.', 'admin-options-pages'),
     121            esc_html__('You now choose per page which roles can edit it. Have a look at who can edit your pages.', 'admin-options-pages'),
    94122            esc_url(self::url()),
    95123            esc_html__("See what's new", 'admin-options-pages')
    … …  
    152180        };
    153181
    154         include __DIR__ . '/views/whats-new.php';
     182        $version = isset($_GET['version']) ? sanitize_text_field(wp_unslash($_GET['version'])) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- only chooses which page to show.
     183
     184        include __DIR__ . '/views/' . (self::ARCHIVE[$version] ?? 'whats-new.php');
    155185    }
    156186}
  • admin-options-pages/trunk/App/Admin/AdminPages/views/whats-new.php

    r3736451 r3750608  
    11<?php
    22/**
    3  * What's new in 1.0 (SubpageWhatsNew::view()). Markup and classes of wp-admin/about.php, so it looks like the About
    4  * page of WordPress; aop-whats-new.css only sets the header.
     3 * What's new in 1.1 (SubpageWhatsNew::view()). Markup and classes of wp-admin/about.php, so it looks like the About
     4 * page of WordPress; aop-whats-new.css only sets the header. The page of 1.0 is the archive (whats-new-1.0.php).
    55 *
    66 * @var callable(string, string, int, int): string $image Prints an image of includes/assets/images/whats-new/.
    … …  
    88
    99use AOP\App\Admin\AdminPages\SubpageMaster;
     10use AOP\App\Admin\AdminPages\SubpageWhatsNew;
    1011
    1112if (!defined('ABSPATH')) {
    … …  
    1718    <div class="about__header">
    1819        <div class="about__header-title">
    19             <h1><?php esc_html_e('Admin Options Pages 1.0', 'admin-options-pages'); ?></h1>
     20            <h1><?php esc_html_e('Admin Options Pages 1.1', 'admin-options-pages'); ?></h1>
    2021        </div>
    21         <p class="about__header-text"><?php esc_html_e('Import and export with your data, your own field types and your values on your website.', 'admin-options-pages'); ?></p>
     22        <p class="about__header-text"><?php esc_html_e('Choose who can edit each page.', 'admin-options-pages'); ?></p>
    2223    </div>
    2324
    2425    <div class="about__section">
    2526        <div class="column is-left-padding-zero is-right-padding-zero">
    26             <h2><?php esc_html_e('Welcome to Admin Options Pages 1.0', 'admin-options-pages'); ?></h2>
    27             <p class="is-subheading"><?php esc_html_e('This is the biggest update of the plugin so far. Menus now move to another site with all their values, so the options pages you built and filled locally go live in one file. You can add field types of your own, there are nine new built-in ones, and the values of your fields can be shown on your website without code. Your menus, pages, fields and values are all still here.', 'admin-options-pages'); ?></p>
     27            <h2><?php esc_html_e('Welcome to Admin Options Pages 1.1', 'admin-options-pages'); ?></h2>
     28            <p class="is-subheading"><?php esc_html_e('Your clients and colleagues now get exactly the pages they need. Choose the right roles for each page: Editor, Shop manager, Author, or a role you made yourself.', 'admin-options-pages'); ?></p>
    2829        </div>
    2930    </div>
    … …  
    3132    <div class="about__section has-2-columns">
    3233        <div class="column is-vertically-aligned-center is-left-padding-zero">
    33             <h3><?php esc_html_e('Import and export, with your data', 'admin-options-pages'); ?></h3>
     34            <h3><?php esc_html_e('Who can edit', 'admin-options-pages'); ?></h3>
    3435            <p>
    35                 <strong><?php esc_html_e('Build and fill your options pages locally, then take them live in one file.', 'admin-options-pages'); ?></strong><br />
    36                 <?php esc_html_e('Export the menus you choose together with the values of their fields, and import them on your live site, a staging site or your next project. No more typing the same settings twice.', 'admin-options-pages'); ?>
     36                <strong><?php esc_html_e('Tick the roles that may edit a page.', 'admin-options-pages'); ?></strong><br />
     37                <?php esc_html_e('Open a page in the editor and click the button next to "Who can edit". Every role of your site is there, also the roles of other plugins and the roles you made yourself. Users with a ticked role see the page in their menu and can save it; nobody else can.', 'admin-options-pages'); ?>
    3738            </p>
    38             <p><?php esc_html_e('Before anything changes you see what would happen, and you choose per menu, page, field and value. Nothing is replaced unless you choose it, and an import is all or nothing. Exports made with 0.9 can be imported too.', 'admin-options-pages'); ?></p>
     39            <p><?php esc_html_e('Administrators can always open every page, and only administrators can build and change the pages themselves.', 'admin-options-pages'); ?></p>
    3940        </div>
    4041        <div class="column is-vertically-aligned-center is-right-padding-zero">
    41             <?php echo $image('import-preview.webp', __('The preview of an import, with a checkbox for every menu, page, field and value', 'admin-options-pages'), 670, 560); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- escaped by $image. ?>
     42            <?php echo $image('who-can-edit.webp', __('The dialog "Who can edit" with a checkbox for every role of the site', 'admin-options-pages'), 400, 342); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- escaped by $image.?>
    4243        </div>
    4344    </div>
    4445
    45     <div class="about__section has-2-columns">
    46         <div class="column is-vertically-aligned-center is-left-padding-zero">
    47             <?php echo $image('options-page.webp', __('An options page with a logo, a brand color and contact details', 'admin-options-pages'), 1060, 600); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- escaped by $image. ?>
    48         </div>
    49         <div class="column is-vertically-aligned-center is-right-padding-zero">
    50             <h3><?php esc_html_e('Nine new field types', 'admin-options-pages'); ?></h3>
    51             <p>
    52                 <strong><?php esc_html_e('Email, Link, Password, Date, Time, Date and time, Range, Button group and File.', 'admin-options-pages'); ?></strong><br />
    53                 <?php esc_html_e('That makes 21 field types. Each one checks what is entered, and an image or file field only accepts the file types you choose, also when something is uploaded.', 'admin-options-pages'); ?>
    54             </p>
     46    <div class="about__section has-subtle-background-color">
     47        <div class="column">
     48            <h3><?php esc_html_e('What happens to your pages', 'admin-options-pages'); ?></h3>
     49            <p><?php esc_html_e('Nothing changes until you save a page again. A page that was set to Editor opens in the editor with the roles ticked that can edit it now: usually Editor, and with WooCommerce also Shop manager. Save the page to keep it that way, or change the roles first.', 'admin-options-pages'); ?></p>
     50            <p><?php esc_html_e('From then on the ticked roles decide, not what a role may do elsewhere on the site. Did someone get access without one of these roles? Tick a role they have, or give them access to that page with a plugin that manages roles.', 'admin-options-pages'); ?></p>
    5551        </div>
    5652    </div>
    5753
    58     <div class="about__section has-2-columns">
    59         <div class="column is-vertically-aligned-center is-left-padding-zero">
    60             <h3><?php esc_html_e('Your own field types', 'admin-options-pages'); ?></h3>
    61             <p>
    62                 <strong><?php esc_html_e('Need a field that is not there? Add it yourself.', 'admin-options-pages'); ?></strong><br />
    63                 <?php esc_html_e('Register a field type from your theme or plugin with one class: what the editor asks for, how the value is checked and stored, and how it shows on the options page and on your website. It appears in the field picker next to the built-in types, which use exactly the same API.', 'admin-options-pages'); ?>
    64             </p>
    65             <p><?php esc_html_e('The Field Types API is stable from 1.0 on and follows semantic versioning, so your field types keep working with the next versions.', 'admin-options-pages'); ?></p>
    66         </div>
    67         <div class="column is-vertically-aligned-center is-right-padding-zero">
    68             <pre class="aop-whats-new__code"><code><?php echo esc_html(
    69                 "add_action( 'aop_register_field_types', function ( \$registry ) {\n" .
    70                 "    \$registry->register( UrlField::class );\n" .
    71                 "} );\n\n" .
    72                 "class UrlField extends \\AOP\\App\\Fields\\FieldType\n" .
    73                 "{\n" .
    74                 "    public static function type(): string { return 'url'; }\n" .
    75                 "    public function label(): string { return __( 'URL' ); }\n" .
    76                 "    public function settings(): array { /* ... */ }\n" .
    77                 "    public function sanitizeValue( \$value, array \$field ) { /* ... */ }\n" .
    78                 "    public function render( array \$field, \$value ): void { /* ... */ }\n" .
    79                 "}"
    80             ); ?></code></pre>
    81         </div>
    82     </div>
    83 
    84     <div class="about__section has-2-columns">
    85         <div class="column is-vertically-aligned-center is-left-padding-zero">
    86             <?php echo $image('block-binding.webp', __('A paragraph connected to a field in the Attributes panel', 'admin-options-pages'), 1084, 688); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- escaped by $image. ?>
    87         </div>
    88         <div class="column is-vertically-aligned-center is-right-padding-zero">
    89             <h3><?php esc_html_e('Your values on your website', 'admin-options-pages'); ?></h3>
    90             <p>
    91                 <strong><?php esc_html_e('With a shortcode or a block, no code needed.', 'admin-options-pages'); ?></strong><br />
    92                 <?php esc_html_e('Put a field in a post with [aop_option name="…"], or connect a paragraph, heading, button or image to it in the Attributes panel of the block editor. Change the value once, and it changes everywhere.', 'admin-options-pages'); ?>
    93             </p>
    94             <p><?php esc_html_e('Switch on "Use in shortcode and blocks" for the fields you want to show. Fields made before 1.0 have it off, so nothing appears on your website by itself.', 'admin-options-pages'); ?></p>
    95         </div>
    96     </div>
    97 
    98     <div class="about__section has-3-columns has-subtle-background-color">
     54    <div class="about__section has-3-columns">
    9955        <div class="column">
    100             <h3><?php esc_html_e('Rewritten in React', 'admin-options-pages'); ?></h3>
    101             <p><?php esc_html_e('Under the hood the editor is rewritten in React, the WordPress way: with the components and the data store the block editor is made of.', 'admin-options-pages'); ?></p>
     56            <h3><?php esc_html_e('One user, one page', 'admin-options-pages'); ?></h3>
     57            <p><?php esc_html_e('With a plugin that manages roles, such as Members or User Role Editor, you can give a single user access to a single page: every page is listed there under Admin Options Pages.', 'admin-options-pages'); ?></p>
    10258        </div>
    10359        <div class="column">
    104             <h3><?php esc_html_e('Change any saved value', 'admin-options-pages'); ?></h3>
    105             <p><?php esc_html_e('Developers can change the value of any field before it is stored with the new filters aop_sanitized_option and aop_sanitized_option_{name}.', 'admin-options-pages'); ?></p>
     60            <h3><?php esc_html_e('Roles move with your pages', 'admin-options-pages'); ?></h3>
     61            <p><?php esc_html_e('An export takes the roles of every page with it. When a role does not exist on the site you import to, the preview tells you; the page is imported all the same.', 'admin-options-pages'); ?></p>
    10662        </div>
    10763        <div class="column">
    108             <h3><?php esc_html_e('A safe upgrade', 'admin-options-pages'); ?></h3>
    109             <p><?php esc_html_e('Your pages are stored in a new format now. A copy in the old format is kept for 90 days.', 'admin-options-pages'); ?></p>
     64            <h3><?php esc_html_e('No dead ends', 'admin-options-pages'); ?></h3>
     65            <p><?php esc_html_e('The editor tells you when a ticked role cannot open the dashboard at all, such as the Customer role of WooCommerce.', 'admin-options-pages'); ?></p>
    11066        </div>
    11167    </div>
    … …  
    11470        <div class="column is-left-padding-zero is-right-padding-zero">
    11571            <h3><?php esc_html_e('Requirements', 'admin-options-pages'); ?></h3>
    116             <p><?php esc_html_e('Admin Options Pages 1.0 needs WordPress 6.9 or later and PHP 8.1 or later.', 'admin-options-pages'); ?></p>
     72            <p><?php esc_html_e('Admin Options Pages 1.1 needs WordPress 6.9 or later and PHP 8.1 or later, like 1.0.', 'admin-options-pages'); ?></p>
    11773            <p class="aop-whats-new__actions">
    11874                <a class="button button-primary button-hero" href="<?php echo esc_url(admin_url('admin.php?page=' . SubpageMaster::SLUG)); ?>"><?php esc_html_e('Go to your options pages', 'admin-options-pages'); ?></a>
    119                 <a class="button button-hero" href="https://adminoptionspages.com/docs/1.x/whats-new"><?php esc_html_e('Read the documentation', 'admin-options-pages'); ?></a>
     75                <a class="button button-hero" href="https://adminoptionspages.com/docs/1.x/who-can-edit"><?php esc_html_e('Read the documentation', 'admin-options-pages'); ?></a>
    12076            </p>
     77            <p><a href="<?php echo esc_url(SubpageWhatsNew::url('1.0')); ?>"><?php esc_html_e('What was new in 1.0', 'admin-options-pages'); ?></a></p>
    12178        </div>
    12279    </div>
  • admin-options-pages/trunk/App/Admin/Input.php

    r3736451 r3750608  
    33namespace AOP\App\Admin;
    44
     5use AOP\App\Access;
    56use AOP\App\Data;
    67use AOP\App\Plugin;
    … …  
    194195        return Collection::make(Request::post()['pages'])->map(function ($subpage, $key) use ($validate) {
    195196            $validatedSubpageTab = isset($subpage['subpage_tab']) && $subpage['subpage_tab'] === '1';
     197            $roles = $validate->roles($subpage);
    196198
    197199            $validatedParentSlug = $validate->already($this->existingMenuParentSlug($validate), $validate->existingMenu());
    … …  
    204206                'subpage_title' => $validate->textField($subpage['subpage_title']),
    205207                'menu_title' => $validate->textField($subpage['menu_title']),
    206                 'capability' => $validate->capabilityPage($subpage['role']),
     208                'capability' => Access::legacyCapability($roles),
     209                'roles' => $roles,
    207210                'menu_slug' => $validate->alphanumericDashesAll($subpage['subpage_slug']),
    208211                'subpage_slug_suffix' => $validate->alphanumeric($subpage['subpage_slug_suffix']),
    … …  
    231234        return Collection::make(Request::post()['pages'])->map(function ($subpage, $key) use ($validate) {
    232235            $validatedSubpageTab = isset($subpage['subpage_tab']) && $subpage['subpage_tab'] === '1';
     236            $roles = $validate->roles($subpage);
    233237
    234238            $validatedParentSlug = $this->parentSlugForCustomMenu($validate);
    … …  
    240244                'subpage_title' => $validate->textField($subpage['subpage_title']),
    241245                'menu_title' => $validate->textField($subpage['menu_title']),
    242                 'capability' => $validate->capabilityPage($subpage['role']),
     246                'capability' => Access::legacyCapability($roles),
     247                'roles' => $roles,
    243248                'menu_slug' => $validatedMenuSlug,
    244249                'subpage_slug_suffix' => $validate->alphanumeric($subpage['subpage_slug_suffix']),
  • admin-options-pages/trunk/App/Admin/Text.php

    r3223019 r3750608  
    1414                    'cancel' => __('Cancel', 'admin-options-pages'),
    1515                    'delete' => __('Delete', 'admin-options-pages')
    16                 ],
    17                 'role' => [
    18                     'administrator' => _x('Administrator', 'User role', 'admin-options-pages'),
    19                     'editor' => _x('Editor', 'User role', 'admin-options-pages')
    2016                ]
    2117            ],
  • admin-options-pages/trunk/App/Data.php

    r3736451 r3750608  
    7575            static::$$name = null;
    7676        }
     77
     78        Access::reset();
    7779    }
    7880
    … …  
    497499
    498500                    $pages = Collection::make($item['pages'])->filter(function ($item) {
    499                         return current_user_can($item['capability']);
     501                        return current_user_can(Access::pageCapability($item));
    500502                    });
    501503
  • admin-options-pages/trunk/App/Enqueue.php

    r3736451 r3750608  
    6969
    7070            wp_localize_script(Plugin::PREFIX . 'app-js', Plugin::PREFIX_ . 'editor_config', static::editorConfig());
     71
     72            // The checkboxes of the roles are CheckboxControl; its look comes from the stylesheet of WordPress.
     73            wp_enqueue_style('wp-components');
    7174
    7275            wp_localize_script(Plugin::PREFIX . 'app-js', Plugin::PREFIX_ . 'script_data_js', Data::js()->toArray());
    … …  
    8891     * with a page. They travel in a script, not in an attribute named nonce (analysis S14).
    8992     *
    90      * @return array{nonceName: string, nonce: string, referer: string, svgUploads: bool}
     93     * @return array{nonceName: string, nonce: string, referer: string, svgUploads: bool, roles: array, legacyEditorRoles: string[]}
    9194     */
    9295    public static function editorConfig(): array
    … …  
    100103            // WordPress blocks SVG uploads by default; the image field says so (a plugin like Safe SVG allows them).
    101104            'svgUploads' => in_array('image/svg+xml', get_allowed_mime_types(), true),
     105            'roles' => static::roles(),
     106            // A page of 1.0 with level "Editor" shows these roles ticked (Access::legacyEditorRoles()).
     107            'legacyEditorRoles' => Access::legacyEditorRoles(),
    102108        ];
     109    }
     110
     111    /**
     112     * Every role of the site, also roles that a plugin or the site builder added. Not get_editable_roles(): plugins
     113     * hide roles there. Which role may open a page is decided by the role a user has, not by its capabilities; a
     114     * role that cannot open the dashboard at all gets a remark in the editor.
     115     *
     116     * @return array<int, array{slug: string, name: string, count: int|null, canOpenAdmin: bool}>
     117     */
     118    public static function roles(): array
     119    {
     120        $counts = function_exists('wp_is_large_user_count') && wp_is_large_user_count() ? null : count_users()['avail_roles'];
     121        $roles = [];
     122
     123        foreach (wp_roles()->roles as $slug => $role) {
     124            $slug = (string) $slug;
     125            $object = get_role($slug);
     126
     127            $roles[] = [
     128                'slug' => $slug,
     129                'name' => translate_user_role($role['name']),
     130                'count' => $counts === null ? null : (int) ($counts[$slug] ?? 0),
     131                'canOpenAdmin' => $object !== null && static::roleCanOpenAdmin($object),
     132            ];
     133        }
     134
     135        return $roles;
     136    }
     137
     138    /**
     139     * Whether users with this role can open wp-admin. WooCommerce sends users away who have none of edit_posts,
     140     * manage_woocommerce and view_admin_dashboard (woocommerce_prevent_admin_access).
     141     */
     142    private static function roleCanOpenAdmin(\WP_Role $role): bool
     143    {
     144        if (!$role->has_cap('read')) {
     145            return false;
     146        }
     147
     148        if (!class_exists('WooCommerce')) {
     149            return true;
     150        }
     151
     152        return $role->has_cap('edit_posts') || $role->has_cap('manage_woocommerce') || $role->has_cap('view_admin_dashboard');
    103153    }
    104154
  • admin-options-pages/trunk/App/Fields/FieldManager.php

    r3736451 r3750608  
    33namespace AOP\App\Fields;
    44
     5use AOP\App\Access;
    56use AOP\App\Plugin;
    67
    … …  
    2728     *
    2829     * @param iterable<array> $fields Stored fields.
     30     * @param array|null      $page   The page the fields are on; then only fields the user may edit are registered
     31     *                                (Access::fieldMode()).
    2932     */
    30     public static function hook(iterable $fields): void
     33    public static function hook(iterable $fields, ?array $page = null): void
    3134    {
    3235        foreach ($fields as $field) {
    3336            // The type is looked up on admin_init, after add-ons had their chance to register it.
    34             add_action('admin_init', function () use ($field) {
     37            add_action('admin_init', function () use ($field, $page) {
     38                if ($page !== null && Access::fieldMode($page, $field, wp_get_current_user()) !== 'edit') {
     39                    return;
     40                }
     41
    3542                self::registerField($field);
    3643            });
  • admin-options-pages/trunk/App/ImportExport/Importer.php

    r3736451 r3750608  
    9696        }
    9797
    98         return ['menus' => $menus, 'options' => $options, 'warnings' => $warnings];
     98        return ['menus' => $menus, 'options' => $options, 'warnings' => array_merge($warnings, self::missingRoleWarnings($package))];
     99    }
     100
     101    /**
     102     * Roles of the pages in the file that this site does not have. The page is imported with them all the same: the
     103     * role gives nobody access until a plugin or the site builder adds it.
     104     *
     105     * @return string[]
     106     */
     107    private static function missingRoleWarnings(array $package): array
     108    {
     109        $known = wp_roles()->roles;
     110        $warnings = [];
     111
     112        foreach ($package['menus_and_pages'] as $item) {
     113            foreach ((array) ($item['page_value']['pages'] ?? []) as $page) {
     114                foreach ((array) ($page['roles'] ?? []) as $role) {
     115                    if (is_string($role) && $role !== 'administrator' && ! isset($known[$role])) {
     116                        $warnings[] = sprintf(
     117                            /* translators: 1: the slug of a user role, 2: the menu title of a page */
     118                            __('The role "%1$s" of the page "%2$s" does not exist on this site. Until it does, users with that role cannot open the page.', 'admin-options-pages'),
     119                            $role,
     120                            (string) ($page['menu_title'] ?? '')
     121                        );
     122                    }
     123                }
     124            }
     125        }
     126
     127        return array_values(array_unique($warnings));
    99128    }
    100129
  • admin-options-pages/trunk/App/ImportExport/PageValueToPost.php

    r3736451 r3750608  
    6161        ];
    6262
     63        // A page of 1.1 has its roles; a page of 1.0 posts its level, as the editor of 1.0 did.
     64        if (isset($page['roles']) && is_array($page['roles'])) {
     65            unset($post['role']);
     66            $post = self::insertAfter($post, 'select_title', ['roles' => array_values($page['roles'])]);
     67        }
     68
    6369        if (! empty($page['include_tab'])) {
    6470            $post['subpage_tab'] = '1';
    … …  
    7076
    7177        return $post;
     78    }
     79
     80    /**
     81     * @param array  $array
     82     * @param string $key   The key to insert after.
     83     * @param array  $items
     84     */
     85    private static function insertAfter(array $array, string $key, array $items): array
     86    {
     87        $position = array_search($key, array_keys($array), true);
     88
     89        return array_slice($array, 0, $position + 1, true) + $items + array_slice($array, $position + 1, null, true);
    7290    }
    7391
  • admin-options-pages/trunk/App/ImportExport/SchemaValidator.php

    r3736451 r3750608  
    8585            /* translators: %s: where in the file */
    8686            $errors[] = self::error($path, sprintf(__('%s is empty.', 'admin-options-pages'), self::name($path)));
     87        }
     88
     89        // A pattern of the schema is a JSON Schema pattern without delimiters; ~ does not occur in ours.
     90        if (isset($schema['pattern']) && ! preg_match('~' . $schema['pattern'] . '~u', $data)) {
     91            /* translators: %s: where in the file */
     92            $errors[] = self::error($path, sprintf(__('%s has characters that are not allowed.', 'admin-options-pages'), self::name($path)));
    8793        }
    8894    }
  • admin-options-pages/trunk/App/Options/MenuPage.php

    r2356184 r3750608  
    22
    33namespace AOP\App\Options;
     4
     5use AOP\App\Access;
    46
    57class MenuPage
    … …  
    4244        $this->pageTitle  = $args['page_title'];
    4345        $this->menuTitle  = $args['menu_title'];
    44         $this->capability = $args['capability'];
     46        $this->capability = Access::menuCapability($args);
    4547        $this->menuSlug   = $args['menu_slug'];
    4648        $this->iconUrl    = $args['icon_url'];
  • admin-options-pages/trunk/App/Options/OptionsFields.php

    r3736451 r3750608  
    1111     * Register the fields of a page; each goes to its field type through the FieldManager.
    1212     *
    13      * @param $fields
     13     * @param array      $fields
     14     * @param array|null $page   The page the fields are on (Access decides per field what the user may do).
    1415     * @return Collection
    1516     */
    16     public function run($fields)
     17    public function run($fields, ?array $page = null)
    1718    {
    1819        return Collection::make($fields)->filter(function ($field) {
    1920            return isset($field['type']);
    20         })->each(function ($field) {
    21             FieldManager::hook([$field]);
     21        })->each(function ($field) use ($page) {
     22            FieldManager::hook([$field], $page);
    2223        });
    2324    }
  • admin-options-pages/trunk/App/Options/OptionsPages.php

    r3736451 r3750608  
    6767            return $getRequest['page'] === $page['menu_slug'] || $cleanSlug === $prefix . '/wp-admin/options.php';
    6868        })->map(function ($page) {
    69             return (new OptionsFields())->run($page['fields']);
     69            return (new OptionsFields())->run($page['fields'], $page);
    7070        });
    7171    }
  • admin-options-pages/trunk/App/Options/SingleOptionsPage.php

    r3736451 r3750608  
    33namespace AOP\App\Options;
    44
     5use AOP\App\Access;
    56use AOP\App\Data;
    67use AOP\App\Plugin;
    … …  
    5758        $this->parentSlug = $args['parent_slug'];
    5859        $this->menuTitle  = $args['menu_title'];
    59         $this->capability = $args['capability'];
     60        $this->capability = Access::pageCapability($args);
    6061        $this->menuSlug   = $args['menu_slug'];
    6162        $this->hasTab     = $args['include_tab'];
    … …  
    164165
    165166        $currentSubmenuPages->each(function ($subpage) use ($activePage, $currentSubmenuPages) {
    166             if (!current_user_can($subpage['capability'])) {
     167            if (!current_user_can(Access::pageCapability($subpage))) {
    167168                return;
    168169            }
  • admin-options-pages/trunk/App/Plugin.php

    r3736451 r3750608  
    7474
    7575    /**
    76      * Let WordPress find the translations in languagesDir() when there is no language pack.
     76     * Let WordPress find the translations in languagesDir(): instead of a language pack, or behind one for the texts
     77     * it lacks (Translations).
    7778     */
    7879    public static function loadTextdomain(): void
    7980    {
    80         load_plugin_textdomain('admin-options-pages', false, dirname(plugin_basename(static::baseFile())) . '/languages');
     81        Translations::load();
    8182    }
    8283
    … …  
    204205        }
    205206
     207        Access::register();
    206208        PluginMetaLinks::getInstance();
    207209        Enqueue::getInstance();
    … …  
    230232        add_option(static::PREFIX_ . 'db_version', static::DB_VERSION, '', 'no');
    231233        add_option(static::PREFIX_ . 'option_names', [], '', 'no');
     234        // A fresh install starts with this release: no notice about what is new.
     235        add_option(Admin\AdminPages\SubpageWhatsNew::SEEN_OPTION, Admin\AdminPages\SubpageWhatsNew::VERSION, '', 'no');
    232236
    233237        // Built again on first use: the pages may have changed while the plugin was not active (Pro).
    … …  
    251255        delete_option(static::PREFIX_ . 'setting_editpage_hidden');
    252256        delete_option(Admin\AdminPages\SubpageWhatsNew::SHOW_OPTION);
     257        delete_option(Admin\AdminPages\SubpageWhatsNew::SEEN_OPTION);
    253258        Flash::purgeAll();
    254259    }
  • admin-options-pages/trunk/App/Validation.php

    r3736451 r3750608  
    922922    }
    923923
     924    /**
     925     * The roles of a posted page, as they are stored: valid role slugs without administrator (who can always open
     926     * every page), without doubles, sorted. Whether a role exists is not checked: an unknown role gives nobody
     927     * access, and an import must be able to keep a role that this site does not have (yet).
     928     *
     929     * A post without `roles` (the form of 1.0, an export of 1.0) has `role`: `editor` becomes the roles that have
     930     * that level now (Access::legacyEditorRoles()).
     931     *
     932     * @param array $subpage A posted page.
     933     *
     934     * @return string[]
     935     */
     936    public function roles($subpage)
     937    {
     938        if (!is_array($subpage) || !array_key_exists('roles', $subpage)) {
     939            return (is_array($subpage) && ($subpage['role'] ?? '') === 'editor') ? Access::legacyEditorRoles() : [];
     940        }
     941
     942        // A form cannot post an empty list: the editor sends an empty string for "no roles".
     943        $roles = $subpage['roles'] === '' ? [] : $subpage['roles'];
     944
     945        if (!is_array($roles) || count($roles) > 50) {
     946            $this->wpDieMessage();
     947        }
     948
     949        foreach ($roles as $role) {
     950            if (!is_string($role) || $role === '' || strlen($role) > 64 || sanitize_key($role) !== $role) {
     951                $this->wpDieMessage();
     952            }
     953        }
     954
     955        $roles = array_values(array_unique(array_diff($roles, ['administrator'])));
     956        sort($roles);
     957
     958        return $roles;
     959    }
     960
    924961    public function capabilityPage($value)
    925962    {
    … …  
    933970    public function capabilityMenu()
    934971    {
    935         if (Collection::make(Request::post()['pages'])->contains('role', 'editor')) {
    936             return 'edit_others_posts';
    937         }
    938 
    939         return 'manage_options';
     972        $withRoles = Collection::make(Request::post()['pages'])->contains(function ($subpage) {
     973            return $this->roles($subpage) !== [];
     974        });
     975
     976        return Access::legacyCapability($withRoles ? ['any'] : []);
    940977    }
    941978
  • admin-options-pages/trunk/admin-options-pages.php

    r3736451 r3750608  
    55 * Plugin URI:   https://adminoptionspages.com
    66 * Description:  Create and edit your own options pages with ease.
    7  * Version:      1.0.0
     7 * Version:      1.1.0
    88 * Author:       Johannes van Poelgeest
    99 * Author URI:   https://poolghost.com
  • admin-options-pages/trunk/bootstrap/bootstrap.php

    r3736451 r3750608  
    55use AOP\App\Frontend\Shortcode;
    66use AOP\App\Plugin;
     7use AOP\App\Translations;
    78
    89if (!defined('ABSPATH')) {
    … …  
    1415// Translations that ship with the plugin, for when there is no language pack of translate.wordpress.org.
    1516add_action('init', [Plugin::class, 'loadTextdomain']);
     17// ... also behind a language pack that lacks the texts of this release (PHP and scripts).
     18add_action('change_locale', [Translations::class, 'changeLocale']);
     19add_filter('load_script_translations', [Translations::class, 'fillScriptTranslations'], 10, 4);
    1620
    1721// Settings must also exist outside wp-admin, e.g. for the REST API (/wp/v2/settings).
  • admin-options-pages/trunk/includes/build/css/aop.css

    r3736451 r3750608  
    1 html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:rgba(0,0,0,0)}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}button{background:rgba(0,0,0,0);padding:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}fieldset{margin:0;padding:0}ol,ul{list-style:none;margin:0;padding:0}html{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";line-height:1.5}*,*::before,*::after{border-width:0;border-style:solid;border-color:#e2e8f0}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder, textarea::-moz-placeholder{color:#a0aec0}input::placeholder,textarea::placeholder{color:#a0aec0}button,[role=button]{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}pre,code,kbd,samp{font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1400px){.container{max-width:1400px}}@media (min-width: 1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0px}.inset-y-0{top:0px;bottom:0px}.bottom-0{bottom:0px}.left-0{left:0px}.right-0{right:0px}.top-0{top:0px}.z-30{z-index:30}.z-50{z-index:50}.clear-both{clear:both}.m-0{margin:0px}.mx-10{margin-left:2.5rem;margin-right:2.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.mb-0{margin-bottom:0px}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:0.5rem}.mb-3{margin-bottom:0.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:0.25rem}.ml-2{margin-left:0.5rem}.ml-3{margin-left:0.75rem}.ml-5{margin-left:1.25rem}.ml-auto{margin-left:auto}.mr-1{margin-right:0.25rem}.mr-2{margin-right:0.5rem}.mt-0{margin-top:0px}.mt-1{margin-top:0.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:0.5rem}.mt-20{margin-top:5rem}.mt-3{margin-top:0.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-36px{height:36px}.h-388px{height:388px}.h-50px{height:50px}.h-56px{height:56px}.h-auto{height:auto}.h-full{height:100%}.h-screen-half{height:50vh}.w-36px{width:36px}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-3xl{max-width:48rem}.shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.columns-2{-moz-columns:2;columns:2}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:0.25rem}.gap-2{gap:0.5rem}.gap-4{gap:1rem}.gap-\[3px\]{gap:3px}.gap-x-2{-moz-column-gap:0.5rem;column-gap:0.5rem}.gap-y-1{row-gap:0.25rem}.overflow-auto{overflow:auto}.rounded{border-radius:0.25rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-\[\#f0b849\]{--tw-border-opacity:1;border-color:rgb(240 184 73 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-gray-wp-200{--tw-border-opacity:1;border-color:rgb(226 228 231 / var(--tw-border-opacity, 1))}.border-gray-wp-400{border-color:#42586366}.bg-\[\#3858e9\]\/10{background-color:rgb(56 88 233 / 0.1)}.bg-\[\#fef8ee\]{--tw-bg-opacity:1;background-color:rgb(254 248 238 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-wp-100{--tw-bg-opacity:1;background-color:rgb(248 249 249 / var(--tw-bg-opacity, 1))}.bg-gray-wp-300{--tw-bg-opacity:1;background-color:rgb(243 244 245 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.fill-current{fill:currentColor}.p-0{padding:0px}.p-2{padding:0.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:0.5rem;padding-right:0.5rem}.px-20{padding-left:5rem;padding-right:5rem}.px-3{padding-left:0.75rem;padding-right:0.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:0.125rem;padding-bottom:0.125rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.py-3{padding-top:0.75rem;padding-bottom:0.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-1{padding-bottom:0.25rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pl-10{padding-left:2.5rem}.pl-3{padding-left:0.75rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pr-1{padding-right:0.25rem}.pr-4{padding-right:1rem}.pt-2{padding-top:0.5rem}.pt-6{padding-top:1.5rem}.pt-\[2px\]{padding-top:2px}.text-center{text-align:center}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:0.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.lowercase{text-transform:lowercase}.italic{font-style:italic}.text-\[\#1e1e1e\]{--tw-text-opacity:1;color:rgb(30 30 30 / var(--tw-text-opacity, 1))}.text-\[\#3858e9\]{--tw-text-opacity:1;color:rgb(56 88 233 / var(--tw-text-opacity, 1))}.text-\[\#757575\]{--tw-text-opacity:1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}.text-\[\#cc1818\]{--tw-text-opacity:1;color:rgb(204 24 24 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.opacity-100{opacity:1}.opacity-50{opacity:0.5}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.duration-0{transition-duration:0s}.duration-200{transition-duration:200ms}.ease-in{transition-timing-function:cubic-bezier(0.4, 0, 1, 1)}.fade-in{animation-iteration-count:1;animation-name:fadeInOpacity;animation-timing-function:ease-in;opacity:1}@keyframes fadeInOpacity{0%{opacity:0}100%{opacity:1}}.duration-1{animation-duration:.1s}.duration-0{animation-duration:0s;transition:none}.o-field{margin:0 auto 10px}.o-field__wrapper{box-shadow:0 1px 1px rgba(0,0,0,.04)}.is-ghost .o-field__wrapper{box-shadow:none}.o-field__inside{display:flex;flex-direction:column;justify-content:space-between;border-width:1px;border-color:#42586366;border-top:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:#fff;cursor:default}@media(min-width: 62.5em){.c-editor-main.no-side-bar .o-field__inside{display:grid;grid-template-columns:1fr 280px}}@media(min-width: 75em){.o-field__inside{display:grid;grid-template-columns:50% 50%}}@media(min-width: 87.5em){.o-field__inside{grid-template-columns:1fr 280px}}.is-chosen.is-ghost .o-field__inside,.is-chosen.is-fallback.is-drag .o-field__inside{display:none !important;opacity:0;height:0px;border:none}.o-field__content{padding:12px 12px 0;display:block}.o-field__options{padding:12px 12px 20px 12px;display:flex;flex-direction:column}@media(min-width: 62.5em){.c-editor-main.no-side-bar .o-field__options{border-left-width:1px;--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}}@media(min-width: 75em){.o-field__options{border-left-width:1px;--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}}.o-field__options{position:relative}.o-field.is-ghost{background-color:#fff;box-shadow:none;border:1px dashed #b4b9be;height:43px;margin:0 auto 10px}.o-field.is-ghost .c-wpo__top-bar--subpage{opacity:0}.o-field.is-fallback{box-shadow:0 1px 1px rgba(0,0,0,.04) !important;z-index:100000000 !important;overflow:none;position:fixed !important;opacity:.8;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";filter:alpha(opacity=80)}.o-field-table{display:flex;flex-direction:column;width:338px;margin-left:-24px}.o-field-table__header{margin-left:24px;display:flex}.o-field-table__header-label{margin-bottom:3px;width:calc(50% - 18px)}.o-field-table__header-label:nth-of-type(1n+2){margin-left:4px}.o-field-table__body{width:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none}.o-field-table__footer{position:relative;margin-left:24px;width:calc(100% - 56px);display:flex;align-items:center;justify-content:center}.o-field-table__footer:before{opacity:0;position:absolute;content:"";top:50%;left:0;margin-top:-1px;border-bottom:2px solid var(--wp-admin-theme-color, #3858e9);width:100%;transition:opacity .1s linear .1s}.o-field-table__footer:hover:before,.o-field-table__footer:focus-within:before{opacity:1}.o-field-table__footer{margin-top:6px;margin-bottom:6px}.o-field-table__footer .c-icon-button{position:relative;z-index:1}.o-field-table__footer .c-icon-button.is-appender:hover{background-color:#1e1e1e;color:#fff}.o-field-table__footer .c-icon-button.is-appender:focus{background-color:#1e1e1e;color:#fff;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color, #3858e9)}.o-field-table__row{display:flex;align-items:center;margin-bottom:2px;position:relative}.o-field-table__row.is-chosen.is-ghost{background-color:#edeff0;width:100%;left:0px;margin-left:24px;width:calc(100% - 54px)}.o-field-table__row.is-chosen.is-ghost .o-field-table__input{opacity:0;visibility:hidden}.o-field-table__row.is-chosen.is-ghost .o-field-table__drag-handle-image{opacity:1}.o-field-table__drag-handle{padding:0px;flex:0 0 24px;box-sizing:border-box;width:24px;height:23px;display:flex;justify-content:center;align-items:center;cursor:move;cursor:-webkit-grab}.o-field-table__drag-handle-abort{flex:0 0 24px;box-sizing:border-box;padding:5px;opacity:0;width:24px;height:25px;display:flex;justify-content:center;align-items:center;cursor:default}.o-field-table.is-active .o-field-table__drag-handle{opacity:0}.o-field-table.is-active .o-field-table__row.is-chosen.is-fallback .o-field-table__drag-handle{opacity:1}.o-field-table__drag-handle-image{height:24px;color:rgba(0,0,0,0);opacity:0}.o-field-table__row:hover .o-field-table__drag-handle-image{color:rgba(10,24,41,.7)}.o-field-table.is-active .o-field-table__row.is-chosen.is-fallback .o-field-table__drag-handle-image{color:#191e23}.o-field-table__drag-handle:hover .o-field-table__drag-handle-image{color:#191e23;opacity:1}.o-input-wrapper:hover .o-field-table__drag-handle-image{opacity:1}.o-field-table__input:nth-of-type(1n+2){margin-left:3px}.o-field-table__delete{margin-left:6px;opacity:0;transition:opacity .1s linear}.o-field-table__row:hover .o-field-table__delete,.o-field-table__row:focus-within .o-field-table__delete{opacity:1}@media(hover: none){.o-field-table__delete{opacity:1}}.o-field-table__error-list{margin:8px 0 0 26px}.o-field-table__error-item{position:relative;display:flex;align-items:flex-start;gap:4px;font-size:12px;line-height:16px;color:var(--wpds-color-foreground-content-error-weak, #cc1818)}.o-field-table__error-count{margin-left:2px;background-color:#e3e4e7;color:#23282d;padding:1px 5px;border-radius:3px;font-size:10px;line-height:120%;font-weight:700}.o-field-table__error-message{color:inherit}.o-drag-list{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;max-width:1200px;width:100%}.o-drag-list.for-fields{max-width:100%}.o-drag-list.for-fields:hover{min-height:auto}.o-drag-list.for-fields.is-empty{height:65px}.o-drag-list.for-fields.is-empty-on-move{height:55px}.o-fields-wrapper{display:flex;flex-direction:column;align-items:center;padding:40px 40px 15px}.o-page{margin:10px auto 0;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:100}.o-page.is-ghost{box-shadow:none;border:1px dashed #b4b9be;height:46px}.o-page.is-ghost .c-wpo__top-bar--subpage{opacity:0}.o-page.is-fallback{box-shadow:0 1px 1px rgba(0,0,0,.04) !important;background-color:#fff;z-index:100000000 !important;overflow:none;position:fixed !important;margin-bottom:0}.o-page__right-nav{position:relative;display:flex}.o-page__inside{-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:#fff;padding:0;cursor:default;border-width:0 1px 1px 1px}.is-chosen.is-ghost .o-page__inside,.is-chosen.is-fallback.is-drag .o-page__inside{display:none !important;opacity:0;height:0;border:0}.o-page__wrapper{display:flex;background-color:#fff}.o-page__content,.o-page__options{padding:25px 12px 10px;position:relative}.o-page__content{flex:3}.o-page__options{flex:1;padding-top:25px}.o-input-wrapper{position:relative;display:flex;align-items:center;--aop-label-offset: 11.5px;padding:5px 8px 15px}.o-input-wrapper.for-radio{align-items:normal}.o-input-wrapper:nth-last-of-type(1){padding-bottom:20px}.o-input-wrapper.align-top{align-items:start}@media(min-width: 62.5em){.o-field__content .o-input-wrapper.align-top,.c-editor-main.no-side-bar .o-field__content .o-input-wrapper.align-top{align-items:start}}@media(min-width: 87.5em){.o-field__content .o-input-wrapper.align-top,.c-editor-main.no-side-bar .o-field__content .o-input-wrapper.align-top{align-items:start}}.o-input-wrapper.has-table{padding-bottom:0}.o-field__content .o-input-wrapper.has-table,.c-editor-main.no-side-bar .o-field__content .o-input-wrapper.has-table{align-items:normal}.o-input-wrapper.for-menutype{height:28px}.o-field__options .o-input-wrapper,.o-field__content .o-input-wrapper,.o-page__content .o-input-wrapper{flex-direction:column;align-items:start;--aop-label-offset: 0px}@media(min-width: 62.5em){.c-editor-main.no-side-bar .o-field__content .o-input-wrapper{flex-direction:row;align-items:center;--aop-label-offset: 11.5px}}@media(min-width: 87.5em){.o-field__content .o-input-wrapper{flex-direction:row;align-items:center;--aop-label-offset: 11.5px}}@media(min-width: 50em){.c-editor-main.no-side-bar .o-page__content .o-input-wrapper{flex-direction:row;align-items:center;--aop-label-offset: 11.5px}}@media(min-width: 68.75em){.o-page__content .o-input-wrapper{flex-direction:row;align-items:center;--aop-label-offset: 11.5px}}.o-input-wrapper__control{display:flex;align-items:center;gap:8px}.o-input-wrapper.has-message:has(>.o-input-wrapper__field>.c-validate-message:not([style*="display: none"])){align-items:flex-start}.o-input-wrapper.has-message:has(>.o-input-wrapper__field>.c-validate-message:not([style*="display: none"]))>.c-input-label{margin-top:var(--aop-label-offset)}.o-input-wrapper__field{display:flex;flex-direction:column;align-items:flex-start;flex:1 1 auto;min-width:0;align-self:stretch}.o-field__options .o-input-wrapper__field,.o-field__content .o-input-wrapper__field{width:100%}.o-meta-box{background-color:#fff;border:1px solid #ccd0d4;box-shadow:0 1px 1px rgba(0,0,0,.04);margin-bottom:20px;max-width:1000px;position:relative;width:100%}.o-meta-box.is-grey{background-color:#edeff0;border:0;box-shadow:none}.o-meta-box__inside{font-size:13px;line-height:1.4em;padding:12px 12px 0;position:relative}.o-meta-box__inside.in-sidebar{padding:0}.o-meta-box__pages-wrapper{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;display:flex;flex-direction:column;justify-content:center;margin-right:20px;padding:0 40px}@media(min-width: 68.75em){.o-meta-box__pages-wrapper{padding:0 60px}}.o-meta-box__submit-items{background:#f5f5f5;border-top:1px solid #e2e4e7;display:flex;justify-content:space-between;padding:12px}.o-meta-box__submit-save{display:block}.o-meta-box__submit-delete{align-items:center;display:flex}.o-input-column{display:flex;flex-direction:column}.o-body{display:flex;margin-top:50px}.o-body__content{align-items:center;display:flex;flex:1;flex-direction:column}.o-body__sidebar{margin-left:20px;width:280px}.o-wrap{margin:10px 20px 0 2px}.o-dropdown-group{position:relative;display:flex;flex-direction:column;align-items:center;margin:10px 0}.o-dropdown-group.is-empty{margin:0 0 10px}.o-radio-list__item{display:flex;align-items:center;margin-bottom:3px;position:relative}.o-radio-list__item.is-chosen.is-ghost{background-color:#edeff0;width:calc(100% - 29px)}.o-radio-list__item.is-chosen.is-ghost .o-radio-list__input{opacity:0;visibility:hidden}.o-radio-list__item.is-chosen.is-ghost .o-radio-list__drag-handle{opacity:0}.o-radio-list__item.is-chosen.is-ghost .o-radio-list__drag-handle-image{opacity:1}.o-radio-list__drag-handle{position:absolute;padding:5px;left:-23px;width:15px;height:25px;display:flex;justify-content:center;align-items:center;cursor:move;cursor:-webkit-grab}.o-radio-list.is-active .o-radio-list__drag-handle{opacity:0}.o-radio-list.is-active .o-radio-list__item.is-chosen.is-fallback .o-radio-list__drag-handle{opacity:1}.o-radio-list__drag-handle-image{height:20px;color:rgba(10,24,41,.7);opacity:0;transition:opacity .1s linear .1s;transition:color .1s}.o-radio-list__drag-handle:hover .o-radio-list__drag-handle-image{color:#191e23;opacity:1}.o-input-wrapper:hover .o-radio-list__drag-handle-image{opacity:1}.o-radio-list__input.c-input[type=text]:nth-of-type(1n+2){margin-left:4px}.not-visible{display:none}.fade-enter-active,.fade-leave-active{transition:opacity .3s}.fade-enter,.fade-leave-to{opacity:0}.aop-modal-is-open{overflow:hidden}.slide-fade-enter-active{transition:all .2s ease}.slide-fade-leave-active{transition:all .2s cubic-bezier(1, 0.5, 0.8, 1)}.slide-fade-enter,.slide-fade-leave-to{transform:translateY(-5px);opacity:0}.above-button.slide-fade-enter,.above-button.slide-fade-leave-to{transform:translateY(5px)}.slide-up-enter-active{transition:all .5s ease}.slide-up-enter{transform:translateY(30px);opacity:0}.slide-stop{transform:none;transition:none}.c-top-bar{clear:both;padding:0 8px;line-height:28px;display:flex;justify-content:space-between;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.c-top-bar__left{display:flex;align-items:center;flex-wrap:wrap;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.c-top-bar__right{position:relative;display:flex;align-items:center}.c-top-bar--subpage,.c-top-bar--field{min-width:30px;position:relative;box-sizing:border-box;line-height:1.4em;color:#23282d;touch-action:none;cursor:move;cursor:grab;cursor:-webkit-grab;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.is-chosen .c-top-bar--subpage,.is-chosen .c-top-bar--field{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:grabbing;cursor:-webkit-grabbing}.is-fallback .c-top-bar--subpage,.is-fallback .c-top-bar--field{box-shadow:0 1px 1px rgba(0,0,0,.04) !important;background-color:#fafafa;opacity:.8 !important;margin-bottom:10px;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.is-ghost .c-top-bar--subpage,.is-ghost .c-top-bar--field{background-color:#fff;color:#fff;opacity:0;box-shadow:none;margin:0 auto 10px;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:move;cursor:grab}.c-top-bar--field{height:45px}.o-field.is-chosen .c-top-bar--field{--tw-border-opacity:1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(243 244 245 / var(--tw-bg-opacity, 1))}.c-top-bar--field.is-open{box-shadow:none}.c-top-bar--subpage{height:48px}.c-top-bar__title{margin:0;font-size:1em;line-height:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:inline-block;font-weight:600;color:#23282d}.c-top-bar__title.is-subpage{padding:15px 12px;font-size:1.3em;margin:0}.c-top-bar__title.is-placeholder{color:#bbb;font-style:italic}.c-top-bar__pre-title{color:#23282d;display:inline-block;padding:7px;margin:8px;margin-left:0;background-color:#e2e4e7;border-radius:3px;text-align:center}.c-top-bar__pre-title.is-subpage{opacity:0;width:0px;padding:7px 0;margin:8px 0 8px 8px}.c-top-bar__toggle{border:0;margin:0;padding:10px;background:0 0;cursor:pointer;outline:0;text-align:right;position:relative;color:#555d66;display:inline-block}.c-top-bar__toggle:focus{outline:none}.c-top-bar__toggle-indicator:before{content:"";font:400 20px/1 dashicons;speak:none;display:block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none !important;padding:1px 2px 1px 0;border-radius:50%}button:focus .c-top-bar__toggle-indicator:before{box-shadow:0 0 0 2px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0)}.c-top-bar__toggle-indicator.is-open:before{content:""}.is-fallback .c-top-bar__toggle-indicator:before{content:""}.c-dashicon__arrow-down{margin-right:-4px;fill:currentColor;width:20px;height:20px}svg.dashicon.components-checkbox-control__checked{fill:#fff;cursor:pointer;position:absolute;left:-2px;top:-1px;width:20px;height:20px;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.c-icon-button{display:flex;align-items:center;padding:8px;border:none;background:none;color:#555d66;position:relative;outline:none;text-decoration:none;margin:0;border-radius:0;-moz-appearance:none;appearance:none;-webkit-appearance:none}.c-icon-button--insert-toggle{display:inline-flex;align-items:center;cursor:pointer;transition:color .2s ease;border-radius:50%}.c-icon-button--insert-toggle:hover{color:#191e23;box-shadow:inset 0 0 0 1px #e2e4e7,inset 0 0 0 2px #fff,0 1px 1px rgba(25,30,35,.2)}.c-icon-button--insert-toggle:active{color:#191e23;box-shadow:inset 0 0 0 1px #6c7781,inset 0 0 0 2px #fff}.c-icon-button--insert-toggle:focus{border-color:var(--wp-admin-theme-color, #3858e9);box-shadow:0 0 0 2px var(--wp-admin-theme-color, #3858e9);color:#191e23;outline:2px solid rgba(0,0,0,0)}.c-icon-button--insert-toggle.is-appender{justify-content:center;width:24px;height:24px;padding:0;border-radius:2px;background-color:#1e1e1e;color:#fff}.c-icon-button--insert-toggle.is-appender:hover,.c-icon-button--insert-toggle.is-appender:focus{background-color:var(--wp-admin-theme-color, #3858e9);color:#fff;box-shadow:none}.c-icon-button--insert-toggle.is-appender[aria-pressed=true] svg{transform:rotate(45deg)}@media(prefers-reduced-motion: no-preference){.c-icon-button--insert-toggle.is-appender svg{transition:transform cubic-bezier(0.165, 0.84, 0.44, 1) .2s}}.c-icon-button--insert-toggle svg{fill:currentColor}.c-icon-button.is-link{cursor:pointer;transition:color .2s ease;text-decoration:underline;background:0 0;padding:0}.c-icon-button.is-link:hover{color:#191e23}.c-icon-button.is-link:focus{color:#191e23;box-shadow:inset 0 0 0 1px #6c7781,inset 0 0 0 2px #fff;outline:2px solid rgba(0,0,0,0);outline-offset:-2px}.c-icon-button.is-link.is-delete-button{margin:0 15px 25px 0;position:absolute;right:0;bottom:0;justify-content:center;padding:0;width:29px;height:28px;border-radius:4px;color:rgba(10,24,41,.7);align-items:center}.c-icon-button.is-link.is-delete-button:focus{color:#191e23;border:1px solid #444;box-shadow:0 0 0 1px #444}.c-icon-button.is-link.is-delete-button:hover{background-color:rgba(0,0,0,0);color:#191e23;box-shadow:inset 0 0 0 1px #e2e4e7,inset 0 0 0 2px #fff,0 1px 1px rgba(25,30,35,.2)}.c-icon-button.is-link.is-delete-button.for-field{margin:0 15px 12px 0}.c-icon-button.is-link.is-delete-button.for-radio{position:relative;margin:0 0 0 2px;opacity:0;transition:opacity .1s linear .1s;transition:color .1s;z-index:100;background-color:#fff}.c-icon-button.is-link.is-delete-button.for-radio:focus{opacity:1;color:#191e23;border:1px solid #444;box-shadow:0 0 0 1px #444}.o-field-table__row:hover .c-icon-button.is-link.is-delete-button.for-radio{opacity:1}.is-chosen.is-ghost .c-icon-button.is-link.is-delete-button.for-radio,.is-chosen.is-fallback .c-icon-button.is-link.is-delete-button.for-radio{display:none}.o-field-table.is-active .c-icon-button.is-link.is-delete-button.for-radio{opacity:0}.o-field-table.is-active .o-field-table__item.is-chosen.is-fallback .c-icon-button.is-link.is-delete-button.for-radio{opacity:1}.c-icon-button.is-link svg{fill:currentColor;width:20px;height:20px;margin:0}.c-icon-button.for-new-page:before{content:"";display:inline-block;position:relative;left:-2px;top:0;font:400 20px/1 dashicons;vertical-align:middle;transition:all .2s;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.c-icon-button.for-field-table{opacity:0}.c-icon-button.for-field-table:focus{opacity:1}.o-field-table:hover .c-icon-button.for-field-table,.o-field-table:focus-within .c-icon-button.for-field-table{opacity:1}@media(hover: none){.c-icon-button.for-field-table{opacity:1}}.c-icon-button.for-field-table:hover{color:#006598;box-shadow:none}.c-icon-picker{background-color:var(--wp-admin-theme-color, #3858e9);vertical-align:middle;color:#fff;border-radius:4px;border:none;padding:0;cursor:pointer;display:inline-flex;align-items:center;outline:none;position:relative}.c-icon-picker__inner{display:inline-flex;align-items:center;justify-content:center}.c-icon-picker__icon{width:20px;height:20px;padding:7px}.c-icon-picker__icon:before{color:#fff;width:18px;height:18px;font-size:18px}.c-icon-picker.dropdown-is-open{background-color:var(--wp-admin-theme-color-darker-10, #2145e6)}.c-icon-picker:hover,.c-icon-picker:focus{outline:none;box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9),inset 0 0 0 1px #fff;color:#fff;background-color:var(--wp-admin-theme-color-darker-10, #2145e6)}.c-icon-dropdown{position:absolute;background-color:#fff;display:block;z-index:100;box-shadow:0 3px 20px rgba(25,30,35,.1),0 1px 3px rgba(25,30,35,.1);border:1px solid #ddd;left:0;top:45px;cursor:auto}.c-icon-dropdown:before{top:-8px;content:"";position:absolute;height:0;width:0;border:8px solid #ddd;border-left-color:rgba(0,0,0,0);border-right-color:rgba(0,0,0,0);line-height:0}.c-icon-dropdown:after{top:-6px;content:"";position:absolute;height:0;width:0;border:8px solid #fff;border-left-color:rgba(0,0,0,0);border-right-color:rgba(0,0,0,0);line-height:0}.c-icon-dropdown.is-grey{background-color:#fafafa}.c-icon-dropdown.is-grey:after{border:8px solid #fafafa;border-left-color:rgba(0,0,0,0);border-right-color:rgba(0,0,0,0);border-top:0}.c-icon-dropdown.above-button{top:unset;bottom:48px}.c-icon-dropdown.above-button:before{bottom:-9px;top:unset;border-left-color:rgba(0,0,0,0);border-right-color:rgba(0,0,0,0);border-bottom:0;border-top:8px solid #fafafa}.c-icon-dropdown.above-button:after{bottom:-7px;top:unset;border-left-color:rgba(0,0,0,0);border-right-color:rgba(0,0,0,0);border-top:8px solid #fff;border-bottom:0}.c-icon-dropdown:before,.c-icon-dropdown:after{border-bottom-style:solid;border-top:0;left:0;margin-left:10px}.c-icon-dropdown__row{display:flex;margin:0;align-items:center;flex-wrap:wrap;width:400px;padding:16px 0 0;border-top:1px solid #ddd;background-color:#fff}.c-icon-dropdown__item{margin:0;height:20px;width:20px;padding:10px;display:flex;align-items:center;justify-content:center;cursor:pointer}.c-icon-dropdown__icon-name{height:20px;width:20px;padding:10px;box-sizing:content-box;border:0;border-radius:4px;cursor:pointer;background-color:#fff}.c-icon-dropdown__icon-name:before{color:#555d66}.c-icon-dropdown__icon-name:hover{background-color:#f3f4f5}.c-icon-dropdown__icon-name:focus{color:#191e23;box-shadow:inset 0 0 0 2px #444;outline:2px solid rgba(0,0,0,0);outline-offset:-2px}.c-icon-dropdown__icon-name:active{background-color:#f3f4f5}.c-icon-dropdown__not-found-text{margin:5px 2px}.c-icon-dropdown__not-found-text:focus{outline:none}.c-icon-dropdown__search{position:relative;left:0;top:0;outline:none;margin:0 16px;padding:10px 13px;font-size:13px;display:block;border:0;z-index:10}.c-icon-dropdown__search[type=search]{margin-top:16px;margin-bottom:16px;padding:11px 16px;line-height:1.4em;border:1px solid #ccd0d4;transition:box-shadow .1s linear;box-shadow:0 0 0 rgba(0,0,0,0);border-radius:4px}.c-icon-dropdown__search[type=search]::-moz-placeholder{color:#72777c}.c-icon-dropdown__search[type=search]::placeholder{color:#72777c}.c-icon-dropdown__search[type=search]:focus{color:#191e23;border-color:var(--wp-admin-theme-color, #3858e9);box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0)}.c-icon-dropdown__footer{border:0;height:30px;display:flex;justify-content:flex-end;position:absolute;overflow:hidden;bottom:-40px;right:-11px;padding:0 10px 10px 10px;background-color:rgba(0,0,0,0)}.c-icon-dropdown__footer__name{color:#444;margin:0;padding:8px;text-align:right;font-weight:600;font-size:10px;-webkit-transition:all .1s;box-shadow:0 3px 20px rgba(25,30,35,.1),0 1px 3px rgba(25,30,35,.1);background-color:#fff;border-right:1px solid #ddd;border-left:1px solid #ddd;border-bottom:1px solid #ddd}.c-icon-dropdown__footer__css{color:#444;font-size:10px;margin:0;margin-left:5px;padding:3px 5px;line-height:12px}.c-input-label{-webkit-font-smoothing:subpixel-antialiased;color:#555d66;cursor:pointer;font-size:13px;line-height:1.3;min-width:140px;vertical-align:middle;width:140px}.c-input-label.for-toggle{margin-top:0}.o-field__options .c-input-label,.o-field__content .c-input-label{width:auto;min-width:auto;padding-bottom:0.25rem}@media(min-width: 87.5em){.o-field__content .c-input-label{flex:0 0 140px;min-width:140px;width:140px;padding-bottom:0;padding-right:12px;box-sizing:border-box}}@media(min-width: 62.5em){.c-editor-main.no-side-bar .o-field__content .c-input-label{flex:0 0 140px;min-width:140px;width:140px;padding-bottom:0;padding-right:12px;box-sizing:border-box}}.o-page__content .c-input-label{padding-bottom:0.25rem;min-width:auto;width:auto}@media(min-width: 50em){.c-editor-main.no-side-bar .o-page__content .c-input-label{min-width:140px;padding-bottom:0}}@media(min-width: 68.75em){.o-page__content .c-input-label{min-width:140px;padding-bottom:0}}.c-input[type=text],.c-input[type=number],.c-input--textarea{line-height:1.4em;padding:6px 10px 6px 10px;border:1px solid #7e8993;transition:box-shadow .1s linear;box-shadow:0 0 0 rgba(0,0,0,0);border-radius:4px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.c-input[type=text]:focus,.c-input[type=number]:focus,.c-input--textarea:focus{color:#191e23;border-color:var(--wp-admin-theme-color, #3858e9);box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0);outline-offset:-2px}.c-input[type=text]{background-color:#fff;color:#32373c;outline:0;box-sizing:border-box;min-width:230px}.o-field__options .c-input[type=text],.o-field__content .c-input[type=text]{width:100%;min-width:auto}@media(min-width: 62.5em){.c-editor-main.no-side-bar .o-field__options .c-input[type=text],.c-editor-main.no-side-bar .o-field__content .c-input[type=text]{min-width:200px}}@media(min-width: 65.625em){.c-editor-main.no-side-bar .o-field__options .c-input[type=text],.c-editor-main.no-side-bar .o-field__content .c-input[type=text]{min-width:230px}}@media(min-width: 87.5em){.o-field__options .c-input[type=text],.o-field__content .c-input[type=text]{min-width:230px}}@media(min-width: 75em){.o-field__content .c-input[type=text]{width:230px}}@media(min-width: 62.5em){.c-editor-main.no-side-bar .o-field__content .c-input[type=text]{width:230px}}.c-input[type=text].code{font-size:12px;padding:8px 10px 7px;font-weight:700;font-family:Consolas,Monaco,monospace}.c-input[type=text].code::-moz-placeholder{color:#999}.c-input[type=text].code::placeholder{color:#999}.c-input[type=text].code{font-weight:500}.c-input[type=text].for-sidebar{min-width:100%;padding:8px 10px 8px 10px}.c-input[type=text].no-min-width{min-width:0}.c-input[type=text].o-field-table__input{min-width:140px;width:140px}.c-editor-main.no-side-bar .c-input[type=text].o-field-table__input{min-width:140px;width:140px;max-width:140px}.c-input[type=number]{height:28px;line-height:1}.c-input[type=number]::-moz-placeholder{color:#bbb}.c-input[type=number]::placeholder{color:#bbb}.c-input[type=number].is-position{width:80px}.c-input[type=checkbox]{border-radius:2px;border:1px solid #1e1e1e;transition:none;box-shadow:0 0 0 rgba(0,0,0,0);margin-top:0;margin-bottom:0;height:20px;width:20px;margin-right:5px}.c-input[type=checkbox]:focus{border-color:var(--wp-admin-theme-color, #3858e9);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0)}.c-input[type=checkbox]:checked{background:var(--wp-admin-theme-color, #3858e9);border-color:var(--wp-admin-theme-color, #3858e9);left:-2px;top:-2px}.c-input[type=checkbox]:checked:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0)}.c-input[type=checkbox]:checked:before{content:none}.o-input-wrapper .c-input[type=checkbox]:before{margin:-2px 0 0 -3px;color:#fff}.c-input__checkbox-svg{fill:#fff;cursor:pointer;position:absolute;left:0;top:0;width:24px;height:24px;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}@media(min-width: 600px){.c-input__checkbox-svg{left:-2px;top:-2px}}.c-input--textarea{width:100%;min-height:50px}.o-field__options .c-input--textarea{width:100%}.c-input__radio[type=radio]:checked:before{content:"•";text-indent:-9999px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}.c-input__radio-label:not(:nth-last-child(1)){margin-bottom:15px}.c-input.not-valid{border-color:var(--wpds-color-stroke-interactive-error, #cc1818);transition:50ms border-color ease-in-out}.c-input.not-valid:focus{border-color:var(--wpds-color-stroke-interactive-error, #cc1818);box-shadow:0 0 0 1px var(--wpds-color-stroke-interactive-error, #cc1818);transition:box-shadow .1s linear;outline:2px solid rgba(0,0,0,0);outline-offset:-2px}.c-input.is-position{min-width:80px;width:80px}.c-input-group__item{margin-bottom:5px;position:relative;display:flex;vertical-align:middle}.c-input-group__item.is-disabled label{color:#a7aaad}.c-input-group__item .c-help-tip{margin-left:8px;align-self:center}.c-select{border:1px solid #ccd0d4;box-shadow:0 0 0 rgba(0,0,0,0);transition:box-shadow .1s linear;outline-offset:-1px;color:#555d66;padding:2px}.c-select:focus{border-color:var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0);outline-offset:-2px;box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9);color:#191e23}.c-select.is-disabled{pointer-events:none;color:#999;border-color:#f1f1f1}.c-select__class-name{margin-left:5px;padding:6px 8px 4px 6px;background:#eaeaea;background:rgba(0,0,0,.07);font-size:12px}.c-toggle{position:relative;box-sizing:border-box}.c-toggle__input[type=checkbox]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;margin:0;padding:0;z-index:1}.c-toggle__input[type=checkbox]:focus+.c-toggle__track{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0);outline-offset:2px}.c-toggle__track{content:"";display:inline-block;vertical-align:top;box-sizing:border-box;background-color:#fff;border:1px solid #1e1e1e;width:36px;height:18px;border-radius:9px;transition:background .2s ease}.wpo__subpage__toggle:hover .c-toggle__track{background-color:#e2e4e7}.c-toggle__track.is-checked{background-color:var(--wp-admin-theme-color, #3858e9);border:9px solid rgba(0,0,0,0)}.wpo__subpage__toggle:hover .c-toggle__track.is-checked{background-color:var(--wp-admin-theme-color-darker-10, #2145e6)}.c-toggle__thumb{display:block;position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;border:5px solid #1e1e1e;background-color:#1e1e1e;transition:transform .1s ease;box-sizing:border-box}.c-toggle__thumb.is-checked{background-color:#fff;border-width:0;transform:translateX(18px)}.c-toggle__on,.c-toggle__off{position:absolute;top:6px}.c-toggle__on{left:8px;filter:invert(100%) contrast(500%);outline:1px solid rgba(0,0,0,0);outline-offset:-1px}.c-toggle__off{color:#6c7781;fill:currentColor;right:6px}.c-help-tip{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:16px;height:16px;margin:0;padding:0;border:0;border-radius:50%;background-color:#1e1e1e;color:#fff;font-size:11px;font-weight:600;line-height:1;cursor:help}.c-help-tip:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0)}.c-shortcode{-webkit-user-select:all;-moz-user-select:all;user-select:all;white-space:nowrap;font-size:12px}.c-textarea{width:80%;min-height:33px;padding:6px 7px 6px 10px;border:1px solid #ccd0d4;outline-offset:0;transition:box-shadow .05s linear;box-shadow:0 0 0 rgba(0,0,0,0);line-height:1.4em}.c-textarea:focus{border-color:var(--wp-admin-theme-color, #3858e9);box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9)}.c-popover{position:absolute;box-shadow:0 3px 20px rgba(25,30,35,.1),0 1px 3px rgba(25,30,35,.1);border:1px solid #e2e4e7;width:auto;top:40px;background-color:#fff;z-index:10000000;cursor:auto;box-sizing:border-box}.c-popover:before{top:-8px;border:8px solid #e2e4e7}.c-popover:after{top:-6px;border:8px solid #fff}.c-popover:before,.c-popover:after{content:"";position:absolute;height:0;width:0;border-bottom-style:solid;border-top:none;border-left-color:rgba(0,0,0,0);border-right-color:rgba(0,0,0,0);line-height:0;left:calc(50% - 8px)}.c-popover__text{display:inline-block;width:-moz-max-content;width:max-content;padding:0 5px;font-size:12px}.c-button{transition:box-shadow .1s linear}.c-button.is-link{border-radius:3px;border-style:solid;border-width:1px;border-color:rgba(0,0,0,0)}.c-button.is-link:hover{background-color:#fff;border-color:var(--wp-admin-theme-color, #3858e9);color:var(--wp-admin-theme-color-darker-20, #183ad6)}.c-button.is-link:focus{box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0);outline-offset:0}.c-button.is-delete-button,.c-button.is-delete-button:active{color:#cc1818;border-color:#cc1818;justify-content:center}.c-button.is-delete-button.is-link,.c-button.is-delete-button:active.is-link{border-style:solid;border-width:1px;border-color:rgba(0,0,0,0)}.c-button.is-delete-button.is-link:hover,.c-button.is-delete-button:hover,.c-button.is-delete-button:active.is-link:hover,.c-button.is-delete-button:active:hover{background-color:rgba(204,24,24,.04);color:#710d0d;border-color:#710d0d}.c-button.is-delete-button:focus,.c-button.is-delete-button:active:focus{background-color:rgba(204,24,24,.04);border-color:#710d0d;color:#710d0d;box-shadow:none;outline:2px solid var(--wp-admin-theme-color, #3858e9);outline-offset:0}.c-button__top-bar{height:33px}.c-button__top-bar.is-save-button{margin:0 12px 0 3px}.c-button.has-icon{display:flex;align-items:center;padding:8px;margin:0;border:none;background:none;color:#1e1e1e;position:relative;overflow:hidden;border-radius:4px}.c-button.has-icon:hover,.c-button.has-icon:focus{background-color:#fff;color:#191e23;box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color, #3858e9),inset 0 0 0 2px #fff;outline:2px solid rgba(0,0,0,0)}.c-button.has-icon:not(.is-toggled):hover{color:var(--wp-admin-theme-color, #3858e9)}.c-button.has-icon.is-toggled{color:#fff;background-color:#1e1e1e;margin:1px;padding:7px}.c-button.has-icon.is-toggled:hover,.c-button.has-icon.is-toggled:focus{box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9),inset 0 0 0 1px #fff !important}.c-title.h1{font-size:23px;font-weight:400;margin:0;padding:9px 0 4px;line-height:29px}.c-title.h2{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.c-link{color:var(--wp-admin-theme-color, #3858e9)}.c-link__icon{margin:-0.2em .1em 0;vertical-align:middle}.c-link--delete{color:#a00;display:flex;align-items:center}.c-link--delete:hover{color:#dc3232}.c-link--delete svg{fill:currentColor;width:20px;height:20px;margin-left:5px}.c-link.is-button{border:0;background-color:rgba(0,0,0,0);cursor:pointer;outline:none;padding:3px 7px;border-radius:3px;text-decoration:underline}.c-link.is-button:focus{box-shadow:inset 0 0 0 1px #6c7781}.c-link.is-button.no-padding{padding:0;border-radius:0}.c-link.is-button.on-popover{text-decoration:none}.c-link.is-cancel{margin-right:10px;text-decoration:none}.c-validate-message{display:flex;align-items:flex-start;gap:4px;margin:8px 0 0;font-size:12px;line-height:16px;color:var(--wpds-color-foreground-content-error-weak, #cc1818)}@media(prefers-reduced-motion: no-preference){.c-validate-message{animation:c-validate-message-jump .2s cubic-bezier(0.68, -0.55, 0.27, 1.55)}}.c-validate-message__icon{flex-shrink:0;fill:currentColor}@keyframes c-validate-message-jump{0%{transform:translateY(-4px);opacity:0}100%{transform:translateY(0);opacity:1}}.c-field-types{position:absolute;display:block;box-shadow:0 3px 20px rgba(25,30,35,.1),0 1px 3px rgba(25,30,35,.1);border:1px solid #e2e4e7;width:400px;height:430px;top:48px;background-color:#fff;z-index:100;cursor:auto;box-sizing:border-box}.c-field-types:before{top:-8px;border:8px solid #e2e4e7}.c-field-types:after{top:-6px;border:8px solid #fff}.c-field-types:before,.c-field-types:after{content:"";position:absolute;height:0;width:0;border-bottom-style:solid;border-top:none;border-left-color:rgba(0,0,0,0);border-right-color:rgba(0,0,0,0);line-height:0;left:calc(50% - 8px)}.c-field-types.above-button{top:unset;bottom:48px}.c-field-types.above-button:before{bottom:-9px;top:unset;border-bottom:none;border-top:8px solid #e2e4e7}.c-field-types.above-button:after{bottom:-7px;top:unset;border-top:8px solid #fff;border-bottom:none}.c-field-types__search{width:100%;position:relative;left:0;top:0;outline:none;margin:0;padding:10px 13px;font-size:13px;display:block;border:0;z-index:10}.c-field-types__search[type=search]{padding:11px 16px;line-height:1.4em;color:#32373c;border:1px solid #7e8993;transition:box-shadow .1s linear;box-shadow:0 0 0 rgba(0,0,0,0);border-radius:4px;height:40px}.c-field-types__search[type=search]::-moz-placeholder{color:#72777c}.c-field-types__search[type=search]::placeholder{color:#72777c}.c-field-types__search[type=search]:focus{color:#191e23;border-color:var(--wp-admin-theme-color, #3858e9);box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0);outline-offset:-2px}.c-field-types__wrapper{position:relative;overflow:auto;height:344px;-webkit-overflow-scrolling:touch}.c-field-types__title{padding:15px 16px;margin:0 0 5px;font-size:13px;font-weight:600;position:relative;cursor:pointer;border-top:1px solid #e2e4e7;transition:background .1s ease-in-out}.c-field-types__title:hover{background:#f3f4f5}.c-field-types__title.has-border{border-top:1px solid #e2e4e7}.c-field-types__list-toggle{padding:0;margin:0;border:none;box-shadow:none;text-align:left;cursor:pointer;-webkit-appearance:none;background:none;position:absolute;right:10px;top:50%;transform:translateY(-45%)}.c-field-types__list-toggle:focus{border:none;box-shadow:none;outline:none}.c-field-types__list-toggle:before{content:"";border-radius:50%;width:24px;height:24px;display:block;position:absolute}.c-field-types__list-toggle:focus:before{box-shadow:0 0 0 2px var(--wp-admin-theme-color-darker-10, #2145e6);outline:2px solid rgba(0,0,0,0)}.c-field-types__list-toggle-arrow{color:#191e23;fill:currentColor;width:24px;height:24px}.c-field-types__list{display:flex;flex-wrap:wrap;margin:0;padding:0 16px 16px}.c-field-types__item{display:block;box-sizing:inherit;width:108px;margin-right:4px;position:relative;margin-bottom:12px}.c-field-types__item:nth-of-type(3n){margin-right:0}.c-field-types__button{position:relative;box-sizing:inherit;align-items:stretch;background:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);border-radius:4px;color:#1e1e1e;cursor:pointer;display:flex;flex-direction:column;font-size:13px;justify-content:center;padding:0;width:100%;word-break:break-word;transition:all .05s ease-in-out}.c-field-types__button:hover:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;border-radius:4px;opacity:.04;background:var(--wp-admin-theme-color, #3858e9);pointer-events:none}.c-field-types__button:focus{color:#191e23;outline:2px solid rgba(0,0,0,0);box-shadow:0 0 0 1px #fff,0 0 0 3px var(--wp-admin-theme-color-darker-10, #2145e6)}.c-field-types__button-icon{color:#1e1e1e;padding:12px 20px;transition:all .05s ease-in-out;display:flex;justify-content:center}.c-field-types__button:hover .c-field-types__button-icon,.c-field-types__button:focus .c-field-types__button-icon{color:var(--wp-admin-theme-color, #3858e9)}.c-field-types__button-icon .dashicon{fill:currentColor}.c-field-types__button-icon .dashicons{width:24px;height:24px;font-size:24px}.c-field-types__button-icon svg{fill:currentColor}.c-field-types__button-title{padding:4px 2px 8px;font-size:12px;hyphens:auto}.c-field-types__button:hover .c-field-types__button-title{color:var(--wp-admin-theme-color, #3858e9);filter:brightness(0.95)}.c-field-types__not-found-text{padding:0 16px}.c-material-icon{height:24px;width:24px;fill:currentColor}.c-editor-side-bar{top:88px;width:280px;box-sizing:border-box;transform:translateX(100%);transition:transform 200ms ease-in-out}.c-editor-side-bar.is-open{transform:translateX(0);transition-delay:60ms}.c-editor-side-bar__close-button{border-radius:0.25rem;border-width:0px;padding:0.5rem;transition:box-shadow .1s linear}.c-editor-side-bar__close-button:active,.c-editor-side-bar__close-button:focus{color:#191e23;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.c-editor-side-bar__close-button:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-text-opacity:1;color:rgb(25 30 35 / var(--tw-text-opacity, 1));--tw-shadow:inset 0 0 0 1px #555d66, inset 0 0 0 2px #fff;--tw-shadow-colored:inset 0 0 0 1px var(--tw-shadow-color), inset 0 0 0 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.c-editor-side-bar__close-button:focus{--tw-shadow:inset 0 0 0 1px #555d66, inset 0 0 0 2px #fff;--tw-shadow-colored:inset 0 0 0 1px var(--tw-shadow-color), inset 0 0 0 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);outline:2px solid transparent;outline-offset:2px}.c-editor-side-bar__close-button:active{box-shadow:inset 0 0 0 1px #ccd0d4,inset 0 0 0 2px #fff}.c-editor-top-bar{box-sizing:border-box;height:56px;top:32px;flex-wrap:nowrap;max-width:100vw}@media(min-width: 48.9375em){.c-editor-top-bar{margin-left:160px}.wp-responsive-open .c-editor-top-bar{margin-left:160px}.folded .c-editor-top-bar,.auto-fold .c-editor-top-bar,.sticky-menu.folded .c-editor-top-bar,.c-editor-top-bar .auto-fold.sticky-menu.folded{margin-left:36px}}@media(min-width: 60.0625em){.sticky-menu:not(.folded) .c-editor-top-bar,.auto-fold:not(.folded) .c-editor-top-bar{margin-left:160px}}.c-editor-top-bar.no-side-bar{margin-right:-20px}.c-editor-top-bar .c-input[type=text]{box-sizing:border-box;height:32px;min-height:32px;line-height:1;padding-top:0;padding-bottom:0}.c-editor-top-bar .edit-post-header__button-group .components-button.is-primary[aria-pressed=true]{background:var(--wp-admin-theme-color, #3858e9);border-color:var(--wp-admin-theme-color, #3858e9);box-shadow:none;color:#fff}.c-editor-top-bar .c-icon-picker{box-sizing:border-box;width:32px;height:32px;justify-content:center}.c-editor-top-bar .c-icon-picker__icon{padding:6px}.c-editor-main{margin-right:260px;overflow-y:auto;overscroll-behavior-y:none;position:fixed;bottom:0;left:0;right:0;top:88px;min-height:calc(100% - 88px);height:auto;margin-left:0px;transition:margin-right 200ms ease-in-out}.c-editor-main.dropdown-active{overflow-y:hidden;height:calc(100% - 87px)}.wp-responsive-open .c-editor-main{margin-left:190px}@media(min-width: 48.9375em){.c-editor-main{margin-left:160px}.wp-responsive-open .c-editor-main{margin-left:160px}.folded .c-editor-main,.auto-fold .c-editor-main,.sticky-menu.folded .c-editor-main,.c-editor-main .auto-fold.sticky-menu.folded{margin-left:36px}}@media(min-width: 60.0625em){.sticky-menu:not(.folded) .c-editor-main,.auto-fold:not(.folded) .c-editor-main{margin-left:160px}}.c-editor-main.no-side-bar{margin-right:-20px}body.aop-is-dragging .components-tooltip{display:none}.some{clip-path:inset(50%)}.dev-mode__pre{overflow:scroll;border:2px solid red;padding-left:3px;font-size:10px;font-weight:600;margin:1em}.editor-top-bar{box-sizing:border-box;height:56px;top:32px;flex-wrap:nowrap;max-width:100vw}.edit-post-header__button-group .button:first-child{border-radius:3px 0 0 3px}.edit-post-header__button-group .button:last-child{border-radius:0 3px 3px 0}.edit-post-header__button-group .button:focus{position:relative;z-index:1}.header-item{padding:10px 4px 10px}.edit-post-layout{position:relative;box-sizing:border-box;padding-top:56px}.edit-post-layout__content{margin-right:280px;padding-bottom:0;overflow-y:auto;overscroll-behavior-y:none;position:fixed;bottom:0;left:0;right:0;top:88px;min-height:calc(100% - 88px);height:auto;margin-left:160px;display:flex;flex-direction:column}.button.is-delete-button,.button.is-delete-button:active{color:#cc1818;border-color:#cc1818;justify-content:center}.button.is-delete-button:hover,.button.is-delete-button:active:hover{background-color:rgba(204,24,24,.04);color:#710d0d;border-color:#710d0d}.button.is-delete-button:focus,.button.is-delete-button:active:focus{background-color:rgba(204,24,24,.04);border-color:#710d0d;color:#710d0d;box-shadow:none;outline:2px solid var(--wp-admin-theme-color, #3858e9);outline-offset:0}.tooltip-error{position:absolute;top:calc(100% + 8px);left:0;z-index:40;width:-moz-max-content;width:max-content;max-width:280px;padding:8px 12px;background:#fff;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.1),0 2px 3px rgba(0,0,0,.05),0 6px 12px rgba(0,0,0,.08)}.tooltip-error .c-validate-message{margin:0}.c-move-buttons{display:inline-flex;align-items:center;gap:2px;margin-right:4px}.c-move-button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:2px;background:rgba(0,0,0,0);color:#555d66;cursor:pointer}.c-move-button:hover:not(:disabled){color:var(--wp-admin-theme-color, #3858e9)}.c-move-button:focus{box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0)}.c-move-button:disabled{opacity:.35;cursor:default}.c-move-button .dashicons{font-size:18px;width:18px;height:18px}.c-top-bar__drag-handle{display:inline-flex;align-items:center;margin-right:6px;padding:0;border:0;background:rgba(0,0,0,0);color:#757575;cursor:grab}.c-top-bar__drag-handle:focus{box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0)}.o-field__unavailable-body{border-width:1px;border-color:#42586366;border-top:none;background-color:#fff}.o-field__unavailable{margin:0;padding:12px 16px;color:#6c7781}.o-field__unavailable-actions{display:flex;justify-content:flex-end;padding:0 16px 12px}.is-ghost-slot{position:relative;box-sizing:border-box;height:48px;overflow:hidden;border:1px dashed #b4b9be;background:#fff;z-index:1}.is-ghost-slot>*{opacity:0}.is-ghost-slot.o-field{height:45px}.is-ghost-slot:not(.o-field){margin-top:10px}.is-ghost-slot.is-ghost-away{height:0;border:0;margin:0}.aop-drag-copy{box-shadow:0 4px 12px rgba(0,0,0,.15);cursor:grabbing}.is-dragging{opacity:.6;z-index:5;position:relative}.c-modal__screen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:hsla(0,0%,100%,.4);z-index:100000;animation:edit-post__fade-in-animation .2s ease-out 0s;animation-fill-mode:forwards}.c-modal__frame{position:absolute;top:0;right:0;bottom:0;left:0;box-sizing:border-box;margin:0;border:1px solid #e2e4e7;background:#fff;box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08);overflow:auto}@media(min-width: 600px){.c-modal__frame{top:50%;right:auto;bottom:auto;left:50%;min-width:360px;max-width:calc(100% - 16px - 16px);max-height:calc(100% - 56px - 56px);transform:translate(-50%, -50%);animation:c-modal__appear-animation .1s ease-out;animation-fill-mode:forwards}}@keyframes c-modal__appear-animation{from{margin-top:32px}to{margin-top:0}}.c-modal__header{box-sizing:border-box;border-bottom:1px solid #ecedef;padding:2px 16px 0;display:flex;flex-direction:row;justify-content:space-between;background:#fff;align-items:center;height:56px;position:sticky;top:0;z-index:10;margin:0}@supports(-ms-ime-align: auto){.c-modal__header{position:fixed;width:100%}}.c-modal__header .c-modal__header-heading{font-size:1em;font-weight:400}.c-modal__header h1{line-height:1;margin:0;padding:0}.c-modal__header-heading-container{align-items:center;flex-grow:1;display:flex;flex-direction:row;justify-content:left}.c-modal__header-icon-container{display:inline-block}.c-modal__header-icon-container svg{max-width:36px;max-height:36px;padding:8px}.c-modal__content{box-sizing:border-box;height:100%}@supports(-ms-ime-align: auto){.c-modal__content{padding-top:56px}}.c-modal__section{background-color:#fafafa;padding:16px;display:flex;justify-content:flex-end}.c-modal__header-heading-container{align-items:center;flex-grow:1;display:flex;flex-direction:row;justify-content:left}.c-modal__icon-button{display:flex;align-items:center;padding:8px;margin:0;border:none;background:none;color:#555d66;position:relative;overflow:hidden;border-radius:4px}.c-modal__icon-button .dashicon{display:inline-block;flex:0 0 auto}.c-modal__icon-button svg{fill:currentColor;outline:none}.c-modal__icon-button svg:not:only-child{margin-right:4px}.c-modal__icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover{background-color:#fff;color:#191e23;box-shadow:inset 0 0 0 1px #e2e4e7,inset 0 0 0 2px #fff,0 1px 1px rgba(25,30,35,.2)}.c-modal__icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):active{outline:none;background-color:#fff;color:#191e23;box-shadow:inset 0 0 0 1px #ccd0d4,inset 0 0 0 2px #fff}.c-modal__icon-button[aria-disabled=true]:focus,.c-modal__icon-button:disabled:focus{box-shadow:none}.edit-post-options-modal__title{font-size:1rem;font-weight:600}.c-modal__button:focus:enabled{background-color:#fff;color:#191e23;box-shadow:inset 0 0 0 1px #6c7781,inset 0 0 0 2px #fff;outline:2px solid rgba(0,0,0,0);outline-offset:-2px}.c-modal__button{cursor:pointer}.c-modal__button.is-button{padding:0 10px 1px;line-height:26px;height:28px;border-radius:5px;white-space:nowrap;border-width:1px;border-style:solid}.c-modal__button.is-button.is-cancel{border:none;line-height:33px;height:33px;background-color:rgba(0,0,0,0);margin-right:10px}.c-modal__button.is-button.is-delete{background:#e14d43;height:31px;line-height:30px;font-size:13px;color:#fff;display:inline-flex;padding:0 15px;text-decoration:none}.c-modal__button.is-button.is-delete:hover{background:#d64940}.c-modal__button.is-button.is-delete:focus{background:#d64940;box-shadow:0 0 0 0px #fff,0 0 0 1px #d64940}.c-modal__button.is-button.is-delete:active{background:#b43e36;border-color:#712722;box-shadow:inset 0 1px 0 #712722}.c-row-action-button.is-link{border:none;background-color:rgba(0,0,0,0);cursor:pointer;font-size:13px;padding:0;color:#a00;outline:0}.c-row-action-button.is-link:hover{color:#dc3232;border:none}.c-row-action-button.is-link:focus{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}body{background-color:#fff}.aop-snackbar-wrapper{bottom:0;padding-top:4px;padding-bottom:20px;left:160px;display:block;position:fixed;overflow:hidden;z-index:10000;padding-left:16px;padding-right:16px}.folded .aop-snackbar-wrapper,.sticky-menu.folded .aop-snackbar-wrapper,.aop-snackbar-wrapper .auto-fold.sticky-menu.folded{left:36px}@keyframes slideInRight{from{transform:translate3d(0, 150px, 0);opacity:0}to{transform:translate3d(0, 0, 0);opacity:1}}@keyframes slideOutRight{from{opacity:1}to{opacity:0}}.aop-snackbar{-webkit-animation-fill-mode:both;animation-duration:.5s;animation-fill-mode:both;animation-delay:0s;animation-name:slideInRight;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;background-color:#32373c;border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,.3);color:#fff;padding:16px 24px;width:100%;max-width:600px;box-sizing:border-box;cursor:pointer}.aop-snackbar:hover{background-color:#191e23}.aop-snackbar:focus{background-color:#191e23;box-shadow:0 0 0 1px #fff,0 0 0 3px var(--wp-admin-theme-color, #3858e9)}.aop-snackbar.has-delay{animation-delay:1s}.aop-snackbar--succes{border-color:#46b450}.aop-snackbar--remove{animation-name:slideOutRight}.aop-snackbar__message{font-weight:bold;margin:.5em 0;padding:2px}.admin_page_admin_options_pages_edit #wpcontent{padding-left:0}.admin_page_admin_options_pages_edit #wpbody-content{padding-bottom:0}.aop-editor-screen #wpfooter{display:none}.left-160px{left:160px}.max-w-screen{max-width:100vh}.block-editor__container{min-height:calc(100vh - 32px)}.screen-reader-text{border:0;clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal !important}@media(max-width: 1000px){.min-width-screen{display:grid;grid-template-columns:20px 1fr 20px}}body.aop-editor-screen #wpbody-content>div:not(#aop-root):not(#screen-meta):not(.aop-snackbar-wrapper){display:none}.hover\:border-gray-700:hover{--tw-border-opacity:1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}
     1html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:rgba(0,0,0,0)}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}button{background:rgba(0,0,0,0);padding:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}fieldset{margin:0;padding:0}ol,ul{list-style:none;margin:0;padding:0}html{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";line-height:1.5}*,*::before,*::after{border-width:0;border-style:solid;border-color:#e2e8f0}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder, textarea::-moz-placeholder{color:#a0aec0}input::placeholder,textarea::placeholder{color:#a0aec0}button,[role=button]{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}pre,code,kbd,samp{font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1400px){.container{max-width:1400px}}@media (min-width: 1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0px}.inset-y-0{top:0px;bottom:0px}.bottom-0{bottom:0px}.left-0{left:0px}.right-0{right:0px}.top-0{top:0px}.z-30{z-index:30}.z-50{z-index:50}.clear-both{clear:both}.m-0{margin:0px}.mx-10{margin-left:2.5rem;margin-right:2.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.mb-0{margin-bottom:0px}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:0.5rem}.mb-3{margin-bottom:0.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:0.25rem}.ml-2{margin-left:0.5rem}.ml-3{margin-left:0.75rem}.ml-5{margin-left:1.25rem}.ml-auto{margin-left:auto}.mr-1{margin-right:0.25rem}.mr-2{margin-right:0.5rem}.mt-0{margin-top:0px}.mt-1{margin-top:0.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:0.5rem}.mt-20{margin-top:5rem}.mt-3{margin-top:0.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-36px{height:36px}.h-388px{height:388px}.h-50px{height:50px}.h-56px{height:56px}.h-auto{height:auto}.h-full{height:100%}.h-screen-half{height:50vh}.w-36px{width:36px}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-3xl{max-width:48rem}.shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.columns-2{-moz-columns:2;columns:2}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:0.25rem}.gap-2{gap:0.5rem}.gap-4{gap:1rem}.gap-\[3px\]{gap:3px}.gap-x-2{-moz-column-gap:0.5rem;column-gap:0.5rem}.gap-y-1{row-gap:0.25rem}.overflow-auto{overflow:auto}.rounded{border-radius:0.25rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-\[\#f0b849\]{--tw-border-opacity:1;border-color:rgb(240 184 73 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-gray-wp-200{--tw-border-opacity:1;border-color:rgb(226 228 231 / var(--tw-border-opacity, 1))}.border-gray-wp-400{border-color:#42586366}.bg-\[\#3858e9\]\/10{background-color:rgb(56 88 233 / 0.1)}.bg-\[\#fef8ee\]{--tw-bg-opacity:1;background-color:rgb(254 248 238 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-wp-100{--tw-bg-opacity:1;background-color:rgb(248 249 249 / var(--tw-bg-opacity, 1))}.bg-gray-wp-300{--tw-bg-opacity:1;background-color:rgb(243 244 245 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.fill-current{fill:currentColor}.p-0{padding:0px}.p-2{padding:0.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:0.5rem;padding-right:0.5rem}.px-20{padding-left:5rem;padding-right:5rem}.px-3{padding-left:0.75rem;padding-right:0.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:0.125rem;padding-bottom:0.125rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.py-3{padding-top:0.75rem;padding-bottom:0.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-1{padding-bottom:0.25rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pl-10{padding-left:2.5rem}.pl-3{padding-left:0.75rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pr-1{padding-right:0.25rem}.pr-4{padding-right:1rem}.pt-2{padding-top:0.5rem}.pt-6{padding-top:1.5rem}.pt-\[2px\]{padding-top:2px}.text-center{text-align:center}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:0.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.lowercase{text-transform:lowercase}.italic{font-style:italic}.text-\[\#1e1e1e\]{--tw-text-opacity:1;color:rgb(30 30 30 / var(--tw-text-opacity, 1))}.text-\[\#3858e9\]{--tw-text-opacity:1;color:rgb(56 88 233 / var(--tw-text-opacity, 1))}.text-\[\#757575\]{--tw-text-opacity:1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}.text-\[\#cc1818\]{--tw-text-opacity:1;color:rgb(204 24 24 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.opacity-100{opacity:1}.opacity-50{opacity:0.5}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.duration-0{transition-duration:0s}.duration-200{transition-duration:200ms}.ease-in{transition-timing-function:cubic-bezier(0.4, 0, 1, 1)}.fade-in{animation-iteration-count:1;animation-name:fadeInOpacity;animation-timing-function:ease-in;opacity:1}@keyframes fadeInOpacity{0%{opacity:0}100%{opacity:1}}.duration-1{animation-duration:.1s}.duration-0{animation-duration:0s;transition:none}.o-field{margin:0 auto 10px}.o-field__wrapper{box-shadow:0 1px 1px rgba(0,0,0,.04)}.is-ghost .o-field__wrapper{box-shadow:none}.o-field__inside{display:flex;flex-direction:column;justify-content:space-between;border-width:1px;border-color:#42586366;border-top:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:#fff;cursor:default}@media(min-width: 62.5em){.c-editor-main.no-side-bar .o-field__inside{display:grid;grid-template-columns:1fr 280px}}@media(min-width: 75em){.o-field__inside{display:grid;grid-template-columns:50% 50%}}@media(min-width: 87.5em){.o-field__inside{grid-template-columns:1fr 280px}}.is-chosen.is-ghost .o-field__inside,.is-chosen.is-fallback.is-drag .o-field__inside{display:none !important;opacity:0;height:0px;border:none}.o-field__content{padding:12px 12px 0;display:block}.o-field__options{padding:12px 12px 20px 12px;display:flex;flex-direction:column}@media(min-width: 62.5em){.c-editor-main.no-side-bar .o-field__options{border-left-width:1px;--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}}@media(min-width: 75em){.o-field__options{border-left-width:1px;--tw-border-opacity:1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}}.o-field__options{position:relative}.o-field.is-ghost{background-color:#fff;box-shadow:none;border:1px dashed #b4b9be;height:43px;margin:0 auto 10px}.o-field.is-ghost .c-wpo__top-bar--subpage{opacity:0}.o-field.is-fallback{box-shadow:0 1px 1px rgba(0,0,0,.04) !important;z-index:100000000 !important;overflow:none;position:fixed !important;opacity:.8;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";filter:alpha(opacity=80)}.o-field-table{display:flex;flex-direction:column;width:338px;margin-left:-24px}.o-field-table__header{margin-left:24px;display:flex}.o-field-table__header-label{margin-bottom:3px;width:calc(50% - 18px)}.o-field-table__header-label:nth-of-type(1n+2){margin-left:4px}.o-field-table__body{width:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none}.o-field-table__footer{position:relative;margin-left:24px;width:calc(100% - 56px);display:flex;align-items:center;justify-content:center}.o-field-table__footer:before{opacity:0;position:absolute;content:"";top:50%;left:0;margin-top:-1px;border-bottom:2px solid var(--wp-admin-theme-color, #3858e9);width:100%;transition:opacity .1s linear .1s}.o-field-table__footer:hover:before,.o-field-table__footer:focus-within:before{opacity:1}.o-field-table__footer{margin-top:6px;margin-bottom:6px}.o-field-table__footer .c-icon-button{position:relative;z-index:1}.o-field-table__footer .c-icon-button.is-appender:hover{background-color:#1e1e1e;color:#fff}.o-field-table__footer .c-icon-button.is-appender:focus{background-color:#1e1e1e;color:#fff;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color, #3858e9)}.o-field-table__row{display:flex;align-items:center;margin-bottom:2px;position:relative}.o-field-table__row.is-chosen.is-ghost{background-color:#edeff0;width:100%;left:0px;margin-left:24px;width:calc(100% - 54px)}.o-field-table__row.is-chosen.is-ghost .o-field-table__input{opacity:0;visibility:hidden}.o-field-table__row.is-chosen.is-ghost .o-field-table__drag-handle-image{opacity:1}.o-field-table__drag-handle{padding:0px;flex:0 0 24px;box-sizing:border-box;width:24px;height:23px;display:flex;justify-content:center;align-items:center;cursor:move;cursor:-webkit-grab}.o-field-table__drag-handle-abort{flex:0 0 24px;box-sizing:border-box;padding:5px;opacity:0;width:24px;height:25px;display:flex;justify-content:center;align-items:center;cursor:default}.o-field-table.is-active .o-field-table__drag-handle{opacity:0}.o-field-table.is-active .o-field-table__row.is-chosen.is-fallback .o-field-table__drag-handle{opacity:1}.o-field-table__drag-handle-image{height:24px;color:rgba(0,0,0,0);opacity:0}.o-field-table__row:hover .o-field-table__drag-handle-image{color:rgba(10,24,41,.7)}.o-field-table.is-active .o-field-table__row.is-chosen.is-fallback .o-field-table__drag-handle-image{color:#191e23}.o-field-table__drag-handle:hover .o-field-table__drag-handle-image{color:#191e23;opacity:1}.o-input-wrapper:hover .o-field-table__drag-handle-image{opacity:1}.o-field-table__input:nth-of-type(1n+2){margin-left:3px}.o-field-table__delete{margin-left:6px;opacity:0;transition:opacity .1s linear}.o-field-table__row:hover .o-field-table__delete,.o-field-table__row:focus-within .o-field-table__delete{opacity:1}@media(hover: none){.o-field-table__delete{opacity:1}}.o-field-table__error-list{margin:8px 0 0 26px}.o-field-table__error-item{position:relative;display:flex;align-items:flex-start;gap:4px;font-size:12px;line-height:16px;color:var(--wpds-color-foreground-content-error-weak, #cc1818)}.o-field-table__error-count{margin-left:2px;background-color:#e3e4e7;color:#23282d;padding:1px 5px;border-radius:3px;font-size:10px;line-height:120%;font-weight:700}.o-field-table__error-message{color:inherit}.o-drag-list{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;max-width:1200px;width:100%}.o-drag-list.for-fields{max-width:100%}.o-drag-list.for-fields:hover{min-height:auto}.o-drag-list.for-fields.is-empty{height:65px}.o-drag-list.for-fields.is-empty-on-move{height:55px}.o-fields-wrapper{display:flex;flex-direction:column;align-items:center;padding:40px 40px 15px}.o-page{margin:10px auto 0;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:100}.o-page.is-ghost{box-shadow:none;border:1px dashed #b4b9be;height:46px}.o-page.is-ghost .c-wpo__top-bar--subpage{opacity:0}.o-page.is-fallback{box-shadow:0 1px 1px rgba(0,0,0,.04) !important;background-color:#fff;z-index:100000000 !important;overflow:none;position:fixed !important;margin-bottom:0}.o-page__right-nav{position:relative;display:flex}.o-page__inside{-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:#fff;padding:0;cursor:default;border-width:0 1px 1px 1px}.is-chosen.is-ghost .o-page__inside,.is-chosen.is-fallback.is-drag .o-page__inside{display:none !important;opacity:0;height:0;border:0}.o-page__wrapper{display:flex;background-color:#fff}.o-page__content,.o-page__options{padding:25px 12px 10px;position:relative}.o-page__content{flex:3}.o-page__options{flex:1;padding-top:25px}.o-input-wrapper{position:relative;display:flex;align-items:center;--aop-label-offset: 11.5px;padding:5px 8px 15px}.o-input-wrapper.for-radio{align-items:normal}.o-input-wrapper:nth-last-of-type(1){padding-bottom:20px}.o-input-wrapper.align-top{align-items:start}@media(min-width: 62.5em){.o-field__content .o-input-wrapper.align-top,.c-editor-main.no-side-bar .o-field__content .o-input-wrapper.align-top{align-items:start}}@media(min-width: 87.5em){.o-field__content .o-input-wrapper.align-top,.c-editor-main.no-side-bar .o-field__content .o-input-wrapper.align-top{align-items:start}}.o-input-wrapper.has-table{padding-bottom:0}.o-field__content .o-input-wrapper.has-table,.c-editor-main.no-side-bar .o-field__content .o-input-wrapper.has-table{align-items:normal}.o-input-wrapper.for-menutype{height:28px}.o-field__options .o-input-wrapper,.o-field__content .o-input-wrapper,.o-page__content .o-input-wrapper{flex-direction:column;align-items:start;--aop-label-offset: 0px}@media(min-width: 62.5em){.c-editor-main.no-side-bar .o-field__content .o-input-wrapper{flex-direction:row;align-items:center;--aop-label-offset: 11.5px}}@media(min-width: 87.5em){.o-field__content .o-input-wrapper{flex-direction:row;align-items:center;--aop-label-offset: 11.5px}}@media(min-width: 50em){.c-editor-main.no-side-bar .o-page__content .o-input-wrapper{flex-direction:row;align-items:center;--aop-label-offset: 11.5px}}@media(min-width: 68.75em){.o-page__content .o-input-wrapper{flex-direction:row;align-items:center;--aop-label-offset: 11.5px}}.o-input-wrapper__control{display:flex;align-items:center;gap:8px}.o-input-wrapper.has-message:has(>.o-input-wrapper__field>.c-validate-message:not([style*="display: none"])){align-items:flex-start}.o-input-wrapper.has-message:has(>.o-input-wrapper__field>.c-validate-message:not([style*="display: none"]))>.c-input-label{margin-top:var(--aop-label-offset)}.o-input-wrapper__field{display:flex;flex-direction:column;align-items:flex-start;flex:1 1 auto;min-width:0;align-self:stretch}.o-field__options .o-input-wrapper__field,.o-field__content .o-input-wrapper__field{width:100%}.o-meta-box{background-color:#fff;border:1px solid #ccd0d4;box-shadow:0 1px 1px rgba(0,0,0,.04);margin-bottom:20px;max-width:1000px;position:relative;width:100%}.o-meta-box.is-grey{background-color:#edeff0;border:0;box-shadow:none}.o-meta-box__inside{font-size:13px;line-height:1.4em;padding:12px 12px 0;position:relative}.o-meta-box__inside.in-sidebar{padding:0}.o-meta-box__pages-wrapper{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;display:flex;flex-direction:column;justify-content:center;margin-right:20px;padding:0 40px}@media(min-width: 68.75em){.o-meta-box__pages-wrapper{padding:0 60px}}.o-meta-box__submit-items{background:#f5f5f5;border-top:1px solid #e2e4e7;display:flex;justify-content:space-between;padding:12px}.o-meta-box__submit-save{display:block}.o-meta-box__submit-delete{align-items:center;display:flex}.o-input-column{display:flex;flex-direction:column}.o-body{display:flex;margin-top:50px}.o-body__content{align-items:center;display:flex;flex:1;flex-direction:column}.o-body__sidebar{margin-left:20px;width:280px}.o-wrap{margin:10px 20px 0 2px}.o-dropdown-group{position:relative;display:flex;flex-direction:column;align-items:center;margin:10px 0}.o-dropdown-group.is-empty{margin:0 0 10px}.o-radio-list__item{display:flex;align-items:center;margin-bottom:3px;position:relative}.o-radio-list__item.is-chosen.is-ghost{background-color:#edeff0;width:calc(100% - 29px)}.o-radio-list__item.is-chosen.is-ghost .o-radio-list__input{opacity:0;visibility:hidden}.o-radio-list__item.is-chosen.is-ghost .o-radio-list__drag-handle{opacity:0}.o-radio-list__item.is-chosen.is-ghost .o-radio-list__drag-handle-image{opacity:1}.o-radio-list__drag-handle{position:absolute;padding:5px;left:-23px;width:15px;height:25px;display:flex;justify-content:center;align-items:center;cursor:move;cursor:-webkit-grab}.o-radio-list.is-active .o-radio-list__drag-handle{opacity:0}.o-radio-list.is-active .o-radio-list__item.is-chosen.is-fallback .o-radio-list__drag-handle{opacity:1}.o-radio-list__drag-handle-image{height:20px;color:rgba(10,24,41,.7);opacity:0;transition:opacity .1s linear .1s;transition:color .1s}.o-radio-list__drag-handle:hover .o-radio-list__drag-handle-image{color:#191e23;opacity:1}.o-input-wrapper:hover .o-radio-list__drag-handle-image{opacity:1}.o-radio-list__input.c-input[type=text]:nth-of-type(1n+2){margin-left:4px}.not-visible{display:none}.fade-enter-active,.fade-leave-active{transition:opacity .3s}.fade-enter,.fade-leave-to{opacity:0}.aop-modal-is-open{overflow:hidden}.slide-fade-enter-active{transition:all .2s ease}.slide-fade-leave-active{transition:all .2s cubic-bezier(1, 0.5, 0.8, 1)}.slide-fade-enter,.slide-fade-leave-to{transform:translateY(-5px);opacity:0}.above-button.slide-fade-enter,.above-button.slide-fade-leave-to{transform:translateY(5px)}.slide-up-enter-active{transition:all .5s ease}.slide-up-enter{transform:translateY(30px);opacity:0}.slide-stop{transform:none;transition:none}.c-top-bar{clear:both;padding:0 8px;line-height:28px;display:flex;justify-content:space-between;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.c-top-bar__left{display:flex;align-items:center;flex-wrap:wrap;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.c-top-bar__right{position:relative;display:flex;align-items:center}.c-top-bar--subpage,.c-top-bar--field{min-width:30px;position:relative;box-sizing:border-box;line-height:1.4em;color:#23282d;touch-action:none;cursor:move;cursor:grab;cursor:-webkit-grab;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.is-chosen .c-top-bar--subpage,.is-chosen .c-top-bar--field{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:grabbing;cursor:-webkit-grabbing}.is-fallback .c-top-bar--subpage,.is-fallback .c-top-bar--field{box-shadow:0 1px 1px rgba(0,0,0,.04) !important;background-color:#fafafa;opacity:.8 !important;margin-bottom:10px;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.is-ghost .c-top-bar--subpage,.is-ghost .c-top-bar--field{background-color:#fff;color:#fff;opacity:0;box-shadow:none;margin:0 auto 10px;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:move;cursor:grab}.c-top-bar--field{height:45px}.o-field.is-chosen .c-top-bar--field{--tw-border-opacity:1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1));--tw-bg-opacity:1;background-color:rgb(243 244 245 / var(--tw-bg-opacity, 1))}.c-top-bar--field.is-open{box-shadow:none}.c-top-bar--subpage{height:48px}.c-top-bar__title{margin:0;font-size:1em;line-height:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:inline-block;font-weight:600;color:#23282d}.c-top-bar__title.is-subpage{padding:15px 12px;font-size:1.3em;margin:0}.c-top-bar__title.is-placeholder{color:#bbb;font-style:italic}.c-top-bar__pre-title{color:#23282d;display:inline-block;padding:7px;margin:8px;margin-left:0;background-color:#e2e4e7;border-radius:3px;text-align:center}.c-top-bar__pre-title.is-subpage{opacity:0;width:0px;padding:7px 0;margin:8px 0 8px 8px}.c-top-bar__toggle{border:0;margin:0;padding:10px;background:0 0;cursor:pointer;outline:0;text-align:right;position:relative;color:#555d66;display:inline-block}.c-top-bar__toggle:focus{outline:none}.c-top-bar__toggle-indicator:before{content:"";font:400 20px/1 dashicons;speak:none;display:block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none !important;padding:1px 2px 1px 0;border-radius:50%}button:focus .c-top-bar__toggle-indicator:before{box-shadow:0 0 0 2px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0)}.c-top-bar__toggle-indicator.is-open:before{content:""}.is-fallback .c-top-bar__toggle-indicator:before{content:""}.c-dashicon__arrow-down{margin-right:-4px;fill:currentColor;width:20px;height:20px}svg.dashicon.components-checkbox-control__checked{fill:#fff;cursor:pointer;position:absolute;left:-2px;top:-1px;width:20px;height:20px;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.c-icon-button{display:flex;align-items:center;padding:8px;border:none;background:none;color:#555d66;position:relative;outline:none;text-decoration:none;margin:0;border-radius:0;-moz-appearance:none;appearance:none;-webkit-appearance:none}.c-icon-button--insert-toggle{display:inline-flex;align-items:center;cursor:pointer;transition:color .2s ease;border-radius:50%}.c-icon-button--insert-toggle:hover{color:#191e23;box-shadow:inset 0 0 0 1px #e2e4e7,inset 0 0 0 2px #fff,0 1px 1px rgba(25,30,35,.2)}.c-icon-button--insert-toggle:active{color:#191e23;box-shadow:inset 0 0 0 1px #6c7781,inset 0 0 0 2px #fff}.c-icon-button--insert-toggle:focus{border-color:var(--wp-admin-theme-color, #3858e9);box-shadow:0 0 0 2px var(--wp-admin-theme-color, #3858e9);color:#191e23;outline:2px solid rgba(0,0,0,0)}.c-icon-button--insert-toggle.is-appender{justify-content:center;width:24px;height:24px;padding:0;border-radius:2px;background-color:#1e1e1e;color:#fff}.c-icon-button--insert-toggle.is-appender:hover,.c-icon-button--insert-toggle.is-appender:focus{background-color:var(--wp-admin-theme-color, #3858e9);color:#fff;box-shadow:none}.c-icon-button--insert-toggle.is-appender[aria-pressed=true] svg{transform:rotate(45deg)}@media(prefers-reduced-motion: no-preference){.c-icon-button--insert-toggle.is-appender svg{transition:transform cubic-bezier(0.165, 0.84, 0.44, 1) .2s}}.c-icon-button--insert-toggle svg{fill:currentColor}.c-icon-button.is-link{cursor:pointer;transition:color .2s ease;text-decoration:underline;background:0 0;padding:0}.c-icon-button.is-link:hover{color:#191e23}.c-icon-button.is-link:focus{color:#191e23;box-shadow:inset 0 0 0 1px #6c7781,inset 0 0 0 2px #fff;outline:2px solid rgba(0,0,0,0);outline-offset:-2px}.c-icon-button.is-link.is-delete-button{margin:0 15px 25px 0;position:absolute;right:0;bottom:0;justify-content:center;padding:0;width:29px;height:28px;border-radius:4px;color:rgba(10,24,41,.7);align-items:center}.c-icon-button.is-link.is-delete-button:focus{color:#191e23;border:1px solid #444;box-shadow:0 0 0 1px #444}.c-icon-button.is-link.is-delete-button:hover{background-color:rgba(0,0,0,0);color:#191e23;box-shadow:inset 0 0 0 1px #e2e4e7,inset 0 0 0 2px #fff,0 1px 1px rgba(25,30,35,.2)}.c-icon-button.is-link.is-delete-button.for-field{margin:0 15px 12px 0}.c-icon-button.is-link.is-delete-button.for-radio{position:relative;margin:0 0 0 2px;opacity:0;transition:opacity .1s linear .1s;transition:color .1s;z-index:100;background-color:#fff}.c-icon-button.is-link.is-delete-button.for-radio:focus{opacity:1;color:#191e23;border:1px solid #444;box-shadow:0 0 0 1px #444}.o-field-table__row:hover .c-icon-button.is-link.is-delete-button.for-radio{opacity:1}.is-chosen.is-ghost .c-icon-button.is-link.is-delete-button.for-radio,.is-chosen.is-fallback .c-icon-button.is-link.is-delete-button.for-radio{display:none}.o-field-table.is-active .c-icon-button.is-link.is-delete-button.for-radio{opacity:0}.o-field-table.is-active .o-field-table__item.is-chosen.is-fallback .c-icon-button.is-link.is-delete-button.for-radio{opacity:1}.c-icon-button.is-link svg{fill:currentColor;width:20px;height:20px;margin:0}.c-icon-button.for-new-page:before{content:"";display:inline-block;position:relative;left:-2px;top:0;font:400 20px/1 dashicons;vertical-align:middle;transition:all .2s;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.c-icon-button.for-field-table{opacity:0}.c-icon-button.for-field-table:focus{opacity:1}.o-field-table:hover .c-icon-button.for-field-table,.o-field-table:focus-within .c-icon-button.for-field-table{opacity:1}@media(hover: none){.c-icon-button.for-field-table{opacity:1}}.c-icon-button.for-field-table:hover{color:#006598;box-shadow:none}.c-icon-picker{background-color:var(--wp-admin-theme-color, #3858e9);vertical-align:middle;color:#fff;border-radius:4px;border:none;padding:0;cursor:pointer;display:inline-flex;align-items:center;outline:none;position:relative}.c-icon-picker__inner{display:inline-flex;align-items:center;justify-content:center}.c-icon-picker__icon{width:20px;height:20px;padding:7px}.c-icon-picker__icon:before{color:#fff;width:18px;height:18px;font-size:18px}.c-icon-picker.dropdown-is-open{background-color:var(--wp-admin-theme-color-darker-10, #2145e6)}.c-icon-picker:hover,.c-icon-picker:focus{outline:none;box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9),inset 0 0 0 1px #fff;color:#fff;background-color:var(--wp-admin-theme-color-darker-10, #2145e6)}.c-icon-dropdown{position:absolute;background-color:#fff;display:block;z-index:100;box-shadow:0 3px 20px rgba(25,30,35,.1),0 1px 3px rgba(25,30,35,.1);border:1px solid #ddd;left:0;top:45px;cursor:auto}.c-icon-dropdown:before{top:-8px;content:"";position:absolute;height:0;width:0;border:8px solid #ddd;border-left-color:rgba(0,0,0,0);border-right-color:rgba(0,0,0,0);line-height:0}.c-icon-dropdown:after{top:-6px;content:"";position:absolute;height:0;width:0;border:8px solid #fff;border-left-color:rgba(0,0,0,0);border-right-color:rgba(0,0,0,0);line-height:0}.c-icon-dropdown.is-grey{background-color:#fafafa}.c-icon-dropdown.is-grey:after{border:8px solid #fafafa;border-left-color:rgba(0,0,0,0);border-right-color:rgba(0,0,0,0);border-top:0}.c-icon-dropdown.above-button{top:unset;bottom:48px}.c-icon-dropdown.above-button:before{bottom:-9px;top:unset;border-left-color:rgba(0,0,0,0);border-right-color:rgba(0,0,0,0);border-bottom:0;border-top:8px solid #fafafa}.c-icon-dropdown.above-button:after{bottom:-7px;top:unset;border-left-color:rgba(0,0,0,0);border-right-color:rgba(0,0,0,0);border-top:8px solid #fff;border-bottom:0}.c-icon-dropdown:before,.c-icon-dropdown:after{border-bottom-style:solid;border-top:0;left:0;margin-left:10px}.c-icon-dropdown__row{display:flex;margin:0;align-items:center;flex-wrap:wrap;width:400px;padding:16px 0 0;border-top:1px solid #ddd;background-color:#fff}.c-icon-dropdown__item{margin:0;height:20px;width:20px;padding:10px;display:flex;align-items:center;justify-content:center;cursor:pointer}.c-icon-dropdown__icon-name{height:20px;width:20px;padding:10px;box-sizing:content-box;border:0;border-radius:4px;cursor:pointer;background-color:#fff}.c-icon-dropdown__icon-name:before{color:#555d66}.c-icon-dropdown__icon-name:hover{background-color:#f3f4f5}.c-icon-dropdown__icon-name:focus{color:#191e23;box-shadow:inset 0 0 0 2px #444;outline:2px solid rgba(0,0,0,0);outline-offset:-2px}.c-icon-dropdown__icon-name:active{background-color:#f3f4f5}.c-icon-dropdown__not-found-text{margin:5px 2px}.c-icon-dropdown__not-found-text:focus{outline:none}.c-icon-dropdown__search{position:relative;left:0;top:0;outline:none;margin:0 16px;padding:10px 13px;font-size:13px;display:block;border:0;z-index:10}.c-icon-dropdown__search[type=search]{margin-top:16px;margin-bottom:16px;padding:11px 16px;line-height:1.4em;border:1px solid #ccd0d4;transition:box-shadow .1s linear;box-shadow:0 0 0 rgba(0,0,0,0);border-radius:4px}.c-icon-dropdown__search[type=search]::-moz-placeholder{color:#72777c}.c-icon-dropdown__search[type=search]::placeholder{color:#72777c}.c-icon-dropdown__search[type=search]:focus{color:#191e23;border-color:var(--wp-admin-theme-color, #3858e9);box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0)}.c-icon-dropdown__footer{border:0;height:30px;display:flex;justify-content:flex-end;position:absolute;overflow:hidden;bottom:-40px;right:-11px;padding:0 10px 10px 10px;background-color:rgba(0,0,0,0)}.c-icon-dropdown__footer__name{color:#444;margin:0;padding:8px;text-align:right;font-weight:600;font-size:10px;-webkit-transition:all .1s;box-shadow:0 3px 20px rgba(25,30,35,.1),0 1px 3px rgba(25,30,35,.1);background-color:#fff;border-right:1px solid #ddd;border-left:1px solid #ddd;border-bottom:1px solid #ddd}.c-icon-dropdown__footer__css{color:#444;font-size:10px;margin:0;margin-left:5px;padding:3px 5px;line-height:12px}.c-input-label{-webkit-font-smoothing:subpixel-antialiased;color:#555d66;cursor:pointer;font-size:13px;line-height:1.3;min-width:140px;vertical-align:middle;width:140px}.c-input-label.for-toggle{margin-top:0}.o-field__options .c-input-label,.o-field__content .c-input-label{width:auto;min-width:auto;padding-bottom:0.25rem}@media(min-width: 87.5em){.o-field__content .c-input-label{flex:0 0 140px;min-width:140px;width:140px;padding-bottom:0;padding-right:12px;box-sizing:border-box}}@media(min-width: 62.5em){.c-editor-main.no-side-bar .o-field__content .c-input-label{flex:0 0 140px;min-width:140px;width:140px;padding-bottom:0;padding-right:12px;box-sizing:border-box}}.o-page__content .c-input-label{padding-bottom:0.25rem;min-width:auto;width:auto}@media(min-width: 50em){.c-editor-main.no-side-bar .o-page__content .c-input-label{min-width:140px;padding-bottom:0}}@media(min-width: 68.75em){.o-page__content .c-input-label{min-width:140px;padding-bottom:0}}.c-input[type=text],.c-input[type=number],.c-input--textarea{line-height:1.4em;padding:6px 10px 6px 10px;border:1px solid #7e8993;transition:box-shadow .1s linear;box-shadow:0 0 0 rgba(0,0,0,0);border-radius:4px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.c-input[type=text]:focus,.c-input[type=number]:focus,.c-input--textarea:focus{color:#191e23;border-color:var(--wp-admin-theme-color, #3858e9);box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0);outline-offset:-2px}.c-input[type=text]{background-color:#fff;color:#32373c;outline:0;box-sizing:border-box;min-width:230px}.o-field__options .c-input[type=text],.o-field__content .c-input[type=text]{width:100%;min-width:auto}@media(min-width: 62.5em){.c-editor-main.no-side-bar .o-field__options .c-input[type=text],.c-editor-main.no-side-bar .o-field__content .c-input[type=text]{min-width:200px}}@media(min-width: 65.625em){.c-editor-main.no-side-bar .o-field__options .c-input[type=text],.c-editor-main.no-side-bar .o-field__content .c-input[type=text]{min-width:230px}}@media(min-width: 87.5em){.o-field__options .c-input[type=text],.o-field__content .c-input[type=text]{min-width:230px}}@media(min-width: 75em){.o-field__content .c-input[type=text]{width:230px}}@media(min-width: 62.5em){.c-editor-main.no-side-bar .o-field__content .c-input[type=text]{width:230px}}.c-input[type=text].code{font-size:12px;padding:8px 10px 7px;font-weight:700;font-family:Consolas,Monaco,monospace}.c-input[type=text].code::-moz-placeholder{color:#999}.c-input[type=text].code::placeholder{color:#999}.c-input[type=text].code{font-weight:500}.c-input[type=text].for-sidebar{min-width:100%;padding:8px 10px 8px 10px}.c-input[type=text].no-min-width{min-width:0}.c-input[type=text].o-field-table__input{min-width:140px;width:140px}.c-editor-main.no-side-bar .c-input[type=text].o-field-table__input{min-width:140px;width:140px;max-width:140px}.c-input[type=number]{height:28px;line-height:1}.c-input[type=number]::-moz-placeholder{color:#bbb}.c-input[type=number]::placeholder{color:#bbb}.c-input[type=number].is-position{width:80px}.c-input[type=checkbox]{border-radius:2px;border:1px solid #1e1e1e;transition:none;box-shadow:0 0 0 rgba(0,0,0,0);margin-top:0;margin-bottom:0;height:20px;width:20px;margin-right:5px}.c-input[type=checkbox]:focus{border-color:var(--wp-admin-theme-color, #3858e9);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0)}.c-input[type=checkbox]:checked{background:var(--wp-admin-theme-color, #3858e9);border-color:var(--wp-admin-theme-color, #3858e9);left:-2px;top:-2px}.c-input[type=checkbox]:checked:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0)}.c-input[type=checkbox]:checked:before{content:none}.o-input-wrapper .c-input[type=checkbox]:before{margin:-2px 0 0 -3px;color:#fff}.c-input__checkbox-svg{fill:#fff;cursor:pointer;position:absolute;left:0;top:0;width:24px;height:24px;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}@media(min-width: 600px){.c-input__checkbox-svg{left:-2px;top:-2px}}.c-input--textarea{width:100%;min-height:50px}.o-field__options .c-input--textarea{width:100%}.c-input__radio[type=radio]:checked:before{content:"•";text-indent:-9999px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}.c-input__radio-label:not(:nth-last-child(1)){margin-bottom:15px}.c-input.not-valid{border-color:var(--wpds-color-stroke-interactive-error, #cc1818);transition:50ms border-color ease-in-out}.c-input.not-valid:focus{border-color:var(--wpds-color-stroke-interactive-error, #cc1818);box-shadow:0 0 0 1px var(--wpds-color-stroke-interactive-error, #cc1818);transition:box-shadow .1s linear;outline:2px solid rgba(0,0,0,0);outline-offset:-2px}.c-input.is-position{min-width:80px;width:80px}.c-input-group__item{margin-bottom:5px;position:relative;display:flex;vertical-align:middle}.c-input-group__item.is-disabled label{color:#a7aaad}.c-input-group__item .c-help-tip{margin-left:8px;align-self:center}.c-select{border:1px solid #ccd0d4;box-shadow:0 0 0 rgba(0,0,0,0);transition:box-shadow .1s linear;outline-offset:-1px;color:#555d66;padding:2px}.c-select:focus{border-color:var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0);outline-offset:-2px;box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9);color:#191e23}.c-select.is-disabled{pointer-events:none;color:#999;border-color:#f1f1f1}.c-select__class-name{margin-left:5px;padding:6px 8px 4px 6px;background:#eaeaea;background:rgba(0,0,0,.07);font-size:12px}.c-toggle{position:relative;box-sizing:border-box}.c-toggle__input[type=checkbox]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;margin:0;padding:0;z-index:1}.c-toggle__input[type=checkbox]:focus+.c-toggle__track{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0);outline-offset:2px}.c-toggle__track{content:"";display:inline-block;vertical-align:top;box-sizing:border-box;background-color:#fff;border:1px solid #1e1e1e;width:36px;height:18px;border-radius:9px;transition:background .2s ease}.wpo__subpage__toggle:hover .c-toggle__track{background-color:#e2e4e7}.c-toggle__track.is-checked{background-color:var(--wp-admin-theme-color, #3858e9);border:9px solid rgba(0,0,0,0)}.wpo__subpage__toggle:hover .c-toggle__track.is-checked{background-color:var(--wp-admin-theme-color-darker-10, #2145e6)}.c-toggle__thumb{display:block;position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;border:5px solid #1e1e1e;background-color:#1e1e1e;transition:transform .1s ease;box-sizing:border-box}.c-toggle__thumb.is-checked{background-color:#fff;border-width:0;transform:translateX(18px)}.c-toggle__on,.c-toggle__off{position:absolute;top:6px}.c-toggle__on{left:8px;filter:invert(100%) contrast(500%);outline:1px solid rgba(0,0,0,0);outline-offset:-1px}.c-toggle__off{color:#6c7781;fill:currentColor;right:6px}.c-help-tip{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:16px;height:16px;margin:0;padding:0;border:0;border-radius:50%;background-color:#1e1e1e;color:#fff;font-size:11px;font-weight:600;line-height:1;cursor:help}.c-help-tip:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0)}.c-shortcode{-webkit-user-select:all;-moz-user-select:all;user-select:all;white-space:nowrap;font-size:12px}.c-textarea{width:80%;min-height:33px;padding:6px 7px 6px 10px;border:1px solid #ccd0d4;outline-offset:0;transition:box-shadow .05s linear;box-shadow:0 0 0 rgba(0,0,0,0);line-height:1.4em}.c-textarea:focus{border-color:var(--wp-admin-theme-color, #3858e9);box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9)}.c-popover{position:absolute;box-shadow:0 3px 20px rgba(25,30,35,.1),0 1px 3px rgba(25,30,35,.1);border:1px solid #e2e4e7;width:auto;top:40px;background-color:#fff;z-index:10000000;cursor:auto;box-sizing:border-box}.c-popover:before{top:-8px;border:8px solid #e2e4e7}.c-popover:after{top:-6px;border:8px solid #fff}.c-popover:before,.c-popover:after{content:"";position:absolute;height:0;width:0;border-bottom-style:solid;border-top:none;border-left-color:rgba(0,0,0,0);border-right-color:rgba(0,0,0,0);line-height:0;left:calc(50% - 8px)}.c-popover__text{display:inline-block;width:-moz-max-content;width:max-content;padding:0 5px;font-size:12px}.c-button{transition:box-shadow .1s linear}.c-button.is-link{border-radius:3px;border-style:solid;border-width:1px;border-color:rgba(0,0,0,0)}.c-button.is-link:hover{background-color:#fff;border-color:var(--wp-admin-theme-color, #3858e9);color:var(--wp-admin-theme-color-darker-20, #183ad6)}.c-button.is-link:focus{box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0);outline-offset:0}.c-button.is-delete-button,.c-button.is-delete-button:active{color:#cc1818;border-color:#cc1818;justify-content:center}.c-button.is-delete-button.is-link,.c-button.is-delete-button:active.is-link{border-style:solid;border-width:1px;border-color:rgba(0,0,0,0)}.c-button.is-delete-button.is-link:hover,.c-button.is-delete-button:hover,.c-button.is-delete-button:active.is-link:hover,.c-button.is-delete-button:active:hover{background-color:rgba(204,24,24,.04);color:#710d0d;border-color:#710d0d}.c-button.is-delete-button:focus,.c-button.is-delete-button:active:focus{background-color:rgba(204,24,24,.04);border-color:#710d0d;color:#710d0d;box-shadow:none;outline:2px solid var(--wp-admin-theme-color, #3858e9);outline-offset:0}.c-button__top-bar{height:33px}.c-button__top-bar.is-save-button{margin:0 12px 0 3px}.c-button.has-icon{display:flex;align-items:center;padding:8px;margin:0;border:none;background:none;color:#1e1e1e;position:relative;overflow:hidden;border-radius:4px}.c-button.has-icon:hover,.c-button.has-icon:focus{background-color:#fff;color:#191e23;box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color, #3858e9),inset 0 0 0 2px #fff;outline:2px solid rgba(0,0,0,0)}.c-button.has-icon:not(.is-toggled):hover{color:var(--wp-admin-theme-color, #3858e9)}.c-button.has-icon.is-toggled{color:#fff;background-color:#1e1e1e;margin:1px;padding:7px}.c-button.has-icon.is-toggled:hover,.c-button.has-icon.is-toggled:focus{box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9),inset 0 0 0 1px #fff !important}.c-title.h1{font-size:23px;font-weight:400;margin:0;padding:9px 0 4px;line-height:29px}.c-title.h2{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.c-link{color:var(--wp-admin-theme-color, #3858e9)}.c-link__icon{margin:-0.2em .1em 0;vertical-align:middle}.c-link--delete{color:#a00;display:flex;align-items:center}.c-link--delete:hover{color:#dc3232}.c-link--delete svg{fill:currentColor;width:20px;height:20px;margin-left:5px}.c-link.is-button{border:0;background-color:rgba(0,0,0,0);cursor:pointer;outline:none;padding:3px 7px;border-radius:3px;text-decoration:underline}.c-link.is-button:focus{box-shadow:inset 0 0 0 1px #6c7781}.c-link.is-button.no-padding{padding:0;border-radius:0}.c-link.is-button.on-popover{text-decoration:none}.c-link.is-cancel{margin-right:10px;text-decoration:none}.c-validate-message{display:flex;align-items:flex-start;gap:4px;margin:8px 0 0;font-size:12px;line-height:16px;color:var(--wpds-color-foreground-content-error-weak, #cc1818)}@media(prefers-reduced-motion: no-preference){.c-validate-message{animation:c-validate-message-jump .2s cubic-bezier(0.68, -0.55, 0.27, 1.55)}}.c-validate-message__icon{flex-shrink:0;fill:currentColor}@keyframes c-validate-message-jump{0%{transform:translateY(-4px);opacity:0}100%{transform:translateY(0);opacity:1}}.c-field-types{position:absolute;display:block;box-shadow:0 3px 20px rgba(25,30,35,.1),0 1px 3px rgba(25,30,35,.1);border:1px solid #e2e4e7;width:400px;height:430px;top:48px;background-color:#fff;z-index:100;cursor:auto;box-sizing:border-box}.c-field-types:before{top:-8px;border:8px solid #e2e4e7}.c-field-types:after{top:-6px;border:8px solid #fff}.c-field-types:before,.c-field-types:after{content:"";position:absolute;height:0;width:0;border-bottom-style:solid;border-top:none;border-left-color:rgba(0,0,0,0);border-right-color:rgba(0,0,0,0);line-height:0;left:calc(50% - 8px)}.c-field-types.above-button{top:unset;bottom:48px}.c-field-types.above-button:before{bottom:-9px;top:unset;border-bottom:none;border-top:8px solid #e2e4e7}.c-field-types.above-button:after{bottom:-7px;top:unset;border-top:8px solid #fff;border-bottom:none}.c-field-types__search{width:100%;position:relative;left:0;top:0;outline:none;margin:0;padding:10px 13px;font-size:13px;display:block;border:0;z-index:10}.c-field-types__search[type=search]{padding:11px 16px;line-height:1.4em;color:#32373c;border:1px solid #7e8993;transition:box-shadow .1s linear;box-shadow:0 0 0 rgba(0,0,0,0);border-radius:4px;height:40px}.c-field-types__search[type=search]::-moz-placeholder{color:#72777c}.c-field-types__search[type=search]::placeholder{color:#72777c}.c-field-types__search[type=search]:focus{color:#191e23;border-color:var(--wp-admin-theme-color, #3858e9);box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0);outline-offset:-2px}.c-field-types__wrapper{position:relative;overflow:auto;height:344px;-webkit-overflow-scrolling:touch}.c-field-types__title{padding:15px 16px;margin:0 0 5px;font-size:13px;font-weight:600;position:relative;cursor:pointer;border-top:1px solid #e2e4e7;transition:background .1s ease-in-out}.c-field-types__title:hover{background:#f3f4f5}.c-field-types__title.has-border{border-top:1px solid #e2e4e7}.c-field-types__list-toggle{padding:0;margin:0;border:none;box-shadow:none;text-align:left;cursor:pointer;-webkit-appearance:none;background:none;position:absolute;right:10px;top:50%;transform:translateY(-45%)}.c-field-types__list-toggle:focus{border:none;box-shadow:none;outline:none}.c-field-types__list-toggle:before{content:"";border-radius:50%;width:24px;height:24px;display:block;position:absolute}.c-field-types__list-toggle:focus:before{box-shadow:0 0 0 2px var(--wp-admin-theme-color-darker-10, #2145e6);outline:2px solid rgba(0,0,0,0)}.c-field-types__list-toggle-arrow{color:#191e23;fill:currentColor;width:24px;height:24px}.c-field-types__list{display:flex;flex-wrap:wrap;margin:0;padding:0 16px 16px}.c-field-types__item{display:block;box-sizing:inherit;width:108px;margin-right:4px;position:relative;margin-bottom:12px}.c-field-types__item:nth-of-type(3n){margin-right:0}.c-field-types__button{position:relative;box-sizing:inherit;align-items:stretch;background:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);border-radius:4px;color:#1e1e1e;cursor:pointer;display:flex;flex-direction:column;font-size:13px;justify-content:center;padding:0;width:100%;word-break:break-word;transition:all .05s ease-in-out}.c-field-types__button:hover:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;border-radius:4px;opacity:.04;background:var(--wp-admin-theme-color, #3858e9);pointer-events:none}.c-field-types__button:focus{color:#191e23;outline:2px solid rgba(0,0,0,0);box-shadow:0 0 0 1px #fff,0 0 0 3px var(--wp-admin-theme-color-darker-10, #2145e6)}.c-field-types__button-icon{color:#1e1e1e;padding:12px 20px;transition:all .05s ease-in-out;display:flex;justify-content:center}.c-field-types__button:hover .c-field-types__button-icon,.c-field-types__button:focus .c-field-types__button-icon{color:var(--wp-admin-theme-color, #3858e9)}.c-field-types__button-icon .dashicon{fill:currentColor}.c-field-types__button-icon .dashicons{width:24px;height:24px;font-size:24px}.c-field-types__button-icon svg{fill:currentColor}.c-field-types__button-title{padding:4px 2px 8px;font-size:12px;hyphens:auto}.c-field-types__button:hover .c-field-types__button-title{color:var(--wp-admin-theme-color, #3858e9);filter:brightness(0.95)}.c-field-types__not-found-text{padding:0 16px}.c-material-icon{height:24px;width:24px;fill:currentColor}.c-editor-side-bar{top:88px;width:280px;box-sizing:border-box;transform:translateX(100%);transition:transform 200ms ease-in-out}.c-editor-side-bar.is-open{transform:translateX(0);transition-delay:60ms}.c-editor-side-bar__close-button{border-radius:0.25rem;border-width:0px;padding:0.5rem;transition:box-shadow .1s linear}.c-editor-side-bar__close-button:active,.c-editor-side-bar__close-button:focus{color:#191e23;--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.c-editor-side-bar__close-button:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-text-opacity:1;color:rgb(25 30 35 / var(--tw-text-opacity, 1));--tw-shadow:inset 0 0 0 1px #555d66, inset 0 0 0 2px #fff;--tw-shadow-colored:inset 0 0 0 1px var(--tw-shadow-color), inset 0 0 0 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.c-editor-side-bar__close-button:focus{--tw-shadow:inset 0 0 0 1px #555d66, inset 0 0 0 2px #fff;--tw-shadow-colored:inset 0 0 0 1px var(--tw-shadow-color), inset 0 0 0 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);outline:2px solid transparent;outline-offset:2px}.c-editor-side-bar__close-button:active{box-shadow:inset 0 0 0 1px #ccd0d4,inset 0 0 0 2px #fff}.c-editor-top-bar{box-sizing:border-box;height:56px;top:32px;flex-wrap:nowrap;max-width:100vw}@media(min-width: 48.9375em){.c-editor-top-bar{margin-left:160px}.wp-responsive-open .c-editor-top-bar{margin-left:160px}.folded .c-editor-top-bar,.auto-fold .c-editor-top-bar,.sticky-menu.folded .c-editor-top-bar,.c-editor-top-bar .auto-fold.sticky-menu.folded{margin-left:36px}}@media(min-width: 60.0625em){.sticky-menu:not(.folded) .c-editor-top-bar,.auto-fold:not(.folded) .c-editor-top-bar{margin-left:160px}}.c-editor-top-bar.no-side-bar{margin-right:-20px}.c-editor-top-bar .c-input[type=text]{box-sizing:border-box;height:32px;min-height:32px;line-height:1;padding-top:0;padding-bottom:0}.c-editor-top-bar .edit-post-header__button-group .components-button.is-primary[aria-pressed=true]{background:var(--wp-admin-theme-color, #3858e9);border-color:var(--wp-admin-theme-color, #3858e9);box-shadow:none;color:#fff}.c-editor-top-bar .c-icon-picker{box-sizing:border-box;width:32px;height:32px;justify-content:center}.c-editor-top-bar .c-icon-picker__icon{padding:6px}.c-editor-main{margin-right:260px;overflow-y:auto;overscroll-behavior-y:none;position:fixed;bottom:0;left:0;right:0;top:88px;min-height:calc(100% - 88px);height:auto;margin-left:0px;transition:margin-right 200ms ease-in-out}.c-editor-main.dropdown-active{overflow-y:hidden;height:calc(100% - 87px)}.wp-responsive-open .c-editor-main{margin-left:190px}@media(min-width: 48.9375em){.c-editor-main{margin-left:160px}.wp-responsive-open .c-editor-main{margin-left:160px}.folded .c-editor-main,.auto-fold .c-editor-main,.sticky-menu.folded .c-editor-main,.c-editor-main .auto-fold.sticky-menu.folded{margin-left:36px}}@media(min-width: 60.0625em){.sticky-menu:not(.folded) .c-editor-main,.auto-fold:not(.folded) .c-editor-main{margin-left:160px}}.c-editor-main.no-side-bar{margin-right:-20px}body.aop-is-dragging .components-tooltip{display:none}.some{clip-path:inset(50%)}.dev-mode__pre{overflow:scroll;border:2px solid red;padding-left:3px;font-size:10px;font-weight:600;margin:1em}.editor-top-bar{box-sizing:border-box;height:56px;top:32px;flex-wrap:nowrap;max-width:100vw}.edit-post-header__button-group .button:first-child{border-radius:3px 0 0 3px}.edit-post-header__button-group .button:last-child{border-radius:0 3px 3px 0}.edit-post-header__button-group .button:focus{position:relative;z-index:1}.header-item{padding:10px 4px 10px}.edit-post-layout{position:relative;box-sizing:border-box;padding-top:56px}.edit-post-layout__content{margin-right:280px;padding-bottom:0;overflow-y:auto;overscroll-behavior-y:none;position:fixed;bottom:0;left:0;right:0;top:88px;min-height:calc(100% - 88px);height:auto;margin-left:160px;display:flex;flex-direction:column}.button.is-delete-button,.button.is-delete-button:active{color:#cc1818;border-color:#cc1818;justify-content:center}.button.is-delete-button:hover,.button.is-delete-button:active:hover{background-color:rgba(204,24,24,.04);color:#710d0d;border-color:#710d0d}.button.is-delete-button:focus,.button.is-delete-button:active:focus{background-color:rgba(204,24,24,.04);border-color:#710d0d;color:#710d0d;box-shadow:none;outline:2px solid var(--wp-admin-theme-color, #3858e9);outline-offset:0}.tooltip-error{position:absolute;top:calc(100% + 8px);left:0;z-index:40;width:-moz-max-content;width:max-content;max-width:280px;padding:8px 12px;background:#fff;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.1),0 2px 3px rgba(0,0,0,.05),0 6px 12px rgba(0,0,0,.08)}.tooltip-error .c-validate-message{margin:0}.c-move-buttons{display:inline-flex;align-items:center;gap:2px;margin-right:4px}.c-move-button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:2px;background:rgba(0,0,0,0);color:#555d66;cursor:pointer}.c-move-button:hover:not(:disabled){color:var(--wp-admin-theme-color, #3858e9)}.c-move-button:focus{box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0)}.c-move-button:disabled{opacity:.35;cursor:default}.c-move-button .dashicons{font-size:18px;width:18px;height:18px}.c-top-bar__drag-handle{display:inline-flex;align-items:center;margin-right:6px;padding:0;border:0;background:rgba(0,0,0,0);color:#757575;cursor:grab}.c-top-bar__drag-handle:focus{box-shadow:0 0 0 1px var(--wp-admin-theme-color, #3858e9);outline:2px solid rgba(0,0,0,0)}.o-field__unavailable-body{border-width:1px;border-color:#42586366;border-top:none;background-color:#fff}.o-field__unavailable{margin:0;padding:12px 16px;color:#6c7781}.o-field__unavailable-actions{display:flex;justify-content:flex-end;padding:0 16px 12px}.is-ghost-slot{position:relative;box-sizing:border-box;height:48px;overflow:hidden;border:1px dashed #b4b9be;background:#fff;z-index:1}.is-ghost-slot>*{opacity:0}.is-ghost-slot.o-field{height:45px}.is-ghost-slot:not(.o-field){margin-top:10px}.is-ghost-slot.is-ghost-away{height:0;border:0;margin:0}.aop-drag-copy{box-shadow:0 4px 12px rgba(0,0,0,.15);cursor:grabbing}.is-dragging{opacity:.6;z-index:5;position:relative}.c-modal__screen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:hsla(0,0%,100%,.4);z-index:100000;animation:edit-post__fade-in-animation .2s ease-out 0s;animation-fill-mode:forwards}.c-modal__frame{position:absolute;top:0;right:0;bottom:0;left:0;box-sizing:border-box;margin:0;border:1px solid #e2e4e7;background:#fff;box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08);overflow:auto}@media(min-width: 600px){.c-modal__frame{top:50%;right:auto;bottom:auto;left:50%;min-width:360px;max-width:calc(100% - 16px - 16px);max-height:calc(100% - 56px - 56px);transform:translate(-50%, -50%);animation:c-modal__appear-animation .1s ease-out;animation-fill-mode:forwards}}@keyframes c-modal__appear-animation{from{margin-top:32px}to{margin-top:0}}.c-modal__header{box-sizing:border-box;border-bottom:1px solid #ecedef;padding:2px 16px 0;display:flex;flex-direction:row;justify-content:space-between;background:#fff;align-items:center;height:56px;position:sticky;top:0;z-index:10;margin:0}@supports(-ms-ime-align: auto){.c-modal__header{position:fixed;width:100%}}.c-modal__header .c-modal__header-heading{font-size:1em;font-weight:400}.c-modal__header h1{line-height:1;margin:0;padding:0}.c-modal__header-heading-container{align-items:center;flex-grow:1;display:flex;flex-direction:row;justify-content:left}.c-modal__header-icon-container{display:inline-block}.c-modal__header-icon-container svg{max-width:36px;max-height:36px;padding:8px}.c-modal__content{box-sizing:border-box;height:100%}@supports(-ms-ime-align: auto){.c-modal__content{padding-top:56px}}.c-modal__section{background-color:#fafafa;padding:16px;display:flex;justify-content:flex-end}.c-modal__header-heading-container{align-items:center;flex-grow:1;display:flex;flex-direction:row;justify-content:left}.c-modal__icon-button{display:flex;align-items:center;padding:8px;margin:0;border:none;background:none;color:#555d66;position:relative;overflow:hidden;border-radius:4px}.c-modal__icon-button .dashicon{display:inline-block;flex:0 0 auto}.c-modal__icon-button svg{fill:currentColor;outline:none}.c-modal__icon-button svg:not:only-child{margin-right:4px}.c-modal__icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):hover{background-color:#fff;color:#191e23;box-shadow:inset 0 0 0 1px #e2e4e7,inset 0 0 0 2px #fff,0 1px 1px rgba(25,30,35,.2)}.c-modal__icon-button:not(:disabled):not([aria-disabled=true]):not(.is-default):active{outline:none;background-color:#fff;color:#191e23;box-shadow:inset 0 0 0 1px #ccd0d4,inset 0 0 0 2px #fff}.c-modal__icon-button[aria-disabled=true]:focus,.c-modal__icon-button:disabled:focus{box-shadow:none}.edit-post-options-modal__title{font-size:1rem;font-weight:600}.c-modal__button:focus:enabled{background-color:#fff;color:#191e23;box-shadow:inset 0 0 0 1px #6c7781,inset 0 0 0 2px #fff;outline:2px solid rgba(0,0,0,0);outline-offset:-2px}.c-modal__button{cursor:pointer}.c-modal__button.is-button{padding:0 10px 1px;line-height:26px;height:28px;border-radius:5px;white-space:nowrap;border-width:1px;border-style:solid}.c-modal__button.is-button.is-cancel{border:none;line-height:33px;height:33px;background-color:rgba(0,0,0,0);margin-right:10px}.c-modal__button.is-button.is-delete{background:#e14d43;height:31px;line-height:30px;font-size:13px;color:#fff;display:inline-flex;padding:0 15px;text-decoration:none}.c-modal__button.is-button.is-delete:hover{background:#d64940}.c-modal__button.is-button.is-delete:focus{background:#d64940;box-shadow:0 0 0 0px #fff,0 0 0 1px #d64940}.c-modal__button.is-button.is-delete:active{background:#b43e36;border-color:#712722;box-shadow:inset 0 1px 0 #712722}.c-row-action-button.is-link{border:none;background-color:rgba(0,0,0,0);cursor:pointer;font-size:13px;padding:0;color:#a00;outline:0}.c-row-action-button.is-link:hover{color:#dc3232;border:none}.c-row-action-button.is-link:focus{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.aop-roles__field{align-self:auto;gap:4px}.aop-roles__list{display:flex;flex-direction:column;gap:12px}.aop-roles-modal__footer{display:flex;justify-content:flex-end;margin-top:24px}body{background-color:#fff}.aop-snackbar-wrapper{bottom:0;padding-top:4px;padding-bottom:20px;left:160px;display:block;position:fixed;overflow:hidden;z-index:10000;padding-left:16px;padding-right:16px}.folded .aop-snackbar-wrapper,.sticky-menu.folded .aop-snackbar-wrapper,.aop-snackbar-wrapper .auto-fold.sticky-menu.folded{left:36px}@keyframes slideInRight{from{transform:translate3d(0, 150px, 0);opacity:0}to{transform:translate3d(0, 0, 0);opacity:1}}@keyframes slideOutRight{from{opacity:1}to{opacity:0}}.aop-snackbar{-webkit-animation-fill-mode:both;animation-duration:.5s;animation-fill-mode:both;animation-delay:0s;animation-name:slideInRight;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;background-color:#32373c;border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,.3);color:#fff;padding:16px 24px;width:100%;max-width:600px;box-sizing:border-box;cursor:pointer}.aop-snackbar:hover{background-color:#191e23}.aop-snackbar:focus{background-color:#191e23;box-shadow:0 0 0 1px #fff,0 0 0 3px var(--wp-admin-theme-color, #3858e9)}.aop-snackbar.has-delay{animation-delay:1s}.aop-snackbar--succes{border-color:#46b450}.aop-snackbar--remove{animation-name:slideOutRight}.aop-snackbar__message{font-weight:bold;margin:.5em 0;padding:2px}.admin_page_admin_options_pages_edit #wpcontent{padding-left:0}.admin_page_admin_options_pages_edit #wpbody-content{padding-bottom:0}.aop-editor-screen #wpfooter{display:none}.left-160px{left:160px}.max-w-screen{max-width:100vh}.block-editor__container{min-height:calc(100vh - 32px)}.screen-reader-text{border:0;clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal !important}@media(max-width: 1000px){.min-width-screen{display:grid;grid-template-columns:20px 1fr 20px}}body.aop-editor-screen #wpbody-content>div:not(#aop-root):not(#screen-meta):not(.aop-snackbar-wrapper){display:none}.hover\:border-gray-700:hover{--tw-border-opacity:1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}
  • admin-options-pages/trunk/includes/build/editor.asset.php

    r3736451 r3750608  
    1212                'wp-primitives'
    1313        ),
    14         'version' => 'ac515b576d36ffa337ab'
     14        'version' => '940f12e549c1fd85c61e'
    1515);
  • admin-options-pages/trunk/includes/build/editor.js

    r3736451 r3750608  
    1 (()=>{"use strict";const e={n:t=>{const n=t&&t.__esModule?()=>t.default:()=>t;return e.d(n,{a:n}),n},d:(t,n)=>{for(var a in n)e.o(n,a)&&!e.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:n[a]})},o:(e,t)=>Object.hasOwn(e,t),r:e=>{Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}};var t={};e.r(t),e.d(t,{addField:()=>k,addPage:()=>D,addTableRow:()=>F,closeAllPages:()=>R,closeModal:()=>Z,decrementMenuPosition:()=>X,incrementMenuPosition:()=>G,moveField:()=>A,moveFieldToPage:()=>L,movePage:()=>M,moveTableRow:()=>V,openModal:()=>J,openPageOnError:()=>z,removeField:()=>I,removePage:()=>C,removeTableRow:()=>K,removeUnavailableField:()=>O,setExistingMenu:()=>$,setExistingMenus:()=>H,setFieldOpen:()=>P,setFieldTypes:()=>W,setIn:()=>E,setInputError:()=>te,setMenuTitle:()=>U,setMenuType:()=>B,setPageOpen:()=>T,setUi:()=>Y,togglePage:()=>S,toggleSidebar:()=>q,touch:()=>Q,validateAll:()=>ee});var n={};e.r(n),e.d(n,{getDashIcons:()=>se,getData:()=>ae,getErrors:()=>be,getExcludedOptionNames:()=>Ee,getExistingMenu:()=>ge,getExistingMenus:()=>me,getField:()=>de,getFieldNames:()=>Ne,getFieldTypes:()=>De,getHrefDeleteAction:()=>_e,getMenu:()=>pe,getMenuType:()=>fe,getPage:()=>ce,getPageData:()=>ne,getPages:()=>le,getRemovedFields:()=>re,getShownError:()=>ye,getText:()=>oe,getUi:()=>ie,hasChanges:()=>je,hasPages:()=>ue,isModalOpen:()=>ve,isSidebarVisible:()=>he,isTouched:()=>xe,isValid:()=>we});const a=window.wp.apiFetch;var i=e.n(a);let s=!1;const o=window.wp.element,l=window.wp.data,r=window.wp.i18n;function c(e,t,n){if(0===t.length)return n;const[a,...i]=t,s=(o=e??("number"==typeof a?[]:{}),Array.isArray(o)?o.slice():{...o});var o;return s[a]=c(s[a],i,n),s}function d(e,t,n){return c(e,t,n(u(e,t)))}function u(e,t,n){let a=e;for(const e of t){if(null==a)return n;a=a[e]}return void 0===a?n:a}function p(e,t){return e.filter((e,n)=>n!==t)}function g(e,t,n){if(t===n||t<0||n<0||t>=e.length||n>=e.length)return e;const a=e.slice(),[i]=a.splice(t,1);return a.splice(n,0,i),a}const m=new Map;function f(e,t){m.set(e,t)}const h=["field_label","field_title","description"];function v(e){let t=e;const n=function(e){const t={};return"true"===e.field_toggle?t.field_toggle=!0:"false"===e.field_toggle&&(t.field_toggle=!1),h.forEach(n=>{"string"==typeof e[n]&&e[n].includes("\\")&&(t[n]=e[n].replace(/\\/g,""))}),t}(t);Object.keys(n).length&&(t={...t,...n});const a=m.get(t.type),i=a?a(t):{};return Object.keys(i).length?{...t,...i}:t}function _(e=20){let t="";for(let n=0;n<e;n++)t+=String(Math.floor(10*Math.random()));return t}function x(e=10){let t="";for(let n=0;n<e;n++)t+="abcdefghijklmnopqrstuvwxyz0123456789".charAt(Math.floor(36*Math.random()));return t}function b(e,{random:t,randomText:n=x,dashIcons:a=[]}={}){const i=function(e){return e?.data?.existing_menu?"existing":"default"}(e),s=function(e,{random:t=_}={}){const n={...e.data||{}};if(n.pages||(n.pages=[{menu_slug:1,fields:[],subpage_toggle:!0}]),n.menu||(n.menu={page_title:"",menu_title:"",capability:"manage_options",menu_slug:"",menu_slug_suffix:"",icon_url:"dashicons-admin-generic",position:""}),!n.existing_menu){const t=(e.existingAdminMenuTitles||[])[0];n.existing_menu={menu_name:t?t.title:"",menu_slug:t?t.slug:""}}return n.menu_id||(n.menu_id=t(20)),"boolean"!=typeof n.side_bar_visible&&(n.side_bar_visible=!0),{...e,data:n}}(e,{random:t}),o={...s.data,pages:s.data.pages.map((e,t,a)=>function(e,t,n=x){const a={...e,fields:(e.fields||[]).map(v)};return a.subpage_slug_suffix||(a.subpage_slug_suffix=n(10)),void 0===a.subpage_toggle&&1===t&&(a.subpage_toggle=!0),a}(e,a.length,n))};return{pageData:{...s,data:o},initialData:JSON.parse(JSON.stringify(o)),dashIcons:a,ui:{menuType:i,existingMenuSlug:"",menuPagesLoaded:!1,sideBarVisible:s.data.side_bar_visible,modalActive:!1,hrefDeleteAction:"",hoverOverDropdown:!1,moving:!1,fieldTypes:null,errors:{},touched:{}}}}const y=["pageData","data"],w=[...y,"pages"];function j(e,t){switch(t.type){case"SET_IN":return c(e,[...y,...t.path],t.value);case"ADD_PAGE":return d(e,w,e=>[...e,{menu_slug:t.id,fields:[],subpage_toggle:!0,subpage_slug_suffix:t.id}]);case"REMOVE_PAGE":return d(e,w,e=>p(e,t.pageKey));case"MOVE_PAGE":return d(e,w,e=>g(e,t.from,t.to));case"SET_PAGE_OPEN":return c(e,[...w,t.pageKey,"subpage_toggle"],t.open);case"CLOSE_ALL_PAGES":return d(e,w,e=>e.map(e=>e.subpage_toggle?{...e,subpage_toggle:!1}:e));case"TOGGLE_PAGE":return d(e,[...w,t.pageKey,"subpage_toggle"],e=>!e);case"ADD_FIELD":return d(e,[...w,t.pageKey,"fields"],e=>[...e,v({...t.defaults||{},id:t.id,type:t.fieldType,field_toggle:void 0})]);case"REMOVE_FIELD":return d(e,[...w,t.pageKey,"fields"],e=>p(e,t.fieldKey));case"REMOVE_UNAVAILABLE_FIELD":return d(d(e,[...w,t.pageKey,"fields"],e=>p(e,t.fieldKey)),[...y,"removed_fields"],e=>[...e||[],String(t.id)]);case"MOVE_FIELD":return d(e,[...w,t.pageKey,"fields"],e=>g(e,t.from,t.to));case"MOVE_FIELD_TO_PAGE":{const n=e.pageData.data.pages[t.fromPage]?.fields[t.fromIndex];if(!n||!e.pageData.data.pages[t.toPage])return e;let a=d(e,[...w,t.fromPage,"fields"],e=>p(e,t.fromIndex));return a=d(a,[...w,t.toPage,"fields"],e=>{const a=e.slice();return a.splice(Math.min(t.toIndex,a.length),0,n),a}),a}case"SET_FIELD_OPEN":return c(e,[...w,t.pageKey,"fields",t.fieldKey,"field_toggle"],t.open);case"OPEN_PAGE_ON_ERROR":{let n=c(e,[...w,t.pageKey,"subpage_toggle"],!0);return void 0!==t.fieldKey&&(n=c(n,[...w,t.pageKey,"fields",t.fieldKey,"field_toggle"],!0)),n}case"ADD_TABLE_ROW":return d(e,[...w,t.pageKey,"fields",t.fieldKey,"table_list"],e=>[...e||[],{label:"",value:"",id:t.id}]);case"REMOVE_TABLE_ROW":return d(e,[...w,t.pageKey,"fields",t.fieldKey,"table_list"],e=>p(e,t.rowKey));case"MOVE_TABLE_ROW":return d(e,[...w,t.pageKey,"fields",t.fieldKey,"table_list"],e=>g(e,t.from,t.to));case"SET_MENU_TYPE":{let n=c(e,["ui","menuType"],t.menuType);return"existing"===t.menuType&&(n=c(n,[...y,"existing_menu"],t.menu)),"default"===t.menuType&&e.pageData.data.menu&&(n=c(n,[...y,"menu"],t.menu)),n}case"SET_EXISTING_MENU":{const n=e.pageData.existingAdminMenuTitles||[],a=n.find(e=>e.slug===t.slug);if(!a)return e;let i=c(e,["pageData","existingAdminMenuTitles"],[a,...n.filter(e=>e.slug!==t.slug)]);return i=c(i,[...y,"existing_menu"],{menu_name:a.title,menu_slug:t.slug}),c(i,["ui","existingMenuSlug"],t.slug)}case"SET_EXISTING_MENUS":return c(e,["pageData","existingAdminMenuTitles"],t.menus);case"SET_MENU_TITLE":return c(e,[...y,"menu"],{...e.pageData.data.menu,menu_title:t.title,page_title:t.title});case"STEP_MENU_POSITION":return c(e,[...y,"menu","position"],Number(e.pageData.data.menu.position)+t.step);case"SET_UI":return c(e,["ui",t.key],t.value);case"TOGGLE_SIDEBAR":return c(e,["ui","sideBarVisible"],!e.ui.sideBarVisible);case"OPEN_MODAL":return c(c(e,["ui","modalActive"],!0),["ui","hrefDeleteAction"],t.hrefDeleteAction);case"CLOSE_MODAL":return c(c(e,["ui","modalActive"],!1),["ui","hrefDeleteAction"],"");case"TOUCH":return c(e,["ui","touched",t.name],!0);case"VALIDATE_ALL":{const t=Object.keys(e.ui.errors);return t.every(t=>e.ui.touched[t])?e:c(e,["ui","touched"],{...e.ui.touched,...Object.fromEntries(t.map(e=>[e,!0]))})}case"SET_INPUT_ERROR":{const n=e.ui.errors[t.name];if(n===t.message||!n&&!t.message)return e;if(!t.message){const{[t.name]:n,...a}=e.ui.errors;return c(e,["ui","errors"],a)}return c(e,["ui","errors",t.name],t.message)}default:return e}}const N=()=>(new Date).getTime(),E=(e,t)=>({type:"SET_IN",path:e,value:t}),D=(e=N())=>({type:"ADD_PAGE",id:e}),C=e=>({type:"REMOVE_PAGE",pageKey:e}),M=(e,t)=>({type:"MOVE_PAGE",from:e,to:t}),S=e=>({type:"TOGGLE_PAGE",pageKey:e}),T=(e,t)=>({type:"SET_PAGE_OPEN",pageKey:e,open:t}),R=()=>({type:"CLOSE_ALL_PAGES"}),k=(e,t,n=N(),a={})=>({type:"ADD_FIELD",pageKey:e,fieldType:t,id:n,defaults:a}),I=(e,t)=>({type:"REMOVE_FIELD",pageKey:e,fieldKey:t}),O=(e,t,n)=>({type:"REMOVE_UNAVAILABLE_FIELD",pageKey:e,fieldKey:t,id:n}),A=(e,t,n)=>({type:"MOVE_FIELD",pageKey:e,from:t,to:n}),L=(e,t,n,a)=>({type:"MOVE_FIELD_TO_PAGE",fromPage:e,fromIndex:t,toPage:n,toIndex:a}),P=(e,t,n)=>({type:"SET_FIELD_OPEN",pageKey:e,fieldKey:t,open:n}),z=(e,t)=>({type:"OPEN_PAGE_ON_ERROR",pageKey:e,fieldKey:t}),F=(e,t,n=N())=>({type:"ADD_TABLE_ROW",pageKey:e,fieldKey:t,id:n}),K=(e,t,n)=>({type:"REMOVE_TABLE_ROW",pageKey:e,fieldKey:t,rowKey:n}),V=(e,t,n,a)=>({type:"MOVE_TABLE_ROW",pageKey:e,fieldKey:t,from:n,to:a}),B=(e,t)=>({type:"SET_MENU_TYPE",menuType:e,menu:t}),$=e=>({type:"SET_EXISTING_MENU",slug:e}),H=e=>({type:"SET_EXISTING_MENUS",menus:e}),U=e=>({type:"SET_MENU_TITLE",title:e}),G=()=>({type:"STEP_MENU_POSITION",step:1}),X=()=>({type:"STEP_MENU_POSITION",step:-1}),W=e=>({type:"SET_UI",key:"fieldTypes",value:e}),Y=(e,t)=>({type:"SET_UI",key:e,value:t}),q=()=>({type:"TOGGLE_SIDEBAR"}),J=e=>({type:"OPEN_MODAL",hrefDeleteAction:e}),Z=()=>({type:"CLOSE_MODAL"}),Q=e=>({type:"TOUCH",name:e}),ee=()=>({type:"VALIDATE_ALL"}),te=(e,t)=>({type:"SET_INPUT_ERROR",name:e,message:t||null}),ne=e=>e.pageData,ae=e=>e.pageData.data,ie=e=>e.ui,se=e=>e.dashIcons,oe=e=>e.pageData.text,le=e=>e.pageData.data.pages,re=e=>e.pageData.data.removed_fields||[],ce=(e,t)=>le(e)[t],de=(e,t,n)=>u(e,["pageData","data","pages",t,"fields",n]),ue=e=>le(e).length>0,pe=e=>e.pageData.data.menu,ge=e=>e.pageData.data.existing_menu,me=e=>e.pageData.existingAdminMenuTitles||[],fe=e=>e.ui.menuType,he=e=>e.ui.sideBarVisible,ve=e=>e.ui.modalActive,_e=e=>e.ui.hrefDeleteAction,xe=(e,t)=>Boolean(e.ui.touched[t]),be=e=>e.ui.errors,ye=(e,t)=>e.ui.errors[t]&&e.ui.touched[t]?e.ui.errors[t]:null,we=e=>0===Object.keys(e.ui.errors).length&&le(e).length>0,je=e=>JSON.stringify(ae(e))!==JSON.stringify(e.initialData),Ne=e=>le(e).flatMap(e=>e.fields||[]).map(e=>e.field_name).filter(Boolean),Ee=e=>{const t={};Ne(e).forEach(e=>{t[e]=(t[e]||0)+1});const n=Object.keys(t).filter(e=>t[e]>1);return n.length?n:Object.values(e.pageData.data.registered_options||{})},De=e=>e.ui.fieldTypes,Ce="aop/editor",Me=window.wp.components;function Se(...e){return e.filter(Boolean).join(" ")}const Te=window.ReactJSXRuntime;function Re(){const{iconUrl:e,dashIcons:t}=(0,l.useSelect)(e=>{const t=e(Ce);return{iconUrl:t.getMenu()?.icon_url||"dashicons-admin-generic",dashIcons:t.getDashIcons()||[]}},[]),{setIn:n}=(0,l.useDispatch)(Ce),[a,i]=(0,o.useState)(!1),[s,c]=(0,o.useState)(""),[d,u]=(0,o.useState)(null),p=(0,o.useRef)(),g=(0,o.useRef)(),m=(0,o.useRef)(),f=(0,o.useRef)(),h=(0,o.useMemo)(()=>t.map(e=>({name:e[0],css:e[1]})).filter(e=>e.name.includes(s.trim())),[t,s]);function v(){a&&(i(!1),u(null),g.current?.focus())}return(0,o.useEffect)(()=>{if(!a)return;const e=e=>{p.current&&!p.current.contains(e.target)&&(i(!1),u(null))},t=e=>{"c-icon-dropdown__item"!==e.target.parentNode?.className&&u(null)};return document.addEventListener("click",e),document.addEventListener("mouseover",t),m.current?.focus(),()=>{document.removeEventListener("click",e),document.removeEventListener("mouseover",t)}},[a]),(0,Te.jsxs)("div",{className:"flex",children:[(0,Te.jsx)("input",{type:"hidden",name:"menu[menu_icon]",id:"menu_icon",value:e}),(0,Te.jsx)("span",{className:"screen-reader-text",children:(0,r.__)("Icon","admin-options-pages")}),(0,Te.jsxs)("div",{className:"relative w-36px",ref:p,children:[(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Choose an icon","admin-options-pages"),children:(0,Te.jsx)("button",{ref:g,type:"button",className:Se("c-icon-picker",a&&"dropdown-is-open"),"aria-label":(0,r.__)("Choose an icon","admin-options-pages"),"aria-expanded":a?"true":"false",onClick:()=>a?v():i(!0),children:(0,Te.jsx)("div",{className:"c-icon-picker__inner",children:(0,Te.jsx)("span",{className:Se("c-icon-picker__icon dashicons-before",`dashicons-${e.replace("dashicons-","")}`)})})})}),a&&(0,Te.jsx)("div",{className:"c-icon-dropdown",onKeyDown:e=>"Escape"===e.key&&v(),children:(0,Te.jsxs)("div",{className:"flex flex-col",children:[(0,Te.jsx)("input",{ref:m,type:"search",className:"c-icon-dropdown__search",placeholder:(0,r.__)("Search for an icon…","admin-options-pages"),value:s,onChange:e=>c(e.target.value),onKeyDown:e=>{if("Enter"===e.key&&e.preventDefault(),"Tab"===e.key&&e.shiftKey){e.preventDefault();const t=f.current?.querySelectorAll("button");(t&&t.length?t[t.length-1]:m.current).focus()}}}),(0,Te.jsx)("div",{className:"pl-4 pr-4 pb-4 overflow-auto h-388px",children:(0,Te.jsxs)("ul",{className:"c-icon-dropdown__row",ref:f,children:[h.map(e=>(0,Te.jsx)("li",{className:"c-icon-dropdown__item",onMouseOver:()=>u(e),onFocus:()=>u(e),children:(0,Te.jsx)("button",{type:"button",tabIndex:0,"aria-label":e.name,className:Se("c-icon-dropdown__icon-name dashicons-before",`dashicons-${e.name}`),onFocus:()=>u(e),onClick:()=>{n(["menu","icon_url"],`dashicons-${e.name}`),i(!1),u(null),g.current?.focus()}})},e.name)),0===h.length&&(0,Te.jsx)("p",{className:"c-icon-dropdown__not-found-text",tabIndex:0,onFocus:()=>{u(null),m.current?.focus()},children:(0,r.__)("Nothing found.","admin-options-pages")})]})}),d&&(0,Te.jsx)("div",{className:"c-icon-dropdown__footer",tabIndex:0,children:(0,Te.jsxs)("p",{className:"c-icon-dropdown__footer__name",children:[d.name,(0,Te.jsx)("code",{className:"c-icon-dropdown__footer__css",dangerouslySetInnerHTML:{__html:d.css}})]})})]})})]})]})}const ke=(0,o.forwardRef)(({icon:e,size:t=24,...n},a)=>(0,o.cloneElement)(e,{width:t,height:t,...n,ref:a})),Ie=window.wp.primitives,Oe=(0,Te.jsx)(Ie.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,Te.jsx)(Ie.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M12.218 5.377a.25.25 0 0 0-.436 0l-7.29 12.96a.25.25 0 0 0 .218.373h14.58a.25.25 0 0 0 .218-.372l-7.29-12.96Zm-1.743-.735c.669-1.19 2.381-1.19 3.05 0l7.29 12.96a1.75 1.75 0 0 1-1.525 2.608H4.71a1.75 1.75 0 0 1-1.525-2.608l7.29-12.96ZM12.75 17.46h-1.5v-1.5h1.5v1.5Zm-1.5-3h1.5v-5h-1.5v5Z"})});function Ae({id:e,message:t,className:n=""}){return(0,Te.jsx)("p",{id:e,className:Se("c-validate-message",n),style:t?void 0:{display:"none"},children:t&&(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(ke,{className:"c-validate-message__icon",icon:Oe,size:16}),(0,Te.jsx)("span",{children:t})]})})}function Le(e,t){return t?{"aria-invalid":!0,"aria-describedby":e}:{}}function Pe({id:e,message:t}){return(0,Te.jsx)("div",{className:"tooltip-error",style:t?void 0:{display:"none"},children:(0,Te.jsx)(Ae,{id:e,message:t})})}const ze=/^[A-Za-z0-9_]+$/,Fe=/^_*[A-Za-z0-9]\w*$/,Ke=/^[\p{L}\p{M}\p{N}\s]+$/u,Ve=/^#(?:[a-f0-9]{3}|[a-f0-9]{6})$/i,Be=/^[A-Za-z0-9_-]+$/,$e=/^[^A-Z]*$/,He=/</,Ue=(e,t)=>Array.isArray(e)?e.every(t):t(e),Ge=e=>null==e||""===e,Xe={required:{getMessage:e=>`The ${e} is required.`,validate:(e,[t=!1]=[])=>Array.isArray(e)?!!e.length:!(!1===e&&t||null==e||!String(e).trim().length)},classAttribute:{getMessage:()=>"Only valid HTML class names allowed.",validate:e=>String(e).split(/\s+/).filter(Boolean).every(e=>Be.test(e))},noUppercase:{getMessage:()=>"No capital letters allowed.",validate:e=>Ue(e,e=>$e.test(e))},alphanumericUnderscore:{getMessage:e=>`The ${e} may only contain letters, numbers and underscores.`,validate:e=>Ue(e,e=>ze.test(e))},optionName:{getMessage:e=>`The ${e} may only contain letters, numbers and underscores, and needs a letter or a number.`,validate:e=>Ue(e,e=>Fe.test(e))},alphanumericSpaces:{getMessage:e=>`The ${e} may only contain letters, numbers and spaces.`,validate:e=>Ue(e,e=>Ke.test(e))},colorHex:{getMessage:e=>`The ${e} must be a valid Hex color.`,validate:e=>Ue(e,e=>Ve.test(e))},noLessThanSign:{getMessage:e=>`The ${e} may not have a 'less than' (<) character.`,validate:e=>Ue(e,e=>!He.test(e))},between:{getMessage:(e,[t,n])=>`The ${e} must be between ${t} and ${n}.`,validate:(e,[t,n])=>!(!Ge(t)&&!Ge(n)&&t!==n)||Ue(e,e=>Number(t)<=e&&Number(n)>=e)},included:{getMessage:e=>`The ${e} field must be a valid value.`,validate:(e,t)=>Ue(e,e=>[...t].some(t=>t===e))},excludedOptionName:{getMessage:()=>"This option_name is already in use.",validate:(...e)=>!Xe.included.validate(...e)},excludedTableValue:{getMessage:()=>"This value is used more than ones.",validate:(...e)=>!Xe.included.validate(...e)},excluded:{getMessage:e=>`The ${e} must be a valid value.`,validate:(...e)=>!Xe.included.validate(...e)},min:{getMessage:(e,[t])=>`The ${e} must be at least ${t} characters.`,validate:(e,[t])=>null!=e&&String(e).length>=t},max:{getMessage:(e,[t])=>`The ${e} field may not be greater than ${t} characters.`,validate:(e,[t])=>null!=e&&String(e).length<=t},numeric:{getMessage:()=>"Only numbers.",validate:e=>Ue(e,e=>/^[0-9]+$/.test(String(e)))},minValue:{getMessage:(e,[t])=>`The ${e} must be ${t} or more.`,validate:(e,[t])=>!t||!Ge(e)&&(Array.isArray(e)?e.length>0&&e.every(e=>Xe.minValue.validate(e,[t])):Number(e)>=t)},maxValue:{getMessage:(e,[t])=>`The ${e} must be ${t} or less.`,validate:(e,[t])=>!t||!Ge(e)&&(Array.isArray(e)?e.length>0&&e.every(e=>Xe.maxValue.validate(e,[t])):Number(e)<=t)},decimal:{getMessage:(e,[t="*"]=[])=>`The ${e} must be numeric and may contain ${t&&"*"!==t?t:""} decimal points.`,validate:(e,[t="*",n="."]=[])=>Array.isArray(e)?e.every(e=>Xe.decimal.validate(e,[t,n])):!!Ge(e)||(0===Number(t)?/^-?\d*$/.test(e):new RegExp(`^-?\\d*(\\${n}\\d${"*"===t?"+":`{1,${t}}`})?$`).test(e)&&!Number.isNaN(parseFloat(e)))}},We=Xe,Ye={required:We.required,class_attribute:We.classAttribute,no_uppercase:We.noUppercase,alphanumeric_underscore:We.alphanumericUnderscore,option_name:We.optionName,alphanumeric_spaces:We.alphanumericSpaces,color_hex:We.colorHex,between:We.between,excluded:We.excluded,excluded_option_name:We.excludedOptionName,excluded_table_value:We.excludedTableValue,min:We.min,max:We.max,min_value:We.minValue,max_value:We.maxValue,numeric:We.numeric,decimal:We.decimal,no_less_than_sign:We.noLessThanSign};function qe({name:e,value:t,rules:n,as:a}){const{setInputError:i,touch:s}=(0,l.useDispatch)(Ce),r=function(e,t,n="field"){const a=function(e){return String(e||"").split("|").filter(Boolean).map(e=>{const[t,...n]=e.split(":"),a=n.join(":");return{name:t,params:""===a?[]:a.split(",")}})}(t);if(!a.some(e=>"required"===e.name)&&function(e){return null==e||""===e||Array.isArray(e)&&0===e.length}(e))return null;for(const{name:t,params:i}of a){const a=Ye[t];if(!a)throw new Error(`Unknown validation rule: ${t}`);if(!a.validate(e,i))return a.getMessage(n,i)}return null}(t,n,a);(0,o.useEffect)(()=>{i(e,r)},[e,r,i]),(0,o.useEffect)(()=>()=>i(e,null),[e,i]);const c=(0,l.useSelect)(t=>t(Ce).getShownError(e),[e]);return{message:c,invalid:Boolean(c),onTouch:()=>s(e)}}Object.keys(Ye);const Je=(0,Te.jsx)(Ie.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,Te.jsx)(Ie.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-4 14.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h8v13zm4.5-.5c0 .3-.2.5-.5.5h-2.5v-13H18c.3 0 .5.2.5.5v12z"})});function Ze(){const{valid:e,id:t,changed:n,text:a}=(0,l.useSelect)(e=>{const t=e(Ce);return{valid:t.isValid(),id:t.getData().id,changed:t.hasChanges(),text:t.getText()?.page||{}}},[]),i=!e||t&&!n;return(0,Te.jsx)(Me.Button,{variant:"primary",size:"compact",type:"submit",disabled:i,name:"submit",id:"submit",className:"menu-save",children:t?a.update?.buttonUpdate:a.create?.buttonSave})}function Qe(){const{addPage:e}=(0,l.useDispatch)(Ce);return(0,Te.jsx)("div",{className:"mt-4 flex items-center justify-center",children:(0,Te.jsx)("button",{type:"button","aria-expanded":"false",className:"button button-large c-icon-button for-new-page",onClick:()=>e(),children:(0,r.__)("Add New Page","admin-options-pages")})})}function et(){const e=(0,l.useSelect)(e=>e(Ce).isSidebarVisible(),[]),{toggleSidebar:t}=(0,l.useDispatch)(Ce),n=(0,o.useRef)(),a=(0,o.useRef)(!0);return(0,o.useEffect)(()=>{a.current?a.current=!1:!e&&n.current&&n.current.focus()},[e]),(0,Te.jsx)(Me.Button,{ref:n,icon:Je,label:(0,r.__)("Settings","admin-options-pages"),size:"compact",isPressed:e,"aria-expanded":e?"true":"false",onClick:()=>t()})}function tt(){const{data:e,text:t}=(0,l.useSelect)(e=>{const t=e(Ce);return{data:t.getData(),text:t.getText()?.page||{}}},[]),{openModal:n}=(0,l.useDispatch)(Ce);return e.id?(0,Te.jsx)("button",{className:"button is-delete-button w-full",type:"button",onClick:()=>n(`?page=${e.page}&action=delete&optionpage=${e.id}&nonce=${e.nonce}`),children:t.update?.linkDelete}):null}const nt=["Backspace","Tab","Meta","Control","ArrowRight","ArrowLeft"],at=["1","2","3","4","5","6","7","8","9"];function it(e){return e.shiftKey||e.ctrlKey||e.altKey||e.metaKey}const st=e=>String(e??"").replace(/&#039;/g,"'");function ot(){const e=(0,l.useSelect)(e=>e(Ce).getMenu().menu_title,[]),{setMenuTitle:t}=(0,l.useDispatch)(Ce),{message:n,invalid:a,onTouch:i}=qe({name:"menu[menu_title]",value:e??"",rules:"required|alphanumeric_spaces|min:3",as:"menu title"});return(0,Te.jsx)("div",{className:"flex border-l header-item ml-3 h-36px",children:(0,Te.jsxs)("div",{className:"flex flex-wrap items-center ml-2",children:[(0,Te.jsx)("label",{className:"mr-2",htmlFor:"menu_title",children:(0,r.__)("Title","admin-options-pages")}),(0,Te.jsxs)("div",{className:"relative",children:[(0,Te.jsx)("input",{className:Se("c-input no-min-width",a&&"not-valid"),type:"text",name:"menu[menu_title]",id:"menu_title",value:e??"",...Le("menu_title-message",a),onChange:e=>t(e.target.value),onBlur:i,onKeyDown:e=>"Enter"===e.key&&e.preventDefault()}),(0,Te.jsx)(Pe,{id:"menu_title-message",message:a?n:null})]})]})})}function lt(){const e=(0,l.useSelect)(e=>e(Ce).getMenu().position,[]),{setIn:t,incrementMenuPosition:n,decrementMenuPosition:a}=(0,l.useDispatch)(Ce),{message:i,invalid:s,onTouch:o}=qe({name:"menu[menu_position]",value:e??"",rules:"decimal:3|required|between:1,150.999",as:"position"});return(0,Te.jsx)("div",{className:"flex border-l header-item ml-2 h-36px",children:(0,Te.jsxs)("div",{className:"flex flex-wrap items-center ml-2 mr-1",children:[(0,Te.jsx)("label",{className:"mr-2",htmlFor:"menu_position",children:(0,r.__)("Position","admin-options-pages")}),(0,Te.jsxs)("div",{className:"relative",children:[(0,Te.jsx)("input",{className:Se("c-input is-position",s&&"not-valid"),type:"text",placeholder:"1-150",name:"menu[menu_position]",id:"menu_position",value:e??"",...Le("menu_position-message",s),onChange:e=>t(["menu","position"],e.target.value),onBlur:o,onKeyDown:t=>{"Enter"===t.key&&t.preventDefault(),function(e,t,{up:n,down:a}){if(it(e))return;const{key:i}=e;at.includes(i)||nt.includes(i)||("0"!==i&&"."!==i||!Number(t))&&("ArrowUp"!==i?"ArrowDown"!==i?e.preventDefault():Number(t)>=2&&a():Number(t)<=149&&n())}(t,e,{up:n,down:a})}}),(0,Te.jsx)(Pe,{id:"menu_position-message",message:s?i:null})]})]})})}function rt(){const e=(0,l.useRegistry)(),{menuId:t,menuType:n,menus:a,existingSlug:i,menusLoaded:s,pageData:c}=(0,l.useSelect)(e=>{const t=e(Ce);return{menuId:t.getData().menu_id,menuType:t.getMenuType(),menus:t.getExistingMenus(),existingSlug:t.getUi().existingMenuSlug,menusLoaded:t.getUi().menuPagesLoaded,pageData:t.getPageData()}},[]),d=(0,l.useDispatch)(Ce),u="default"===n;function p(){d.validateAll(),Object.keys(e.select(Ce).getErrors()).forEach(e=>{const t=e.match(/\d+(?=\])/g);t&&d.openPageOnError(Number(t[0]),void 0===t[1]?void 0:Number(t[1]))})}(0,o.useEffect)(()=>{const t=e.select(Ce),n={id:null};return async function({data:e,dispatch:t,select:n}){const a=`${window.ajaxurl}?action=notUsedExistingMenuTitles&_ajax_nonce=${encodeURIComponent(e.ajaxNonce)}`,i=await fetch(a,{credentials:"same-origin"}),s=(await i.json()).map(e=>({...e,title:st(e.title)})),o=n.getData(),l="?page=admin_options_pages_create"===window.location.search;0!==o.menu.menu_slug.length||l?(t.setExistingMenus(s),t.setUi("menuType","default")):(t.setExistingMenus([{slug:o.existing_menu.menu_slug,title:o.existing_menu.menu_name},...s]),t.setUi("menuType","existing"));const r=n.getExistingMenus();r[0]&&t.setExistingMenu(r[0].slug)}({data:window.aop_script_data_js||c,dispatch:e.dispatch(Ce),select:t}).then(()=>{n.id=setTimeout(()=>d.setUi("menuPagesLoaded",!0),300)}).catch(e=>console.log(e)),()=>clearTimeout(n.id)},[]);const g=st(a.find(e=>e.slug===i)?.title);return(0,Te.jsxs)("div",{className:"c-editor-top-bar fixed top-0 p-2 bg-white z-30 border-solid border-b border-gray-wp-200 flex justify-between items-center left-0 right-0",children:[(0,Te.jsxs)("div",{className:"edit-post-header__toolbar ml-1 flex flex-wrap",children:[(0,Te.jsx)("input",{type:"hidden",name:"menu_id",value:t}),(0,Te.jsxs)("div",{role:"group","aria-label":(0,r.__)("Menu Type","admin-options-pages"),className:"components-button-group edit-post-header__button-group flex items-center",children:[(0,Te.jsx)(Me.Button,{size:"compact",variant:u?"primary":"secondary","aria-pressed":u,onClick:function(){const t=e.select(Ce),n=t.getMenu(),a=t.getPage(0);d.setMenuType("default",{page_title:n.menu_title,menu_title:n.menu_title,capability:"manage_options",menu_slug:a?.menu_slug,menu_slug_suffix:a?.subpage_slug_suffix,icon_url:n.icon_url,position:n.position})},children:(0,r.__)("Custom menu","admin-options-pages")}),(0,Te.jsx)(Me.Button,{size:"compact",variant:u?"secondary":"primary","aria-pressed":!u,onClick:function(){const e=a[0];d.setMenuType("existing",{menu_name:st(e?.title),menu_slug:e?.slug})},children:(0,r.__)("Existing menu","admin-options-pages")})]}),"existing"===n&&(0,Te.jsxs)("div",{className:"flex items-center border-l border-r border-gray-wp-200 ml-3 header-item h-36px",children:[(0,Te.jsx)("label",{className:"ml-2 mr-1",htmlFor:"subpage_page_selector",children:(0,r.__)("Menu title","admin-options-pages")}),a.length>0&&(0,Te.jsx)("select",{className:Se("c-select fade-in mr-2",s?"duration-0":"duration-1"),id:"subpage_page_selector",name:"existing_menu[menu_slug]",value:i,onChange:e=>d.setExistingMenu(e.target.value),onKeyDown:e=>"Enter"===e.key&&e.preventDefault(),children:a.map(e=>(0,Te.jsx)("option",{value:e.slug,children:st(e.title)},e.slug))}),(0,Te.jsx)("input",{type:"hidden",name:"existing_menu[menu_name]",value:g})]}),"default"===n&&(0,Te.jsxs)("div",{className:"flex items-center border-l border-r border-gray-wp-200 ml-3 header-item h-36px",children:[(0,Te.jsx)("legend",{className:"ml-2 mr-2",children:(0,r.__)("Icon","admin-options-pages")}),(0,Te.jsx)(Re,{}),(0,Te.jsx)(ot,{}),(0,Te.jsx)(lt,{})]})]}),(0,Te.jsxs)("div",{className:"edit-post-header__settings pl-3 pr-1 h-56px flex items-center gap-2",onMouseOver:p,onFocus:p,children:[(0,Te.jsx)(et,{}),(0,Te.jsx)(Ze,{})]})]})}function ct(){const e=(0,l.useSelect)(e=>e(Ce).isSidebarVisible(),[]),{toggleSidebar:t}=(0,l.useDispatch)(Ce);return(0,Te.jsx)("div",{className:Se("c-editor-side-bar fixed h-auto inset-y-0 right-0 bg-white border-l border-gray-300 text-gray-700",e?"is-open":"pointer-events-none"),"aria-hidden":!e,children:(0,Te.jsx)("div",{className:"flex flex-col justify-between h-full",children:(0,Te.jsxs)("div",{children:[(0,Te.jsxs)("div",{className:"h-50px bg-gray-wp-300 border-b border-gray-wp-200 sticky flex justify-between items-center pr-1",children:[(0,Te.jsx)("div",{}),(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Close settings","admin-options-pages"),children:(0,Te.jsx)("button",{type:"button","aria-label":(0,r.__)("Close settings","admin-options-pages"),className:"c-editor-side-bar__close-button",onClick:()=>t(),children:(0,Te.jsx)("svg",{"aria-hidden":"true",role:"img",focusable:"false",className:"dashicon dashicons-no-alt fill-current",xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",children:(0,Te.jsx)("path",{d:"M14.95 6.46L11.41 10l3.54 3.54-1.41 1.41L10 11.42l-3.53 3.53-1.42-1.42L8.58 10 5.05 6.47l1.42-1.42L10 8.58l3.54-3.53z"})})})})]}),(0,Te.jsx)("div",{className:"p-4 border-b border-gray-300",children:(0,Te.jsx)(tt,{})}),(0,Te.jsxs)("div",{className:"p-4 border-b border-gray-300",children:[(0,Te.jsx)("p",{children:(0,r.__)("Documentation","admin-options-pages")}),(0,Te.jsx)("div",{children:(0,Te.jsxs)("a",{target:"_blank",rel:"external noreferrer noopener",className:"c-link",href:"https://adminoptionspages.com/docs",children:[(0,Te.jsx)("span",{children:"adminoptionspages.com/docs"}),(0,Te.jsx)("svg",{"aria-hidden":"true",role:"img",focusable:"false",className:"fill-current inline-block c-link__icon",xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",children:(0,Te.jsx)("path",{d:"M9 3h8v8l-2-1V6.92l-5.6 5.59-1.41-1.41L14.08 5H10zm3 12v-3l2-2v7H3V6h8L9 8H5v7h7z"})})]})})]})]})})})}const dt=(0,Te.jsx)(Ie.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,Te.jsx)(Ie.Path,{d:"M8 7h2V5H8v2zm0 6h2v-2H8v2zm0 6h2v-2H8v2zm6-14v2h2V5h-2zm0 8h2v-2h-2v2zm0 6h2v-2h-2v2z"})}),ut=window.React;var pt=e.n(ut);const gt=window.ReactDOM,mt="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement;function ft(e){const t=Object.prototype.toString.call(e);return"[object Window]"===t||"[object global]"===t}function ht(e){return"nodeType"in e}function vt(e){var t,n;return e?ft(e)?e:ht(e)&&null!=(t=null==(n=e.ownerDocument)?void 0:n.defaultView)?t:window:window}function _t(e){const{Document:t}=vt(e);return e instanceof t}function xt(e){return!ft(e)&&e instanceof vt(e).HTMLElement}function bt(e){return e instanceof vt(e).SVGElement}function yt(e){return e?ft(e)?e.document:ht(e)?_t(e)?e:xt(e)||bt(e)?e.ownerDocument:document:document:document}const wt=mt?ut.useLayoutEffect:ut.useEffect;function jt(e){const t=(0,ut.useRef)(e);return wt(()=>{t.current=e}),(0,ut.useCallback)(function(){for(var e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];return null==t.current?void 0:t.current(...n)},[])}function Nt(e,t){void 0===t&&(t=[e]);const n=(0,ut.useRef)(e);return wt(()=>{n.current!==e&&(n.current=e)},t),n}function Et(e,t){const n=(0,ut.useRef)();return(0,ut.useMemo)(()=>{const t=e(n.current);return n.current=t,t},[...t])}function Dt(e){const t=jt(e),n=(0,ut.useRef)(null),a=(0,ut.useCallback)(e=>{e!==n.current&&(null==t||t(e,n.current)),n.current=e},[]);return[n,a]}function Ct(e){const t=(0,ut.useRef)();return(0,ut.useEffect)(()=>{t.current=e},[e]),t.current}let Mt={};function St(e,t){return(0,ut.useMemo)(()=>{if(t)return t;const n=null==Mt[e]?0:Mt[e]+1;return Mt[e]=n,e+"-"+n},[e,t])}function Tt(e){return function(t){for(var n=arguments.length,a=new Array(n>1?n-1:0),i=1;i<n;i++)a[i-1]=arguments[i];return a.reduce((t,n)=>{const a=Object.entries(n);for(const[n,i]of a){const a=t[n];null!=a&&(t[n]=a+e*i)}return t},{...t})}}const Rt=Tt(1),kt=Tt(-1);function It(e){if(!e)return!1;const{KeyboardEvent:t}=vt(e.target);return t&&e instanceof t}function Ot(e){if(function(e){if(!e)return!1;const{TouchEvent:t}=vt(e.target);return t&&e instanceof t}(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return function(e){return"clientX"in e&&"clientY"in e}(e)?{x:e.clientX,y:e.clientY}:null}const At=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[At.Translate.toString(e),At.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:a}=e;return t+" "+n+"ms "+a}}}),Lt="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function Pt(e){return e.matches(Lt)?e:e.querySelector(Lt)}const zt={display:"none"};function Ft(e){let{id:t,value:n}=e;return pt().createElement("div",{id:t,style:zt},n)}function Kt(e){let{id:t,announcement:n,ariaLiveType:a="assertive"}=e;return pt().createElement("div",{id:t,style:{position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"},role:"status","aria-live":a,"aria-atomic":!0},n)}const Vt=(0,ut.createContext)(null),Bt={draggable:"\n    To pick up a draggable item, press the space bar.\n    While dragging, use the arrow keys to move the item.\n    Press space again to drop the item in its new position, or press escape to cancel.\n  "},$t={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function Ht(e){let{announcements:t=$t,container:n,hiddenTextDescribedById:a,screenReaderInstructions:i=Bt}=e;const{announce:s,announcement:o}=function(){const[e,t]=(0,ut.useState)("");return{announce:(0,ut.useCallback)(e=>{null!=e&&t(e)},[]),announcement:e}}(),l=St("DndLiveRegion"),[r,c]=(0,ut.useState)(!1);if((0,ut.useEffect)(()=>{c(!0)},[]),function(e){const t=(0,ut.useContext)(Vt);(0,ut.useEffect)(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of <DndContext>");return t(e)},[e,t])}((0,ut.useMemo)(()=>({onDragStart(e){let{active:n}=e;s(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:a}=e;t.onDragMove&&s(t.onDragMove({active:n,over:a}))},onDragOver(e){let{active:n,over:a}=e;s(t.onDragOver({active:n,over:a}))},onDragEnd(e){let{active:n,over:a}=e;s(t.onDragEnd({active:n,over:a}))},onDragCancel(e){let{active:n,over:a}=e;s(t.onDragCancel({active:n,over:a}))}}),[s,t])),!r)return null;const d=pt().createElement(pt().Fragment,null,pt().createElement(Ft,{id:a,value:i.draggable}),pt().createElement(Kt,{id:l,announcement:o}));return n?(0,gt.createPortal)(d,n):d}var Ut;function Gt(){}function Xt(e,t){return(0,ut.useMemo)(()=>({sensor:e,options:null!=t?t:{}}),[e,t])}function Wt(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,ut.useMemo)(()=>[...t].filter(e=>null!=e),[...t])}!function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"}(Ut||(Ut={}));const Yt=Object.freeze({x:0,y:0});function qt(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function Jt(e,t){const n=Ot(e);return n?(n.x-t.left)/t.width*100+"% "+(n.y-t.top)/t.height*100+"%":"0 0"}function Zt(e,t){let{data:{value:n}}=e,{data:{value:a}}=t;return n-a}function Qt(e,t){let{data:{value:n}}=e,{data:{value:a}}=t;return a-n}function en(e,t,n){return void 0===t&&(t=e.left),void 0===n&&(n=e.top),{x:t+.5*e.width,y:n+.5*e.height}}const tn=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:a}=e;const i=en(t,t.left,t.top),s=[];for(const e of a){const{id:t}=e,a=n.get(t);if(a){const n=qt(en(a),i);s.push({id:t,data:{droppableContainer:e,value:n}})}}return s.sort(Zt)};function nn(e,t){const n=Math.max(t.top,e.top),a=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),s=Math.min(t.top+t.height,e.top+e.height),o=i-a,l=s-n;if(a<i&&n<s){const n=t.width*t.height,a=e.width*e.height,i=o*l;return Number((i/(n+a-i)).toFixed(4))}return 0}const an=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:a}=e;const i=[];for(const e of a){const{id:a}=e,s=n.get(a);if(s){const n=nn(s,t);n>0&&i.push({id:a,data:{droppableContainer:e,value:n}})}}return i.sort(Qt)};function sn(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:Yt}function on(e){return function(t){for(var n=arguments.length,a=new Array(n>1?n-1:0),i=1;i<n;i++)a[i-1]=arguments[i];return a.reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}const ln=on(1);function rn(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}const cn={ignoreTransform:!1};function dn(e,t){void 0===t&&(t=cn);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:t,transformOrigin:a}=vt(e).getComputedStyle(e);t&&(n=function(e,t,n){const a=rn(t);if(!a)return e;const{scaleX:i,scaleY:s,x:o,y:l}=a,r=e.left-o-(1-i)*parseFloat(n),c=e.top-l-(1-s)*parseFloat(n.slice(n.indexOf(" ")+1)),d=i?e.width/i:e.width,u=s?e.height/s:e.height;return{width:d,height:u,top:c,right:r+d,bottom:c+u,left:r}}(n,t,a))}const{top:a,left:i,width:s,height:o,bottom:l,right:r}=n;return{top:a,left:i,width:s,height:o,bottom:l,right:r}}function un(e){return dn(e,{ignoreTransform:!0})}function pn(e,t){const n=[];return e?function a(i){if(null!=t&&n.length>=t)return n;if(!i)return n;if(_t(i)&&null!=i.scrollingElement&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!xt(i)||bt(i))return n;if(n.includes(i))return n;const s=vt(e).getComputedStyle(i);return i!==e&&function(e,t){void 0===t&&(t=vt(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(e=>{const a=t[e];return"string"==typeof a&&n.test(a)})}(i,s)&&n.push(i),function(e,t){return void 0===t&&(t=vt(e).getComputedStyle(e)),"fixed"===t.position}(i,s)?n:a(i.parentNode)}(e):n}function gn(e){const[t]=pn(e,1);return null!=t?t:null}function mn(e){return mt&&e?ft(e)?e:ht(e)?_t(e)||e===yt(e).scrollingElement?window:xt(e)?e:null:null:null}function fn(e){return ft(e)?e.scrollX:e.scrollLeft}function hn(e){return ft(e)?e.scrollY:e.scrollTop}function vn(e){return{x:fn(e),y:hn(e)}}var xn;function bn(e){return!(!mt||!e)&&e===document.scrollingElement}function yn(e){const t={x:0,y:0},n=bn(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},a={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=a.y,isRight:e.scrollLeft>=a.x,maxScroll:a,minScroll:t}}!function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"}(xn||(xn={}));const wn={x:.2,y:.2};function jn(e,t,n,a,i){let{top:s,left:o,right:l,bottom:r}=n;void 0===a&&(a=10),void 0===i&&(i=wn);const{isTop:c,isBottom:d,isLeft:u,isRight:p}=yn(e),g={x:0,y:0},m={x:0,y:0},f=t.height*i.y,h=t.width*i.x;return!c&&s<=t.top+f?(g.y=xn.Backward,m.y=a*Math.abs((t.top+f-s)/f)):!d&&r>=t.bottom-f&&(g.y=xn.Forward,m.y=a*Math.abs((t.bottom-f-r)/f)),!p&&l>=t.right-h?(g.x=xn.Forward,m.x=a*Math.abs((t.right-h-l)/h)):!u&&o<=t.left+h&&(g.x=xn.Backward,m.x=a*Math.abs((t.left+h-o)/h)),{direction:g,speed:m}}function Nn(e){if(e===document.scrollingElement){const{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}const{top:t,left:n,right:a,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:a,bottom:i,width:e.clientWidth,height:e.clientHeight}}function En(e){return e.reduce((e,t)=>Rt(e,vn(t)),Yt)}function Dn(e,t){if(void 0===t&&(t=dn),!e)return;const{top:n,left:a,bottom:i,right:s}=t(e);gn(e)&&(i<=0||s<=0||n>=window.innerHeight||a>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const Cn=[["x",["left","right"],function(e){return e.reduce((e,t)=>e+fn(t),0)}],["y",["top","bottom"],function(e){return e.reduce((e,t)=>e+hn(t),0)}]];class Mn{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const n=pn(t),a=En(n);this.rect={...e},this.width=e.width,this.height=e.height;for(const[e,t,i]of Cn)for(const s of t)Object.defineProperty(this,s,{get:()=>{const t=i(n),o=a[e]-t;return this.rect[s]+o},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class Sn{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>{var t;return null==(t=this.target)?void 0:t.removeEventListener(...e)})},this.target=e}add(e,t,n){var a;null==(a=this.target)||a.addEventListener(e,t,n),this.listeners.push([e,t,n])}}function Tn(e,t){const n=Math.abs(e.x),a=Math.abs(e.y);return"number"==typeof t?Math.sqrt(n**2+a**2)>t:"x"in t&&"y"in t?n>t.x&&a>t.y:"x"in t?n>t.x:"y"in t&&a>t.y}var Rn,kn;function In(e){e.preventDefault()}function On(e){e.stopPropagation()}!function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"}(Rn||(Rn={})),function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter",e.Tab="Tab"}(kn||(kn={}));const An={start:[kn.Space,kn.Enter],cancel:[kn.Esc],end:[kn.Space,kn.Enter,kn.Tab]},Ln=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case kn.Right:return{...n,x:n.x+25};case kn.Left:return{...n,x:n.x-25};case kn.Down:return{...n,y:n.y+25};case kn.Up:return{...n,y:n.y-25}}};class Pn{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;const{event:{target:t}}=e;this.props=e,this.listeners=new Sn(yt(t)),this.windowListeners=new Sn(vt(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(Rn.Resize,this.handleCancel),this.windowListeners.add(Rn.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(Rn.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&Dn(n),t(Yt)}handleKeyDown(e){if(It(e)){const{active:t,context:n,options:a}=this.props,{keyboardCodes:i=An,coordinateGetter:s=Ln,scrollBehavior:o="smooth"}=a,{code:l}=e;if(i.end.includes(l))return void this.handleEnd(e);if(i.cancel.includes(l))return void this.handleCancel(e);const{collisionRect:r}=n.current,c=r?{x:r.left,y:r.top}:Yt;this.referenceCoordinates||(this.referenceCoordinates=c);const d=s(e,{active:t,context:n.current,currentCoordinates:c});if(d){const t=kt(d,c),a={x:0,y:0},{scrollableAncestors:i}=n.current;for(const n of i){const i=e.code,{isTop:s,isRight:l,isLeft:r,isBottom:c,maxScroll:u,minScroll:p}=yn(n),g=Nn(n),m={x:Math.min(i===kn.Right?g.right-g.width/2:g.right,Math.max(i===kn.Right?g.left:g.left+g.width/2,d.x)),y:Math.min(i===kn.Down?g.bottom-g.height/2:g.bottom,Math.max(i===kn.Down?g.top:g.top+g.height/2,d.y))},f=i===kn.Right&&!l||i===kn.Left&&!r,h=i===kn.Down&&!c||i===kn.Up&&!s;if(f&&m.x!==d.x){const e=n.scrollLeft+t.x,s=i===kn.Right&&e<=u.x||i===kn.Left&&e>=p.x;if(s&&!t.y)return void n.scrollTo({left:e,behavior:o});a.x=s?n.scrollLeft-e:i===kn.Right?n.scrollLeft-u.x:n.scrollLeft-p.x,a.x&&n.scrollBy({left:-a.x,behavior:o});break}if(h&&m.y!==d.y){const e=n.scrollTop+t.y,s=i===kn.Down&&e<=u.y||i===kn.Up&&e>=p.y;if(s&&!t.x)return void n.scrollTo({top:e,behavior:o});a.y=s?n.scrollTop-e:i===kn.Down?n.scrollTop-u.y:n.scrollTop-p.y,a.y&&n.scrollBy({top:-a.y,behavior:o});break}}this.handleMove(e,Rt(kt(d,this.referenceCoordinates),a))}}}handleMove(e,t){const{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){const{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){const{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}function zn(e){return Boolean(e&&"distance"in e)}function Fn(e){return Boolean(e&&"delay"in e)}Pn.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:a=An,onActivation:i}=t,{active:s}=n;const{code:o}=e.nativeEvent;if(a.start.includes(o)){const t=s.activatorNode.current;return!(t&&e.target!==t||(e.preventDefault(),null==i||i({event:e.nativeEvent}),0))}return!1}}];class Kn{constructor(e,t,n){var a;void 0===n&&(n=function(e){const{EventTarget:t}=vt(e);return e instanceof t?e:yt(e)}(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;const{event:i}=e,{target:s}=i;this.props=e,this.events=t,this.document=yt(s),this.documentListeners=new Sn(this.document),this.listeners=new Sn(n),this.windowListeners=new Sn(vt(s)),this.initialCoordinates=null!=(a=Ot(i))?a:Yt,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(Rn.Resize,this.handleCancel),this.windowListeners.add(Rn.DragStart,In),this.windowListeners.add(Rn.VisibilityChange,this.handleCancel),this.windowListeners.add(Rn.ContextMenu,In),this.documentListeners.add(Rn.Keydown,this.handleKeydown),t){if(null!=n&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(Fn(t))return this.timeoutId=setTimeout(this.handleStart,t.delay),void this.handlePending(t);if(zn(t))return void this.handlePending(t)}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),null!==this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){const{active:n,onPending:a}=this.props;a(n,e,this.initialCoordinates,t)}handleStart(){const{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(Rn.Click,On,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(Rn.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){var t;const{activated:n,initialCoordinates:a,props:i}=this,{onMove:s,options:{activationConstraint:o}}=i;if(!a)return;const l=null!=(t=Ot(e))?t:Yt,r=kt(a,l);if(!n&&o){if(zn(o)){if(null!=o.tolerance&&Tn(r,o.tolerance))return this.handleCancel();if(Tn(r,o.distance))return this.handleStart()}return Fn(o)&&Tn(r,o.tolerance)?this.handleCancel():void this.handlePending(o,r)}e.cancelable&&e.preventDefault(),s(l)}handleEnd(){const{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){const{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===kn.Esc&&this.handleCancel()}removeTextSelection(){var e;null==(e=this.document.getSelection())||e.removeAllRanges()}}const Vn={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class Bn extends Kn{constructor(e){const{event:t}=e,n=yt(t.target);super(e,Vn,n)}}Bn.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:a}=t;return!(!n.isPrimary||0!==n.button||(null==a||a({event:n}),0))}}];const $n={move:{name:"mousemove"},end:{name:"mouseup"}};var Hn;!function(e){e[e.RightClick=2]="RightClick"}(Hn||(Hn={})),class extends Kn{constructor(e){super(e,$n,yt(e.event.target))}}.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:a}=t;return n.button!==Hn.RightClick&&(null==a||a({event:n}),!0)}}];const Un={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};var Gn,Xn;(class extends Kn{constructor(e){super(e,Un)}static setup(){return window.addEventListener(Un.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(Un.move.name,e)};function e(){}}}).activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:a}=t;const{touches:i}=n;return!(i.length>1||(null==a||a({event:n}),0))}}],function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"}(Gn||(Gn={})),function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"}(Xn||(Xn={}));const Wn={x:{[xn.Backward]:!1,[xn.Forward]:!1},y:{[xn.Backward]:!1,[xn.Forward]:!1}};var Yn,qn;!function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"}(Yn||(Yn={})),function(e){e.Optimized="optimized"}(qn||(qn={}));const Jn=new Map;function Zn(e,t){return Et(n=>e?n||("function"==typeof t?t(e):e):null,[t,e])}function Qn(e){let{callback:t,disabled:n}=e;const a=jt(t),i=(0,ut.useMemo)(()=>{if(n||"undefined"==typeof window||void 0===window.ResizeObserver)return;const{ResizeObserver:e}=window;return new e(a)},[n]);return(0,ut.useEffect)(()=>()=>null==i?void 0:i.disconnect(),[i]),i}function ea(e){return new Mn(dn(e),e)}function ta(e,t,n){void 0===t&&(t=ea);const[a,i]=(0,ut.useState)(null);function s(){i(a=>{if(!e)return null;var i;if(!1===e.isConnected)return null!=(i=null!=a?a:n)?i:null;const s=t(e);return JSON.stringify(a)===JSON.stringify(s)?a:s})}const o=function(e){let{callback:t,disabled:n}=e;const a=jt(t),i=(0,ut.useMemo)(()=>{if(n||"undefined"==typeof window||void 0===window.MutationObserver)return;const{MutationObserver:e}=window;return new e(a)},[a,n]);return(0,ut.useEffect)(()=>()=>null==i?void 0:i.disconnect(),[i]),i}({callback(t){if(e)for(const n of t){const{type:t,target:a}=n;if("childList"===t&&a instanceof HTMLElement&&a.contains(e)){s();break}}}}),l=Qn({callback:s});return wt(()=>{s(),e?(null==l||l.observe(e),null==o||o.observe(document.body,{childList:!0,subtree:!0})):(null==l||l.disconnect(),null==o||o.disconnect())},[e]),a}const na=[];function aa(e,t){void 0===t&&(t=[]);const n=(0,ut.useRef)(null);return(0,ut.useEffect)(()=>{n.current=null},t),(0,ut.useEffect)(()=>{const t=e!==Yt;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?kt(e,n.current):Yt}function ia(e){return(0,ut.useMemo)(()=>e?function(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}(e):null,[e])}const sa=[];function oa(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return xt(t)?t:e}const la=[{sensor:Bn,options:{}},{sensor:Pn,options:{}}],ra={current:{}},ca={draggable:{measure:un},droppable:{measure:un,strategy:Yn.WhileDragging,frequency:qn.Optimized},dragOverlay:{measure:dn}};class da extends Map{get(e){var t;return null!=e&&null!=(t=super.get(e))?t:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){var t,n;return null!=(t=null==(n=this.get(e))?void 0:n.node.current)?t:void 0}}const ua={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new da,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:Gt},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:ca,measureDroppableContainers:Gt,windowRect:null,measuringScheduled:!1},pa={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:Gt,draggableNodes:new Map,over:null,measureDroppableContainers:Gt},ga=(0,ut.createContext)(pa),ma=(0,ut.createContext)(ua);function fa(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new da}}}function ha(e,t){switch(t.type){case Ut.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case Ut.DragMove:return null==e.draggable.active?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case Ut.DragEnd:case Ut.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case Ut.RegisterDroppable:{const{element:n}=t,{id:a}=n,i=new da(e.droppable.containers);return i.set(a,n),{...e,droppable:{...e.droppable,containers:i}}}case Ut.SetDroppableDisabled:{const{id:n,key:a,disabled:i}=t,s=e.droppable.containers.get(n);if(!s||a!==s.key)return e;const o=new da(e.droppable.containers);return o.set(n,{...s,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case Ut.UnregisterDroppable:{const{id:n,key:a}=t,i=e.droppable.containers.get(n);if(!i||a!==i.key)return e;const s=new da(e.droppable.containers);return s.delete(n),{...e,droppable:{...e.droppable,containers:s}}}default:return e}}function va(e){let{disabled:t}=e;const{active:n,activatorEvent:a,draggableNodes:i}=(0,ut.useContext)(ga),s=Ct(a),o=Ct(null==n?void 0:n.id);return(0,ut.useEffect)(()=>{if(!t&&!a&&s&&null!=o){if(!It(s))return;if(document.activeElement===s.target)return;const e=i.get(o);if(!e)return;const{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(const e of[t.current,n.current]){if(!e)continue;const t=Pt(e);if(t){t.focus();break}}})}},[a,t,i,o,s]),null}function _a(e,t){let{transform:n,...a}=t;return null!=e&&e.length?e.reduce((e,t)=>t({transform:e,...a}),n):n}const xa=(0,ut.createContext)({...Yt,scaleX:1,scaleY:1});var ba;!function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"}(ba||(ba={}));const ya=(0,ut.memo)(function(e){var t,n,a,i;let{id:s,accessibility:o,autoScroll:l=!0,children:r,sensors:c=la,collisionDetection:d=an,measuring:u,modifiers:p,...g}=e;const m=(0,ut.useReducer)(ha,void 0,fa),[f,h]=m,[v,_]=function(){const[e]=(0,ut.useState)(()=>new Set),t=(0,ut.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,ut.useCallback)(t=>{let{type:n,event:a}=t;e.forEach(e=>{var t;return null==(t=e[n])?void 0:t.call(e,a)})},[e]),t]}(),[x,b]=(0,ut.useState)(ba.Uninitialized),y=x===ba.Initialized,{draggable:{active:w,nodes:j,translate:N},droppable:{containers:E}}=f,D=null!=w?j.get(w):null,C=(0,ut.useRef)({initial:null,translated:null}),M=(0,ut.useMemo)(()=>{var e;return null!=w?{id:w,data:null!=(e=null==D?void 0:D.data)?e:ra,rect:C}:null},[w,D]),S=(0,ut.useRef)(null),[T,R]=(0,ut.useState)(null),[k,I]=(0,ut.useState)(null),O=Nt(g,Object.values(g)),A=St("DndDescribedBy",s),L=(0,ut.useMemo)(()=>E.getEnabled(),[E]),P=(z=u,(0,ut.useMemo)(()=>({draggable:{...ca.draggable,...null==z?void 0:z.draggable},droppable:{...ca.droppable,...null==z?void 0:z.droppable},dragOverlay:{...ca.dragOverlay,...null==z?void 0:z.dragOverlay}}),[null==z?void 0:z.draggable,null==z?void 0:z.droppable,null==z?void 0:z.dragOverlay]));var z;const{droppableRects:F,measureDroppableContainers:K,measuringScheduled:V}=function(e,t){let{dragging:n,dependencies:a,config:i}=t;const[s,o]=(0,ut.useState)(null),{frequency:l,measure:r,strategy:c}=i,d=(0,ut.useRef)(e),u=function(){switch(c){case Yn.Always:return!1;case Yn.BeforeDragging:return n;default:return!n}}(),p=Nt(u),g=(0,ut.useCallback)(function(e){void 0===e&&(e=[]),p.current||o(t=>null===t?e:t.concat(e.filter(e=>!t.includes(e))))},[p]),m=(0,ut.useRef)(null),f=Et(t=>{if(u&&!n)return Jn;if(!t||t===Jn||d.current!==e||null!=s){const t=new Map;for(let n of e){if(!n)continue;if(s&&s.length>0&&!s.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}const e=n.node.current,a=e?new Mn(r(e),e):null;n.rect.current=a,a&&t.set(n.id,a)}return t}return t},[e,s,n,u,r]);return(0,ut.useEffect)(()=>{d.current=e},[e]),(0,ut.useEffect)(()=>{u||g()},[n,u]),(0,ut.useEffect)(()=>{s&&s.length>0&&o(null)},[JSON.stringify(s)]),(0,ut.useEffect)(()=>{u||"number"!=typeof l||null!==m.current||(m.current=setTimeout(()=>{g(),m.current=null},l))},[l,u,g,...a]),{droppableRects:f,measureDroppableContainers:g,measuringScheduled:null!=s}}(L,{dragging:y,dependencies:[N.x,N.y],config:P.droppable}),B=function(e,t){const n=null!=t?e.get(t):void 0,a=n?n.node.current:null;return Et(e=>{var n;return null==t?null:null!=(n=null!=a?a:e)?n:null},[a,t])}(j,w),$=(0,ut.useMemo)(()=>k?Ot(k):null,[k]),H=function(){const e=!1===(null==T?void 0:T.autoScrollEnabled),t="object"==typeof l?!1===l.enabled:!1===l,n=y&&!e&&!t;return"object"==typeof l?{...l,enabled:n}:{enabled:n}}(),U=function(e,t){return Zn(e,t)}(B,P.draggable.measure);!function(e){let{activeNode:t,measure:n,initialRect:a,config:i=!0}=e;const s=(0,ut.useRef)(!1),{x:o,y:l}="boolean"==typeof i?{x:i,y:i}:i;wt(()=>{if(!o&&!l||!t)return void(s.current=!1);if(s.current||!a)return;const e=null==t?void 0:t.node.current;if(!e||!1===e.isConnected)return;const i=sn(n(e),a);if(o||(i.x=0),l||(i.y=0),s.current=!0,Math.abs(i.x)>0||Math.abs(i.y)>0){const t=gn(e);t&&t.scrollBy({top:i.y,left:i.x})}},[t,o,l,a,n])}({activeNode:null!=w?j.get(w):null,config:H.layoutShiftCompensation,initialRect:U,measure:P.draggable.measure});const G=ta(B,P.draggable.measure,U),X=ta(B?B.parentElement:null),W=(0,ut.useRef)({activatorEvent:null,active:null,activeNode:B,collisionRect:null,collisions:null,droppableRects:F,draggableNodes:j,draggingNode:null,draggingNodeRect:null,droppableContainers:E,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),Y=E.getNodeFor(null==(t=W.current.over)?void 0:t.id),q=function(e){let{measure:t}=e;const[n,a]=(0,ut.useState)(null),i=Qn({callback:(0,ut.useCallback)(e=>{for(const{target:n}of e)if(xt(n)){a(e=>{const a=t(n);return e?{...e,width:a.width,height:a.height}:a});break}},[t])}),s=(0,ut.useCallback)(e=>{const n=oa(e);null==i||i.disconnect(),n&&(null==i||i.observe(n)),a(n?t(n):null)},[t,i]),[o,l]=Dt(s);return(0,ut.useMemo)(()=>({nodeRef:o,rect:n,setRef:l}),[n,o,l])}({measure:P.dragOverlay.measure}),J=null!=(n=q.nodeRef.current)?n:B,Z=y?null!=(a=q.rect)?a:G:null,Q=Boolean(q.nodeRef.current&&q.rect),ee=sn(te=Q?null:G,Zn(te));var te;const ne=ia(J?vt(J):null),ae=function(e){const t=(0,ut.useRef)(e),n=Et(n=>e?n&&n!==na&&e&&t.current&&e.parentNode===t.current.parentNode?n:pn(e):na,[e]);return(0,ut.useEffect)(()=>{t.current=e},[e]),n}(y?null!=Y?Y:B:null),ie=function(e,t){void 0===t&&(t=dn);const[n]=e,a=ia(n?vt(n):null),[i,s]=(0,ut.useState)(sa);function o(){s(()=>e.length?e.map(e=>bn(e)?a:new Mn(t(e),e)):sa)}const l=Qn({callback:o});return wt(()=>{null==l||l.disconnect(),o(),e.forEach(e=>null==l?void 0:l.observe(e))},[e]),i}(ae),se=_a(p,{transform:{x:N.x-ee.x,y:N.y-ee.y,scaleX:1,scaleY:1},activatorEvent:k,active:M,activeNodeRect:G,containerNodeRect:X,draggingNodeRect:Z,over:W.current.over,overlayNodeRect:q.rect,scrollableAncestors:ae,scrollableAncestorRects:ie,windowRect:ne}),oe=$?Rt($,N):null,le=function(e){const[t,n]=(0,ut.useState)(null),a=(0,ut.useRef)(e),i=(0,ut.useCallback)(e=>{const t=mn(e.target);t&&n(e=>e?(e.set(t,vn(t)),new Map(e)):null)},[]);return(0,ut.useEffect)(()=>{const t=a.current;if(e!==t){s(t);const o=e.map(e=>{const t=mn(e);return t?(t.addEventListener("scroll",i,{passive:!0}),[t,vn(t)]):null}).filter(e=>null!=e);n(o.length?new Map(o):null),a.current=e}return()=>{s(e),s(t)};function s(e){e.forEach(e=>{const t=mn(e);null==t||t.removeEventListener("scroll",i)})}},[i,e]),(0,ut.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>Rt(e,t),Yt):En(e):Yt,[e,t])}(ae),re=aa(le),ce=aa(le,[G]),de=Rt(se,re),ue=Z?ln(Z,se):null,pe=M&&ue?d({active:M,collisionRect:ue,droppableRects:F,droppableContainers:L,pointerCoordinates:oe}):null,ge=function(e){if(!e||0===e.length)return null;const[t]=e;return t.id}(pe),[me,fe]=(0,ut.useState)(null),he=function(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}(Q?se:Rt(se,ce),null!=(i=null==me?void 0:me.rect)?i:null,G),ve=(0,ut.useRef)(null),_e=(0,ut.useCallback)((e,t)=>{let{sensor:n,options:a}=t;if(null==S.current)return;const i=j.get(S.current);if(!i)return;const s=e.nativeEvent,o=new n({active:S.current,activeNode:i,event:s,options:a,context:W,onAbort(e){if(!j.get(e))return;const{onDragAbort:t}=O.current,n={id:e};null==t||t(n),v({type:"onDragAbort",event:n})},onPending(e,t,n,a){if(!j.get(e))return;const{onDragPending:i}=O.current,s={id:e,constraint:t,initialCoordinates:n,offset:a};null==i||i(s),v({type:"onDragPending",event:s})},onStart(e){const t=S.current;if(null==t)return;const n=j.get(t);if(!n)return;const{onDragStart:a}=O.current,i={activatorEvent:s,active:{id:t,data:n.data,rect:C}};(0,gt.unstable_batchedUpdates)(()=>{null==a||a(i),b(ba.Initializing),h({type:Ut.DragStart,initialCoordinates:e,active:t}),v({type:"onDragStart",event:i}),R(ve.current),I(s)})},onMove(e){h({type:Ut.DragMove,coordinates:e})},onEnd:l(Ut.DragEnd),onCancel:l(Ut.DragCancel)});function l(e){return async function(){const{active:t,collisions:n,over:a,scrollAdjustedTranslate:i}=W.current;let o=null;if(t&&i){const{cancelDrop:l}=O.current;o={activatorEvent:s,active:t,collisions:n,delta:i,over:a},e===Ut.DragEnd&&"function"==typeof l&&await Promise.resolve(l(o))&&(e=Ut.DragCancel)}S.current=null,(0,gt.unstable_batchedUpdates)(()=>{h({type:e}),b(ba.Uninitialized),fe(null),R(null),I(null),ve.current=null;const t=e===Ut.DragEnd?"onDragEnd":"onDragCancel";if(o){const e=O.current[t];null==e||e(o),v({type:t,event:o})}})}}ve.current=o},[j]),xe=(0,ut.useCallback)((e,t)=>(n,a)=>{const i=n.nativeEvent,s=j.get(a);if(null!==S.current||!s||i.dndKit||i.defaultPrevented)return;const o={active:s};!0===e(n,t.options,o)&&(i.dndKit={capturedBy:t.sensor},S.current=a,_e(n,t))},[j,_e]),be=function(e,t){return(0,ut.useMemo)(()=>e.reduce((e,n)=>{const{sensor:a}=n;return[...e,...a.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}))]},[]),[e,t])}(c,xe);!function(e){(0,ut.useEffect)(()=>{if(!mt)return;const t=e.map(e=>{let{sensor:t}=e;return null==t.setup?void 0:t.setup()});return()=>{for(const e of t)null==e||e()}},e.map(e=>{let{sensor:t}=e;return t}))}(c),wt(()=>{G&&x===ba.Initializing&&b(ba.Initialized)},[G,x]),(0,ut.useEffect)(()=>{const{onDragMove:e}=O.current,{active:t,activatorEvent:n,collisions:a,over:i}=W.current;if(!t||!n)return;const s={active:t,activatorEvent:n,collisions:a,delta:{x:de.x,y:de.y},over:i};(0,gt.unstable_batchedUpdates)(()=>{null==e||e(s),v({type:"onDragMove",event:s})})},[de.x,de.y]),(0,ut.useEffect)(()=>{const{active:e,activatorEvent:t,collisions:n,droppableContainers:a,scrollAdjustedTranslate:i}=W.current;if(!e||null==S.current||!t||!i)return;const{onDragOver:s}=O.current,o=a.get(ge),l=o&&o.rect.current?{id:o.id,rect:o.rect.current,data:o.data,disabled:o.disabled}:null,r={active:e,activatorEvent:t,collisions:n,delta:{x:i.x,y:i.y},over:l};(0,gt.unstable_batchedUpdates)(()=>{fe(l),null==s||s(r),v({type:"onDragOver",event:r})})},[ge]),wt(()=>{W.current={activatorEvent:k,active:M,activeNode:B,collisionRect:ue,collisions:pe,droppableRects:F,draggableNodes:j,draggingNode:J,draggingNodeRect:Z,droppableContainers:E,over:me,scrollableAncestors:ae,scrollAdjustedTranslate:de},C.current={initial:Z,translated:ue}},[M,B,pe,ue,j,J,Z,F,E,me,ae,de]),function(e){let{acceleration:t,activator:n=Gn.Pointer,canScroll:a,draggingRect:i,enabled:s,interval:o=5,order:l=Xn.TreeOrder,pointerCoordinates:r,scrollableAncestors:c,scrollableAncestorRects:d,delta:u,threshold:p}=e;const g=function(e){let{delta:t,disabled:n}=e;const a=Ct(t);return Et(e=>{if(n||!a||!e)return Wn;const i=Math.sign(t.x-a.x),s=Math.sign(t.y-a.y);return{x:{[xn.Backward]:e.x[xn.Backward]||-1===i,[xn.Forward]:e.x[xn.Forward]||1===i},y:{[xn.Backward]:e.y[xn.Backward]||-1===s,[xn.Forward]:e.y[xn.Forward]||1===s}}},[n,t,a])}({delta:u,disabled:!s}),[m,f]=function(){const e=(0,ut.useRef)(null);return[(0,ut.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,ut.useCallback)(()=>{null!==e.current&&(clearInterval(e.current),e.current=null)},[])]}(),h=(0,ut.useRef)({x:0,y:0}),v=(0,ut.useRef)({x:0,y:0}),_=(0,ut.useMemo)(()=>{switch(n){case Gn.Pointer:return r?{top:r.y,bottom:r.y,left:r.x,right:r.x}:null;case Gn.DraggableRect:return i}},[n,i,r]),x=(0,ut.useRef)(null),b=(0,ut.useCallback)(()=>{const e=x.current;if(!e)return;const t=h.current.x*v.current.x,n=h.current.y*v.current.y;e.scrollBy(t,n)},[]),y=(0,ut.useMemo)(()=>l===Xn.TreeOrder?[...c].reverse():c,[l,c]);(0,ut.useEffect)(()=>{if(s&&c.length&&_){for(const e of y){if(!1===(null==a?void 0:a(e)))continue;const n=c.indexOf(e),i=d[n];if(!i)continue;const{direction:s,speed:l}=jn(e,i,_,t,p);for(const e of["x","y"])g[e][s[e]]||(l[e]=0,s[e]=0);if(l.x>0||l.y>0)return f(),x.current=e,m(b,o),h.current=l,void(v.current=s)}h.current={x:0,y:0},v.current={x:0,y:0},f()}else f()},[t,b,a,f,s,o,JSON.stringify(_),JSON.stringify(g),m,c,y,d,JSON.stringify(p)])}({...H,delta:N,draggingRect:ue,pointerCoordinates:oe,scrollableAncestors:ae,scrollableAncestorRects:ie});const ye=(0,ut.useMemo)(()=>({active:M,activeNode:B,activeNodeRect:G,activatorEvent:k,collisions:pe,containerNodeRect:X,dragOverlay:q,draggableNodes:j,droppableContainers:E,droppableRects:F,over:me,measureDroppableContainers:K,scrollableAncestors:ae,scrollableAncestorRects:ie,measuringConfiguration:P,measuringScheduled:V,windowRect:ne}),[M,B,G,k,pe,X,q,j,E,F,me,K,ae,ie,P,V,ne]),we=(0,ut.useMemo)(()=>({activatorEvent:k,activators:be,active:M,activeNodeRect:G,ariaDescribedById:{draggable:A},dispatch:h,draggableNodes:j,over:me,measureDroppableContainers:K}),[k,be,M,G,h,A,j,me,K]);return pt().createElement(Vt.Provider,{value:_},pt().createElement(ga.Provider,{value:we},pt().createElement(ma.Provider,{value:ye},pt().createElement(xa.Provider,{value:he},r)),pt().createElement(va,{disabled:!1===(null==o?void 0:o.restoreFocus)})),pt().createElement(Ht,{...o,hiddenTextDescribedById:A}))}),wa=(0,ut.createContext)(null),ja="button";function Na(){return(0,ut.useContext)(ma)}const Ea={timeout:25};function Da(e){let{data:t,disabled:n=!1,id:a,resizeObserverConfig:i}=e;const s=St("Droppable"),{active:o,dispatch:l,over:r,measureDroppableContainers:c}=(0,ut.useContext)(ga),d=(0,ut.useRef)({disabled:n}),u=(0,ut.useRef)(!1),p=(0,ut.useRef)(null),g=(0,ut.useRef)(null),{disabled:m,updateMeasurementsFor:f,timeout:h}={...Ea,...i},v=Nt(null!=f?f:a),_=Qn({callback:(0,ut.useCallback)(()=>{u.current?(null!=g.current&&clearTimeout(g.current),g.current=setTimeout(()=>{c(Array.isArray(v.current)?v.current:[v.current]),g.current=null},h)):u.current=!0},[h]),disabled:m||!o}),x=(0,ut.useCallback)((e,t)=>{_&&(t&&(_.unobserve(t),u.current=!1),e&&_.observe(e))},[_]),[b,y]=Dt(x),w=Nt(t);return(0,ut.useEffect)(()=>{_&&b.current&&(_.disconnect(),u.current=!1,_.observe(b.current))},[b,_]),(0,ut.useEffect)(()=>(l({type:Ut.RegisterDroppable,element:{id:a,key:s,disabled:n,node:b,rect:p,data:w}}),()=>l({type:Ut.UnregisterDroppable,key:s,id:a})),[a]),(0,ut.useEffect)(()=>{n!==d.current.disabled&&(l({type:Ut.SetDroppableDisabled,id:a,key:s,disabled:n}),d.current.disabled=n)},[a,s,n,l]),{active:o,rect:p,isOver:(null==r?void 0:r.id)===a,node:b,over:r,setNodeRef:y}}function Ca(e){let{animation:t,children:n}=e;const[a,i]=(0,ut.useState)(null),[s,o]=(0,ut.useState)(null),l=Ct(n);return n||a||!l||i(l),wt(()=>{if(!s)return;const e=null==a?void 0:a.key,n=null==a?void 0:a.props.id;null!=e&&null!=n?Promise.resolve(t(n,s)).then(()=>{i(null)}):i(null)},[t,a,s]),pt().createElement(pt().Fragment,null,n,a?(0,ut.cloneElement)(a,{ref:o}):null)}const Ma={x:0,y:0,scaleX:1,scaleY:1};function Sa(e){let{children:t}=e;return pt().createElement(ga.Provider,{value:pa},pt().createElement(xa.Provider,{value:Ma},t))}const Ta={position:"fixed",touchAction:"none"},Ra=e=>It(e)?"transform 250ms ease":void 0,ka=(0,ut.forwardRef)((e,t)=>{let{as:n,activatorEvent:a,adjustScale:i,children:s,className:o,rect:l,style:r,transform:c,transition:d=Ra}=e;if(!l)return null;const u=i?c:{...c,scaleX:1,scaleY:1},p={...Ta,width:l.width,height:l.height,top:l.top,left:l.left,transform:At.Transform.toString(u),transformOrigin:i&&a?Jt(a,l):void 0,transition:"function"==typeof d?d(a):d,...r};return pt().createElement(n,{className:o,style:p,ref:t},s)}),Ia=e=>t=>{let{active:n,dragOverlay:a}=t;const i={},{styles:s,className:o}=e;if(null!=s&&s.active)for(const[e,t]of Object.entries(s.active))void 0!==t&&(i[e]=n.node.style.getPropertyValue(e),n.node.style.setProperty(e,t));if(null!=s&&s.dragOverlay)for(const[e,t]of Object.entries(s.dragOverlay))void 0!==t&&a.node.style.setProperty(e,t);return null!=o&&o.active&&n.node.classList.add(o.active),null!=o&&o.dragOverlay&&a.node.classList.add(o.dragOverlay),function(){for(const[e,t]of Object.entries(i))n.node.style.setProperty(e,t);null!=o&&o.active&&n.node.classList.remove(o.active)}},Oa={duration:250,easing:"ease",keyframes:e=>{let{transform:{initial:t,final:n}}=e;return[{transform:At.Transform.toString(t)},{transform:At.Transform.toString(n)}]},sideEffects:Ia({styles:{active:{opacity:"0"}}})};let Aa=0;function La(e){return(0,ut.useMemo)(()=>{if(null!=e)return Aa++,Aa},[e])}const Pa=pt().memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:a,style:i,transition:s,modifiers:o,wrapperElement:l="div",className:r,zIndex:c=999}=e;const{activatorEvent:d,active:u,activeNodeRect:p,containerNodeRect:g,draggableNodes:m,droppableContainers:f,dragOverlay:h,over:v,measuringConfiguration:_,scrollableAncestors:x,scrollableAncestorRects:b,windowRect:y}=Na(),w=(0,ut.useContext)(xa),j=La(null==u?void 0:u.id),N=_a(o,{activatorEvent:d,active:u,activeNodeRect:p,containerNodeRect:g,draggingNodeRect:h.rect,over:v,overlayNodeRect:h.rect,scrollableAncestors:x,scrollableAncestorRects:b,transform:w,windowRect:y}),E=Zn(p),D=function(e){let{config:t,draggableNodes:n,droppableContainers:a,measuringConfiguration:i}=e;return jt((e,s)=>{if(null===t)return;const o=n.get(e);if(!o)return;const l=o.node.current;if(!l)return;const r=oa(s);if(!r)return;const{transform:c}=vt(s).getComputedStyle(s),d=rn(c);if(!d)return;const u="function"==typeof t?t:function(e){const{duration:t,easing:n,sideEffects:a,keyframes:i}={...Oa,...e};return e=>{let{active:s,dragOverlay:o,transform:l,...r}=e;if(!t)return;const c=o.rect.left-s.rect.left,d=o.rect.top-s.rect.top,u={scaleX:1!==l.scaleX?s.rect.width*l.scaleX/o.rect.width:1,scaleY:1!==l.scaleY?s.rect.height*l.scaleY/o.rect.height:1},p={x:l.x-c,y:l.y-d,...u},g=i({...r,active:s,dragOverlay:o,transform:{initial:l,final:p}}),[m]=g,f=g[g.length-1];if(JSON.stringify(m)===JSON.stringify(f))return;const h=null==a?void 0:a({active:s,dragOverlay:o,...r}),v=o.node.animate(g,{duration:t,easing:n,fill:"forwards"});return new Promise(e=>{v.onfinish=()=>{null==h||h(),e()}})}}(t);return Dn(l,i.draggable.measure),u({active:{id:e,data:o.data,node:l,rect:i.draggable.measure(l)},draggableNodes:n,dragOverlay:{node:s,rect:i.dragOverlay.measure(r)},droppableContainers:a,measuringConfiguration:i,transform:d})})}({config:a,draggableNodes:m,droppableContainers:f,measuringConfiguration:_}),C=E?h.setRef:void 0;return pt().createElement(Sa,null,pt().createElement(Ca,{animation:D},u&&j?pt().createElement(ka,{key:j,id:u.id,ref:C,as:l,activatorEvent:d,adjustScale:t,className:r,transition:s,rect:E,style:{zIndex:c,...i},transform:N},n):null))});function za(e,t,n){const a=e.slice();return a.splice(n<0?a.length+n:n,0,a.splice(t,1)[0]),a}function Fa(e,t){return e.reduce((e,n,a)=>{const i=t.get(n);return i&&(e[a]=i),e},Array(e.length))}function Ka(e){return null!==e&&e>=0}const Va={scaleX:1,scaleY:1},Ba=e=>{var t;let{rects:n,activeNodeRect:a,activeIndex:i,overIndex:s,index:o}=e;const l=null!=(t=n[i])?t:a;if(!l)return null;const r=function(e,t,n){const a=e[t],i=e[t-1],s=e[t+1];return a&&(i||s)?n<t?i?a.left-(i.left+i.width):s.left-(a.left+a.width):s?s.left-(a.left+a.width):a.left-(i.left+i.width):0}(n,o,i);if(o===i){const e=n[s];return e?{x:i<s?e.left+e.width-(l.left+l.width):e.left-l.left,y:0,...Va}:null}return o>i&&o<=s?{x:-l.width-r,y:0,...Va}:o<i&&o>=s?{x:l.width+r,y:0,...Va}:{x:0,y:0,...Va}},$a=e=>{let{rects:t,activeIndex:n,overIndex:a,index:i}=e;const s=za(t,a,n),o=t[i],l=s[i];return l&&o?{x:l.left-o.left,y:l.top-o.top,scaleX:l.width/o.width,scaleY:l.height/o.height}:null},Ha={scaleX:1,scaleY:1},Ua=e=>{var t;let{activeIndex:n,activeNodeRect:a,index:i,rects:s,overIndex:o}=e;const l=null!=(t=s[n])?t:a;if(!l)return null;if(i===n){const e=s[o];return e?{x:0,y:n<o?e.top+e.height-(l.top+l.height):e.top-l.top,...Ha}:null}const r=function(e,t,n){const a=e[t],i=e[t-1],s=e[t+1];return a?n<t?i?a.top-(i.top+i.height):s?s.top-(a.top+a.height):0:s?s.top-(a.top+a.height):i?a.top-(i.top+i.height):0:0}(s,i,n);return i>n&&i<=o?{x:0,y:-l.height-r,...Ha}:i<n&&i>=o?{x:0,y:l.height+r,...Ha}:{x:0,y:0,...Ha}},Ga="Sortable",Xa=pt().createContext({activeIndex:-1,containerId:Ga,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:$a,disabled:{draggable:!1,droppable:!1}});function Wa(e){let{children:t,id:n,items:a,strategy:i=$a,disabled:s=!1}=e;const{active:o,dragOverlay:l,droppableRects:r,over:c,measureDroppableContainers:d}=Na(),u=St(Ga,n),p=Boolean(null!==l.rect),g=(0,ut.useMemo)(()=>a.map(e=>"object"==typeof e&&"id"in e?e.id:e),[a]),m=null!=o,f=o?g.indexOf(o.id):-1,h=c?g.indexOf(c.id):-1,v=(0,ut.useRef)(g),_=!function(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}(g,v.current),x=-1!==h&&-1===f||_,b=function(e){return"boolean"==typeof e?{draggable:e,droppable:e}:e}(s);wt(()=>{_&&m&&d(g)},[_,g,m,d]),(0,ut.useEffect)(()=>{v.current=g},[g]);const y=(0,ut.useMemo)(()=>({activeIndex:f,containerId:u,disabled:b,disableTransforms:x,items:g,overIndex:h,useDragOverlay:p,sortedRects:Fa(g,r),strategy:i}),[f,u,b.draggable,b.droppable,x,g,h,r,p,i]);return pt().createElement(Xa.Provider,{value:y},t)}const Ya=e=>{let{id:t,items:n,activeIndex:a,overIndex:i}=e;return za(n,a,i).indexOf(t)},qa=e=>{let{containerId:t,isSorting:n,wasDragging:a,index:i,items:s,newIndex:o,previousItems:l,previousContainerId:r,transition:c}=e;return!(!c||!a||l!==s&&i===o||!n&&(o===i||t!==r))},Ja={duration:200,easing:"ease"},Za="transform",Qa=At.Transition.toString({property:Za,duration:0,easing:"linear"}),ei={roleDescription:"sortable"};function ti(e){let{animateLayoutChanges:t=qa,attributes:n,disabled:a,data:i,getNewIndex:s=Ya,id:o,strategy:l,resizeObserverConfig:r,transition:c=Ja}=e;const{items:d,containerId:u,activeIndex:p,disabled:g,disableTransforms:m,sortedRects:f,overIndex:h,useDragOverlay:v,strategy:_}=(0,ut.useContext)(Xa),x=function(e,t){var n,a;return"boolean"==typeof e?{draggable:e,droppable:!1}:{draggable:null!=(n=null==e?void 0:e.draggable)?n:t.draggable,droppable:null!=(a=null==e?void 0:e.droppable)?a:t.droppable}}(a,g),b=d.indexOf(o),y=(0,ut.useMemo)(()=>({sortable:{containerId:u,index:b,items:d},...i}),[u,i,b,d]),w=(0,ut.useMemo)(()=>d.slice(d.indexOf(o)),[d,o]),{rect:j,node:N,isOver:E,setNodeRef:D}=Da({id:o,data:y,disabled:x.droppable,resizeObserverConfig:{updateMeasurementsFor:w,...r}}),{active:C,activatorEvent:M,activeNodeRect:S,attributes:T,setNodeRef:R,listeners:k,isDragging:I,over:O,setActivatorNodeRef:A,transform:L}=function(e){let{id:t,data:n,disabled:a=!1,attributes:i}=e;const s=St("Draggable"),{activators:o,activatorEvent:l,active:r,activeNodeRect:c,ariaDescribedById:d,draggableNodes:u,over:p}=(0,ut.useContext)(ga),{role:g=ja,roleDescription:m="draggable",tabIndex:f=0}=null!=i?i:{},h=(null==r?void 0:r.id)===t,v=(0,ut.useContext)(h?xa:wa),[_,x]=Dt(),[b,y]=Dt(),w=function(e,t){return(0,ut.useMemo)(()=>e.reduce((e,n)=>{let{eventName:a,handler:i}=n;return e[a]=e=>{i(e,t)},e},{}),[e,t])}(o,t),j=Nt(n);return wt(()=>(u.set(t,{id:t,key:s,node:_,activatorNode:b,data:j}),()=>{const e=u.get(t);e&&e.key===s&&u.delete(t)}),[u,t]),{active:r,activatorEvent:l,activeNodeRect:c,attributes:(0,ut.useMemo)(()=>({role:g,tabIndex:f,"aria-disabled":a,"aria-pressed":!(!h||g!==ja)||void 0,"aria-roledescription":m,"aria-describedby":d.draggable}),[a,g,f,h,m,d.draggable]),isDragging:h,listeners:a?void 0:w,node:_,over:p,setNodeRef:x,setActivatorNodeRef:y,transform:v}}({id:o,data:y,attributes:{...ei,...n},disabled:x.draggable}),P=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,ut.useMemo)(()=>e=>{t.forEach(t=>t(e))},t)}(D,R),z=Boolean(C),F=z&&!m&&Ka(p)&&Ka(h),K=!v&&I,V=K&&F?L:null,B=F?null!=V?V:(null!=l?l:_)({rects:f,activeNodeRect:S,activeIndex:p,overIndex:h,index:b}):null,$=Ka(p)&&Ka(h)?s({id:o,items:d,activeIndex:p,overIndex:h}):b,H=null==C?void 0:C.id,U=(0,ut.useRef)({activeId:H,items:d,newIndex:$,containerId:u}),G=d!==U.current.items,X=t({active:C,containerId:u,isDragging:I,isSorting:z,id:o,index:b,items:d,newIndex:U.current.newIndex,previousItems:U.current.items,previousContainerId:U.current.containerId,transition:c,wasDragging:null!=U.current.activeId}),W=function(e){let{disabled:t,index:n,node:a,rect:i}=e;const[s,o]=(0,ut.useState)(null),l=(0,ut.useRef)(n);return wt(()=>{if(!t&&n!==l.current&&a.current){const e=i.current;if(e){const t=dn(a.current,{ignoreTransform:!0}),n={x:e.left-t.left,y:e.top-t.top,scaleX:e.width/t.width,scaleY:e.height/t.height};(n.x||n.y)&&o(n)}}n!==l.current&&(l.current=n)},[t,n,a,i]),(0,ut.useEffect)(()=>{s&&o(null)},[s]),s}({disabled:!X,index:b,node:N,rect:j});return(0,ut.useEffect)(()=>{z&&U.current.newIndex!==$&&(U.current.newIndex=$),u!==U.current.containerId&&(U.current.containerId=u),d!==U.current.items&&(U.current.items=d)},[z,$,u,d]),(0,ut.useEffect)(()=>{if(H===U.current.activeId)return;if(null!=H&&null==U.current.activeId)return void(U.current.activeId=H);const e=setTimeout(()=>{U.current.activeId=H},50);return()=>clearTimeout(e)},[H]),{active:C,activeIndex:p,attributes:T,data:y,rect:j,index:b,newIndex:$,items:d,isOver:E,isSorting:z,isDragging:I,listeners:k,node:N,overIndex:h,over:O,setNodeRef:P,setActivatorNodeRef:A,setDroppableNodeRef:D,setDraggableNodeRef:R,transform:null!=W?W:B,transition:W||G&&U.current.newIndex===b?Qa:K&&!It(M)||!c?void 0:z||X?At.Transition.toString({...c,property:Za}):void 0}}kn.Down,kn.Right,kn.Up,kn.Left;const ni="aop-is-dragging";function ai(){document.body.classList.add(ni)}function ii(){document.body.classList.remove(ni)}const si=e=>`page:${e.menu_slug}`,oi=e=>`field:${e.id}`,li=e=>`fields:${e}`,ri="field-slot";function ci(e,t){for(let n=0;n<e.length;n++){const a=(e[n].fields||[]).findIndex(e=>oi(e)===t);if(-1!==a)return{pageKey:n,index:a}}return null}function di(e,t,n){if(!n||t===n)return null;if(t.startsWith("page:")){const a=e.findIndex(e=>si(e)===t),i=e.findIndex(e=>si(e)===n);return-1===a||-1===i?null:{action:"movePage",from:a,to:i}}const a=ci(e,t);if(!a)return null;let i=ci(e,n);if(!i&&n.startsWith("fields:")){const t=Number(n.slice(7));if(!e[t])return null;i={pageKey:t,index:a.pageKey===t?e[t].fields.length-1:e[t].fields.length}}return i?i.pageKey===a.pageKey?i.index===a.index?null:{action:"moveField",pageKey:a.pageKey,from:a.index,to:i.index}:{action:"moveFieldToPage",fromPage:a.pageKey,fromIndex:a.index,toPage:i.pageKey,toIndex:i.index}:null}function ui({canMoveUp:e,canMoveDown:t,onUp:n,onDown:a,horizontal:i=!1}){const s=i?(0,r.__)("Move left","admin-options-pages"):(0,r.__)("Move up","admin-options-pages"),o=i?(0,r.__)("Move right","admin-options-pages"):(0,r.__)("Move down","admin-options-pages");return(0,Te.jsxs)("span",{className:"c-move-buttons",children:[(0,Te.jsx)(Me.Tooltip,{text:s,children:(0,Te.jsx)("button",{type:"button",className:"c-move-button is-up",disabled:!e,onClick:n,"aria-label":s,children:(0,Te.jsx)("span",{"aria-hidden":"true",className:`dashicons dashicons-arrow-${i?"left":"up"}-alt2`})})}),(0,Te.jsx)(Me.Tooltip,{text:o,children:(0,Te.jsx)("button",{type:"button",className:"c-move-button is-down",disabled:!t,onClick:a,"aria-label":o,children:(0,Te.jsx)("span",{"aria-hidden":"true",className:`dashicons dashicons-arrow-${i?"right":"down"}-alt2`})})})]})}function pi(e){const t=e.closest(".c-editor-main"),n=e.getBoundingClientRect();return{top:n.top+(t?.scrollTop??0),left:n.left+(t?.scrollLeft??0)}}function gi({id:e,type:t,index:n,count:a,item:i,itemClassName:s,renderItem:l,onMove:r,shared:c,ghostAway:d,nodesRef:u,beforeMoveRef:p}){const{attributes:g,listeners:m,setNodeRef:f,setActivatorNodeRef:h,transform:v,transition:_,isDragging:x}=ti({id:e,data:{type:t},attributes:{tabIndex:-1,role:"presentation"}}),b=(0,o.useRef)(null),[y,w]=(0,o.useState)(null);(0,o.useLayoutEffect)(()=>{const t=b.current,n=p.current?.get(e);if(!t||!n||x)return;p.current.delete(e);const a=pi(t),i=n.left-a.left,s=n.top-a.top;if(!i&&!s)return;t.style.transition="none",t.style.transform=`translate(${i}px, ${s}px)`;const o=window.requestAnimationFrame(()=>{w({transform:"translate(0, 0)",transition:"transform 200ms ease"})}),l=setTimeout(()=>w(null),200);return()=>{window.cancelAnimationFrame(o),clearTimeout(l)}},[n]);let j="";x&&(j=c?d?"is-ghost-slot is-ghost-away":"is-ghost-slot":"is-dragging");const N=y??{transform:At.Translate.toString(v),transition:_};function E(e){const t=new Map;u.current.forEach((e,n)=>{e&&t.set(n,pi(e))}),p.current=t,r(n,e)}return(0,Te.jsx)("div",{ref:t=>{f(t),b.current=t,t?u.current.set(e,t):u.current.delete(e)},style:N,className:[s,j].filter(Boolean).join(" "),children:l(i,n,{isDragging:x,handleProps:{ref:h,...g,...m},barProps:m,canMoveUp:n>0,canMoveDown:n<a-1,moveUp:()=>E(n-1),moveDown:()=>E(n+1)})})}function mi({className:e}){const{setNodeRef:t}=Da({id:ri,data:{type:"fieldSlot"}});return(0,Te.jsx)("div",{ref:t,"aria-hidden":"true",className:[e,"is-ghost-slot is-drop-slot"].filter(Boolean).join(" ")})}function fi({containerId:e,className:t,children:n}){const{setNodeRef:a}=Da({id:e,data:{type:"fieldList"}});return(0,Te.jsx)("div",{ref:a,className:t,children:n})}function hi({items:e,getId:t,onMove:n,renderItem:a,className:i="",itemClassName:s="",horizontal:l=!1,onDragStart:r,onDragEnd:c,shared:d=!1,type:u="item",containerId:p,slotIndex:g=null,ghostAway:m=!1}){const f=Wt(Xt(Bn,{activationConstraint:{distance:5}})),h=e.map(t),v=(0,o.useRef)(new Map),_=(0,o.useRef)(new Map),x=e.map((t,i)=>(0,Te.jsx)(gi,{id:h[i],type:u,index:i,count:e.length,item:t,itemClassName:s,renderItem:a,onMove:n,shared:d,ghostAway:m,nodesRef:v,beforeMoveRef:_},h[i]));null!==g&&x.splice(g,0,(0,Te.jsx)(mi,{className:s},ri));const b=l?Ba:Ua,y=p?(0,Te.jsx)(fi,{containerId:p,className:i,children:x}):(0,Te.jsx)("div",{className:i,children:x});return d?(0,Te.jsx)(Wa,{items:h,strategy:b,children:y}):(0,Te.jsx)(ya,{sensors:f,collisionDetection:tn,onDragStart:({active:e})=>(ai(),r&&r(e.id)),onDragEnd:e=>{ii(),function({active:e,over:t}){c&&c(),t&&e.id!==t.id&&n(h.indexOf(e.id),h.indexOf(t.id))}(e)},onDragCancel:()=>(ii(),c&&c()),children:(0,Te.jsx)(Wa,{items:h,strategy:b,children:y})})}function vi({onConfirm:e,onCancel:t}){const n=(0,o.useRef)(),[a,i]=(0,o.useState)(0);return(0,o.useLayoutEffect)(()=>{const e=n.current.previousElementSibling;e&&i((n.current.offsetWidth-e.offsetWidth)/2)},[]),(0,Te.jsxs)("div",{ref:n,className:"c-popover flex items-center px-2 py-2",style:{left:`-${a}px`},children:[(0,Te.jsx)("div",{className:"c-popover__text",children:(0,r.__)("Are you sure?","admin-options-pages")}),(0,Te.jsx)("button",{type:"button",tabIndex:0,className:"button button-link button-small c-button is-cancel is-link",onClick:t,children:(0,r.__)("Cancel","admin-options-pages")}),(0,Te.jsx)("button",{type:"button",className:"button button-link button-small c-button is-delete-button is-link",onClick:e,onKeyDown:e=>"Tab"===e.key&&!e.shiftKey&&t(),children:(0,r.__)("Delete","admin-options-pages")})]})}function _i({label:e,onConfirm:t,inRow:n=!1}){const[a,i]=(0,o.useState)(!1),s=(0,o.useRef)();(0,o.useEffect)(()=>{if(!a)return;const e=e=>{s.current&&!s.current.contains(e.target)&&i(!1)},t=e=>{"Escape"===e.key&&i(!1)};return document.addEventListener("click",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("click",e),document.removeEventListener("keydown",t)}},[a]);const l=(0,Te.jsxs)("div",{className:"relative",ref:s,children:[(0,Te.jsx)("button",{type:"button",className:"button c-button is-delete-button",onClick:()=>i(!a),children:e}),a&&(0,Te.jsx)(vi,{onConfirm:()=>{i(!1),t()},onCancel:()=>i(!1)})]});return n?(0,Te.jsx)("div",{className:Se("relative pt-6 px-2 flex justify-end items-end"),children:l}):l}const xi=(0,o.createContext)({pageKey:0,fieldKey:0,slug:"",sortable:null});function bi(){const e=(0,o.useContext)(xi),{pageKey:t,fieldKey:n}=e;return{...e,name:e=>`pages[${t}][fields][${n}][${e}]`,inputId:e=>`field_${t}_${n}_${e}`}}function yi(){const{pageKey:e,fieldKey:t}=bi(),n=(0,l.useSelect)(n=>n(Ce).getField(e,t),[e,t]),{setIn:a}=(0,l.useDispatch)(Ce);return{field:n,pageKey:e,fieldKey:t,open:Boolean(n?.field_toggle),set:(n,i)=>a(["pages",e,"fields",t,n],i)}}function wi(e){if(!e)return;const t=e.ownerDocument.activeElement;t&&t!==e&&["INPUT","TEXTAREA","SELECT"].includes(t.tagName)||e.focus()}function ji(e){if(e.field_label)return e.field_label;if(e.field_title)return e.field_title;if(e.description){const t=e.description.replace(/<\/?[^>]+(>|$)/g,"");return t.length>30?`${t.substring(0,30)}...`:t}return""}function Ni({typeName:e}){const{field:t,pageKey:n,fieldKey:a,open:i}=yi(),{sortable:s}=bi(),{setFieldOpen:o}=(0,l.useDispatch)(Ce),c=e=>e.stopPropagation();return(0,Te.jsxs)("div",{role:"presentation",className:Se("c-top-bar c-top-bar--field bg-gray-wp-100 border border-gray-wp-400 hover:border-gray-700",i&&"is-open"),onClick:()=>o(n,a,!i),...s&&s.barProps,children:[(0,Te.jsxs)("div",{className:"c-top-bar__left",children:[s&&(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Drag to reorder","admin-options-pages"),children:(0,Te.jsx)("span",{className:"c-top-bar__drag-handle","aria-hidden":"true",onClick:c,...s.handleProps,children:(0,Te.jsx)(Me.Icon,{icon:dt,size:20})})}),(0,Te.jsxs)("h3",{className:"c-top-bar__title",children:[(0,Te.jsx)("span",{className:"c-top-bar__pre-title",children:e}),ji(t)]})]}),(0,Te.jsxs)("div",{className:"c-top-bar__right",children:[s&&(0,Te.jsx)("span",{onClick:c,children:(0,Te.jsx)(ui,{canMoveUp:s.canMoveUp,canMoveDown:s.canMoveDown,onUp:s.moveUp,onDown:s.moveDown})}),(0,Te.jsx)("button",{type:"button",className:"c-top-bar__toggle","aria-expanded":i?"true":"false","aria-label":(0,r.__)("Add block","admin-options-pages"),children:(0,Te.jsx)("span",{className:Se("c-top-bar__toggle-indicator",i&&"is-open")})})]})]})}function Ei({typeName:e,content:t,options:n}){const{field:a,pageKey:i,fieldKey:s,open:c}=yi(),{name:d,slug:u}=bi(),{setFieldOpen:p,removeField:g}=(0,l.useDispatch)(Ce),m=(0,o.useRef)(),f=void 0===a.field_toggle;return(0,o.useEffect)(()=>{if(!f)return;p(i,s,!0);const e=m.current;e&&e.scrollIntoView&&e.scrollIntoView({behavior:"smooth",block:"center"});const t=setTimeout(()=>{const t=e?.querySelector(".o-field__inside input.c-input, .o-field__inside textarea");wi(t)},200);return()=>clearTimeout(t)},[]),(0,Te.jsxs)("div",{className:"o-field__wrapper",ref:m,children:[(0,Te.jsx)(Ni,{typeName:e}),(0,Te.jsxs)("div",{className:"o-field__inside",style:c?void 0:{display:"none"},children:[(0,Te.jsxs)("div",{className:"o-field__content",children:[(0,Te.jsx)("input",{type:"hidden",name:d("id"),value:a.id}),(0,Te.jsx)("input",{type:"hidden",name:d("type"),value:a.type}),(0,Te.jsx)("input",{type:"hidden",name:d("field_key"),value:s}),(0,Te.jsx)("input",{type:"hidden",name:d("field_toggle"),value:String(c)}),(0,Te.jsx)("input",{type:"hidden",name:d("page_slug"),value:u}),t]}),(0,Te.jsxs)("div",{className:"o-field__options justify-between",children:[(0,Te.jsx)("div",{children:n}),(0,Te.jsx)(_i,{inRow:!0,label:(0,r.__)("Delete","admin-options-pages"),onConfirm:()=>g(i,s)})]})]})]})}const Di=(0,Te.jsx)(Ie.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,Te.jsx)(Ie.Path,{d:"M11 12.5V17.5H12.5V12.5H17.5V11H12.5V6H11V11H6V12.5H11Z"})}),Ci=(0,Te.jsx)(Me.Icon,{icon:dt,size:20,className:"o-field-table__drag-handle-image"});function Mi({name:e,value:t,onChange:n,rules:a,as:i}){const{invalid:s,onTouch:o}=qe({name:e,value:t??"",rules:a,as:i});return(0,Te.jsx)("input",{className:Se("c-input","o-field-table__input",s&&"not-valid"),type:"text",name:e,value:t??"","aria-invalid":s||void 0,onChange:e=>n(e.target.value),onBlur:o,onKeyDown:e=>"Enter"===e.key&&e.preventDefault()})}function Si(){const{field:e,pageKey:t,fieldKey:n,set:a}=yi(),{name:i}=bi(),{addTableRow:s,removeTableRow:c,moveTableRow:d,setUi:u}=(0,l.useDispatch)(Ce),p=(0,l.useSelect)(e=>{const t=e(Ce),n={};return Object.keys(t.getErrors()).forEach(e=>{const a=t.getShownError(e);a&&(n[e]=a)}),n},[]),g=(0,l.useSelect)(e=>e(Ce).getUi().moving,[]),m=e.table_list||[],f=function(e){const t={};return e.forEach(e=>{t[e.value]=(t[e.value]||0)+1}),Object.keys(t).filter(e=>t[e]>1)}(m),h=(0,o.useRef)(m.length),v=(0,o.useRef)();(0,o.useEffect)(()=>{if(m.length>h.current){const e=m[m.length-1],t=setTimeout(()=>{wi(v.current?.querySelector(`input[name="${i("table_list")}[${e.id}][value]"]`))},50);return h.current=m.length,()=>clearTimeout(t)}h.current=m.length},[m.length]);const _=m.map(e=>String(e.id)),x={};Object.keys(p).forEach(e=>{e.startsWith(`${i("table_list")}[`)&&_.some(t=>e.includes(`[${t}]`))&&(x[p[e]]=(x[p[e]]||0)+1)});const b=(e,t,n)=>a("table_list",m.map((a,i)=>i===e?{...a,[t]:n}:a));return(0,Te.jsxs)("div",{ref:v,className:Se("o-field-table",g&&"is-active"),children:[(0,Te.jsxs)("div",{className:"o-field-table__header",children:[(0,Te.jsx)("div",{className:"o-field-table__header-label",children:(0,r.__)("Value","admin-options-pages")}),(0,Te.jsx)("div",{className:"o-field-table__header-label",children:(0,r.__)("Label","admin-options-pages")})]}),(0,Te.jsx)(hi,{items:m,getId:e=>e.id,className:"o-field-table__body",itemClassName:"o-field-table__row",onMove:(e,a)=>d(t,n,e,a),onDragStart:()=>u("moving",!0),onDragEnd:()=>u("moving",!1),renderItem:(e,a,s)=>{const o=`${i("table_list")}[${e.id}]`;return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)("div",{className:m.length>1?"o-field-table__drag-handle":"o-field-table__drag-handle-abort",children:m.length>1?(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Drag to reorder","admin-options-pages"),children:(0,Te.jsx)("span",{...s.handleProps,"aria-hidden":"true",children:Ci})}):(0,Te.jsx)("span",{"aria-hidden":"true",children:Ci})}),(0,Te.jsx)(Mi,{name:`${o}[value]`,value:e.value,onChange:e=>b(a,"value",e),rules:`required|alphanumeric_underscore|excluded_table_value:${f.join(",")}`,as:"value"}),(0,Te.jsx)(Mi,{name:`${o}[label]`,value:e.label,onChange:e=>b(a,"label",e),rules:"no_less_than_sign",as:"label"}),(0,Te.jsx)("input",{type:"hidden",name:`${o}[id]`,value:e.id}),m.length>1&&(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(ui,{canMoveUp:s.canMoveUp,canMoveDown:s.canMoveDown,onUp:s.moveUp,onDown:s.moveDown}),(0,Te.jsx)(Me.Button,{variant:"secondary",size:"small",isDestructive:!0,className:"o-field-table__delete","aria-label":(0,r.__)("Delete this row","admin-options-pages"),onClick:()=>c(t,n,a),children:(0,r.__)("Delete","admin-options-pages")})]})]})}}),Object.keys(x).length>0&&(0,Te.jsx)("ul",{className:"o-field-table__error-list",children:Object.entries(x).map(([e,t])=>(0,Te.jsxs)("li",{className:"o-field-table__error-item",children:[(0,Te.jsx)(Me.Icon,{className:"c-validate-message__icon",icon:Oe,size:16}),(0,Te.jsx)("span",{className:"o-field-table__error-message",children:e}),t>1&&(0,Te.jsx)("span",{className:"o-field-table__error-count",children:t})]},e))}),(0,Te.jsx)("div",{className:"o-field-table__footer",children:(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Add a row","admin-options-pages"),children:(0,Te.jsx)("button",{type:"button",className:"c-icon-button c-icon-button--insert-toggle is-appender for-field-table","aria-label":(0,r.__)("Add a row","admin-options-pages"),onClick:()=>s(t,n),children:(0,Te.jsx)(Me.Icon,{icon:Di,size:20})})})})]})}function Ti({name:e,id:t,label:n,value:a,onChange:i,rules:s="",as:o="field",className:l="",placeholder:r="",inputRef:c,wrapperClass:d="",messageClass:u="",onKeyDown:p}){const{message:g,invalid:m,onTouch:f}=qe({name:e,value:a??"",rules:s,as:o}),h=`${t}-message`;return(0,Te.jsxs)("div",{className:Se("o-input-wrapper has-message",d),children:[(0,Te.jsx)("label",{htmlFor:t,className:"c-input-label",children:n}),(0,Te.jsxs)("div",{className:"o-input-wrapper__field",children:[(0,Te.jsx)("input",{ref:c,className:Se("c-input",l,m&&"not-valid"),type:"text",name:e,id:t,value:a??"",placeholder:r,...Le(h,m),onChange:e=>i(e.target.value),onBlur:f,onKeyDown:e=>{"Enter"===e.key&&e.preventDefault(),p&&p(e)}}),(0,Te.jsx)(Ae,{id:h,message:m?g:null,className:u})]})]})}function Ri({data:e,value:t,onChange:n,validate:a="",validateName:i="field",placeholder:s="",code:o=!1,inputRef:l}){const{name:r,inputId:c}=bi();return(0,Te.jsx)(Ti,{name:r(e.id),id:c(e.id),label:e.label,value:t,onChange:n,rules:a||"no_less_than_sign",as:i,className:o?"code":"",placeholder:s,inputRef:l})}function ki({data:e,value:t,onChange:n,open:a=!1}){const{name:i,inputId:s}=bi(),l=(0,o.useRef)(),[r,c]=(0,o.useState)(33);return(0,o.useLayoutEffect)(()=>{l.current&&l.current.scrollHeight&&c(l.current.scrollHeight+2)},[t,a]),(0,Te.jsxs)("div",{className:"o-input-wrapper align-top",children:[(0,Te.jsx)("label",{htmlFor:s(e.id),className:"c-input-label",children:e.label}),(0,Te.jsx)("textarea",{ref:l,className:"c-input c-input--textarea",name:i(e.id),id:s(e.id),value:t??"",style:{height:`${r}px`},onChange:e=>n(e.target.value)})]})}function Ii({data:e,options:t,value:n,onChange:a,rules:i="",as:s="field",children:o,wrapperClass:l=""}){const{name:r,inputId:c}=bi(),d=r(e.id),{message:u,invalid:p,onTouch:g}=qe({name:d,value:n,rules:i,as:s}),m=`${c(e.id)}-message`,f=(0,Te.jsx)("select",{className:"c-select",name:d,id:c(e.id),value:n??"",...Le(m,p),onChange:e=>{a(e.target.value),g()},onKeyDown:e=>"Enter"===e.key&&e.preventDefault(),children:t.map(e=>(0,Te.jsx)("option",{value:e.id,children:e.label},e.id))});return(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:c(e.id),className:"c-input-label",children:e.label}),l?(0,Te.jsxs)("div",{className:l,children:[f,o]}):f,i&&(0,Te.jsx)(Ae,{id:m,message:p?u:null})]})}function Oi({name:e,id:t,checked:n,onChange:a,value:i="1",on:s=n,describedBy:o}){return(0,Te.jsxs)("span",{className:"c-toggle",children:[(0,Te.jsx)("input",{className:"c-toggle__input",type:"checkbox",name:e,id:t,checked:Boolean(n),value:i,"aria-describedby":o,onChange:e=>a(e.target.checked),onKeyDown:e=>"Enter"===e.key&&e.preventDefault()}),(0,Te.jsx)("span",{className:Se("c-toggle__track",s&&"is-checked")}),(0,Te.jsx)("span",{className:Se("c-toggle__thumb",s&&"is-checked")})]})}function Ai({data:e,value:t,onChange:n}){const{name:a,inputId:i}=bi(),s="on"===t;return(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:i(e.id),className:"c-input-label for-toggle",children:e.label}),(0,Te.jsx)(Oi,{name:a(e.id),id:i(e.id),value:"on",checked:s,onChange:e=>n(e?"on":"off")}),!s&&(0,Te.jsx)("input",{type:"hidden",name:a(e.id),value:"off"})]})}const Li=window.wp.compose;function Pi({data:e,value:t="yes",onChange:n}){const{name:a,inputId:i}=bi(),s="no"===t;return(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:i(e.id),className:"c-input-label",children:e.label}),(0,Te.jsx)(Oi,{name:a(e.id),id:i(e.id),value:"no",checked:s,on:!s,onChange:e=>n(e?"no":"yes")})]})}function zi({id:e,text:t}){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Me.Tooltip,{text:t,children:(0,Te.jsx)("button",{type:"button",className:"c-help-tip","aria-label":(0,r.__)("Help","admin-options-pages"),"aria-describedby":e,children:"?"})}),(0,Te.jsx)("span",{id:e,className:"screen-reader-text",children:t})]})}function Fi(){const{field:e,set:t}=yi();return(0,Te.jsx)(Pi,{data:{id:"toggle_autoload",label:(0,r.__)("Autoload","admin-options-pages")},value:e.toggle_autoload,onChange:e=>t("toggle_autoload",e)})}function Ki({fieldName:e}){const[t,n]=(0,o.useState)(!1),a=`[aop_option name="${e}"]`,i=(0,Li.useCopyToClipboard)(a,()=>n(!0));return(0,o.useEffect)(()=>{if(!t)return;const e=setTimeout(()=>n(!1),2e3);return()=>clearTimeout(e)},[t]),(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("span",{className:"c-input-label",children:(0,r.__)("Shortcode","admin-options-pages")}),(0,Te.jsxs)("div",{className:"o-input-wrapper__control",children:[(0,Te.jsx)("code",{className:"c-shortcode",children:a}),(0,Te.jsx)(Me.Button,{ref:i,variant:"secondary",size:"small",children:t?(0,r.__)("Copied!","admin-options-pages"):(0,r.__)("Copy","admin-options-pages")})]})]})}function Vi(){const{field:e,set:t}=yi(),{name:n,inputId:a}=bi(),i=a("frontend");return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:i,className:"c-input-label",children:(0,r.__)("Use in shortcode and blocks","admin-options-pages")}),(0,Te.jsxs)("div",{className:"o-input-wrapper__control",children:[(0,Te.jsx)(Oi,{name:n("frontend"),id:i,value:"yes",checked:"yes"===e.frontend,describedBy:`${i}-help`,onChange:e=>t("frontend",e?"yes":"no")}),(0,Te.jsx)(zi,{id:`${i}-help`,text:(0,r.__)("With get_option() the value is always available in PHP, also when this is off.","admin-options-pages")})]})]}),"yes"===e.frontend&&e.field_name?(0,Te.jsx)(Ki,{fieldName:e.field_name}):null]})}function Bi(){const{field:e,set:t}=yi();return(0,Te.jsx)(Ri,{data:{id:"field_label",label:(0,r.__)("Field label","admin-options-pages")},value:e.field_label,onChange:e=>t("field_label",e)})}function $i({idLikeName:e=!1}){const{field:t,set:n}=yi(),{name:a,inputId:i}=bi(),s=(0,l.useSelect)(e=>e(Ce).getExcludedOptionNames(),[]),o=e?a("field_name"):i("field_name");return(0,Te.jsx)(Ti,{name:a("field_name"),id:o,label:(0,r.__)("Field name","admin-options-pages"),value:t.field_name,onChange:e=>n("field_name",e),rules:`max:191|required|no_uppercase|option_name|excluded_option_name:${s.join(",")}`,as:"field name"})}function Hi(){const{field:e,set:t}=yi();return(0,Te.jsx)(Ri,{data:{id:"class_attribute",label:(0,r.__)("Additional CSS Class(es)","admin-options-pages")},value:e.class_attribute,onChange:e=>t("class_attribute",e),validate:"class_attribute",placeholder:"example-class second__one",code:!0})}function Ui(){const{field:e,set:t,open:n}=yi();return(0,Te.jsx)(ki,{data:{id:"description",label:(0,r.__)("Description","admin-options-pages")},value:e.description,onChange:e=>t("description",e),open:n})}function Gi(){const{field:e,set:t}=yi();return(0,Te.jsx)(Ri,{data:{id:"text_right",label:(0,r.__)("Text after input field","admin-options-pages")},value:e.text_right,onChange:e=>t("text_right",e)})}const Xi={field_label:Bi,field_name:$i,toggle_autoload:Fi,frontend:Vi,class_attribute:Hi,description:Ui},Wi=["field_label","field_name","toggle_autoload","frontend"];function Yi({setting:e}){const{field:t,set:n}=yi(),{name:a,inputId:i}=bi(),{key:s,control:o,label:l}=e,r=t[s],c=e=>n(s,e),d=Xi[s];return d?(0,Te.jsx)(d,{}):"textarea"===o?(0,Te.jsx)(ki,{data:{id:s,label:l},value:r,onChange:c}):"select"===o?(0,Te.jsx)(Ii,{data:{id:s,label:l},options:(e.options||[]).map(e=>({id:e,label:e})),value:r,onChange:c}):"toggle"===o&&"toggle_onoff"===e.sanitize?(0,Te.jsx)(Ai,{data:{id:s,label:l},value:r,onChange:c}):"toggle"===o&&"toggle_text_format"===e.sanitize?(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:i(s),className:"c-input-label for-toggle",children:l}),(0,Te.jsx)(Oi,{name:a(s),id:i(s),value:"1",checked:"1"===r,onChange:e=>c(!!e&&"1")})]}):"choices"===o?(0,Te.jsxs)("div",{className:"o-input-wrapper align-top has-table",children:[(0,Te.jsx)("label",{htmlFor:a("field_name"),className:"c-input-label",children:l}),(0,Te.jsx)(Si,{})]}):"color"===o?(0,Te.jsx)(Ti,{name:a(s),id:i(s),label:l,value:r,onChange:c,rules:"color_hex",as:l.toLowerCase(),className:"code",placeholder:"#000000"}):"number"===o?(0,Te.jsx)(Ti,{name:a(s),id:i(s),label:l,value:r,onChange:c,rules:"numeric",as:l.toLowerCase(),className:"code"}):(0,Te.jsx)(Ri,{data:{id:s,label:l},value:r,onChange:c})}function qi({serverType:e}){const t=(e.settings||[]).filter(e=>"hidden"!==e.control),n=t.filter(e=>Wi.includes(e.key)),a=t.filter(e=>!Wi.includes(e.key));return(0,Te.jsx)(Ei,{typeName:e.label||(0,r.__)("Field","admin-options-pages"),content:n.map(e=>(0,Te.jsx)(Yi,{setting:e},e.key)),options:a.map(e=>(0,Te.jsx)(Yi,{setting:e},e.key))})}const Ji=function(){const e=new Map;let t=new Map;return{register:(t,n={})=>"string"==typeof t&&""!==t&&(e.has(t)?(console.warn(`aop: the field type "${t}" is already registered.`),!1):(e.set(t,{...n}),!0)),get:t=>e.get(t),has:t=>e.has(t),all:()=>[...e].map(([e,t])=>({type:e,...t})),setServerTypes(e){t=new Map((e||[]).map(e=>[e.type,e]))},types:()=>[...t.values()].map(t=>{const n=e.get(t.type)||{};return{...t,...n,label:n.label||t.label,settings:t.settings}})}}();function Zi(){return"undefined"!=typeof window&&window.aop?.fields||Ji}function Qi({field:e,pageKey:t,fieldKey:n}){const{removeUnavailableField:a}=(0,l.useDispatch)(Ce);return(0,Te.jsxs)("div",{className:"o-field__wrapper is-unavailable",children:[(0,Te.jsx)("div",{className:"c-top-bar c-top-bar--field bg-gray-wp-100 border border-gray-wp-400",children:(0,Te.jsx)("div",{className:"c-top-bar__left",children:(0,Te.jsxs)("h3",{className:"c-top-bar__title",children:[(0,Te.jsx)("span",{className:"c-top-bar__pre-title",children:e.type}),e.field_label||e.field_name||""]})})}),(0,Te.jsxs)("div",{className:"o-field__unavailable-body",children:[(0,Te.jsx)("p",{className:"o-field__unavailable",children:(0,r.__)("This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.","admin-options-pages")}),(0,Te.jsx)("div",{className:"o-field__unavailable-actions",children:(0,Te.jsx)(_i,{label:(0,r.__)("Delete","admin-options-pages"),onConfirm:()=>a(t,n,e.id)})})]})]})}function es({pageKey:e,fieldKey:t,slug:n,sortable:a}){const{stored:i,serverType:s}=(0,l.useSelect)(n=>{const a=n(Ce),i=a.getField(e,t);return{stored:i,serverType:(a.getFieldTypes()||[]).find(e=>e.type===i?.type)}},[e,t]);if(!i)return null;const o=Zi().get(i.type),r=o?.EditComponent;return!r&&s?(0,Te.jsx)(xi.Provider,{value:{pageKey:e,fieldKey:t,slug:n,sortable:a},children:(0,Te.jsx)(qi,{serverType:s})}):r?(0,Te.jsx)(xi.Provider,{value:{pageKey:e,fieldKey:t,slug:n,sortable:a},children:(0,Te.jsx)(r,{})}):(0,Te.jsx)(Qi,{field:i,pageKey:e,fieldKey:t})}const ts=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"regular_text",label:(0,r.__)("Regular","admin-options-pages")},{id:"small_text",label:(0,r.__)("Small","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function ns(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fi,{}),(0,Te.jsx)(Vi,{}),(0,Te.jsx)(Bi,{}),(0,Te.jsx)($i,{}),(0,Te.jsx)(Ri,{data:{id:"placeholder",label:(0,r.__)("Placeholder","admin-options-pages")},value:e.placeholder,onChange:e=>t("placeholder",e)}),(0,Te.jsx)(Ri,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function as(){const{field:e,set:t}=yi(),{name:n,inputId:a}=bi(),i="1"===e.toggle_text_format;return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:a("toggle_text_format"),className:"c-input-label for-toggle",children:(0,r.__)("Formatted as code","admin-options-pages")}),(0,Te.jsx)(Oi,{name:n("toggle_text_format"),id:a("toggle_text_format"),checked:i,value:"1",onChange:e=>t("toggle_text_format",!!e&&"1")})]}),(0,Te.jsx)(Ii,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:ts,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hi,{}),(0,Te.jsx)(Gi,{}),(0,Te.jsx)(Ui,{})]})}f("text_field",e=>{const t={};return e.field_style||(t.field_style="regular_text"),e.toggle_text_format||(t.toggle_text_format=!1),e.toggle_autoload||(t.toggle_autoload="yes"),t});const is=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"standard",label:(0,r.__)("Standard","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function ss(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fi,{}),(0,Te.jsx)(Vi,{}),(0,Te.jsx)(Bi,{}),(0,Te.jsx)($i,{}),(0,Te.jsx)(Ri,{data:{id:"placeholder",label:(0,r.__)("Placeholder","admin-options-pages")},value:e.placeholder,onChange:e=>t("placeholder",e)}),(0,Te.jsx)(Ri,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function os(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Ii,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:is,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:"standard"!==e.field_style&&(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hi,{}),(0,Te.jsx)(Ui,{}),(0,Te.jsx)(Ai,{data:{id:"description_italic",label:(0,r.__)("Description italic","admin-options-pages")},value:e.description_italic,onChange:e=>t("description_italic",e)})]})}f("textarea",e=>{const t={};return e.field_style||(t.field_style="standard"),e.description_italic||(t.description_italic="off"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const ls=[{id:"0",label:(0,r.__)("0","admin-options-pages")},{id:"1",label:(0,r.__)("1","admin-options-pages")},{id:"2",label:(0,r.__)("2","admin-options-pages")}];function rs(){const{field:e,set:t}=yi(),{name:n,inputId:a}=bi(),{min:i,max:s,between:o}=function(e){const t=Number.isNaN(Number(e.min_value))?"":e.min_value,n=Number.isNaN(Number(e.max_value))?"":e.max_value;return{min:t,max:n,between:!t||!n||t>n?",":`${t}, ${n}`}}(e);return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fi,{}),(0,Te.jsx)(Vi,{}),(0,Te.jsx)(Bi,{}),(0,Te.jsx)($i,{}),(0,Te.jsx)(Ti,{name:n("min_value"),id:a("min_value"),label:(0,r.__)("Minimum value","admin-options-pages"),value:e.min_value,onChange:e=>t("min_value",e),rules:"numeric",as:"minimum value",className:"code"}),(0,Te.jsx)(Ti,{name:n("max_value"),id:a("max_value"),label:(0,r.__)("Maximum value","admin-options-pages"),value:e.max_value,onChange:e=>t("max_value",e),rules:`numeric|min_value:${i}`,as:"maximum value",className:"code"}),(0,Te.jsx)(Ri,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e),validate:`numeric|between:${o}|min_value:${i}|max_value:${s}`,validateName:"default value",code:!0}),(0,Te.jsx)(Ii,{data:{id:"decimals",label:(0,r.__)("Decimals","admin-options-pages")},options:ls,value:e.decimals,onChange:e=>t("decimals",e),rules:"between:0,2",as:"decimal"})]})}function cs(){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Hi,{}),(0,Te.jsx)(Gi,{}),(0,Te.jsx)(Ui,{})]})}function ds(){const{field:e,set:t}=yi(),{name:n}=bi(),a=[{id:"frontend_on",label:(0,r.__)("Text when checked","admin-options-pages")},{id:"frontend_off",label:(0,r.__)("Text when not checked","admin-options-pages")}];return"yes"!==e.frontend?a.map(({id:t})=>(0,Te.jsx)("input",{type:"hidden",name:n(t),value:e[t]||""},t)):a.map(n=>(0,Te.jsx)(Ri,{data:n,value:e[n.id]||"",placeholder:"frontend_on"===n.id?"1":"0",onChange:e=>t(n.id,e)},n.id))}function us(){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fi,{}),(0,Te.jsx)(Vi,{}),(0,Te.jsx)(ds,{}),(0,Te.jsx)(Bi,{}),(0,Te.jsx)($i,{idLikeName:!0})]})}function ps(){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Hi,{}),(0,Te.jsx)(Gi,{}),(0,Te.jsx)(Ui,{})]})}function gs(e){const t={};return e.toggle_autoload||(t.toggle_autoload="yes"),!e.table_list||Array.isArray(e.table_list)&&!e.table_list.length?t.table_list=[{label:"",value:"",id:(new Date).getTime()}]:Array.isArray(e.table_list)||(t.table_list=Object.values(e.table_list)),t}function ms(){const{name:e}=bi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fi,{}),(0,Te.jsx)(Vi,{}),(0,Te.jsx)(Bi,{}),(0,Te.jsx)($i,{idLikeName:!0}),(0,Te.jsxs)("div",{className:"o-input-wrapper align-top has-table",children:[(0,Te.jsx)("label",{htmlFor:e("field_name"),className:"c-input-label",children:(0,r.__)("Field values","admin-options-pages")}),(0,Te.jsx)(Si,{})]})]})}function fs(){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Hi,{}),(0,Te.jsx)(Ui,{})]})}f("number",e=>{const t={};return e.decimals||(t.decimals="0"),e.toggle_autoload||(t.toggle_autoload="yes"),t}),f("checkbox",e=>e.toggle_autoload?{}:{toggle_autoload:"yes"}),f("radio",gs),f("select_field",gs),f("button_group",gs);const hs=(0,Te.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",role:"img",className:"c-input__checkbox-svg","aria-hidden":"true",focusable:"false",children:(0,Te.jsx)("path",{d:"M18.3 5.6L9.9 16.9l-4.6-3.4-.9 1.2 5.8 4.3 9.3-12.6z"})});function vs({data:e,value:t,onChange:n}){const{name:a,inputId:i}=bi();if(!e.types)return(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:i(e.id),className:"c-input-label",children:e.label}),(0,Te.jsx)("input",{className:"c-input",type:"checkbox",name:a(e.id),id:i(e.id),checked:Boolean(t),onChange:e=>n(e.target.checked),onKeyDown:e=>"Enter"===e.key&&e.preventDefault()})]});const s=t||{};return(0,Te.jsxs)("div",{className:Se("o-input-wrapper","align-top"),children:[(0,Te.jsx)("label",{htmlFor:i(e.id),className:"c-input-label",children:e.label}),(0,Te.jsx)("div",{className:"c-input-group",children:e.types.map(t=>{const i=`${a(e.id)}[types][${t.id}]`,o=!t.disabled&&Object.prototype.hasOwnProperty.call(s,t.id),l=t.help?`${i}-help`:void 0;return(0,Te.jsxs)("div",{className:Se("c-input-group__item",t.disabled&&"is-disabled"),children:[(0,Te.jsx)("input",{className:"c-input",type:"checkbox",name:i,id:i,checked:o,disabled:t.disabled,"aria-describedby":l,onChange:e=>{const a={...s};e.target.checked?a[t.id]="on":delete a[t.id],n(a)},onKeyDown:e=>"Enter"===e.key&&e.preventDefault()}),o&&hs,(0,Te.jsx)("label",{htmlFor:i,className:"code",children:t.label}),t.help&&(0,Te.jsx)(zi,{id:l,text:t.help})]},t.id)})})]})}function _s(){const e="undefined"!=typeof window&&window.aop_editor_config||{};return!("svgUploads"in e)||[!0,1,"1"].includes(e.svgUploads)}function xs(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fi,{}),(0,Te.jsx)(Vi,{}),(0,Te.jsx)(Bi,{}),(0,Te.jsx)($i,{}),(0,Te.jsx)(vs,{data:{id:"extensions",label:(0,r.__)("Allowed extensions","admin-options-pages"),types:[{label:(0,r.__)(".jpeg .jpg","admin-options-pages"),id:"jpeg"},{label:(0,r.__)(".png","admin-options-pages"),id:"png"},{label:(0,r.__)(".gif","admin-options-pages"),id:"gif"},{label:(0,r.__)(".svg","admin-options-pages"),id:"svg",disabled:!_s(),help:_s()?void 0:(0,r.__)("This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.","admin-options-pages")},{label:(0,r.__)(".ico","admin-options-pages"),id:"ico"}]},value:e.extensions?.types,onChange:n=>t("extensions",{...e.extensions,types:n})})]})}function bs(){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Hi,{}),(0,Te.jsx)(Ui,{})]})}function ys(){const{field:e,set:t}=yi(),{name:n,inputId:a}=bi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fi,{}),(0,Te.jsx)(Vi,{}),(0,Te.jsx)(Bi,{}),(0,Te.jsx)($i,{}),(0,Te.jsx)(Ti,{name:n("default_value"),id:a("default_value"),label:(0,r.__)("Default color (HEX)","admin-options-pages"),value:e.default_value,onChange:e=>t("default_value",e),rules:"color_hex",as:"field color",className:"code",placeholder:"#000000"})]})}function ws(){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Hi,{}),(0,Te.jsx)(Ui,{})]})}f("image",e=>{const t={};if(e.toggle_autoload||(t.toggle_autoload="yes"),!e.extensions?.types){const e={jpeg:"on",png:"on",gif:"on",svg:"on",ico:"on"};_s()||delete e.svg,t.extensions={types:e}}return t}),f("color_picker",e=>e.toggle_autoload?{}:{toggle_autoload:"yes"});const js=[{id:"full",label:(0,r.__)("Full","admin-options-pages")},{id:"basic",label:(0,r.__)("Basic","admin-options-pages")}];function Ns(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fi,{}),(0,Te.jsx)(Vi,{}),(0,Te.jsx)(Bi,{}),(0,Te.jsx)($i,{}),(0,Te.jsx)(Ri,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function Es(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Ai,{data:{id:"toggle_show_media_upload_buttons",label:(0,r.__)("Show media upload buttons","admin-options-pages")},value:e.toggle_show_media_upload_buttons,onChange:e=>t("toggle_show_media_upload_buttons",e)}),(0,Te.jsx)(Ii,{data:{id:"toolbar",label:(0,r.__)("Toolbar","admin-options-pages")},options:js,value:e.toolbar,onChange:e=>t("toolbar",e),wrapperClass:"flex items-center"}),(0,Te.jsx)(Hi,{}),(0,Te.jsx)(Ui,{})]})}function Ds(){return(0,Te.jsx)(Hi,{})}function Cs(){const{field:e,set:t}=yi();return(0,Te.jsx)(Ri,{data:{id:"field_title",label:(0,r.__)("Title","admin-options-pages")},value:e.field_title,onChange:e=>t("field_title",e)})}f("wysiwyg_editor",e=>{const t={};return e.toolbar||(t.toolbar="full"),e.toggle_show_media_upload_buttons||(t.toggle_show_media_upload_buttons="off"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const Ms=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"regular_text",label:(0,r.__)("Regular","admin-options-pages")},{id:"small_text",label:(0,r.__)("Small","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function Ss(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fi,{}),(0,Te.jsx)(Vi,{}),(0,Te.jsx)(Bi,{}),(0,Te.jsx)($i,{}),(0,Te.jsx)(Ri,{data:{id:"placeholder",label:(0,r.__)("Placeholder","admin-options-pages")},value:e.placeholder,onChange:e=>t("placeholder",e)}),(0,Te.jsx)(Ri,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function Ts(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Ii,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:Ms,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hi,{}),(0,Te.jsx)(Ui,{})]})}f("email",e=>{const t={};return e.field_style||(t.field_style="regular_text"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const Rs=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"regular_text",label:(0,r.__)("Regular","admin-options-pages")},{id:"small_text",label:(0,r.__)("Small","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function ks(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fi,{}),(0,Te.jsx)(Vi,{}),(0,Te.jsx)(Bi,{}),(0,Te.jsx)($i,{}),(0,Te.jsx)(Ri,{data:{id:"placeholder",label:(0,r.__)("Placeholder","admin-options-pages")},value:e.placeholder,onChange:e=>t("placeholder",e)}),(0,Te.jsx)(Ri,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function Is(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Ii,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:Rs,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hi,{}),(0,Te.jsx)(Ui,{})]})}f("link",e=>{const t={};return e.field_style||(t.field_style="regular_text"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const Os=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"regular_text",label:(0,r.__)("Regular","admin-options-pages")},{id:"small_text",label:(0,r.__)("Small","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function As(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fi,{}),(0,Te.jsx)(Bi,{}),(0,Te.jsx)($i,{}),(0,Te.jsx)(Ri,{data:{id:"placeholder",label:(0,r.__)("Placeholder","admin-options-pages")},value:e.placeholder,onChange:e=>t("placeholder",e)}),(0,Te.jsx)(Ri,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function Ls(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Ii,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:Os,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hi,{}),(0,Te.jsx)(Ui,{})]})}f("password",e=>{const t={};return e.field_style||(t.field_style="regular_text"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const Ps=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"regular_text",label:(0,r.__)("Regular","admin-options-pages")},{id:"small_text",label:(0,r.__)("Small","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function zs(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fi,{}),(0,Te.jsx)(Vi,{}),(0,Te.jsx)(Bi,{}),(0,Te.jsx)($i,{}),(0,Te.jsx)(Ri,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function Fs(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Ii,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:Ps,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hi,{}),(0,Te.jsx)(Ui,{})]})}f("date",e=>{const t={};return e.field_style||(t.field_style="regular_text"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const Ks=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"regular_text",label:(0,r.__)("Regular","admin-options-pages")},{id:"small_text",label:(0,r.__)("Small","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function Vs(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fi,{}),(0,Te.jsx)(Vi,{}),(0,Te.jsx)(Bi,{}),(0,Te.jsx)($i,{}),(0,Te.jsx)(Ri,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function Bs(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Ii,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:Ks,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hi,{}),(0,Te.jsx)(Ui,{})]})}f("time",e=>{const t={};return e.field_style||(t.field_style="regular_text"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const $s=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"regular_text",label:(0,r.__)("Regular","admin-options-pages")},{id:"small_text",label:(0,r.__)("Small","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function Hs(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fi,{}),(0,Te.jsx)(Vi,{}),(0,Te.jsx)(Bi,{}),(0,Te.jsx)($i,{}),(0,Te.jsx)(Ri,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function Us(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Ii,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:$s,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hi,{}),(0,Te.jsx)(Ui,{})]})}f("date_time",e=>{const t={};return e.field_style||(t.field_style="regular_text"),e.toggle_autoload||(t.toggle_autoload="yes"),t}),f("range",e=>{const t={};return e.decimals||(t.decimals="0"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const Gs={id:"extensions",label:(0,r.__)("Allowed file types","admin-options-pages"),types:[{label:(0,r.__)(".pdf","admin-options-pages"),id:"pdf"},{label:(0,r.__)(".doc","admin-options-pages"),id:"doc"},{label:(0,r.__)(".docx","admin-options-pages"),id:"docx"},{label:(0,r.__)(".xls","admin-options-pages"),id:"xls"},{label:(0,r.__)(".xlsx","admin-options-pages"),id:"xlsx"},{label:(0,r.__)(".csv","admin-options-pages"),id:"csv"},{label:(0,r.__)(".zip","admin-options-pages"),id:"zip"},{label:(0,r.__)(".txt","admin-options-pages"),id:"txt"}]};function Xs(){const{field:e,set:t}=yi();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fi,{}),(0,Te.jsx)(Vi,{}),(0,Te.jsx)(Bi,{}),(0,Te.jsx)($i,{}),(0,Te.jsx)(vs,{data:Gs,value:e.extensions?.types,onChange:n=>t("extensions",{...e.extensions,types:n})})]})}function Ws(){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Hi,{}),(0,Te.jsx)(Ui,{})]})}f("file",e=>{const t={};return e.toggle_autoload||(t.toggle_autoload="yes"),e.extensions?.types||(t.extensions={types:{pdf:"on",doc:"on",docx:"on",xls:"on",xlsx:"on",csv:"on",zip:"on",txt:"on"}}),t});const Ys={text_field:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Text field","admin-options-pages"),content:(0,Te.jsx)(ns,{}),options:(0,Te.jsx)(as,{})})},textarea:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Textarea","admin-options-pages"),content:(0,Te.jsx)(ss,{}),options:(0,Te.jsx)(os,{})})},number:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Number","admin-options-pages"),content:(0,Te.jsx)(rs,{}),options:(0,Te.jsx)(cs,{})})},checkbox:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Checkbox","admin-options-pages"),content:(0,Te.jsx)(us,{}),options:(0,Te.jsx)(ps,{})})},radio:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Radio buttons","admin-options-pages"),content:(0,Te.jsx)(ms,{}),options:(0,Te.jsx)(fs,{})})},select_field:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Select","admin-options-pages"),content:(0,Te.jsx)(ms,{}),options:(0,Te.jsx)(fs,{})})},image:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Image","admin-options-pages"),content:(0,Te.jsx)(xs,{}),options:(0,Te.jsx)(bs,{})})},color_picker:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Color picker","admin-options-pages"),content:(0,Te.jsx)(ys,{}),options:(0,Te.jsx)(ws,{})})},wysiwyg_editor:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Wysiwyg editor","admin-options-pages"),content:(0,Te.jsx)(Ns,{}),options:(0,Te.jsx)(Es,{})})},title:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Title","admin-options-pages"),content:(0,Te.jsx)(Cs,{}),options:(0,Te.jsx)(Ds,{})})},description:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Description","admin-options-pages"),content:(0,Te.jsx)(Ui,{}),options:(0,Te.jsx)(Hi,{})})},horizontal_rule:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Horizontal rule","admin-options-pages"),content:null,options:(0,Te.jsx)(Hi,{})})},email:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Email","admin-options-pages"),content:(0,Te.jsx)(Ss,{}),options:(0,Te.jsx)(Ts,{})})},link:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Link","admin-options-pages"),content:(0,Te.jsx)(ks,{}),options:(0,Te.jsx)(Is,{})})},password:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Password","admin-options-pages"),content:(0,Te.jsx)(As,{}),options:(0,Te.jsx)(Ls,{})})},date:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Date","admin-options-pages"),content:(0,Te.jsx)(zs,{}),options:(0,Te.jsx)(Fs,{})})},time:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Time","admin-options-pages"),content:(0,Te.jsx)(Vs,{}),options:(0,Te.jsx)(Bs,{})})},date_time:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Date and time","admin-options-pages"),content:(0,Te.jsx)(Hs,{}),options:(0,Te.jsx)(Us,{})})},range:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Range","admin-options-pages"),content:(0,Te.jsx)(rs,{}),options:(0,Te.jsx)(cs,{})})},button_group:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("Button group","admin-options-pages"),content:(0,Te.jsx)(ms,{}),options:(0,Te.jsx)(fs,{})})},file:function(){return(0,Te.jsx)(Ei,{typeName:(0,r.__)("File","admin-options-pages"),content:(0,Te.jsx)(Xs,{}),options:(0,Te.jsx)(Ws,{})})}},qs=Object.keys(Ys).filter(e=>!["password","title","description","horizontal_rule"].includes(e)),Js={live_help:'<svg aria-hidden="true" role="img" focusable="false" class="c-material-icon" xmlns="http://www.w3.org/2000/svg"viewBox="0 0 24 24"><path d="M19 2H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h4l3 3 3-3h4c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 16h-4.83l-.59.59L12 20.17l-1.59-1.59-.58-.58H5V4h14v14zm-8-3h2v2h-2zm1-8c1.1 0 2 .9 2 2 0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4S8 6.79 8 9h2c0-1.1.9-2 2-2z"/></svg>',text_fields:'<svg aria-hidden="true" role="img" focusable="false" class="c-material-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2.5,4v3h5v12h3V7h5V4H2.5z M21.5,9h-9v3h3v7h3v-7h3V9z"/></svg>',colorize:'<svg aria-hidden="true" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="c-material-icon"><path d="M0,0h24v24H0V0z" fill="none"></path><path d="M17.66,5.41l0.92,0.92l-2.69,2.69l-0.92-0.92L17.66,5.41 M17.67,3c-0.26,0-0.51,0.1-0.71,0.29l-3.12,3.12L11.91,4.5 L10.5,5.91l1.42,1.42L3,16.25V21h4.75l8.92-8.92l1.42,1.42l1.41-1.41l-1.92-1.92l3.12-3.12c0.4-0.4,0.4-1.03,0.01-1.42l-2.34-2.34 C18.17,3.1,17.92,3,17.67,3L17.67,3z M6.92,19L5,17.08l8.06-8.06l1.92,1.92L6.92,19L6.92,19z"/></svg>',looks_5:'<svg aria-hidden="true" role="img" focusable="false" class="c-material-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M19,19H5V5h14V19z"/><path d="M15,15v-2c0-1.11-0.9-2-2-2h-2V9h4V7H9v6h4v2H9v2h4C14.1,17,15,16.11,15,15z"/></svg>',notes:'<svg aria-hidden="true" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="c-material-icon"><polygon points="21,11.01 3,11 3,13 21,13"/><rect x="3" y="16" width="12" height="2"/><polygon points="21,6 3,6 3,8.01 21,8"/></svg>',check_box:'<svg aria-hidden="true" role="img" focusable="false" class="c-material-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M19,19H5V5h14V19z"/><polygon points="17.99,9 16.58,7.58 9.99,14.17 7.41,11.6 5.99,13.01 9.99,17"/></svg>',radio_button_checked:'<svg aria-hidden="true" role="img" focusable="false" class="c-material-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12,2C6.48,2,2,6.48,2,12s4.48,10,10,10s10-4.48,10-10S17.52,2,12,2z M12,20c-4.42,0-8-3.58-8-8s3.58-8,8-8s8,3.58,8,8 S16.42,20,12,20z"/><circle cx="12" cy="12" r="5"/></svg>',image:'<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="c-material-icon"><path d="m19 5v14h-14v-14h14m0-2h-14c-1.1 0-2 0.9-2 2v14c0 1.1 0.9 2 2 2h14c1.1 0 2-0.9 2-2v-14c0-1.1-0.9-2-2-2z"></path><path d="m14.14 11.86l-3 3.87-2.14-2.59-3 3.86h12l-3.86-5.14z"></path></svg>',title:'<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" focusable="false" class="c-material-icon" viewBox="0 0 24 24"><path d="M5,4v3h5.5v12h3V7H19V4H5z"/></svg>',short_text:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M4,9h16v2H4V9z M4,13h10v2H4V13z"/></svg>',remove:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M19,13H5v-2h14V13z"/></svg>',select:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M24 24H0V0h24v24z" fill="none" opacity=".87"/><path d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6-1.41-1.41z"/></svg>',editor:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><g><rect fill="none" height="24" width="24"/><path d="M19,3H5C3.89,3,3,3.9,3,5v14c0,1.1,0.89,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.11,3,19,3z M19,19H5V7h14V19z M17,12H7v-2 h10V12z M13,16H7v-2h6V16z"/></g></svg>',email:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4-8 5-8-5V6l8 5 8-5v2z"/></svg>',link:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"/></svg>',lock:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zM9 6c0-1.66 1.34-3 3-3s3 1.34 3 3v2H9V6zm9 14H6V10h12v10zm-6-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z"/></svg>',event:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z"/></svg>',schedule:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"/><path d="M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"/></svg>',date_range:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M9 11H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm2-7h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z"/></svg>',tune:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M3 17v2h6v-2H3zM3 5v2h10V5H3zm10 16v-2h8v-2h-8v-2h-2v6h2zM7 9v2H3v2h4v2h2V9H7zm14 4v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z"/></svg>',apps:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M4 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4zm-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z"/></svg>',insert_drive_file:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6H6zm7 7V3.5L18.5 9H13z"/></svg>'},Zs=[{title:(0,r.__)("Text field","admin-options-pages"),id:"text_field",icon:"text_fields"},{title:(0,r.__)("Number","admin-options-pages"),id:"number",icon:"looks_5"},{title:(0,r.__)("Wysiwyg editor","admin-options-pages"),id:"wysiwyg_editor",icon:"editor"},{title:(0,r.__)("Textarea","admin-options-pages"),id:"textarea",icon:"notes"},{title:(0,r.__)("Checkbox","admin-options-pages"),id:"checkbox",icon:"check_box"},{title:(0,r.__)("Radio buttons","admin-options-pages"),id:"radio",icon:"radio_button_checked"},{title:(0,r.__)("Image","admin-options-pages"),id:"image",icon:"image"},{title:(0,r.__)("Color picker","admin-options-pages"),id:"color_picker",icon:"colorize"},{title:(0,r.__)("Select","admin-options-pages"),id:"select_field",icon:"select"},{title:(0,r.__)("Email","admin-options-pages"),id:"email",icon:"email"},{title:(0,r.__)("Link","admin-options-pages"),id:"link",icon:"link"},{title:(0,r.__)("Password","admin-options-pages"),id:"password",icon:"lock"},{title:(0,r.__)("Date","admin-options-pages"),id:"date",icon:"event"},{title:(0,r.__)("Time","admin-options-pages"),id:"time",icon:"schedule"},{title:(0,r.__)("Date and time","admin-options-pages"),id:"date_time",icon:"date_range"},{title:(0,r.__)("Range","admin-options-pages"),id:"range",icon:"tune"},{title:(0,r.__)("Button group","admin-options-pages"),id:"button_group",icon:"apps"},{title:(0,r.__)("File","admin-options-pages"),id:"file",icon:"insert_drive_file"}],Qs=[{title:(0,r.__)("Title","admin-options-pages"),id:"title",icon:"title"},{title:(0,r.__)("Description","admin-options-pages"),id:"description",icon:"short_text"},{title:(0,r.__)("Horizontal rule","admin-options-pages"),id:"horizontal_rule",icon:"remove"}],eo=430;function to({open:e}){return(0,Te.jsx)("button",{type:"button","aria-expanded":e?"true":"false",className:"c-field-types__list-toggle",children:(0,Te.jsx)("svg",{className:"c-field-types__list-toggle-arrow",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",role:"img","aria-hidden":"true",focusable:"false",children:(0,Te.jsx)("path",{d:e?"M12,8l-6,6l1.41,1.41L12,10.83l4.59,4.58L18,14L12,8z":"M7.41,8.59L12,13.17l4.59-4.58L18,10l-6,6l-6-6L7.41,8.59z"})})})}function no({title:e,fields:t,open:n,onToggle:a,onPick:i,onEscape:s}){return(0,Te.jsxs)("div",{className:"c-field-types__content",children:[(0,Te.jsxs)("h2",{className:"c-field-types__title",onClick:a,children:[e,(0,Te.jsx)(to,{open:n})]}),(0,Te.jsx)("ul",{className:"c-field-types__list",style:n?void 0:{display:"none"},children:t.map(e=>{return(0,Te.jsx)("li",{className:"c-field-types__item",children:(0,Te.jsxs)("button",{name:e.id,type:"button",tabIndex:0,className:"c-field-types__button",onClick:()=>i(e.id),onKeyDown:e=>"Escape"===e.key&&s(),children:[e.addOnIcon?(0,Te.jsx)("span",{className:"c-field-types__button-icon",children:(0,Te.jsx)(Me.Icon,{icon:e.addOnIcon,size:24,"aria-hidden":"true"})}):(0,Te.jsx)("span",{className:"c-field-types__button-icon",dangerouslySetInnerHTML:{__html:(t=e.icon,Js[t]||Js.live_help)}}),(0,Te.jsx)("span",{className:"c-field-types__button-title",children:e.title})]})},e.id);var t})})]})}function ao({pageKey:e,suffix:t,isEmpty:n}){const{addField:a,setUi:i}=(0,l.useDispatch)(Ce),[s,c]=(0,o.useState)(!1),[d,u]=(0,o.useState)(""),[p,g]=(0,o.useState)("bottom"),[m,f]=(0,o.useState)(!0),[h,v]=(0,o.useState)(!0),_=(0,o.useRef)(),x=(0,o.useRef)(),b=(0,o.useRef)(),y=(0,o.useRef)(),w=e=>e.title.toLowerCase().includes(d.toLowerCase()),j=(0,l.useSelect)(e=>e(Ce).getFieldTypes()||[],[]),N=[...Zs,...Qs].map(e=>e.id),E=j.filter(e=>!N.includes(e.type)).map(e=>{return{id:e.type,title:Zi().get(e.type)?.label||e.label,icon:Zi().get(e.type)?.materialIcon||"live_help",addOnIcon:(t=Zi().get(e.type)?.icon,"string"==typeof t?/^[a-z0-9-]+$/.test(t)?t:null:(0,o.isValidElement)(t)||"function"==typeof t?t:null),group:e.group};var t}),D=[...Zs,...E.filter(e=>"layout"!==e.group)].filter(w),C=[...Qs,...E.filter(e=>"layout"===e.group)].filter(w);function M(){c(!1),i("hoverOverDropdown",!1),y.current?.focus()}function S(t){const n=N.includes(t)?function(e){return qs.includes(e)?{frontend:"yes"}:{}}(t):function(e){const t={};return(e?.settings||[]).forEach(e=>{void 0!==e.default&&""!==e.default&&null!==e.default&&(t[e.key]=e.default)}),t}(j.find(e=>e.type===t));a(e,t,void 0,n),c(!1),i("hoverOverDropdown",!1)}return(0,o.useEffect)(()=>{if(!s)return;const e=e=>{_.current&&!_.current.contains(e.target)&&(c(!1),i("hoverOverDropdown",!1))};return document.addEventListener("click",e),()=>document.removeEventListener("click",e)},[s,i]),(0,o.useLayoutEffect)(()=>{if(!s)return;const e=document.querySelector(".c-editor-main"),t=x.current;function n(){if(!e||!t||!_.current)return;const n=e.clientHeight+88,a=_.current.getBoundingClientRect().top,i=a>n/2?a-88-10:n-a-46;g(a>n/2?"top":"bottom"),i<eo?(t.style.height=eo-(eo-i)+"px",t.lastChild.style.height=340-(eo-i)+"px"):(t.style.height="430px",t.lastChild.style.height="340px")}return n(),b.current?.focus(),e?.addEventListener("scroll",n),()=>e?.removeEventListener("scroll",n)},[s]),(0,Te.jsxs)("div",{className:Se("o-dropdown-group",n&&"is-empty"),ref:_,children:[(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Add a field","admin-options-pages"),children:(0,Te.jsx)("button",{ref:y,type:"button","aria-haspopup":"true","aria-expanded":s?"true":"false","aria-pressed":s?"true":"false",className:"c-icon-button c-icon-button--insert-toggle is-appender","aria-label":(0,r.__)("Add a field","admin-options-pages"),onClick:()=>c(!s),children:(0,Te.jsx)(Me.Icon,{icon:Di,size:20})})}),(0,Te.jsxs)("div",{ref:x,className:Se("c-field-types flex flex-col h-full","top"===p&&"above-button"),style:s?void 0:{display:"none"},id:`dropdown-${t}`,onMouseEnter:()=>s&&i("hoverOverDropdown",!0),onMouseLeave:()=>i("hoverOverDropdown",!1),children:[(0,Te.jsx)("div",{className:"p-4",children:(0,Te.jsx)("div",{className:"c-field-types__search-wrapper",children:(0,Te.jsx)("input",{ref:b,type:"search",className:"c-field-types__search",value:d,placeholder:(0,r.__)("Search…","admin-options-pages"),onChange:e=>{u(e.target.value),f(!0),v(!0)},onKeyDown:e=>{"Enter"===e.key&&e.preventDefault(),"Escape"===e.key&&M()}})})}),(0,Te.jsxs)("div",{className:"c-field-types__wrapper pl-4 pr-4 pb-4",children:[D.length>0&&(0,Te.jsx)(no,{title:(0,r.__)("Options fields","admin-options-pages"),fields:D,open:m,onToggle:()=>!d&&f(!m),onPick:S,onEscape:M}),C.length>0&&(0,Te.jsx)(no,{title:(0,r.__)("Static content","admin-options-pages"),fields:C,open:h,onToggle:()=>!d&&v(!h),onPick:S,onEscape:M}),0===D.length&&0===C.length&&(0,Te.jsx)("p",{className:"c-field-types__not-found-text",children:(0,r.__)("Nothing found.","admin-options-pages")})]})]})]})}const io={page:["page"],field:["field","fieldList","fieldSlot"]},so=(0,o.createContext)(null);function oo(e){const t=e.active.data.current?.type,n=io[t]||[t];return tn({...e,droppableContainers:e.droppableContainers.filter(e=>n.includes(e.data.current?.type))})}function lo({bar:e}){return(0,Te.jsx)("div",{className:"aop-drag-copy",ref:t=>{t&&!t.firstChild&&t.appendChild(e)}})}function ro({children:e}){const t=(0,l.useSelect)(e=>e(Ce).getPages(),[]),{movePage:n,moveField:a,moveFieldToPage:i,setUi:s,closeAllPages:r,setFieldOpen:c}=(0,l.useDispatch)(Ce),d=Wt(Xt(Bn,{activationConstraint:{distance:5}})),[u,p]=(0,o.useState)(null),[g,m]=(0,o.useState)(null);return(0,Te.jsxs)(ya,{sensors:d,collisionDetection:oo,measuring:{droppable:{strategy:Yn.Always}},onDragStart:e=>{ai(),function({active:e,activatorEvent:n}){s("moving",!0);const a=n?.target?.closest?.(".c-top-bar");p(a?{bar:a.cloneNode(!0),width:a.getBoundingClientRect().width,grabX:n.clientX-a.getBoundingClientRect().left,grabY:n.clientY-a.getBoundingClientRect().top}:null),"page"!==e.data.current?.type?t.forEach((t,n)=>{const a=(t.fields||[]).findIndex(t=>`field:${t.id}`===e.id);-1!==a&&c(n,a,!1)}):r()}(e)},onDragEnd:e=>{ii(),function({active:e,over:o}){if(p(null),m(null),setTimeout(()=>s("moving",!1),0),g){const n=ci(t,String(e.id));return void(n&&i(n.pageKey,n.index,g.pageKey,g.index))}const l=di(t,String(e.id),o&&String(o.id));l&&("movePage"===l.action?n(l.from,l.to):"moveField"===l.action?a(l.pageKey,l.from,l.to):i(l.fromPage,l.fromIndex,l.toPage,l.toIndex))}(e)},onDragMove:function({active:e,over:n,activatorEvent:a,delta:i}){const s=void 0===a?.clientY?null:a.clientY+i.y,o=null!==s&&Boolean(n?.rect)&&s>n.rect.top+n.rect.height/2,l=n?function(e,t,n,a=null,i=!1){if(!t.startsWith("field:"))return null;if(n===ri)return a;const s=di(e,t,n);return"moveFieldToPage"!==s?.action?null:{pageKey:s.toPage,index:i&&n.startsWith("field:")?s.toIndex+1:s.toIndex}}(t,String(e.id),String(n.id),g,o):null;l?.pageKey===g?.pageKey&&l?.index===g?.index||m(l)},onDragCancel:()=>{ii(),p(null),m(null),s("moving",!1)},children:[(0,Te.jsx)(so.Provider,{value:g,children:e}),(0,Te.jsx)(Pa,{dropAnimation:null,modifiers:[function({transform:e,activatorEvent:t,draggingNodeRect:n}){return u&&n&&void 0!==t?.clientX?{...e,x:t.clientX+e.x-u.grabX-n.left,y:t.clientY+e.y-u.grabY-n.top}:e}],children:u?(0,Te.jsx)("div",{style:{width:u.width},children:(0,Te.jsx)(lo,{bar:u.bar})}):null})]})}function co({pageKey:e,page:t,set:n}){const a=`pages[${e}][subpage_position]`,{message:i,invalid:s,onTouch:o}=qe({name:a,value:t.subpage_position??"",rules:"numeric|between:0,100",as:"subpage position"});return(0,Te.jsxs)("div",{className:"o-input-wrapper has-message",children:[(0,Te.jsx)("label",{htmlFor:a,className:"c-input-label for-toggle",children:(0,r.__)("Position","admin-options-pages")}),(0,Te.jsxs)("div",{className:"o-input-wrapper__field",children:[(0,Te.jsx)("input",{className:Se("c-input is-position",s&&"not-valid"),type:"text",placeholder:"0-100",name:a,id:a,value:t.subpage_position??"",...Le(`${a}-message`,s),onChange:e=>n("subpage_position",e.target.value),onBlur:o,onKeyDown:e=>{"Enter"===e.key&&e.preventDefault(),function(e,t,n){if(it(e))return;const{key:a}=e;["0",...at].includes(a)||nt.includes(a)||("ArrowUp"===a?(e.preventDefault(),""===e.target.value?n(1):Number(t)<=99&&n(Number(t)+1)):"ArrowDown"===a?(e.preventDefault(),""!==e.target.value&&Number(t)>=1&&n(Number(t)-1)):e.preventDefault())}(e,t.subpage_position,e=>n("subpage_position",e))}}),(0,Te.jsx)(Ae,{id:`${a}-message`,message:s?i:null})]})]})}function uo({pageKey:e,sortable:t}){const{page:n,menuType:a,text:i,moving:s,pageCount:c}=(0,l.useSelect)(t=>{const n=t(Ce);return{page:n.getPage(e),menuType:n.getMenuType(),text:n.getText(),moving:n.getUi().moving,pageCount:n.getPages().length}},[e]),{setIn:d,togglePage:u,setPageOpen:p,removePage:g,moveField:m}=(0,l.useDispatch)(Ce),f=(0,o.useContext)(so),h=(0,o.useRef)(),v=(0,o.useRef)(),_=(0,o.useRef)(Boolean(n.menu_title)),x=(0,o.useRef)(void 0===n.subpage_title&&c>1),b=(t,n)=>d(["pages",e,t],n),y=Boolean(n.subpage_toggle),w=(j=n.menu_title,N=n.subpage_slug_suffix,`${(j||"").trimEnd().split(" ").join("-")}-${N}`.normalize("NFD").replace(/[̀-ͯ]/g,""));var j,N;const E=function(e){const t="None",n=e.menu_title||"",a=e.subpage_title||"",i=[t,n,a].filter(Boolean),s=e.select_title;return{value:[n,a,t].includes(s)?s:t,options:i}}(n),D=t=>`pages[${e}][${t}]`;(0,o.useEffect)(()=>{if(x.current){h.current?.scrollIntoView?.({behavior:"smooth",block:"center"});const e=setTimeout(()=>wi(v.current),300);return()=>clearTimeout(e)}if(window.location.hash&&window.location.hash.substring(1)===n.subpage_slug_suffix){p(e,!0);const t=setTimeout(()=>{h.current?.scrollIntoView?.({behavior:"smooth",block:"start"}),window.history.replaceState({},document.title,window.location.href.replace(window.location.hash,""))},200);return()=>clearTimeout(t)}},[]);const C="existing"===a?`${n.parent_slug}?page=${w}`:`admin.php?page=${w}`;return(0,Te.jsxs)("div",{className:"o-page",id:n.subpage_slug_suffix,ref:h,children:[(0,Te.jsxs)("div",{role:"presentation",className:Se("c-top-bar c-top-bar--subpage bg-gray-wp-100 border border-gray-wp-400 hover:border-gray-700",y&&"is-open"),onClick:()=>!s&&u(e),...t&&t.barProps,children:[(0,Te.jsxs)("div",{className:"c-top-bar__left",children:[t&&(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Drag to reorder","admin-options-pages"),children:(0,Te.jsx)("span",{className:"c-top-bar__drag-handle","aria-hidden":"true",onClick:e=>e.stopPropagation(),...t.handleProps,children:(0,Te.jsx)(Me.Icon,{icon:dt,size:20})})}),(0,Te.jsx)("h3",{className:Se("c-top-bar__title is-subpage",!n.menu_title&&"is-placeholder"),children:n.menu_title?n.menu_title:(0,r.__)("Title","admin-options-pages")})]}),(0,Te.jsxs)("div",{className:"c-top-bar__right",children:[t&&(0,Te.jsx)("span",{onClick:e=>e.stopPropagation(),children:(0,Te.jsx)(ui,{canMoveUp:t.canMoveUp,canMoveDown:t.canMoveDown,onUp:t.moveUp,onDown:t.moveDown})}),(0,Te.jsx)("button",{type:"button",className:"c-top-bar__toggle","aria-expanded":y?"true":"false",children:(0,Te.jsx)("span",{className:Se("c-top-bar__toggle-indicator",y&&"is-open"),"aria-hidden":"true"})})]})]}),(0,Te.jsxs)("div",{className:"o-page__inside border-gray-wp-400",style:y?void 0:{display:"none"},children:[(0,Te.jsxs)("div",{className:"o-page__wrapper",children:[(0,Te.jsxs)("div",{className:"o-page__content",children:[(0,Te.jsx)(Ti,{name:D("menu_title"),id:D("menu_title"),label:(0,r.__)("Menu page title","admin-options-pages"),value:n.menu_title,onChange:e=>b("menu_title",e),rules:"required|alphanumeric_spaces",as:"page menu title",placeholder:(0,r.__)("Title","admin-options-pages"),inputRef:v}),(0,Te.jsx)(Ti,{name:D("subpage_title"),id:D("subpage_title"),label:(0,r.__)("Page title","admin-options-pages"),value:n.subpage_title,onChange:e=>b("subpage_title",e),rules:"no_less_than_sign",as:"page title"}),(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:`subpage_page_selector_${e}`,className:"c-input-label",children:(0,r.__)("Page title on top","admin-options-pages")}),(0,Te.jsx)("select",{className:"c-select",name:D("select_title"),id:`subpage_page_selector_${e}`,value:E.value,onChange:e=>b("select_title",e.target.value),onKeyDown:e=>"Enter"===e.key&&e.preventDefault(),children:E.options.map((e,t)=>(0,Te.jsx)("option",{children:e},`${e}-${t}`))})]}),(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:`subpage_tab_${e}`,className:"c-input-label for-toggle",children:(0,r.__)("Show page with tab","admin-options-pages")}),(0,Te.jsx)(Oi,{name:D("subpage_tab"),id:`subpage_tab_${e}`,checked:Boolean(n.include_tab),value:"1",onChange:e=>b("include_tab",e)})]}),(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:`subpage_role_selector_${e}`,className:"c-input-label",children:(0,r.__)("User access level","admin-options-pages")}),(0,Te.jsxs)("select",{className:"c-select",name:D("role"),id:`subpage_role_selector_${e}`,value:(M=n.capability,void 0===M||"manage_options"===M||"administrator"===M?"administrator":"editor"),onChange:e=>b("capability",e.target.value),onKeyDown:e=>"Enter"===e.key&&e.preventDefault(),children:[(0,Te.jsx)("option",{value:"administrator",children:i?.general?.role?.administrator}),(0,Te.jsx)("option",{value:"editor",children:i?.general?.role?.editor})]})]}),"existing"===a?(0,Te.jsx)(co,{pageKey:e,page:n,set:b}):(0,Te.jsx)("input",{type:"hidden",name:D("subpage_position"),value:""}),(0,Te.jsx)("input",{type:"hidden",name:D("subpage_toggle"),value:String(y)}),(0,Te.jsx)("input",{type:"hidden",name:D("subpage_slug"),value:w}),(0,Te.jsx)("input",{type:"hidden",name:D("subpage_slug_suffix"),value:n.subpage_slug_suffix})]}),(0,Te.jsxs)("div",{className:"o-page__options flex flex-col justify-between",children:[_.current&&(0,Te.jsx)("div",{className:"o-input-wrapper justify-end",children:(0,Te.jsx)("a",{href:C,className:"alignright button",children:(0,r.__)("Visit Page","admin-options-pages")})}),(0,Te.jsx)("div",{className:"o-input-wrapper justify-end",children:(0,Te.jsx)(_i,{label:(0,r.__)("Delete Page","admin-options-pages"),onConfirm:()=>g(e)})})]})]}),(0,Te.jsxs)("div",{className:"o-fields-wrapper border-gray-wp-200 border-t",children:[(0,Te.jsx)(hi,{shared:!0,type:"field",containerId:li(e),items:n.fields,getId:oi,className:Se("o-drag-list for-fields",s&&"is-active",!n.fields[0]&&"is-empty"),itemClassName:"o-field",slotIndex:f?.pageKey===e?f.index:null,ghostAway:null!==f,onMove:(t,n)=>m(e,t,n),renderItem:(t,n,a)=>(0,Te.jsx)(es,{pageKey:e,fieldKey:n,slug:w,sortable:a})}),(0,Te.jsx)(ao,{pageKey:e,suffix:n.subpage_slug_suffix,isEmpty:!n.fields[0]})]})]})]});var M}function po({config:e={}}){const{pages:t,removedFields:n,id:a,sideBarVisible:s,hoverOverDropdown:c,moving:d,text:u}=(0,l.useSelect)(e=>{const t=e(Ce);return{pages:t.getPages(),removedFields:t.getRemovedFields(),id:t.getData().id,sideBarVisible:t.isSidebarVisible(),hoverOverDropdown:t.getUi().hoverOverDropdown,moving:t.getUi().moving,text:t.getText()}},[]),{movePage:p,validateAll:g,setFieldTypes:m}=(0,l.useDispatch)(Ce),[f,h]=(0,o.useState)(!1),[v,_]=(0,o.useState)([]);return(0,o.useEffect)(()=>{let e=!1;return i()({path:"/aop/v1/field-types"}).then(t=>!e&&m(t.types)).catch(()=>{}),()=>{e=!0}},[m]),(0,o.useEffect)(()=>{if(a){const e=setTimeout(()=>g(),100);return()=>clearTimeout(e)}},[a,g]),(0,Te.jsxs)("div",{className:"inset-0 absolute block-editor__container",children:[(0,Te.jsx)("div",{className:"h-full",children:(0,Te.jsx)("div",{className:"h-full",children:(0,Te.jsx)("div",{className:"h-full",children:(0,Te.jsxs)("form",{method:"POST",onSubmit:async function(e){if(e.preventDefault(),!f){h(!0),_([]);try{const t=await function({id:e,body:t}){return i()({path:"/aop/v1/pages"+(e?`/${e}`:""),method:"POST",body:t})}({id:a,body:new URLSearchParams(new FormData(e.currentTarget))});return void(a?window.location.reload():window.location.assign(t.redirect))}catch(e){_(function(e){const t=e?.data?.errors;return Array.isArray(t)&&t.length?t.map(e=>e.message):[e?.message||(0,r.__)("Saving failed.","admin-options-pages")]}(e))}h(!1)}},children:[v.length>0&&(0,Te.jsx)("div",{className:"notice notice-error aop-save-errors",role:"alert",children:v.map(e=>(0,Te.jsx)("p",{children:e},e))}),(0,Te.jsxs)(ro,{children:[(0,Te.jsx)(rt,{}),(0,Te.jsxs)("div",{className:Se("c-editor-main",!s&&"no-side-bar",c&&"dropdown-active"),children:[(0,Te.jsx)("input",{type:"hidden",id:e.nonceName,name:e.nonceName,value:e.nonce||""}),(0,Te.jsx)("input",{type:"hidden",name:"_wp_http_referer",value:e.referer||""}),(0,Te.jsx)("input",{type:"hidden",name:"side_bar_visible",value:String(s)}),n.map(e=>(0,Te.jsx)("input",{type:"hidden",name:"removed_fields[]",value:e},e)),(0,Te.jsx)("div",{className:"o-body",children:(0,Te.jsx)("div",{className:"o-body__content",children:(0,Te.jsxs)("div",{className:"w-full relative",children:[(0,Te.jsx)("div",{className:"screen-reader-text"}),(0,Te.jsxs)("div",{className:"o-meta-box__pages-wrapper",children:[(0,Te.jsx)(hi,{shared:!0,type:"page",items:t,getId:si,className:Se("o-drag-list",d&&"is-active"),itemClassName:"",onMove:(e,t)=>p(e,t),renderItem:(e,t,n)=>(0,Te.jsx)(uo,{pageKey:t,sortable:n})}),(0,Te.jsx)(Qe,{}),(0,Te.jsx)("div",{className:"h-screen-half w-full"})]})]})})})]}),(0,Te.jsx)("div",{children:(0,Te.jsx)(ct,{})})]}),(0,Te.jsxs)("div",{className:"hidden min-width-screen bg-white w-full h-full z-50 absolute",children:[(0,Te.jsx)("div",{}),(0,Te.jsxs)("div",{className:"bg-gray-200 my-5",children:[(0,Te.jsx)("p",{className:"text-center text-xl mt-20 px-20",children:(0,r.__)("At this moment there is no proper support for small/mobile screens.","admin-options-pages")}),(0,Te.jsx)("p",{className:"text-center text-xl px-20",children:(0,r.__)("We hope to fix this in a future version.","admin-options-pages")}),(0,Te.jsx)("p",{className:"text-center text-2xl mt-20 px-20",children:(0,r.__)("The minimum required screen width is 1000px.","admin-options-pages")})]}),(0,Te.jsx)("div",{})]})]})})})}),(0,Te.jsx)("span",{className:"screen-reader-text",children:a?u?.page?.update?.h1Title:u?.page?.create?.h1Title})]})}function go({config:e}){return(0,Te.jsx)(po,{config:e})}const mo={};function fo(e,t){mo[e]=t}function ho(e){return{...e.dataset}}const vo="aop-modal-is-open",_o=window.aop_script_data_js;var xo;_o&&(xo=_o.rest,!s&&xo&&(i().use(i().createRootURLMiddleware(xo.root)),i().use(i().createNonceMiddleware(xo.nonce)),s=!0),function(e){const a=function(e,a){return(0,l.createReduxStore)(Ce,{reducer:j,actions:t,selectors:n,initialState:b(e,a)})}(e,{dashIcons:window.aop_dashicons_js});(0,l.register)(a)}(_o),function(e=Zi()){Object.entries(Ys).forEach(([t,n])=>{e.register(t,{EditComponent:n})})}(),fo("modal",function(){const{open:e,href:t,text:n}=(0,l.useSelect)(e=>{const t=e(Ce);return{open:t.isModalOpen(),href:t.getHrefDeleteAction(),text:t.getText()?.general?.modal||{}}},[]),{closeModal:a}=(0,l.useDispatch)(Ce),i=(0,o.useRef)();return(0,o.useEffect)(()=>{if(!e)return;const t=e=>"Escape"===e.key&&a();return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[e,a]),(0,o.useEffect)(()=>(document.body.classList.toggle(vo,e),e&&i.current&&i.current.focus(),()=>document.body.classList.remove(vo)),[e]),(0,Te.jsx)("div",{role:"presentation",className:"c-modal__screen-overlay",style:e?void 0:{display:"none"},onClick:e=>{"c-modal__screen-overlay"===e.target.className&&a()},children:(0,Te.jsx)("div",{className:"c-modal__frame",children:(0,Te.jsxs)("div",{role:"dialog","aria-modal":"true","aria-labelledby":"aop-modal-heading",className:"c-modal__content",ref:i,tabIndex:0,children:[(0,Te.jsxs)("div",{className:"c-modal__header",children:[(0,Te.jsx)("div",{className:"c-modal__header-heading-container",children:(0,Te.jsx)("h1",{className:"c-modal__header-heading",id:"aop-modal-heading",children:(0,Te.jsx)("span",{className:"edit-post-options-modal__title",children:n.heading})})}),(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Close dialog","admin-options-pages"),children:(0,Te.jsx)("button",{type:"button","aria-label":(0,r.__)("Close dialog","admin-options-pages"),className:"c-modal__button c-modal__icon-button",onClick:a,children:(0,Te.jsx)("svg",{"aria-hidden":"true",role:"img",focusable:"false",className:"dashicon dashicons-no-alt",xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",children:(0,Te.jsx)("path",{d:"M14.95 6.46L11.41 10l3.54 3.54-1.41 1.41L10 11.42l-3.53 3.53-1.42-1.42L8.58 10 5.05 6.47l1.42-1.42L10 8.58l3.54-3.53z"})})})})]}),(0,Te.jsxs)("div",{className:"c-modal__section",children:[(0,Te.jsx)("button",{className:"c-modal__button is-button is-cancel",tabIndex:0,type:"button",onClick:a,children:n.cancel}),(0,Te.jsx)("a",{className:"c-modal__button is-button is-delete",href:t,tabIndex:0,onKeyDown:e=>{"Tab"!==e.key||e.shiftKey||setTimeout(()=>i.current?.focus())},children:n.delete})]})]})})})}),fo("delete-page",function({data:e}){const t=(0,l.useSelect)(e=>e(Ce).getText()?.page||{},[]),{openModal:n}=(0,l.useDispatch)(Ce);return(0,Te.jsx)("button",{className:"c-row-action-button is-link",type:"button",onClick:()=>n(e.hrefDeleteAction),children:t.update?.linkDelete})}),function(e=document,t=window.aop_editor_config){const n=[],a=e.querySelector("#aop-react-root");if(a){const e=(0,o.createRoot)(a);e.render((0,Te.jsx)(go,{config:t})),n.push(e)}e.querySelectorAll("[data-aop-mount]").forEach(e=>{const t=mo[e.dataset.aopMount];if(!t)return;const a=(0,o.createRoot)(e);a.render((0,Te.jsx)(t,{data:ho(e)})),n.push(a)})}())})();
     1(()=>{"use strict";const e={n:t=>{const n=t&&t.__esModule?()=>t.default:()=>t;return e.d(n,{a:n}),n},d:(t,n)=>{for(var a in n)e.o(n,a)&&!e.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:n[a]})},o:(e,t)=>Object.hasOwn(e,t),r:e=>{Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}};var t={};e.r(t),e.d(t,{addField:()=>k,addPage:()=>C,addTableRow:()=>F,closeAllPages:()=>R,closeModal:()=>Z,decrementMenuPosition:()=>X,incrementMenuPosition:()=>G,moveField:()=>A,moveFieldToPage:()=>L,movePage:()=>M,moveTableRow:()=>V,openModal:()=>J,openPageOnError:()=>z,removeField:()=>I,removePage:()=>D,removeTableRow:()=>K,removeUnavailableField:()=>O,setExistingMenu:()=>$,setExistingMenus:()=>H,setFieldOpen:()=>P,setFieldTypes:()=>W,setIn:()=>E,setInputError:()=>te,setMenuTitle:()=>U,setMenuType:()=>B,setPageOpen:()=>T,setUi:()=>Y,togglePage:()=>S,toggleSidebar:()=>q,touch:()=>Q,validateAll:()=>ee});var n={};e.r(n),e.d(n,{getDashIcons:()=>ie,getData:()=>ae,getErrors:()=>be,getExcludedOptionNames:()=>Ee,getExistingMenu:()=>ge,getExistingMenus:()=>me,getField:()=>de,getFieldNames:()=>Ne,getFieldTypes:()=>Ce,getHrefDeleteAction:()=>_e,getMenu:()=>pe,getMenuType:()=>he,getPage:()=>ce,getPageData:()=>ne,getPages:()=>le,getRemovedFields:()=>re,getShownError:()=>ye,getText:()=>oe,getUi:()=>se,hasChanges:()=>je,hasPages:()=>ue,isModalOpen:()=>ve,isSidebarVisible:()=>fe,isTouched:()=>xe,isValid:()=>we});const a=window.wp.apiFetch;var s=e.n(a);let i=!1;const o=window.wp.element,l=window.wp.data,r=window.wp.i18n;function c(e,t,n){if(0===t.length)return n;const[a,...s]=t,i=(o=e??("number"==typeof a?[]:{}),Array.isArray(o)?o.slice():{...o});var o;return i[a]=c(i[a],s,n),i}function d(e,t,n){return c(e,t,n(u(e,t)))}function u(e,t,n){let a=e;for(const e of t){if(null==a)return n;a=a[e]}return void 0===a?n:a}function p(e,t){return e.filter((e,n)=>n!==t)}function g(e,t,n){if(t===n||t<0||n<0||t>=e.length||n>=e.length)return e;const a=e.slice(),[s]=a.splice(t,1);return a.splice(n,0,s),a}const m=new Map;function h(e,t){m.set(e,t)}const f=["field_label","field_title","description"];function v(e){let t=e;const n=function(e){const t={};return"true"===e.field_toggle?t.field_toggle=!0:"false"===e.field_toggle&&(t.field_toggle=!1),f.forEach(n=>{"string"==typeof e[n]&&e[n].includes("\\")&&(t[n]=e[n].replace(/\\/g,""))}),t}(t);Object.keys(n).length&&(t={...t,...n});const a=m.get(t.type),s=a?a(t):{};return Object.keys(s).length?{...t,...s}:t}function _(e=20){let t="";for(let n=0;n<e;n++)t+=String(Math.floor(10*Math.random()));return t}function x(e=10){let t="";for(let n=0;n<e;n++)t+="abcdefghijklmnopqrstuvwxyz0123456789".charAt(Math.floor(36*Math.random()));return t}function b(e,{random:t,randomText:n=x,dashIcons:a=[]}={}){const s=function(e){return e?.data?.existing_menu?"existing":"default"}(e),i=function(e,{random:t=_}={}){const n={...e.data||{}};if(n.pages||(n.pages=[{menu_slug:1,fields:[],subpage_toggle:!0}]),n.menu||(n.menu={page_title:"",menu_title:"",capability:"manage_options",menu_slug:"",menu_slug_suffix:"",icon_url:"dashicons-admin-generic",position:""}),!n.existing_menu){const t=(e.existingAdminMenuTitles||[])[0];n.existing_menu={menu_name:t?t.title:"",menu_slug:t?t.slug:""}}return n.menu_id||(n.menu_id=t(20)),"boolean"!=typeof n.side_bar_visible&&(n.side_bar_visible=!0),{...e,data:n}}(e,{random:t}),o={...i.data,pages:i.data.pages.map((e,t,a)=>function(e,t,n=x){const a={...e,fields:(e.fields||[]).map(v)};return a.subpage_slug_suffix||(a.subpage_slug_suffix=n(10)),void 0===a.subpage_toggle&&1===t&&(a.subpage_toggle=!0),a}(e,a.length,n))};return{pageData:{...i,data:o},initialData:JSON.parse(JSON.stringify(o)),dashIcons:a,ui:{menuType:s,existingMenuSlug:"",menuPagesLoaded:!1,sideBarVisible:i.data.side_bar_visible,modalActive:!1,hrefDeleteAction:"",hoverOverDropdown:!1,moving:!1,fieldTypes:null,errors:{},touched:{}}}}const y=["pageData","data"],w=[...y,"pages"];function j(e,t){switch(t.type){case"SET_IN":return c(e,[...y,...t.path],t.value);case"ADD_PAGE":return d(e,w,e=>[...e,{menu_slug:t.id,fields:[],subpage_toggle:!0,subpage_slug_suffix:t.id}]);case"REMOVE_PAGE":return d(e,w,e=>p(e,t.pageKey));case"MOVE_PAGE":return d(e,w,e=>g(e,t.from,t.to));case"SET_PAGE_OPEN":return c(e,[...w,t.pageKey,"subpage_toggle"],t.open);case"CLOSE_ALL_PAGES":return d(e,w,e=>e.map(e=>e.subpage_toggle?{...e,subpage_toggle:!1}:e));case"TOGGLE_PAGE":return d(e,[...w,t.pageKey,"subpage_toggle"],e=>!e);case"ADD_FIELD":return d(e,[...w,t.pageKey,"fields"],e=>[...e,v({...t.defaults||{},id:t.id,type:t.fieldType,field_toggle:void 0})]);case"REMOVE_FIELD":return d(e,[...w,t.pageKey,"fields"],e=>p(e,t.fieldKey));case"REMOVE_UNAVAILABLE_FIELD":return d(d(e,[...w,t.pageKey,"fields"],e=>p(e,t.fieldKey)),[...y,"removed_fields"],e=>[...e||[],String(t.id)]);case"MOVE_FIELD":return d(e,[...w,t.pageKey,"fields"],e=>g(e,t.from,t.to));case"MOVE_FIELD_TO_PAGE":{const n=e.pageData.data.pages[t.fromPage]?.fields[t.fromIndex];if(!n||!e.pageData.data.pages[t.toPage])return e;let a=d(e,[...w,t.fromPage,"fields"],e=>p(e,t.fromIndex));return a=d(a,[...w,t.toPage,"fields"],e=>{const a=e.slice();return a.splice(Math.min(t.toIndex,a.length),0,n),a}),a}case"SET_FIELD_OPEN":return c(e,[...w,t.pageKey,"fields",t.fieldKey,"field_toggle"],t.open);case"OPEN_PAGE_ON_ERROR":{let n=c(e,[...w,t.pageKey,"subpage_toggle"],!0);return void 0!==t.fieldKey&&(n=c(n,[...w,t.pageKey,"fields",t.fieldKey,"field_toggle"],!0)),n}case"ADD_TABLE_ROW":return d(e,[...w,t.pageKey,"fields",t.fieldKey,"table_list"],e=>[...e||[],{label:"",value:"",id:t.id}]);case"REMOVE_TABLE_ROW":return d(e,[...w,t.pageKey,"fields",t.fieldKey,"table_list"],e=>p(e,t.rowKey));case"MOVE_TABLE_ROW":return d(e,[...w,t.pageKey,"fields",t.fieldKey,"table_list"],e=>g(e,t.from,t.to));case"SET_MENU_TYPE":{let n=c(e,["ui","menuType"],t.menuType);return"existing"===t.menuType&&(n=c(n,[...y,"existing_menu"],t.menu)),"default"===t.menuType&&e.pageData.data.menu&&(n=c(n,[...y,"menu"],t.menu)),n}case"SET_EXISTING_MENU":{const n=e.pageData.existingAdminMenuTitles||[],a=n.find(e=>e.slug===t.slug);if(!a)return e;let s=c(e,["pageData","existingAdminMenuTitles"],[a,...n.filter(e=>e.slug!==t.slug)]);return s=c(s,[...y,"existing_menu"],{menu_name:a.title,menu_slug:t.slug}),c(s,["ui","existingMenuSlug"],t.slug)}case"SET_EXISTING_MENUS":return c(e,["pageData","existingAdminMenuTitles"],t.menus);case"SET_MENU_TITLE":return c(e,[...y,"menu"],{...e.pageData.data.menu,menu_title:t.title,page_title:t.title});case"STEP_MENU_POSITION":return c(e,[...y,"menu","position"],Number(e.pageData.data.menu.position)+t.step);case"SET_UI":return c(e,["ui",t.key],t.value);case"TOGGLE_SIDEBAR":return c(e,["ui","sideBarVisible"],!e.ui.sideBarVisible);case"OPEN_MODAL":return c(c(e,["ui","modalActive"],!0),["ui","hrefDeleteAction"],t.hrefDeleteAction);case"CLOSE_MODAL":return c(c(e,["ui","modalActive"],!1),["ui","hrefDeleteAction"],"");case"TOUCH":return c(e,["ui","touched",t.name],!0);case"VALIDATE_ALL":{const t=Object.keys(e.ui.errors);return t.every(t=>e.ui.touched[t])?e:c(e,["ui","touched"],{...e.ui.touched,...Object.fromEntries(t.map(e=>[e,!0]))})}case"SET_INPUT_ERROR":{const n=e.ui.errors[t.name];if(n===t.message||!n&&!t.message)return e;if(!t.message){const{[t.name]:n,...a}=e.ui.errors;return c(e,["ui","errors"],a)}return c(e,["ui","errors",t.name],t.message)}default:return e}}const N=()=>(new Date).getTime(),E=(e,t)=>({type:"SET_IN",path:e,value:t}),C=(e=N())=>({type:"ADD_PAGE",id:e}),D=e=>({type:"REMOVE_PAGE",pageKey:e}),M=(e,t)=>({type:"MOVE_PAGE",from:e,to:t}),S=e=>({type:"TOGGLE_PAGE",pageKey:e}),T=(e,t)=>({type:"SET_PAGE_OPEN",pageKey:e,open:t}),R=()=>({type:"CLOSE_ALL_PAGES"}),k=(e,t,n=N(),a={})=>({type:"ADD_FIELD",pageKey:e,fieldType:t,id:n,defaults:a}),I=(e,t)=>({type:"REMOVE_FIELD",pageKey:e,fieldKey:t}),O=(e,t,n)=>({type:"REMOVE_UNAVAILABLE_FIELD",pageKey:e,fieldKey:t,id:n}),A=(e,t,n)=>({type:"MOVE_FIELD",pageKey:e,from:t,to:n}),L=(e,t,n,a)=>({type:"MOVE_FIELD_TO_PAGE",fromPage:e,fromIndex:t,toPage:n,toIndex:a}),P=(e,t,n)=>({type:"SET_FIELD_OPEN",pageKey:e,fieldKey:t,open:n}),z=(e,t)=>({type:"OPEN_PAGE_ON_ERROR",pageKey:e,fieldKey:t}),F=(e,t,n=N())=>({type:"ADD_TABLE_ROW",pageKey:e,fieldKey:t,id:n}),K=(e,t,n)=>({type:"REMOVE_TABLE_ROW",pageKey:e,fieldKey:t,rowKey:n}),V=(e,t,n,a)=>({type:"MOVE_TABLE_ROW",pageKey:e,fieldKey:t,from:n,to:a}),B=(e,t)=>({type:"SET_MENU_TYPE",menuType:e,menu:t}),$=e=>({type:"SET_EXISTING_MENU",slug:e}),H=e=>({type:"SET_EXISTING_MENUS",menus:e}),U=e=>({type:"SET_MENU_TITLE",title:e}),G=()=>({type:"STEP_MENU_POSITION",step:1}),X=()=>({type:"STEP_MENU_POSITION",step:-1}),W=e=>({type:"SET_UI",key:"fieldTypes",value:e}),Y=(e,t)=>({type:"SET_UI",key:e,value:t}),q=()=>({type:"TOGGLE_SIDEBAR"}),J=e=>({type:"OPEN_MODAL",hrefDeleteAction:e}),Z=()=>({type:"CLOSE_MODAL"}),Q=e=>({type:"TOUCH",name:e}),ee=()=>({type:"VALIDATE_ALL"}),te=(e,t)=>({type:"SET_INPUT_ERROR",name:e,message:t||null}),ne=e=>e.pageData,ae=e=>e.pageData.data,se=e=>e.ui,ie=e=>e.dashIcons,oe=e=>e.pageData.text,le=e=>e.pageData.data.pages,re=e=>e.pageData.data.removed_fields||[],ce=(e,t)=>le(e)[t],de=(e,t,n)=>u(e,["pageData","data","pages",t,"fields",n]),ue=e=>le(e).length>0,pe=e=>e.pageData.data.menu,ge=e=>e.pageData.data.existing_menu,me=e=>e.pageData.existingAdminMenuTitles||[],he=e=>e.ui.menuType,fe=e=>e.ui.sideBarVisible,ve=e=>e.ui.modalActive,_e=e=>e.ui.hrefDeleteAction,xe=(e,t)=>Boolean(e.ui.touched[t]),be=e=>e.ui.errors,ye=(e,t)=>e.ui.errors[t]&&e.ui.touched[t]?e.ui.errors[t]:null,we=e=>0===Object.keys(e.ui.errors).length&&le(e).length>0,je=e=>JSON.stringify(ae(e))!==JSON.stringify(e.initialData),Ne=e=>le(e).flatMap(e=>e.fields||[]).map(e=>e.field_name).filter(Boolean),Ee=e=>{const t={};Ne(e).forEach(e=>{t[e]=(t[e]||0)+1});const n=Object.keys(t).filter(e=>t[e]>1);return n.length?n:Object.values(e.pageData.data.registered_options||{})},Ce=e=>e.ui.fieldTypes,De="aop/editor",Me=window.wp.components;function Se(...e){return e.filter(Boolean).join(" ")}const Te=window.ReactJSXRuntime;function Re(){const{iconUrl:e,dashIcons:t}=(0,l.useSelect)(e=>{const t=e(De);return{iconUrl:t.getMenu()?.icon_url||"dashicons-admin-generic",dashIcons:t.getDashIcons()||[]}},[]),{setIn:n}=(0,l.useDispatch)(De),[a,s]=(0,o.useState)(!1),[i,c]=(0,o.useState)(""),[d,u]=(0,o.useState)(null),p=(0,o.useRef)(),g=(0,o.useRef)(),m=(0,o.useRef)(),h=(0,o.useRef)(),f=(0,o.useMemo)(()=>t.map(e=>({name:e[0],css:e[1]})).filter(e=>e.name.includes(i.trim())),[t,i]);function v(){a&&(s(!1),u(null),g.current?.focus())}return(0,o.useEffect)(()=>{if(!a)return;const e=e=>{p.current&&!p.current.contains(e.target)&&(s(!1),u(null))},t=e=>{"c-icon-dropdown__item"!==e.target.parentNode?.className&&u(null)};return document.addEventListener("click",e),document.addEventListener("mouseover",t),m.current?.focus(),()=>{document.removeEventListener("click",e),document.removeEventListener("mouseover",t)}},[a]),(0,Te.jsxs)("div",{className:"flex",children:[(0,Te.jsx)("input",{type:"hidden",name:"menu[menu_icon]",id:"menu_icon",value:e}),(0,Te.jsx)("span",{className:"screen-reader-text",children:(0,r.__)("Icon","admin-options-pages")}),(0,Te.jsxs)("div",{className:"relative w-36px",ref:p,children:[(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Choose an icon","admin-options-pages"),children:(0,Te.jsx)("button",{ref:g,type:"button",className:Se("c-icon-picker",a&&"dropdown-is-open"),"aria-label":(0,r.__)("Choose an icon","admin-options-pages"),"aria-expanded":a?"true":"false",onClick:()=>a?v():s(!0),children:(0,Te.jsx)("div",{className:"c-icon-picker__inner",children:(0,Te.jsx)("span",{className:Se("c-icon-picker__icon dashicons-before",`dashicons-${e.replace("dashicons-","")}`)})})})}),a&&(0,Te.jsx)("div",{className:"c-icon-dropdown",onKeyDown:e=>"Escape"===e.key&&v(),children:(0,Te.jsxs)("div",{className:"flex flex-col",children:[(0,Te.jsx)("input",{ref:m,type:"search",className:"c-icon-dropdown__search",placeholder:(0,r.__)("Search for an icon…","admin-options-pages"),value:i,onChange:e=>c(e.target.value),onKeyDown:e=>{if("Enter"===e.key&&e.preventDefault(),"Tab"===e.key&&e.shiftKey){e.preventDefault();const t=h.current?.querySelectorAll("button");(t&&t.length?t[t.length-1]:m.current).focus()}}}),(0,Te.jsx)("div",{className:"pl-4 pr-4 pb-4 overflow-auto h-388px",children:(0,Te.jsxs)("ul",{className:"c-icon-dropdown__row",ref:h,children:[f.map(e=>(0,Te.jsx)("li",{className:"c-icon-dropdown__item",onMouseOver:()=>u(e),onFocus:()=>u(e),children:(0,Te.jsx)("button",{type:"button",tabIndex:0,"aria-label":e.name,className:Se("c-icon-dropdown__icon-name dashicons-before",`dashicons-${e.name}`),onFocus:()=>u(e),onClick:()=>{n(["menu","icon_url"],`dashicons-${e.name}`),s(!1),u(null),g.current?.focus()}})},e.name)),0===f.length&&(0,Te.jsx)("p",{className:"c-icon-dropdown__not-found-text",tabIndex:0,onFocus:()=>{u(null),m.current?.focus()},children:(0,r.__)("Nothing found.","admin-options-pages")})]})}),d&&(0,Te.jsx)("div",{className:"c-icon-dropdown__footer",tabIndex:0,children:(0,Te.jsxs)("p",{className:"c-icon-dropdown__footer__name",children:[d.name,(0,Te.jsx)("code",{className:"c-icon-dropdown__footer__css",dangerouslySetInnerHTML:{__html:d.css}})]})})]})})]})]})}const ke=(0,o.forwardRef)(({icon:e,size:t=24,...n},a)=>(0,o.cloneElement)(e,{width:t,height:t,...n,ref:a})),Ie=window.wp.primitives,Oe=(0,Te.jsx)(Ie.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,Te.jsx)(Ie.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M12.218 5.377a.25.25 0 0 0-.436 0l-7.29 12.96a.25.25 0 0 0 .218.373h14.58a.25.25 0 0 0 .218-.372l-7.29-12.96Zm-1.743-.735c.669-1.19 2.381-1.19 3.05 0l7.29 12.96a1.75 1.75 0 0 1-1.525 2.608H4.71a1.75 1.75 0 0 1-1.525-2.608l7.29-12.96ZM12.75 17.46h-1.5v-1.5h1.5v1.5Zm-1.5-3h1.5v-5h-1.5v5Z"})});function Ae({id:e,message:t,className:n=""}){return(0,Te.jsx)("p",{id:e,className:Se("c-validate-message",n),style:t?void 0:{display:"none"},children:t&&(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(ke,{className:"c-validate-message__icon",icon:Oe,size:16}),(0,Te.jsx)("span",{children:t})]})})}function Le(e,t){return t?{"aria-invalid":!0,"aria-describedby":e}:{}}function Pe({id:e,message:t}){return(0,Te.jsx)("div",{className:"tooltip-error",style:t?void 0:{display:"none"},children:(0,Te.jsx)(Ae,{id:e,message:t})})}const ze=/^[A-Za-z0-9_]+$/,Fe=/^_*[A-Za-z0-9]\w*$/,Ke=/^[\p{L}\p{M}\p{N}\s]+$/u,Ve=/^#(?:[a-f0-9]{3}|[a-f0-9]{6})$/i,Be=/^[A-Za-z0-9_-]+$/,$e=/^[^A-Z]*$/,He=/</,Ue=(e,t)=>Array.isArray(e)?e.every(t):t(e),Ge=e=>null==e||""===e,Xe={required:{getMessage:e=>`The ${e} is required.`,validate:(e,[t=!1]=[])=>Array.isArray(e)?!!e.length:!(!1===e&&t||null==e||!String(e).trim().length)},classAttribute:{getMessage:()=>"Only valid HTML class names allowed.",validate:e=>String(e).split(/\s+/).filter(Boolean).every(e=>Be.test(e))},noUppercase:{getMessage:()=>"No capital letters allowed.",validate:e=>Ue(e,e=>$e.test(e))},alphanumericUnderscore:{getMessage:e=>`The ${e} may only contain letters, numbers and underscores.`,validate:e=>Ue(e,e=>ze.test(e))},optionName:{getMessage:e=>`The ${e} may only contain letters, numbers and underscores, and needs a letter or a number.`,validate:e=>Ue(e,e=>Fe.test(e))},alphanumericSpaces:{getMessage:e=>`The ${e} may only contain letters, numbers and spaces.`,validate:e=>Ue(e,e=>Ke.test(e))},colorHex:{getMessage:e=>`The ${e} must be a valid Hex color.`,validate:e=>Ue(e,e=>Ve.test(e))},noLessThanSign:{getMessage:e=>`The ${e} may not have a 'less than' (<) character.`,validate:e=>Ue(e,e=>!He.test(e))},between:{getMessage:(e,[t,n])=>`The ${e} must be between ${t} and ${n}.`,validate:(e,[t,n])=>!(!Ge(t)&&!Ge(n)&&t!==n)||Ue(e,e=>Number(t)<=e&&Number(n)>=e)},included:{getMessage:e=>`The ${e} field must be a valid value.`,validate:(e,t)=>Ue(e,e=>[...t].some(t=>t===e))},excludedOptionName:{getMessage:()=>"This option_name is already in use.",validate:(...e)=>!Xe.included.validate(...e)},excludedTableValue:{getMessage:()=>"This value is used more than ones.",validate:(...e)=>!Xe.included.validate(...e)},excluded:{getMessage:e=>`The ${e} must be a valid value.`,validate:(...e)=>!Xe.included.validate(...e)},min:{getMessage:(e,[t])=>`The ${e} must be at least ${t} characters.`,validate:(e,[t])=>null!=e&&String(e).length>=t},max:{getMessage:(e,[t])=>`The ${e} field may not be greater than ${t} characters.`,validate:(e,[t])=>null!=e&&String(e).length<=t},numeric:{getMessage:()=>"Only numbers.",validate:e=>Ue(e,e=>/^[0-9]+$/.test(String(e)))},minValue:{getMessage:(e,[t])=>`The ${e} must be ${t} or more.`,validate:(e,[t])=>!t||!Ge(e)&&(Array.isArray(e)?e.length>0&&e.every(e=>Xe.minValue.validate(e,[t])):Number(e)>=t)},maxValue:{getMessage:(e,[t])=>`The ${e} must be ${t} or less.`,validate:(e,[t])=>!t||!Ge(e)&&(Array.isArray(e)?e.length>0&&e.every(e=>Xe.maxValue.validate(e,[t])):Number(e)<=t)},decimal:{getMessage:(e,[t="*"]=[])=>`The ${e} must be numeric and may contain ${t&&"*"!==t?t:""} decimal points.`,validate:(e,[t="*",n="."]=[])=>Array.isArray(e)?e.every(e=>Xe.decimal.validate(e,[t,n])):!!Ge(e)||(0===Number(t)?/^-?\d*$/.test(e):new RegExp(`^-?\\d*(\\${n}\\d${"*"===t?"+":`{1,${t}}`})?$`).test(e)&&!Number.isNaN(parseFloat(e)))}},We=Xe,Ye={required:We.required,class_attribute:We.classAttribute,no_uppercase:We.noUppercase,alphanumeric_underscore:We.alphanumericUnderscore,option_name:We.optionName,alphanumeric_spaces:We.alphanumericSpaces,color_hex:We.colorHex,between:We.between,excluded:We.excluded,excluded_option_name:We.excludedOptionName,excluded_table_value:We.excludedTableValue,min:We.min,max:We.max,min_value:We.minValue,max_value:We.maxValue,numeric:We.numeric,decimal:We.decimal,no_less_than_sign:We.noLessThanSign};function qe({name:e,value:t,rules:n,as:a}){const{setInputError:s,touch:i}=(0,l.useDispatch)(De),r=function(e,t,n="field"){const a=function(e){return String(e||"").split("|").filter(Boolean).map(e=>{const[t,...n]=e.split(":"),a=n.join(":");return{name:t,params:""===a?[]:a.split(",")}})}(t);if(!a.some(e=>"required"===e.name)&&function(e){return null==e||""===e||Array.isArray(e)&&0===e.length}(e))return null;for(const{name:t,params:s}of a){const a=Ye[t];if(!a)throw new Error(`Unknown validation rule: ${t}`);if(!a.validate(e,s))return a.getMessage(n,s)}return null}(t,n,a);(0,o.useEffect)(()=>{s(e,r)},[e,r,s]),(0,o.useEffect)(()=>()=>s(e,null),[e,s]);const c=(0,l.useSelect)(t=>t(De).getShownError(e),[e]);return{message:c,invalid:Boolean(c),onTouch:()=>i(e)}}Object.keys(Ye);const Je=(0,Te.jsx)(Ie.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,Te.jsx)(Ie.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-4 14.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h8v13zm4.5-.5c0 .3-.2.5-.5.5h-2.5v-13H18c.3 0 .5.2.5.5v12z"})});function Ze(){const{valid:e,id:t,changed:n,text:a}=(0,l.useSelect)(e=>{const t=e(De);return{valid:t.isValid(),id:t.getData().id,changed:t.hasChanges(),text:t.getText()?.page||{}}},[]),s=!e||t&&!n;return(0,Te.jsx)(Me.Button,{variant:"primary",size:"compact",type:"submit",disabled:s,name:"submit",id:"submit",className:"menu-save",children:t?a.update?.buttonUpdate:a.create?.buttonSave})}function Qe(){const{addPage:e}=(0,l.useDispatch)(De);return(0,Te.jsx)("div",{className:"mt-4 flex items-center justify-center",children:(0,Te.jsx)("button",{type:"button","aria-expanded":"false",className:"button button-large c-icon-button for-new-page",onClick:()=>e(),children:(0,r.__)("Add New Page","admin-options-pages")})})}function et(){const e=(0,l.useSelect)(e=>e(De).isSidebarVisible(),[]),{toggleSidebar:t}=(0,l.useDispatch)(De),n=(0,o.useRef)(),a=(0,o.useRef)(!0);return(0,o.useEffect)(()=>{a.current?a.current=!1:!e&&n.current&&n.current.focus()},[e]),(0,Te.jsx)(Me.Button,{ref:n,icon:Je,label:(0,r.__)("Settings","admin-options-pages"),size:"compact",isPressed:e,"aria-expanded":e?"true":"false",onClick:()=>t()})}function tt(){const{data:e,text:t}=(0,l.useSelect)(e=>{const t=e(De);return{data:t.getData(),text:t.getText()?.page||{}}},[]),{openModal:n}=(0,l.useDispatch)(De);return e.id?(0,Te.jsx)("button",{className:"button is-delete-button w-full",type:"button",onClick:()=>n(`?page=${e.page}&action=delete&optionpage=${e.id}&nonce=${e.nonce}`),children:t.update?.linkDelete}):null}const nt=["Backspace","Tab","Meta","Control","ArrowRight","ArrowLeft"],at=["1","2","3","4","5","6","7","8","9"];function st(e){return e.shiftKey||e.ctrlKey||e.altKey||e.metaKey}const it=e=>String(e??"").replace(/&#039;/g,"'");function ot(){const e=(0,l.useSelect)(e=>e(De).getMenu().menu_title,[]),{setMenuTitle:t}=(0,l.useDispatch)(De),{message:n,invalid:a,onTouch:s}=qe({name:"menu[menu_title]",value:e??"",rules:"required|alphanumeric_spaces|min:3",as:"menu title"});return(0,Te.jsx)("div",{className:"flex border-l header-item ml-3 h-36px",children:(0,Te.jsxs)("div",{className:"flex flex-wrap items-center ml-2",children:[(0,Te.jsx)("label",{className:"mr-2",htmlFor:"menu_title",children:(0,r.__)("Title","admin-options-pages")}),(0,Te.jsxs)("div",{className:"relative",children:[(0,Te.jsx)("input",{className:Se("c-input no-min-width",a&&"not-valid"),type:"text",name:"menu[menu_title]",id:"menu_title",value:e??"",...Le("menu_title-message",a),onChange:e=>t(e.target.value),onBlur:s,onKeyDown:e=>"Enter"===e.key&&e.preventDefault()}),(0,Te.jsx)(Pe,{id:"menu_title-message",message:a?n:null})]})]})})}function lt(){const e=(0,l.useSelect)(e=>e(De).getMenu().position,[]),{setIn:t,incrementMenuPosition:n,decrementMenuPosition:a}=(0,l.useDispatch)(De),{message:s,invalid:i,onTouch:o}=qe({name:"menu[menu_position]",value:e??"",rules:"decimal:3|required|between:1,150.999",as:"position"});return(0,Te.jsx)("div",{className:"flex border-l header-item ml-2 h-36px",children:(0,Te.jsxs)("div",{className:"flex flex-wrap items-center ml-2 mr-1",children:[(0,Te.jsx)("label",{className:"mr-2",htmlFor:"menu_position",children:(0,r.__)("Position","admin-options-pages")}),(0,Te.jsxs)("div",{className:"relative",children:[(0,Te.jsx)("input",{className:Se("c-input is-position",i&&"not-valid"),type:"text",placeholder:"1-150",name:"menu[menu_position]",id:"menu_position",value:e??"",...Le("menu_position-message",i),onChange:e=>t(["menu","position"],e.target.value),onBlur:o,onKeyDown:t=>{"Enter"===t.key&&t.preventDefault(),function(e,t,{up:n,down:a}){if(st(e))return;const{key:s}=e;at.includes(s)||nt.includes(s)||("0"!==s&&"."!==s||!Number(t))&&("ArrowUp"!==s?"ArrowDown"!==s?e.preventDefault():Number(t)>=2&&a():Number(t)<=149&&n())}(t,e,{up:n,down:a})}}),(0,Te.jsx)(Pe,{id:"menu_position-message",message:i?s:null})]})]})})}function rt(){const e=(0,l.useRegistry)(),{menuId:t,menuType:n,menus:a,existingSlug:s,menusLoaded:i,pageData:c}=(0,l.useSelect)(e=>{const t=e(De);return{menuId:t.getData().menu_id,menuType:t.getMenuType(),menus:t.getExistingMenus(),existingSlug:t.getUi().existingMenuSlug,menusLoaded:t.getUi().menuPagesLoaded,pageData:t.getPageData()}},[]),d=(0,l.useDispatch)(De),u="default"===n;function p(){d.validateAll(),Object.keys(e.select(De).getErrors()).forEach(e=>{const t=e.match(/\d+(?=\])/g);t&&d.openPageOnError(Number(t[0]),void 0===t[1]?void 0:Number(t[1]))})}(0,o.useEffect)(()=>{const t=e.select(De),n={id:null};return async function({data:e,dispatch:t,select:n}){const a=`${window.ajaxurl}?action=notUsedExistingMenuTitles&_ajax_nonce=${encodeURIComponent(e.ajaxNonce)}`,s=await fetch(a,{credentials:"same-origin"}),i=(await s.json()).map(e=>({...e,title:it(e.title)})),o=n.getData(),l="?page=admin_options_pages_create"===window.location.search;0!==o.menu.menu_slug.length||l?(t.setExistingMenus(i),t.setUi("menuType","default")):(t.setExistingMenus([{slug:o.existing_menu.menu_slug,title:o.existing_menu.menu_name},...i]),t.setUi("menuType","existing"));const r=n.getExistingMenus();r[0]&&t.setExistingMenu(r[0].slug)}({data:window.aop_script_data_js||c,dispatch:e.dispatch(De),select:t}).then(()=>{n.id=setTimeout(()=>d.setUi("menuPagesLoaded",!0),300)}).catch(e=>console.log(e)),()=>clearTimeout(n.id)},[]);const g=it(a.find(e=>e.slug===s)?.title);return(0,Te.jsxs)("div",{className:"c-editor-top-bar fixed top-0 p-2 bg-white z-30 border-solid border-b border-gray-wp-200 flex justify-between items-center left-0 right-0",children:[(0,Te.jsxs)("div",{className:"edit-post-header__toolbar ml-1 flex flex-wrap",children:[(0,Te.jsx)("input",{type:"hidden",name:"menu_id",value:t}),(0,Te.jsxs)("div",{role:"group","aria-label":(0,r.__)("Menu Type","admin-options-pages"),className:"components-button-group edit-post-header__button-group flex items-center",children:[(0,Te.jsx)(Me.Button,{size:"compact",variant:u?"primary":"secondary","aria-pressed":u,onClick:function(){const t=e.select(De),n=t.getMenu(),a=t.getPage(0);d.setMenuType("default",{page_title:n.menu_title,menu_title:n.menu_title,capability:"manage_options",menu_slug:a?.menu_slug,menu_slug_suffix:a?.subpage_slug_suffix,icon_url:n.icon_url,position:n.position})},children:(0,r.__)("Custom menu","admin-options-pages")}),(0,Te.jsx)(Me.Button,{size:"compact",variant:u?"secondary":"primary","aria-pressed":!u,onClick:function(){const e=a[0];d.setMenuType("existing",{menu_name:it(e?.title),menu_slug:e?.slug})},children:(0,r.__)("Existing menu","admin-options-pages")})]}),"existing"===n&&(0,Te.jsxs)("div",{className:"flex items-center border-l border-r border-gray-wp-200 ml-3 header-item h-36px",children:[(0,Te.jsx)("label",{className:"ml-2 mr-1",htmlFor:"subpage_page_selector",children:(0,r.__)("Menu title","admin-options-pages")}),a.length>0&&(0,Te.jsx)("select",{className:Se("c-select fade-in mr-2",i?"duration-0":"duration-1"),id:"subpage_page_selector",name:"existing_menu[menu_slug]",value:s,onChange:e=>d.setExistingMenu(e.target.value),onKeyDown:e=>"Enter"===e.key&&e.preventDefault(),children:a.map(e=>(0,Te.jsx)("option",{value:e.slug,children:it(e.title)},e.slug))}),(0,Te.jsx)("input",{type:"hidden",name:"existing_menu[menu_name]",value:g})]}),"default"===n&&(0,Te.jsxs)("div",{className:"flex items-center border-l border-r border-gray-wp-200 ml-3 header-item h-36px",children:[(0,Te.jsx)("legend",{className:"ml-2 mr-2",children:(0,r.__)("Icon","admin-options-pages")}),(0,Te.jsx)(Re,{}),(0,Te.jsx)(ot,{}),(0,Te.jsx)(lt,{})]})]}),(0,Te.jsxs)("div",{className:"edit-post-header__settings pl-3 pr-1 h-56px flex items-center gap-2",onMouseOver:p,onFocus:p,children:[(0,Te.jsx)(et,{}),(0,Te.jsx)(Ze,{})]})]})}function ct(){const e=(0,l.useSelect)(e=>e(De).isSidebarVisible(),[]),{toggleSidebar:t}=(0,l.useDispatch)(De);return(0,Te.jsx)("div",{className:Se("c-editor-side-bar fixed h-auto inset-y-0 right-0 bg-white border-l border-gray-300 text-gray-700",e?"is-open":"pointer-events-none"),"aria-hidden":!e,children:(0,Te.jsx)("div",{className:"flex flex-col justify-between h-full",children:(0,Te.jsxs)("div",{children:[(0,Te.jsxs)("div",{className:"h-50px bg-gray-wp-300 border-b border-gray-wp-200 sticky flex justify-between items-center pr-1",children:[(0,Te.jsx)("div",{}),(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Close settings","admin-options-pages"),children:(0,Te.jsx)("button",{type:"button","aria-label":(0,r.__)("Close settings","admin-options-pages"),className:"c-editor-side-bar__close-button",onClick:()=>t(),children:(0,Te.jsx)("svg",{"aria-hidden":"true",role:"img",focusable:"false",className:"dashicon dashicons-no-alt fill-current",xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",children:(0,Te.jsx)("path",{d:"M14.95 6.46L11.41 10l3.54 3.54-1.41 1.41L10 11.42l-3.53 3.53-1.42-1.42L8.58 10 5.05 6.47l1.42-1.42L10 8.58l3.54-3.53z"})})})})]}),(0,Te.jsx)("div",{className:"p-4 border-b border-gray-300",children:(0,Te.jsx)(tt,{})}),(0,Te.jsxs)("div",{className:"p-4 border-b border-gray-300",children:[(0,Te.jsx)("p",{children:(0,r.__)("Documentation","admin-options-pages")}),(0,Te.jsx)("div",{children:(0,Te.jsxs)("a",{target:"_blank",rel:"external noreferrer noopener",className:"c-link",href:"https://adminoptionspages.com/docs",children:[(0,Te.jsx)("span",{children:"adminoptionspages.com/docs"}),(0,Te.jsx)("svg",{"aria-hidden":"true",role:"img",focusable:"false",className:"fill-current inline-block c-link__icon",xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",children:(0,Te.jsx)("path",{d:"M9 3h8v8l-2-1V6.92l-5.6 5.59-1.41-1.41L14.08 5H10zm3 12v-3l2-2v7H3V6h8L9 8H5v7h7z"})})]})})]})]})})})}const dt=(0,Te.jsx)(Ie.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,Te.jsx)(Ie.Path,{d:"M8 7h2V5H8v2zm0 6h2v-2H8v2zm0 6h2v-2H8v2zm6-14v2h2V5h-2zm0 8h2v-2h-2v2zm0 6h2v-2h-2v2z"})}),ut=window.React;var pt=e.n(ut);const gt=window.ReactDOM,mt="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement;function ht(e){const t=Object.prototype.toString.call(e);return"[object Window]"===t||"[object global]"===t}function ft(e){return"nodeType"in e}function vt(e){var t,n;return e?ht(e)?e:ft(e)&&null!=(t=null==(n=e.ownerDocument)?void 0:n.defaultView)?t:window:window}function _t(e){const{Document:t}=vt(e);return e instanceof t}function xt(e){return!ht(e)&&e instanceof vt(e).HTMLElement}function bt(e){return e instanceof vt(e).SVGElement}function yt(e){return e?ht(e)?e.document:ft(e)?_t(e)?e:xt(e)||bt(e)?e.ownerDocument:document:document:document}const wt=mt?ut.useLayoutEffect:ut.useEffect;function jt(e){const t=(0,ut.useRef)(e);return wt(()=>{t.current=e}),(0,ut.useCallback)(function(){for(var e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];return null==t.current?void 0:t.current(...n)},[])}function Nt(e,t){void 0===t&&(t=[e]);const n=(0,ut.useRef)(e);return wt(()=>{n.current!==e&&(n.current=e)},t),n}function Et(e,t){const n=(0,ut.useRef)();return(0,ut.useMemo)(()=>{const t=e(n.current);return n.current=t,t},[...t])}function Ct(e){const t=jt(e),n=(0,ut.useRef)(null),a=(0,ut.useCallback)(e=>{e!==n.current&&(null==t||t(e,n.current)),n.current=e},[]);return[n,a]}function Dt(e){const t=(0,ut.useRef)();return(0,ut.useEffect)(()=>{t.current=e},[e]),t.current}let Mt={};function St(e,t){return(0,ut.useMemo)(()=>{if(t)return t;const n=null==Mt[e]?0:Mt[e]+1;return Mt[e]=n,e+"-"+n},[e,t])}function Tt(e){return function(t){for(var n=arguments.length,a=new Array(n>1?n-1:0),s=1;s<n;s++)a[s-1]=arguments[s];return a.reduce((t,n)=>{const a=Object.entries(n);for(const[n,s]of a){const a=t[n];null!=a&&(t[n]=a+e*s)}return t},{...t})}}const Rt=Tt(1),kt=Tt(-1);function It(e){if(!e)return!1;const{KeyboardEvent:t}=vt(e.target);return t&&e instanceof t}function Ot(e){if(function(e){if(!e)return!1;const{TouchEvent:t}=vt(e.target);return t&&e instanceof t}(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return function(e){return"clientX"in e&&"clientY"in e}(e)?{x:e.clientX,y:e.clientY}:null}const At=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[At.Translate.toString(e),At.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:a}=e;return t+" "+n+"ms "+a}}}),Lt="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function Pt(e){return e.matches(Lt)?e:e.querySelector(Lt)}const zt={display:"none"};function Ft(e){let{id:t,value:n}=e;return pt().createElement("div",{id:t,style:zt},n)}function Kt(e){let{id:t,announcement:n,ariaLiveType:a="assertive"}=e;return pt().createElement("div",{id:t,style:{position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"},role:"status","aria-live":a,"aria-atomic":!0},n)}const Vt=(0,ut.createContext)(null),Bt={draggable:"\n    To pick up a draggable item, press the space bar.\n    While dragging, use the arrow keys to move the item.\n    Press space again to drop the item in its new position, or press escape to cancel.\n  "},$t={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function Ht(e){let{announcements:t=$t,container:n,hiddenTextDescribedById:a,screenReaderInstructions:s=Bt}=e;const{announce:i,announcement:o}=function(){const[e,t]=(0,ut.useState)("");return{announce:(0,ut.useCallback)(e=>{null!=e&&t(e)},[]),announcement:e}}(),l=St("DndLiveRegion"),[r,c]=(0,ut.useState)(!1);if((0,ut.useEffect)(()=>{c(!0)},[]),function(e){const t=(0,ut.useContext)(Vt);(0,ut.useEffect)(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of <DndContext>");return t(e)},[e,t])}((0,ut.useMemo)(()=>({onDragStart(e){let{active:n}=e;i(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:a}=e;t.onDragMove&&i(t.onDragMove({active:n,over:a}))},onDragOver(e){let{active:n,over:a}=e;i(t.onDragOver({active:n,over:a}))},onDragEnd(e){let{active:n,over:a}=e;i(t.onDragEnd({active:n,over:a}))},onDragCancel(e){let{active:n,over:a}=e;i(t.onDragCancel({active:n,over:a}))}}),[i,t])),!r)return null;const d=pt().createElement(pt().Fragment,null,pt().createElement(Ft,{id:a,value:s.draggable}),pt().createElement(Kt,{id:l,announcement:o}));return n?(0,gt.createPortal)(d,n):d}var Ut;function Gt(){}function Xt(e,t){return(0,ut.useMemo)(()=>({sensor:e,options:null!=t?t:{}}),[e,t])}function Wt(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,ut.useMemo)(()=>[...t].filter(e=>null!=e),[...t])}!function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"}(Ut||(Ut={}));const Yt=Object.freeze({x:0,y:0});function qt(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function Jt(e,t){const n=Ot(e);return n?(n.x-t.left)/t.width*100+"% "+(n.y-t.top)/t.height*100+"%":"0 0"}function Zt(e,t){let{data:{value:n}}=e,{data:{value:a}}=t;return n-a}function Qt(e,t){let{data:{value:n}}=e,{data:{value:a}}=t;return a-n}function en(e,t,n){return void 0===t&&(t=e.left),void 0===n&&(n=e.top),{x:t+.5*e.width,y:n+.5*e.height}}const tn=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:a}=e;const s=en(t,t.left,t.top),i=[];for(const e of a){const{id:t}=e,a=n.get(t);if(a){const n=qt(en(a),s);i.push({id:t,data:{droppableContainer:e,value:n}})}}return i.sort(Zt)};function nn(e,t){const n=Math.max(t.top,e.top),a=Math.max(t.left,e.left),s=Math.min(t.left+t.width,e.left+e.width),i=Math.min(t.top+t.height,e.top+e.height),o=s-a,l=i-n;if(a<s&&n<i){const n=t.width*t.height,a=e.width*e.height,s=o*l;return Number((s/(n+a-s)).toFixed(4))}return 0}const an=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:a}=e;const s=[];for(const e of a){const{id:a}=e,i=n.get(a);if(i){const n=nn(i,t);n>0&&s.push({id:a,data:{droppableContainer:e,value:n}})}}return s.sort(Qt)};function sn(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:Yt}function on(e){return function(t){for(var n=arguments.length,a=new Array(n>1?n-1:0),s=1;s<n;s++)a[s-1]=arguments[s];return a.reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}const ln=on(1);function rn(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}const cn={ignoreTransform:!1};function dn(e,t){void 0===t&&(t=cn);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:t,transformOrigin:a}=vt(e).getComputedStyle(e);t&&(n=function(e,t,n){const a=rn(t);if(!a)return e;const{scaleX:s,scaleY:i,x:o,y:l}=a,r=e.left-o-(1-s)*parseFloat(n),c=e.top-l-(1-i)*parseFloat(n.slice(n.indexOf(" ")+1)),d=s?e.width/s:e.width,u=i?e.height/i:e.height;return{width:d,height:u,top:c,right:r+d,bottom:c+u,left:r}}(n,t,a))}const{top:a,left:s,width:i,height:o,bottom:l,right:r}=n;return{top:a,left:s,width:i,height:o,bottom:l,right:r}}function un(e){return dn(e,{ignoreTransform:!0})}function pn(e,t){const n=[];return e?function a(s){if(null!=t&&n.length>=t)return n;if(!s)return n;if(_t(s)&&null!=s.scrollingElement&&!n.includes(s.scrollingElement))return n.push(s.scrollingElement),n;if(!xt(s)||bt(s))return n;if(n.includes(s))return n;const i=vt(e).getComputedStyle(s);return s!==e&&function(e,t){void 0===t&&(t=vt(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(e=>{const a=t[e];return"string"==typeof a&&n.test(a)})}(s,i)&&n.push(s),function(e,t){return void 0===t&&(t=vt(e).getComputedStyle(e)),"fixed"===t.position}(s,i)?n:a(s.parentNode)}(e):n}function gn(e){const[t]=pn(e,1);return null!=t?t:null}function mn(e){return mt&&e?ht(e)?e:ft(e)?_t(e)||e===yt(e).scrollingElement?window:xt(e)?e:null:null:null}function hn(e){return ht(e)?e.scrollX:e.scrollLeft}function fn(e){return ht(e)?e.scrollY:e.scrollTop}function vn(e){return{x:hn(e),y:fn(e)}}var xn;function bn(e){return!(!mt||!e)&&e===document.scrollingElement}function yn(e){const t={x:0,y:0},n=bn(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},a={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=a.y,isRight:e.scrollLeft>=a.x,maxScroll:a,minScroll:t}}!function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"}(xn||(xn={}));const wn={x:.2,y:.2};function jn(e,t,n,a,s){let{top:i,left:o,right:l,bottom:r}=n;void 0===a&&(a=10),void 0===s&&(s=wn);const{isTop:c,isBottom:d,isLeft:u,isRight:p}=yn(e),g={x:0,y:0},m={x:0,y:0},h=t.height*s.y,f=t.width*s.x;return!c&&i<=t.top+h?(g.y=xn.Backward,m.y=a*Math.abs((t.top+h-i)/h)):!d&&r>=t.bottom-h&&(g.y=xn.Forward,m.y=a*Math.abs((t.bottom-h-r)/h)),!p&&l>=t.right-f?(g.x=xn.Forward,m.x=a*Math.abs((t.right-f-l)/f)):!u&&o<=t.left+f&&(g.x=xn.Backward,m.x=a*Math.abs((t.left+f-o)/f)),{direction:g,speed:m}}function Nn(e){if(e===document.scrollingElement){const{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}const{top:t,left:n,right:a,bottom:s}=e.getBoundingClientRect();return{top:t,left:n,right:a,bottom:s,width:e.clientWidth,height:e.clientHeight}}function En(e){return e.reduce((e,t)=>Rt(e,vn(t)),Yt)}function Cn(e,t){if(void 0===t&&(t=dn),!e)return;const{top:n,left:a,bottom:s,right:i}=t(e);gn(e)&&(s<=0||i<=0||n>=window.innerHeight||a>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const Dn=[["x",["left","right"],function(e){return e.reduce((e,t)=>e+hn(t),0)}],["y",["top","bottom"],function(e){return e.reduce((e,t)=>e+fn(t),0)}]];class Mn{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const n=pn(t),a=En(n);this.rect={...e},this.width=e.width,this.height=e.height;for(const[e,t,s]of Dn)for(const i of t)Object.defineProperty(this,i,{get:()=>{const t=s(n),o=a[e]-t;return this.rect[i]+o},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class Sn{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>{var t;return null==(t=this.target)?void 0:t.removeEventListener(...e)})},this.target=e}add(e,t,n){var a;null==(a=this.target)||a.addEventListener(e,t,n),this.listeners.push([e,t,n])}}function Tn(e,t){const n=Math.abs(e.x),a=Math.abs(e.y);return"number"==typeof t?Math.sqrt(n**2+a**2)>t:"x"in t&&"y"in t?n>t.x&&a>t.y:"x"in t?n>t.x:"y"in t&&a>t.y}var Rn,kn;function In(e){e.preventDefault()}function On(e){e.stopPropagation()}!function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"}(Rn||(Rn={})),function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter",e.Tab="Tab"}(kn||(kn={}));const An={start:[kn.Space,kn.Enter],cancel:[kn.Esc],end:[kn.Space,kn.Enter,kn.Tab]},Ln=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case kn.Right:return{...n,x:n.x+25};case kn.Left:return{...n,x:n.x-25};case kn.Down:return{...n,y:n.y+25};case kn.Up:return{...n,y:n.y-25}}};class Pn{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;const{event:{target:t}}=e;this.props=e,this.listeners=new Sn(yt(t)),this.windowListeners=new Sn(vt(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(Rn.Resize,this.handleCancel),this.windowListeners.add(Rn.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(Rn.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&Cn(n),t(Yt)}handleKeyDown(e){if(It(e)){const{active:t,context:n,options:a}=this.props,{keyboardCodes:s=An,coordinateGetter:i=Ln,scrollBehavior:o="smooth"}=a,{code:l}=e;if(s.end.includes(l))return void this.handleEnd(e);if(s.cancel.includes(l))return void this.handleCancel(e);const{collisionRect:r}=n.current,c=r?{x:r.left,y:r.top}:Yt;this.referenceCoordinates||(this.referenceCoordinates=c);const d=i(e,{active:t,context:n.current,currentCoordinates:c});if(d){const t=kt(d,c),a={x:0,y:0},{scrollableAncestors:s}=n.current;for(const n of s){const s=e.code,{isTop:i,isRight:l,isLeft:r,isBottom:c,maxScroll:u,minScroll:p}=yn(n),g=Nn(n),m={x:Math.min(s===kn.Right?g.right-g.width/2:g.right,Math.max(s===kn.Right?g.left:g.left+g.width/2,d.x)),y:Math.min(s===kn.Down?g.bottom-g.height/2:g.bottom,Math.max(s===kn.Down?g.top:g.top+g.height/2,d.y))},h=s===kn.Right&&!l||s===kn.Left&&!r,f=s===kn.Down&&!c||s===kn.Up&&!i;if(h&&m.x!==d.x){const e=n.scrollLeft+t.x,i=s===kn.Right&&e<=u.x||s===kn.Left&&e>=p.x;if(i&&!t.y)return void n.scrollTo({left:e,behavior:o});a.x=i?n.scrollLeft-e:s===kn.Right?n.scrollLeft-u.x:n.scrollLeft-p.x,a.x&&n.scrollBy({left:-a.x,behavior:o});break}if(f&&m.y!==d.y){const e=n.scrollTop+t.y,i=s===kn.Down&&e<=u.y||s===kn.Up&&e>=p.y;if(i&&!t.x)return void n.scrollTo({top:e,behavior:o});a.y=i?n.scrollTop-e:s===kn.Down?n.scrollTop-u.y:n.scrollTop-p.y,a.y&&n.scrollBy({top:-a.y,behavior:o});break}}this.handleMove(e,Rt(kt(d,this.referenceCoordinates),a))}}}handleMove(e,t){const{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){const{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){const{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}function zn(e){return Boolean(e&&"distance"in e)}function Fn(e){return Boolean(e&&"delay"in e)}Pn.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:a=An,onActivation:s}=t,{active:i}=n;const{code:o}=e.nativeEvent;if(a.start.includes(o)){const t=i.activatorNode.current;return!(t&&e.target!==t||(e.preventDefault(),null==s||s({event:e.nativeEvent}),0))}return!1}}];class Kn{constructor(e,t,n){var a;void 0===n&&(n=function(e){const{EventTarget:t}=vt(e);return e instanceof t?e:yt(e)}(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;const{event:s}=e,{target:i}=s;this.props=e,this.events=t,this.document=yt(i),this.documentListeners=new Sn(this.document),this.listeners=new Sn(n),this.windowListeners=new Sn(vt(i)),this.initialCoordinates=null!=(a=Ot(s))?a:Yt,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(Rn.Resize,this.handleCancel),this.windowListeners.add(Rn.DragStart,In),this.windowListeners.add(Rn.VisibilityChange,this.handleCancel),this.windowListeners.add(Rn.ContextMenu,In),this.documentListeners.add(Rn.Keydown,this.handleKeydown),t){if(null!=n&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(Fn(t))return this.timeoutId=setTimeout(this.handleStart,t.delay),void this.handlePending(t);if(zn(t))return void this.handlePending(t)}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),null!==this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){const{active:n,onPending:a}=this.props;a(n,e,this.initialCoordinates,t)}handleStart(){const{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(Rn.Click,On,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(Rn.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){var t;const{activated:n,initialCoordinates:a,props:s}=this,{onMove:i,options:{activationConstraint:o}}=s;if(!a)return;const l=null!=(t=Ot(e))?t:Yt,r=kt(a,l);if(!n&&o){if(zn(o)){if(null!=o.tolerance&&Tn(r,o.tolerance))return this.handleCancel();if(Tn(r,o.distance))return this.handleStart()}return Fn(o)&&Tn(r,o.tolerance)?this.handleCancel():void this.handlePending(o,r)}e.cancelable&&e.preventDefault(),i(l)}handleEnd(){const{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){const{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===kn.Esc&&this.handleCancel()}removeTextSelection(){var e;null==(e=this.document.getSelection())||e.removeAllRanges()}}const Vn={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class Bn extends Kn{constructor(e){const{event:t}=e,n=yt(t.target);super(e,Vn,n)}}Bn.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:a}=t;return!(!n.isPrimary||0!==n.button||(null==a||a({event:n}),0))}}];const $n={move:{name:"mousemove"},end:{name:"mouseup"}};var Hn;!function(e){e[e.RightClick=2]="RightClick"}(Hn||(Hn={})),class extends Kn{constructor(e){super(e,$n,yt(e.event.target))}}.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:a}=t;return n.button!==Hn.RightClick&&(null==a||a({event:n}),!0)}}];const Un={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};var Gn,Xn;(class extends Kn{constructor(e){super(e,Un)}static setup(){return window.addEventListener(Un.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(Un.move.name,e)};function e(){}}}).activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:a}=t;const{touches:s}=n;return!(s.length>1||(null==a||a({event:n}),0))}}],function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"}(Gn||(Gn={})),function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"}(Xn||(Xn={}));const Wn={x:{[xn.Backward]:!1,[xn.Forward]:!1},y:{[xn.Backward]:!1,[xn.Forward]:!1}};var Yn,qn;!function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"}(Yn||(Yn={})),function(e){e.Optimized="optimized"}(qn||(qn={}));const Jn=new Map;function Zn(e,t){return Et(n=>e?n||("function"==typeof t?t(e):e):null,[t,e])}function Qn(e){let{callback:t,disabled:n}=e;const a=jt(t),s=(0,ut.useMemo)(()=>{if(n||"undefined"==typeof window||void 0===window.ResizeObserver)return;const{ResizeObserver:e}=window;return new e(a)},[n]);return(0,ut.useEffect)(()=>()=>null==s?void 0:s.disconnect(),[s]),s}function ea(e){return new Mn(dn(e),e)}function ta(e,t,n){void 0===t&&(t=ea);const[a,s]=(0,ut.useState)(null);function i(){s(a=>{if(!e)return null;var s;if(!1===e.isConnected)return null!=(s=null!=a?a:n)?s:null;const i=t(e);return JSON.stringify(a)===JSON.stringify(i)?a:i})}const o=function(e){let{callback:t,disabled:n}=e;const a=jt(t),s=(0,ut.useMemo)(()=>{if(n||"undefined"==typeof window||void 0===window.MutationObserver)return;const{MutationObserver:e}=window;return new e(a)},[a,n]);return(0,ut.useEffect)(()=>()=>null==s?void 0:s.disconnect(),[s]),s}({callback(t){if(e)for(const n of t){const{type:t,target:a}=n;if("childList"===t&&a instanceof HTMLElement&&a.contains(e)){i();break}}}}),l=Qn({callback:i});return wt(()=>{i(),e?(null==l||l.observe(e),null==o||o.observe(document.body,{childList:!0,subtree:!0})):(null==l||l.disconnect(),null==o||o.disconnect())},[e]),a}const na=[];function aa(e,t){void 0===t&&(t=[]);const n=(0,ut.useRef)(null);return(0,ut.useEffect)(()=>{n.current=null},t),(0,ut.useEffect)(()=>{const t=e!==Yt;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?kt(e,n.current):Yt}function sa(e){return(0,ut.useMemo)(()=>e?function(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}(e):null,[e])}const ia=[];function oa(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return xt(t)?t:e}const la=[{sensor:Bn,options:{}},{sensor:Pn,options:{}}],ra={current:{}},ca={draggable:{measure:un},droppable:{measure:un,strategy:Yn.WhileDragging,frequency:qn.Optimized},dragOverlay:{measure:dn}};class da extends Map{get(e){var t;return null!=e&&null!=(t=super.get(e))?t:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){var t,n;return null!=(t=null==(n=this.get(e))?void 0:n.node.current)?t:void 0}}const ua={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new da,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:Gt},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:ca,measureDroppableContainers:Gt,windowRect:null,measuringScheduled:!1},pa={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:Gt,draggableNodes:new Map,over:null,measureDroppableContainers:Gt},ga=(0,ut.createContext)(pa),ma=(0,ut.createContext)(ua);function ha(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new da}}}function fa(e,t){switch(t.type){case Ut.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case Ut.DragMove:return null==e.draggable.active?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case Ut.DragEnd:case Ut.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case Ut.RegisterDroppable:{const{element:n}=t,{id:a}=n,s=new da(e.droppable.containers);return s.set(a,n),{...e,droppable:{...e.droppable,containers:s}}}case Ut.SetDroppableDisabled:{const{id:n,key:a,disabled:s}=t,i=e.droppable.containers.get(n);if(!i||a!==i.key)return e;const o=new da(e.droppable.containers);return o.set(n,{...i,disabled:s}),{...e,droppable:{...e.droppable,containers:o}}}case Ut.UnregisterDroppable:{const{id:n,key:a}=t,s=e.droppable.containers.get(n);if(!s||a!==s.key)return e;const i=new da(e.droppable.containers);return i.delete(n),{...e,droppable:{...e.droppable,containers:i}}}default:return e}}function va(e){let{disabled:t}=e;const{active:n,activatorEvent:a,draggableNodes:s}=(0,ut.useContext)(ga),i=Dt(a),o=Dt(null==n?void 0:n.id);return(0,ut.useEffect)(()=>{if(!t&&!a&&i&&null!=o){if(!It(i))return;if(document.activeElement===i.target)return;const e=s.get(o);if(!e)return;const{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(const e of[t.current,n.current]){if(!e)continue;const t=Pt(e);if(t){t.focus();break}}})}},[a,t,s,o,i]),null}function _a(e,t){let{transform:n,...a}=t;return null!=e&&e.length?e.reduce((e,t)=>t({transform:e,...a}),n):n}const xa=(0,ut.createContext)({...Yt,scaleX:1,scaleY:1});var ba;!function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"}(ba||(ba={}));const ya=(0,ut.memo)(function(e){var t,n,a,s;let{id:i,accessibility:o,autoScroll:l=!0,children:r,sensors:c=la,collisionDetection:d=an,measuring:u,modifiers:p,...g}=e;const m=(0,ut.useReducer)(fa,void 0,ha),[h,f]=m,[v,_]=function(){const[e]=(0,ut.useState)(()=>new Set),t=(0,ut.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,ut.useCallback)(t=>{let{type:n,event:a}=t;e.forEach(e=>{var t;return null==(t=e[n])?void 0:t.call(e,a)})},[e]),t]}(),[x,b]=(0,ut.useState)(ba.Uninitialized),y=x===ba.Initialized,{draggable:{active:w,nodes:j,translate:N},droppable:{containers:E}}=h,C=null!=w?j.get(w):null,D=(0,ut.useRef)({initial:null,translated:null}),M=(0,ut.useMemo)(()=>{var e;return null!=w?{id:w,data:null!=(e=null==C?void 0:C.data)?e:ra,rect:D}:null},[w,C]),S=(0,ut.useRef)(null),[T,R]=(0,ut.useState)(null),[k,I]=(0,ut.useState)(null),O=Nt(g,Object.values(g)),A=St("DndDescribedBy",i),L=(0,ut.useMemo)(()=>E.getEnabled(),[E]),P=(z=u,(0,ut.useMemo)(()=>({draggable:{...ca.draggable,...null==z?void 0:z.draggable},droppable:{...ca.droppable,...null==z?void 0:z.droppable},dragOverlay:{...ca.dragOverlay,...null==z?void 0:z.dragOverlay}}),[null==z?void 0:z.draggable,null==z?void 0:z.droppable,null==z?void 0:z.dragOverlay]));var z;const{droppableRects:F,measureDroppableContainers:K,measuringScheduled:V}=function(e,t){let{dragging:n,dependencies:a,config:s}=t;const[i,o]=(0,ut.useState)(null),{frequency:l,measure:r,strategy:c}=s,d=(0,ut.useRef)(e),u=function(){switch(c){case Yn.Always:return!1;case Yn.BeforeDragging:return n;default:return!n}}(),p=Nt(u),g=(0,ut.useCallback)(function(e){void 0===e&&(e=[]),p.current||o(t=>null===t?e:t.concat(e.filter(e=>!t.includes(e))))},[p]),m=(0,ut.useRef)(null),h=Et(t=>{if(u&&!n)return Jn;if(!t||t===Jn||d.current!==e||null!=i){const t=new Map;for(let n of e){if(!n)continue;if(i&&i.length>0&&!i.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}const e=n.node.current,a=e?new Mn(r(e),e):null;n.rect.current=a,a&&t.set(n.id,a)}return t}return t},[e,i,n,u,r]);return(0,ut.useEffect)(()=>{d.current=e},[e]),(0,ut.useEffect)(()=>{u||g()},[n,u]),(0,ut.useEffect)(()=>{i&&i.length>0&&o(null)},[JSON.stringify(i)]),(0,ut.useEffect)(()=>{u||"number"!=typeof l||null!==m.current||(m.current=setTimeout(()=>{g(),m.current=null},l))},[l,u,g,...a]),{droppableRects:h,measureDroppableContainers:g,measuringScheduled:null!=i}}(L,{dragging:y,dependencies:[N.x,N.y],config:P.droppable}),B=function(e,t){const n=null!=t?e.get(t):void 0,a=n?n.node.current:null;return Et(e=>{var n;return null==t?null:null!=(n=null!=a?a:e)?n:null},[a,t])}(j,w),$=(0,ut.useMemo)(()=>k?Ot(k):null,[k]),H=function(){const e=!1===(null==T?void 0:T.autoScrollEnabled),t="object"==typeof l?!1===l.enabled:!1===l,n=y&&!e&&!t;return"object"==typeof l?{...l,enabled:n}:{enabled:n}}(),U=function(e,t){return Zn(e,t)}(B,P.draggable.measure);!function(e){let{activeNode:t,measure:n,initialRect:a,config:s=!0}=e;const i=(0,ut.useRef)(!1),{x:o,y:l}="boolean"==typeof s?{x:s,y:s}:s;wt(()=>{if(!o&&!l||!t)return void(i.current=!1);if(i.current||!a)return;const e=null==t?void 0:t.node.current;if(!e||!1===e.isConnected)return;const s=sn(n(e),a);if(o||(s.x=0),l||(s.y=0),i.current=!0,Math.abs(s.x)>0||Math.abs(s.y)>0){const t=gn(e);t&&t.scrollBy({top:s.y,left:s.x})}},[t,o,l,a,n])}({activeNode:null!=w?j.get(w):null,config:H.layoutShiftCompensation,initialRect:U,measure:P.draggable.measure});const G=ta(B,P.draggable.measure,U),X=ta(B?B.parentElement:null),W=(0,ut.useRef)({activatorEvent:null,active:null,activeNode:B,collisionRect:null,collisions:null,droppableRects:F,draggableNodes:j,draggingNode:null,draggingNodeRect:null,droppableContainers:E,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),Y=E.getNodeFor(null==(t=W.current.over)?void 0:t.id),q=function(e){let{measure:t}=e;const[n,a]=(0,ut.useState)(null),s=Qn({callback:(0,ut.useCallback)(e=>{for(const{target:n}of e)if(xt(n)){a(e=>{const a=t(n);return e?{...e,width:a.width,height:a.height}:a});break}},[t])}),i=(0,ut.useCallback)(e=>{const n=oa(e);null==s||s.disconnect(),n&&(null==s||s.observe(n)),a(n?t(n):null)},[t,s]),[o,l]=Ct(i);return(0,ut.useMemo)(()=>({nodeRef:o,rect:n,setRef:l}),[n,o,l])}({measure:P.dragOverlay.measure}),J=null!=(n=q.nodeRef.current)?n:B,Z=y?null!=(a=q.rect)?a:G:null,Q=Boolean(q.nodeRef.current&&q.rect),ee=sn(te=Q?null:G,Zn(te));var te;const ne=sa(J?vt(J):null),ae=function(e){const t=(0,ut.useRef)(e),n=Et(n=>e?n&&n!==na&&e&&t.current&&e.parentNode===t.current.parentNode?n:pn(e):na,[e]);return(0,ut.useEffect)(()=>{t.current=e},[e]),n}(y?null!=Y?Y:B:null),se=function(e,t){void 0===t&&(t=dn);const[n]=e,a=sa(n?vt(n):null),[s,i]=(0,ut.useState)(ia);function o(){i(()=>e.length?e.map(e=>bn(e)?a:new Mn(t(e),e)):ia)}const l=Qn({callback:o});return wt(()=>{null==l||l.disconnect(),o(),e.forEach(e=>null==l?void 0:l.observe(e))},[e]),s}(ae),ie=_a(p,{transform:{x:N.x-ee.x,y:N.y-ee.y,scaleX:1,scaleY:1},activatorEvent:k,active:M,activeNodeRect:G,containerNodeRect:X,draggingNodeRect:Z,over:W.current.over,overlayNodeRect:q.rect,scrollableAncestors:ae,scrollableAncestorRects:se,windowRect:ne}),oe=$?Rt($,N):null,le=function(e){const[t,n]=(0,ut.useState)(null),a=(0,ut.useRef)(e),s=(0,ut.useCallback)(e=>{const t=mn(e.target);t&&n(e=>e?(e.set(t,vn(t)),new Map(e)):null)},[]);return(0,ut.useEffect)(()=>{const t=a.current;if(e!==t){i(t);const o=e.map(e=>{const t=mn(e);return t?(t.addEventListener("scroll",s,{passive:!0}),[t,vn(t)]):null}).filter(e=>null!=e);n(o.length?new Map(o):null),a.current=e}return()=>{i(e),i(t)};function i(e){e.forEach(e=>{const t=mn(e);null==t||t.removeEventListener("scroll",s)})}},[s,e]),(0,ut.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>Rt(e,t),Yt):En(e):Yt,[e,t])}(ae),re=aa(le),ce=aa(le,[G]),de=Rt(ie,re),ue=Z?ln(Z,ie):null,pe=M&&ue?d({active:M,collisionRect:ue,droppableRects:F,droppableContainers:L,pointerCoordinates:oe}):null,ge=function(e){if(!e||0===e.length)return null;const[t]=e;return t.id}(pe),[me,he]=(0,ut.useState)(null),fe=function(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}(Q?ie:Rt(ie,ce),null!=(s=null==me?void 0:me.rect)?s:null,G),ve=(0,ut.useRef)(null),_e=(0,ut.useCallback)((e,t)=>{let{sensor:n,options:a}=t;if(null==S.current)return;const s=j.get(S.current);if(!s)return;const i=e.nativeEvent,o=new n({active:S.current,activeNode:s,event:i,options:a,context:W,onAbort(e){if(!j.get(e))return;const{onDragAbort:t}=O.current,n={id:e};null==t||t(n),v({type:"onDragAbort",event:n})},onPending(e,t,n,a){if(!j.get(e))return;const{onDragPending:s}=O.current,i={id:e,constraint:t,initialCoordinates:n,offset:a};null==s||s(i),v({type:"onDragPending",event:i})},onStart(e){const t=S.current;if(null==t)return;const n=j.get(t);if(!n)return;const{onDragStart:a}=O.current,s={activatorEvent:i,active:{id:t,data:n.data,rect:D}};(0,gt.unstable_batchedUpdates)(()=>{null==a||a(s),b(ba.Initializing),f({type:Ut.DragStart,initialCoordinates:e,active:t}),v({type:"onDragStart",event:s}),R(ve.current),I(i)})},onMove(e){f({type:Ut.DragMove,coordinates:e})},onEnd:l(Ut.DragEnd),onCancel:l(Ut.DragCancel)});function l(e){return async function(){const{active:t,collisions:n,over:a,scrollAdjustedTranslate:s}=W.current;let o=null;if(t&&s){const{cancelDrop:l}=O.current;o={activatorEvent:i,active:t,collisions:n,delta:s,over:a},e===Ut.DragEnd&&"function"==typeof l&&await Promise.resolve(l(o))&&(e=Ut.DragCancel)}S.current=null,(0,gt.unstable_batchedUpdates)(()=>{f({type:e}),b(ba.Uninitialized),he(null),R(null),I(null),ve.current=null;const t=e===Ut.DragEnd?"onDragEnd":"onDragCancel";if(o){const e=O.current[t];null==e||e(o),v({type:t,event:o})}})}}ve.current=o},[j]),xe=(0,ut.useCallback)((e,t)=>(n,a)=>{const s=n.nativeEvent,i=j.get(a);if(null!==S.current||!i||s.dndKit||s.defaultPrevented)return;const o={active:i};!0===e(n,t.options,o)&&(s.dndKit={capturedBy:t.sensor},S.current=a,_e(n,t))},[j,_e]),be=function(e,t){return(0,ut.useMemo)(()=>e.reduce((e,n)=>{const{sensor:a}=n;return[...e,...a.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}))]},[]),[e,t])}(c,xe);!function(e){(0,ut.useEffect)(()=>{if(!mt)return;const t=e.map(e=>{let{sensor:t}=e;return null==t.setup?void 0:t.setup()});return()=>{for(const e of t)null==e||e()}},e.map(e=>{let{sensor:t}=e;return t}))}(c),wt(()=>{G&&x===ba.Initializing&&b(ba.Initialized)},[G,x]),(0,ut.useEffect)(()=>{const{onDragMove:e}=O.current,{active:t,activatorEvent:n,collisions:a,over:s}=W.current;if(!t||!n)return;const i={active:t,activatorEvent:n,collisions:a,delta:{x:de.x,y:de.y},over:s};(0,gt.unstable_batchedUpdates)(()=>{null==e||e(i),v({type:"onDragMove",event:i})})},[de.x,de.y]),(0,ut.useEffect)(()=>{const{active:e,activatorEvent:t,collisions:n,droppableContainers:a,scrollAdjustedTranslate:s}=W.current;if(!e||null==S.current||!t||!s)return;const{onDragOver:i}=O.current,o=a.get(ge),l=o&&o.rect.current?{id:o.id,rect:o.rect.current,data:o.data,disabled:o.disabled}:null,r={active:e,activatorEvent:t,collisions:n,delta:{x:s.x,y:s.y},over:l};(0,gt.unstable_batchedUpdates)(()=>{he(l),null==i||i(r),v({type:"onDragOver",event:r})})},[ge]),wt(()=>{W.current={activatorEvent:k,active:M,activeNode:B,collisionRect:ue,collisions:pe,droppableRects:F,draggableNodes:j,draggingNode:J,draggingNodeRect:Z,droppableContainers:E,over:me,scrollableAncestors:ae,scrollAdjustedTranslate:de},D.current={initial:Z,translated:ue}},[M,B,pe,ue,j,J,Z,F,E,me,ae,de]),function(e){let{acceleration:t,activator:n=Gn.Pointer,canScroll:a,draggingRect:s,enabled:i,interval:o=5,order:l=Xn.TreeOrder,pointerCoordinates:r,scrollableAncestors:c,scrollableAncestorRects:d,delta:u,threshold:p}=e;const g=function(e){let{delta:t,disabled:n}=e;const a=Dt(t);return Et(e=>{if(n||!a||!e)return Wn;const s=Math.sign(t.x-a.x),i=Math.sign(t.y-a.y);return{x:{[xn.Backward]:e.x[xn.Backward]||-1===s,[xn.Forward]:e.x[xn.Forward]||1===s},y:{[xn.Backward]:e.y[xn.Backward]||-1===i,[xn.Forward]:e.y[xn.Forward]||1===i}}},[n,t,a])}({delta:u,disabled:!i}),[m,h]=function(){const e=(0,ut.useRef)(null);return[(0,ut.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,ut.useCallback)(()=>{null!==e.current&&(clearInterval(e.current),e.current=null)},[])]}(),f=(0,ut.useRef)({x:0,y:0}),v=(0,ut.useRef)({x:0,y:0}),_=(0,ut.useMemo)(()=>{switch(n){case Gn.Pointer:return r?{top:r.y,bottom:r.y,left:r.x,right:r.x}:null;case Gn.DraggableRect:return s}},[n,s,r]),x=(0,ut.useRef)(null),b=(0,ut.useCallback)(()=>{const e=x.current;if(!e)return;const t=f.current.x*v.current.x,n=f.current.y*v.current.y;e.scrollBy(t,n)},[]),y=(0,ut.useMemo)(()=>l===Xn.TreeOrder?[...c].reverse():c,[l,c]);(0,ut.useEffect)(()=>{if(i&&c.length&&_){for(const e of y){if(!1===(null==a?void 0:a(e)))continue;const n=c.indexOf(e),s=d[n];if(!s)continue;const{direction:i,speed:l}=jn(e,s,_,t,p);for(const e of["x","y"])g[e][i[e]]||(l[e]=0,i[e]=0);if(l.x>0||l.y>0)return h(),x.current=e,m(b,o),f.current=l,void(v.current=i)}f.current={x:0,y:0},v.current={x:0,y:0},h()}else h()},[t,b,a,h,i,o,JSON.stringify(_),JSON.stringify(g),m,c,y,d,JSON.stringify(p)])}({...H,delta:N,draggingRect:ue,pointerCoordinates:oe,scrollableAncestors:ae,scrollableAncestorRects:se});const ye=(0,ut.useMemo)(()=>({active:M,activeNode:B,activeNodeRect:G,activatorEvent:k,collisions:pe,containerNodeRect:X,dragOverlay:q,draggableNodes:j,droppableContainers:E,droppableRects:F,over:me,measureDroppableContainers:K,scrollableAncestors:ae,scrollableAncestorRects:se,measuringConfiguration:P,measuringScheduled:V,windowRect:ne}),[M,B,G,k,pe,X,q,j,E,F,me,K,ae,se,P,V,ne]),we=(0,ut.useMemo)(()=>({activatorEvent:k,activators:be,active:M,activeNodeRect:G,ariaDescribedById:{draggable:A},dispatch:f,draggableNodes:j,over:me,measureDroppableContainers:K}),[k,be,M,G,f,A,j,me,K]);return pt().createElement(Vt.Provider,{value:_},pt().createElement(ga.Provider,{value:we},pt().createElement(ma.Provider,{value:ye},pt().createElement(xa.Provider,{value:fe},r)),pt().createElement(va,{disabled:!1===(null==o?void 0:o.restoreFocus)})),pt().createElement(Ht,{...o,hiddenTextDescribedById:A}))}),wa=(0,ut.createContext)(null),ja="button";function Na(){return(0,ut.useContext)(ma)}const Ea={timeout:25};function Ca(e){let{data:t,disabled:n=!1,id:a,resizeObserverConfig:s}=e;const i=St("Droppable"),{active:o,dispatch:l,over:r,measureDroppableContainers:c}=(0,ut.useContext)(ga),d=(0,ut.useRef)({disabled:n}),u=(0,ut.useRef)(!1),p=(0,ut.useRef)(null),g=(0,ut.useRef)(null),{disabled:m,updateMeasurementsFor:h,timeout:f}={...Ea,...s},v=Nt(null!=h?h:a),_=Qn({callback:(0,ut.useCallback)(()=>{u.current?(null!=g.current&&clearTimeout(g.current),g.current=setTimeout(()=>{c(Array.isArray(v.current)?v.current:[v.current]),g.current=null},f)):u.current=!0},[f]),disabled:m||!o}),x=(0,ut.useCallback)((e,t)=>{_&&(t&&(_.unobserve(t),u.current=!1),e&&_.observe(e))},[_]),[b,y]=Ct(x),w=Nt(t);return(0,ut.useEffect)(()=>{_&&b.current&&(_.disconnect(),u.current=!1,_.observe(b.current))},[b,_]),(0,ut.useEffect)(()=>(l({type:Ut.RegisterDroppable,element:{id:a,key:i,disabled:n,node:b,rect:p,data:w}}),()=>l({type:Ut.UnregisterDroppable,key:i,id:a})),[a]),(0,ut.useEffect)(()=>{n!==d.current.disabled&&(l({type:Ut.SetDroppableDisabled,id:a,key:i,disabled:n}),d.current.disabled=n)},[a,i,n,l]),{active:o,rect:p,isOver:(null==r?void 0:r.id)===a,node:b,over:r,setNodeRef:y}}function Da(e){let{animation:t,children:n}=e;const[a,s]=(0,ut.useState)(null),[i,o]=(0,ut.useState)(null),l=Dt(n);return n||a||!l||s(l),wt(()=>{if(!i)return;const e=null==a?void 0:a.key,n=null==a?void 0:a.props.id;null!=e&&null!=n?Promise.resolve(t(n,i)).then(()=>{s(null)}):s(null)},[t,a,i]),pt().createElement(pt().Fragment,null,n,a?(0,ut.cloneElement)(a,{ref:o}):null)}const Ma={x:0,y:0,scaleX:1,scaleY:1};function Sa(e){let{children:t}=e;return pt().createElement(ga.Provider,{value:pa},pt().createElement(xa.Provider,{value:Ma},t))}const Ta={position:"fixed",touchAction:"none"},Ra=e=>It(e)?"transform 250ms ease":void 0,ka=(0,ut.forwardRef)((e,t)=>{let{as:n,activatorEvent:a,adjustScale:s,children:i,className:o,rect:l,style:r,transform:c,transition:d=Ra}=e;if(!l)return null;const u=s?c:{...c,scaleX:1,scaleY:1},p={...Ta,width:l.width,height:l.height,top:l.top,left:l.left,transform:At.Transform.toString(u),transformOrigin:s&&a?Jt(a,l):void 0,transition:"function"==typeof d?d(a):d,...r};return pt().createElement(n,{className:o,style:p,ref:t},i)}),Ia=e=>t=>{let{active:n,dragOverlay:a}=t;const s={},{styles:i,className:o}=e;if(null!=i&&i.active)for(const[e,t]of Object.entries(i.active))void 0!==t&&(s[e]=n.node.style.getPropertyValue(e),n.node.style.setProperty(e,t));if(null!=i&&i.dragOverlay)for(const[e,t]of Object.entries(i.dragOverlay))void 0!==t&&a.node.style.setProperty(e,t);return null!=o&&o.active&&n.node.classList.add(o.active),null!=o&&o.dragOverlay&&a.node.classList.add(o.dragOverlay),function(){for(const[e,t]of Object.entries(s))n.node.style.setProperty(e,t);null!=o&&o.active&&n.node.classList.remove(o.active)}},Oa={duration:250,easing:"ease",keyframes:e=>{let{transform:{initial:t,final:n}}=e;return[{transform:At.Transform.toString(t)},{transform:At.Transform.toString(n)}]},sideEffects:Ia({styles:{active:{opacity:"0"}}})};let Aa=0;function La(e){return(0,ut.useMemo)(()=>{if(null!=e)return Aa++,Aa},[e])}const Pa=pt().memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:a,style:s,transition:i,modifiers:o,wrapperElement:l="div",className:r,zIndex:c=999}=e;const{activatorEvent:d,active:u,activeNodeRect:p,containerNodeRect:g,draggableNodes:m,droppableContainers:h,dragOverlay:f,over:v,measuringConfiguration:_,scrollableAncestors:x,scrollableAncestorRects:b,windowRect:y}=Na(),w=(0,ut.useContext)(xa),j=La(null==u?void 0:u.id),N=_a(o,{activatorEvent:d,active:u,activeNodeRect:p,containerNodeRect:g,draggingNodeRect:f.rect,over:v,overlayNodeRect:f.rect,scrollableAncestors:x,scrollableAncestorRects:b,transform:w,windowRect:y}),E=Zn(p),C=function(e){let{config:t,draggableNodes:n,droppableContainers:a,measuringConfiguration:s}=e;return jt((e,i)=>{if(null===t)return;const o=n.get(e);if(!o)return;const l=o.node.current;if(!l)return;const r=oa(i);if(!r)return;const{transform:c}=vt(i).getComputedStyle(i),d=rn(c);if(!d)return;const u="function"==typeof t?t:function(e){const{duration:t,easing:n,sideEffects:a,keyframes:s}={...Oa,...e};return e=>{let{active:i,dragOverlay:o,transform:l,...r}=e;if(!t)return;const c=o.rect.left-i.rect.left,d=o.rect.top-i.rect.top,u={scaleX:1!==l.scaleX?i.rect.width*l.scaleX/o.rect.width:1,scaleY:1!==l.scaleY?i.rect.height*l.scaleY/o.rect.height:1},p={x:l.x-c,y:l.y-d,...u},g=s({...r,active:i,dragOverlay:o,transform:{initial:l,final:p}}),[m]=g,h=g[g.length-1];if(JSON.stringify(m)===JSON.stringify(h))return;const f=null==a?void 0:a({active:i,dragOverlay:o,...r}),v=o.node.animate(g,{duration:t,easing:n,fill:"forwards"});return new Promise(e=>{v.onfinish=()=>{null==f||f(),e()}})}}(t);return Cn(l,s.draggable.measure),u({active:{id:e,data:o.data,node:l,rect:s.draggable.measure(l)},draggableNodes:n,dragOverlay:{node:i,rect:s.dragOverlay.measure(r)},droppableContainers:a,measuringConfiguration:s,transform:d})})}({config:a,draggableNodes:m,droppableContainers:h,measuringConfiguration:_}),D=E?f.setRef:void 0;return pt().createElement(Sa,null,pt().createElement(Da,{animation:C},u&&j?pt().createElement(ka,{key:j,id:u.id,ref:D,as:l,activatorEvent:d,adjustScale:t,className:r,transition:i,rect:E,style:{zIndex:c,...s},transform:N},n):null))});function za(e,t,n){const a=e.slice();return a.splice(n<0?a.length+n:n,0,a.splice(t,1)[0]),a}function Fa(e,t){return e.reduce((e,n,a)=>{const s=t.get(n);return s&&(e[a]=s),e},Array(e.length))}function Ka(e){return null!==e&&e>=0}const Va={scaleX:1,scaleY:1},Ba=e=>{var t;let{rects:n,activeNodeRect:a,activeIndex:s,overIndex:i,index:o}=e;const l=null!=(t=n[s])?t:a;if(!l)return null;const r=function(e,t,n){const a=e[t],s=e[t-1],i=e[t+1];return a&&(s||i)?n<t?s?a.left-(s.left+s.width):i.left-(a.left+a.width):i?i.left-(a.left+a.width):a.left-(s.left+s.width):0}(n,o,s);if(o===s){const e=n[i];return e?{x:s<i?e.left+e.width-(l.left+l.width):e.left-l.left,y:0,...Va}:null}return o>s&&o<=i?{x:-l.width-r,y:0,...Va}:o<s&&o>=i?{x:l.width+r,y:0,...Va}:{x:0,y:0,...Va}},$a=e=>{let{rects:t,activeIndex:n,overIndex:a,index:s}=e;const i=za(t,a,n),o=t[s],l=i[s];return l&&o?{x:l.left-o.left,y:l.top-o.top,scaleX:l.width/o.width,scaleY:l.height/o.height}:null},Ha={scaleX:1,scaleY:1},Ua=e=>{var t;let{activeIndex:n,activeNodeRect:a,index:s,rects:i,overIndex:o}=e;const l=null!=(t=i[n])?t:a;if(!l)return null;if(s===n){const e=i[o];return e?{x:0,y:n<o?e.top+e.height-(l.top+l.height):e.top-l.top,...Ha}:null}const r=function(e,t,n){const a=e[t],s=e[t-1],i=e[t+1];return a?n<t?s?a.top-(s.top+s.height):i?i.top-(a.top+a.height):0:i?i.top-(a.top+a.height):s?a.top-(s.top+s.height):0:0}(i,s,n);return s>n&&s<=o?{x:0,y:-l.height-r,...Ha}:s<n&&s>=o?{x:0,y:l.height+r,...Ha}:{x:0,y:0,...Ha}},Ga="Sortable",Xa=pt().createContext({activeIndex:-1,containerId:Ga,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:$a,disabled:{draggable:!1,droppable:!1}});function Wa(e){let{children:t,id:n,items:a,strategy:s=$a,disabled:i=!1}=e;const{active:o,dragOverlay:l,droppableRects:r,over:c,measureDroppableContainers:d}=Na(),u=St(Ga,n),p=Boolean(null!==l.rect),g=(0,ut.useMemo)(()=>a.map(e=>"object"==typeof e&&"id"in e?e.id:e),[a]),m=null!=o,h=o?g.indexOf(o.id):-1,f=c?g.indexOf(c.id):-1,v=(0,ut.useRef)(g),_=!function(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}(g,v.current),x=-1!==f&&-1===h||_,b=function(e){return"boolean"==typeof e?{draggable:e,droppable:e}:e}(i);wt(()=>{_&&m&&d(g)},[_,g,m,d]),(0,ut.useEffect)(()=>{v.current=g},[g]);const y=(0,ut.useMemo)(()=>({activeIndex:h,containerId:u,disabled:b,disableTransforms:x,items:g,overIndex:f,useDragOverlay:p,sortedRects:Fa(g,r),strategy:s}),[h,u,b.draggable,b.droppable,x,g,f,r,p,s]);return pt().createElement(Xa.Provider,{value:y},t)}const Ya=e=>{let{id:t,items:n,activeIndex:a,overIndex:s}=e;return za(n,a,s).indexOf(t)},qa=e=>{let{containerId:t,isSorting:n,wasDragging:a,index:s,items:i,newIndex:o,previousItems:l,previousContainerId:r,transition:c}=e;return!(!c||!a||l!==i&&s===o||!n&&(o===s||t!==r))},Ja={duration:200,easing:"ease"},Za="transform",Qa=At.Transition.toString({property:Za,duration:0,easing:"linear"}),es={roleDescription:"sortable"};function ts(e){let{animateLayoutChanges:t=qa,attributes:n,disabled:a,data:s,getNewIndex:i=Ya,id:o,strategy:l,resizeObserverConfig:r,transition:c=Ja}=e;const{items:d,containerId:u,activeIndex:p,disabled:g,disableTransforms:m,sortedRects:h,overIndex:f,useDragOverlay:v,strategy:_}=(0,ut.useContext)(Xa),x=function(e,t){var n,a;return"boolean"==typeof e?{draggable:e,droppable:!1}:{draggable:null!=(n=null==e?void 0:e.draggable)?n:t.draggable,droppable:null!=(a=null==e?void 0:e.droppable)?a:t.droppable}}(a,g),b=d.indexOf(o),y=(0,ut.useMemo)(()=>({sortable:{containerId:u,index:b,items:d},...s}),[u,s,b,d]),w=(0,ut.useMemo)(()=>d.slice(d.indexOf(o)),[d,o]),{rect:j,node:N,isOver:E,setNodeRef:C}=Ca({id:o,data:y,disabled:x.droppable,resizeObserverConfig:{updateMeasurementsFor:w,...r}}),{active:D,activatorEvent:M,activeNodeRect:S,attributes:T,setNodeRef:R,listeners:k,isDragging:I,over:O,setActivatorNodeRef:A,transform:L}=function(e){let{id:t,data:n,disabled:a=!1,attributes:s}=e;const i=St("Draggable"),{activators:o,activatorEvent:l,active:r,activeNodeRect:c,ariaDescribedById:d,draggableNodes:u,over:p}=(0,ut.useContext)(ga),{role:g=ja,roleDescription:m="draggable",tabIndex:h=0}=null!=s?s:{},f=(null==r?void 0:r.id)===t,v=(0,ut.useContext)(f?xa:wa),[_,x]=Ct(),[b,y]=Ct(),w=function(e,t){return(0,ut.useMemo)(()=>e.reduce((e,n)=>{let{eventName:a,handler:s}=n;return e[a]=e=>{s(e,t)},e},{}),[e,t])}(o,t),j=Nt(n);return wt(()=>(u.set(t,{id:t,key:i,node:_,activatorNode:b,data:j}),()=>{const e=u.get(t);e&&e.key===i&&u.delete(t)}),[u,t]),{active:r,activatorEvent:l,activeNodeRect:c,attributes:(0,ut.useMemo)(()=>({role:g,tabIndex:h,"aria-disabled":a,"aria-pressed":!(!f||g!==ja)||void 0,"aria-roledescription":m,"aria-describedby":d.draggable}),[a,g,h,f,m,d.draggable]),isDragging:f,listeners:a?void 0:w,node:_,over:p,setNodeRef:x,setActivatorNodeRef:y,transform:v}}({id:o,data:y,attributes:{...es,...n},disabled:x.draggable}),P=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,ut.useMemo)(()=>e=>{t.forEach(t=>t(e))},t)}(C,R),z=Boolean(D),F=z&&!m&&Ka(p)&&Ka(f),K=!v&&I,V=K&&F?L:null,B=F?null!=V?V:(null!=l?l:_)({rects:h,activeNodeRect:S,activeIndex:p,overIndex:f,index:b}):null,$=Ka(p)&&Ka(f)?i({id:o,items:d,activeIndex:p,overIndex:f}):b,H=null==D?void 0:D.id,U=(0,ut.useRef)({activeId:H,items:d,newIndex:$,containerId:u}),G=d!==U.current.items,X=t({active:D,containerId:u,isDragging:I,isSorting:z,id:o,index:b,items:d,newIndex:U.current.newIndex,previousItems:U.current.items,previousContainerId:U.current.containerId,transition:c,wasDragging:null!=U.current.activeId}),W=function(e){let{disabled:t,index:n,node:a,rect:s}=e;const[i,o]=(0,ut.useState)(null),l=(0,ut.useRef)(n);return wt(()=>{if(!t&&n!==l.current&&a.current){const e=s.current;if(e){const t=dn(a.current,{ignoreTransform:!0}),n={x:e.left-t.left,y:e.top-t.top,scaleX:e.width/t.width,scaleY:e.height/t.height};(n.x||n.y)&&o(n)}}n!==l.current&&(l.current=n)},[t,n,a,s]),(0,ut.useEffect)(()=>{i&&o(null)},[i]),i}({disabled:!X,index:b,node:N,rect:j});return(0,ut.useEffect)(()=>{z&&U.current.newIndex!==$&&(U.current.newIndex=$),u!==U.current.containerId&&(U.current.containerId=u),d!==U.current.items&&(U.current.items=d)},[z,$,u,d]),(0,ut.useEffect)(()=>{if(H===U.current.activeId)return;if(null!=H&&null==U.current.activeId)return void(U.current.activeId=H);const e=setTimeout(()=>{U.current.activeId=H},50);return()=>clearTimeout(e)},[H]),{active:D,activeIndex:p,attributes:T,data:y,rect:j,index:b,newIndex:$,items:d,isOver:E,isSorting:z,isDragging:I,listeners:k,node:N,overIndex:f,over:O,setNodeRef:P,setActivatorNodeRef:A,setDroppableNodeRef:C,setDraggableNodeRef:R,transform:null!=W?W:B,transition:W||G&&U.current.newIndex===b?Qa:K&&!It(M)||!c?void 0:z||X?At.Transition.toString({...c,property:Za}):void 0}}kn.Down,kn.Right,kn.Up,kn.Left;const ns="aop-is-dragging";function as(){document.body.classList.add(ns)}function ss(){document.body.classList.remove(ns)}const is=e=>`page:${e.menu_slug}`,os=e=>`field:${e.id}`,ls=e=>`fields:${e}`,rs="field-slot";function cs(e,t){for(let n=0;n<e.length;n++){const a=(e[n].fields||[]).findIndex(e=>os(e)===t);if(-1!==a)return{pageKey:n,index:a}}return null}function ds(e,t,n){if(!n||t===n)return null;if(t.startsWith("page:")){const a=e.findIndex(e=>is(e)===t),s=e.findIndex(e=>is(e)===n);return-1===a||-1===s?null:{action:"movePage",from:a,to:s}}const a=cs(e,t);if(!a)return null;let s=cs(e,n);if(!s&&n.startsWith("fields:")){const t=Number(n.slice(7));if(!e[t])return null;s={pageKey:t,index:a.pageKey===t?e[t].fields.length-1:e[t].fields.length}}return s?s.pageKey===a.pageKey?s.index===a.index?null:{action:"moveField",pageKey:a.pageKey,from:a.index,to:s.index}:{action:"moveFieldToPage",fromPage:a.pageKey,fromIndex:a.index,toPage:s.pageKey,toIndex:s.index}:null}function us({canMoveUp:e,canMoveDown:t,onUp:n,onDown:a,horizontal:s=!1}){const i=s?(0,r.__)("Move left","admin-options-pages"):(0,r.__)("Move up","admin-options-pages"),o=s?(0,r.__)("Move right","admin-options-pages"):(0,r.__)("Move down","admin-options-pages");return(0,Te.jsxs)("span",{className:"c-move-buttons",children:[(0,Te.jsx)(Me.Tooltip,{text:i,children:(0,Te.jsx)("button",{type:"button",className:"c-move-button is-up",disabled:!e,onClick:n,"aria-label":i,children:(0,Te.jsx)("span",{"aria-hidden":"true",className:`dashicons dashicons-arrow-${s?"left":"up"}-alt2`})})}),(0,Te.jsx)(Me.Tooltip,{text:o,children:(0,Te.jsx)("button",{type:"button",className:"c-move-button is-down",disabled:!t,onClick:a,"aria-label":o,children:(0,Te.jsx)("span",{"aria-hidden":"true",className:`dashicons dashicons-arrow-${s?"right":"down"}-alt2`})})})]})}function ps(e){const t=e.closest(".c-editor-main"),n=e.getBoundingClientRect();return{top:n.top+(t?.scrollTop??0),left:n.left+(t?.scrollLeft??0)}}function gs({id:e,type:t,index:n,count:a,item:s,itemClassName:i,renderItem:l,onMove:r,shared:c,ghostAway:d,nodesRef:u,beforeMoveRef:p}){const{attributes:g,listeners:m,setNodeRef:h,setActivatorNodeRef:f,transform:v,transition:_,isDragging:x}=ts({id:e,data:{type:t},attributes:{tabIndex:-1,role:"presentation"}}),b=(0,o.useRef)(null),[y,w]=(0,o.useState)(null);(0,o.useLayoutEffect)(()=>{const t=b.current,n=p.current?.get(e);if(!t||!n||x)return;p.current.delete(e);const a=ps(t),s=n.left-a.left,i=n.top-a.top;if(!s&&!i)return;t.style.transition="none",t.style.transform=`translate(${s}px, ${i}px)`;const o=window.requestAnimationFrame(()=>{w({transform:"translate(0, 0)",transition:"transform 200ms ease"})}),l=setTimeout(()=>w(null),200);return()=>{window.cancelAnimationFrame(o),clearTimeout(l)}},[n]);let j="";x&&(j=c?d?"is-ghost-slot is-ghost-away":"is-ghost-slot":"is-dragging");const N=y??{transform:At.Translate.toString(v),transition:_};function E(e){const t=new Map;u.current.forEach((e,n)=>{e&&t.set(n,ps(e))}),p.current=t,r(n,e)}return(0,Te.jsx)("div",{ref:t=>{h(t),b.current=t,t?u.current.set(e,t):u.current.delete(e)},style:N,className:[i,j].filter(Boolean).join(" "),children:l(s,n,{isDragging:x,handleProps:{ref:f,...g,...m},barProps:m,canMoveUp:n>0,canMoveDown:n<a-1,moveUp:()=>E(n-1),moveDown:()=>E(n+1)})})}function ms({className:e}){const{setNodeRef:t}=Ca({id:rs,data:{type:"fieldSlot"}});return(0,Te.jsx)("div",{ref:t,"aria-hidden":"true",className:[e,"is-ghost-slot is-drop-slot"].filter(Boolean).join(" ")})}function hs({containerId:e,className:t,children:n}){const{setNodeRef:a}=Ca({id:e,data:{type:"fieldList"}});return(0,Te.jsx)("div",{ref:a,className:t,children:n})}function fs({items:e,getId:t,onMove:n,renderItem:a,className:s="",itemClassName:i="",horizontal:l=!1,onDragStart:r,onDragEnd:c,shared:d=!1,type:u="item",containerId:p,slotIndex:g=null,ghostAway:m=!1}){const h=Wt(Xt(Bn,{activationConstraint:{distance:5}})),f=e.map(t),v=(0,o.useRef)(new Map),_=(0,o.useRef)(new Map),x=e.map((t,s)=>(0,Te.jsx)(gs,{id:f[s],type:u,index:s,count:e.length,item:t,itemClassName:i,renderItem:a,onMove:n,shared:d,ghostAway:m,nodesRef:v,beforeMoveRef:_},f[s]));null!==g&&x.splice(g,0,(0,Te.jsx)(ms,{className:i},rs));const b=l?Ba:Ua,y=p?(0,Te.jsx)(hs,{containerId:p,className:s,children:x}):(0,Te.jsx)("div",{className:s,children:x});return d?(0,Te.jsx)(Wa,{items:f,strategy:b,children:y}):(0,Te.jsx)(ya,{sensors:h,collisionDetection:tn,onDragStart:({active:e})=>(as(),r&&r(e.id)),onDragEnd:e=>{ss(),function({active:e,over:t}){c&&c(),t&&e.id!==t.id&&n(f.indexOf(e.id),f.indexOf(t.id))}(e)},onDragCancel:()=>(ss(),c&&c()),children:(0,Te.jsx)(Wa,{items:f,strategy:b,children:y})})}function vs({onConfirm:e,onCancel:t}){const n=(0,o.useRef)(),[a,s]=(0,o.useState)(0);return(0,o.useLayoutEffect)(()=>{const e=n.current.previousElementSibling;e&&s((n.current.offsetWidth-e.offsetWidth)/2)},[]),(0,Te.jsxs)("div",{ref:n,className:"c-popover flex items-center px-2 py-2",style:{left:`-${a}px`},children:[(0,Te.jsx)("div",{className:"c-popover__text",children:(0,r.__)("Are you sure?","admin-options-pages")}),(0,Te.jsx)("button",{type:"button",tabIndex:0,className:"button button-link button-small c-button is-cancel is-link",onClick:t,children:(0,r.__)("Cancel","admin-options-pages")}),(0,Te.jsx)("button",{type:"button",className:"button button-link button-small c-button is-delete-button is-link",onClick:e,onKeyDown:e=>"Tab"===e.key&&!e.shiftKey&&t(),children:(0,r.__)("Delete","admin-options-pages")})]})}function _s({label:e,onConfirm:t,inRow:n=!1}){const[a,s]=(0,o.useState)(!1),i=(0,o.useRef)();(0,o.useEffect)(()=>{if(!a)return;const e=e=>{i.current&&!i.current.contains(e.target)&&s(!1)},t=e=>{"Escape"===e.key&&s(!1)};return document.addEventListener("click",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("click",e),document.removeEventListener("keydown",t)}},[a]);const l=(0,Te.jsxs)("div",{className:"relative",ref:i,children:[(0,Te.jsx)("button",{type:"button",className:"button c-button is-delete-button",onClick:()=>s(!a),children:e}),a&&(0,Te.jsx)(vs,{onConfirm:()=>{s(!1),t()},onCancel:()=>s(!1)})]});return n?(0,Te.jsx)("div",{className:Se("relative pt-6 px-2 flex justify-end items-end"),children:l}):l}const xs=(0,o.createContext)({pageKey:0,fieldKey:0,slug:"",sortable:null});function bs(){const e=(0,o.useContext)(xs),{pageKey:t,fieldKey:n}=e;return{...e,name:e=>`pages[${t}][fields][${n}][${e}]`,inputId:e=>`field_${t}_${n}_${e}`}}function ys(){const{pageKey:e,fieldKey:t}=bs(),n=(0,l.useSelect)(n=>n(De).getField(e,t),[e,t]),{setIn:a}=(0,l.useDispatch)(De);return{field:n,pageKey:e,fieldKey:t,open:Boolean(n?.field_toggle),set:(n,s)=>a(["pages",e,"fields",t,n],s)}}function ws(e){if(!e)return;const t=e.ownerDocument.activeElement;t&&t!==e&&["INPUT","TEXTAREA","SELECT"].includes(t.tagName)||e.focus()}function js(e){if(e.field_label)return e.field_label;if(e.field_title)return e.field_title;if(e.description){const t=e.description.replace(/<\/?[^>]+(>|$)/g,"");return t.length>30?`${t.substring(0,30)}...`:t}return""}function Ns({typeName:e}){const{field:t,pageKey:n,fieldKey:a,open:s}=ys(),{sortable:i}=bs(),{setFieldOpen:o}=(0,l.useDispatch)(De),c=e=>e.stopPropagation();return(0,Te.jsxs)("div",{role:"presentation",className:Se("c-top-bar c-top-bar--field bg-gray-wp-100 border border-gray-wp-400 hover:border-gray-700",s&&"is-open"),onClick:()=>o(n,a,!s),...i&&i.barProps,children:[(0,Te.jsxs)("div",{className:"c-top-bar__left",children:[i&&(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Drag to reorder","admin-options-pages"),children:(0,Te.jsx)("span",{className:"c-top-bar__drag-handle","aria-hidden":"true",onClick:c,...i.handleProps,children:(0,Te.jsx)(Me.Icon,{icon:dt,size:20})})}),(0,Te.jsxs)("h3",{className:"c-top-bar__title",children:[(0,Te.jsx)("span",{className:"c-top-bar__pre-title",children:e}),js(t)]})]}),(0,Te.jsxs)("div",{className:"c-top-bar__right",children:[i&&(0,Te.jsx)("span",{onClick:c,children:(0,Te.jsx)(us,{canMoveUp:i.canMoveUp,canMoveDown:i.canMoveDown,onUp:i.moveUp,onDown:i.moveDown})}),(0,Te.jsx)("button",{type:"button",className:"c-top-bar__toggle","aria-expanded":s?"true":"false","aria-label":(0,r.__)("Add block","admin-options-pages"),children:(0,Te.jsx)("span",{className:Se("c-top-bar__toggle-indicator",s&&"is-open")})})]})]})}function Es({typeName:e,content:t,options:n}){const{field:a,pageKey:s,fieldKey:i,open:c}=ys(),{name:d,slug:u}=bs(),{setFieldOpen:p,removeField:g}=(0,l.useDispatch)(De),m=(0,o.useRef)(),h=void 0===a.field_toggle;return(0,o.useEffect)(()=>{if(!h)return;p(s,i,!0);const e=m.current;e&&e.scrollIntoView&&e.scrollIntoView({behavior:"smooth",block:"center"});const t=setTimeout(()=>{const t=e?.querySelector(".o-field__inside input.c-input, .o-field__inside textarea");ws(t)},200);return()=>clearTimeout(t)},[]),(0,Te.jsxs)("div",{className:"o-field__wrapper",ref:m,children:[(0,Te.jsx)(Ns,{typeName:e}),(0,Te.jsxs)("div",{className:"o-field__inside",style:c?void 0:{display:"none"},children:[(0,Te.jsxs)("div",{className:"o-field__content",children:[(0,Te.jsx)("input",{type:"hidden",name:d("id"),value:a.id}),(0,Te.jsx)("input",{type:"hidden",name:d("type"),value:a.type}),(0,Te.jsx)("input",{type:"hidden",name:d("field_key"),value:i}),(0,Te.jsx)("input",{type:"hidden",name:d("field_toggle"),value:String(c)}),(0,Te.jsx)("input",{type:"hidden",name:d("page_slug"),value:u}),t]}),(0,Te.jsxs)("div",{className:"o-field__options justify-between",children:[(0,Te.jsx)("div",{children:n}),(0,Te.jsx)(_s,{inRow:!0,label:(0,r.__)("Delete","admin-options-pages"),onConfirm:()=>g(s,i)})]})]})]})}const Cs=(0,Te.jsx)(Ie.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,Te.jsx)(Ie.Path,{d:"M11 12.5V17.5H12.5V12.5H17.5V11H12.5V6H11V11H6V12.5H11Z"})}),Ds=(0,Te.jsx)(Me.Icon,{icon:dt,size:20,className:"o-field-table__drag-handle-image"});function Ms({name:e,value:t,onChange:n,rules:a,as:s}){const{invalid:i,onTouch:o}=qe({name:e,value:t??"",rules:a,as:s});return(0,Te.jsx)("input",{className:Se("c-input","o-field-table__input",i&&"not-valid"),type:"text",name:e,value:t??"","aria-invalid":i||void 0,onChange:e=>n(e.target.value),onBlur:o,onKeyDown:e=>"Enter"===e.key&&e.preventDefault()})}function Ss(){const{field:e,pageKey:t,fieldKey:n,set:a}=ys(),{name:s}=bs(),{addTableRow:i,removeTableRow:c,moveTableRow:d,setUi:u}=(0,l.useDispatch)(De),p=(0,l.useSelect)(e=>{const t=e(De),n={};return Object.keys(t.getErrors()).forEach(e=>{const a=t.getShownError(e);a&&(n[e]=a)}),n},[]),g=(0,l.useSelect)(e=>e(De).getUi().moving,[]),m=e.table_list||[],h=function(e){const t={};return e.forEach(e=>{t[e.value]=(t[e.value]||0)+1}),Object.keys(t).filter(e=>t[e]>1)}(m),f=(0,o.useRef)(m.length),v=(0,o.useRef)();(0,o.useEffect)(()=>{if(m.length>f.current){const e=m[m.length-1],t=setTimeout(()=>{ws(v.current?.querySelector(`input[name="${s("table_list")}[${e.id}][value]"]`))},50);return f.current=m.length,()=>clearTimeout(t)}f.current=m.length},[m.length]);const _=m.map(e=>String(e.id)),x={};Object.keys(p).forEach(e=>{e.startsWith(`${s("table_list")}[`)&&_.some(t=>e.includes(`[${t}]`))&&(x[p[e]]=(x[p[e]]||0)+1)});const b=(e,t,n)=>a("table_list",m.map((a,s)=>s===e?{...a,[t]:n}:a));return(0,Te.jsxs)("div",{ref:v,className:Se("o-field-table",g&&"is-active"),children:[(0,Te.jsxs)("div",{className:"o-field-table__header",children:[(0,Te.jsx)("div",{className:"o-field-table__header-label",children:(0,r.__)("Value","admin-options-pages")}),(0,Te.jsx)("div",{className:"o-field-table__header-label",children:(0,r.__)("Label","admin-options-pages")})]}),(0,Te.jsx)(fs,{items:m,getId:e=>e.id,className:"o-field-table__body",itemClassName:"o-field-table__row",onMove:(e,a)=>d(t,n,e,a),onDragStart:()=>u("moving",!0),onDragEnd:()=>u("moving",!1),renderItem:(e,a,i)=>{const o=`${s("table_list")}[${e.id}]`;return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)("div",{className:m.length>1?"o-field-table__drag-handle":"o-field-table__drag-handle-abort",children:m.length>1?(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Drag to reorder","admin-options-pages"),children:(0,Te.jsx)("span",{...i.handleProps,"aria-hidden":"true",children:Ds})}):(0,Te.jsx)("span",{"aria-hidden":"true",children:Ds})}),(0,Te.jsx)(Ms,{name:`${o}[value]`,value:e.value,onChange:e=>b(a,"value",e),rules:`required|alphanumeric_underscore|excluded_table_value:${h.join(",")}`,as:"value"}),(0,Te.jsx)(Ms,{name:`${o}[label]`,value:e.label,onChange:e=>b(a,"label",e),rules:"no_less_than_sign",as:"label"}),(0,Te.jsx)("input",{type:"hidden",name:`${o}[id]`,value:e.id}),m.length>1&&(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(us,{canMoveUp:i.canMoveUp,canMoveDown:i.canMoveDown,onUp:i.moveUp,onDown:i.moveDown}),(0,Te.jsx)(Me.Button,{variant:"secondary",size:"small",isDestructive:!0,className:"o-field-table__delete","aria-label":(0,r.__)("Delete this row","admin-options-pages"),onClick:()=>c(t,n,a),children:(0,r.__)("Delete","admin-options-pages")})]})]})}}),Object.keys(x).length>0&&(0,Te.jsx)("ul",{className:"o-field-table__error-list",children:Object.entries(x).map(([e,t])=>(0,Te.jsxs)("li",{className:"o-field-table__error-item",children:[(0,Te.jsx)(Me.Icon,{className:"c-validate-message__icon",icon:Oe,size:16}),(0,Te.jsx)("span",{className:"o-field-table__error-message",children:e}),t>1&&(0,Te.jsx)("span",{className:"o-field-table__error-count",children:t})]},e))}),(0,Te.jsx)("div",{className:"o-field-table__footer",children:(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Add a row","admin-options-pages"),children:(0,Te.jsx)("button",{type:"button",className:"c-icon-button c-icon-button--insert-toggle is-appender for-field-table","aria-label":(0,r.__)("Add a row","admin-options-pages"),onClick:()=>i(t,n),children:(0,Te.jsx)(Me.Icon,{icon:Cs,size:20})})})})]})}function Ts({name:e,id:t,label:n,value:a,onChange:s,rules:i="",as:o="field",className:l="",placeholder:r="",inputRef:c,wrapperClass:d="",messageClass:u="",onKeyDown:p}){const{message:g,invalid:m,onTouch:h}=qe({name:e,value:a??"",rules:i,as:o}),f=`${t}-message`;return(0,Te.jsxs)("div",{className:Se("o-input-wrapper has-message",d),children:[(0,Te.jsx)("label",{htmlFor:t,className:"c-input-label",children:n}),(0,Te.jsxs)("div",{className:"o-input-wrapper__field",children:[(0,Te.jsx)("input",{ref:c,className:Se("c-input",l,m&&"not-valid"),type:"text",name:e,id:t,value:a??"",placeholder:r,...Le(f,m),onChange:e=>s(e.target.value),onBlur:h,onKeyDown:e=>{"Enter"===e.key&&e.preventDefault(),p&&p(e)}}),(0,Te.jsx)(Ae,{id:f,message:m?g:null,className:u})]})]})}function Rs({data:e,value:t,onChange:n,validate:a="",validateName:s="field",placeholder:i="",code:o=!1,inputRef:l}){const{name:r,inputId:c}=bs();return(0,Te.jsx)(Ts,{name:r(e.id),id:c(e.id),label:e.label,value:t,onChange:n,rules:a||"no_less_than_sign",as:s,className:o?"code":"",placeholder:i,inputRef:l})}function ks({data:e,value:t,onChange:n,open:a=!1}){const{name:s,inputId:i}=bs(),l=(0,o.useRef)(),[r,c]=(0,o.useState)(33);return(0,o.useLayoutEffect)(()=>{l.current&&l.current.scrollHeight&&c(l.current.scrollHeight+2)},[t,a]),(0,Te.jsxs)("div",{className:"o-input-wrapper align-top",children:[(0,Te.jsx)("label",{htmlFor:i(e.id),className:"c-input-label",children:e.label}),(0,Te.jsx)("textarea",{ref:l,className:"c-input c-input--textarea",name:s(e.id),id:i(e.id),value:t??"",style:{height:`${r}px`},onChange:e=>n(e.target.value)})]})}function Is({data:e,options:t,value:n,onChange:a,rules:s="",as:i="field",children:o,wrapperClass:l=""}){const{name:r,inputId:c}=bs(),d=r(e.id),{message:u,invalid:p,onTouch:g}=qe({name:d,value:n,rules:s,as:i}),m=`${c(e.id)}-message`,h=(0,Te.jsx)("select",{className:"c-select",name:d,id:c(e.id),value:n??"",...Le(m,p),onChange:e=>{a(e.target.value),g()},onKeyDown:e=>"Enter"===e.key&&e.preventDefault(),children:t.map(e=>(0,Te.jsx)("option",{value:e.id,children:e.label},e.id))});return(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:c(e.id),className:"c-input-label",children:e.label}),l?(0,Te.jsxs)("div",{className:l,children:[h,o]}):h,s&&(0,Te.jsx)(Ae,{id:m,message:p?u:null})]})}function Os({name:e,id:t,checked:n,onChange:a,value:s="1",on:i=n,describedBy:o}){return(0,Te.jsxs)("span",{className:"c-toggle",children:[(0,Te.jsx)("input",{className:"c-toggle__input",type:"checkbox",name:e,id:t,checked:Boolean(n),value:s,"aria-describedby":o,onChange:e=>a(e.target.checked),onKeyDown:e=>"Enter"===e.key&&e.preventDefault()}),(0,Te.jsx)("span",{className:Se("c-toggle__track",i&&"is-checked")}),(0,Te.jsx)("span",{className:Se("c-toggle__thumb",i&&"is-checked")})]})}function As({data:e,value:t,onChange:n}){const{name:a,inputId:s}=bs(),i="on"===t;return(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:s(e.id),className:"c-input-label for-toggle",children:e.label}),(0,Te.jsx)(Os,{name:a(e.id),id:s(e.id),value:"on",checked:i,onChange:e=>n(e?"on":"off")}),!i&&(0,Te.jsx)("input",{type:"hidden",name:a(e.id),value:"off"})]})}const Ls=window.wp.compose;function Ps({data:e,value:t="yes",onChange:n}){const{name:a,inputId:s}=bs(),i="no"===t;return(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:s(e.id),className:"c-input-label",children:e.label}),(0,Te.jsx)(Os,{name:a(e.id),id:s(e.id),value:"no",checked:i,on:!i,onChange:e=>n(e?"no":"yes")})]})}function zs({id:e,text:t}){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Me.Tooltip,{text:t,children:(0,Te.jsx)("button",{type:"button",className:"c-help-tip","aria-label":(0,r.__)("Help","admin-options-pages"),"aria-describedby":e,children:"?"})}),(0,Te.jsx)("span",{id:e,className:"screen-reader-text",children:t})]})}function Fs(){const{field:e,set:t}=ys();return(0,Te.jsx)(Ps,{data:{id:"toggle_autoload",label:(0,r.__)("Autoload","admin-options-pages")},value:e.toggle_autoload,onChange:e=>t("toggle_autoload",e)})}function Ks({fieldName:e}){const[t,n]=(0,o.useState)(!1),a=`[aop_option name="${e}"]`,s=(0,Ls.useCopyToClipboard)(a,()=>n(!0));return(0,o.useEffect)(()=>{if(!t)return;const e=setTimeout(()=>n(!1),2e3);return()=>clearTimeout(e)},[t]),(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("span",{className:"c-input-label",children:(0,r.__)("Shortcode","admin-options-pages")}),(0,Te.jsxs)("div",{className:"o-input-wrapper__control",children:[(0,Te.jsx)("code",{className:"c-shortcode",children:a}),(0,Te.jsx)(Me.Button,{ref:s,variant:"secondary",size:"small",children:t?(0,r.__)("Copied!","admin-options-pages"):(0,r.__)("Copy","admin-options-pages")})]})]})}function Vs(){const{field:e,set:t}=ys(),{name:n,inputId:a}=bs(),s=a("frontend");return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:s,className:"c-input-label",children:(0,r.__)("Use in shortcode and blocks","admin-options-pages")}),(0,Te.jsxs)("div",{className:"o-input-wrapper__control",children:[(0,Te.jsx)(Os,{name:n("frontend"),id:s,value:"yes",checked:"yes"===e.frontend,describedBy:`${s}-help`,onChange:e=>t("frontend",e?"yes":"no")}),(0,Te.jsx)(zs,{id:`${s}-help`,text:(0,r.__)("With get_option() the value is always available in PHP, also when this is off.","admin-options-pages")})]})]}),"yes"===e.frontend&&e.field_name?(0,Te.jsx)(Ks,{fieldName:e.field_name}):null]})}function Bs(){const{field:e,set:t}=ys();return(0,Te.jsx)(Rs,{data:{id:"field_label",label:(0,r.__)("Field label","admin-options-pages")},value:e.field_label,onChange:e=>t("field_label",e)})}function $s({idLikeName:e=!1}){const{field:t,set:n}=ys(),{name:a,inputId:s}=bs(),i=(0,l.useSelect)(e=>e(De).getExcludedOptionNames(),[]),o=e?a("field_name"):s("field_name");return(0,Te.jsx)(Ts,{name:a("field_name"),id:o,label:(0,r.__)("Field name","admin-options-pages"),value:t.field_name,onChange:e=>n("field_name",e),rules:`max:191|required|no_uppercase|option_name|excluded_option_name:${i.join(",")}`,as:"field name"})}function Hs(){const{field:e,set:t}=ys();return(0,Te.jsx)(Rs,{data:{id:"class_attribute",label:(0,r.__)("Additional CSS Class(es)","admin-options-pages")},value:e.class_attribute,onChange:e=>t("class_attribute",e),validate:"class_attribute",placeholder:"example-class second__one",code:!0})}function Us(){const{field:e,set:t,open:n}=ys();return(0,Te.jsx)(ks,{data:{id:"description",label:(0,r.__)("Description","admin-options-pages")},value:e.description,onChange:e=>t("description",e),open:n})}function Gs(){const{field:e,set:t}=ys();return(0,Te.jsx)(Rs,{data:{id:"text_right",label:(0,r.__)("Text after input field","admin-options-pages")},value:e.text_right,onChange:e=>t("text_right",e)})}const Xs={field_label:Bs,field_name:$s,toggle_autoload:Fs,frontend:Vs,class_attribute:Hs,description:Us},Ws=["field_label","field_name","toggle_autoload","frontend"];function Ys({setting:e}){const{field:t,set:n}=ys(),{name:a,inputId:s}=bs(),{key:i,control:o,label:l}=e,r=t[i],c=e=>n(i,e),d=Xs[i];return d?(0,Te.jsx)(d,{}):"textarea"===o?(0,Te.jsx)(ks,{data:{id:i,label:l},value:r,onChange:c}):"select"===o?(0,Te.jsx)(Is,{data:{id:i,label:l},options:(e.options||[]).map(e=>({id:e,label:e})),value:r,onChange:c}):"toggle"===o&&"toggle_onoff"===e.sanitize?(0,Te.jsx)(As,{data:{id:i,label:l},value:r,onChange:c}):"toggle"===o&&"toggle_text_format"===e.sanitize?(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:s(i),className:"c-input-label for-toggle",children:l}),(0,Te.jsx)(Os,{name:a(i),id:s(i),value:"1",checked:"1"===r,onChange:e=>c(!!e&&"1")})]}):"choices"===o?(0,Te.jsxs)("div",{className:"o-input-wrapper align-top has-table",children:[(0,Te.jsx)("label",{htmlFor:a("field_name"),className:"c-input-label",children:l}),(0,Te.jsx)(Ss,{})]}):"color"===o?(0,Te.jsx)(Ts,{name:a(i),id:s(i),label:l,value:r,onChange:c,rules:"color_hex",as:l.toLowerCase(),className:"code",placeholder:"#000000"}):"number"===o?(0,Te.jsx)(Ts,{name:a(i),id:s(i),label:l,value:r,onChange:c,rules:"numeric",as:l.toLowerCase(),className:"code"}):(0,Te.jsx)(Rs,{data:{id:i,label:l},value:r,onChange:c})}function qs({serverType:e}){const t=(e.settings||[]).filter(e=>"hidden"!==e.control),n=t.filter(e=>Ws.includes(e.key)),a=t.filter(e=>!Ws.includes(e.key));return(0,Te.jsx)(Es,{typeName:e.label||(0,r.__)("Field","admin-options-pages"),content:n.map(e=>(0,Te.jsx)(Ys,{setting:e},e.key)),options:a.map(e=>(0,Te.jsx)(Ys,{setting:e},e.key))})}const Js=function(){const e=new Map;let t=new Map;return{register:(t,n={})=>"string"==typeof t&&""!==t&&(e.has(t)?(console.warn(`aop: the field type "${t}" is already registered.`),!1):(e.set(t,{...n}),!0)),get:t=>e.get(t),has:t=>e.has(t),all:()=>[...e].map(([e,t])=>({type:e,...t})),setServerTypes(e){t=new Map((e||[]).map(e=>[e.type,e]))},types:()=>[...t.values()].map(t=>{const n=e.get(t.type)||{};return{...t,...n,label:n.label||t.label,settings:t.settings}})}}();function Zs(){return"undefined"!=typeof window&&window.aop?.fields||Js}function Qs({field:e,pageKey:t,fieldKey:n}){const{removeUnavailableField:a}=(0,l.useDispatch)(De);return(0,Te.jsxs)("div",{className:"o-field__wrapper is-unavailable",children:[(0,Te.jsx)("div",{className:"c-top-bar c-top-bar--field bg-gray-wp-100 border border-gray-wp-400",children:(0,Te.jsx)("div",{className:"c-top-bar__left",children:(0,Te.jsxs)("h3",{className:"c-top-bar__title",children:[(0,Te.jsx)("span",{className:"c-top-bar__pre-title",children:e.type}),e.field_label||e.field_name||""]})})}),(0,Te.jsxs)("div",{className:"o-field__unavailable-body",children:[(0,Te.jsx)("p",{className:"o-field__unavailable",children:(0,r.__)("This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.","admin-options-pages")}),(0,Te.jsx)("div",{className:"o-field__unavailable-actions",children:(0,Te.jsx)(_s,{label:(0,r.__)("Delete","admin-options-pages"),onConfirm:()=>a(t,n,e.id)})})]})]})}function ei({pageKey:e,fieldKey:t,slug:n,sortable:a}){const{stored:s,serverType:i}=(0,l.useSelect)(n=>{const a=n(De),s=a.getField(e,t);return{stored:s,serverType:(a.getFieldTypes()||[]).find(e=>e.type===s?.type)}},[e,t]);if(!s)return null;const o=Zs().get(s.type),r=o?.EditComponent;return!r&&i?(0,Te.jsx)(xs.Provider,{value:{pageKey:e,fieldKey:t,slug:n,sortable:a},children:(0,Te.jsx)(qs,{serverType:i})}):r?(0,Te.jsx)(xs.Provider,{value:{pageKey:e,fieldKey:t,slug:n,sortable:a},children:(0,Te.jsx)(r,{})}):(0,Te.jsx)(Qs,{field:s,pageKey:e,fieldKey:t})}const ti=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"regular_text",label:(0,r.__)("Regular","admin-options-pages")},{id:"small_text",label:(0,r.__)("Small","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function ni(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fs,{}),(0,Te.jsx)(Vs,{}),(0,Te.jsx)(Bs,{}),(0,Te.jsx)($s,{}),(0,Te.jsx)(Rs,{data:{id:"placeholder",label:(0,r.__)("Placeholder","admin-options-pages")},value:e.placeholder,onChange:e=>t("placeholder",e)}),(0,Te.jsx)(Rs,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function ai(){const{field:e,set:t}=ys(),{name:n,inputId:a}=bs(),s="1"===e.toggle_text_format;return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:a("toggle_text_format"),className:"c-input-label for-toggle",children:(0,r.__)("Formatted as code","admin-options-pages")}),(0,Te.jsx)(Os,{name:n("toggle_text_format"),id:a("toggle_text_format"),checked:s,value:"1",onChange:e=>t("toggle_text_format",!!e&&"1")})]}),(0,Te.jsx)(Is,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:ti,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hs,{}),(0,Te.jsx)(Gs,{}),(0,Te.jsx)(Us,{})]})}h("text_field",e=>{const t={};return e.field_style||(t.field_style="regular_text"),e.toggle_text_format||(t.toggle_text_format=!1),e.toggle_autoload||(t.toggle_autoload="yes"),t});const si=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"standard",label:(0,r.__)("Standard","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function ii(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fs,{}),(0,Te.jsx)(Vs,{}),(0,Te.jsx)(Bs,{}),(0,Te.jsx)($s,{}),(0,Te.jsx)(Rs,{data:{id:"placeholder",label:(0,r.__)("Placeholder","admin-options-pages")},value:e.placeholder,onChange:e=>t("placeholder",e)}),(0,Te.jsx)(Rs,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function oi(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Is,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:si,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:"standard"!==e.field_style&&(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hs,{}),(0,Te.jsx)(Us,{}),(0,Te.jsx)(As,{data:{id:"description_italic",label:(0,r.__)("Description italic","admin-options-pages")},value:e.description_italic,onChange:e=>t("description_italic",e)})]})}h("textarea",e=>{const t={};return e.field_style||(t.field_style="standard"),e.description_italic||(t.description_italic="off"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const li=[{id:"0",label:(0,r.__)("0","admin-options-pages")},{id:"1",label:(0,r.__)("1","admin-options-pages")},{id:"2",label:(0,r.__)("2","admin-options-pages")}];function ri(){const{field:e,set:t}=ys(),{name:n,inputId:a}=bs(),{min:s,max:i,between:o}=function(e){const t=Number.isNaN(Number(e.min_value))?"":e.min_value,n=Number.isNaN(Number(e.max_value))?"":e.max_value;return{min:t,max:n,between:!t||!n||t>n?",":`${t}, ${n}`}}(e);return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fs,{}),(0,Te.jsx)(Vs,{}),(0,Te.jsx)(Bs,{}),(0,Te.jsx)($s,{}),(0,Te.jsx)(Ts,{name:n("min_value"),id:a("min_value"),label:(0,r.__)("Minimum value","admin-options-pages"),value:e.min_value,onChange:e=>t("min_value",e),rules:"numeric",as:"minimum value",className:"code"}),(0,Te.jsx)(Ts,{name:n("max_value"),id:a("max_value"),label:(0,r.__)("Maximum value","admin-options-pages"),value:e.max_value,onChange:e=>t("max_value",e),rules:`numeric|min_value:${s}`,as:"maximum value",className:"code"}),(0,Te.jsx)(Rs,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e),validate:`numeric|between:${o}|min_value:${s}|max_value:${i}`,validateName:"default value",code:!0}),(0,Te.jsx)(Is,{data:{id:"decimals",label:(0,r.__)("Decimals","admin-options-pages")},options:li,value:e.decimals,onChange:e=>t("decimals",e),rules:"between:0,2",as:"decimal"})]})}function ci(){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Hs,{}),(0,Te.jsx)(Gs,{}),(0,Te.jsx)(Us,{})]})}function di(){const{field:e,set:t}=ys(),{name:n}=bs(),a=[{id:"frontend_on",label:(0,r.__)("Text when checked","admin-options-pages")},{id:"frontend_off",label:(0,r.__)("Text when not checked","admin-options-pages")}];return"yes"!==e.frontend?a.map(({id:t})=>(0,Te.jsx)("input",{type:"hidden",name:n(t),value:e[t]||""},t)):a.map(n=>(0,Te.jsx)(Rs,{data:n,value:e[n.id]||"",placeholder:"frontend_on"===n.id?"1":"0",onChange:e=>t(n.id,e)},n.id))}function ui(){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fs,{}),(0,Te.jsx)(Vs,{}),(0,Te.jsx)(di,{}),(0,Te.jsx)(Bs,{}),(0,Te.jsx)($s,{idLikeName:!0})]})}function pi(){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Hs,{}),(0,Te.jsx)(Gs,{}),(0,Te.jsx)(Us,{})]})}function gi(e){const t={};return e.toggle_autoload||(t.toggle_autoload="yes"),!e.table_list||Array.isArray(e.table_list)&&!e.table_list.length?t.table_list=[{label:"",value:"",id:(new Date).getTime()}]:Array.isArray(e.table_list)||(t.table_list=Object.values(e.table_list)),t}function mi(){const{name:e}=bs();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fs,{}),(0,Te.jsx)(Vs,{}),(0,Te.jsx)(Bs,{}),(0,Te.jsx)($s,{idLikeName:!0}),(0,Te.jsxs)("div",{className:"o-input-wrapper align-top has-table",children:[(0,Te.jsx)("label",{htmlFor:e("field_name"),className:"c-input-label",children:(0,r.__)("Field values","admin-options-pages")}),(0,Te.jsx)(Ss,{})]})]})}function hi(){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Hs,{}),(0,Te.jsx)(Us,{})]})}h("number",e=>{const t={};return e.decimals||(t.decimals="0"),e.toggle_autoload||(t.toggle_autoload="yes"),t}),h("checkbox",e=>e.toggle_autoload?{}:{toggle_autoload:"yes"}),h("radio",gi),h("select_field",gi),h("button_group",gi);const fi=(0,Te.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"24",height:"24",role:"img",className:"c-input__checkbox-svg","aria-hidden":"true",focusable:"false",children:(0,Te.jsx)("path",{d:"M18.3 5.6L9.9 16.9l-4.6-3.4-.9 1.2 5.8 4.3 9.3-12.6z"})});function vi({data:e,value:t,onChange:n}){const{name:a,inputId:s}=bs();if(!e.types)return(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:s(e.id),className:"c-input-label",children:e.label}),(0,Te.jsx)("input",{className:"c-input",type:"checkbox",name:a(e.id),id:s(e.id),checked:Boolean(t),onChange:e=>n(e.target.checked),onKeyDown:e=>"Enter"===e.key&&e.preventDefault()})]});const i=t||{};return(0,Te.jsxs)("div",{className:Se("o-input-wrapper","align-top"),children:[(0,Te.jsx)("label",{htmlFor:s(e.id),className:"c-input-label",children:e.label}),(0,Te.jsx)("div",{className:"c-input-group",children:e.types.map(t=>{const s=`${a(e.id)}[types][${t.id}]`,o=!t.disabled&&Object.prototype.hasOwnProperty.call(i,t.id),l=t.help?`${s}-help`:void 0;return(0,Te.jsxs)("div",{className:Se("c-input-group__item",t.disabled&&"is-disabled"),children:[(0,Te.jsx)("input",{className:"c-input",type:"checkbox",name:s,id:s,checked:o,disabled:t.disabled,"aria-describedby":l,onChange:e=>{const a={...i};e.target.checked?a[t.id]="on":delete a[t.id],n(a)},onKeyDown:e=>"Enter"===e.key&&e.preventDefault()}),o&&fi,(0,Te.jsx)("label",{htmlFor:s,className:"code",children:t.label}),t.help&&(0,Te.jsx)(zs,{id:l,text:t.help})]},t.id)})})]})}function _i(){return"undefined"!=typeof window&&window.aop_editor_config||{}}function xi(){const e=_i();return!("svgUploads"in e)||[!0,1,"1"].includes(e.svgUploads)}function bi(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fs,{}),(0,Te.jsx)(Vs,{}),(0,Te.jsx)(Bs,{}),(0,Te.jsx)($s,{}),(0,Te.jsx)(vi,{data:{id:"extensions",label:(0,r.__)("Allowed extensions","admin-options-pages"),types:[{label:(0,r.__)(".jpeg .jpg","admin-options-pages"),id:"jpeg"},{label:(0,r.__)(".png","admin-options-pages"),id:"png"},{label:(0,r.__)(".gif","admin-options-pages"),id:"gif"},{label:(0,r.__)(".svg","admin-options-pages"),id:"svg",disabled:!xi(),help:xi()?void 0:(0,r.__)("This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.","admin-options-pages")},{label:(0,r.__)(".ico","admin-options-pages"),id:"ico"}]},value:e.extensions?.types,onChange:n=>t("extensions",{...e.extensions,types:n})})]})}function yi(){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Hs,{}),(0,Te.jsx)(Us,{})]})}function wi(){const{field:e,set:t}=ys(),{name:n,inputId:a}=bs();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fs,{}),(0,Te.jsx)(Vs,{}),(0,Te.jsx)(Bs,{}),(0,Te.jsx)($s,{}),(0,Te.jsx)(Ts,{name:n("default_value"),id:a("default_value"),label:(0,r.__)("Default color (HEX)","admin-options-pages"),value:e.default_value,onChange:e=>t("default_value",e),rules:"color_hex",as:"field color",className:"code",placeholder:"#000000"})]})}function ji(){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Hs,{}),(0,Te.jsx)(Us,{})]})}h("image",e=>{const t={};if(e.toggle_autoload||(t.toggle_autoload="yes"),!e.extensions?.types){const e={jpeg:"on",png:"on",gif:"on",svg:"on",ico:"on"};xi()||delete e.svg,t.extensions={types:e}}return t}),h("color_picker",e=>e.toggle_autoload?{}:{toggle_autoload:"yes"});const Ni=[{id:"full",label:(0,r.__)("Full","admin-options-pages")},{id:"basic",label:(0,r.__)("Basic","admin-options-pages")}];function Ei(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fs,{}),(0,Te.jsx)(Vs,{}),(0,Te.jsx)(Bs,{}),(0,Te.jsx)($s,{}),(0,Te.jsx)(Rs,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function Ci(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(As,{data:{id:"toggle_show_media_upload_buttons",label:(0,r.__)("Show media upload buttons","admin-options-pages")},value:e.toggle_show_media_upload_buttons,onChange:e=>t("toggle_show_media_upload_buttons",e)}),(0,Te.jsx)(Is,{data:{id:"toolbar",label:(0,r.__)("Toolbar","admin-options-pages")},options:Ni,value:e.toolbar,onChange:e=>t("toolbar",e),wrapperClass:"flex items-center"}),(0,Te.jsx)(Hs,{}),(0,Te.jsx)(Us,{})]})}function Di(){return(0,Te.jsx)(Hs,{})}function Mi(){const{field:e,set:t}=ys();return(0,Te.jsx)(Rs,{data:{id:"field_title",label:(0,r.__)("Title","admin-options-pages")},value:e.field_title,onChange:e=>t("field_title",e)})}h("wysiwyg_editor",e=>{const t={};return e.toolbar||(t.toolbar="full"),e.toggle_show_media_upload_buttons||(t.toggle_show_media_upload_buttons="off"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const Si=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"regular_text",label:(0,r.__)("Regular","admin-options-pages")},{id:"small_text",label:(0,r.__)("Small","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function Ti(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fs,{}),(0,Te.jsx)(Vs,{}),(0,Te.jsx)(Bs,{}),(0,Te.jsx)($s,{}),(0,Te.jsx)(Rs,{data:{id:"placeholder",label:(0,r.__)("Placeholder","admin-options-pages")},value:e.placeholder,onChange:e=>t("placeholder",e)}),(0,Te.jsx)(Rs,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function Ri(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Is,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:Si,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hs,{}),(0,Te.jsx)(Us,{})]})}h("email",e=>{const t={};return e.field_style||(t.field_style="regular_text"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const ki=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"regular_text",label:(0,r.__)("Regular","admin-options-pages")},{id:"small_text",label:(0,r.__)("Small","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function Ii(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fs,{}),(0,Te.jsx)(Vs,{}),(0,Te.jsx)(Bs,{}),(0,Te.jsx)($s,{}),(0,Te.jsx)(Rs,{data:{id:"placeholder",label:(0,r.__)("Placeholder","admin-options-pages")},value:e.placeholder,onChange:e=>t("placeholder",e)}),(0,Te.jsx)(Rs,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function Oi(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Is,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:ki,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hs,{}),(0,Te.jsx)(Us,{})]})}h("link",e=>{const t={};return e.field_style||(t.field_style="regular_text"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const Ai=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"regular_text",label:(0,r.__)("Regular","admin-options-pages")},{id:"small_text",label:(0,r.__)("Small","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function Li(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fs,{}),(0,Te.jsx)(Bs,{}),(0,Te.jsx)($s,{}),(0,Te.jsx)(Rs,{data:{id:"placeholder",label:(0,r.__)("Placeholder","admin-options-pages")},value:e.placeholder,onChange:e=>t("placeholder",e)}),(0,Te.jsx)(Rs,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function Pi(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Is,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:Ai,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hs,{}),(0,Te.jsx)(Us,{})]})}h("password",e=>{const t={};return e.field_style||(t.field_style="regular_text"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const zi=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"regular_text",label:(0,r.__)("Regular","admin-options-pages")},{id:"small_text",label:(0,r.__)("Small","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function Fi(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fs,{}),(0,Te.jsx)(Vs,{}),(0,Te.jsx)(Bs,{}),(0,Te.jsx)($s,{}),(0,Te.jsx)(Rs,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function Ki(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Is,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:zi,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hs,{}),(0,Te.jsx)(Us,{})]})}h("date",e=>{const t={};return e.field_style||(t.field_style="regular_text"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const Vi=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"regular_text",label:(0,r.__)("Regular","admin-options-pages")},{id:"small_text",label:(0,r.__)("Small","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function Bi(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fs,{}),(0,Te.jsx)(Vs,{}),(0,Te.jsx)(Bs,{}),(0,Te.jsx)($s,{}),(0,Te.jsx)(Rs,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function $i(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Is,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:Vi,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hs,{}),(0,Te.jsx)(Us,{})]})}h("time",e=>{const t={};return e.field_style||(t.field_style="regular_text"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const Hi=[{id:"all_options",label:(0,r.__)("Options","admin-options-pages")},{id:"regular_text",label:(0,r.__)("Regular","admin-options-pages")},{id:"small_text",label:(0,r.__)("Small","admin-options-pages")},{id:"large_text",label:(0,r.__)("Large","admin-options-pages")}];function Ui(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fs,{}),(0,Te.jsx)(Vs,{}),(0,Te.jsx)(Bs,{}),(0,Te.jsx)($s,{}),(0,Te.jsx)(Rs,{data:{id:"default_value",label:(0,r.__)("Default value","admin-options-pages")},value:e.default_value,onChange:e=>t("default_value",e)})]})}function Gi(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Is,{data:{id:"field_style",label:(0,r.__)("Field style","admin-options-pages")},options:Hi,value:e.field_style,onChange:e=>t("field_style",e),wrapperClass:"flex items-center",children:(0,Te.jsx)("code",{className:"c-select__class-name",children:`.${e.field_style}`})}),(0,Te.jsx)(Hs,{}),(0,Te.jsx)(Us,{})]})}h("date_time",e=>{const t={};return e.field_style||(t.field_style="regular_text"),e.toggle_autoload||(t.toggle_autoload="yes"),t}),h("range",e=>{const t={};return e.decimals||(t.decimals="0"),e.toggle_autoload||(t.toggle_autoload="yes"),t});const Xi={id:"extensions",label:(0,r.__)("Allowed file types","admin-options-pages"),types:[{label:(0,r.__)(".pdf","admin-options-pages"),id:"pdf"},{label:(0,r.__)(".doc","admin-options-pages"),id:"doc"},{label:(0,r.__)(".docx","admin-options-pages"),id:"docx"},{label:(0,r.__)(".xls","admin-options-pages"),id:"xls"},{label:(0,r.__)(".xlsx","admin-options-pages"),id:"xlsx"},{label:(0,r.__)(".csv","admin-options-pages"),id:"csv"},{label:(0,r.__)(".zip","admin-options-pages"),id:"zip"},{label:(0,r.__)(".txt","admin-options-pages"),id:"txt"}]};function Wi(){const{field:e,set:t}=ys();return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Fs,{}),(0,Te.jsx)(Vs,{}),(0,Te.jsx)(Bs,{}),(0,Te.jsx)($s,{}),(0,Te.jsx)(vi,{data:Xi,value:e.extensions?.types,onChange:n=>t("extensions",{...e.extensions,types:n})})]})}function Yi(){return(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(Hs,{}),(0,Te.jsx)(Us,{})]})}h("file",e=>{const t={};return e.toggle_autoload||(t.toggle_autoload="yes"),e.extensions?.types||(t.extensions={types:{pdf:"on",doc:"on",docx:"on",xls:"on",xlsx:"on",csv:"on",zip:"on",txt:"on"}}),t});const qi={text_field:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Text field","admin-options-pages"),content:(0,Te.jsx)(ni,{}),options:(0,Te.jsx)(ai,{})})},textarea:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Textarea","admin-options-pages"),content:(0,Te.jsx)(ii,{}),options:(0,Te.jsx)(oi,{})})},number:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Number","admin-options-pages"),content:(0,Te.jsx)(ri,{}),options:(0,Te.jsx)(ci,{})})},checkbox:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Checkbox","admin-options-pages"),content:(0,Te.jsx)(ui,{}),options:(0,Te.jsx)(pi,{})})},radio:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Radio buttons","admin-options-pages"),content:(0,Te.jsx)(mi,{}),options:(0,Te.jsx)(hi,{})})},select_field:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Select","admin-options-pages"),content:(0,Te.jsx)(mi,{}),options:(0,Te.jsx)(hi,{})})},image:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Image","admin-options-pages"),content:(0,Te.jsx)(bi,{}),options:(0,Te.jsx)(yi,{})})},color_picker:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Color picker","admin-options-pages"),content:(0,Te.jsx)(wi,{}),options:(0,Te.jsx)(ji,{})})},wysiwyg_editor:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Wysiwyg editor","admin-options-pages"),content:(0,Te.jsx)(Ei,{}),options:(0,Te.jsx)(Ci,{})})},title:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Title","admin-options-pages"),content:(0,Te.jsx)(Mi,{}),options:(0,Te.jsx)(Di,{})})},description:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Description","admin-options-pages"),content:(0,Te.jsx)(Us,{}),options:(0,Te.jsx)(Hs,{})})},horizontal_rule:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Horizontal rule","admin-options-pages"),content:null,options:(0,Te.jsx)(Hs,{})})},email:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Email","admin-options-pages"),content:(0,Te.jsx)(Ti,{}),options:(0,Te.jsx)(Ri,{})})},link:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Link","admin-options-pages"),content:(0,Te.jsx)(Ii,{}),options:(0,Te.jsx)(Oi,{})})},password:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Password","admin-options-pages"),content:(0,Te.jsx)(Li,{}),options:(0,Te.jsx)(Pi,{})})},date:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Date","admin-options-pages"),content:(0,Te.jsx)(Fi,{}),options:(0,Te.jsx)(Ki,{})})},time:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Time","admin-options-pages"),content:(0,Te.jsx)(Bi,{}),options:(0,Te.jsx)($i,{})})},date_time:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Date and time","admin-options-pages"),content:(0,Te.jsx)(Ui,{}),options:(0,Te.jsx)(Gi,{})})},range:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Range","admin-options-pages"),content:(0,Te.jsx)(ri,{}),options:(0,Te.jsx)(ci,{})})},button_group:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("Button group","admin-options-pages"),content:(0,Te.jsx)(mi,{}),options:(0,Te.jsx)(hi,{})})},file:function(){return(0,Te.jsx)(Es,{typeName:(0,r.__)("File","admin-options-pages"),content:(0,Te.jsx)(Wi,{}),options:(0,Te.jsx)(Yi,{})})}},Ji=Object.keys(qi).filter(e=>!["password","title","description","horizontal_rule"].includes(e)),Zi={live_help:'<svg aria-hidden="true" role="img" focusable="false" class="c-material-icon" xmlns="http://www.w3.org/2000/svg"viewBox="0 0 24 24"><path d="M19 2H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h4l3 3 3-3h4c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 16h-4.83l-.59.59L12 20.17l-1.59-1.59-.58-.58H5V4h14v14zm-8-3h2v2h-2zm1-8c1.1 0 2 .9 2 2 0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4S8 6.79 8 9h2c0-1.1.9-2 2-2z"/></svg>',text_fields:'<svg aria-hidden="true" role="img" focusable="false" class="c-material-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2.5,4v3h5v12h3V7h5V4H2.5z M21.5,9h-9v3h3v7h3v-7h3V9z"/></svg>',colorize:'<svg aria-hidden="true" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="c-material-icon"><path d="M0,0h24v24H0V0z" fill="none"></path><path d="M17.66,5.41l0.92,0.92l-2.69,2.69l-0.92-0.92L17.66,5.41 M17.67,3c-0.26,0-0.51,0.1-0.71,0.29l-3.12,3.12L11.91,4.5 L10.5,5.91l1.42,1.42L3,16.25V21h4.75l8.92-8.92l1.42,1.42l1.41-1.41l-1.92-1.92l3.12-3.12c0.4-0.4,0.4-1.03,0.01-1.42l-2.34-2.34 C18.17,3.1,17.92,3,17.67,3L17.67,3z M6.92,19L5,17.08l8.06-8.06l1.92,1.92L6.92,19L6.92,19z"/></svg>',looks_5:'<svg aria-hidden="true" role="img" focusable="false" class="c-material-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M19,19H5V5h14V19z"/><path d="M15,15v-2c0-1.11-0.9-2-2-2h-2V9h4V7H9v6h4v2H9v2h4C14.1,17,15,16.11,15,15z"/></svg>',notes:'<svg aria-hidden="true" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="c-material-icon"><polygon points="21,11.01 3,11 3,13 21,13"/><rect x="3" y="16" width="12" height="2"/><polygon points="21,6 3,6 3,8.01 21,8"/></svg>',check_box:'<svg aria-hidden="true" role="img" focusable="false" class="c-material-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z M19,19H5V5h14V19z"/><polygon points="17.99,9 16.58,7.58 9.99,14.17 7.41,11.6 5.99,13.01 9.99,17"/></svg>',radio_button_checked:'<svg aria-hidden="true" role="img" focusable="false" class="c-material-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12,2C6.48,2,2,6.48,2,12s4.48,10,10,10s10-4.48,10-10S17.52,2,12,2z M12,20c-4.42,0-8-3.58-8-8s3.58-8,8-8s8,3.58,8,8 S16.42,20,12,20z"/><circle cx="12" cy="12" r="5"/></svg>',image:'<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="c-material-icon"><path d="m19 5v14h-14v-14h14m0-2h-14c-1.1 0-2 0.9-2 2v14c0 1.1 0.9 2 2 2h14c1.1 0 2-0.9 2-2v-14c0-1.1-0.9-2-2-2z"></path><path d="m14.14 11.86l-3 3.87-2.14-2.59-3 3.86h12l-3.86-5.14z"></path></svg>',title:'<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" focusable="false" class="c-material-icon" viewBox="0 0 24 24"><path d="M5,4v3h5.5v12h3V7H19V4H5z"/></svg>',short_text:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M4,9h16v2H4V9z M4,13h10v2H4V13z"/></svg>',remove:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M19,13H5v-2h14V13z"/></svg>',select:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M24 24H0V0h24v24z" fill="none" opacity=".87"/><path d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6-1.41-1.41z"/></svg>',editor:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><g><rect fill="none" height="24" width="24"/><path d="M19,3H5C3.89,3,3,3.9,3,5v14c0,1.1,0.89,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.11,3,19,3z M19,19H5V7h14V19z M17,12H7v-2 h10V12z M13,16H7v-2h6V16z"/></g></svg>',email:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4-8 5-8-5V6l8 5 8-5v2z"/></svg>',link:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"/></svg>',lock:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zM9 6c0-1.66 1.34-3 3-3s3 1.34 3 3v2H9V6zm9 14H6V10h12v10zm-6-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z"/></svg>',event:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z"/></svg>',schedule:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"/><path d="M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"/></svg>',date_range:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M9 11H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm2-7h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z"/></svg>',tune:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M3 17v2h6v-2H3zM3 5v2h10V5H3zm10 16v-2h8v-2h-8v-2h-2v6h2zM7 9v2H3v2h4v2h2V9H7zm14 4v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z"/></svg>',apps:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M4 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4zm-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z"/></svg>',insert_drive_file:'<svg aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" class="c-material-icon" viewBox="0 0 24 24"><path d="M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6H6zm7 7V3.5L18.5 9H13z"/></svg>'},Qi=[{title:(0,r.__)("Text field","admin-options-pages"),id:"text_field",icon:"text_fields"},{title:(0,r.__)("Number","admin-options-pages"),id:"number",icon:"looks_5"},{title:(0,r.__)("Wysiwyg editor","admin-options-pages"),id:"wysiwyg_editor",icon:"editor"},{title:(0,r.__)("Textarea","admin-options-pages"),id:"textarea",icon:"notes"},{title:(0,r.__)("Checkbox","admin-options-pages"),id:"checkbox",icon:"check_box"},{title:(0,r.__)("Radio buttons","admin-options-pages"),id:"radio",icon:"radio_button_checked"},{title:(0,r.__)("Image","admin-options-pages"),id:"image",icon:"image"},{title:(0,r.__)("Color picker","admin-options-pages"),id:"color_picker",icon:"colorize"},{title:(0,r.__)("Select","admin-options-pages"),id:"select_field",icon:"select"},{title:(0,r.__)("Email","admin-options-pages"),id:"email",icon:"email"},{title:(0,r.__)("Link","admin-options-pages"),id:"link",icon:"link"},{title:(0,r.__)("Password","admin-options-pages"),id:"password",icon:"lock"},{title:(0,r.__)("Date","admin-options-pages"),id:"date",icon:"event"},{title:(0,r.__)("Time","admin-options-pages"),id:"time",icon:"schedule"},{title:(0,r.__)("Date and time","admin-options-pages"),id:"date_time",icon:"date_range"},{title:(0,r.__)("Range","admin-options-pages"),id:"range",icon:"tune"},{title:(0,r.__)("Button group","admin-options-pages"),id:"button_group",icon:"apps"},{title:(0,r.__)("File","admin-options-pages"),id:"file",icon:"insert_drive_file"}],eo=[{title:(0,r.__)("Title","admin-options-pages"),id:"title",icon:"title"},{title:(0,r.__)("Description","admin-options-pages"),id:"description",icon:"short_text"},{title:(0,r.__)("Horizontal rule","admin-options-pages"),id:"horizontal_rule",icon:"remove"}],to=430;function no({open:e}){return(0,Te.jsx)("button",{type:"button","aria-expanded":e?"true":"false",className:"c-field-types__list-toggle",children:(0,Te.jsx)("svg",{className:"c-field-types__list-toggle-arrow",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",role:"img","aria-hidden":"true",focusable:"false",children:(0,Te.jsx)("path",{d:e?"M12,8l-6,6l1.41,1.41L12,10.83l4.59,4.58L18,14L12,8z":"M7.41,8.59L12,13.17l4.59-4.58L18,10l-6,6l-6-6L7.41,8.59z"})})})}function ao({title:e,fields:t,open:n,onToggle:a,onPick:s,onEscape:i}){return(0,Te.jsxs)("div",{className:"c-field-types__content",children:[(0,Te.jsxs)("h2",{className:"c-field-types__title",onClick:a,children:[e,(0,Te.jsx)(no,{open:n})]}),(0,Te.jsx)("ul",{className:"c-field-types__list",style:n?void 0:{display:"none"},children:t.map(e=>{return(0,Te.jsx)("li",{className:"c-field-types__item",children:(0,Te.jsxs)("button",{name:e.id,type:"button",tabIndex:0,className:"c-field-types__button",onClick:()=>s(e.id),onKeyDown:e=>"Escape"===e.key&&i(),children:[e.addOnIcon?(0,Te.jsx)("span",{className:"c-field-types__button-icon",children:(0,Te.jsx)(Me.Icon,{icon:e.addOnIcon,size:24,"aria-hidden":"true"})}):(0,Te.jsx)("span",{className:"c-field-types__button-icon",dangerouslySetInnerHTML:{__html:(t=e.icon,Zi[t]||Zi.live_help)}}),(0,Te.jsx)("span",{className:"c-field-types__button-title",children:e.title})]})},e.id);var t})})]})}function so({pageKey:e,suffix:t,isEmpty:n}){const{addField:a,setUi:s}=(0,l.useDispatch)(De),[i,c]=(0,o.useState)(!1),[d,u]=(0,o.useState)(""),[p,g]=(0,o.useState)("bottom"),[m,h]=(0,o.useState)(!0),[f,v]=(0,o.useState)(!0),_=(0,o.useRef)(),x=(0,o.useRef)(),b=(0,o.useRef)(),y=(0,o.useRef)(),w=e=>e.title.toLowerCase().includes(d.toLowerCase()),j=(0,l.useSelect)(e=>e(De).getFieldTypes()||[],[]),N=[...Qi,...eo].map(e=>e.id),E=j.filter(e=>!N.includes(e.type)).map(e=>{return{id:e.type,title:Zs().get(e.type)?.label||e.label,icon:Zs().get(e.type)?.materialIcon||"live_help",addOnIcon:(t=Zs().get(e.type)?.icon,"string"==typeof t?/^[a-z0-9-]+$/.test(t)?t:null:(0,o.isValidElement)(t)||"function"==typeof t?t:null),group:e.group};var t}),C=[...Qi,...E.filter(e=>"layout"!==e.group)].filter(w),D=[...eo,...E.filter(e=>"layout"===e.group)].filter(w);function M(){c(!1),s("hoverOverDropdown",!1),y.current?.focus()}function S(t){const n=N.includes(t)?function(e){return Ji.includes(e)?{frontend:"yes"}:{}}(t):function(e){const t={};return(e?.settings||[]).forEach(e=>{void 0!==e.default&&""!==e.default&&null!==e.default&&(t[e.key]=e.default)}),t}(j.find(e=>e.type===t));a(e,t,void 0,n),c(!1),s("hoverOverDropdown",!1)}return(0,o.useEffect)(()=>{if(!i)return;const e=e=>{_.current&&!_.current.contains(e.target)&&(c(!1),s("hoverOverDropdown",!1))};return document.addEventListener("click",e),()=>document.removeEventListener("click",e)},[i,s]),(0,o.useLayoutEffect)(()=>{if(!i)return;const e=document.querySelector(".c-editor-main"),t=x.current;function n(){if(!e||!t||!_.current)return;const n=e.clientHeight+88,a=_.current.getBoundingClientRect().top,s=a>n/2?a-88-10:n-a-46;g(a>n/2?"top":"bottom"),s<to?(t.style.height=to-(to-s)+"px",t.lastChild.style.height=340-(to-s)+"px"):(t.style.height="430px",t.lastChild.style.height="340px")}return n(),b.current?.focus(),e?.addEventListener("scroll",n),()=>e?.removeEventListener("scroll",n)},[i]),(0,Te.jsxs)("div",{className:Se("o-dropdown-group",n&&"is-empty"),ref:_,children:[(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Add a field","admin-options-pages"),children:(0,Te.jsx)("button",{ref:y,type:"button","aria-haspopup":"true","aria-expanded":i?"true":"false","aria-pressed":i?"true":"false",className:"c-icon-button c-icon-button--insert-toggle is-appender","aria-label":(0,r.__)("Add a field","admin-options-pages"),onClick:()=>c(!i),children:(0,Te.jsx)(Me.Icon,{icon:Cs,size:20})})}),(0,Te.jsxs)("div",{ref:x,className:Se("c-field-types flex flex-col h-full","top"===p&&"above-button"),style:i?void 0:{display:"none"},id:`dropdown-${t}`,onMouseEnter:()=>i&&s("hoverOverDropdown",!0),onMouseLeave:()=>s("hoverOverDropdown",!1),children:[(0,Te.jsx)("div",{className:"p-4",children:(0,Te.jsx)("div",{className:"c-field-types__search-wrapper",children:(0,Te.jsx)("input",{ref:b,type:"search",className:"c-field-types__search",value:d,placeholder:(0,r.__)("Search…","admin-options-pages"),onChange:e=>{u(e.target.value),h(!0),v(!0)},onKeyDown:e=>{"Enter"===e.key&&e.preventDefault(),"Escape"===e.key&&M()}})})}),(0,Te.jsxs)("div",{className:"c-field-types__wrapper pl-4 pr-4 pb-4",children:[C.length>0&&(0,Te.jsx)(ao,{title:(0,r.__)("Options fields","admin-options-pages"),fields:C,open:m,onToggle:()=>!d&&h(!m),onPick:S,onEscape:M}),D.length>0&&(0,Te.jsx)(ao,{title:(0,r.__)("Static content","admin-options-pages"),fields:D,open:f,onToggle:()=>!d&&v(!f),onPick:S,onEscape:M}),0===C.length&&0===D.length&&(0,Te.jsx)("p",{className:"c-field-types__not-found-text",children:(0,r.__)("Nothing found.","admin-options-pages")})]})]})]})}const io={page:["page"],field:["field","fieldList","fieldSlot"]},oo=(0,o.createContext)(null);function lo(e){const t=e.active.data.current?.type,n=io[t]||[t];return tn({...e,droppableContainers:e.droppableContainers.filter(e=>n.includes(e.data.current?.type))})}function ro({bar:e}){return(0,Te.jsx)("div",{className:"aop-drag-copy",ref:t=>{t&&!t.firstChild&&t.appendChild(e)}})}function co({children:e}){const t=(0,l.useSelect)(e=>e(De).getPages(),[]),{movePage:n,moveField:a,moveFieldToPage:s,setUi:i,closeAllPages:r,setFieldOpen:c}=(0,l.useDispatch)(De),d=Wt(Xt(Bn,{activationConstraint:{distance:5}})),[u,p]=(0,o.useState)(null),[g,m]=(0,o.useState)(null);return(0,Te.jsxs)(ya,{sensors:d,collisionDetection:lo,measuring:{droppable:{strategy:Yn.Always}},onDragStart:e=>{as(),function({active:e,activatorEvent:n}){i("moving",!0);const a=n?.target?.closest?.(".c-top-bar");p(a?{bar:a.cloneNode(!0),width:a.getBoundingClientRect().width,grabX:n.clientX-a.getBoundingClientRect().left,grabY:n.clientY-a.getBoundingClientRect().top}:null),"page"!==e.data.current?.type?t.forEach((t,n)=>{const a=(t.fields||[]).findIndex(t=>`field:${t.id}`===e.id);-1!==a&&c(n,a,!1)}):r()}(e)},onDragEnd:e=>{ss(),function({active:e,over:o}){if(p(null),m(null),setTimeout(()=>i("moving",!1),0),g){const n=cs(t,String(e.id));return void(n&&s(n.pageKey,n.index,g.pageKey,g.index))}const l=ds(t,String(e.id),o&&String(o.id));l&&("movePage"===l.action?n(l.from,l.to):"moveField"===l.action?a(l.pageKey,l.from,l.to):s(l.fromPage,l.fromIndex,l.toPage,l.toIndex))}(e)},onDragMove:function({active:e,over:n,activatorEvent:a,delta:s}){const i=void 0===a?.clientY?null:a.clientY+s.y,o=null!==i&&Boolean(n?.rect)&&i>n.rect.top+n.rect.height/2,l=n?function(e,t,n,a=null,s=!1){if(!t.startsWith("field:"))return null;if(n===rs)return a;const i=ds(e,t,n);return"moveFieldToPage"!==i?.action?null:{pageKey:i.toPage,index:s&&n.startsWith("field:")?i.toIndex+1:i.toIndex}}(t,String(e.id),String(n.id),g,o):null;l?.pageKey===g?.pageKey&&l?.index===g?.index||m(l)},onDragCancel:()=>{ss(),p(null),m(null),i("moving",!1)},children:[(0,Te.jsx)(oo.Provider,{value:g,children:e}),(0,Te.jsx)(Pa,{dropAnimation:null,modifiers:[function({transform:e,activatorEvent:t,draggingNodeRect:n}){return u&&n&&void 0!==t?.clientX?{...e,x:t.clientX+e.x-u.grabX-n.left,y:t.clientY+e.y-u.grabY-n.top}:e}],children:u?(0,Te.jsx)("div",{style:{width:u.width},children:(0,Te.jsx)(ro,{bar:u.bar})}):null})]})}const uo="administrator";function po(e){return e.missing?(0,r.sprintf)(/* translators: %s: the slug of a role that does not exist on this site */ /* translators: %s: the slug of a role that does not exist on this site */
     2(0,r.__)("%s (no longer available)","admin-options-pages"),e.name):"number"!=typeof e.count?e.name:(0,r.sprintf)(/* translators: 1: the name of a role, 2: the number of users with that role */ /* translators: 1: the name of a role, 2: the number of users with that role */
     3(0,r._n)("%1$s (%2$d user)","%1$s (%2$d users)",e.count,"admin-options-pages"),e.name,e.count)}function go({pageKey:e,page:t,onChange:n}){const[a,s]=(0,o.useState)(!1),i=_i(),{roles:l}=function(e,t=[]){return Array.isArray(e.roles)?{roles:e.roles,legacy:!1}:"edit_others_posts"===e.capability?{roles:[...t],legacy:!0}:{roles:[],legacy:!1}}(t,i.legacyEditorRoles||[]),c=function(e=[],t=[]){const n=e.find(e=>e.slug===uo)||{slug:uo,name:(0,r.__)("Administrator","admin-options-pages"),canOpenAdmin:!0},a=e.filter(e=>e.slug!==uo),s=e.map(e=>e.slug);return[n,...a,...t.filter(e=>!s.includes(e)).map(e=>({slug:e,name:e,missing:!0}))]}(i.roles||[],l),d=`pages[${e}][roles]`,u=`aop-roles-label-${e}`;return(0,Te.jsxs)("div",{className:"o-input-wrapper aop-roles",children:[(0,Te.jsx)("span",{id:u,className:"c-input-label",children:(0,r.__)("Who can edit","admin-options-pages")}),(0,Te.jsxs)("div",{className:"o-input-wrapper__field aop-roles__field",children:[(0,Te.jsx)(Me.Button,{variant:"secondary",className:"aop-roles__button","aria-labelledby":`${u} aop-roles-summary-${e}`,"aria-haspopup":"dialog",onClick:()=>s(!0),children:(0,Te.jsx)("span",{id:`aop-roles-summary-${e}`,children:(p=l.length,(0,r.sprintf)(/* translators: %d: the number of roles besides administrator that can edit the page */ /* translators: %d: the number of roles besides administrator that can edit the page */
     4(0,r._n)("Administrator + %d other","Administrator + %d others",p,"admin-options-pages"),p))})}),(0,Te.jsx)("input",{type:"hidden",name:d,value:""}),l.map(e=>(0,Te.jsx)("input",{type:"hidden",name:`${d}[]`,value:e},e))]}),a&&(0,Te.jsxs)(Me.Modal,{title:(0,r.__)("Who can edit","admin-options-pages"),className:"aop-roles-modal",size:"small",onRequestClose:()=>s(!1),children:[(0,Te.jsx)("div",{className:"aop-roles__list",children:c.map(e=>{const t=e.slug===uo,a=t||l.includes(e.slug);let s;return t?s=(0,r.__)("Administrators always have access.","admin-options-pages"):a&&!1===e.canOpenAdmin&&(s=(0,r.__)("Users with this role cannot open the dashboard.","admin-options-pages")),(0,Te.jsx)(Me.CheckboxControl,{__nextHasNoMarginBottom:!0,className:"aop-roles__role",label:po(e),help:s,checked:a,disabled:t,onChange:t=>((e,t)=>n(t?[...l,e]:l.filter(t=>t!==e)))(e.slug,t)},e.slug)})}),(0,Te.jsx)("div",{className:"aop-roles-modal__footer",children:(0,Te.jsx)(Me.Button,{variant:"primary",onClick:()=>s(!1),children:(0,r.__)("Done","admin-options-pages")})})]})]});var p}function mo({pageKey:e,page:t,set:n}){const a=`pages[${e}][subpage_position]`,{message:s,invalid:i,onTouch:o}=qe({name:a,value:t.subpage_position??"",rules:"numeric|between:0,100",as:"subpage position"});return(0,Te.jsxs)("div",{className:"o-input-wrapper has-message",children:[(0,Te.jsx)("label",{htmlFor:a,className:"c-input-label for-toggle",children:(0,r.__)("Position","admin-options-pages")}),(0,Te.jsxs)("div",{className:"o-input-wrapper__field",children:[(0,Te.jsx)("input",{className:Se("c-input is-position",i&&"not-valid"),type:"text",placeholder:"0-100",name:a,id:a,value:t.subpage_position??"",...Le(`${a}-message`,i),onChange:e=>n("subpage_position",e.target.value),onBlur:o,onKeyDown:e=>{"Enter"===e.key&&e.preventDefault(),function(e,t,n){if(st(e))return;const{key:a}=e;["0",...at].includes(a)||nt.includes(a)||("ArrowUp"===a?(e.preventDefault(),""===e.target.value?n(1):Number(t)<=99&&n(Number(t)+1)):"ArrowDown"===a?(e.preventDefault(),""!==e.target.value&&Number(t)>=1&&n(Number(t)-1)):e.preventDefault())}(e,t.subpage_position,e=>n("subpage_position",e))}}),(0,Te.jsx)(Ae,{id:`${a}-message`,message:i?s:null})]})]})}function ho({pageKey:e,sortable:t}){const{page:n,menuType:a,moving:s,pageCount:i}=(0,l.useSelect)(t=>{const n=t(De);return{page:n.getPage(e),menuType:n.getMenuType(),moving:n.getUi().moving,pageCount:n.getPages().length}},[e]),{setIn:c,togglePage:d,setPageOpen:u,removePage:p,moveField:g}=(0,l.useDispatch)(De),m=(0,o.useContext)(oo),h=(0,o.useRef)(),f=(0,o.useRef)(),v=(0,o.useRef)(Boolean(n.menu_title)),_=(0,o.useRef)(void 0===n.subpage_title&&i>1),x=(t,n)=>c(["pages",e,t],n),b=Boolean(n.subpage_toggle),y=(w=n.menu_title,j=n.subpage_slug_suffix,`${(w||"").trimEnd().split(" ").join("-")}-${j}`.normalize("NFD").replace(/[̀-ͯ]/g,""));var w,j;const N=function(e){const t="None",n=e.menu_title||"",a=e.subpage_title||"",s=[t,n,a].filter(Boolean),i=e.select_title;return{value:[n,a,t].includes(i)?i:t,options:s}}(n),E=t=>`pages[${e}][${t}]`;(0,o.useEffect)(()=>{if(_.current){h.current?.scrollIntoView?.({behavior:"smooth",block:"center"});const e=setTimeout(()=>ws(f.current),300);return()=>clearTimeout(e)}if(window.location.hash&&window.location.hash.substring(1)===n.subpage_slug_suffix){u(e,!0);const t=setTimeout(()=>{h.current?.scrollIntoView?.({behavior:"smooth",block:"start"}),window.history.replaceState({},document.title,window.location.href.replace(window.location.hash,""))},200);return()=>clearTimeout(t)}},[]);const C="existing"===a?`${n.parent_slug}?page=${y}`:`admin.php?page=${y}`;return(0,Te.jsxs)("div",{className:"o-page",id:n.subpage_slug_suffix,ref:h,children:[(0,Te.jsxs)("div",{role:"presentation",className:Se("c-top-bar c-top-bar--subpage bg-gray-wp-100 border border-gray-wp-400 hover:border-gray-700",b&&"is-open"),onClick:()=>!s&&d(e),...t&&t.barProps,children:[(0,Te.jsxs)("div",{className:"c-top-bar__left",children:[t&&(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Drag to reorder","admin-options-pages"),children:(0,Te.jsx)("span",{className:"c-top-bar__drag-handle","aria-hidden":"true",onClick:e=>e.stopPropagation(),...t.handleProps,children:(0,Te.jsx)(Me.Icon,{icon:dt,size:20})})}),(0,Te.jsx)("h3",{className:Se("c-top-bar__title is-subpage",!n.menu_title&&"is-placeholder"),children:n.menu_title?n.menu_title:(0,r.__)("Title","admin-options-pages")})]}),(0,Te.jsxs)("div",{className:"c-top-bar__right",children:[t&&(0,Te.jsx)("span",{onClick:e=>e.stopPropagation(),children:(0,Te.jsx)(us,{canMoveUp:t.canMoveUp,canMoveDown:t.canMoveDown,onUp:t.moveUp,onDown:t.moveDown})}),(0,Te.jsx)("button",{type:"button",className:"c-top-bar__toggle","aria-expanded":b?"true":"false",children:(0,Te.jsx)("span",{className:Se("c-top-bar__toggle-indicator",b&&"is-open"),"aria-hidden":"true"})})]})]}),(0,Te.jsxs)("div",{className:"o-page__inside border-gray-wp-400",style:b?void 0:{display:"none"},children:[(0,Te.jsxs)("div",{className:"o-page__wrapper",children:[(0,Te.jsxs)("div",{className:"o-page__content",children:[(0,Te.jsx)(Ts,{name:E("menu_title"),id:E("menu_title"),label:(0,r.__)("Menu page title","admin-options-pages"),value:n.menu_title,onChange:e=>x("menu_title",e),rules:"required|alphanumeric_spaces",as:"page menu title",placeholder:(0,r.__)("Title","admin-options-pages"),inputRef:f}),(0,Te.jsx)(Ts,{name:E("subpage_title"),id:E("subpage_title"),label:(0,r.__)("Page title","admin-options-pages"),value:n.subpage_title,onChange:e=>x("subpage_title",e),rules:"no_less_than_sign",as:"page title"}),(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:`subpage_page_selector_${e}`,className:"c-input-label",children:(0,r.__)("Page title on top","admin-options-pages")}),(0,Te.jsx)("select",{className:"c-select",name:E("select_title"),id:`subpage_page_selector_${e}`,value:N.value,onChange:e=>x("select_title",e.target.value),onKeyDown:e=>"Enter"===e.key&&e.preventDefault(),children:N.options.map((e,t)=>(0,Te.jsx)("option",{children:e},`${e}-${t}`))})]}),(0,Te.jsxs)("div",{className:"o-input-wrapper",children:[(0,Te.jsx)("label",{htmlFor:`subpage_tab_${e}`,className:"c-input-label for-toggle",children:(0,r.__)("Show page with tab","admin-options-pages")}),(0,Te.jsx)(Os,{name:E("subpage_tab"),id:`subpage_tab_${e}`,checked:Boolean(n.include_tab),value:"1",onChange:e=>x("include_tab",e)})]}),(0,Te.jsx)(go,{pageKey:e,page:n,onChange:e=>x("roles",e)}),"existing"===a?(0,Te.jsx)(mo,{pageKey:e,page:n,set:x}):(0,Te.jsx)("input",{type:"hidden",name:E("subpage_position"),value:""}),(0,Te.jsx)("input",{type:"hidden",name:E("subpage_toggle"),value:String(b)}),(0,Te.jsx)("input",{type:"hidden",name:E("subpage_slug"),value:y}),(0,Te.jsx)("input",{type:"hidden",name:E("subpage_slug_suffix"),value:n.subpage_slug_suffix})]}),(0,Te.jsxs)("div",{className:"o-page__options flex flex-col justify-between",children:[v.current&&(0,Te.jsx)("div",{className:"o-input-wrapper justify-end",children:(0,Te.jsx)("a",{href:C,className:"alignright button",children:(0,r.__)("Visit Page","admin-options-pages")})}),(0,Te.jsx)("div",{className:"o-input-wrapper justify-end",children:(0,Te.jsx)(_s,{label:(0,r.__)("Delete Page","admin-options-pages"),onConfirm:()=>p(e)})})]})]}),(0,Te.jsxs)("div",{className:"o-fields-wrapper border-gray-wp-200 border-t",children:[(0,Te.jsx)(fs,{shared:!0,type:"field",containerId:ls(e),items:n.fields,getId:os,className:Se("o-drag-list for-fields",s&&"is-active",!n.fields[0]&&"is-empty"),itemClassName:"o-field",slotIndex:m?.pageKey===e?m.index:null,ghostAway:null!==m,onMove:(t,n)=>g(e,t,n),renderItem:(t,n,a)=>(0,Te.jsx)(ei,{pageKey:e,fieldKey:n,slug:y,sortable:a})}),(0,Te.jsx)(so,{pageKey:e,suffix:n.subpage_slug_suffix,isEmpty:!n.fields[0]})]})]})]})}function fo({config:e={}}){const{pages:t,removedFields:n,id:a,sideBarVisible:i,hoverOverDropdown:c,moving:d,text:u}=(0,l.useSelect)(e=>{const t=e(De);return{pages:t.getPages(),removedFields:t.getRemovedFields(),id:t.getData().id,sideBarVisible:t.isSidebarVisible(),hoverOverDropdown:t.getUi().hoverOverDropdown,moving:t.getUi().moving,text:t.getText()}},[]),{movePage:p,validateAll:g,setFieldTypes:m}=(0,l.useDispatch)(De),[h,f]=(0,o.useState)(!1),[v,_]=(0,o.useState)([]);return(0,o.useEffect)(()=>{let e=!1;return s()({path:"/aop/v1/field-types"}).then(t=>!e&&m(t.types)).catch(()=>{}),()=>{e=!0}},[m]),(0,o.useEffect)(()=>{if(a){const e=setTimeout(()=>g(),100);return()=>clearTimeout(e)}},[a,g]),(0,Te.jsxs)("div",{className:"inset-0 absolute block-editor__container",children:[(0,Te.jsx)("div",{className:"h-full",children:(0,Te.jsx)("div",{className:"h-full",children:(0,Te.jsx)("div",{className:"h-full",children:(0,Te.jsxs)("form",{method:"POST",onSubmit:async function(e){if(e.preventDefault(),!h){f(!0),_([]);try{const t=await function({id:e,body:t}){return s()({path:"/aop/v1/pages"+(e?`/${e}`:""),method:"POST",body:t})}({id:a,body:new URLSearchParams(new FormData(e.currentTarget))});return void(a?window.location.reload():window.location.assign(t.redirect))}catch(e){_(function(e){const t=e?.data?.errors;return Array.isArray(t)&&t.length?t.map(e=>e.message):[e?.message||(0,r.__)("Saving failed.","admin-options-pages")]}(e))}f(!1)}},children:[v.length>0&&(0,Te.jsx)("div",{className:"notice notice-error aop-save-errors",role:"alert",children:v.map(e=>(0,Te.jsx)("p",{children:e},e))}),(0,Te.jsxs)(co,{children:[(0,Te.jsx)(rt,{}),(0,Te.jsxs)("div",{className:Se("c-editor-main",!i&&"no-side-bar",c&&"dropdown-active"),children:[(0,Te.jsx)("input",{type:"hidden",id:e.nonceName,name:e.nonceName,value:e.nonce||""}),(0,Te.jsx)("input",{type:"hidden",name:"_wp_http_referer",value:e.referer||""}),(0,Te.jsx)("input",{type:"hidden",name:"side_bar_visible",value:String(i)}),n.map(e=>(0,Te.jsx)("input",{type:"hidden",name:"removed_fields[]",value:e},e)),(0,Te.jsx)("div",{className:"o-body",children:(0,Te.jsx)("div",{className:"o-body__content",children:(0,Te.jsxs)("div",{className:"w-full relative",children:[(0,Te.jsx)("div",{className:"screen-reader-text"}),(0,Te.jsxs)("div",{className:"o-meta-box__pages-wrapper",children:[(0,Te.jsx)(fs,{shared:!0,type:"page",items:t,getId:is,className:Se("o-drag-list",d&&"is-active"),itemClassName:"",onMove:(e,t)=>p(e,t),renderItem:(e,t,n)=>(0,Te.jsx)(ho,{pageKey:t,sortable:n})}),(0,Te.jsx)(Qe,{}),(0,Te.jsx)("div",{className:"h-screen-half w-full"})]})]})})})]}),(0,Te.jsx)("div",{children:(0,Te.jsx)(ct,{})})]}),(0,Te.jsxs)("div",{className:"hidden min-width-screen bg-white w-full h-full z-50 absolute",children:[(0,Te.jsx)("div",{}),(0,Te.jsxs)("div",{className:"bg-gray-200 my-5",children:[(0,Te.jsx)("p",{className:"text-center text-xl mt-20 px-20",children:(0,r.__)("At this moment there is no proper support for small/mobile screens.","admin-options-pages")}),(0,Te.jsx)("p",{className:"text-center text-xl px-20",children:(0,r.__)("We hope to fix this in a future version.","admin-options-pages")}),(0,Te.jsx)("p",{className:"text-center text-2xl mt-20 px-20",children:(0,r.__)("The minimum required screen width is 1000px.","admin-options-pages")})]}),(0,Te.jsx)("div",{})]})]})})})}),(0,Te.jsx)("span",{className:"screen-reader-text",children:a?u?.page?.update?.h1Title:u?.page?.create?.h1Title})]})}function vo({config:e}){return(0,Te.jsx)(fo,{config:e})}const _o={};function xo(e,t){_o[e]=t}function bo(e){return{...e.dataset}}const yo="aop-modal-is-open",wo=window.aop_script_data_js;var jo;wo&&(jo=wo.rest,!i&&jo&&(s().use(s().createRootURLMiddleware(jo.root)),s().use(s().createNonceMiddleware(jo.nonce)),i=!0),function(e){const a=function(e,a){return(0,l.createReduxStore)(De,{reducer:j,actions:t,selectors:n,initialState:b(e,a)})}(e,{dashIcons:window.aop_dashicons_js});(0,l.register)(a)}(wo),function(e=Zs()){Object.entries(qi).forEach(([t,n])=>{e.register(t,{EditComponent:n})})}(),xo("modal",function(){const{open:e,href:t,text:n}=(0,l.useSelect)(e=>{const t=e(De);return{open:t.isModalOpen(),href:t.getHrefDeleteAction(),text:t.getText()?.general?.modal||{}}},[]),{closeModal:a}=(0,l.useDispatch)(De),s=(0,o.useRef)();return(0,o.useEffect)(()=>{if(!e)return;const t=e=>"Escape"===e.key&&a();return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[e,a]),(0,o.useEffect)(()=>(document.body.classList.toggle(yo,e),e&&s.current&&s.current.focus(),()=>document.body.classList.remove(yo)),[e]),(0,Te.jsx)("div",{role:"presentation",className:"c-modal__screen-overlay",style:e?void 0:{display:"none"},onClick:e=>{"c-modal__screen-overlay"===e.target.className&&a()},children:(0,Te.jsx)("div",{className:"c-modal__frame",children:(0,Te.jsxs)("div",{role:"dialog","aria-modal":"true","aria-labelledby":"aop-modal-heading",className:"c-modal__content",ref:s,tabIndex:0,children:[(0,Te.jsxs)("div",{className:"c-modal__header",children:[(0,Te.jsx)("div",{className:"c-modal__header-heading-container",children:(0,Te.jsx)("h1",{className:"c-modal__header-heading",id:"aop-modal-heading",children:(0,Te.jsx)("span",{className:"edit-post-options-modal__title",children:n.heading})})}),(0,Te.jsx)(Me.Tooltip,{text:(0,r.__)("Close dialog","admin-options-pages"),children:(0,Te.jsx)("button",{type:"button","aria-label":(0,r.__)("Close dialog","admin-options-pages"),className:"c-modal__button c-modal__icon-button",onClick:a,children:(0,Te.jsx)("svg",{"aria-hidden":"true",role:"img",focusable:"false",className:"dashicon dashicons-no-alt",xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",children:(0,Te.jsx)("path",{d:"M14.95 6.46L11.41 10l3.54 3.54-1.41 1.41L10 11.42l-3.53 3.53-1.42-1.42L8.58 10 5.05 6.47l1.42-1.42L10 8.58l3.54-3.53z"})})})})]}),(0,Te.jsxs)("div",{className:"c-modal__section",children:[(0,Te.jsx)("button",{className:"c-modal__button is-button is-cancel",tabIndex:0,type:"button",onClick:a,children:n.cancel}),(0,Te.jsx)("a",{className:"c-modal__button is-button is-delete",href:t,tabIndex:0,onKeyDown:e=>{"Tab"!==e.key||e.shiftKey||setTimeout(()=>s.current?.focus())},children:n.delete})]})]})})})}),xo("delete-page",function({data:e}){const t=(0,l.useSelect)(e=>e(De).getText()?.page||{},[]),{openModal:n}=(0,l.useDispatch)(De);return(0,Te.jsx)("button",{className:"c-row-action-button is-link",type:"button",onClick:()=>n(e.hrefDeleteAction),children:t.update?.linkDelete})}),function(e=document,t=window.aop_editor_config){const n=[],a=e.querySelector("#aop-react-root");if(a){const e=(0,o.createRoot)(a);e.render((0,Te.jsx)(vo,{config:t})),n.push(e)}e.querySelectorAll("[data-aop-mount]").forEach(e=>{const t=_o[e.dataset.aopMount];if(!t)return;const a=(0,o.createRoot)(e);a.render((0,Te.jsx)(t,{data:bo(e)})),n.push(a)})}())})();
  • admin-options-pages/trunk/includes/schema/export.v1.json

    r3736451 r3750608  
    7070              "menu_title": { "type": "string", "maxLength": 191 },
    7171              "capability": { "type": "string", "maxLength": 64 },
     72              "roles": {
     73                "type": "array",
     74                "maxItems": 50,
     75                "items": { "type": "string", "maxLength": 64, "pattern": "^[a-z0-9_-]+$" }
     76              },
    7277              "menu_slug": { "type": "string", "maxLength": 191 },
    7378              "subpage_slug_suffix": { "type": "string", "maxLength": 191 },
  • admin-options-pages/trunk/languages/admin-options-pages-de_DE-40ab473175f2d6a502e444c4dd505d9d.json

    r3736451 r3750608  
    1 {"translation-revision-date":"2026-10-09T10:01:38+00:00","generator":"WP-CLI\/2.11.0","source":"includes\/build\/editor.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de","plural-forms":"nplurals=2; plural=(n != 1);"},"Settings":["Einstellungen"],"Documentation":["Dokumentation"],"Title":["Titel"],"Position":["Position"],"Are you sure?":["Bist du sicher?"],"Cancel":["Abbrechen"],"Delete":["L\u00f6schen"],"Field label":["Feldbeschriftung"],"Field name":["Feldname"],"Autoload":["Autoload"],"Use in shortcode and blocks":["In Shortcode und Bl\u00f6cken verwenden"],"Additional CSS Class(es)":["Zus\u00e4tzliche CSS-Klasse(n)"],"Description":["Beschreibung"],"Default value":["Standardwert"],"Button group":["Button-Gruppe"],"Field values":["Feldwerte"],"Checkbox":["Checkbox"],"Text when checked":["Text, wenn ausgew\u00e4hlt"],"Text when not checked":["Text, wenn nicht ausgew\u00e4hlt"],"Text after input field":["Text nach dem Eingabefeld"],"Color picker":["Farbw\u00e4hler"],"Default color (HEX)":["Standardfarbe (HEX)"],"Date":["Datum"],"Field style":["Feldstil"],"Date and time":["Datum und Uhrzeit"],"Email":["E-Mail"],"Placeholder":["Platzhalter"],"File":["Datei"],"Allowed file types":["Erlaubte Dateitypen"],"Horizontal rule":["Horizontale Linie"],"Image":["Bild"],"Allowed extensions":["Erlaubte Dateiendungen"],"Link":["Link"],"Number":["Zahl"],"Minimum value":["Mindestwert"],"Maximum value":["H\u00f6chstwert"],"Decimals":["Dezimalstellen"],"Password":["Passwort"],"Radio buttons":["Radio-Buttons"],"Range":["Schieberegler"],"Select":["Auswahl"],"Textarea":["Textbereich"],"Description italic":["Beschreibung kursiv"],"Text field":["Textfeld"],"Formatted as code":["Als Code formatiert"],"Time":["Uhrzeit"],"Wysiwyg editor":["WYSIWYG-Editor"],"Show media upload buttons":["Buttons zum Hochladen von Medien anzeigen"],"Toolbar":["Werkzeugleiste"],"Icon":["Icon"],"Choose an icon":["W\u00e4hle ein Icon"],"Search for an icon\u2026":["Nach einem Icon suchen \u2026"],"Nothing found.":["Nichts gefunden."],"Add New Page":["Neue Seite hinzuf\u00fcgen"],"Menu Type":["Men\u00fctyp"],"Custom menu":["Eigenes Men\u00fc"],"Existing menu":["Bestehendes Men\u00fc"],"Menu title":["Men\u00fctitel"],"Close settings":["Einstellungen schlie\u00dfen"],"Move left":["Nach links verschieben"],"Move up":["Nach oben verschieben"],"Move right":["Nach rechts verschieben"],"Move down":["Nach unten verschieben"],"Drag to reorder":["Zum Neuordnen ziehen"],"Add block":["Block hinzuf\u00fcgen"],"Value":["Wert"],"Label":["Beschriftung"],"Delete this row":["Diese Zeile l\u00f6schen"],"Add a row":["Eine Zeile hinzuf\u00fcgen"],"Help":["Hilfe"],"Shortcode":["Shortcode"],"Copied!":["Kopiert!"],"Copy":["Kopieren"],"With get_option() the value is always available in PHP, also when this is off.":["Mit get_option() ist der Wert in PHP immer verf\u00fcgbar, auch wenn dies aus ist."],"Field":["Feld"],"This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.":["Dieser Feldtyp ist nicht verf\u00fcgbar. Aktiviere das Plugin, das ihn bereitstellt. Es wurde nichts gel\u00f6scht: Das Feld wird so gespeichert, wie es ist."],"Options":["Optionen"],"Regular":["Normal"],"Small":["Klein"],"Large":["Gro\u00df"],"Standard":["Standard"],"0":["0"],"1":["1"],"2":["2"],".jpeg .jpg":[".jpeg .jpg"],".png":[".png"],".gif":[".gif"],".svg":[".svg"],"This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.":["Diese Website erlaubt keine SVG-Uploads. Ein Plugin wie Safe SVG f\u00fcgt das sicher hinzu."],".ico":[".ico"],"Full":["Vollst\u00e4ndig"],"Basic":["Einfach"],".pdf":[".pdf"],".doc":[".doc"],".docx":[".docx"],".xls":[".xls"],".xlsx":[".xlsx"],".csv":[".csv"],".zip":[".zip"],".txt":[".txt"],"Add a field":["Ein Feld hinzuf\u00fcgen"],"Search\u2026":["Suchen \u2026"],"Options fields":["Optionsfelder"],"Static content":["Statischer Inhalt"],"Menu page title":["Seitentitel im Men\u00fc"],"Page title":["Seitentitel"],"Page title on top":["Seitentitel oben"],"Show page with tab":["Seite mit Tab anzeigen"],"User access level":["Zugriffsebene"],"Visit Page":["Seite ansehen"],"Delete Page":["Seite l\u00f6schen"],"Saving failed.":["Speichern fehlgeschlagen."],"At this moment there is no proper support for small\/mobile screens.":["Zurzeit werden kleine\/mobile Bildschirme nicht richtig unterst\u00fctzt."],"We hope to fix this in a future version.":["Wir hoffen, das in einer kommenden Version zu beheben."],"The minimum required screen width is 1000px.":["Die minimale Bildschirmbreite ist 1000px."],"Close dialog":["Dialog schlie\u00dfen"]}}}
     1{"translation-revision-date":"2026-10-09T10:01:38+00:00","generator":"WP-CLI\/2.11.0","source":"includes\/build\/editor.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"de","plural-forms":"nplurals=2; plural=(n != 1);"},"Settings":["Einstellungen"],"Documentation":["Dokumentation"],"Title":["Titel"],"Position":["Position"],"Are you sure?":["Bist du sicher?"],"Cancel":["Abbrechen"],"Delete":["L\u00f6schen"],"Field label":["Feldbeschriftung"],"Field name":["Feldname"],"Autoload":["Autoload"],"Use in shortcode and blocks":["In Shortcode und Bl\u00f6cken verwenden"],"Additional CSS Class(es)":["Zus\u00e4tzliche CSS-Klasse(n)"],"Description":["Beschreibung"],"Default value":["Standardwert"],"Button group":["Button-Gruppe"],"Field values":["Feldwerte"],"Checkbox":["Checkbox"],"Text when checked":["Text, wenn ausgew\u00e4hlt"],"Text when not checked":["Text, wenn nicht ausgew\u00e4hlt"],"Text after input field":["Text nach dem Eingabefeld"],"Color picker":["Farbw\u00e4hler"],"Default color (HEX)":["Standardfarbe (HEX)"],"Date":["Datum"],"Field style":["Feldstil"],"Date and time":["Datum und Uhrzeit"],"Email":["E-Mail"],"Placeholder":["Platzhalter"],"File":["Datei"],"Allowed file types":["Erlaubte Dateitypen"],"Horizontal rule":["Horizontale Linie"],"Image":["Bild"],"Allowed extensions":["Erlaubte Dateiendungen"],"Link":["Link"],"Number":["Zahl"],"Minimum value":["Mindestwert"],"Maximum value":["H\u00f6chstwert"],"Decimals":["Dezimalstellen"],"Password":["Passwort"],"Radio buttons":["Radio-Buttons"],"Range":["Schieberegler"],"Select":["Auswahl"],"Textarea":["Textbereich"],"Description italic":["Beschreibung kursiv"],"Text field":["Textfeld"],"Formatted as code":["Als Code formatiert"],"Time":["Uhrzeit"],"Wysiwyg editor":["WYSIWYG-Editor"],"Show media upload buttons":["Buttons zum Hochladen von Medien anzeigen"],"Toolbar":["Werkzeugleiste"],"Icon":["Icon"],"Choose an icon":["W\u00e4hle ein Icon"],"Search for an icon\u2026":["Nach einem Icon suchen \u2026"],"Nothing found.":["Nichts gefunden."],"Add New Page":["Neue Seite hinzuf\u00fcgen"],"Menu Type":["Men\u00fctyp"],"Custom menu":["Eigenes Men\u00fc"],"Existing menu":["Bestehendes Men\u00fc"],"Menu title":["Men\u00fctitel"],"Close settings":["Einstellungen schlie\u00dfen"],"Move left":["Nach links verschieben"],"Move up":["Nach oben verschieben"],"Move right":["Nach rechts verschieben"],"Move down":["Nach unten verschieben"],"Drag to reorder":["Zum Neuordnen ziehen"],"Add block":["Block hinzuf\u00fcgen"],"Value":["Wert"],"Label":["Beschriftung"],"Delete this row":["Diese Zeile l\u00f6schen"],"Add a row":["Eine Zeile hinzuf\u00fcgen"],"Help":["Hilfe"],"Shortcode":["Shortcode"],"Copied!":["Kopiert!"],"Copy":["Kopieren"],"With get_option() the value is always available in PHP, also when this is off.":["Mit get_option() ist der Wert in PHP immer verf\u00fcgbar, auch wenn dies aus ist."],"Field":["Feld"],"This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.":["Dieser Feldtyp ist nicht verf\u00fcgbar. Aktiviere das Plugin, das ihn bereitstellt. Es wurde nichts gel\u00f6scht: Das Feld wird so gespeichert, wie es ist."],"Options":["Optionen"],"Regular":["Normal"],"Small":["Klein"],"Large":["Gro\u00df"],"Standard":["Standard"],"0":["0"],"1":["1"],"2":["2"],".jpeg .jpg":[".jpeg .jpg"],".png":[".png"],".gif":[".gif"],".svg":[".svg"],"This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.":["Diese Website erlaubt keine SVG-Uploads. Ein Plugin wie Safe SVG f\u00fcgt das sicher hinzu."],".ico":[".ico"],"Full":["Vollst\u00e4ndig"],"Basic":["Einfach"],".pdf":[".pdf"],".doc":[".doc"],".docx":[".docx"],".xls":[".xls"],".xlsx":[".xlsx"],".csv":[".csv"],".zip":[".zip"],".txt":[".txt"],"Add a field":["Ein Feld hinzuf\u00fcgen"],"Search\u2026":["Suchen \u2026"],"Options fields":["Optionsfelder"],"Static content":["Statischer Inhalt"],"Menu page title":["Seitentitel im Men\u00fc"],"Page title":["Seitentitel"],"Page title on top":["Seitentitel oben"],"Show page with tab":["Seite mit Tab anzeigen"],"Visit Page":["Seite ansehen"],"Delete Page":["Seite l\u00f6schen"],"Saving failed.":["Speichern fehlgeschlagen."],"At this moment there is no proper support for small\/mobile screens.":["Zurzeit werden kleine\/mobile Bildschirme nicht richtig unterst\u00fctzt."],"We hope to fix this in a future version.":["Wir hoffen, das in einer kommenden Version zu beheben."],"The minimum required screen width is 1000px.":["Die minimale Bildschirmbreite ist 1000px."],"Close dialog":["Dialog schlie\u00dfen"],"%s (no longer available)":["%s (nicht mehr verf\u00fcgbar)"],"%1$s (%2$d user)":["%1$s (%2$d Benutzer)","%1$s (%2$d Benutzer)"],"Administrator":["Administrator"],"Who can edit":["Wer bearbeiten darf"],"Administrator + %d other":["Administrator + %d weitere","Administrator + %d weitere"],"Administrators always have access.":["Administratoren haben immer Zugriff."],"Users with this role cannot open the dashboard.":["Benutzer mit dieser Rolle k\u00f6nnen das Dashboard nicht \u00f6ffnen."],"Done":["Fertig"]}}}
  • admin-options-pages/trunk/languages/admin-options-pages-de_DE.l10n.php

    r3736451 r3750608  
    11<?php
    2 return ['domain'=>'admin-options-pages','plural-forms'=>'nplurals=2; plural=(n != 1);','language'=>'de','project-id-version'=>'Admin Options Pages 1.0.0','pot-creation-date'=>'2026-10-09T10:01:38+00:00','po-revision-date'=>'2026-10-09T10:01:38+00:00','x-generator'=>'WP-CLI 2.11.0','messages'=>['Admin Options Pages'=>'Admin Options Pages','https://adminoptionspages.com'=>'https://adminoptionspages.com','Create and edit your own options pages with ease.'=>'Erstelle und bearbeite ganz einfach deine eigenen Optionsseiten.','Johannes van Poelgeest'=>'Johannes van Poelgeest','https://poolghost.com'=>'https://poolghost.com','Options Pages'=>'Optionsseiten','All Options Pages'=>'Alle Optionsseiten','Add new'=>'Neu hinzufügen','edit Page'=>'Seite bearbeiten','What\'s new in Admin Options Pages 1.0'=>'Neu in Admin Options Pages 1.0','What\'s new'=>'Was ist neu','Settings'=>'Einstellungen','Import / Export'=>'Import / Export','Saved.'=>'Gespeichert.','Updated.'=>'Aktualisiert.','Pages deleted.'=>'Seiten gelöscht.','Page deleted.'=>'Seite gelöscht.','You attempted to edit a menu that does not exist. Perhaps it was deleted?'=>'Du versuchst, ein Menü zu bearbeiten, das nicht existiert. Vielleicht wurde es gelöscht?','Go to all options pages'=>'Zu allen Optionsseiten','Menu not found'=>'Menü nicht gefunden','Global Settings'=>'Allgemeine Einstellungen','Sorry, you are not allowed to export.'=>'Du darfst nicht exportieren.','Creating options pages has never been easier.'=>'Optionsseiten zu erstellen war noch nie so einfach.','Documentation'=>'Dokumentation','love'=>'liebst','five stars'=>'fünf Sterne','If you really %1$s this plugin, consider giving some %2$s to help make %3$s more known.'=>'Wenn du dieses Plugin wirklich %1$s, gib ihm %2$s, damit %3$s bekannter wird.','Admin Options Pages 1.0 is here.'=>'Admin Options Pages 1.0 ist da.','Import and export with your data, your own field types, nine new field types and your values on your website.'=>'Import und Export mit deinen Daten, eigene Feldtypen, neun neue Feldtypen und deine Werte auf deiner Website.','See what\'s new'=>'Sieh dir an, was neu ist','Admin Options Pages 1.0'=>'Admin Options Pages 1.0','Import and export with your data, your own field types and your values on your website.'=>'Import und Export mit deinen Daten, eigene Feldtypen und deine Werte auf deiner Website.','Welcome to Admin Options Pages 1.0'=>'Willkommen bei Admin Options Pages 1.0','This is the biggest update of the plugin so far. Menus now move to another site with all their values, so the options pages you built and filled locally go live in one file. You can add field types of your own, there are nine new built-in ones, and the values of your fields can be shown on your website without code. Your menus, pages, fields and values are all still here.'=>'Das ist das bisher größte Update des Plugins. Menüs ziehen jetzt mit allen Werten auf eine andere Website um, sodass die Optionsseiten, die du lokal gebaut und gefüllt hast, in einer Datei live gehen. Du kannst eigene Feldtypen hinzufügen, es gibt neun neue eingebaute, und die Werte deiner Felder lassen sich ohne Code auf deiner Website anzeigen. Deine Menüs, Seiten, Felder und Werte sind alle noch da.','Import and export, with your data'=>'Import und Export, mit deinen Daten','Build and fill your options pages locally, then take them live in one file.'=>'Baue und fülle deine Optionsseiten lokal und bring sie dann in einer Datei live.','Export the menus you choose together with the values of their fields, and import them on your live site, a staging site or your next project. No more typing the same settings twice.'=>'Exportiere die Menüs, die du auswählst, zusammen mit den Werten ihrer Felder, und importiere sie auf deiner Live-Website, einer Staging-Website oder in deinem nächsten Projekt. Nie wieder dieselben Einstellungen zweimal eintippen.','Before anything changes you see what would happen, and you choose per menu, page, field and value. Nothing is replaced unless you choose it, and an import is all or nothing. Exports made with 0.9 can be imported too.'=>'Bevor sich etwas ändert, siehst du, was passieren würde, und du wählst pro Menü, Seite, Feld und Wert. Nichts wird ersetzt, wenn du es nicht auswählst, und ein Import geschieht ganz oder gar nicht. Exporte aus 0.9 lassen sich ebenfalls importieren.','The preview of an import, with a checkbox for every menu, page, field and value'=>'Die Vorschau eines Imports, mit einer Checkbox für jedes Menü, jede Seite, jedes Feld und jeden Wert','An options page with a logo, a brand color and contact details'=>'Eine Optionsseite mit einem Logo, einer Markenfarbe und Kontaktdaten','Nine new field types'=>'Neun neue Feldtypen','Email, Link, Password, Date, Time, Date and time, Range, Button group and File.'=>'E-Mail, Link, Passwort, Datum, Uhrzeit, Datum und Uhrzeit, Schieberegler, Button-Gruppe und Datei.','That makes 21 field types. Each one checks what is entered, and an image or file field only accepts the file types you choose, also when something is uploaded.'=>'Damit gibt es 21 Feldtypen. Jeder prüft, was eingegeben wird, und ein Bild- oder Dateifeld akzeptiert nur die Dateitypen, die du auswählst, auch beim Hochladen.','Your own field types'=>'Deine eigenen Feldtypen','Need a field that is not there? Add it yourself.'=>'Dir fehlt ein Feld? Füge es selbst hinzu.','Register a field type from your theme or plugin with one class: what the editor asks for, how the value is checked and stored, and how it shows on the options page and on your website. It appears in the field picker next to the built-in types, which use exactly the same API.'=>'Registriere einen Feldtyp aus deinem Theme oder Plugin mit einer Klasse: was der Editor abfragt, wie der Wert geprüft und gespeichert wird und wie er auf der Optionsseite und auf deiner Website erscheint. Er erscheint in der Feldauswahl neben den eingebauten Typen, die genau dieselbe API verwenden.','The Field Types API is stable from 1.0 on and follows semantic versioning, so your field types keep working with the next versions.'=>'Die Field Types API ist ab 1.0 stabil und folgt Semantic Versioning, sodass deine Feldtypen mit den nächsten Versionen weiter funktionieren.','A paragraph connected to a field in the Attributes panel'=>'Ein Absatz, der im Bedienfeld Attribute mit einem Feld verbunden ist','Your values on your website'=>'Deine Werte auf deiner Website','With a shortcode or a block, no code needed.'=>'Mit einem Shortcode oder einem Block, ganz ohne Code.','Put a field in a post with [aop_option name="…"], or connect a paragraph, heading, button or image to it in the Attributes panel of the block editor. Change the value once, and it changes everywhere.'=>'Setze ein Feld mit [aop_option name="…"] in einen Beitrag, oder verbinde im Bedienfeld Attribute des Block-Editors einen Absatz, eine Überschrift, einen Button oder ein Bild damit. Ändere den Wert einmal, und er ändert sich überall.','Switch on "Use in shortcode and blocks" for the fields you want to show. Fields made before 1.0 have it off, so nothing appears on your website by itself.'=>'Schalte „In Shortcode und Blöcken verwenden“ für die Felder ein, die du anzeigen möchtest. Bei Feldern, die vor 1.0 erstellt wurden, ist es aus, sodass nichts von selbst auf deiner Website erscheint.','Rewritten in React'=>'Neu geschrieben in React','Under the hood the editor is rewritten in React, the WordPress way: with the components and the data store the block editor is made of.'=>'Unter der Haube ist der Editor in React neu geschrieben, auf die WordPress-Art: mit den Komponenten und dem Datenspeicher, aus denen der Block-Editor besteht.','Change any saved value'=>'Jeden gespeicherten Wert ändern','Developers can change the value of any field before it is stored with the new filters aop_sanitized_option and aop_sanitized_option_{name}.'=>'Entwickler können den Wert jedes Feldes vor dem Speichern mit den neuen Filtern aop_sanitized_option und aop_sanitized_option_{name} ändern.','A safe upgrade'=>'Ein sicheres Upgrade','Your pages are stored in a new format now. A copy in the old format is kept for 90 days.'=>'Deine Seiten werden jetzt in einem neuen Format gespeichert. Eine Kopie im alten Format wird 90 Tage lang aufbewahrt.','Requirements'=>'Voraussetzungen','Admin Options Pages 1.0 needs WordPress 6.9 or later and PHP 8.1 or later.'=>'Admin Options Pages 1.0 benötigt WordPress 6.9 oder höher und PHP 8.1 oder höher.','Go to your options pages'=>'Zu deinen Optionsseiten','Read the documentation'=>'Lies die Dokumentation','media modal menuMenu'=>'Menü','Title'=>'Titel','Position'=>'Position','Pages'=>'Seiten','Dismiss this notice.'=>'Diese Meldung ausblenden.','Publish'=>'Veröffentlichen','Are you sure?'=>'Bist du sicher?','Cancel'=>'Abbrechen','Delete'=>'Löschen','User roleAdministrator'=>'Administrator','User roleEditor'=>'Redakteur','Save'=>'Speichern','New Pages'=>'Neue Seiten','Update'=>'Aktualisieren','Edit Pages'=>'Seiten bearbeiten','List View'=>'Listenansicht','Excerpt View'=>'Auszugsansicht','No items found.'=>'Keine Einträge gefunden.','Show more details'=>'Mehr Details anzeigen','%s item'=>'%s Eintrag' . "\0" . '%s Einträge','First page'=>'Erste Seite','Previous page'=>'Vorherige Seite','Current Page'=>'Aktuelle Seite','paging%1$s of %2$s'=>'%1$s von %2$s','Next page'=>'Nächste Seite','Last page'=>'Letzte Seite','Select All'=>'Alle auswählen','Edit'=>'Bearbeiten','The link you followed has expired.'=>'Der Link, dem du gefolgt bist, ist abgelaufen.','The field type "%1$s" of the option "%2$s" is not available, so the field is not shown. Activate the plugin that provides it. Nothing was deleted.'=>'Der Feldtyp „%1$s“ der Option „%2$s“ ist nicht verfügbar, daher wird das Feld nicht angezeigt. Aktiviere das Plugin, das ihn bereitstellt. Es wurde nichts gelöscht.','%s is not a field type.'=>'%s ist kein Feldtyp.','The field type "%1$s" is already registered; %2$s was ignored.'=>'Der Feldtyp „%1$s“ ist bereits registriert; %2$s wurde ignoriert.','%1$s is not the class of the field type "%2$s".'=>'%1$s ist nicht die Klasse des Feldtyps „%2$s“.','Field label'=>'Feldbeschriftung','Field name'=>'Feldname','Autoload'=>'Autoload','Use in shortcode and blocks'=>'In Shortcode und Blöcken verwenden','Additional CSS Class(es)'=>'Zusätzliche CSS-Klasse(n)','Description'=>'Beschreibung','Default value'=>'Standardwert','Button group'=>'Button-Gruppe','Field values'=>'Feldwerte','Checkbox'=>'Checkbox','Text when checked'=>'Text, wenn ausgewählt','Text when not checked'=>'Text, wenn nicht ausgewählt','Text after input field'=>'Text nach dem Eingabefeld','Color picker'=>'Farbwähler','Default color (HEX)'=>'Standardfarbe (HEX)','Date'=>'Datum','Field style'=>'Feldstil','Date and time'=>'Datum und Uhrzeit','Email'=>'E-Mail','Placeholder'=>'Platzhalter','File'=>'Datei','Allowed file types'=>'Erlaubte Dateitypen','Upload'=>'Hochladen','Horizontal rule'=>'Horizontale Linie','Image'=>'Bild','Allowed extensions'=>'Erlaubte Dateiendungen','Link'=>'Link','Number'=>'Zahl','Minimum value'=>'Mindestwert','Maximum value'=>'Höchstwert','Decimals'=>'Dezimalstellen','Password'=>'Passwort','Radio buttons'=>'Radio-Buttons','Range'=>'Schieberegler','Select'=>'Auswahl','Textarea'=>'Textbereich','Description italic'=>'Beschreibung kursiv','Text field'=>'Textfeld','Formatted as code'=>'Als Code formatiert','Time'=>'Uhrzeit','Wysiwyg editor'=>'WYSIWYG-Editor','Show media upload buttons'=>'Buttons zum Hochladen von Medien anzeigen','Toolbar'=>'Werkzeugleiste','The value on this settings field is not allowed.'=>'Der Wert dieses Einstellungsfeldes ist nicht erlaubt.','Some of the value on this settings field is not allowed.'=>'Ein Teil des Wertes dieses Einstellungsfeldes ist nicht erlaubt.','This is not a correct formatted Hex color.'=>'Das ist keine korrekt formatierte Hex-Farbe.','the shortcode has no name="..."'=>'der Shortcode hat kein name="..."','"Use in shortcode and blocks" is off for this field, or its type cannot be shown'=>'„In Shortcode und Blöcken verwenden“ ist für dieses Feld aus, oder sein Typ kann nicht angezeigt werden','this is not an option of Admin Options Pages'=>'das ist keine Option von Admin Options Pages','The database tables of this site cannot roll back. If something goes wrong halfway, part of the import may remain.'=>'Die Datenbanktabellen dieser Website können keine Änderungen zurücknehmen. Geht mittendrin etwas schief, kann ein Teil des Imports bestehen bleiben.','This menu is in the file more than once.'=>'Dieses Menü ist mehr als einmal in der Datei.','The menu on this site was saved by a newer version of the plugin. Update the plugin first.'=>'Das Menü auf dieser Website wurde mit einer neueren Version des Plugins gespeichert. Aktualisiere zuerst das Plugin.','Another menu on this site already has the id of this menu.'=>'Ein anderes Menü auf dieser Website hat bereits die ID dieses Menüs.','The option name "%s" is used by more than one menu in the file.'=>'Der Optionsname „%s“ wird in der Datei von mehr als einem Menü verwendet.','The field type "%s" is not available on this site. Activate the plugin that provides it.'=>'Der Feldtyp „%s“ ist auf dieser Website nicht verfügbar. Aktiviere das Plugin, das ihn bereitstellt.','This is not a valid option name.'=>'Das ist kein gültiger Optionsname.','This option name is used by WordPress or another plugin.'=>'Dieser Optionsname wird von WordPress oder einem anderen Plugin verwendet.','Something in this menu is not allowed.'=>'Etwas in diesem Menü ist nicht erlaubt.','The name of this menu does not match what is in it.'=>'Der Name dieses Menüs passt nicht zu seinem Inhalt.','Checked'=>'Ausgewählt','Not checked'=>'Nicht ausgewählt','Media ID %s'=>'Medien-ID %s','This import has expired. Choose the file again.'=>'Dieser Import ist abgelaufen. Wähle die Datei erneut aus.','Without its first page the menu "%s" would get the name of a menu that is on this site already. Import the first page too, or choose another page as the first.'=>'Ohne seine erste Seite bekäme das Menü „%s“ den Namen eines Menüs, das bereits auf dieser Website ist. Importiere auch die erste Seite, oder wähle eine andere Seite als erste.','A choice was made for a menu that is not in the file.'=>'Es wurde eine Auswahl für ein Menü getroffen, das nicht in der Datei ist.','A choice was made for a page or field that is not in the file.'=>'Es wurde eine Auswahl für eine Seite oder ein Feld getroffen, das nicht in der Datei ist.','A menu needs at least one page.'=>'Ein Menü braucht mindestens eine Seite.','That cannot be done with the menu "%s".'=>'Das ist mit dem Menü „%s“ nicht möglich.','That cannot be done with the option "%s".'=>'Das ist mit der Option „%s“ nicht möglich.','A menu in the file could not be saved. Nothing was imported.'=>'Ein Menü in der Datei konnte nicht gespeichert werden. Es wurde nichts importiert.','The value of "%s" was changed by its field type.'=>'Der Wert von „%s“ wurde von seinem Feldtyp geändert.','The file is too large to import.'=>'Die Datei ist zu groß für den Import.','This is not a JSON file, or it is not valid UTF-8.'=>'Das ist keine JSON-Datei, oder sie ist kein gültiges UTF-8.','This file does not look like an export of Admin Options Pages.'=>'Diese Datei sieht nicht wie ein Export von Admin Options Pages aus.','This file has export format %1$d. This version of the plugin reads format %2$d. Update the plugin on this site and try again.'=>'Diese Datei hat das Exportformat %1$d. Diese Version des Plugins liest das Format %2$d. Aktualisiere das Plugin auf dieser Website und versuche es erneut.','%1$s must be of type %2$s.'=>'%1$s muss vom Typ %2$s sein.','%s has a value that is not supported.'=>'%s hat einen Wert, der nicht unterstützt wird.','%s has a value that is not allowed.'=>'%s hat einen Wert, der nicht erlaubt ist.','%s does not have what it needs.'=>'%s hat nicht, was es braucht.','%1$s is longer than %2$d characters.'=>'%1$s ist länger als %2$d Zeichen.','%s is empty.'=>'%s ist leer.','%1$s has more than %2$d items.'=>'%1$s hat mehr als %2$d Elemente.','%s has no items.'=>'%s hat keine Elemente.','%1$s has more than %2$d entries.'=>'%1$s hat mehr als %2$d Einträge.','%1$s misses "%2$s".'=>'%1$s fehlt „%2$s“.','The file'=>'Die Datei','Choose a file to import.'=>'Wähle eine Datei zum Importieren.','The request is not complete.'=>'Die Anfrage ist nicht vollständig.','The page is not valid.'=>'Die Seite ist nicht gültig.','This page does not exist.'=>'Diese Seite existiert nicht.','There are no pages to save.'=>'Es gibt keine Seiten zum Speichern.','Every page needs a menu title.'=>'Jede Seite braucht einen Menütitel.','"%s" is not a valid option name.'=>'„%s“ ist kein gültiger Optionsname.','Every field with an option needs an option name.'=>'Jedes Feld mit einer Option braucht einen Optionsnamen.','The option name "%s" is used more than once.'=>'Der Optionsname „%s“ wird mehr als einmal verwendet.','The option name "%s" is already in use.'=>'Der Optionsname „%s“ wird bereits verwendet.','This menu is already used by another options page.'=>'Dieses Menü wird bereits von einer anderen Optionsseite verwendet.','The menu position is not valid.'=>'Die Menüposition ist nicht gültig.','The menu title is not valid.'=>'Der Menütitel ist nicht gültig.','The menu icon is not valid.'=>'Das Menü-Icon ist nicht gültig.','Select or upload a file'=>'Datei auswählen oder hochladen','Use this file'=>'Diese Datei verwenden','Allowed files'=>'Erlaubte Dateien','Select or upload image'=>'Bild auswählen oder hochladen','Use this image'=>'Dieses Bild verwenden','Icon'=>'Icon','Choose an icon'=>'Wähle ein Icon','Search for an icon…'=>'Nach einem Icon suchen …','Nothing found.'=>'Nichts gefunden.','Add New Page'=>'Neue Seite hinzufügen','Menu Type'=>'Menütyp','Custom menu'=>'Eigenes Menü','Existing menu'=>'Bestehendes Menü','Menu title'=>'Menütitel','Close settings'=>'Einstellungen schließen','Move left'=>'Nach links verschieben','Move up'=>'Nach oben verschieben','Move right'=>'Nach rechts verschieben','Move down'=>'Nach unten verschieben','Drag to reorder'=>'Zum Neuordnen ziehen','Add block'=>'Block hinzufügen','Value'=>'Wert','Label'=>'Beschriftung','Delete this row'=>'Diese Zeile löschen','Add a row'=>'Eine Zeile hinzufügen','Help'=>'Hilfe','Shortcode'=>'Shortcode','Copied!'=>'Kopiert!','Copy'=>'Kopieren','With get_option() the value is always available in PHP, also when this is off.'=>'Mit get_option() ist der Wert in PHP immer verfügbar, auch wenn dies aus ist.','Field'=>'Feld','This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.'=>'Dieser Feldtyp ist nicht verfügbar. Aktiviere das Plugin, das ihn bereitstellt. Es wurde nichts gelöscht: Das Feld wird so gespeichert, wie es ist.','Options'=>'Optionen','Regular'=>'Normal','Small'=>'Klein','Large'=>'Groß','Standard'=>'Standard',0=>'0',1=>'1',2=>'2','.jpeg .jpg'=>'.jpeg .jpg','.png'=>'.png','.gif'=>'.gif','.svg'=>'.svg','This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.'=>'Diese Website erlaubt keine SVG-Uploads. Ein Plugin wie Safe SVG fügt das sicher hinzu.','.ico'=>'.ico','Full'=>'Vollständig','Basic'=>'Einfach','.pdf'=>'.pdf','.doc'=>'.doc','.docx'=>'.docx','.xls'=>'.xls','.xlsx'=>'.xlsx','.csv'=>'.csv','.zip'=>'.zip','.txt'=>'.txt','Add a field'=>'Ein Feld hinzufügen','Search…'=>'Suchen …','Options fields'=>'Optionsfelder','Static content'=>'Statischer Inhalt','Menu page title'=>'Seitentitel im Menü','Page title'=>'Seitentitel','Page title on top'=>'Seitentitel oben','Show page with tab'=>'Seite mit Tab anzeigen','User access level'=>'Zugriffsebene','Visit Page'=>'Seite ansehen','Delete Page'=>'Seite löschen','Saving failed.'=>'Speichern fehlgeschlagen.','At this moment there is no proper support for small/mobile screens.'=>'Zurzeit werden kleine/mobile Bildschirme nicht richtig unterstützt.','We hope to fix this in a future version.'=>'Wir hoffen, das in einer kommenden Version zu beheben.','The minimum required screen width is 1000px.'=>'Die minimale Bildschirmbreite ist 1000px.','Close dialog'=>'Dialog schließen','The menus could not be loaded.'=>'Die Menüs konnten nicht geladen werden.','Export'=>'Export','There\'s nothing to export.'=>'Es gibt nichts zu exportieren.','Uncheck all'=>'Alle abwählen','Check all'=>'Alle auswählen','Export file'=>'Datei exportieren','New'=>'Neu','Already on this site, replaced when checked'=>'Bereits auf dieser Website, wird ersetzt, wenn ausgewählt','Cannot be imported'=>'Kann nicht importiert werden','Same value as on this site'=>'Gleicher Wert wie auf dieser Website','Different value on this site, replaced when checked'=>'Anderer Wert auf dieser Website, wird ersetzt, wenn ausgewählt','Belongs to something else'=>'Gehört zu etwas anderem','Menu'=>'Menü','The menu on this site is replaced by the one in the file, also when its fields are of another type. Options of fields that are not in the file any more are deleted.'=>'Das Menü auf dieser Website wird durch das in der Datei ersetzt, auch wenn seine Felder einen anderen Typ haben. Optionen von Feldern, die nicht mehr in der Datei sind, werden gelöscht.','(no title)'=>'(kein Titel)','Main page'=>'Hauptseite','Page'=>'Seite','No value in the file'=>'Kein Wert in der Datei','Field name:'=>'Feldname:','Field label:'=>'Feldbeschriftung:','The field moves here from the menu "%s".'=>'Das Feld zieht aus dem Menü „%s“ hierher um.','Empty'=>'Leer','Value in the file: %s'=>'Wert in der Datei: %s','%1$s and %2$s'=>'%1$s und %2$s','%s has been imported'=>'%s wurde importiert','%s have been imported'=>'%s wurden importiert','%d menu has been imported'=>'%d Menü wurde importiert' . "\0" . '%d Menüs wurden importiert','%s has been replaced'=>'%s wurde ersetzt','%s have been replaced'=>'%s wurden ersetzt','%d menu has been replaced'=>'%d Menü wurde ersetzt' . "\0" . '%d Menüs wurden ersetzt','The import is done.'=>'Der Import ist abgeschlossen.',', with %d value'=>', mit %d Wert' . "\0" . ', mit %d Werten','Something went wrong. Nothing was imported.'=>'Etwas ist schiefgelaufen. Es wurde nichts importiert.','Import selection'=>'Auswahl importieren','Choose another file'=>'Andere Datei wählen','Import'=>'Import','Drop the JSON file here'=>'Lege die JSON-Datei hier ab','Drop a JSON file here'=>'Lege eine JSON-Datei hier ab','or'=>'oder','Select a file'=>'Datei auswählen','Maximum file size: %s.'=>'Maximale Dateigröße: %s.','You see what would happen before anything is imported.'=>'Du siehst, was passieren würde, bevor etwas importiert wird.','File: %s'=>'Datei: %s','Import another file'=>'Eine andere Datei importieren','Hide "Edit page" button'=>'Button „Seite bearbeiten“ ausblenden','The setting could not be saved.'=>'Die Einstellung konnte nicht gespeichert werden.','Setting saved.'=>'Einstellung gespeichert.']];
     2return ['domain'=>'admin-options-pages','plural-forms'=>'nplurals=2; plural=(n != 1);','language'=>'de','project-id-version'=>'Admin Options Pages 1.0.0','pot-creation-date'=>'2026-10-09T10:01:38+00:00','po-revision-date'=>'2026-10-09T10:01:38+00:00','x-generator'=>'WP-CLI 2.11.0','messages'=>['Admin Options Pages'=>'Admin Options Pages','https://adminoptionspages.com'=>'https://adminoptionspages.com','Create and edit your own options pages with ease.'=>'Erstelle und bearbeite ganz einfach deine eigenen Optionsseiten.','Johannes van Poelgeest'=>'Johannes van Poelgeest','https://poolghost.com'=>'https://poolghost.com','Options Pages'=>'Optionsseiten','All Options Pages'=>'Alle Optionsseiten','Add new'=>'Neu hinzufügen','edit Page'=>'Seite bearbeiten','What\'s new in Admin Options Pages 1.0'=>'Neu in Admin Options Pages 1.0','What\'s new'=>'Was ist neu','Settings'=>'Einstellungen','Import / Export'=>'Import / Export','Saved.'=>'Gespeichert.','Updated.'=>'Aktualisiert.','Pages deleted.'=>'Seiten gelöscht.','Page deleted.'=>'Seite gelöscht.','You attempted to edit a menu that does not exist. Perhaps it was deleted?'=>'Du versuchst, ein Menü zu bearbeiten, das nicht existiert. Vielleicht wurde es gelöscht?','Go to all options pages'=>'Zu allen Optionsseiten','Menu not found'=>'Menü nicht gefunden','Global Settings'=>'Allgemeine Einstellungen','Sorry, you are not allowed to export.'=>'Du darfst nicht exportieren.','Creating options pages has never been easier.'=>'Optionsseiten zu erstellen war noch nie so einfach.','Documentation'=>'Dokumentation','love'=>'liebst','five stars'=>'fünf Sterne','If you really %1$s this plugin, consider giving some %2$s to help make %3$s more known.'=>'Wenn du dieses Plugin wirklich %1$s, gib ihm %2$s, damit %3$s bekannter wird.','See what\'s new'=>'Sieh dir an, was neu ist','Admin Options Pages 1.0'=>'Admin Options Pages 1.0','Import and export with your data, your own field types and your values on your website.'=>'Import und Export mit deinen Daten, eigene Feldtypen und deine Werte auf deiner Website.','Welcome to Admin Options Pages 1.0'=>'Willkommen bei Admin Options Pages 1.0','This is the biggest update of the plugin so far. Menus now move to another site with all their values, so the options pages you built and filled locally go live in one file. You can add field types of your own, there are nine new built-in ones, and the values of your fields can be shown on your website without code. Your menus, pages, fields and values are all still here.'=>'Das ist das bisher größte Update des Plugins. Menüs ziehen jetzt mit allen Werten auf eine andere Website um, sodass die Optionsseiten, die du lokal gebaut und gefüllt hast, in einer Datei live gehen. Du kannst eigene Feldtypen hinzufügen, es gibt neun neue eingebaute, und die Werte deiner Felder lassen sich ohne Code auf deiner Website anzeigen. Deine Menüs, Seiten, Felder und Werte sind alle noch da.','Import and export, with your data'=>'Import und Export, mit deinen Daten','Build and fill your options pages locally, then take them live in one file.'=>'Baue und fülle deine Optionsseiten lokal und bring sie dann in einer Datei live.','Export the menus you choose together with the values of their fields, and import them on your live site, a staging site or your next project. No more typing the same settings twice.'=>'Exportiere die Menüs, die du auswählst, zusammen mit den Werten ihrer Felder, und importiere sie auf deiner Live-Website, einer Staging-Website oder in deinem nächsten Projekt. Nie wieder dieselben Einstellungen zweimal eintippen.','Before anything changes you see what would happen, and you choose per menu, page, field and value. Nothing is replaced unless you choose it, and an import is all or nothing. Exports made with 0.9 can be imported too.'=>'Bevor sich etwas ändert, siehst du, was passieren würde, und du wählst pro Menü, Seite, Feld und Wert. Nichts wird ersetzt, wenn du es nicht auswählst, und ein Import geschieht ganz oder gar nicht. Exporte aus 0.9 lassen sich ebenfalls importieren.','The preview of an import, with a checkbox for every menu, page, field and value'=>'Die Vorschau eines Imports, mit einer Checkbox für jedes Menü, jede Seite, jedes Feld und jeden Wert','An options page with a logo, a brand color and contact details'=>'Eine Optionsseite mit einem Logo, einer Markenfarbe und Kontaktdaten','Nine new field types'=>'Neun neue Feldtypen','Email, Link, Password, Date, Time, Date and time, Range, Button group and File.'=>'E-Mail, Link, Passwort, Datum, Uhrzeit, Datum und Uhrzeit, Schieberegler, Button-Gruppe und Datei.','That makes 21 field types. Each one checks what is entered, and an image or file field only accepts the file types you choose, also when something is uploaded.'=>'Damit gibt es 21 Feldtypen. Jeder prüft, was eingegeben wird, und ein Bild- oder Dateifeld akzeptiert nur die Dateitypen, die du auswählst, auch beim Hochladen.','Your own field types'=>'Deine eigenen Feldtypen','Need a field that is not there? Add it yourself.'=>'Dir fehlt ein Feld? Füge es selbst hinzu.','Register a field type from your theme or plugin with one class: what the editor asks for, how the value is checked and stored, and how it shows on the options page and on your website. It appears in the field picker next to the built-in types, which use exactly the same API.'=>'Registriere einen Feldtyp aus deinem Theme oder Plugin mit einer Klasse: was der Editor abfragt, wie der Wert geprüft und gespeichert wird und wie er auf der Optionsseite und auf deiner Website erscheint. Er erscheint in der Feldauswahl neben den eingebauten Typen, die genau dieselbe API verwenden.','The Field Types API is stable from 1.0 on and follows semantic versioning, so your field types keep working with the next versions.'=>'Die Field Types API ist ab 1.0 stabil und folgt Semantic Versioning, sodass deine Feldtypen mit den nächsten Versionen weiter funktionieren.','A paragraph connected to a field in the Attributes panel'=>'Ein Absatz, der im Bedienfeld Attribute mit einem Feld verbunden ist','Your values on your website'=>'Deine Werte auf deiner Website','With a shortcode or a block, no code needed.'=>'Mit einem Shortcode oder einem Block, ganz ohne Code.','Put a field in a post with [aop_option name="…"], or connect a paragraph, heading, button or image to it in the Attributes panel of the block editor. Change the value once, and it changes everywhere.'=>'Setze ein Feld mit [aop_option name="…"] in einen Beitrag, oder verbinde im Bedienfeld Attribute des Block-Editors einen Absatz, eine Überschrift, einen Button oder ein Bild damit. Ändere den Wert einmal, und er ändert sich überall.','Switch on "Use in shortcode and blocks" for the fields you want to show. Fields made before 1.0 have it off, so nothing appears on your website by itself.'=>'Schalte „In Shortcode und Blöcken verwenden“ für die Felder ein, die du anzeigen möchtest. Bei Feldern, die vor 1.0 erstellt wurden, ist es aus, sodass nichts von selbst auf deiner Website erscheint.','Rewritten in React'=>'Neu geschrieben in React','Under the hood the editor is rewritten in React, the WordPress way: with the components and the data store the block editor is made of.'=>'Unter der Haube ist der Editor in React neu geschrieben, auf die WordPress-Art: mit den Komponenten und dem Datenspeicher, aus denen der Block-Editor besteht.','Change any saved value'=>'Jeden gespeicherten Wert ändern','Developers can change the value of any field before it is stored with the new filters aop_sanitized_option and aop_sanitized_option_{name}.'=>'Entwickler können den Wert jedes Feldes vor dem Speichern mit den neuen Filtern aop_sanitized_option und aop_sanitized_option_{name} ändern.','A safe upgrade'=>'Ein sicheres Upgrade','Your pages are stored in a new format now. A copy in the old format is kept for 90 days.'=>'Deine Seiten werden jetzt in einem neuen Format gespeichert. Eine Kopie im alten Format wird 90 Tage lang aufbewahrt.','Requirements'=>'Voraussetzungen','Admin Options Pages 1.0 needs WordPress 6.9 or later and PHP 8.1 or later.'=>'Admin Options Pages 1.0 benötigt WordPress 6.9 oder höher und PHP 8.1 oder höher.','Go to your options pages'=>'Zu deinen Optionsseiten','Read the documentation'=>'Lies die Dokumentation','media modal menuMenu'=>'Menü','Title'=>'Titel','Position'=>'Position','Pages'=>'Seiten','Dismiss this notice.'=>'Diese Meldung ausblenden.','Publish'=>'Veröffentlichen','Are you sure?'=>'Bist du sicher?','Cancel'=>'Abbrechen','Delete'=>'Löschen','Save'=>'Speichern','New Pages'=>'Neue Seiten','Update'=>'Aktualisieren','Edit Pages'=>'Seiten bearbeiten','List View'=>'Listenansicht','Excerpt View'=>'Auszugsansicht','No items found.'=>'Keine Einträge gefunden.','Show more details'=>'Mehr Details anzeigen','%s item'=>'%s Eintrag' . "\0" . '%s Einträge','First page'=>'Erste Seite','Previous page'=>'Vorherige Seite','Current Page'=>'Aktuelle Seite','paging%1$s of %2$s'=>'%1$s von %2$s','Next page'=>'Nächste Seite','Last page'=>'Letzte Seite','Select All'=>'Alle auswählen','Edit'=>'Bearbeiten','The link you followed has expired.'=>'Der Link, dem du gefolgt bist, ist abgelaufen.','The field type "%1$s" of the option "%2$s" is not available, so the field is not shown. Activate the plugin that provides it. Nothing was deleted.'=>'Der Feldtyp „%1$s“ der Option „%2$s“ ist nicht verfügbar, daher wird das Feld nicht angezeigt. Aktiviere das Plugin, das ihn bereitstellt. Es wurde nichts gelöscht.','%s is not a field type.'=>'%s ist kein Feldtyp.','The field type "%1$s" is already registered; %2$s was ignored.'=>'Der Feldtyp „%1$s“ ist bereits registriert; %2$s wurde ignoriert.','%1$s is not the class of the field type "%2$s".'=>'%1$s ist nicht die Klasse des Feldtyps „%2$s“.','Field label'=>'Feldbeschriftung','Field name'=>'Feldname','Autoload'=>'Autoload','Use in shortcode and blocks'=>'In Shortcode und Blöcken verwenden','Additional CSS Class(es)'=>'Zusätzliche CSS-Klasse(n)','Description'=>'Beschreibung','Default value'=>'Standardwert','Button group'=>'Button-Gruppe','Field values'=>'Feldwerte','Checkbox'=>'Checkbox','Text when checked'=>'Text, wenn ausgewählt','Text when not checked'=>'Text, wenn nicht ausgewählt','Text after input field'=>'Text nach dem Eingabefeld','Color picker'=>'Farbwähler','Default color (HEX)'=>'Standardfarbe (HEX)','Date'=>'Datum','Field style'=>'Feldstil','Date and time'=>'Datum und Uhrzeit','Email'=>'E-Mail','Placeholder'=>'Platzhalter','File'=>'Datei','Allowed file types'=>'Erlaubte Dateitypen','Upload'=>'Hochladen','Horizontal rule'=>'Horizontale Linie','Image'=>'Bild','Allowed extensions'=>'Erlaubte Dateiendungen','Link'=>'Link','Number'=>'Zahl','Minimum value'=>'Mindestwert','Maximum value'=>'Höchstwert','Decimals'=>'Dezimalstellen','Password'=>'Passwort','Radio buttons'=>'Radio-Buttons','Range'=>'Schieberegler','Select'=>'Auswahl','Textarea'=>'Textbereich','Description italic'=>'Beschreibung kursiv','Text field'=>'Textfeld','Formatted as code'=>'Als Code formatiert','Time'=>'Uhrzeit','Wysiwyg editor'=>'WYSIWYG-Editor','Show media upload buttons'=>'Buttons zum Hochladen von Medien anzeigen','Toolbar'=>'Werkzeugleiste','The value on this settings field is not allowed.'=>'Der Wert dieses Einstellungsfeldes ist nicht erlaubt.','Some of the value on this settings field is not allowed.'=>'Ein Teil des Wertes dieses Einstellungsfeldes ist nicht erlaubt.','This is not a correct formatted Hex color.'=>'Das ist keine korrekt formatierte Hex-Farbe.','the shortcode has no name="..."'=>'der Shortcode hat kein name="..."','"Use in shortcode and blocks" is off for this field, or its type cannot be shown'=>'„In Shortcode und Blöcken verwenden“ ist für dieses Feld aus, oder sein Typ kann nicht angezeigt werden','this is not an option of Admin Options Pages'=>'das ist keine Option von Admin Options Pages','The database tables of this site cannot roll back. If something goes wrong halfway, part of the import may remain.'=>'Die Datenbanktabellen dieser Website können keine Änderungen zurücknehmen. Geht mittendrin etwas schief, kann ein Teil des Imports bestehen bleiben.','This menu is in the file more than once.'=>'Dieses Menü ist mehr als einmal in der Datei.','The menu on this site was saved by a newer version of the plugin. Update the plugin first.'=>'Das Menü auf dieser Website wurde mit einer neueren Version des Plugins gespeichert. Aktualisiere zuerst das Plugin.','Another menu on this site already has the id of this menu.'=>'Ein anderes Menü auf dieser Website hat bereits die ID dieses Menüs.','The option name "%s" is used by more than one menu in the file.'=>'Der Optionsname „%s“ wird in der Datei von mehr als einem Menü verwendet.','The field type "%s" is not available on this site. Activate the plugin that provides it.'=>'Der Feldtyp „%s“ ist auf dieser Website nicht verfügbar. Aktiviere das Plugin, das ihn bereitstellt.','This is not a valid option name.'=>'Das ist kein gültiger Optionsname.','This option name is used by WordPress or another plugin.'=>'Dieser Optionsname wird von WordPress oder einem anderen Plugin verwendet.','Something in this menu is not allowed.'=>'Etwas in diesem Menü ist nicht erlaubt.','The name of this menu does not match what is in it.'=>'Der Name dieses Menüs passt nicht zu seinem Inhalt.','Checked'=>'Ausgewählt','Not checked'=>'Nicht ausgewählt','Media ID %s'=>'Medien-ID %s','This import has expired. Choose the file again.'=>'Dieser Import ist abgelaufen. Wähle die Datei erneut aus.','Without its first page the menu "%s" would get the name of a menu that is on this site already. Import the first page too, or choose another page as the first.'=>'Ohne seine erste Seite bekäme das Menü „%s“ den Namen eines Menüs, das bereits auf dieser Website ist. Importiere auch die erste Seite, oder wähle eine andere Seite als erste.','A choice was made for a menu that is not in the file.'=>'Es wurde eine Auswahl für ein Menü getroffen, das nicht in der Datei ist.','A choice was made for a page or field that is not in the file.'=>'Es wurde eine Auswahl für eine Seite oder ein Feld getroffen, das nicht in der Datei ist.','A menu needs at least one page.'=>'Ein Menü braucht mindestens eine Seite.','That cannot be done with the menu "%s".'=>'Das ist mit dem Menü „%s“ nicht möglich.','That cannot be done with the option "%s".'=>'Das ist mit der Option „%s“ nicht möglich.','A menu in the file could not be saved. Nothing was imported.'=>'Ein Menü in der Datei konnte nicht gespeichert werden. Es wurde nichts importiert.','The value of "%s" was changed by its field type.'=>'Der Wert von „%s“ wurde von seinem Feldtyp geändert.','The file is too large to import.'=>'Die Datei ist zu groß für den Import.','This is not a JSON file, or it is not valid UTF-8.'=>'Das ist keine JSON-Datei, oder sie ist kein gültiges UTF-8.','This file does not look like an export of Admin Options Pages.'=>'Diese Datei sieht nicht wie ein Export von Admin Options Pages aus.','This file has export format %1$d. This version of the plugin reads format %2$d. Update the plugin on this site and try again.'=>'Diese Datei hat das Exportformat %1$d. Diese Version des Plugins liest das Format %2$d. Aktualisiere das Plugin auf dieser Website und versuche es erneut.','%1$s must be of type %2$s.'=>'%1$s muss vom Typ %2$s sein.','%s has a value that is not supported.'=>'%s hat einen Wert, der nicht unterstützt wird.','%s has a value that is not allowed.'=>'%s hat einen Wert, der nicht erlaubt ist.','%s does not have what it needs.'=>'%s hat nicht, was es braucht.','%1$s is longer than %2$d characters.'=>'%1$s ist länger als %2$d Zeichen.','%s is empty.'=>'%s ist leer.','%1$s has more than %2$d items.'=>'%1$s hat mehr als %2$d Elemente.','%s has no items.'=>'%s hat keine Elemente.','%1$s has more than %2$d entries.'=>'%1$s hat mehr als %2$d Einträge.','%1$s misses "%2$s".'=>'%1$s fehlt „%2$s“.','The file'=>'Die Datei','Choose a file to import.'=>'Wähle eine Datei zum Importieren.','The request is not complete.'=>'Die Anfrage ist nicht vollständig.','The page is not valid.'=>'Die Seite ist nicht gültig.','This page does not exist.'=>'Diese Seite existiert nicht.','There are no pages to save.'=>'Es gibt keine Seiten zum Speichern.','Every page needs a menu title.'=>'Jede Seite braucht einen Menütitel.','"%s" is not a valid option name.'=>'„%s“ ist kein gültiger Optionsname.','Every field with an option needs an option name.'=>'Jedes Feld mit einer Option braucht einen Optionsnamen.','The option name "%s" is used more than once.'=>'Der Optionsname „%s“ wird mehr als einmal verwendet.','The option name "%s" is already in use.'=>'Der Optionsname „%s“ wird bereits verwendet.','This menu is already used by another options page.'=>'Dieses Menü wird bereits von einer anderen Optionsseite verwendet.','The menu position is not valid.'=>'Die Menüposition ist nicht gültig.','The menu title is not valid.'=>'Der Menütitel ist nicht gültig.','The menu icon is not valid.'=>'Das Menü-Icon ist nicht gültig.','Select or upload a file'=>'Datei auswählen oder hochladen','Use this file'=>'Diese Datei verwenden','Allowed files'=>'Erlaubte Dateien','Select or upload image'=>'Bild auswählen oder hochladen','Use this image'=>'Dieses Bild verwenden','Icon'=>'Icon','Choose an icon'=>'Wähle ein Icon','Search for an icon…'=>'Nach einem Icon suchen …','Nothing found.'=>'Nichts gefunden.','Add New Page'=>'Neue Seite hinzufügen','Menu Type'=>'Menütyp','Custom menu'=>'Eigenes Menü','Existing menu'=>'Bestehendes Menü','Menu title'=>'Menütitel','Close settings'=>'Einstellungen schließen','Move left'=>'Nach links verschieben','Move up'=>'Nach oben verschieben','Move right'=>'Nach rechts verschieben','Move down'=>'Nach unten verschieben','Drag to reorder'=>'Zum Neuordnen ziehen','Add block'=>'Block hinzufügen','Value'=>'Wert','Label'=>'Beschriftung','Delete this row'=>'Diese Zeile löschen','Add a row'=>'Eine Zeile hinzufügen','Help'=>'Hilfe','Shortcode'=>'Shortcode','Copied!'=>'Kopiert!','Copy'=>'Kopieren','With get_option() the value is always available in PHP, also when this is off.'=>'Mit get_option() ist der Wert in PHP immer verfügbar, auch wenn dies aus ist.','Field'=>'Feld','This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.'=>'Dieser Feldtyp ist nicht verfügbar. Aktiviere das Plugin, das ihn bereitstellt. Es wurde nichts gelöscht: Das Feld wird so gespeichert, wie es ist.','Options'=>'Optionen','Regular'=>'Normal','Small'=>'Klein','Large'=>'Groß','Standard'=>'Standard',0=>'0',1=>'1',2=>'2','.jpeg .jpg'=>'.jpeg .jpg','.png'=>'.png','.gif'=>'.gif','.svg'=>'.svg','This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.'=>'Diese Website erlaubt keine SVG-Uploads. Ein Plugin wie Safe SVG fügt das sicher hinzu.','.ico'=>'.ico','Full'=>'Vollständig','Basic'=>'Einfach','.pdf'=>'.pdf','.doc'=>'.doc','.docx'=>'.docx','.xls'=>'.xls','.xlsx'=>'.xlsx','.csv'=>'.csv','.zip'=>'.zip','.txt'=>'.txt','Add a field'=>'Ein Feld hinzufügen','Search…'=>'Suchen …','Options fields'=>'Optionsfelder','Static content'=>'Statischer Inhalt','Menu page title'=>'Seitentitel im Menü','Page title'=>'Seitentitel','Page title on top'=>'Seitentitel oben','Show page with tab'=>'Seite mit Tab anzeigen','Visit Page'=>'Seite ansehen','Delete Page'=>'Seite löschen','Saving failed.'=>'Speichern fehlgeschlagen.','At this moment there is no proper support for small/mobile screens.'=>'Zurzeit werden kleine/mobile Bildschirme nicht richtig unterstützt.','We hope to fix this in a future version.'=>'Wir hoffen, das in einer kommenden Version zu beheben.','The minimum required screen width is 1000px.'=>'Die minimale Bildschirmbreite ist 1000px.','Close dialog'=>'Dialog schließen','The menus could not be loaded.'=>'Die Menüs konnten nicht geladen werden.','Export'=>'Export','There\'s nothing to export.'=>'Es gibt nichts zu exportieren.','Uncheck all'=>'Alle abwählen','Check all'=>'Alle auswählen','Export file'=>'Datei exportieren','New'=>'Neu','Already on this site, replaced when checked'=>'Bereits auf dieser Website, wird ersetzt, wenn ausgewählt','Cannot be imported'=>'Kann nicht importiert werden','Same value as on this site'=>'Gleicher Wert wie auf dieser Website','Different value on this site, replaced when checked'=>'Anderer Wert auf dieser Website, wird ersetzt, wenn ausgewählt','Belongs to something else'=>'Gehört zu etwas anderem','Menu'=>'Menü','The menu on this site is replaced by the one in the file, also when its fields are of another type. Options of fields that are not in the file any more are deleted.'=>'Das Menü auf dieser Website wird durch das in der Datei ersetzt, auch wenn seine Felder einen anderen Typ haben. Optionen von Feldern, die nicht mehr in der Datei sind, werden gelöscht.','(no title)'=>'(kein Titel)','Main page'=>'Hauptseite','Page'=>'Seite','No value in the file'=>'Kein Wert in der Datei','Field name:'=>'Feldname:','Field label:'=>'Feldbeschriftung:','The field moves here from the menu "%s".'=>'Das Feld zieht aus dem Menü „%s“ hierher um.','Empty'=>'Leer','Value in the file: %s'=>'Wert in der Datei: %s','%1$s and %2$s'=>'%1$s und %2$s','%s has been imported'=>'%s wurde importiert','%s have been imported'=>'%s wurden importiert','%d menu has been imported'=>'%d Menü wurde importiert' . "\0" . '%d Menüs wurden importiert','%s has been replaced'=>'%s wurde ersetzt','%s have been replaced'=>'%s wurden ersetzt','%d menu has been replaced'=>'%d Menü wurde ersetzt' . "\0" . '%d Menüs wurden ersetzt','The import is done.'=>'Der Import ist abgeschlossen.',', with %d value'=>', mit %d Wert' . "\0" . ', mit %d Werten','Something went wrong. Nothing was imported.'=>'Etwas ist schiefgelaufen. Es wurde nichts importiert.','Import selection'=>'Auswahl importieren','Choose another file'=>'Andere Datei wählen','Import'=>'Import','Drop the JSON file here'=>'Lege die JSON-Datei hier ab','Drop a JSON file here'=>'Lege eine JSON-Datei hier ab','or'=>'oder','Select a file'=>'Datei auswählen','Maximum file size: %s.'=>'Maximale Dateigröße: %s.','You see what would happen before anything is imported.'=>'Du siehst, was passieren würde, bevor etwas importiert wird.','File: %s'=>'Datei: %s','Import another file'=>'Eine andere Datei importieren','Hide "Edit page" button'=>'Button „Seite bearbeiten“ ausblenden','The setting could not be saved.'=>'Die Einstellung konnte nicht gespeichert werden.','Setting saved.'=>'Einstellung gespeichert.','The role "%1$s" of the page "%2$s" does not exist on this site. Until it does, users with that role cannot open the page.'=>'Die Rolle „%1$s“ der Seite „%2$s“ gibt es auf dieser Website nicht. Solange es sie nicht gibt, können Benutzer mit dieser Rolle die Seite nicht öffnen.','%s has characters that are not allowed.'=>'%s enthält Zeichen, die nicht erlaubt sind.','%s (no longer available)'=>'%s (nicht mehr verfügbar)','%1$s (%2$d user)'=>'%1$s (%2$d Benutzer)' . "\0" . '%1$s (%2$d Benutzer)','Administrator'=>'Administrator','Who can edit'=>'Wer bearbeiten darf','Administrator + %d other'=>'Administrator + %d weitere' . "\0" . 'Administrator + %d weitere','Administrators always have access.'=>'Administratoren haben immer Zugriff.','Users with this role cannot open the dashboard.'=>'Benutzer mit dieser Rolle können das Dashboard nicht öffnen.','Done'=>'Fertig','Admin Options Pages 1.1 is here.'=>'Admin Options Pages 1.1 ist da.','You now choose per page which roles can edit it. Have a look at who can edit your pages.'=>'Du wählst jetzt pro Seite, welche Rollen sie bearbeiten dürfen. Sieh dir an, wer deine Seiten bearbeiten darf.','What is new in 1.1'=>'Neu in 1.1','Admin Options Pages 1.1'=>'Admin Options Pages 1.1','Choose who can edit each page.'=>'Wähle, wer jede Seite bearbeiten darf.','Welcome to Admin Options Pages 1.1'=>'Willkommen bei Admin Options Pages 1.1','Tick the roles that may edit a page.'=>'Hake die Rollen an, die eine Seite bearbeiten dürfen.','Open a page in the editor and click the button next to "Who can edit". Every role of your site is there, also the roles of other plugins and the roles you made yourself. Users with a ticked role see the page in their menu and can save it; nobody else can.'=>'Öffne eine Seite im Editor und klicke auf die Schaltfläche neben „Wer bearbeiten darf“. Jede Rolle deiner Website ist dort, auch die Rollen anderer Plugins und die Rollen, die du selbst angelegt hast. Benutzer mit einer angehakten Rolle sehen die Seite in ihrem Menü und können sie speichern; sonst niemand.','Administrators can always open every page, and only administrators can build and change the pages themselves.'=>'Administratoren können jede Seite immer öffnen, und nur Administratoren können die Seiten selbst erstellen und ändern.','The dialog "Who can edit" with a checkbox for every role of the site'=>'Der Dialog „Wer bearbeiten darf“ mit einem Kontrollkästchen für jede Rolle der Website','What happens to your pages'=>'Was mit deinen Seiten passiert','Nothing changes until you save a page again. A page that was set to Editor opens in the editor with the roles ticked that can edit it now: usually Editor, and with WooCommerce also Shop manager. Save the page to keep it that way, or change the roles first.'=>'Nichts ändert sich, bis du eine Seite erneut speicherst. Eine Seite, die auf Redakteur stand, öffnet sich im Editor mit den Rollen angehakt, die sie jetzt bearbeiten dürfen: meist Redakteur, mit WooCommerce auch Shop-Manager. Speichere die Seite, um es so zu behalten, oder ändere zuerst die Rollen.','From then on the ticked roles decide, not what a role may do elsewhere on the site. Did someone get access without one of these roles? Tick a role they have, or give them access to that page with a plugin that manages roles.'=>'Ab dann entscheiden die angehakten Rollen, nicht was eine Rolle anderswo auf der Website darf. Hatte jemand Zugriff ohne eine dieser Rollen? Hake eine Rolle an, die er hat, oder gib ihm mit einem Plugin für Rollen Zugriff auf diese Seite.','One user, one page'=>'Ein Benutzer, eine Seite','With a plugin that manages roles, such as Members or User Role Editor, you can give a single user access to a single page: every page is listed there under Admin Options Pages.'=>'Mit einem Plugin, das Rollen verwaltet, wie Members oder User Role Editor, gibst du einem einzelnen Benutzer Zugriff auf eine einzelne Seite: Jede Seite steht dort unter Admin Options Pages.','Roles move with your pages'=>'Rollen ziehen mit um','An export takes the roles of every page with it. When a role does not exist on the site you import to, the preview tells you; the page is imported all the same.'=>'Ein Export nimmt die Rollen jeder Seite mit. Gibt es eine Rolle auf der Website, auf die du importierst, nicht, sagt dir die Vorschau das; die Seite wird trotzdem importiert.','No dead ends'=>'Keine Sackgassen','The editor tells you when a ticked role cannot open the dashboard at all, such as the Customer role of WooCommerce.'=>'Der Editor sagt dir, wenn eine angehakte Rolle das Dashboard gar nicht öffnen kann, wie die Rolle Kunde von WooCommerce.','Admin Options Pages 1.1 needs WordPress 6.9 or later and PHP 8.1 or later, like 1.0.'=>'Admin Options Pages 1.1 braucht WordPress 6.9 oder neuer und PHP 8.1 oder neuer, wie 1.0.','What was new in 1.0'=>'Neu in 1.0','Your clients and colleagues now get exactly the pages they need. Choose the right roles for each page: Editor, Shop manager, Author, or a role you made yourself.'=>'Deine Kunden und Kollegen bekommen jetzt genau die Seiten, die sie brauchen. Wähle für jede Seite die passenden Rollen: Redakteur, Shop-Manager, Autor oder eine Rolle, die du selbst angelegt hast.']];
  • admin-options-pages/trunk/languages/admin-options-pages-de_DE.po

    r3736451 r3750608  
    11msgid ""
    2 msgstr "Project-Id-Version: Admin Options Pages 1.0.0\nReport-Msgid-Bugs-To: https://github.com/poolghost/adminoptionspages-issues/issues\nLast-Translator: Automatically generated\nLanguage-Team: none\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nPOT-Creation-Date: 2026-10-09T10:01:38+00:00\nPO-Revision-Date: 2026-10-09T10:01:38+00:00\nLanguage: de\nX-Generator: WP-CLI 2.11.0\nX-Domain: admin-options-pages\nPlural-Forms: nplurals=2; plural=(n != 1);\n"
     2msgstr ""
     3"Project-Id-Version: Admin Options Pages 1.0.0\n"
     4"Report-Msgid-Bugs-To: https://github.com/poolghost/adminoptionspages-issues/issues\n"
     5"Last-Translator: Automatically generated\n"
     6"Language-Team: none\n"
     7"MIME-Version: 1.0\n"
     8"Content-Type: text/plain; charset=UTF-8\n"
     9"Content-Transfer-Encoding: 8bit\n"
     10"POT-Creation-Date: 2026-10-09T10:01:38+00:00\n"
     11"PO-Revision-Date: 2026-10-09T10:01:38+00:00\n"
     12"Language: de\n"
     13"X-Generator: WP-CLI 2.11.0\n"
     14"X-Domain: admin-options-pages\n"
     15"Plural-Forms: nplurals=2; plural=(n != 1);\n"
    316
    417#. Plugin Name of the plugin
    … …  
    7184
    7285#: App/Admin/AdminPages/AdminPages.php:207
    73 #: App/Admin/Input.php:61
     86#: App/Admin/Input.php:62
    7487msgid "Updated."
    7588msgstr "Aktualisiert."
    … …  
    126139msgstr "Wenn du dieses Plugin wirklich %1$s, gib ihm %2$s, damit %3$s bekannter wird."
    127140
    128 #: App/Admin/AdminPages/SubpageWhatsNew.php:93
    129 msgid "Admin Options Pages 1.0 is here."
    130 msgstr "Admin Options Pages 1.0 ist da."
    131 
    132 #: App/Admin/AdminPages/SubpageWhatsNew.php:94
    133 msgid "Import and export with your data, your own field types, nine new field types and your values on your website."
    134 msgstr "Import und Export mit deinen Daten, eigene Feldtypen, neun neue Feldtypen und deine Werte auf deiner Website."
    135 
    136 #: App/Admin/AdminPages/SubpageWhatsNew.php:96
     141#: App/Admin/AdminPages/SubpageWhatsNew.php:123
    137142msgid "See what's new"
    138143msgstr "Sieh dir an, was neu ist"
    139144
    140 #: App/Admin/AdminPages/views/whats-new.php:19
     145#: App/Admin/AdminPages/views/whats-new-1.0.php:20
    141146msgid "Admin Options Pages 1.0"
    142147msgstr "Admin Options Pages 1.0"
    143148
    144 #: App/Admin/AdminPages/views/whats-new.php:21
     149#: App/Admin/AdminPages/views/whats-new-1.0.php:22
    145150msgid "Import and export with your data, your own field types and your values on your website."
    146151msgstr "Import und Export mit deinen Daten, eigene Feldtypen und deine Werte auf deiner Website."
    147152
    148 #: App/Admin/AdminPages/views/whats-new.php:26
     153#: App/Admin/AdminPages/views/whats-new-1.0.php:27
    149154msgid "Welcome to Admin Options Pages 1.0"
    150155msgstr "Willkommen bei Admin Options Pages 1.0"
    151156
    152 #: App/Admin/AdminPages/views/whats-new.php:27
     157#: App/Admin/AdminPages/views/whats-new-1.0.php:28
    153158msgid "This is the biggest update of the plugin so far. Menus now move to another site with all their values, so the options pages you built and filled locally go live in one file. You can add field types of your own, there are nine new built-in ones, and the values of your fields can be shown on your website without code. Your menus, pages, fields and values are all still here."
    154159msgstr "Das ist das bisher größte Update des Plugins. Menüs ziehen jetzt mit allen Werten auf eine andere Website um, sodass die Optionsseiten, die du lokal gebaut und gefüllt hast, in einer Datei live gehen. Du kannst eigene Feldtypen hinzufügen, es gibt neun neue eingebaute, und die Werte deiner Felder lassen sich ohne Code auf deiner Website anzeigen. Deine Menüs, Seiten, Felder und Werte sind alle noch da."
    155160
    156 #: App/Admin/AdminPages/views/whats-new.php:33
     161#: App/Admin/AdminPages/views/whats-new-1.0.php:34
    157162msgid "Import and export, with your data"
    158163msgstr "Import und Export, mit deinen Daten"
    159164
    160 #: App/Admin/AdminPages/views/whats-new.php:35
     165#: App/Admin/AdminPages/views/whats-new-1.0.php:36
    161166msgid "Build and fill your options pages locally, then take them live in one file."
    162167msgstr "Baue und fülle deine Optionsseiten lokal und bring sie dann in einer Datei live."
    163168
    164 #: App/Admin/AdminPages/views/whats-new.php:36
     169#: App/Admin/AdminPages/views/whats-new-1.0.php:37
    165170msgid "Export the menus you choose together with the values of their fields, and import them on your live site, a staging site or your next project. No more typing the same settings twice."
    166171msgstr "Exportiere die Menüs, die du auswählst, zusammen mit den Werten ihrer Felder, und importiere sie auf deiner Live-Website, einer Staging-Website oder in deinem nächsten Projekt. Nie wieder dieselben Einstellungen zweimal eintippen."
    167172
    168 #: App/Admin/AdminPages/views/whats-new.php:38
     173#: App/Admin/AdminPages/views/whats-new-1.0.php:39
    169174msgid "Before anything changes you see what would happen, and you choose per menu, page, field and value. Nothing is replaced unless you choose it, and an import is all or nothing. Exports made with 0.9 can be imported too."
    170175msgstr "Bevor sich etwas ändert, siehst du, was passieren würde, und du wählst pro Menü, Seite, Feld und Wert. Nichts wird ersetzt, wenn du es nicht auswählst, und ein Import geschieht ganz oder gar nicht. Exporte aus 0.9 lassen sich ebenfalls importieren."
    171176
    172 #: App/Admin/AdminPages/views/whats-new.php:41
     177#: App/Admin/AdminPages/views/whats-new-1.0.php:42
    173178msgid "The preview of an import, with a checkbox for every menu, page, field and value"
    174179msgstr "Die Vorschau eines Imports, mit einer Checkbox für jedes Menü, jede Seite, jedes Feld und jeden Wert"
    175180
    176 #: App/Admin/AdminPages/views/whats-new.php:47
     181#: App/Admin/AdminPages/views/whats-new-1.0.php:48
    177182msgid "An options page with a logo, a brand color and contact details"
    178183msgstr "Eine Optionsseite mit einem Logo, einer Markenfarbe und Kontaktdaten"
    179184
    180 #: App/Admin/AdminPages/views/whats-new.php:50
     185#: App/Admin/AdminPages/views/whats-new-1.0.php:51
    181186msgid "Nine new field types"
    182187msgstr "Neun neue Feldtypen"
    183188
    184 #: App/Admin/AdminPages/views/whats-new.php:52
     189#: App/Admin/AdminPages/views/whats-new-1.0.php:53
    185190msgid "Email, Link, Password, Date, Time, Date and time, Range, Button group and File."
    186191msgstr "E-Mail, Link, Passwort, Datum, Uhrzeit, Datum und Uhrzeit, Schieberegler, Button-Gruppe und Datei."
    187192
    188 #: App/Admin/AdminPages/views/whats-new.php:53
     193#: App/Admin/AdminPages/views/whats-new-1.0.php:54
    189194msgid "That makes 21 field types. Each one checks what is entered, and an image or file field only accepts the file types you choose, also when something is uploaded."
    190195msgstr "Damit gibt es 21 Feldtypen. Jeder prüft, was eingegeben wird, und ein Bild- oder Dateifeld akzeptiert nur die Dateitypen, die du auswählst, auch beim Hochladen."
    191196
    192 #: App/Admin/AdminPages/views/whats-new.php:60
     197#: App/Admin/AdminPages/views/whats-new-1.0.php:61
    193198msgid "Your own field types"
    194199msgstr "Deine eigenen Feldtypen"
    195200
    196 #: App/Admin/AdminPages/views/whats-new.php:62
     201#: App/Admin/AdminPages/views/whats-new-1.0.php:63
    197202msgid "Need a field that is not there? Add it yourself."
    198203msgstr "Dir fehlt ein Feld? Füge es selbst hinzu."
    199204
    200 #: App/Admin/AdminPages/views/whats-new.php:63
     205#: App/Admin/AdminPages/views/whats-new-1.0.php:64
    201206msgid "Register a field type from your theme or plugin with one class: what the editor asks for, how the value is checked and stored, and how it shows on the options page and on your website. It appears in the field picker next to the built-in types, which use exactly the same API."
    202207msgstr "Registriere einen Feldtyp aus deinem Theme oder Plugin mit einer Klasse: was der Editor abfragt, wie der Wert geprüft und gespeichert wird und wie er auf der Optionsseite und auf deiner Website erscheint. Er erscheint in der Feldauswahl neben den eingebauten Typen, die genau dieselbe API verwenden."
    203208
    204 #: App/Admin/AdminPages/views/whats-new.php:65
     209#: App/Admin/AdminPages/views/whats-new-1.0.php:66
    205210msgid "The Field Types API is stable from 1.0 on and follows semantic versioning, so your field types keep working with the next versions."
    206211msgstr "Die Field Types API ist ab 1.0 stabil und folgt Semantic Versioning, sodass deine Feldtypen mit den nächsten Versionen weiter funktionieren."
    207212
    208 #: App/Admin/AdminPages/views/whats-new.php:86
     213#: App/Admin/AdminPages/views/whats-new-1.0.php:87
    209214msgid "A paragraph connected to a field in the Attributes panel"
    210215msgstr "Ein Absatz, der im Bedienfeld Attribute mit einem Feld verbunden ist"
    211216
    212 #: App/Admin/AdminPages/views/whats-new.php:89
     217#: App/Admin/AdminPages/views/whats-new-1.0.php:90
    213218msgid "Your values on your website"
    214219msgstr "Deine Werte auf deiner Website"
    215220
    216 #: App/Admin/AdminPages/views/whats-new.php:91
     221#: App/Admin/AdminPages/views/whats-new-1.0.php:92
    217222msgid "With a shortcode or a block, no code needed."
    218223msgstr "Mit einem Shortcode oder einem Block, ganz ohne Code."
    219224
    220 #: App/Admin/AdminPages/views/whats-new.php:92
     225#: App/Admin/AdminPages/views/whats-new-1.0.php:93
    221226msgid "Put a field in a post with [aop_option name=\"…\"], or connect a paragraph, heading, button or image to it in the Attributes panel of the block editor. Change the value once, and it changes everywhere."
    222227msgstr "Setze ein Feld mit [aop_option name=\"…\"] in einen Beitrag, oder verbinde im Bedienfeld Attribute des Block-Editors einen Absatz, eine Überschrift, einen Button oder ein Bild damit. Ändere den Wert einmal, und er ändert sich überall."
    223228
    224 #: App/Admin/AdminPages/views/whats-new.php:94
     229#: App/Admin/AdminPages/views/whats-new-1.0.php:95
    225230msgid "Switch on \"Use in shortcode and blocks\" for the fields you want to show. Fields made before 1.0 have it off, so nothing appears on your website by itself."
    226231msgstr "Schalte „In Shortcode und Blöcken verwenden“ für die Felder ein, die du anzeigen möchtest. Bei Feldern, die vor 1.0 erstellt wurden, ist es aus, sodass nichts von selbst auf deiner Website erscheint."
    227232
    228 #: App/Admin/AdminPages/views/whats-new.php:100
     233#: App/Admin/AdminPages/views/whats-new-1.0.php:101
    229234msgid "Rewritten in React"
    230235msgstr "Neu geschrieben in React"
    231236
    232 #: App/Admin/AdminPages/views/whats-new.php:101
     237#: App/Admin/AdminPages/views/whats-new-1.0.php:102
    233238msgid "Under the hood the editor is rewritten in React, the WordPress way: with the components and the data store the block editor is made of."
    234239msgstr "Unter der Haube ist der Editor in React neu geschrieben, auf die WordPress-Art: mit den Komponenten und dem Datenspeicher, aus denen der Block-Editor besteht."
    235240
    236 #: App/Admin/AdminPages/views/whats-new.php:104
     241#: App/Admin/AdminPages/views/whats-new-1.0.php:105
    237242msgid "Change any saved value"
    238243msgstr "Jeden gespeicherten Wert ändern"
    239244
    240 #: App/Admin/AdminPages/views/whats-new.php:105
     245#: App/Admin/AdminPages/views/whats-new-1.0.php:106
    241246msgid "Developers can change the value of any field before it is stored with the new filters aop_sanitized_option and aop_sanitized_option_{name}."
    242247msgstr "Entwickler können den Wert jedes Feldes vor dem Speichern mit den neuen Filtern aop_sanitized_option und aop_sanitized_option_{name} ändern."
    243248
    244 #: App/Admin/AdminPages/views/whats-new.php:108
     249#: App/Admin/AdminPages/views/whats-new-1.0.php:109
    245250msgid "A safe upgrade"
    246251msgstr "Ein sicheres Upgrade"
    247252
    248 #: App/Admin/AdminPages/views/whats-new.php:109
     253#: App/Admin/AdminPages/views/whats-new-1.0.php:110
    249254msgid "Your pages are stored in a new format now. A copy in the old format is kept for 90 days."
    250255msgstr "Deine Seiten werden jetzt in einem neuen Format gespeichert. Eine Kopie im alten Format wird 90 Tage lang aufbewahrt."
    251256
    252 #: App/Admin/AdminPages/views/whats-new.php:115
     257#: App/Admin/AdminPages/views/whats-new-1.0.php:116
     258#: App/Admin/AdminPages/views/whats-new.php:71
    253259msgid "Requirements"
    254260msgstr "Voraussetzungen"
    255261
    256 #: App/Admin/AdminPages/views/whats-new.php:116
     262#: App/Admin/AdminPages/views/whats-new-1.0.php:117
    257263msgid "Admin Options Pages 1.0 needs WordPress 6.9 or later and PHP 8.1 or later."
    258264msgstr "Admin Options Pages 1.0 benötigt WordPress 6.9 oder höher und PHP 8.1 oder höher."
    259265
    260 #: App/Admin/AdminPages/views/whats-new.php:118
     266#: App/Admin/AdminPages/views/whats-new-1.0.php:119
     267#: App/Admin/AdminPages/views/whats-new.php:74
    261268msgid "Go to your options pages"
    262269msgstr "Zu deinen Optionsseiten"
    263270
    264 #: App/Admin/AdminPages/views/whats-new.php:119
     271#: App/Admin/AdminPages/views/whats-new-1.0.php:120
     272#: App/Admin/AdminPages/views/whats-new.php:75
    265273msgid "Read the documentation"
    266274msgstr "Lies die Dokumentation"
    … …  
    275283#: App/Fields/Types/Subtitle.php:38
    276284#: includes/build/editor.js:1
     285#: includes/build/editor.js:4
    277286msgid "Title"
    278287msgstr "Titel"
    … …  
    280289#: App/Admin/ListTable.php:41
    281290#: includes/build/editor.js:1
     291#: includes/build/editor.js:4
    282292msgid "Position"
    283293msgstr "Position"
    … …  
    301311
    302312#: App/Admin/Text.php:14
    303 #: App/Admin/Text.php:32
     313#: App/Admin/Text.php:28
    304314#: includes/build/editor.js:1
    305315msgid "Cancel"
    … …  
    307317
    308318#: App/Admin/Text.php:15
     319#: App/Admin/Text.php:25
    309320#: App/Admin/Text.php:29
    310 #: App/Admin/Text.php:33
    311321#: App/Fields/Types/FileField.php:165
    312322#: App/Fields/Types/Image.php:158
    … …  
    315325msgstr "Löschen"
    316326
    317 #: App/Admin/Text.php:18
    318 msgctxt "User role"
    319 msgid "Administrator"
    320 msgstr "Administrator"
    321 
    322 #: App/Admin/Text.php:19
    323 msgctxt "User role"
    324 msgid "Editor"
    325 msgstr "Redakteur"
    326 
    327 #: App/Admin/Text.php:24
     327#: App/Admin/Text.php:20
    328328msgid "Save"
    329329msgstr "Speichern"
    330330
    331 #: App/Admin/Text.php:25
     331#: App/Admin/Text.php:21
    332332msgid "New Pages"
    333333msgstr "Neue Seiten"
    334334
    335 #: App/Admin/Text.php:28
     335#: App/Admin/Text.php:24
    336336msgid "Update"
    337337msgstr "Aktualisieren"
    338338
    339 #: App/Admin/Text.php:30
     339#: App/Admin/Text.php:26
    340340msgid "Edit Pages"
    341341msgstr "Seiten bearbeiten"
    … …  
    400400msgstr "Bearbeiten"
    401401
    402 #: App/Data.php:651
     402#: App/Data.php:653
    403403msgid "The link you followed has expired."
    404404msgstr "Der Link, dem du gefolgt bist, ist abgelaufen."
    405405
    406406#. translators: 1: a field type, 2: an option name
    407 #: App/Fields/FieldManager.php:164
     407#: App/Fields/FieldManager.php:171
    408408msgid "The field type \"%1$s\" of the option \"%2$s\" is not available, so the field is not shown. Activate the plugin that provides it. Nothing was deleted."
    409409msgstr "Der Feldtyp „%1$s“ der Option „%2$s“ ist nicht verfügbar, daher wird das Feld nicht angezeigt. Aktiviere das Plugin, das ihn bereitstellt. Es wurde nichts gelöscht."
    … …  
    692692msgstr "Die Datenbanktabellen dieser Website können keine Änderungen zurücknehmen. Geht mittendrin etwas schief, kann ein Teil des Imports bestehen bleiben."
    693693
    694 #: App/ImportExport/Importer.php:112
     694#: App/ImportExport/Importer.php:141
    695695msgid "This menu is in the file more than once."
    696696msgstr "Dieses Menü ist mehr als einmal in der Datei."
    697697
    698 #: App/ImportExport/Importer.php:118
     698#: App/ImportExport/Importer.php:147
    699699msgid "The menu on this site was saved by a newer version of the plugin. Update the plugin first."
    700700msgstr "Das Menü auf dieser Website wurde mit einer neueren Version des Plugins gespeichert. Aktualisiere zuerst das Plugin."
    701701
    702 #: App/ImportExport/Importer.php:124
     702#: App/ImportExport/Importer.php:153
    703703msgid "Another menu on this site already has the id of this menu."
    704704msgstr "Ein anderes Menü auf dieser Website hat bereits die ID dieses Menüs."
    705705
    706706#. translators: %s: an option name
    707 #: App/ImportExport/Importer.php:137
     707#: App/ImportExport/Importer.php:166
    708708msgid "The option name \"%s\" is used by more than one menu in the file."
    709709msgstr "Der Optionsname „%s“ wird in der Datei von mehr als einem Menü verwendet."
    710710
    711711#. translators: %s: the name of a field type
    712 #: App/ImportExport/Importer.php:228
     712#: App/ImportExport/Importer.php:257
    713713msgid "The field type \"%s\" is not available on this site. Activate the plugin that provides it."
    714714msgstr "Der Feldtyp „%s“ ist auf dieser Website nicht verfügbar. Aktiviere das Plugin, das ihn bereitstellt."
    715715
    716 #: App/ImportExport/Importer.php:233
     716#: App/ImportExport/Importer.php:262
    717717msgid "This is not a valid option name."
    718718msgstr "Das ist kein gültiger Optionsname."
    719719
    720 #: App/ImportExport/Importer.php:235
     720#: App/ImportExport/Importer.php:264
    721721msgid "This option name is used by WordPress or another plugin."
    722722msgstr "Dieser Optionsname wird von WordPress oder einem anderen Plugin verwendet."
    723723
    724 #: App/ImportExport/Importer.php:300
     724#: App/ImportExport/Importer.php:329
    725725msgid "Something in this menu is not allowed."
    726726msgstr "Etwas in diesem Menü ist nicht erlaubt."
    727727
    728 #: App/ImportExport/Importer.php:310
     728#: App/ImportExport/Importer.php:339
    729729msgid "The name of this menu does not match what is in it."
    730730msgstr "Der Name dieses Menüs passt nicht zu seinem Inhalt."
    731731
    732 #: App/ImportExport/Importer.php:429
     732#: App/ImportExport/Importer.php:458
    733733msgid "Checked"
    734734msgstr "Ausgewählt"
    735735
    736 #: App/ImportExport/Importer.php:429
     736#: App/ImportExport/Importer.php:458
    737737msgid "Not checked"
    738738msgstr "Nicht ausgewählt"
    739739
    740740#. translators: %s: the id of an image or file in the media library
    741 #: App/ImportExport/Importer.php:440
     741#: App/ImportExport/Importer.php:469
    742742msgid "Media ID %s"
    743743msgstr "Medien-ID %s"
    744744
    745 #: App/ImportExport/Importer.php:472
     745#: App/ImportExport/Importer.php:501
    746746msgid "This import has expired. Choose the file again."
    747747msgstr "Dieser Import ist abgelaufen. Wähle die Datei erneut aus."
    748748
    749749#. translators: %s: the name of a menu
    750 #: App/ImportExport/Importer.php:613
     750#: App/ImportExport/Importer.php:642
    751751msgid "Without its first page the menu \"%s\" would get the name of a menu that is on this site already. Import the first page too, or choose another page as the first."
    752752msgstr "Ohne seine erste Seite bekäme das Menü „%s“ den Namen eines Menüs, das bereits auf dieser Website ist. Importiere auch die erste Seite, oder wähle eine andere Seite als erste."
    753753
    754 #: App/ImportExport/Importer.php:638
    755 #: App/ImportExport/Importer.php:691
     754#: App/ImportExport/Importer.php:667
     755#: App/ImportExport/Importer.php:720
    756756msgid "A choice was made for a menu that is not in the file."
    757757msgstr "Es wurde eine Auswahl für ein Menü getroffen, das nicht in der Datei ist."
    758758
    759 #: App/ImportExport/Importer.php:645
     759#: App/ImportExport/Importer.php:674
    760760msgid "A choice was made for a page or field that is not in the file."
    761761msgstr "Es wurde eine Auswahl für eine Seite oder ein Feld getroffen, das nicht in der Datei ist."
    762762
    763 #: App/ImportExport/Importer.php:652
     763#: App/ImportExport/Importer.php:681
    764764msgid "A menu needs at least one page."
    765765msgstr "Ein Menü braucht mindestens eine Seite."
    766766
    767767#. translators: %s: the title of a menu
    768 #: App/ImportExport/Importer.php:680
     768#: App/ImportExport/Importer.php:709
    769769msgid "That cannot be done with the menu \"%s\"."
    770770msgstr "Das ist mit dem Menü „%s“ nicht möglich."
    771771
    772772#. translators: %s: an option name
    773 #: App/ImportExport/Importer.php:716
     773#: App/ImportExport/Importer.php:745
    774774msgid "That cannot be done with the option \"%s\"."
    775775msgstr "Das ist mit der Option „%s“ nicht möglich."
    776776
    777 #: App/ImportExport/Importer.php:742
     777#: App/ImportExport/Importer.php:771
    778778msgid "A menu in the file could not be saved. Nothing was imported."
    779779msgstr "Ein Menü in der Datei konnte nicht gespeichert werden. Es wurde nichts importiert."
    780780
    781781#. translators: %s: an option name
    782 #: App/ImportExport/Importer.php:781
     782#: App/ImportExport/Importer.php:810
    783783msgid "The value of \"%s\" was changed by its field type."
    784784msgstr "Der Wert von „%s“ wurde von seinem Feldtyp geändert."
    … …  
    834834
    835835#. translators: 1: where in the file, 2: a number
    836 #: App/ImportExport/SchemaValidator.php:96
     836#: App/ImportExport/SchemaValidator.php:102
    837837msgid "%1$s has more than %2$d items."
    838838msgstr "%1$s hat mehr als %2$d Elemente."
    839839
    840840#. translators: %s: where in the file
    841 #: App/ImportExport/SchemaValidator.php:101
     841#: App/ImportExport/SchemaValidator.php:107
    842842msgid "%s has no items."
    843843msgstr "%s hat keine Elemente."
    844844
    845845#. translators: 1: where in the file, 2: a number
    846 #: App/ImportExport/SchemaValidator.php:106
     846#: App/ImportExport/SchemaValidator.php:112
    847847msgid "%1$s has more than %2$d entries."
    848848msgstr "%1$s hat mehr als %2$d Einträge."
    849849
    850850#. translators: 1: where in the file, 2: the name of what is missing
    851 #: App/ImportExport/SchemaValidator.php:112
     851#: App/ImportExport/SchemaValidator.php:118
    852852msgid "%1$s misses \"%2$s\"."
    853853msgstr "%1$s fehlt „%2$s“."
    854854
    855 #: App/ImportExport/SchemaValidator.php:169
     855#: App/ImportExport/SchemaValidator.php:175
    856856msgid "The file"
    857857msgstr "Die Datei"
    … …  
    994994
    995995#: includes/build/editor.js:1
     996#: includes/build/editor.js:4
    996997msgid "Drag to reorder"
    997998msgstr "Zum Neuordnen ziehen"
    … …  
    11591160msgstr "Statischer Inhalt"
    11601161
    1161 #: includes/build/editor.js:1
     1162#: includes/build/editor.js:4
    11621163msgid "Menu page title"
    11631164msgstr "Seitentitel im Menü"
    11641165
    1165 #: includes/build/editor.js:1
     1166#: includes/build/editor.js:4
    11661167msgid "Page title"
    11671168msgstr "Seitentitel"
    11681169
    1169 #: includes/build/editor.js:1
     1170#: includes/build/editor.js:4
    11701171msgid "Page title on top"
    11711172msgstr "Seitentitel oben"
    11721173
    1173 #: includes/build/editor.js:1
     1174#: includes/build/editor.js:4
    11741175msgid "Show page with tab"
    11751176msgstr "Seite mit Tab anzeigen"
    11761177
    1177 #: includes/build/editor.js:1
    1178 msgid "User access level"
    1179 msgstr "Zugriffsebene"
    1180 
    1181 #: includes/build/editor.js:1
     1178#: includes/build/editor.js:4
    11821179msgid "Visit Page"
    11831180msgstr "Seite ansehen"
    11841181
    1185 #: includes/build/editor.js:1
     1182#: includes/build/editor.js:4
    11861183msgid "Delete Page"
    11871184msgstr "Seite löschen"
    11881185
    1189 #: includes/build/editor.js:1
     1186#: includes/build/editor.js:4
    11901187msgid "Saving failed."
    11911188msgstr "Speichern fehlgeschlagen."
    11921189
    1193 #: includes/build/editor.js:1
     1190#: includes/build/editor.js:4
    11941191msgid "At this moment there is no proper support for small/mobile screens."
    11951192msgstr "Zurzeit werden kleine/mobile Bildschirme nicht richtig unterstützt."
    11961193
    1197 #: includes/build/editor.js:1
     1194#: includes/build/editor.js:4
    11981195msgid "We hope to fix this in a future version."
    11991196msgstr "Wir hoffen, das in einer kommenden Version zu beheben."
    12001197
    1201 #: includes/build/editor.js:1
     1198#: includes/build/editor.js:4
    12021199msgid "The minimum required screen width is 1000px."
    12031200msgstr "Die minimale Bildschirmbreite ist 1000px."
    12041201
    1205 #: includes/build/editor.js:1
     1202#: includes/build/editor.js:4
    12061203msgid "Close dialog"
    12071204msgstr "Dialog schließen"
    … …  
    14121409msgid "Setting saved."
    14131410msgstr "Einstellung gespeichert."
     1411
     1412#. translators: 1: the slug of a user role, 2: the menu title of a page
     1413#: App/ImportExport/Importer.php:118
     1414msgid "The role \"%1$s\" of the page \"%2$s\" does not exist on this site. Until it does, users with that role cannot open the page."
     1415msgstr "Die Rolle „%1$s“ der Seite „%2$s“ gibt es auf dieser Website nicht. Solange es sie nicht gibt, können Benutzer mit dieser Rolle die Seite nicht öffnen."
     1416
     1417#. translators: %s: where in the file
     1418#: App/ImportExport/SchemaValidator.php:92
     1419msgid "%s has characters that are not allowed."
     1420msgstr "%s enthält Zeichen, die nicht erlaubt sind."
     1421
     1422#. translators: %s: the slug of a role that does not exist on this site
     1423#: includes/build/editor.js:2
     1424msgid "%s (no longer available)"
     1425msgstr "%s (nicht mehr verfügbar)"
     1426
     1427#. translators: 1: the name of a role, 2: the number of users with that role
     1428#: includes/build/editor.js:3
     1429msgid "%1$s (%2$d user)"
     1430msgid_plural "%1$s (%2$d users)"
     1431msgstr[0] "%1$s (%2$d Benutzer)"
     1432msgstr[1] "%1$s (%2$d Benutzer)"
     1433
     1434#: includes/build/editor.js:3
     1435msgid "Administrator"
     1436msgstr "Administrator"
     1437
     1438#: App/Admin/AdminPages/views/whats-new.php:34
     1439#: includes/build/editor.js:3
     1440#: includes/build/editor.js:4
     1441msgid "Who can edit"
     1442msgstr "Wer bearbeiten darf"
     1443
     1444#. translators: %d: the number of roles besides administrator that can edit the page
     1445#: includes/build/editor.js:4
     1446msgid "Administrator + %d other"
     1447msgid_plural "Administrator + %d others"
     1448msgstr[0] "Administrator + %d weitere"
     1449msgstr[1] "Administrator + %d weitere"
     1450
     1451#: includes/build/editor.js:4
     1452msgid "Administrators always have access."
     1453msgstr "Administratoren haben immer Zugriff."
     1454
     1455#: includes/build/editor.js:4
     1456msgid "Users with this role cannot open the dashboard."
     1457msgstr "Benutzer mit dieser Rolle können das Dashboard nicht öffnen."
     1458
     1459#: includes/build/editor.js:4
     1460msgid "Done"
     1461msgstr "Fertig"
     1462
     1463#: App/Admin/AdminPages/SubpageWhatsNew.php:120
     1464msgid "Admin Options Pages 1.1 is here."
     1465msgstr "Admin Options Pages 1.1 ist da."
     1466
     1467#: App/Admin/AdminPages/SubpageWhatsNew.php:121
     1468msgid "You now choose per page which roles can edit it. Have a look at who can edit your pages."
     1469msgstr "Du wählst jetzt pro Seite, welche Rollen sie bearbeiten dürfen. Sieh dir an, wer deine Seiten bearbeiten darf."
     1470
     1471#: App/Admin/AdminPages/views/whats-new-1.0.php:122
     1472msgid "What is new in 1.1"
     1473msgstr "Neu in 1.1"
     1474
     1475#: App/Admin/AdminPages/views/whats-new.php:20
     1476msgid "Admin Options Pages 1.1"
     1477msgstr "Admin Options Pages 1.1"
     1478
     1479#: App/Admin/AdminPages/views/whats-new.php:22
     1480msgid "Choose who can edit each page."
     1481msgstr "Wähle, wer jede Seite bearbeiten darf."
     1482
     1483#: App/Admin/AdminPages/views/whats-new.php:27
     1484msgid "Welcome to Admin Options Pages 1.1"
     1485msgstr "Willkommen bei Admin Options Pages 1.1"
     1486
     1487#: App/Admin/AdminPages/views/whats-new.php:36
     1488msgid "Tick the roles that may edit a page."
     1489msgstr "Hake die Rollen an, die eine Seite bearbeiten dürfen."
     1490
     1491#: App/Admin/AdminPages/views/whats-new.php:37
     1492msgid "Open a page in the editor and click the button next to \"Who can edit\". Every role of your site is there, also the roles of other plugins and the roles you made yourself. Users with a ticked role see the page in their menu and can save it; nobody else can."
     1493msgstr "Öffne eine Seite im Editor und klicke auf die Schaltfläche neben „Wer bearbeiten darf“. Jede Rolle deiner Website ist dort, auch die Rollen anderer Plugins und die Rollen, die du selbst angelegt hast. Benutzer mit einer angehakten Rolle sehen die Seite in ihrem Menü und können sie speichern; sonst niemand."
     1494
     1495#: App/Admin/AdminPages/views/whats-new.php:39
     1496msgid "Administrators can always open every page, and only administrators can build and change the pages themselves."
     1497msgstr "Administratoren können jede Seite immer öffnen, und nur Administratoren können die Seiten selbst erstellen und ändern."
     1498
     1499#: App/Admin/AdminPages/views/whats-new.php:42
     1500msgid "The dialog \"Who can edit\" with a checkbox for every role of the site"
     1501msgstr "Der Dialog „Wer bearbeiten darf“ mit einem Kontrollkästchen für jede Rolle der Website"
     1502
     1503#: App/Admin/AdminPages/views/whats-new.php:48
     1504msgid "What happens to your pages"
     1505msgstr "Was mit deinen Seiten passiert"
     1506
     1507#: App/Admin/AdminPages/views/whats-new.php:49
     1508msgid "Nothing changes until you save a page again. A page that was set to Editor opens in the editor with the roles ticked that can edit it now: usually Editor, and with WooCommerce also Shop manager. Save the page to keep it that way, or change the roles first."
     1509msgstr "Nichts ändert sich, bis du eine Seite erneut speicherst. Eine Seite, die auf Redakteur stand, öffnet sich im Editor mit den Rollen angehakt, die sie jetzt bearbeiten dürfen: meist Redakteur, mit WooCommerce auch Shop-Manager. Speichere die Seite, um es so zu behalten, oder ändere zuerst die Rollen."
     1510
     1511#: App/Admin/AdminPages/views/whats-new.php:50
     1512msgid "From then on the ticked roles decide, not what a role may do elsewhere on the site. Did someone get access without one of these roles? Tick a role they have, or give them access to that page with a plugin that manages roles."
     1513msgstr "Ab dann entscheiden die angehakten Rollen, nicht was eine Rolle anderswo auf der Website darf. Hatte jemand Zugriff ohne eine dieser Rollen? Hake eine Rolle an, die er hat, oder gib ihm mit einem Plugin für Rollen Zugriff auf diese Seite."
     1514
     1515#: App/Admin/AdminPages/views/whats-new.php:56
     1516msgid "One user, one page"
     1517msgstr "Ein Benutzer, eine Seite"
     1518
     1519#: App/Admin/AdminPages/views/whats-new.php:57
     1520msgid "With a plugin that manages roles, such as Members or User Role Editor, you can give a single user access to a single page: every page is listed there under Admin Options Pages."
     1521msgstr "Mit einem Plugin, das Rollen verwaltet, wie Members oder User Role Editor, gibst du einem einzelnen Benutzer Zugriff auf eine einzelne Seite: Jede Seite steht dort unter Admin Options Pages."
     1522
     1523#: App/Admin/AdminPages/views/whats-new.php:60
     1524msgid "Roles move with your pages"
     1525msgstr "Rollen ziehen mit um"
     1526
     1527#: App/Admin/AdminPages/views/whats-new.php:61
     1528msgid "An export takes the roles of every page with it. When a role does not exist on the site you import to, the preview tells you; the page is imported all the same."
     1529msgstr "Ein Export nimmt die Rollen jeder Seite mit. Gibt es eine Rolle auf der Website, auf die du importierst, nicht, sagt dir die Vorschau das; die Seite wird trotzdem importiert."
     1530
     1531#: App/Admin/AdminPages/views/whats-new.php:64
     1532msgid "No dead ends"
     1533msgstr "Keine Sackgassen"
     1534
     1535#: App/Admin/AdminPages/views/whats-new.php:65
     1536msgid "The editor tells you when a ticked role cannot open the dashboard at all, such as the Customer role of WooCommerce."
     1537msgstr "Der Editor sagt dir, wenn eine angehakte Rolle das Dashboard gar nicht öffnen kann, wie die Rolle Kunde von WooCommerce."
     1538
     1539#: App/Admin/AdminPages/views/whats-new.php:72
     1540msgid "Admin Options Pages 1.1 needs WordPress 6.9 or later and PHP 8.1 or later, like 1.0."
     1541msgstr "Admin Options Pages 1.1 braucht WordPress 6.9 oder neuer und PHP 8.1 oder neuer, wie 1.0."
     1542
     1543#: App/Admin/AdminPages/views/whats-new.php:77
     1544msgid "What was new in 1.0"
     1545msgstr "Neu in 1.0"
     1546
     1547#: App/Admin/AdminPages/views/whats-new.php:28
     1548msgid "Your clients and colleagues now get exactly the pages they need. Choose the right roles for each page: Editor, Shop manager, Author, or a role you made yourself."
     1549msgstr "Deine Kunden und Kollegen bekommen jetzt genau die Seiten, die sie brauchen. Wähle für jede Seite die passenden Rollen: Redakteur, Shop-Manager, Autor oder eine Rolle, die du selbst angelegt hast."
  • admin-options-pages/trunk/languages/admin-options-pages-es_ES-40ab473175f2d6a502e444c4dd505d9d.json

    r3736451 r3750608  
    1 {"translation-revision-date":"2026-10-09T10:01:38+00:00","generator":"WP-CLI\/2.11.0","source":"includes\/build\/editor.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"es","plural-forms":"nplurals=2; plural=(n != 1);"},"Settings":["Ajustes"],"Documentation":["Documentaci\u00f3n"],"Title":["T\u00edtulo"],"Position":["Posici\u00f3n"],"Are you sure?":["\u00bfEst\u00e1s seguro?"],"Cancel":["Cancelar"],"Delete":["Borrar"],"Field label":["Etiqueta del campo"],"Field name":["Nombre del campo"],"Autoload":["Carga autom\u00e1tica"],"Use in shortcode and blocks":["Usar en shortcode y bloques"],"Additional CSS Class(es)":["Clase(s) CSS adicional(es)"],"Description":["Descripci\u00f3n"],"Default value":["Valor por defecto"],"Button group":["Grupo de botones"],"Field values":["Valores del campo"],"Checkbox":["Casilla de verificaci\u00f3n"],"Text when checked":["Texto si est\u00e1 marcada"],"Text when not checked":["Texto si no est\u00e1 marcada"],"Text after input field":["Texto despu\u00e9s del campo"],"Color picker":["Selector de color"],"Default color (HEX)":["Color por defecto (HEX)"],"Date":["Fecha"],"Field style":["Estilo del campo"],"Date and time":["Fecha y hora"],"Email":["Correo electr\u00f3nico"],"Placeholder":["Texto de ejemplo"],"File":["Archivo"],"Allowed file types":["Tipos de archivo permitidos"],"Horizontal rule":["L\u00ednea horizontal"],"Image":["Imagen"],"Allowed extensions":["Extensiones permitidas"],"Link":["Enlace"],"Number":["N\u00famero"],"Minimum value":["Valor m\u00ednimo"],"Maximum value":["Valor m\u00e1ximo"],"Decimals":["Decimales"],"Password":["Contrase\u00f1a"],"Radio buttons":["Botones de opci\u00f3n"],"Range":["Rango"],"Select":["Desplegable"],"Textarea":["\u00c1rea de texto"],"Description italic":["Descripci\u00f3n en cursiva"],"Text field":["Campo de texto"],"Formatted as code":["Con formato de c\u00f3digo"],"Time":["Hora"],"Wysiwyg editor":["Editor WYSIWYG"],"Show media upload buttons":["Mostrar los botones para subir medios"],"Toolbar":["Barra de herramientas"],"Icon":["Icono"],"Choose an icon":["Elige un icono"],"Search for an icon\u2026":["Buscar un icono\u2026"],"Nothing found.":["No se ha encontrado nada."],"Add New Page":["A\u00f1adir p\u00e1gina nueva"],"Menu Type":["Tipo de men\u00fa"],"Custom menu":["Men\u00fa propio"],"Existing menu":["Men\u00fa existente"],"Menu title":["T\u00edtulo del men\u00fa"],"Close settings":["Cerrar ajustes"],"Move left":["Mover a la izquierda"],"Move up":["Mover hacia arriba"],"Move right":["Mover a la derecha"],"Move down":["Mover hacia abajo"],"Drag to reorder":["Arrastrar para reordenar"],"Add block":["A\u00f1adir bloque"],"Value":["Valor"],"Label":["Etiqueta"],"Delete this row":["Borrar esta fila"],"Add a row":["A\u00f1adir una fila"],"Help":["Ayuda"],"Shortcode":["Shortcode"],"Copied!":["\u00a1Copiado!"],"Copy":["Copiar"],"With get_option() the value is always available in PHP, also when this is off.":["Con get_option() el valor siempre est\u00e1 disponible en PHP, tambi\u00e9n cuando esto est\u00e1 desactivado."],"Field":["Campo"],"This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.":["Este tipo de campo no est\u00e1 disponible. Activa el plugin que lo proporciona. No se ha borrado nada: el campo se guarda tal como est\u00e1."],"Options":["Opciones"],"Regular":["Normal"],"Small":["Peque\u00f1o"],"Large":["Grande"],"Standard":["Est\u00e1ndar"],"0":["0"],"1":["1"],"2":["2"],".jpeg .jpg":[".jpeg .jpg"],".png":[".png"],".gif":[".gif"],".svg":[".svg"],"This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.":["Este sitio no permite subir archivos SVG. Un plugin como Safe SVG lo a\u00f1ade de forma segura."],".ico":[".ico"],"Full":["Completa"],"Basic":["B\u00e1sica"],".pdf":[".pdf"],".doc":[".doc"],".docx":[".docx"],".xls":[".xls"],".xlsx":[".xlsx"],".csv":[".csv"],".zip":[".zip"],".txt":[".txt"],"Add a field":["A\u00f1adir un campo"],"Search\u2026":["Buscar\u2026"],"Options fields":["Campos de opciones"],"Static content":["Contenido est\u00e1tico"],"Menu page title":["T\u00edtulo de la p\u00e1gina en el men\u00fa"],"Page title":["T\u00edtulo de la p\u00e1gina"],"Page title on top":["T\u00edtulo de la p\u00e1gina arriba"],"Show page with tab":["Mostrar la p\u00e1gina con pesta\u00f1a"],"User access level":["Nivel de acceso"],"Visit Page":["Ver p\u00e1gina"],"Delete Page":["Borrar p\u00e1gina"],"Saving failed.":["No se ha podido guardar."],"At this moment there is no proper support for small\/mobile screens.":["Por ahora las pantallas peque\u00f1as y m\u00f3viles no son totalmente compatibles."],"We hope to fix this in a future version.":["Esperamos solucionarlo en una pr\u00f3xima versi\u00f3n."],"The minimum required screen width is 1000px.":["El ancho m\u00ednimo de pantalla es de 1000px."],"Close dialog":["Cerrar el di\u00e1logo"]}}}
     1{"translation-revision-date":"2026-10-09T10:01:38+00:00","generator":"WP-CLI\/2.11.0","source":"includes\/build\/editor.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"es","plural-forms":"nplurals=2; plural=(n != 1);"},"Settings":["Ajustes"],"Documentation":["Documentaci\u00f3n"],"Title":["T\u00edtulo"],"Position":["Posici\u00f3n"],"Are you sure?":["\u00bfEst\u00e1s seguro?"],"Cancel":["Cancelar"],"Delete":["Borrar"],"Field label":["Etiqueta del campo"],"Field name":["Nombre del campo"],"Autoload":["Carga autom\u00e1tica"],"Use in shortcode and blocks":["Usar en shortcode y bloques"],"Additional CSS Class(es)":["Clase(s) CSS adicional(es)"],"Description":["Descripci\u00f3n"],"Default value":["Valor por defecto"],"Button group":["Grupo de botones"],"Field values":["Valores del campo"],"Checkbox":["Casilla de verificaci\u00f3n"],"Text when checked":["Texto si est\u00e1 marcada"],"Text when not checked":["Texto si no est\u00e1 marcada"],"Text after input field":["Texto despu\u00e9s del campo"],"Color picker":["Selector de color"],"Default color (HEX)":["Color por defecto (HEX)"],"Date":["Fecha"],"Field style":["Estilo del campo"],"Date and time":["Fecha y hora"],"Email":["Correo electr\u00f3nico"],"Placeholder":["Texto de ejemplo"],"File":["Archivo"],"Allowed file types":["Tipos de archivo permitidos"],"Horizontal rule":["L\u00ednea horizontal"],"Image":["Imagen"],"Allowed extensions":["Extensiones permitidas"],"Link":["Enlace"],"Number":["N\u00famero"],"Minimum value":["Valor m\u00ednimo"],"Maximum value":["Valor m\u00e1ximo"],"Decimals":["Decimales"],"Password":["Contrase\u00f1a"],"Radio buttons":["Botones de opci\u00f3n"],"Range":["Rango"],"Select":["Desplegable"],"Textarea":["\u00c1rea de texto"],"Description italic":["Descripci\u00f3n en cursiva"],"Text field":["Campo de texto"],"Formatted as code":["Con formato de c\u00f3digo"],"Time":["Hora"],"Wysiwyg editor":["Editor WYSIWYG"],"Show media upload buttons":["Mostrar los botones para subir medios"],"Toolbar":["Barra de herramientas"],"Icon":["Icono"],"Choose an icon":["Elige un icono"],"Search for an icon\u2026":["Buscar un icono\u2026"],"Nothing found.":["No se ha encontrado nada."],"Add New Page":["A\u00f1adir p\u00e1gina nueva"],"Menu Type":["Tipo de men\u00fa"],"Custom menu":["Men\u00fa propio"],"Existing menu":["Men\u00fa existente"],"Menu title":["T\u00edtulo del men\u00fa"],"Close settings":["Cerrar ajustes"],"Move left":["Mover a la izquierda"],"Move up":["Mover hacia arriba"],"Move right":["Mover a la derecha"],"Move down":["Mover hacia abajo"],"Drag to reorder":["Arrastrar para reordenar"],"Add block":["A\u00f1adir bloque"],"Value":["Valor"],"Label":["Etiqueta"],"Delete this row":["Borrar esta fila"],"Add a row":["A\u00f1adir una fila"],"Help":["Ayuda"],"Shortcode":["Shortcode"],"Copied!":["\u00a1Copiado!"],"Copy":["Copiar"],"With get_option() the value is always available in PHP, also when this is off.":["Con get_option() el valor siempre est\u00e1 disponible en PHP, tambi\u00e9n cuando esto est\u00e1 desactivado."],"Field":["Campo"],"This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.":["Este tipo de campo no est\u00e1 disponible. Activa el plugin que lo proporciona. No se ha borrado nada: el campo se guarda tal como est\u00e1."],"Options":["Opciones"],"Regular":["Normal"],"Small":["Peque\u00f1o"],"Large":["Grande"],"Standard":["Est\u00e1ndar"],"0":["0"],"1":["1"],"2":["2"],".jpeg .jpg":[".jpeg .jpg"],".png":[".png"],".gif":[".gif"],".svg":[".svg"],"This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.":["Este sitio no permite subir archivos SVG. Un plugin como Safe SVG lo a\u00f1ade de forma segura."],".ico":[".ico"],"Full":["Completa"],"Basic":["B\u00e1sica"],".pdf":[".pdf"],".doc":[".doc"],".docx":[".docx"],".xls":[".xls"],".xlsx":[".xlsx"],".csv":[".csv"],".zip":[".zip"],".txt":[".txt"],"Add a field":["A\u00f1adir un campo"],"Search\u2026":["Buscar\u2026"],"Options fields":["Campos de opciones"],"Static content":["Contenido est\u00e1tico"],"Menu page title":["T\u00edtulo de la p\u00e1gina en el men\u00fa"],"Page title":["T\u00edtulo de la p\u00e1gina"],"Page title on top":["T\u00edtulo de la p\u00e1gina arriba"],"Show page with tab":["Mostrar la p\u00e1gina con pesta\u00f1a"],"Visit Page":["Ver p\u00e1gina"],"Delete Page":["Borrar p\u00e1gina"],"Saving failed.":["No se ha podido guardar."],"At this moment there is no proper support for small\/mobile screens.":["Por ahora las pantallas peque\u00f1as y m\u00f3viles no son totalmente compatibles."],"We hope to fix this in a future version.":["Esperamos solucionarlo en una pr\u00f3xima versi\u00f3n."],"The minimum required screen width is 1000px.":["El ancho m\u00ednimo de pantalla es de 1000px."],"Close dialog":["Cerrar el di\u00e1logo"],"%s (no longer available)":["%s (ya no est\u00e1 disponible)"],"%1$s (%2$d user)":["%1$s (%2$d usuario)","%1$s (%2$d usuarios)"],"Administrator":["Administrador"],"Who can edit":["Qui\u00e9n puede editar"],"Administrator + %d other":["Administrador + %d m\u00e1s","Administrador + %d m\u00e1s"],"Administrators always have access.":["Los administradores siempre tienen acceso."],"Users with this role cannot open the dashboard.":["Los usuarios con este rol no pueden abrir el escritorio."],"Done":["Hecho"]}}}
  • admin-options-pages/trunk/languages/admin-options-pages-es_ES.l10n.php

    r3736451 r3750608  
    11<?php
    2 return ['domain'=>'admin-options-pages','plural-forms'=>'nplurals=2; plural=(n != 1);','language'=>'es','project-id-version'=>'Admin Options Pages 1.0.0','pot-creation-date'=>'2026-10-09T10:01:38+00:00','po-revision-date'=>'2026-10-09T10:01:38+00:00','x-generator'=>'WP-CLI 2.11.0','messages'=>['Admin Options Pages'=>'Admin Options Pages','https://adminoptionspages.com'=>'https://adminoptionspages.com','Create and edit your own options pages with ease.'=>'Crea y edita fácilmente tus propias páginas de opciones.','Johannes van Poelgeest'=>'Johannes van Poelgeest','https://poolghost.com'=>'https://poolghost.com','Options Pages'=>'Páginas de opciones','All Options Pages'=>'Todas las páginas de opciones','Add new'=>'Añadir nueva','edit Page'=>'Editar página','What\'s new in Admin Options Pages 1.0'=>'Novedades de Admin Options Pages 1.0','What\'s new'=>'Novedades','Settings'=>'Ajustes','Import / Export'=>'Importar / exportar','Saved.'=>'Guardado.','Updated.'=>'Actualizado.','Pages deleted.'=>'Páginas borradas.','Page deleted.'=>'Página borrada.','You attempted to edit a menu that does not exist. Perhaps it was deleted?'=>'Has intentado editar un menú que no existe. ¿Quizá se ha borrado?','Go to all options pages'=>'Ir a todas las páginas de opciones','Menu not found'=>'Menú no encontrado','Global Settings'=>'Ajustes generales','Sorry, you are not allowed to export.'=>'No tienes permiso para exportar.','Creating options pages has never been easier.'=>'Crear páginas de opciones nunca ha sido tan fácil.','Documentation'=>'Documentación','love'=>'te encanta','five stars'=>'cinco estrellas','If you really %1$s this plugin, consider giving some %2$s to help make %3$s more known.'=>'Si de verdad %1$s este plugin, considera darle %2$s para que %3$s sea más conocido.','Admin Options Pages 1.0 is here.'=>'Ya está aquí Admin Options Pages 1.0.','Import and export with your data, your own field types, nine new field types and your values on your website.'=>'Importación y exportación con tus datos, tus propios tipos de campo, nueve tipos de campo nuevos y tus valores en tu web.','See what\'s new'=>'Ver las novedades','Admin Options Pages 1.0'=>'Admin Options Pages 1.0','Import and export with your data, your own field types and your values on your website.'=>'Importación y exportación con tus datos, tus propios tipos de campo y tus valores en tu web.','Welcome to Admin Options Pages 1.0'=>'Te damos la bienvenida a Admin Options Pages 1.0','This is the biggest update of the plugin so far. Menus now move to another site with all their values, so the options pages you built and filled locally go live in one file. You can add field types of your own, there are nine new built-in ones, and the values of your fields can be shown on your website without code. Your menus, pages, fields and values are all still here.'=>'Es la mayor actualización del plugin hasta ahora. Los menús pasan ahora a otro sitio con todos sus valores, así que las páginas de opciones que has creado y rellenado en local se publican en un solo archivo. Puedes añadir tus propios tipos de campo, hay nueve nuevos integrados, y los valores de tus campos se pueden mostrar en tu web sin código. Tus menús, páginas, campos y valores siguen todos aquí.','Import and export, with your data'=>'Importar y exportar, con tus datos','Build and fill your options pages locally, then take them live in one file.'=>'Crea y rellena tus páginas de opciones en local y publícalas después en un solo archivo.','Export the menus you choose together with the values of their fields, and import them on your live site, a staging site or your next project. No more typing the same settings twice.'=>'Exporta los menús que elijas junto con los valores de sus campos, e impórtalos en tu sitio en producción, un sitio de pruebas o tu próximo proyecto. Se acabó escribir dos veces los mismos ajustes.','Before anything changes you see what would happen, and you choose per menu, page, field and value. Nothing is replaced unless you choose it, and an import is all or nothing. Exports made with 0.9 can be imported too.'=>'Antes de que cambie nada, ves lo que pasaría, y eliges por menú, página, campo y valor. No se reemplaza nada a menos que lo elijas, y una importación se hace entera o no se hace. También se pueden importar las exportaciones de la 0.9.','The preview of an import, with a checkbox for every menu, page, field and value'=>'La vista previa de una importación, con una casilla para cada menú, página, campo y valor','An options page with a logo, a brand color and contact details'=>'Una página de opciones con un logotipo, un color de marca y datos de contacto','Nine new field types'=>'Nueve tipos de campo nuevos','Email, Link, Password, Date, Time, Date and time, Range, Button group and File.'=>'Correo electrónico, Enlace, Contraseña, Fecha, Hora, Fecha y hora, Rango, Grupo de botones y Archivo.','That makes 21 field types. Each one checks what is entered, and an image or file field only accepts the file types you choose, also when something is uploaded.'=>'Eso hace 21 tipos de campo. Cada uno comprueba lo que se introduce, y un campo de imagen o de archivo solo acepta los tipos de archivo que elijas, también al subir algo.','Your own field types'=>'Tus propios tipos de campo','Need a field that is not there? Add it yourself.'=>'¿Te falta un campo? Añádelo tú mismo.','Register a field type from your theme or plugin with one class: what the editor asks for, how the value is checked and stored, and how it shows on the options page and on your website. It appears in the field picker next to the built-in types, which use exactly the same API.'=>'Registra un tipo de campo desde tu tema o plugin con una sola clase: lo que pide el editor, cómo se comprueba y se guarda el valor, y cómo se muestra en la página de opciones y en tu web. Aparece en el selector de campos junto a los tipos integrados, que usan exactamente la misma API.','The Field Types API is stable from 1.0 on and follows semantic versioning, so your field types keep working with the next versions.'=>'La Field Types API es estable a partir de la 1.0 y sigue el versionado semántico, así que tus tipos de campo seguirán funcionando con las próximas versiones.','A paragraph connected to a field in the Attributes panel'=>'Un párrafo conectado a un campo en el panel Atributos','Your values on your website'=>'Tus valores en tu web','With a shortcode or a block, no code needed.'=>'Con un shortcode o un bloque, sin código.','Put a field in a post with [aop_option name="…"], or connect a paragraph, heading, button or image to it in the Attributes panel of the block editor. Change the value once, and it changes everywhere.'=>'Pon un campo en una entrada con [aop_option name="…"], o conéctale un párrafo, un encabezado, un botón o una imagen en el panel Atributos del editor de bloques. Cambia el valor una vez, y cambia en todas partes.','Switch on "Use in shortcode and blocks" for the fields you want to show. Fields made before 1.0 have it off, so nothing appears on your website by itself.'=>'Activa «Usar en shortcode y bloques» para los campos que quieras mostrar. En los campos creados antes de la 1.0 está desactivado, así que no aparece nada por sí solo en tu web.','Rewritten in React'=>'Reescrito en React','Under the hood the editor is rewritten in React, the WordPress way: with the components and the data store the block editor is made of.'=>'Por dentro, el editor está reescrito en React, al estilo de WordPress: con los componentes y el almacén de datos de los que está hecho el editor de bloques.','Change any saved value'=>'Cambiar cualquier valor guardado','Developers can change the value of any field before it is stored with the new filters aop_sanitized_option and aop_sanitized_option_{name}.'=>'Los desarrolladores pueden cambiar el valor de cualquier campo antes de que se guarde con los nuevos filtros aop_sanitized_option y aop_sanitized_option_{name}.','A safe upgrade'=>'Una actualización segura','Your pages are stored in a new format now. A copy in the old format is kept for 90 days.'=>'Tus páginas se guardan ahora en un formato nuevo. Se conserva una copia en el formato antiguo durante 90 días.','Requirements'=>'Requisitos','Admin Options Pages 1.0 needs WordPress 6.9 or later and PHP 8.1 or later.'=>'Admin Options Pages 1.0 necesita WordPress 6.9 o superior y PHP 8.1 o superior.','Go to your options pages'=>'Ir a tus páginas de opciones','Read the documentation'=>'Leer la documentación','media modal menuMenu'=>'Menú','Title'=>'Título','Position'=>'Posición','Pages'=>'Páginas','Dismiss this notice.'=>'Descartar este aviso.','Publish'=>'Publicar','Are you sure?'=>'¿Estás seguro?','Cancel'=>'Cancelar','Delete'=>'Borrar','User roleAdministrator'=>'Administrador','User roleEditor'=>'Editor','Save'=>'Guardar','New Pages'=>'Páginas nuevas','Update'=>'Actualizar','Edit Pages'=>'Editar páginas','List View'=>'Vista de lista','Excerpt View'=>'Vista de extracto','No items found.'=>'No se han encontrado elementos.','Show more details'=>'Mostrar más detalles','%s item'=>'%s elemento' . "\0" . '%s elementos','First page'=>'Primera página','Previous page'=>'Página anterior','Current Page'=>'Página actual','paging%1$s of %2$s'=>'%1$s de %2$s','Next page'=>'Página siguiente','Last page'=>'Última página','Select All'=>'Seleccionar todo','Edit'=>'Editar','The link you followed has expired.'=>'El enlace que has seguido ha caducado.','The field type "%1$s" of the option "%2$s" is not available, so the field is not shown. Activate the plugin that provides it. Nothing was deleted.'=>'El tipo de campo «%1$s» de la opción «%2$s» no está disponible, así que el campo no se muestra. Activa el plugin que lo proporciona. No se ha borrado nada.','%s is not a field type.'=>'%s no es un tipo de campo.','The field type "%1$s" is already registered; %2$s was ignored.'=>'El tipo de campo «%1$s» ya está registrado; se ha ignorado %2$s.','%1$s is not the class of the field type "%2$s".'=>'%1$s no es la clase del tipo de campo «%2$s».','Field label'=>'Etiqueta del campo','Field name'=>'Nombre del campo','Autoload'=>'Carga automática','Use in shortcode and blocks'=>'Usar en shortcode y bloques','Additional CSS Class(es)'=>'Clase(s) CSS adicional(es)','Description'=>'Descripción','Default value'=>'Valor por defecto','Button group'=>'Grupo de botones','Field values'=>'Valores del campo','Checkbox'=>'Casilla de verificación','Text when checked'=>'Texto si está marcada','Text when not checked'=>'Texto si no está marcada','Text after input field'=>'Texto después del campo','Color picker'=>'Selector de color','Default color (HEX)'=>'Color por defecto (HEX)','Date'=>'Fecha','Field style'=>'Estilo del campo','Date and time'=>'Fecha y hora','Email'=>'Correo electrónico','Placeholder'=>'Texto de ejemplo','File'=>'Archivo','Allowed file types'=>'Tipos de archivo permitidos','Upload'=>'Subir','Horizontal rule'=>'Línea horizontal','Image'=>'Imagen','Allowed extensions'=>'Extensiones permitidas','Link'=>'Enlace','Number'=>'Número','Minimum value'=>'Valor mínimo','Maximum value'=>'Valor máximo','Decimals'=>'Decimales','Password'=>'Contraseña','Radio buttons'=>'Botones de opción','Range'=>'Rango','Select'=>'Desplegable','Textarea'=>'Área de texto','Description italic'=>'Descripción en cursiva','Text field'=>'Campo de texto','Formatted as code'=>'Con formato de código','Time'=>'Hora','Wysiwyg editor'=>'Editor WYSIWYG','Show media upload buttons'=>'Mostrar los botones para subir medios','Toolbar'=>'Barra de herramientas','The value on this settings field is not allowed.'=>'El valor de este campo de ajustes no está permitido.','Some of the value on this settings field is not allowed.'=>'Parte del valor de este campo de ajustes no está permitida.','This is not a correct formatted Hex color.'=>'No es un color hexadecimal con un formato correcto.','the shortcode has no name="..."'=>'el shortcode no tiene name="..."','"Use in shortcode and blocks" is off for this field, or its type cannot be shown'=>'«Usar en shortcode y bloques» está desactivado para este campo, o su tipo no se puede mostrar','this is not an option of Admin Options Pages'=>'no es una opción de Admin Options Pages','The database tables of this site cannot roll back. If something goes wrong halfway, part of the import may remain.'=>'Las tablas de la base de datos de este sitio no pueden deshacer cambios. Si algo falla a mitad, puede quedar parte de la importación.','This menu is in the file more than once.'=>'Este menú está más de una vez en el archivo.','The menu on this site was saved by a newer version of the plugin. Update the plugin first.'=>'El menú de este sitio se guardó con una versión más reciente del plugin. Actualiza primero el plugin.','Another menu on this site already has the id of this menu.'=>'Otro menú de este sitio ya tiene el ID de este menú.','The option name "%s" is used by more than one menu in the file.'=>'El nombre de opción «%s» lo usa más de un menú en el archivo.','The field type "%s" is not available on this site. Activate the plugin that provides it.'=>'El tipo de campo «%s» no está disponible en este sitio. Activa el plugin que lo proporciona.','This is not a valid option name.'=>'No es un nombre de opción válido.','This option name is used by WordPress or another plugin.'=>'Este nombre de opción lo usa WordPress u otro plugin.','Something in this menu is not allowed.'=>'Algo de este menú no está permitido.','The name of this menu does not match what is in it.'=>'El nombre de este menú no coincide con su contenido.','Checked'=>'Marcada','Not checked'=>'No marcada','Media ID %s'=>'ID de medio %s','This import has expired. Choose the file again.'=>'Esta importación ha caducado. Vuelve a elegir el archivo.','Without its first page the menu "%s" would get the name of a menu that is on this site already. Import the first page too, or choose another page as the first.'=>'Sin su primera página, el menú «%s» tendría el nombre de un menú que ya está en este sitio. Importa también la primera página, o elige otra página como primera.','A choice was made for a menu that is not in the file.'=>'Se ha elegido algo para un menú que no está en el archivo.','A choice was made for a page or field that is not in the file.'=>'Se ha elegido algo para una página o un campo que no está en el archivo.','A menu needs at least one page.'=>'Un menú necesita al menos una página.','That cannot be done with the menu "%s".'=>'Eso no se puede hacer con el menú «%s».','That cannot be done with the option "%s".'=>'Eso no se puede hacer con la opción «%s».','A menu in the file could not be saved. Nothing was imported.'=>'No se ha podido guardar un menú del archivo. No se ha importado nada.','The value of "%s" was changed by its field type.'=>'Su tipo de campo ha cambiado el valor de «%s».','The file is too large to import.'=>'El archivo es demasiado grande para importarlo.','This is not a JSON file, or it is not valid UTF-8.'=>'No es un archivo JSON, o no es UTF-8 válido.','This file does not look like an export of Admin Options Pages.'=>'Este archivo no parece una exportación de Admin Options Pages.','This file has export format %1$d. This version of the plugin reads format %2$d. Update the plugin on this site and try again.'=>'Este archivo tiene el formato de exportación %1$d. Esta versión del plugin lee el formato %2$d. Actualiza el plugin en este sitio y vuelve a intentarlo.','%1$s must be of type %2$s.'=>'%1$s debe ser del tipo %2$s.','%s has a value that is not supported.'=>'%s tiene un valor que no es compatible.','%s has a value that is not allowed.'=>'%s tiene un valor que no está permitido.','%s does not have what it needs.'=>'A %s le falta lo que necesita.','%1$s is longer than %2$d characters.'=>'%1$s tiene más de %2$d caracteres.','%s is empty.'=>'%s está vacío.','%1$s has more than %2$d items.'=>'%1$s tiene más de %2$d elementos.','%s has no items.'=>'%s no tiene elementos.','%1$s has more than %2$d entries.'=>'%1$s tiene más de %2$d entradas.','%1$s misses "%2$s".'=>'A %1$s le falta «%2$s».','The file'=>'El archivo','Choose a file to import.'=>'Elige un archivo para importar.','The request is not complete.'=>'La petición no está completa.','The page is not valid.'=>'La página no es válida.','This page does not exist.'=>'Esta página no existe.','There are no pages to save.'=>'No hay páginas que guardar.','Every page needs a menu title.'=>'Cada página necesita un título de menú.','"%s" is not a valid option name.'=>'«%s» no es un nombre de opción válido.','Every field with an option needs an option name.'=>'Cada campo con una opción necesita un nombre de opción.','The option name "%s" is used more than once.'=>'El nombre de opción «%s» se usa más de una vez.','The option name "%s" is already in use.'=>'El nombre de opción «%s» ya está en uso.','This menu is already used by another options page.'=>'Otra página de opciones ya usa este menú.','The menu position is not valid.'=>'La posición del menú no es válida.','The menu title is not valid.'=>'El título del menú no es válido.','The menu icon is not valid.'=>'El icono del menú no es válido.','Select or upload a file'=>'Selecciona o sube un archivo','Use this file'=>'Usar este archivo','Allowed files'=>'Archivos permitidos','Select or upload image'=>'Selecciona o sube una imagen','Use this image'=>'Usar esta imagen','Icon'=>'Icono','Choose an icon'=>'Elige un icono','Search for an icon…'=>'Buscar un icono…','Nothing found.'=>'No se ha encontrado nada.','Add New Page'=>'Añadir página nueva','Menu Type'=>'Tipo de menú','Custom menu'=>'Menú propio','Existing menu'=>'Menú existente','Menu title'=>'Título del menú','Close settings'=>'Cerrar ajustes','Move left'=>'Mover a la izquierda','Move up'=>'Mover hacia arriba','Move right'=>'Mover a la derecha','Move down'=>'Mover hacia abajo','Drag to reorder'=>'Arrastrar para reordenar','Add block'=>'Añadir bloque','Value'=>'Valor','Label'=>'Etiqueta','Delete this row'=>'Borrar esta fila','Add a row'=>'Añadir una fila','Help'=>'Ayuda','Shortcode'=>'Shortcode','Copied!'=>'¡Copiado!','Copy'=>'Copiar','With get_option() the value is always available in PHP, also when this is off.'=>'Con get_option() el valor siempre está disponible en PHP, también cuando esto está desactivado.','Field'=>'Campo','This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.'=>'Este tipo de campo no está disponible. Activa el plugin que lo proporciona. No se ha borrado nada: el campo se guarda tal como está.','Options'=>'Opciones','Regular'=>'Normal','Small'=>'Pequeño','Large'=>'Grande','Standard'=>'Estándar',0=>'0',1=>'1',2=>'2','.jpeg .jpg'=>'.jpeg .jpg','.png'=>'.png','.gif'=>'.gif','.svg'=>'.svg','This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.'=>'Este sitio no permite subir archivos SVG. Un plugin como Safe SVG lo añade de forma segura.','.ico'=>'.ico','Full'=>'Completa','Basic'=>'Básica','.pdf'=>'.pdf','.doc'=>'.doc','.docx'=>'.docx','.xls'=>'.xls','.xlsx'=>'.xlsx','.csv'=>'.csv','.zip'=>'.zip','.txt'=>'.txt','Add a field'=>'Añadir un campo','Search…'=>'Buscar…','Options fields'=>'Campos de opciones','Static content'=>'Contenido estático','Menu page title'=>'Título de la página en el menú','Page title'=>'Título de la página','Page title on top'=>'Título de la página arriba','Show page with tab'=>'Mostrar la página con pestaña','User access level'=>'Nivel de acceso','Visit Page'=>'Ver página','Delete Page'=>'Borrar página','Saving failed.'=>'No se ha podido guardar.','At this moment there is no proper support for small/mobile screens.'=>'Por ahora las pantallas pequeñas y móviles no son totalmente compatibles.','We hope to fix this in a future version.'=>'Esperamos solucionarlo en una próxima versión.','The minimum required screen width is 1000px.'=>'El ancho mínimo de pantalla es de 1000px.','Close dialog'=>'Cerrar el diálogo','The menus could not be loaded.'=>'No se han podido cargar los menús.','Export'=>'Exportar','There\'s nothing to export.'=>'No hay nada que exportar.','Uncheck all'=>'Desmarcar todo','Check all'=>'Marcar todo','Export file'=>'Exportar archivo','New'=>'Nuevo','Already on this site, replaced when checked'=>'Ya está en este sitio, se reemplaza si se marca','Cannot be imported'=>'No se puede importar','Same value as on this site'=>'El mismo valor que en este sitio','Different value on this site, replaced when checked'=>'Valor distinto en este sitio, se reemplaza si se marca','Belongs to something else'=>'Pertenece a otra cosa','Menu'=>'Menú','The menu on this site is replaced by the one in the file, also when its fields are of another type. Options of fields that are not in the file any more are deleted.'=>'El menú de este sitio se reemplaza por el del archivo, aunque sus campos sean de otro tipo. Se borran las opciones de los campos que ya no están en el archivo.','(no title)'=>'(sin título)','Main page'=>'Página principal','Page'=>'Página','No value in the file'=>'Sin valor en el archivo','Field name:'=>'Nombre del campo:','Field label:'=>'Etiqueta del campo:','The field moves here from the menu "%s".'=>'El campo se mueve aquí desde el menú «%s».','Empty'=>'Vacío','Value in the file: %s'=>'Valor en el archivo: %s','%1$s and %2$s'=>'%1$s y %2$s','%s has been imported'=>'Se ha importado %s','%s have been imported'=>'Se han importado %s','%d menu has been imported'=>'Se ha importado %d menú' . "\0" . 'Se han importado %d menús','%s has been replaced'=>'Se ha reemplazado %s','%s have been replaced'=>'Se han reemplazado %s','%d menu has been replaced'=>'Se ha reemplazado %d menú' . "\0" . 'Se han reemplazado %d menús','The import is done.'=>'La importación ha terminado.',', with %d value'=>', con %d valor' . "\0" . ', con %d valores','Something went wrong. Nothing was imported.'=>'Algo ha fallado. No se ha importado nada.','Import selection'=>'Importar la selección','Choose another file'=>'Elegir otro archivo','Import'=>'Importar','Drop the JSON file here'=>'Suelta aquí el archivo JSON','Drop a JSON file here'=>'Suelta aquí un archivo JSON','or'=>'o','Select a file'=>'Seleccionar un archivo','Maximum file size: %s.'=>'Tamaño máximo de archivo: %s.','You see what would happen before anything is imported.'=>'Ves lo que pasaría antes de que se importe nada.','File: %s'=>'Archivo: %s','Import another file'=>'Importar otro archivo','Hide "Edit page" button'=>'Ocultar el botón «Editar página»','The setting could not be saved.'=>'No se ha podido guardar el ajuste.','Setting saved.'=>'Ajuste guardado.']];
     2return ['domain'=>'admin-options-pages','plural-forms'=>'nplurals=2; plural=(n != 1);','language'=>'es','project-id-version'=>'Admin Options Pages 1.0.0','pot-creation-date'=>'2026-10-09T10:01:38+00:00','po-revision-date'=>'2026-10-09T10:01:38+00:00','x-generator'=>'WP-CLI 2.11.0','messages'=>['Admin Options Pages'=>'Admin Options Pages','https://adminoptionspages.com'=>'https://adminoptionspages.com','Create and edit your own options pages with ease.'=>'Crea y edita fácilmente tus propias páginas de opciones.','Johannes van Poelgeest'=>'Johannes van Poelgeest','https://poolghost.com'=>'https://poolghost.com','Options Pages'=>'Páginas de opciones','All Options Pages'=>'Todas las páginas de opciones','Add new'=>'Añadir nueva','edit Page'=>'Editar página','What\'s new in Admin Options Pages 1.0'=>'Novedades de Admin Options Pages 1.0','What\'s new'=>'Novedades','Settings'=>'Ajustes','Import / Export'=>'Importar / exportar','Saved.'=>'Guardado.','Updated.'=>'Actualizado.','Pages deleted.'=>'Páginas borradas.','Page deleted.'=>'Página borrada.','You attempted to edit a menu that does not exist. Perhaps it was deleted?'=>'Has intentado editar un menú que no existe. ¿Quizá se ha borrado?','Go to all options pages'=>'Ir a todas las páginas de opciones','Menu not found'=>'Menú no encontrado','Global Settings'=>'Ajustes generales','Sorry, you are not allowed to export.'=>'No tienes permiso para exportar.','Creating options pages has never been easier.'=>'Crear páginas de opciones nunca ha sido tan fácil.','Documentation'=>'Documentación','love'=>'te encanta','five stars'=>'cinco estrellas','If you really %1$s this plugin, consider giving some %2$s to help make %3$s more known.'=>'Si de verdad %1$s este plugin, considera darle %2$s para que %3$s sea más conocido.','See what\'s new'=>'Ver las novedades','Admin Options Pages 1.0'=>'Admin Options Pages 1.0','Import and export with your data, your own field types and your values on your website.'=>'Importación y exportación con tus datos, tus propios tipos de campo y tus valores en tu web.','Welcome to Admin Options Pages 1.0'=>'Te damos la bienvenida a Admin Options Pages 1.0','This is the biggest update of the plugin so far. Menus now move to another site with all their values, so the options pages you built and filled locally go live in one file. You can add field types of your own, there are nine new built-in ones, and the values of your fields can be shown on your website without code. Your menus, pages, fields and values are all still here.'=>'Es la mayor actualización del plugin hasta ahora. Los menús pasan ahora a otro sitio con todos sus valores, así que las páginas de opciones que has creado y rellenado en local se publican en un solo archivo. Puedes añadir tus propios tipos de campo, hay nueve nuevos integrados, y los valores de tus campos se pueden mostrar en tu web sin código. Tus menús, páginas, campos y valores siguen todos aquí.','Import and export, with your data'=>'Importar y exportar, con tus datos','Build and fill your options pages locally, then take them live in one file.'=>'Crea y rellena tus páginas de opciones en local y publícalas después en un solo archivo.','Export the menus you choose together with the values of their fields, and import them on your live site, a staging site or your next project. No more typing the same settings twice.'=>'Exporta los menús que elijas junto con los valores de sus campos, e impórtalos en tu sitio en producción, un sitio de pruebas o tu próximo proyecto. Se acabó escribir dos veces los mismos ajustes.','Before anything changes you see what would happen, and you choose per menu, page, field and value. Nothing is replaced unless you choose it, and an import is all or nothing. Exports made with 0.9 can be imported too.'=>'Antes de que cambie nada, ves lo que pasaría, y eliges por menú, página, campo y valor. No se reemplaza nada a menos que lo elijas, y una importación se hace entera o no se hace. También se pueden importar las exportaciones de la 0.9.','The preview of an import, with a checkbox for every menu, page, field and value'=>'La vista previa de una importación, con una casilla para cada menú, página, campo y valor','An options page with a logo, a brand color and contact details'=>'Una página de opciones con un logotipo, un color de marca y datos de contacto','Nine new field types'=>'Nueve tipos de campo nuevos','Email, Link, Password, Date, Time, Date and time, Range, Button group and File.'=>'Correo electrónico, Enlace, Contraseña, Fecha, Hora, Fecha y hora, Rango, Grupo de botones y Archivo.','That makes 21 field types. Each one checks what is entered, and an image or file field only accepts the file types you choose, also when something is uploaded.'=>'Eso hace 21 tipos de campo. Cada uno comprueba lo que se introduce, y un campo de imagen o de archivo solo acepta los tipos de archivo que elijas, también al subir algo.','Your own field types'=>'Tus propios tipos de campo','Need a field that is not there? Add it yourself.'=>'¿Te falta un campo? Añádelo tú mismo.','Register a field type from your theme or plugin with one class: what the editor asks for, how the value is checked and stored, and how it shows on the options page and on your website. It appears in the field picker next to the built-in types, which use exactly the same API.'=>'Registra un tipo de campo desde tu tema o plugin con una sola clase: lo que pide el editor, cómo se comprueba y se guarda el valor, y cómo se muestra en la página de opciones y en tu web. Aparece en el selector de campos junto a los tipos integrados, que usan exactamente la misma API.','The Field Types API is stable from 1.0 on and follows semantic versioning, so your field types keep working with the next versions.'=>'La Field Types API es estable a partir de la 1.0 y sigue el versionado semántico, así que tus tipos de campo seguirán funcionando con las próximas versiones.','A paragraph connected to a field in the Attributes panel'=>'Un párrafo conectado a un campo en el panel Atributos','Your values on your website'=>'Tus valores en tu web','With a shortcode or a block, no code needed.'=>'Con un shortcode o un bloque, sin código.','Put a field in a post with [aop_option name="…"], or connect a paragraph, heading, button or image to it in the Attributes panel of the block editor. Change the value once, and it changes everywhere.'=>'Pon un campo en una entrada con [aop_option name="…"], o conéctale un párrafo, un encabezado, un botón o una imagen en el panel Atributos del editor de bloques. Cambia el valor una vez, y cambia en todas partes.','Switch on "Use in shortcode and blocks" for the fields you want to show. Fields made before 1.0 have it off, so nothing appears on your website by itself.'=>'Activa «Usar en shortcode y bloques» para los campos que quieras mostrar. En los campos creados antes de la 1.0 está desactivado, así que no aparece nada por sí solo en tu web.','Rewritten in React'=>'Reescrito en React','Under the hood the editor is rewritten in React, the WordPress way: with the components and the data store the block editor is made of.'=>'Por dentro, el editor está reescrito en React, al estilo de WordPress: con los componentes y el almacén de datos de los que está hecho el editor de bloques.','Change any saved value'=>'Cambiar cualquier valor guardado','Developers can change the value of any field before it is stored with the new filters aop_sanitized_option and aop_sanitized_option_{name}.'=>'Los desarrolladores pueden cambiar el valor de cualquier campo antes de que se guarde con los nuevos filtros aop_sanitized_option y aop_sanitized_option_{name}.','A safe upgrade'=>'Una actualización segura','Your pages are stored in a new format now. A copy in the old format is kept for 90 days.'=>'Tus páginas se guardan ahora en un formato nuevo. Se conserva una copia en el formato antiguo durante 90 días.','Requirements'=>'Requisitos','Admin Options Pages 1.0 needs WordPress 6.9 or later and PHP 8.1 or later.'=>'Admin Options Pages 1.0 necesita WordPress 6.9 o superior y PHP 8.1 o superior.','Go to your options pages'=>'Ir a tus páginas de opciones','Read the documentation'=>'Leer la documentación','media modal menuMenu'=>'Menú','Title'=>'Título','Position'=>'Posición','Pages'=>'Páginas','Dismiss this notice.'=>'Descartar este aviso.','Publish'=>'Publicar','Are you sure?'=>'¿Estás seguro?','Cancel'=>'Cancelar','Delete'=>'Borrar','Save'=>'Guardar','New Pages'=>'Páginas nuevas','Update'=>'Actualizar','Edit Pages'=>'Editar páginas','List View'=>'Vista de lista','Excerpt View'=>'Vista de extracto','No items found.'=>'No se han encontrado elementos.','Show more details'=>'Mostrar más detalles','%s item'=>'%s elemento' . "\0" . '%s elementos','First page'=>'Primera página','Previous page'=>'Página anterior','Current Page'=>'Página actual','paging%1$s of %2$s'=>'%1$s de %2$s','Next page'=>'Página siguiente','Last page'=>'Última página','Select All'=>'Seleccionar todo','Edit'=>'Editar','The link you followed has expired.'=>'El enlace que has seguido ha caducado.','The field type "%1$s" of the option "%2$s" is not available, so the field is not shown. Activate the plugin that provides it. Nothing was deleted.'=>'El tipo de campo «%1$s» de la opción «%2$s» no está disponible, así que el campo no se muestra. Activa el plugin que lo proporciona. No se ha borrado nada.','%s is not a field type.'=>'%s no es un tipo de campo.','The field type "%1$s" is already registered; %2$s was ignored.'=>'El tipo de campo «%1$s» ya está registrado; se ha ignorado %2$s.','%1$s is not the class of the field type "%2$s".'=>'%1$s no es la clase del tipo de campo «%2$s».','Field label'=>'Etiqueta del campo','Field name'=>'Nombre del campo','Autoload'=>'Carga automática','Use in shortcode and blocks'=>'Usar en shortcode y bloques','Additional CSS Class(es)'=>'Clase(s) CSS adicional(es)','Description'=>'Descripción','Default value'=>'Valor por defecto','Button group'=>'Grupo de botones','Field values'=>'Valores del campo','Checkbox'=>'Casilla de verificación','Text when checked'=>'Texto si está marcada','Text when not checked'=>'Texto si no está marcada','Text after input field'=>'Texto después del campo','Color picker'=>'Selector de color','Default color (HEX)'=>'Color por defecto (HEX)','Date'=>'Fecha','Field style'=>'Estilo del campo','Date and time'=>'Fecha y hora','Email'=>'Correo electrónico','Placeholder'=>'Texto de ejemplo','File'=>'Archivo','Allowed file types'=>'Tipos de archivo permitidos','Upload'=>'Subir','Horizontal rule'=>'Línea horizontal','Image'=>'Imagen','Allowed extensions'=>'Extensiones permitidas','Link'=>'Enlace','Number'=>'Número','Minimum value'=>'Valor mínimo','Maximum value'=>'Valor máximo','Decimals'=>'Decimales','Password'=>'Contraseña','Radio buttons'=>'Botones de opción','Range'=>'Rango','Select'=>'Desplegable','Textarea'=>'Área de texto','Description italic'=>'Descripción en cursiva','Text field'=>'Campo de texto','Formatted as code'=>'Con formato de código','Time'=>'Hora','Wysiwyg editor'=>'Editor WYSIWYG','Show media upload buttons'=>'Mostrar los botones para subir medios','Toolbar'=>'Barra de herramientas','The value on this settings field is not allowed.'=>'El valor de este campo de ajustes no está permitido.','Some of the value on this settings field is not allowed.'=>'Parte del valor de este campo de ajustes no está permitida.','This is not a correct formatted Hex color.'=>'No es un color hexadecimal con un formato correcto.','the shortcode has no name="..."'=>'el shortcode no tiene name="..."','"Use in shortcode and blocks" is off for this field, or its type cannot be shown'=>'«Usar en shortcode y bloques» está desactivado para este campo, o su tipo no se puede mostrar','this is not an option of Admin Options Pages'=>'no es una opción de Admin Options Pages','The database tables of this site cannot roll back. If something goes wrong halfway, part of the import may remain.'=>'Las tablas de la base de datos de este sitio no pueden deshacer cambios. Si algo falla a mitad, puede quedar parte de la importación.','This menu is in the file more than once.'=>'Este menú está más de una vez en el archivo.','The menu on this site was saved by a newer version of the plugin. Update the plugin first.'=>'El menú de este sitio se guardó con una versión más reciente del plugin. Actualiza primero el plugin.','Another menu on this site already has the id of this menu.'=>'Otro menú de este sitio ya tiene el ID de este menú.','The option name "%s" is used by more than one menu in the file.'=>'El nombre de opción «%s» lo usa más de un menú en el archivo.','The field type "%s" is not available on this site. Activate the plugin that provides it.'=>'El tipo de campo «%s» no está disponible en este sitio. Activa el plugin que lo proporciona.','This is not a valid option name.'=>'No es un nombre de opción válido.','This option name is used by WordPress or another plugin.'=>'Este nombre de opción lo usa WordPress u otro plugin.','Something in this menu is not allowed.'=>'Algo de este menú no está permitido.','The name of this menu does not match what is in it.'=>'El nombre de este menú no coincide con su contenido.','Checked'=>'Marcada','Not checked'=>'No marcada','Media ID %s'=>'ID de medio %s','This import has expired. Choose the file again.'=>'Esta importación ha caducado. Vuelve a elegir el archivo.','Without its first page the menu "%s" would get the name of a menu that is on this site already. Import the first page too, or choose another page as the first.'=>'Sin su primera página, el menú «%s» tendría el nombre de un menú que ya está en este sitio. Importa también la primera página, o elige otra página como primera.','A choice was made for a menu that is not in the file.'=>'Se ha elegido algo para un menú que no está en el archivo.','A choice was made for a page or field that is not in the file.'=>'Se ha elegido algo para una página o un campo que no está en el archivo.','A menu needs at least one page.'=>'Un menú necesita al menos una página.','That cannot be done with the menu "%s".'=>'Eso no se puede hacer con el menú «%s».','That cannot be done with the option "%s".'=>'Eso no se puede hacer con la opción «%s».','A menu in the file could not be saved. Nothing was imported.'=>'No se ha podido guardar un menú del archivo. No se ha importado nada.','The value of "%s" was changed by its field type.'=>'Su tipo de campo ha cambiado el valor de «%s».','The file is too large to import.'=>'El archivo es demasiado grande para importarlo.','This is not a JSON file, or it is not valid UTF-8.'=>'No es un archivo JSON, o no es UTF-8 válido.','This file does not look like an export of Admin Options Pages.'=>'Este archivo no parece una exportación de Admin Options Pages.','This file has export format %1$d. This version of the plugin reads format %2$d. Update the plugin on this site and try again.'=>'Este archivo tiene el formato de exportación %1$d. Esta versión del plugin lee el formato %2$d. Actualiza el plugin en este sitio y vuelve a intentarlo.','%1$s must be of type %2$s.'=>'%1$s debe ser del tipo %2$s.','%s has a value that is not supported.'=>'%s tiene un valor que no es compatible.','%s has a value that is not allowed.'=>'%s tiene un valor que no está permitido.','%s does not have what it needs.'=>'A %s le falta lo que necesita.','%1$s is longer than %2$d characters.'=>'%1$s tiene más de %2$d caracteres.','%s is empty.'=>'%s está vacío.','%1$s has more than %2$d items.'=>'%1$s tiene más de %2$d elementos.','%s has no items.'=>'%s no tiene elementos.','%1$s has more than %2$d entries.'=>'%1$s tiene más de %2$d entradas.','%1$s misses "%2$s".'=>'A %1$s le falta «%2$s».','The file'=>'El archivo','Choose a file to import.'=>'Elige un archivo para importar.','The request is not complete.'=>'La petición no está completa.','The page is not valid.'=>'La página no es válida.','This page does not exist.'=>'Esta página no existe.','There are no pages to save.'=>'No hay páginas que guardar.','Every page needs a menu title.'=>'Cada página necesita un título de menú.','"%s" is not a valid option name.'=>'«%s» no es un nombre de opción válido.','Every field with an option needs an option name.'=>'Cada campo con una opción necesita un nombre de opción.','The option name "%s" is used more than once.'=>'El nombre de opción «%s» se usa más de una vez.','The option name "%s" is already in use.'=>'El nombre de opción «%s» ya está en uso.','This menu is already used by another options page.'=>'Otra página de opciones ya usa este menú.','The menu position is not valid.'=>'La posición del menú no es válida.','The menu title is not valid.'=>'El título del menú no es válido.','The menu icon is not valid.'=>'El icono del menú no es válido.','Select or upload a file'=>'Selecciona o sube un archivo','Use this file'=>'Usar este archivo','Allowed files'=>'Archivos permitidos','Select or upload image'=>'Selecciona o sube una imagen','Use this image'=>'Usar esta imagen','Icon'=>'Icono','Choose an icon'=>'Elige un icono','Search for an icon…'=>'Buscar un icono…','Nothing found.'=>'No se ha encontrado nada.','Add New Page'=>'Añadir página nueva','Menu Type'=>'Tipo de menú','Custom menu'=>'Menú propio','Existing menu'=>'Menú existente','Menu title'=>'Título del menú','Close settings'=>'Cerrar ajustes','Move left'=>'Mover a la izquierda','Move up'=>'Mover hacia arriba','Move right'=>'Mover a la derecha','Move down'=>'Mover hacia abajo','Drag to reorder'=>'Arrastrar para reordenar','Add block'=>'Añadir bloque','Value'=>'Valor','Label'=>'Etiqueta','Delete this row'=>'Borrar esta fila','Add a row'=>'Añadir una fila','Help'=>'Ayuda','Shortcode'=>'Shortcode','Copied!'=>'¡Copiado!','Copy'=>'Copiar','With get_option() the value is always available in PHP, also when this is off.'=>'Con get_option() el valor siempre está disponible en PHP, también cuando esto está desactivado.','Field'=>'Campo','This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.'=>'Este tipo de campo no está disponible. Activa el plugin que lo proporciona. No se ha borrado nada: el campo se guarda tal como está.','Options'=>'Opciones','Regular'=>'Normal','Small'=>'Pequeño','Large'=>'Grande','Standard'=>'Estándar',0=>'0',1=>'1',2=>'2','.jpeg .jpg'=>'.jpeg .jpg','.png'=>'.png','.gif'=>'.gif','.svg'=>'.svg','This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.'=>'Este sitio no permite subir archivos SVG. Un plugin como Safe SVG lo añade de forma segura.','.ico'=>'.ico','Full'=>'Completa','Basic'=>'Básica','.pdf'=>'.pdf','.doc'=>'.doc','.docx'=>'.docx','.xls'=>'.xls','.xlsx'=>'.xlsx','.csv'=>'.csv','.zip'=>'.zip','.txt'=>'.txt','Add a field'=>'Añadir un campo','Search…'=>'Buscar…','Options fields'=>'Campos de opciones','Static content'=>'Contenido estático','Menu page title'=>'Título de la página en el menú','Page title'=>'Título de la página','Page title on top'=>'Título de la página arriba','Show page with tab'=>'Mostrar la página con pestaña','Visit Page'=>'Ver página','Delete Page'=>'Borrar página','Saving failed.'=>'No se ha podido guardar.','At this moment there is no proper support for small/mobile screens.'=>'Por ahora las pantallas pequeñas y móviles no son totalmente compatibles.','We hope to fix this in a future version.'=>'Esperamos solucionarlo en una próxima versión.','The minimum required screen width is 1000px.'=>'El ancho mínimo de pantalla es de 1000px.','Close dialog'=>'Cerrar el diálogo','The menus could not be loaded.'=>'No se han podido cargar los menús.','Export'=>'Exportar','There\'s nothing to export.'=>'No hay nada que exportar.','Uncheck all'=>'Desmarcar todo','Check all'=>'Marcar todo','Export file'=>'Exportar archivo','New'=>'Nuevo','Already on this site, replaced when checked'=>'Ya está en este sitio, se reemplaza si se marca','Cannot be imported'=>'No se puede importar','Same value as on this site'=>'El mismo valor que en este sitio','Different value on this site, replaced when checked'=>'Valor distinto en este sitio, se reemplaza si se marca','Belongs to something else'=>'Pertenece a otra cosa','Menu'=>'Menú','The menu on this site is replaced by the one in the file, also when its fields are of another type. Options of fields that are not in the file any more are deleted.'=>'El menú de este sitio se reemplaza por el del archivo, aunque sus campos sean de otro tipo. Se borran las opciones de los campos que ya no están en el archivo.','(no title)'=>'(sin título)','Main page'=>'Página principal','Page'=>'Página','No value in the file'=>'Sin valor en el archivo','Field name:'=>'Nombre del campo:','Field label:'=>'Etiqueta del campo:','The field moves here from the menu "%s".'=>'El campo se mueve aquí desde el menú «%s».','Empty'=>'Vacío','Value in the file: %s'=>'Valor en el archivo: %s','%1$s and %2$s'=>'%1$s y %2$s','%s has been imported'=>'Se ha importado %s','%s have been imported'=>'Se han importado %s','%d menu has been imported'=>'Se ha importado %d menú' . "\0" . 'Se han importado %d menús','%s has been replaced'=>'Se ha reemplazado %s','%s have been replaced'=>'Se han reemplazado %s','%d menu has been replaced'=>'Se ha reemplazado %d menú' . "\0" . 'Se han reemplazado %d menús','The import is done.'=>'La importación ha terminado.',', with %d value'=>', con %d valor' . "\0" . ', con %d valores','Something went wrong. Nothing was imported.'=>'Algo ha fallado. No se ha importado nada.','Import selection'=>'Importar la selección','Choose another file'=>'Elegir otro archivo','Import'=>'Importar','Drop the JSON file here'=>'Suelta aquí el archivo JSON','Drop a JSON file here'=>'Suelta aquí un archivo JSON','or'=>'o','Select a file'=>'Seleccionar un archivo','Maximum file size: %s.'=>'Tamaño máximo de archivo: %s.','You see what would happen before anything is imported.'=>'Ves lo que pasaría antes de que se importe nada.','File: %s'=>'Archivo: %s','Import another file'=>'Importar otro archivo','Hide "Edit page" button'=>'Ocultar el botón «Editar página»','The setting could not be saved.'=>'No se ha podido guardar el ajuste.','Setting saved.'=>'Ajuste guardado.','The role "%1$s" of the page "%2$s" does not exist on this site. Until it does, users with that role cannot open the page.'=>'El rol «%1$s» de la página «%2$s» no existe en este sitio. Hasta que exista, los usuarios con ese rol no pueden abrir la página.','%s has characters that are not allowed.'=>'%s tiene caracteres que no están permitidos.','%s (no longer available)'=>'%s (ya no está disponible)','%1$s (%2$d user)'=>'%1$s (%2$d usuario)' . "\0" . '%1$s (%2$d usuarios)','Administrator'=>'Administrador','Who can edit'=>'Quién puede editar','Administrator + %d other'=>'Administrador + %d más' . "\0" . 'Administrador + %d más','Administrators always have access.'=>'Los administradores siempre tienen acceso.','Users with this role cannot open the dashboard.'=>'Los usuarios con este rol no pueden abrir el escritorio.','Done'=>'Hecho','Admin Options Pages 1.1 is here.'=>'Ya está aquí Admin Options Pages 1.1.','You now choose per page which roles can edit it. Have a look at who can edit your pages.'=>'Ahora eliges por página qué roles pueden editarla. Echa un vistazo a quién puede editar tus páginas.','What is new in 1.1'=>'Novedades de la 1.1','Admin Options Pages 1.1'=>'Admin Options Pages 1.1','Choose who can edit each page.'=>'Elige quién puede editar cada página.','Welcome to Admin Options Pages 1.1'=>'Te damos la bienvenida a Admin Options Pages 1.1','Tick the roles that may edit a page.'=>'Marca los roles que pueden editar una página.','Open a page in the editor and click the button next to "Who can edit". Every role of your site is there, also the roles of other plugins and the roles you made yourself. Users with a ticked role see the page in their menu and can save it; nobody else can.'=>'Abre una página en el editor y haz clic en el botón junto a «Quién puede editar». Están todos los roles de tu sitio, también los de otros plugins y los que has creado tú. Los usuarios con un rol marcado ven la página en su menú y pueden guardarla; nadie más puede.','Administrators can always open every page, and only administrators can build and change the pages themselves.'=>'Los administradores siempre pueden abrir cualquier página, y solo los administradores pueden crear y cambiar las páginas en sí.','The dialog "Who can edit" with a checkbox for every role of the site'=>'La ventana «Quién puede editar» con una casilla para cada rol del sitio','What happens to your pages'=>'Qué pasa con tus páginas','Nothing changes until you save a page again. A page that was set to Editor opens in the editor with the roles ticked that can edit it now: usually Editor, and with WooCommerce also Shop manager. Save the page to keep it that way, or change the roles first.'=>'Nada cambia hasta que vuelvas a guardar una página. Una página que estaba en Editor se abre en el editor con marcados los roles que pueden editarla ahora: normalmente Editor, y con WooCommerce también Gestor de la tienda. Guarda la página para mantenerlo así, o cambia antes los roles.','From then on the ticked roles decide, not what a role may do elsewhere on the site. Did someone get access without one of these roles? Tick a role they have, or give them access to that page with a plugin that manages roles.'=>'A partir de entonces deciden los roles marcados, no lo que un rol puede hacer en otras partes del sitio. ¿Alguien tenía acceso sin uno de estos roles? Marca un rol que tenga, o dale acceso a esa página con un plugin que gestione roles.','One user, one page'=>'Un usuario, una página','With a plugin that manages roles, such as Members or User Role Editor, you can give a single user access to a single page: every page is listed there under Admin Options Pages.'=>'Con un plugin que gestiona roles, como Members o User Role Editor, puedes dar a un solo usuario acceso a una sola página: cada página aparece allí bajo Admin Options Pages.','Roles move with your pages'=>'Los roles viajan con tus páginas','An export takes the roles of every page with it. When a role does not exist on the site you import to, the preview tells you; the page is imported all the same.'=>'Una exportación se lleva los roles de cada página. Si un rol no existe en el sitio al que importas, la vista previa te lo dice; la página se importa igualmente.','No dead ends'=>'Sin callejones sin salida','The editor tells you when a ticked role cannot open the dashboard at all, such as the Customer role of WooCommerce.'=>'El editor te avisa cuando un rol marcado no puede abrir el escritorio, como el rol Cliente de WooCommerce.','Admin Options Pages 1.1 needs WordPress 6.9 or later and PHP 8.1 or later, like 1.0.'=>'Admin Options Pages 1.1 necesita WordPress 6.9 o posterior y PHP 8.1 o posterior, igual que la 1.0.','What was new in 1.0'=>'Novedades de la 1.0','Your clients and colleagues now get exactly the pages they need. Choose the right roles for each page: Editor, Shop manager, Author, or a role you made yourself.'=>'Tus clientes y colegas ahora tienen exactamente las páginas que necesitan. Elige los roles adecuados para cada página: Editor, Gestor de la tienda, Autor o un rol que hayas creado tú.']];
  • admin-options-pages/trunk/languages/admin-options-pages-es_ES.po

    r3736451 r3750608  
    11msgid ""
    2 msgstr "Project-Id-Version: Admin Options Pages 1.0.0\nReport-Msgid-Bugs-To: https://github.com/poolghost/adminoptionspages-issues/issues\nLast-Translator: Automatically generated\nLanguage-Team: none\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nPOT-Creation-Date: 2026-10-09T10:01:38+00:00\nPO-Revision-Date: 2026-10-09T10:01:38+00:00\nLanguage: es\nX-Generator: WP-CLI 2.11.0\nX-Domain: admin-options-pages\nPlural-Forms: nplurals=2; plural=(n != 1);\n"
     2msgstr ""
     3"Project-Id-Version: Admin Options Pages 1.0.0\n"
     4"Report-Msgid-Bugs-To: https://github.com/poolghost/adminoptionspages-issues/issues\n"
     5"Last-Translator: Automatically generated\n"
     6"Language-Team: none\n"
     7"MIME-Version: 1.0\n"
     8"Content-Type: text/plain; charset=UTF-8\n"
     9"Content-Transfer-Encoding: 8bit\n"
     10"POT-Creation-Date: 2026-10-09T10:01:38+00:00\n"
     11"PO-Revision-Date: 2026-10-09T10:01:38+00:00\n"
     12"Language: es\n"
     13"X-Generator: WP-CLI 2.11.0\n"
     14"X-Domain: admin-options-pages\n"
     15"Plural-Forms: nplurals=2; plural=(n != 1);\n"
    316
    417#. Plugin Name of the plugin
    … …  
    7184
    7285#: App/Admin/AdminPages/AdminPages.php:207
    73 #: App/Admin/Input.php:61
     86#: App/Admin/Input.php:62
    7487msgid "Updated."
    7588msgstr "Actualizado."
    … …  
    126139msgstr "Si de verdad %1$s este plugin, considera darle %2$s para que %3$s sea más conocido."
    127140
    128 #: App/Admin/AdminPages/SubpageWhatsNew.php:93
    129 msgid "Admin Options Pages 1.0 is here."
    130 msgstr "Ya está aquí Admin Options Pages 1.0."
    131 
    132 #: App/Admin/AdminPages/SubpageWhatsNew.php:94
    133 msgid "Import and export with your data, your own field types, nine new field types and your values on your website."
    134 msgstr "Importación y exportación con tus datos, tus propios tipos de campo, nueve tipos de campo nuevos y tus valores en tu web."
    135 
    136 #: App/Admin/AdminPages/SubpageWhatsNew.php:96
     141#: App/Admin/AdminPages/SubpageWhatsNew.php:123
    137142msgid "See what's new"
    138143msgstr "Ver las novedades"
    139144
    140 #: App/Admin/AdminPages/views/whats-new.php:19
     145#: App/Admin/AdminPages/views/whats-new-1.0.php:20
    141146msgid "Admin Options Pages 1.0"
    142147msgstr "Admin Options Pages 1.0"
    143148
    144 #: App/Admin/AdminPages/views/whats-new.php:21
     149#: App/Admin/AdminPages/views/whats-new-1.0.php:22
    145150msgid "Import and export with your data, your own field types and your values on your website."
    146151msgstr "Importación y exportación con tus datos, tus propios tipos de campo y tus valores en tu web."
    147152
    148 #: App/Admin/AdminPages/views/whats-new.php:26
     153#: App/Admin/AdminPages/views/whats-new-1.0.php:27
    149154msgid "Welcome to Admin Options Pages 1.0"
    150155msgstr "Te damos la bienvenida a Admin Options Pages 1.0"
    151156
    152 #: App/Admin/AdminPages/views/whats-new.php:27
     157#: App/Admin/AdminPages/views/whats-new-1.0.php:28
    153158msgid "This is the biggest update of the plugin so far. Menus now move to another site with all their values, so the options pages you built and filled locally go live in one file. You can add field types of your own, there are nine new built-in ones, and the values of your fields can be shown on your website without code. Your menus, pages, fields and values are all still here."
    154159msgstr "Es la mayor actualización del plugin hasta ahora. Los menús pasan ahora a otro sitio con todos sus valores, así que las páginas de opciones que has creado y rellenado en local se publican en un solo archivo. Puedes añadir tus propios tipos de campo, hay nueve nuevos integrados, y los valores de tus campos se pueden mostrar en tu web sin código. Tus menús, páginas, campos y valores siguen todos aquí."
    155160
    156 #: App/Admin/AdminPages/views/whats-new.php:33
     161#: App/Admin/AdminPages/views/whats-new-1.0.php:34
    157162msgid "Import and export, with your data"
    158163msgstr "Importar y exportar, con tus datos"
    159164
    160 #: App/Admin/AdminPages/views/whats-new.php:35
     165#: App/Admin/AdminPages/views/whats-new-1.0.php:36
    161166msgid "Build and fill your options pages locally, then take them live in one file."
    162167msgstr "Crea y rellena tus páginas de opciones en local y publícalas después en un solo archivo."
    163168
    164 #: App/Admin/AdminPages/views/whats-new.php:36
     169#: App/Admin/AdminPages/views/whats-new-1.0.php:37
    165170msgid "Export the menus you choose together with the values of their fields, and import them on your live site, a staging site or your next project. No more typing the same settings twice."
    166171msgstr "Exporta los menús que elijas junto con los valores de sus campos, e impórtalos en tu sitio en producción, un sitio de pruebas o tu próximo proyecto. Se acabó escribir dos veces los mismos ajustes."
    167172
    168 #: App/Admin/AdminPages/views/whats-new.php:38
     173#: App/Admin/AdminPages/views/whats-new-1.0.php:39
    169174msgid "Before anything changes you see what would happen, and you choose per menu, page, field and value. Nothing is replaced unless you choose it, and an import is all or nothing. Exports made with 0.9 can be imported too."
    170175msgstr "Antes de que cambie nada, ves lo que pasaría, y eliges por menú, página, campo y valor. No se reemplaza nada a menos que lo elijas, y una importación se hace entera o no se hace. También se pueden importar las exportaciones de la 0.9."
    171176
    172 #: App/Admin/AdminPages/views/whats-new.php:41
     177#: App/Admin/AdminPages/views/whats-new-1.0.php:42
    173178msgid "The preview of an import, with a checkbox for every menu, page, field and value"
    174179msgstr "La vista previa de una importación, con una casilla para cada menú, página, campo y valor"
    175180
    176 #: App/Admin/AdminPages/views/whats-new.php:47
     181#: App/Admin/AdminPages/views/whats-new-1.0.php:48
    177182msgid "An options page with a logo, a brand color and contact details"
    178183msgstr "Una página de opciones con un logotipo, un color de marca y datos de contacto"
    179184
    180 #: App/Admin/AdminPages/views/whats-new.php:50
     185#: App/Admin/AdminPages/views/whats-new-1.0.php:51
    181186msgid "Nine new field types"
    182187msgstr "Nueve tipos de campo nuevos"
    183188
    184 #: App/Admin/AdminPages/views/whats-new.php:52
     189#: App/Admin/AdminPages/views/whats-new-1.0.php:53
    185190msgid "Email, Link, Password, Date, Time, Date and time, Range, Button group and File."
    186191msgstr "Correo electrónico, Enlace, Contraseña, Fecha, Hora, Fecha y hora, Rango, Grupo de botones y Archivo."
    187192
    188 #: App/Admin/AdminPages/views/whats-new.php:53
     193#: App/Admin/AdminPages/views/whats-new-1.0.php:54
    189194msgid "That makes 21 field types. Each one checks what is entered, and an image or file field only accepts the file types you choose, also when something is uploaded."
    190195msgstr "Eso hace 21 tipos de campo. Cada uno comprueba lo que se introduce, y un campo de imagen o de archivo solo acepta los tipos de archivo que elijas, también al subir algo."
    191196
    192 #: App/Admin/AdminPages/views/whats-new.php:60
     197#: App/Admin/AdminPages/views/whats-new-1.0.php:61
    193198msgid "Your own field types"
    194199msgstr "Tus propios tipos de campo"
    195200
    196 #: App/Admin/AdminPages/views/whats-new.php:62
     201#: App/Admin/AdminPages/views/whats-new-1.0.php:63
    197202msgid "Need a field that is not there? Add it yourself."
    198203msgstr "¿Te falta un campo? Añádelo tú mismo."
    199204
    200 #: App/Admin/AdminPages/views/whats-new.php:63
     205#: App/Admin/AdminPages/views/whats-new-1.0.php:64
    201206msgid "Register a field type from your theme or plugin with one class: what the editor asks for, how the value is checked and stored, and how it shows on the options page and on your website. It appears in the field picker next to the built-in types, which use exactly the same API."
    202207msgstr "Registra un tipo de campo desde tu tema o plugin con una sola clase: lo que pide el editor, cómo se comprueba y se guarda el valor, y cómo se muestra en la página de opciones y en tu web. Aparece en el selector de campos junto a los tipos integrados, que usan exactamente la misma API."
    203208
    204 #: App/Admin/AdminPages/views/whats-new.php:65
     209#: App/Admin/AdminPages/views/whats-new-1.0.php:66
    205210msgid "The Field Types API is stable from 1.0 on and follows semantic versioning, so your field types keep working with the next versions."
    206211msgstr "La Field Types API es estable a partir de la 1.0 y sigue el versionado semántico, así que tus tipos de campo seguirán funcionando con las próximas versiones."
    207212
    208 #: App/Admin/AdminPages/views/whats-new.php:86
     213#: App/Admin/AdminPages/views/whats-new-1.0.php:87
    209214msgid "A paragraph connected to a field in the Attributes panel"
    210215msgstr "Un párrafo conectado a un campo en el panel Atributos"
    211216
    212 #: App/Admin/AdminPages/views/whats-new.php:89
     217#: App/Admin/AdminPages/views/whats-new-1.0.php:90
    213218msgid "Your values on your website"
    214219msgstr "Tus valores en tu web"
    215220
    216 #: App/Admin/AdminPages/views/whats-new.php:91
     221#: App/Admin/AdminPages/views/whats-new-1.0.php:92
    217222msgid "With a shortcode or a block, no code needed."
    218223msgstr "Con un shortcode o un bloque, sin código."
    219224
    220 #: App/Admin/AdminPages/views/whats-new.php:92
     225#: App/Admin/AdminPages/views/whats-new-1.0.php:93
    221226msgid "Put a field in a post with [aop_option name=\"…\"], or connect a paragraph, heading, button or image to it in the Attributes panel of the block editor. Change the value once, and it changes everywhere."
    222227msgstr "Pon un campo en una entrada con [aop_option name=\"…\"], o conéctale un párrafo, un encabezado, un botón o una imagen en el panel Atributos del editor de bloques. Cambia el valor una vez, y cambia en todas partes."
    223228
    224 #: App/Admin/AdminPages/views/whats-new.php:94
     229#: App/Admin/AdminPages/views/whats-new-1.0.php:95
    225230msgid "Switch on \"Use in shortcode and blocks\" for the fields you want to show. Fields made before 1.0 have it off, so nothing appears on your website by itself."
    226231msgstr "Activa «Usar en shortcode y bloques» para los campos que quieras mostrar. En los campos creados antes de la 1.0 está desactivado, así que no aparece nada por sí solo en tu web."
    227232
    228 #: App/Admin/AdminPages/views/whats-new.php:100
     233#: App/Admin/AdminPages/views/whats-new-1.0.php:101
    229234msgid "Rewritten in React"
    230235msgstr "Reescrito en React"
    231236
    232 #: App/Admin/AdminPages/views/whats-new.php:101
     237#: App/Admin/AdminPages/views/whats-new-1.0.php:102
    233238msgid "Under the hood the editor is rewritten in React, the WordPress way: with the components and the data store the block editor is made of."
    234239msgstr "Por dentro, el editor está reescrito en React, al estilo de WordPress: con los componentes y el almacén de datos de los que está hecho el editor de bloques."
    235240
    236 #: App/Admin/AdminPages/views/whats-new.php:104
     241#: App/Admin/AdminPages/views/whats-new-1.0.php:105
    237242msgid "Change any saved value"
    238243msgstr "Cambiar cualquier valor guardado"
    239244
    240 #: App/Admin/AdminPages/views/whats-new.php:105
     245#: App/Admin/AdminPages/views/whats-new-1.0.php:106
    241246msgid "Developers can change the value of any field before it is stored with the new filters aop_sanitized_option and aop_sanitized_option_{name}."
    242247msgstr "Los desarrolladores pueden cambiar el valor de cualquier campo antes de que se guarde con los nuevos filtros aop_sanitized_option y aop_sanitized_option_{name}."
    243248
    244 #: App/Admin/AdminPages/views/whats-new.php:108
     249#: App/Admin/AdminPages/views/whats-new-1.0.php:109
    245250msgid "A safe upgrade"
    246251msgstr "Una actualización segura"
    247252
    248 #: App/Admin/AdminPages/views/whats-new.php:109
     253#: App/Admin/AdminPages/views/whats-new-1.0.php:110
    249254msgid "Your pages are stored in a new format now. A copy in the old format is kept for 90 days."
    250255msgstr "Tus páginas se guardan ahora en un formato nuevo. Se conserva una copia en el formato antiguo durante 90 días."
    251256
    252 #: App/Admin/AdminPages/views/whats-new.php:115
     257#: App/Admin/AdminPages/views/whats-new-1.0.php:116
     258#: App/Admin/AdminPages/views/whats-new.php:71
    253259msgid "Requirements"
    254260msgstr "Requisitos"
    255261
    256 #: App/Admin/AdminPages/views/whats-new.php:116
     262#: App/Admin/AdminPages/views/whats-new-1.0.php:117
    257263msgid "Admin Options Pages 1.0 needs WordPress 6.9 or later and PHP 8.1 or later."
    258264msgstr "Admin Options Pages 1.0 necesita WordPress 6.9 o superior y PHP 8.1 o superior."
    259265
    260 #: App/Admin/AdminPages/views/whats-new.php:118
     266#: App/Admin/AdminPages/views/whats-new-1.0.php:119
     267#: App/Admin/AdminPages/views/whats-new.php:74
    261268msgid "Go to your options pages"
    262269msgstr "Ir a tus páginas de opciones"
    263270
    264 #: App/Admin/AdminPages/views/whats-new.php:119
     271#: App/Admin/AdminPages/views/whats-new-1.0.php:120
     272#: App/Admin/AdminPages/views/whats-new.php:75
    265273msgid "Read the documentation"
    266274msgstr "Leer la documentación"
    … …  
    275283#: App/Fields/Types/Subtitle.php:38
    276284#: includes/build/editor.js:1
     285#: includes/build/editor.js:4
    277286msgid "Title"
    278287msgstr "Título"
    … …  
    280289#: App/Admin/ListTable.php:41
    281290#: includes/build/editor.js:1
     291#: includes/build/editor.js:4
    282292msgid "Position"
    283293msgstr "Posición"
    … …  
    301311
    302312#: App/Admin/Text.php:14
    303 #: App/Admin/Text.php:32
     313#: App/Admin/Text.php:28
    304314#: includes/build/editor.js:1
    305315msgid "Cancel"
    … …  
    307317
    308318#: App/Admin/Text.php:15
     319#: App/Admin/Text.php:25
    309320#: App/Admin/Text.php:29
    310 #: App/Admin/Text.php:33
    311321#: App/Fields/Types/FileField.php:165
    312322#: App/Fields/Types/Image.php:158
    … …  
    315325msgstr "Borrar"
    316326
    317 #: App/Admin/Text.php:18
    318 msgctxt "User role"
    319 msgid "Administrator"
    320 msgstr "Administrador"
    321 
    322 #: App/Admin/Text.php:19
    323 msgctxt "User role"
    324 msgid "Editor"
    325 msgstr "Editor"
    326 
    327 #: App/Admin/Text.php:24
     327#: App/Admin/Text.php:20
    328328msgid "Save"
    329329msgstr "Guardar"
    330330
    331 #: App/Admin/Text.php:25
     331#: App/Admin/Text.php:21
    332332msgid "New Pages"
    333333msgstr "Páginas nuevas"
    334334
    335 #: App/Admin/Text.php:28
     335#: App/Admin/Text.php:24
    336336msgid "Update"
    337337msgstr "Actualizar"
    338338
    339 #: App/Admin/Text.php:30
     339#: App/Admin/Text.php:26
    340340msgid "Edit Pages"
    341341msgstr "Editar páginas"
    … …  
    400400msgstr "Editar"
    401401
    402 #: App/Data.php:651
     402#: App/Data.php:653
    403403msgid "The link you followed has expired."
    404404msgstr "El enlace que has seguido ha caducado."
    405405
    406406#. translators: 1: a field type, 2: an option name
    407 #: App/Fields/FieldManager.php:164
     407#: App/Fields/FieldManager.php:171
    408408msgid "The field type \"%1$s\" of the option \"%2$s\" is not available, so the field is not shown. Activate the plugin that provides it. Nothing was deleted."
    409409msgstr "El tipo de campo «%1$s» de la opción «%2$s» no está disponible, así que el campo no se muestra. Activa el plugin que lo proporciona. No se ha borrado nada."
    … …  
    692692msgstr "Las tablas de la base de datos de este sitio no pueden deshacer cambios. Si algo falla a mitad, puede quedar parte de la importación."
    693693
    694 #: App/ImportExport/Importer.php:112
     694#: App/ImportExport/Importer.php:141
    695695msgid "This menu is in the file more than once."
    696696msgstr "Este menú está más de una vez en el archivo."
    697697
    698 #: App/ImportExport/Importer.php:118
     698#: App/ImportExport/Importer.php:147
    699699msgid "The menu on this site was saved by a newer version of the plugin. Update the plugin first."
    700700msgstr "El menú de este sitio se guardó con una versión más reciente del plugin. Actualiza primero el plugin."
    701701
    702 #: App/ImportExport/Importer.php:124
     702#: App/ImportExport/Importer.php:153
    703703msgid "Another menu on this site already has the id of this menu."
    704704msgstr "Otro menú de este sitio ya tiene el ID de este menú."
    705705
    706706#. translators: %s: an option name
    707 #: App/ImportExport/Importer.php:137
     707#: App/ImportExport/Importer.php:166
    708708msgid "The option name \"%s\" is used by more than one menu in the file."
    709709msgstr "El nombre de opción «%s» lo usa más de un menú en el archivo."
    710710
    711711#. translators: %s: the name of a field type
    712 #: App/ImportExport/Importer.php:228
     712#: App/ImportExport/Importer.php:257
    713713msgid "The field type \"%s\" is not available on this site. Activate the plugin that provides it."
    714714msgstr "El tipo de campo «%s» no está disponible en este sitio. Activa el plugin que lo proporciona."
    715715
    716 #: App/ImportExport/Importer.php:233
     716#: App/ImportExport/Importer.php:262
    717717msgid "This is not a valid option name."
    718718msgstr "No es un nombre de opción válido."
    719719
    720 #: App/ImportExport/Importer.php:235
     720#: App/ImportExport/Importer.php:264
    721721msgid "This option name is used by WordPress or another plugin."
    722722msgstr "Este nombre de opción lo usa WordPress u otro plugin."
    723723
    724 #: App/ImportExport/Importer.php:300
     724#: App/ImportExport/Importer.php:329
    725725msgid "Something in this menu is not allowed."
    726726msgstr "Algo de este menú no está permitido."
    727727
    728 #: App/ImportExport/Importer.php:310
     728#: App/ImportExport/Importer.php:339
    729729msgid "The name of this menu does not match what is in it."
    730730msgstr "El nombre de este menú no coincide con su contenido."
    731731
    732 #: App/ImportExport/Importer.php:429
     732#: App/ImportExport/Importer.php:458
    733733msgid "Checked"
    734734msgstr "Marcada"
    735735
    736 #: App/ImportExport/Importer.php:429
     736#: App/ImportExport/Importer.php:458
    737737msgid "Not checked"
    738738msgstr "No marcada"
    739739
    740740#. translators: %s: the id of an image or file in the media library
    741 #: App/ImportExport/Importer.php:440
     741#: App/ImportExport/Importer.php:469
    742742msgid "Media ID %s"
    743743msgstr "ID de medio %s"
    744744
    745 #: App/ImportExport/Importer.php:472
     745#: App/ImportExport/Importer.php:501
    746746msgid "This import has expired. Choose the file again."
    747747msgstr "Esta importación ha caducado. Vuelve a elegir el archivo."
    748748
    749749#. translators: %s: the name of a menu
    750 #: App/ImportExport/Importer.php:613
     750#: App/ImportExport/Importer.php:642
    751751msgid "Without its first page the menu \"%s\" would get the name of a menu that is on this site already. Import the first page too, or choose another page as the first."
    752752msgstr "Sin su primera página, el menú «%s» tendría el nombre de un menú que ya está en este sitio. Importa también la primera página, o elige otra página como primera."
    753753
    754 #: App/ImportExport/Importer.php:638
    755 #: App/ImportExport/Importer.php:691
     754#: App/ImportExport/Importer.php:667
     755#: App/ImportExport/Importer.php:720
    756756msgid "A choice was made for a menu that is not in the file."
    757757msgstr "Se ha elegido algo para un menú que no está en el archivo."
    758758
    759 #: App/ImportExport/Importer.php:645
     759#: App/ImportExport/Importer.php:674
    760760msgid "A choice was made for a page or field that is not in the file."
    761761msgstr "Se ha elegido algo para una página o un campo que no está en el archivo."
    762762
    763 #: App/ImportExport/Importer.php:652
     763#: App/ImportExport/Importer.php:681
    764764msgid "A menu needs at least one page."
    765765msgstr "Un menú necesita al menos una página."
    766766
    767767#. translators: %s: the title of a menu
    768 #: App/ImportExport/Importer.php:680
     768#: App/ImportExport/Importer.php:709
    769769msgid "That cannot be done with the menu \"%s\"."
    770770msgstr "Eso no se puede hacer con el menú «%s»."
    771771
    772772#. translators: %s: an option name
    773 #: App/ImportExport/Importer.php:716
     773#: App/ImportExport/Importer.php:745
    774774msgid "That cannot be done with the option \"%s\"."
    775775msgstr "Eso no se puede hacer con la opción «%s»."
    776776
    777 #: App/ImportExport/Importer.php:742
     777#: App/ImportExport/Importer.php:771
    778778msgid "A menu in the file could not be saved. Nothing was imported."
    779779msgstr "No se ha podido guardar un menú del archivo. No se ha importado nada."
    780780
    781781#. translators: %s: an option name
    782 #: App/ImportExport/Importer.php:781
     782#: App/ImportExport/Importer.php:810
    783783msgid "The value of \"%s\" was changed by its field type."
    784784msgstr "Su tipo de campo ha cambiado el valor de «%s»."
    … …  
    834834
    835835#. translators: 1: where in the file, 2: a number
    836 #: App/ImportExport/SchemaValidator.php:96
     836#: App/ImportExport/SchemaValidator.php:102
    837837msgid "%1$s has more than %2$d items."
    838838msgstr "%1$s tiene más de %2$d elementos."
    839839
    840840#. translators: %s: where in the file
    841 #: App/ImportExport/SchemaValidator.php:101
     841#: App/ImportExport/SchemaValidator.php:107
    842842msgid "%s has no items."
    843843msgstr "%s no tiene elementos."
    844844
    845845#. translators: 1: where in the file, 2: a number
    846 #: App/ImportExport/SchemaValidator.php:106
     846#: App/ImportExport/SchemaValidator.php:112
    847847msgid "%1$s has more than %2$d entries."
    848848msgstr "%1$s tiene más de %2$d entradas."
    849849
    850850#. translators: 1: where in the file, 2: the name of what is missing
    851 #: App/ImportExport/SchemaValidator.php:112
     851#: App/ImportExport/SchemaValidator.php:118
    852852msgid "%1$s misses \"%2$s\"."
    853853msgstr "A %1$s le falta «%2$s»."
    854854
    855 #: App/ImportExport/SchemaValidator.php:169
     855#: App/ImportExport/SchemaValidator.php:175
    856856msgid "The file"
    857857msgstr "El archivo"
    … …  
    994994
    995995#: includes/build/editor.js:1
     996#: includes/build/editor.js:4
    996997msgid "Drag to reorder"
    997998msgstr "Arrastrar para reordenar"
    … …  
    11591160msgstr "Contenido estático"
    11601161
    1161 #: includes/build/editor.js:1
     1162#: includes/build/editor.js:4
    11621163msgid "Menu page title"
    11631164msgstr "Título de la página en el menú"
    11641165
    1165 #: includes/build/editor.js:1
     1166#: includes/build/editor.js:4
    11661167msgid "Page title"
    11671168msgstr "Título de la página"
    11681169
    1169 #: includes/build/editor.js:1
     1170#: includes/build/editor.js:4
    11701171msgid "Page title on top"
    11711172msgstr "Título de la página arriba"
    11721173
    1173 #: includes/build/editor.js:1
     1174#: includes/build/editor.js:4
    11741175msgid "Show page with tab"
    11751176msgstr "Mostrar la página con pestaña"
    11761177
    1177 #: includes/build/editor.js:1
    1178 msgid "User access level"
    1179 msgstr "Nivel de acceso"
    1180 
    1181 #: includes/build/editor.js:1
     1178#: includes/build/editor.js:4
    11821179msgid "Visit Page"
    11831180msgstr "Ver página"
    11841181
    1185 #: includes/build/editor.js:1
     1182#: includes/build/editor.js:4
    11861183msgid "Delete Page"
    11871184msgstr "Borrar página"
    11881185
    1189 #: includes/build/editor.js:1
     1186#: includes/build/editor.js:4
    11901187msgid "Saving failed."
    11911188msgstr "No se ha podido guardar."
    11921189
    1193 #: includes/build/editor.js:1
     1190#: includes/build/editor.js:4
    11941191msgid "At this moment there is no proper support for small/mobile screens."
    11951192msgstr "Por ahora las pantallas pequeñas y móviles no son totalmente compatibles."
    11961193
    1197 #: includes/build/editor.js:1
     1194#: includes/build/editor.js:4
    11981195msgid "We hope to fix this in a future version."
    11991196msgstr "Esperamos solucionarlo en una próxima versión."
    12001197
    1201 #: includes/build/editor.js:1
     1198#: includes/build/editor.js:4
    12021199msgid "The minimum required screen width is 1000px."
    12031200msgstr "El ancho mínimo de pantalla es de 1000px."
    12041201
    1205 #: includes/build/editor.js:1
     1202#: includes/build/editor.js:4
    12061203msgid "Close dialog"
    12071204msgstr "Cerrar el diálogo"
    … …  
    14121409msgid "Setting saved."
    14131410msgstr "Ajuste guardado."
     1411
     1412#. translators: 1: the slug of a user role, 2: the menu title of a page
     1413#: App/ImportExport/Importer.php:118
     1414msgid "The role \"%1$s\" of the page \"%2$s\" does not exist on this site. Until it does, users with that role cannot open the page."
     1415msgstr "El rol «%1$s» de la página «%2$s» no existe en este sitio. Hasta que exista, los usuarios con ese rol no pueden abrir la página."
     1416
     1417#. translators: %s: where in the file
     1418#: App/ImportExport/SchemaValidator.php:92
     1419msgid "%s has characters that are not allowed."
     1420msgstr "%s tiene caracteres que no están permitidos."
     1421
     1422#. translators: %s: the slug of a role that does not exist on this site
     1423#: includes/build/editor.js:2
     1424msgid "%s (no longer available)"
     1425msgstr "%s (ya no está disponible)"
     1426
     1427#. translators: 1: the name of a role, 2: the number of users with that role
     1428#: includes/build/editor.js:3
     1429msgid "%1$s (%2$d user)"
     1430msgid_plural "%1$s (%2$d users)"
     1431msgstr[0] "%1$s (%2$d usuario)"
     1432msgstr[1] "%1$s (%2$d usuarios)"
     1433
     1434#: includes/build/editor.js:3
     1435msgid "Administrator"
     1436msgstr "Administrador"
     1437
     1438#: App/Admin/AdminPages/views/whats-new.php:34
     1439#: includes/build/editor.js:3
     1440#: includes/build/editor.js:4
     1441msgid "Who can edit"
     1442msgstr "Quién puede editar"
     1443
     1444#. translators: %d: the number of roles besides administrator that can edit the page
     1445#: includes/build/editor.js:4
     1446msgid "Administrator + %d other"
     1447msgid_plural "Administrator + %d others"
     1448msgstr[0] "Administrador + %d más"
     1449msgstr[1] "Administrador + %d más"
     1450
     1451#: includes/build/editor.js:4
     1452msgid "Administrators always have access."
     1453msgstr "Los administradores siempre tienen acceso."
     1454
     1455#: includes/build/editor.js:4
     1456msgid "Users with this role cannot open the dashboard."
     1457msgstr "Los usuarios con este rol no pueden abrir el escritorio."
     1458
     1459#: includes/build/editor.js:4
     1460msgid "Done"
     1461msgstr "Hecho"
     1462
     1463#: App/Admin/AdminPages/SubpageWhatsNew.php:120
     1464msgid "Admin Options Pages 1.1 is here."
     1465msgstr "Ya está aquí Admin Options Pages 1.1."
     1466
     1467#: App/Admin/AdminPages/SubpageWhatsNew.php:121
     1468msgid "You now choose per page which roles can edit it. Have a look at who can edit your pages."
     1469msgstr "Ahora eliges por página qué roles pueden editarla. Echa un vistazo a quién puede editar tus páginas."
     1470
     1471#: App/Admin/AdminPages/views/whats-new-1.0.php:122
     1472msgid "What is new in 1.1"
     1473msgstr "Novedades de la 1.1"
     1474
     1475#: App/Admin/AdminPages/views/whats-new.php:20
     1476msgid "Admin Options Pages 1.1"
     1477msgstr "Admin Options Pages 1.1"
     1478
     1479#: App/Admin/AdminPages/views/whats-new.php:22
     1480msgid "Choose who can edit each page."
     1481msgstr "Elige quién puede editar cada página."
     1482
     1483#: App/Admin/AdminPages/views/whats-new.php:27
     1484msgid "Welcome to Admin Options Pages 1.1"
     1485msgstr "Te damos la bienvenida a Admin Options Pages 1.1"
     1486
     1487#: App/Admin/AdminPages/views/whats-new.php:36
     1488msgid "Tick the roles that may edit a page."
     1489msgstr "Marca los roles que pueden editar una página."
     1490
     1491#: App/Admin/AdminPages/views/whats-new.php:37
     1492msgid "Open a page in the editor and click the button next to \"Who can edit\". Every role of your site is there, also the roles of other plugins and the roles you made yourself. Users with a ticked role see the page in their menu and can save it; nobody else can."
     1493msgstr "Abre una página en el editor y haz clic en el botón junto a «Quién puede editar». Están todos los roles de tu sitio, también los de otros plugins y los que has creado tú. Los usuarios con un rol marcado ven la página en su menú y pueden guardarla; nadie más puede."
     1494
     1495#: App/Admin/AdminPages/views/whats-new.php:39
     1496msgid "Administrators can always open every page, and only administrators can build and change the pages themselves."
     1497msgstr "Los administradores siempre pueden abrir cualquier página, y solo los administradores pueden crear y cambiar las páginas en sí."
     1498
     1499#: App/Admin/AdminPages/views/whats-new.php:42
     1500msgid "The dialog \"Who can edit\" with a checkbox for every role of the site"
     1501msgstr "La ventana «Quién puede editar» con una casilla para cada rol del sitio"
     1502
     1503#: App/Admin/AdminPages/views/whats-new.php:48
     1504msgid "What happens to your pages"
     1505msgstr "Qué pasa con tus páginas"
     1506
     1507#: App/Admin/AdminPages/views/whats-new.php:49
     1508msgid "Nothing changes until you save a page again. A page that was set to Editor opens in the editor with the roles ticked that can edit it now: usually Editor, and with WooCommerce also Shop manager. Save the page to keep it that way, or change the roles first."
     1509msgstr "Nada cambia hasta que vuelvas a guardar una página. Una página que estaba en Editor se abre en el editor con marcados los roles que pueden editarla ahora: normalmente Editor, y con WooCommerce también Gestor de la tienda. Guarda la página para mantenerlo así, o cambia antes los roles."
     1510
     1511#: App/Admin/AdminPages/views/whats-new.php:50
     1512msgid "From then on the ticked roles decide, not what a role may do elsewhere on the site. Did someone get access without one of these roles? Tick a role they have, or give them access to that page with a plugin that manages roles."
     1513msgstr "A partir de entonces deciden los roles marcados, no lo que un rol puede hacer en otras partes del sitio. ¿Alguien tenía acceso sin uno de estos roles? Marca un rol que tenga, o dale acceso a esa página con un plugin que gestione roles."
     1514
     1515#: App/Admin/AdminPages/views/whats-new.php:56
     1516msgid "One user, one page"
     1517msgstr "Un usuario, una página"
     1518
     1519#: App/Admin/AdminPages/views/whats-new.php:57
     1520msgid "With a plugin that manages roles, such as Members or User Role Editor, you can give a single user access to a single page: every page is listed there under Admin Options Pages."
     1521msgstr "Con un plugin que gestiona roles, como Members o User Role Editor, puedes dar a un solo usuario acceso a una sola página: cada página aparece allí bajo Admin Options Pages."
     1522
     1523#: App/Admin/AdminPages/views/whats-new.php:60
     1524msgid "Roles move with your pages"
     1525msgstr "Los roles viajan con tus páginas"
     1526
     1527#: App/Admin/AdminPages/views/whats-new.php:61
     1528msgid "An export takes the roles of every page with it. When a role does not exist on the site you import to, the preview tells you; the page is imported all the same."
     1529msgstr "Una exportación se lleva los roles de cada página. Si un rol no existe en el sitio al que importas, la vista previa te lo dice; la página se importa igualmente."
     1530
     1531#: App/Admin/AdminPages/views/whats-new.php:64
     1532msgid "No dead ends"
     1533msgstr "Sin callejones sin salida"
     1534
     1535#: App/Admin/AdminPages/views/whats-new.php:65
     1536msgid "The editor tells you when a ticked role cannot open the dashboard at all, such as the Customer role of WooCommerce."
     1537msgstr "El editor te avisa cuando un rol marcado no puede abrir el escritorio, como el rol Cliente de WooCommerce."
     1538
     1539#: App/Admin/AdminPages/views/whats-new.php:72
     1540msgid "Admin Options Pages 1.1 needs WordPress 6.9 or later and PHP 8.1 or later, like 1.0."
     1541msgstr "Admin Options Pages 1.1 necesita WordPress 6.9 o posterior y PHP 8.1 o posterior, igual que la 1.0."
     1542
     1543#: App/Admin/AdminPages/views/whats-new.php:77
     1544msgid "What was new in 1.0"
     1545msgstr "Novedades de la 1.0"
     1546
     1547#: App/Admin/AdminPages/views/whats-new.php:28
     1548msgid "Your clients and colleagues now get exactly the pages they need. Choose the right roles for each page: Editor, Shop manager, Author, or a role you made yourself."
     1549msgstr "Tus clientes y colegas ahora tienen exactamente las páginas que necesitan. Elige los roles adecuados para cada página: Editor, Gestor de la tienda, Autor o un rol que hayas creado tú."
  • admin-options-pages/trunk/languages/admin-options-pages-fr_FR-40ab473175f2d6a502e444c4dd505d9d.json

    r3736451 r3750608  
    1 {"translation-revision-date":"2026-10-09T10:01:38+00:00","generator":"WP-CLI\/2.11.0","source":"includes\/build\/editor.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"fr","plural-forms":"nplurals=2; plural=(n > 1);"},"Settings":["R\u00e9glages"],"Documentation":["Documentation"],"Title":["Titre"],"Position":["Position"],"Are you sure?":["Confirmez-vous ?"],"Cancel":["Annuler"],"Delete":["Supprimer"],"Field label":["Libell\u00e9 du champ"],"Field name":["Nom du champ"],"Autoload":["Chargement automatique"],"Use in shortcode and blocks":["Utiliser dans les codes courts et les blocs"],"Additional CSS Class(es)":["Classe(s) CSS suppl\u00e9mentaire(s)"],"Description":["Description"],"Default value":["Valeur par d\u00e9faut"],"Button group":["Groupe de boutons"],"Field values":["Valeurs du champ"],"Checkbox":["Case \u00e0 cocher"],"Text when checked":["Texte si coch\u00e9e"],"Text when not checked":["Texte si non coch\u00e9e"],"Text after input field":["Texte apr\u00e8s le champ de saisie"],"Color picker":["S\u00e9lecteur de couleur"],"Default color (HEX)":["Couleur par d\u00e9faut (HEX)"],"Date":["Date"],"Field style":["Style du champ"],"Date and time":["Date et heure"],"Email":["E-mail"],"Placeholder":["Texte indicatif"],"File":["Fichier"],"Allowed file types":["Types de fichiers autoris\u00e9s"],"Horizontal rule":["Ligne horizontale"],"Image":["Image"],"Allowed extensions":["Extensions autoris\u00e9es"],"Link":["Lien"],"Number":["Nombre"],"Minimum value":["Valeur minimale"],"Maximum value":["Valeur maximale"],"Decimals":["D\u00e9cimales"],"Password":["Mot de passe"],"Radio buttons":["Boutons radio"],"Range":["Curseur"],"Select":["Liste d\u00e9roulante"],"Textarea":["Zone de texte"],"Description italic":["Description en italique"],"Text field":["Champ texte"],"Formatted as code":["Mis en forme comme du code"],"Time":["Heure"],"Wysiwyg editor":["\u00c9diteur WYSIWYG"],"Show media upload buttons":["Afficher les boutons d\u2019ajout de m\u00e9dias"],"Toolbar":["Barre d\u2019outils"],"Icon":["Ic\u00f4ne"],"Choose an icon":["Choisir une ic\u00f4ne"],"Search for an icon\u2026":["Rechercher une ic\u00f4ne\u2026"],"Nothing found.":["Aucun r\u00e9sultat."],"Add New Page":["Ajouter une page"],"Menu Type":["Type de menu"],"Custom menu":["Menu personnalis\u00e9"],"Existing menu":["Menu existant"],"Menu title":["Titre du menu"],"Close settings":["Fermer les r\u00e9glages"],"Move left":["D\u00e9placer vers la gauche"],"Move up":["D\u00e9placer vers le haut"],"Move right":["D\u00e9placer vers la droite"],"Move down":["D\u00e9placer vers le bas"],"Drag to reorder":["Faire glisser pour r\u00e9organiser"],"Add block":["Ajouter un bloc"],"Value":["Valeur"],"Label":["Libell\u00e9"],"Delete this row":["Supprimer cette ligne"],"Add a row":["Ajouter une ligne"],"Help":["Aide"],"Shortcode":["Code court"],"Copied!":["Copi\u00e9 !"],"Copy":["Copier"],"With get_option() the value is always available in PHP, also when this is off.":["Avec get_option(), la valeur est toujours disponible en PHP, m\u00eame quand ceci est d\u00e9sactiv\u00e9."],"Field":["Champ"],"This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.":["Ce type de champ n\u2019est pas disponible. Activez l\u2019extension qui le fournit. Rien n\u2019a \u00e9t\u00e9 supprim\u00e9 : le champ est enregistr\u00e9 tel quel."],"Options":["Options"],"Regular":["Normal"],"Small":["Petit"],"Large":["Grand"],"Standard":["Standard"],"0":["0"],"1":["1"],"2":["2"],".jpeg .jpg":[".jpeg .jpg"],".png":[".png"],".gif":[".gif"],".svg":[".svg"],"This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.":["Ce site n\u2019autorise pas le t\u00e9l\u00e9versement de fichiers SVG. Une extension comme Safe SVG l\u2019ajoute en toute s\u00e9curit\u00e9."],".ico":[".ico"],"Full":["Compl\u00e8te"],"Basic":["Basique"],".pdf":[".pdf"],".doc":[".doc"],".docx":[".docx"],".xls":[".xls"],".xlsx":[".xlsx"],".csv":[".csv"],".zip":[".zip"],".txt":[".txt"],"Add a field":["Ajouter un champ"],"Search\u2026":["Rechercher\u2026"],"Options fields":["Champs d\u2019options"],"Static content":["Contenu statique"],"Menu page title":["Titre de la page dans le menu"],"Page title":["Titre de la page"],"Page title on top":["Titre de la page en haut"],"Show page with tab":["Afficher la page avec un onglet"],"User access level":["Niveau d\u2019acc\u00e8s"],"Visit Page":["Voir la page"],"Delete Page":["Supprimer la page"],"Saving failed.":["L\u2019enregistrement a \u00e9chou\u00e9."],"At this moment there is no proper support for small\/mobile screens.":["Pour le moment, les petits \u00e9crans et les mobiles ne sont pas bien pris en charge."],"We hope to fix this in a future version.":["Nous esp\u00e9rons corriger cela dans une prochaine version."],"The minimum required screen width is 1000px.":["La largeur d\u2019\u00e9cran minimale est de 1000px."],"Close dialog":["Fermer la bo\u00eete de dialogue"]}}}
     1{"translation-revision-date":"2026-10-09T10:01:38+00:00","generator":"WP-CLI\/2.11.0","source":"includes\/build\/editor.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"fr","plural-forms":"nplurals=2; plural=(n > 1);"},"Settings":["R\u00e9glages"],"Documentation":["Documentation"],"Title":["Titre"],"Position":["Position"],"Are you sure?":["Confirmez-vous ?"],"Cancel":["Annuler"],"Delete":["Supprimer"],"Field label":["Libell\u00e9 du champ"],"Field name":["Nom du champ"],"Autoload":["Chargement automatique"],"Use in shortcode and blocks":["Utiliser dans les codes courts et les blocs"],"Additional CSS Class(es)":["Classe(s) CSS suppl\u00e9mentaire(s)"],"Description":["Description"],"Default value":["Valeur par d\u00e9faut"],"Button group":["Groupe de boutons"],"Field values":["Valeurs du champ"],"Checkbox":["Case \u00e0 cocher"],"Text when checked":["Texte si coch\u00e9e"],"Text when not checked":["Texte si non coch\u00e9e"],"Text after input field":["Texte apr\u00e8s le champ de saisie"],"Color picker":["S\u00e9lecteur de couleur"],"Default color (HEX)":["Couleur par d\u00e9faut (HEX)"],"Date":["Date"],"Field style":["Style du champ"],"Date and time":["Date et heure"],"Email":["E-mail"],"Placeholder":["Texte indicatif"],"File":["Fichier"],"Allowed file types":["Types de fichiers autoris\u00e9s"],"Horizontal rule":["Ligne horizontale"],"Image":["Image"],"Allowed extensions":["Extensions autoris\u00e9es"],"Link":["Lien"],"Number":["Nombre"],"Minimum value":["Valeur minimale"],"Maximum value":["Valeur maximale"],"Decimals":["D\u00e9cimales"],"Password":["Mot de passe"],"Radio buttons":["Boutons radio"],"Range":["Curseur"],"Select":["Liste d\u00e9roulante"],"Textarea":["Zone de texte"],"Description italic":["Description en italique"],"Text field":["Champ texte"],"Formatted as code":["Mis en forme comme du code"],"Time":["Heure"],"Wysiwyg editor":["\u00c9diteur WYSIWYG"],"Show media upload buttons":["Afficher les boutons d\u2019ajout de m\u00e9dias"],"Toolbar":["Barre d\u2019outils"],"Icon":["Ic\u00f4ne"],"Choose an icon":["Choisir une ic\u00f4ne"],"Search for an icon\u2026":["Rechercher une ic\u00f4ne\u2026"],"Nothing found.":["Aucun r\u00e9sultat."],"Add New Page":["Ajouter une page"],"Menu Type":["Type de menu"],"Custom menu":["Menu personnalis\u00e9"],"Existing menu":["Menu existant"],"Menu title":["Titre du menu"],"Close settings":["Fermer les r\u00e9glages"],"Move left":["D\u00e9placer vers la gauche"],"Move up":["D\u00e9placer vers le haut"],"Move right":["D\u00e9placer vers la droite"],"Move down":["D\u00e9placer vers le bas"],"Drag to reorder":["Faire glisser pour r\u00e9organiser"],"Add block":["Ajouter un bloc"],"Value":["Valeur"],"Label":["Libell\u00e9"],"Delete this row":["Supprimer cette ligne"],"Add a row":["Ajouter une ligne"],"Help":["Aide"],"Shortcode":["Code court"],"Copied!":["Copi\u00e9 !"],"Copy":["Copier"],"With get_option() the value is always available in PHP, also when this is off.":["Avec get_option(), la valeur est toujours disponible en PHP, m\u00eame quand ceci est d\u00e9sactiv\u00e9."],"Field":["Champ"],"This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.":["Ce type de champ n\u2019est pas disponible. Activez l\u2019extension qui le fournit. Rien n\u2019a \u00e9t\u00e9 supprim\u00e9 : le champ est enregistr\u00e9 tel quel."],"Options":["Options"],"Regular":["Normal"],"Small":["Petit"],"Large":["Grand"],"Standard":["Standard"],"0":["0"],"1":["1"],"2":["2"],".jpeg .jpg":[".jpeg .jpg"],".png":[".png"],".gif":[".gif"],".svg":[".svg"],"This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.":["Ce site n\u2019autorise pas le t\u00e9l\u00e9versement de fichiers SVG. Une extension comme Safe SVG l\u2019ajoute en toute s\u00e9curit\u00e9."],".ico":[".ico"],"Full":["Compl\u00e8te"],"Basic":["Basique"],".pdf":[".pdf"],".doc":[".doc"],".docx":[".docx"],".xls":[".xls"],".xlsx":[".xlsx"],".csv":[".csv"],".zip":[".zip"],".txt":[".txt"],"Add a field":["Ajouter un champ"],"Search\u2026":["Rechercher\u2026"],"Options fields":["Champs d\u2019options"],"Static content":["Contenu statique"],"Menu page title":["Titre de la page dans le menu"],"Page title":["Titre de la page"],"Page title on top":["Titre de la page en haut"],"Show page with tab":["Afficher la page avec un onglet"],"Visit Page":["Voir la page"],"Delete Page":["Supprimer la page"],"Saving failed.":["L\u2019enregistrement a \u00e9chou\u00e9."],"At this moment there is no proper support for small\/mobile screens.":["Pour le moment, les petits \u00e9crans et les mobiles ne sont pas bien pris en charge."],"We hope to fix this in a future version.":["Nous esp\u00e9rons corriger cela dans une prochaine version."],"The minimum required screen width is 1000px.":["La largeur d\u2019\u00e9cran minimale est de 1000px."],"Close dialog":["Fermer la bo\u00eete de dialogue"],"%s (no longer available)":["%s (n\u2019est plus disponible)"],"%1$s (%2$d user)":["%1$s (%2$d utilisateur)","%1$s (%2$d utilisateurs)"],"Administrator":["Administrateur"],"Who can edit":["Qui peut modifier"],"Administrator + %d other":["Administrateur + %d autre","Administrateur + %d autres"],"Administrators always have access.":["Les administrateurs ont toujours acc\u00e8s."],"Users with this role cannot open the dashboard.":["Les utilisateurs ayant ce r\u00f4le ne peuvent pas ouvrir le tableau de bord."],"Done":["Termin\u00e9"]}}}
  • admin-options-pages/trunk/languages/admin-options-pages-fr_FR.l10n.php

    r3736451 r3750608  
    11<?php
    2 return ['domain'=>'admin-options-pages','plural-forms'=>'nplurals=2; plural=(n > 1);','language'=>'fr','project-id-version'=>'Admin Options Pages 1.0.0','pot-creation-date'=>'2026-10-09T10:01:38+00:00','po-revision-date'=>'2026-10-09T10:01:38+00:00','x-generator'=>'WP-CLI 2.11.0','messages'=>['Admin Options Pages'=>'Admin Options Pages','https://adminoptionspages.com'=>'https://adminoptionspages.com','Create and edit your own options pages with ease.'=>'Créez et modifiez facilement vos propres pages d’options.','Johannes van Poelgeest'=>'Johannes van Poelgeest','https://poolghost.com'=>'https://poolghost.com','Options Pages'=>'Pages d’options','All Options Pages'=>'Toutes les pages d’options','Add new'=>'Ajouter','edit Page'=>'Modifier la page','What\'s new in Admin Options Pages 1.0'=>'Nouveautés d’Admin Options Pages 1.0','What\'s new'=>'Nouveautés','Settings'=>'Réglages','Import / Export'=>'Importer / exporter','Saved.'=>'Enregistré.','Updated.'=>'Mis à jour.','Pages deleted.'=>'Pages supprimées.','Page deleted.'=>'Page supprimée.','You attempted to edit a menu that does not exist. Perhaps it was deleted?'=>'Vous essayez de modifier un menu qui n’existe pas. Peut-être a-t-il été supprimé ?','Go to all options pages'=>'Aller à toutes les pages d’options','Menu not found'=>'Menu introuvable','Global Settings'=>'Réglages généraux','Sorry, you are not allowed to export.'=>'Vous n’avez pas l’autorisation d’exporter.','Creating options pages has never been easier.'=>'Créer des pages d’options n’a jamais été aussi simple.','Documentation'=>'Documentation','love'=>'aimez','five stars'=>'cinq étoiles','If you really %1$s this plugin, consider giving some %2$s to help make %3$s more known.'=>'Si vous %1$s vraiment cette extension, pensez à lui donner %2$s pour faire connaître %3$s.','Admin Options Pages 1.0 is here.'=>'Admin Options Pages 1.0 est là.','Import and export with your data, your own field types, nine new field types and your values on your website.'=>'L’import et l’export avec vos données, vos propres types de champs, neuf nouveaux types de champs et vos valeurs sur votre site.','See what\'s new'=>'Voir les nouveautés','Admin Options Pages 1.0'=>'Admin Options Pages 1.0','Import and export with your data, your own field types and your values on your website.'=>'L’import et l’export avec vos données, vos propres types de champs et vos valeurs sur votre site.','Welcome to Admin Options Pages 1.0'=>'Bienvenue dans Admin Options Pages 1.0','This is the biggest update of the plugin so far. Menus now move to another site with all their values, so the options pages you built and filled locally go live in one file. You can add field types of your own, there are nine new built-in ones, and the values of your fields can be shown on your website without code. Your menus, pages, fields and values are all still here.'=>'C’est la plus grande mise à jour de l’extension à ce jour. Les menus passent maintenant sur un autre site avec toutes leurs valeurs : les pages d’options que vous avez construites et remplies en local sont mises en ligne en un seul fichier. Vous pouvez ajouter vos propres types de champs, il y en a neuf nouveaux intégrés, et les valeurs de vos champs peuvent s’afficher sur votre site sans code. Vos menus, pages, champs et valeurs sont tous toujours là.','Import and export, with your data'=>'Importer et exporter, avec vos données','Build and fill your options pages locally, then take them live in one file.'=>'Construisez et remplissez vos pages d’options en local, puis mettez-les en ligne en un seul fichier.','Export the menus you choose together with the values of their fields, and import them on your live site, a staging site or your next project. No more typing the same settings twice.'=>'Exportez les menus de votre choix avec les valeurs de leurs champs, et importez-les sur votre site en production, un site de préproduction ou votre prochain projet. Fini de saisir deux fois les mêmes réglages.','Before anything changes you see what would happen, and you choose per menu, page, field and value. Nothing is replaced unless you choose it, and an import is all or nothing. Exports made with 0.9 can be imported too.'=>'Avant tout changement, vous voyez ce qui se passerait, et vous choisissez par menu, page, champ et valeur. Rien n’est remplacé sans votre choix, et un import se fait entièrement ou pas du tout. Les exports faits avec la 0.9 peuvent aussi être importés.','The preview of an import, with a checkbox for every menu, page, field and value'=>'L’aperçu d’un import, avec une case à cocher pour chaque menu, page, champ et valeur','An options page with a logo, a brand color and contact details'=>'Une page d’options avec un logo, une couleur de marque et des coordonnées','Nine new field types'=>'Neuf nouveaux types de champs','Email, Link, Password, Date, Time, Date and time, Range, Button group and File.'=>'E-mail, Lien, Mot de passe, Date, Heure, Date et heure, Curseur, Groupe de boutons et Fichier.','That makes 21 field types. Each one checks what is entered, and an image or file field only accepts the file types you choose, also when something is uploaded.'=>'Cela fait 21 types de champs. Chacun vérifie ce qui est saisi, et un champ image ou fichier n’accepte que les types de fichiers que vous choisissez, y compris lors du téléversement.','Your own field types'=>'Vos propres types de champs','Need a field that is not there? Add it yourself.'=>'Il vous manque un champ ? Ajoutez-le vous-même.','Register a field type from your theme or plugin with one class: what the editor asks for, how the value is checked and stored, and how it shows on the options page and on your website. It appears in the field picker next to the built-in types, which use exactly the same API.'=>'Enregistrez un type de champ depuis votre thème ou votre extension avec une seule classe : ce que l’éditeur demande, comment la valeur est vérifiée et enregistrée, et comment elle s’affiche sur la page d’options et sur votre site. Il apparaît dans le sélecteur de champs à côté des types intégrés, qui utilisent exactement la même API.','The Field Types API is stable from 1.0 on and follows semantic versioning, so your field types keep working with the next versions.'=>'La Field Types API est stable à partir de la 1.0 et suit le versionnage sémantique : vos types de champs continuent de fonctionner avec les prochaines versions.','A paragraph connected to a field in the Attributes panel'=>'Un paragraphe relié à un champ dans le panneau Attributs','Your values on your website'=>'Vos valeurs sur votre site','With a shortcode or a block, no code needed.'=>'Avec un code court ou un bloc, sans code.','Put a field in a post with [aop_option name="…"], or connect a paragraph, heading, button or image to it in the Attributes panel of the block editor. Change the value once, and it changes everywhere.'=>'Placez un champ dans un article avec [aop_option name="…"], ou reliez-y un paragraphe, un titre, un bouton ou une image dans le panneau Attributs de l’éditeur de blocs. Modifiez la valeur une fois, et elle change partout.','Switch on "Use in shortcode and blocks" for the fields you want to show. Fields made before 1.0 have it off, so nothing appears on your website by itself.'=>'Activez « Utiliser dans les codes courts et les blocs » pour les champs que vous voulez afficher. Pour les champs créés avant la 1.0, c’est désactivé : rien n’apparaît tout seul sur votre site.','Rewritten in React'=>'Réécrit en React','Under the hood the editor is rewritten in React, the WordPress way: with the components and the data store the block editor is made of.'=>'Sous le capot, l’éditeur est réécrit en React, à la manière de WordPress : avec les composants et le magasin de données dont est fait l’éditeur de blocs.','Change any saved value'=>'Modifier n’importe quelle valeur enregistrée','Developers can change the value of any field before it is stored with the new filters aop_sanitized_option and aop_sanitized_option_{name}.'=>'Les développeurs peuvent modifier la valeur de n’importe quel champ avant son enregistrement avec les nouveaux filtres aop_sanitized_option et aop_sanitized_option_{name}.','A safe upgrade'=>'Une mise à niveau sûre','Your pages are stored in a new format now. A copy in the old format is kept for 90 days.'=>'Vos pages sont maintenant enregistrées dans un nouveau format. Une copie dans l’ancien format est conservée pendant 90 jours.','Requirements'=>'Prérequis','Admin Options Pages 1.0 needs WordPress 6.9 or later and PHP 8.1 or later.'=>'Admin Options Pages 1.0 nécessite WordPress 6.9 ou supérieur et PHP 8.1 ou supérieur.','Go to your options pages'=>'Aller à vos pages d’options','Read the documentation'=>'Lire la documentation','media modal menuMenu'=>'Menu','Title'=>'Titre','Position'=>'Position','Pages'=>'Pages','Dismiss this notice.'=>'Ignorer cette notification.','Publish'=>'Publier','Are you sure?'=>'Confirmez-vous ?','Cancel'=>'Annuler','Delete'=>'Supprimer','User roleAdministrator'=>'Administrateur','User roleEditor'=>'Éditeur','Save'=>'Enregistrer','New Pages'=>'Nouvelles pages','Update'=>'Mettre à jour','Edit Pages'=>'Modifier les pages','List View'=>'Vue en liste','Excerpt View'=>'Vue avec extrait','No items found.'=>'Aucun élément trouvé.','Show more details'=>'Afficher plus de détails','%s item'=>'%s élément' . "\0" . '%s éléments','First page'=>'Première page','Previous page'=>'Page précédente','Current Page'=>'Page actuelle','paging%1$s of %2$s'=>'%1$s sur %2$s','Next page'=>'Page suivante','Last page'=>'Dernière page','Select All'=>'Tout sélectionner','Edit'=>'Modifier','The link you followed has expired.'=>'Le lien que vous avez suivi a expiré.','The field type "%1$s" of the option "%2$s" is not available, so the field is not shown. Activate the plugin that provides it. Nothing was deleted.'=>'Le type de champ « %1$s » de l’option « %2$s » n’est pas disponible, le champ n’est donc pas affiché. Activez l’extension qui le fournit. Rien n’a été supprimé.','%s is not a field type.'=>'%s n’est pas un type de champ.','The field type "%1$s" is already registered; %2$s was ignored.'=>'Le type de champ « %1$s » est déjà enregistré ; %2$s a été ignoré.','%1$s is not the class of the field type "%2$s".'=>'%1$s n’est pas la classe du type de champ « %2$s ».','Field label'=>'Libellé du champ','Field name'=>'Nom du champ','Autoload'=>'Chargement automatique','Use in shortcode and blocks'=>'Utiliser dans les codes courts et les blocs','Additional CSS Class(es)'=>'Classe(s) CSS supplémentaire(s)','Description'=>'Description','Default value'=>'Valeur par défaut','Button group'=>'Groupe de boutons','Field values'=>'Valeurs du champ','Checkbox'=>'Case à cocher','Text when checked'=>'Texte si cochée','Text when not checked'=>'Texte si non cochée','Text after input field'=>'Texte après le champ de saisie','Color picker'=>'Sélecteur de couleur','Default color (HEX)'=>'Couleur par défaut (HEX)','Date'=>'Date','Field style'=>'Style du champ','Date and time'=>'Date et heure','Email'=>'E-mail','Placeholder'=>'Texte indicatif','File'=>'Fichier','Allowed file types'=>'Types de fichiers autorisés','Upload'=>'Téléverser','Horizontal rule'=>'Ligne horizontale','Image'=>'Image','Allowed extensions'=>'Extensions autorisées','Link'=>'Lien','Number'=>'Nombre','Minimum value'=>'Valeur minimale','Maximum value'=>'Valeur maximale','Decimals'=>'Décimales','Password'=>'Mot de passe','Radio buttons'=>'Boutons radio','Range'=>'Curseur','Select'=>'Liste déroulante','Textarea'=>'Zone de texte','Description italic'=>'Description en italique','Text field'=>'Champ texte','Formatted as code'=>'Mis en forme comme du code','Time'=>'Heure','Wysiwyg editor'=>'Éditeur WYSIWYG','Show media upload buttons'=>'Afficher les boutons d’ajout de médias','Toolbar'=>'Barre d’outils','The value on this settings field is not allowed.'=>'La valeur de ce champ de réglage n’est pas autorisée.','Some of the value on this settings field is not allowed.'=>'Une partie de la valeur de ce champ de réglage n’est pas autorisée.','This is not a correct formatted Hex color.'=>'Ce n’est pas une couleur hexadécimale correctement formatée.','the shortcode has no name="..."'=>'le code court n’a pas de name="..."','"Use in shortcode and blocks" is off for this field, or its type cannot be shown'=>'« Utiliser dans les codes courts et les blocs » est désactivé pour ce champ, ou son type ne peut pas être affiché','this is not an option of Admin Options Pages'=>'ce n’est pas une option d’Admin Options Pages','The database tables of this site cannot roll back. If something goes wrong halfway, part of the import may remain.'=>'Les tables de base de données de ce site ne peuvent pas annuler les modifications. Si quelque chose échoue en cours de route, une partie de l’import peut rester.','This menu is in the file more than once.'=>'Ce menu figure plus d’une fois dans le fichier.','The menu on this site was saved by a newer version of the plugin. Update the plugin first.'=>'Le menu de ce site a été enregistré par une version plus récente de l’extension. Mettez d’abord l’extension à jour.','Another menu on this site already has the id of this menu.'=>'Un autre menu de ce site a déjà l’identifiant de ce menu.','The option name "%s" is used by more than one menu in the file.'=>'Le nom d’option « %s » est utilisé par plus d’un menu dans le fichier.','The field type "%s" is not available on this site. Activate the plugin that provides it.'=>'Le type de champ « %s » n’est pas disponible sur ce site. Activez l’extension qui le fournit.','This is not a valid option name.'=>'Ce n’est pas un nom d’option valide.','This option name is used by WordPress or another plugin.'=>'Ce nom d’option est utilisé par WordPress ou une autre extension.','Something in this menu is not allowed.'=>'Quelque chose dans ce menu n’est pas autorisé.','The name of this menu does not match what is in it.'=>'Le nom de ce menu ne correspond pas à son contenu.','Checked'=>'Cochée','Not checked'=>'Non cochée','Media ID %s'=>'ID de média %s','This import has expired. Choose the file again.'=>'Cet import a expiré. Choisissez à nouveau le fichier.','Without its first page the menu "%s" would get the name of a menu that is on this site already. Import the first page too, or choose another page as the first.'=>'Sans sa première page, le menu « %s » prendrait le nom d’un menu déjà présent sur ce site. Importez aussi la première page, ou choisissez une autre page comme première.','A choice was made for a menu that is not in the file.'=>'Un choix a été fait pour un menu qui n’est pas dans le fichier.','A choice was made for a page or field that is not in the file.'=>'Un choix a été fait pour une page ou un champ qui n’est pas dans le fichier.','A menu needs at least one page.'=>'Un menu a besoin d’au moins une page.','That cannot be done with the menu "%s".'=>'Ce n’est pas possible avec le menu « %s ».','That cannot be done with the option "%s".'=>'Ce n’est pas possible avec l’option « %s ».','A menu in the file could not be saved. Nothing was imported.'=>'Un menu du fichier n’a pas pu être enregistré. Rien n’a été importé.','The value of "%s" was changed by its field type.'=>'La valeur de « %s » a été modifiée par son type de champ.','The file is too large to import.'=>'Le fichier est trop volumineux pour être importé.','This is not a JSON file, or it is not valid UTF-8.'=>'Ce n’est pas un fichier JSON, ou il n’est pas en UTF-8 valide.','This file does not look like an export of Admin Options Pages.'=>'Ce fichier ne ressemble pas à un export d’Admin Options Pages.','This file has export format %1$d. This version of the plugin reads format %2$d. Update the plugin on this site and try again.'=>'Ce fichier a le format d’export %1$d. Cette version de l’extension lit le format %2$d. Mettez à jour l’extension sur ce site et réessayez.','%1$s must be of type %2$s.'=>'%1$s doit être de type %2$s.','%s has a value that is not supported.'=>'%s a une valeur qui n’est pas prise en charge.','%s has a value that is not allowed.'=>'%s a une valeur qui n’est pas autorisée.','%s does not have what it needs.'=>'Il manque à %s ce dont il a besoin.','%1$s is longer than %2$d characters.'=>'%1$s dépasse %2$d caractères.','%s is empty.'=>'%s est vide.','%1$s has more than %2$d items.'=>'%1$s a plus de %2$d éléments.','%s has no items.'=>'%s n’a aucun élément.','%1$s has more than %2$d entries.'=>'%1$s a plus de %2$d entrées.','%1$s misses "%2$s".'=>'Il manque « %2$s » à %1$s.','The file'=>'Le fichier','Choose a file to import.'=>'Choisissez un fichier à importer.','The request is not complete.'=>'La requête est incomplète.','The page is not valid.'=>'La page n’est pas valide.','This page does not exist.'=>'Cette page n’existe pas.','There are no pages to save.'=>'Il n’y a aucune page à enregistrer.','Every page needs a menu title.'=>'Chaque page a besoin d’un titre de menu.','"%s" is not a valid option name.'=>'« %s » n’est pas un nom d’option valide.','Every field with an option needs an option name.'=>'Chaque champ avec une option a besoin d’un nom d’option.','The option name "%s" is used more than once.'=>'Le nom d’option « %s » est utilisé plus d’une fois.','The option name "%s" is already in use.'=>'Le nom d’option « %s » est déjà utilisé.','This menu is already used by another options page.'=>'Ce menu est déjà utilisé par une autre page d’options.','The menu position is not valid.'=>'La position du menu n’est pas valide.','The menu title is not valid.'=>'Le titre du menu n’est pas valide.','The menu icon is not valid.'=>'L’icône du menu n’est pas valide.','Select or upload a file'=>'Sélectionner ou téléverser un fichier','Use this file'=>'Utiliser ce fichier','Allowed files'=>'Fichiers autorisés','Select or upload image'=>'Sélectionner ou téléverser une image','Use this image'=>'Utiliser cette image','Icon'=>'Icône','Choose an icon'=>'Choisir une icône','Search for an icon…'=>'Rechercher une icône…','Nothing found.'=>'Aucun résultat.','Add New Page'=>'Ajouter une page','Menu Type'=>'Type de menu','Custom menu'=>'Menu personnalisé','Existing menu'=>'Menu existant','Menu title'=>'Titre du menu','Close settings'=>'Fermer les réglages','Move left'=>'Déplacer vers la gauche','Move up'=>'Déplacer vers le haut','Move right'=>'Déplacer vers la droite','Move down'=>'Déplacer vers le bas','Drag to reorder'=>'Faire glisser pour réorganiser','Add block'=>'Ajouter un bloc','Value'=>'Valeur','Label'=>'Libellé','Delete this row'=>'Supprimer cette ligne','Add a row'=>'Ajouter une ligne','Help'=>'Aide','Shortcode'=>'Code court','Copied!'=>'Copié !','Copy'=>'Copier','With get_option() the value is always available in PHP, also when this is off.'=>'Avec get_option(), la valeur est toujours disponible en PHP, même quand ceci est désactivé.','Field'=>'Champ','This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.'=>'Ce type de champ n’est pas disponible. Activez l’extension qui le fournit. Rien n’a été supprimé : le champ est enregistré tel quel.','Options'=>'Options','Regular'=>'Normal','Small'=>'Petit','Large'=>'Grand','Standard'=>'Standard',0=>'0',1=>'1',2=>'2','.jpeg .jpg'=>'.jpeg .jpg','.png'=>'.png','.gif'=>'.gif','.svg'=>'.svg','This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.'=>'Ce site n’autorise pas le téléversement de fichiers SVG. Une extension comme Safe SVG l’ajoute en toute sécurité.','.ico'=>'.ico','Full'=>'Complète','Basic'=>'Basique','.pdf'=>'.pdf','.doc'=>'.doc','.docx'=>'.docx','.xls'=>'.xls','.xlsx'=>'.xlsx','.csv'=>'.csv','.zip'=>'.zip','.txt'=>'.txt','Add a field'=>'Ajouter un champ','Search…'=>'Rechercher…','Options fields'=>'Champs d’options','Static content'=>'Contenu statique','Menu page title'=>'Titre de la page dans le menu','Page title'=>'Titre de la page','Page title on top'=>'Titre de la page en haut','Show page with tab'=>'Afficher la page avec un onglet','User access level'=>'Niveau d’accès','Visit Page'=>'Voir la page','Delete Page'=>'Supprimer la page','Saving failed.'=>'L’enregistrement a échoué.','At this moment there is no proper support for small/mobile screens.'=>'Pour le moment, les petits écrans et les mobiles ne sont pas bien pris en charge.','We hope to fix this in a future version.'=>'Nous espérons corriger cela dans une prochaine version.','The minimum required screen width is 1000px.'=>'La largeur d’écran minimale est de 1000px.','Close dialog'=>'Fermer la boîte de dialogue','The menus could not be loaded.'=>'Les menus n’ont pas pu être chargés.','Export'=>'Exporter','There\'s nothing to export.'=>'Il n’y a rien à exporter.','Uncheck all'=>'Tout décocher','Check all'=>'Tout cocher','Export file'=>'Exporter le fichier','New'=>'Nouveau','Already on this site, replaced when checked'=>'Déjà sur ce site, remplacé si coché','Cannot be imported'=>'Ne peut pas être importé','Same value as on this site'=>'Même valeur que sur ce site','Different value on this site, replaced when checked'=>'Valeur différente sur ce site, remplacée si cochée','Belongs to something else'=>'Appartient à autre chose','Menu'=>'Menu','The menu on this site is replaced by the one in the file, also when its fields are of another type. Options of fields that are not in the file any more are deleted.'=>'Le menu de ce site est remplacé par celui du fichier, même si ses champs sont d’un autre type. Les options des champs qui ne sont plus dans le fichier sont supprimées.','(no title)'=>'(sans titre)','Main page'=>'Page principale','Page'=>'Page','No value in the file'=>'Aucune valeur dans le fichier','Field name:'=>'Nom du champ :','Field label:'=>'Libellé du champ :','The field moves here from the menu "%s".'=>'Le champ est déplacé ici depuis le menu « %s ».','Empty'=>'Vide','Value in the file: %s'=>'Valeur dans le fichier : %s','%1$s and %2$s'=>'%1$s et %2$s','%s has been imported'=>'%s a été importé','%s have been imported'=>'%s ont été importés','%d menu has been imported'=>'%d menu a été importé' . "\0" . '%d menus ont été importés','%s has been replaced'=>'%s a été remplacé','%s have been replaced'=>'%s ont été remplacés','%d menu has been replaced'=>'%d menu a été remplacé' . "\0" . '%d menus ont été remplacés','The import is done.'=>'L’import est terminé.',', with %d value'=>', avec %d valeur' . "\0" . ', avec %d valeurs','Something went wrong. Nothing was imported.'=>'Une erreur s’est produite. Rien n’a été importé.','Import selection'=>'Importer la sélection','Choose another file'=>'Choisir un autre fichier','Import'=>'Importer','Drop the JSON file here'=>'Déposez le fichier JSON ici','Drop a JSON file here'=>'Déposez un fichier JSON ici','or'=>'ou','Select a file'=>'Sélectionner un fichier','Maximum file size: %s.'=>'Taille maximale du fichier : %s.','You see what would happen before anything is imported.'=>'Vous voyez ce qui se passerait avant que quoi que ce soit ne soit importé.','File: %s'=>'Fichier : %s','Import another file'=>'Importer un autre fichier','Hide "Edit page" button'=>'Masquer le bouton « Modifier la page »','The setting could not be saved.'=>'Le réglage n’a pas pu être enregistré.','Setting saved.'=>'Réglage enregistré.']];
     2return ['domain'=>'admin-options-pages','plural-forms'=>'nplurals=2; plural=(n > 1);','language'=>'fr','project-id-version'=>'Admin Options Pages 1.0.0','pot-creation-date'=>'2026-10-09T10:01:38+00:00','po-revision-date'=>'2026-10-09T10:01:38+00:00','x-generator'=>'WP-CLI 2.11.0','messages'=>['Admin Options Pages'=>'Admin Options Pages','https://adminoptionspages.com'=>'https://adminoptionspages.com','Create and edit your own options pages with ease.'=>'Créez et modifiez facilement vos propres pages d’options.','Johannes van Poelgeest'=>'Johannes van Poelgeest','https://poolghost.com'=>'https://poolghost.com','Options Pages'=>'Pages d’options','All Options Pages'=>'Toutes les pages d’options','Add new'=>'Ajouter','edit Page'=>'Modifier la page','What\'s new in Admin Options Pages 1.0'=>'Nouveautés d’Admin Options Pages 1.0','What\'s new'=>'Nouveautés','Settings'=>'Réglages','Import / Export'=>'Importer / exporter','Saved.'=>'Enregistré.','Updated.'=>'Mis à jour.','Pages deleted.'=>'Pages supprimées.','Page deleted.'=>'Page supprimée.','You attempted to edit a menu that does not exist. Perhaps it was deleted?'=>'Vous essayez de modifier un menu qui n’existe pas. Peut-être a-t-il été supprimé ?','Go to all options pages'=>'Aller à toutes les pages d’options','Menu not found'=>'Menu introuvable','Global Settings'=>'Réglages généraux','Sorry, you are not allowed to export.'=>'Vous n’avez pas l’autorisation d’exporter.','Creating options pages has never been easier.'=>'Créer des pages d’options n’a jamais été aussi simple.','Documentation'=>'Documentation','love'=>'aimez','five stars'=>'cinq étoiles','If you really %1$s this plugin, consider giving some %2$s to help make %3$s more known.'=>'Si vous %1$s vraiment cette extension, pensez à lui donner %2$s pour faire connaître %3$s.','See what\'s new'=>'Voir les nouveautés','Admin Options Pages 1.0'=>'Admin Options Pages 1.0','Import and export with your data, your own field types and your values on your website.'=>'L’import et l’export avec vos données, vos propres types de champs et vos valeurs sur votre site.','Welcome to Admin Options Pages 1.0'=>'Bienvenue dans Admin Options Pages 1.0','This is the biggest update of the plugin so far. Menus now move to another site with all their values, so the options pages you built and filled locally go live in one file. You can add field types of your own, there are nine new built-in ones, and the values of your fields can be shown on your website without code. Your menus, pages, fields and values are all still here.'=>'C’est la plus grande mise à jour de l’extension à ce jour. Les menus passent maintenant sur un autre site avec toutes leurs valeurs : les pages d’options que vous avez construites et remplies en local sont mises en ligne en un seul fichier. Vous pouvez ajouter vos propres types de champs, il y en a neuf nouveaux intégrés, et les valeurs de vos champs peuvent s’afficher sur votre site sans code. Vos menus, pages, champs et valeurs sont tous toujours là.','Import and export, with your data'=>'Importer et exporter, avec vos données','Build and fill your options pages locally, then take them live in one file.'=>'Construisez et remplissez vos pages d’options en local, puis mettez-les en ligne en un seul fichier.','Export the menus you choose together with the values of their fields, and import them on your live site, a staging site or your next project. No more typing the same settings twice.'=>'Exportez les menus de votre choix avec les valeurs de leurs champs, et importez-les sur votre site en production, un site de préproduction ou votre prochain projet. Fini de saisir deux fois les mêmes réglages.','Before anything changes you see what would happen, and you choose per menu, page, field and value. Nothing is replaced unless you choose it, and an import is all or nothing. Exports made with 0.9 can be imported too.'=>'Avant tout changement, vous voyez ce qui se passerait, et vous choisissez par menu, page, champ et valeur. Rien n’est remplacé sans votre choix, et un import se fait entièrement ou pas du tout. Les exports faits avec la 0.9 peuvent aussi être importés.','The preview of an import, with a checkbox for every menu, page, field and value'=>'L’aperçu d’un import, avec une case à cocher pour chaque menu, page, champ et valeur','An options page with a logo, a brand color and contact details'=>'Une page d’options avec un logo, une couleur de marque et des coordonnées','Nine new field types'=>'Neuf nouveaux types de champs','Email, Link, Password, Date, Time, Date and time, Range, Button group and File.'=>'E-mail, Lien, Mot de passe, Date, Heure, Date et heure, Curseur, Groupe de boutons et Fichier.','That makes 21 field types. Each one checks what is entered, and an image or file field only accepts the file types you choose, also when something is uploaded.'=>'Cela fait 21 types de champs. Chacun vérifie ce qui est saisi, et un champ image ou fichier n’accepte que les types de fichiers que vous choisissez, y compris lors du téléversement.','Your own field types'=>'Vos propres types de champs','Need a field that is not there? Add it yourself.'=>'Il vous manque un champ ? Ajoutez-le vous-même.','Register a field type from your theme or plugin with one class: what the editor asks for, how the value is checked and stored, and how it shows on the options page and on your website. It appears in the field picker next to the built-in types, which use exactly the same API.'=>'Enregistrez un type de champ depuis votre thème ou votre extension avec une seule classe : ce que l’éditeur demande, comment la valeur est vérifiée et enregistrée, et comment elle s’affiche sur la page d’options et sur votre site. Il apparaît dans le sélecteur de champs à côté des types intégrés, qui utilisent exactement la même API.','The Field Types API is stable from 1.0 on and follows semantic versioning, so your field types keep working with the next versions.'=>'La Field Types API est stable à partir de la 1.0 et suit le versionnage sémantique : vos types de champs continuent de fonctionner avec les prochaines versions.','A paragraph connected to a field in the Attributes panel'=>'Un paragraphe relié à un champ dans le panneau Attributs','Your values on your website'=>'Vos valeurs sur votre site','With a shortcode or a block, no code needed.'=>'Avec un code court ou un bloc, sans code.','Put a field in a post with [aop_option name="…"], or connect a paragraph, heading, button or image to it in the Attributes panel of the block editor. Change the value once, and it changes everywhere.'=>'Placez un champ dans un article avec [aop_option name="…"], ou reliez-y un paragraphe, un titre, un bouton ou une image dans le panneau Attributs de l’éditeur de blocs. Modifiez la valeur une fois, et elle change partout.','Switch on "Use in shortcode and blocks" for the fields you want to show. Fields made before 1.0 have it off, so nothing appears on your website by itself.'=>'Activez « Utiliser dans les codes courts et les blocs » pour les champs que vous voulez afficher. Pour les champs créés avant la 1.0, c’est désactivé : rien n’apparaît tout seul sur votre site.','Rewritten in React'=>'Réécrit en React','Under the hood the editor is rewritten in React, the WordPress way: with the components and the data store the block editor is made of.'=>'Sous le capot, l’éditeur est réécrit en React, à la manière de WordPress : avec les composants et le magasin de données dont est fait l’éditeur de blocs.','Change any saved value'=>'Modifier n’importe quelle valeur enregistrée','Developers can change the value of any field before it is stored with the new filters aop_sanitized_option and aop_sanitized_option_{name}.'=>'Les développeurs peuvent modifier la valeur de n’importe quel champ avant son enregistrement avec les nouveaux filtres aop_sanitized_option et aop_sanitized_option_{name}.','A safe upgrade'=>'Une mise à niveau sûre','Your pages are stored in a new format now. A copy in the old format is kept for 90 days.'=>'Vos pages sont maintenant enregistrées dans un nouveau format. Une copie dans l’ancien format est conservée pendant 90 jours.','Requirements'=>'Prérequis','Admin Options Pages 1.0 needs WordPress 6.9 or later and PHP 8.1 or later.'=>'Admin Options Pages 1.0 nécessite WordPress 6.9 ou supérieur et PHP 8.1 ou supérieur.','Go to your options pages'=>'Aller à vos pages d’options','Read the documentation'=>'Lire la documentation','media modal menuMenu'=>'Menu','Title'=>'Titre','Position'=>'Position','Pages'=>'Pages','Dismiss this notice.'=>'Ignorer cette notification.','Publish'=>'Publier','Are you sure?'=>'Confirmez-vous ?','Cancel'=>'Annuler','Delete'=>'Supprimer','Save'=>'Enregistrer','New Pages'=>'Nouvelles pages','Update'=>'Mettre à jour','Edit Pages'=>'Modifier les pages','List View'=>'Vue en liste','Excerpt View'=>'Vue avec extrait','No items found.'=>'Aucun élément trouvé.','Show more details'=>'Afficher plus de détails','%s item'=>'%s élément' . "\0" . '%s éléments','First page'=>'Première page','Previous page'=>'Page précédente','Current Page'=>'Page actuelle','paging%1$s of %2$s'=>'%1$s sur %2$s','Next page'=>'Page suivante','Last page'=>'Dernière page','Select All'=>'Tout sélectionner','Edit'=>'Modifier','The link you followed has expired.'=>'Le lien que vous avez suivi a expiré.','The field type "%1$s" of the option "%2$s" is not available, so the field is not shown. Activate the plugin that provides it. Nothing was deleted.'=>'Le type de champ « %1$s » de l’option « %2$s » n’est pas disponible, le champ n’est donc pas affiché. Activez l’extension qui le fournit. Rien n’a été supprimé.','%s is not a field type.'=>'%s n’est pas un type de champ.','The field type "%1$s" is already registered; %2$s was ignored.'=>'Le type de champ « %1$s » est déjà enregistré ; %2$s a été ignoré.','%1$s is not the class of the field type "%2$s".'=>'%1$s n’est pas la classe du type de champ « %2$s ».','Field label'=>'Libellé du champ','Field name'=>'Nom du champ','Autoload'=>'Chargement automatique','Use in shortcode and blocks'=>'Utiliser dans les codes courts et les blocs','Additional CSS Class(es)'=>'Classe(s) CSS supplémentaire(s)','Description'=>'Description','Default value'=>'Valeur par défaut','Button group'=>'Groupe de boutons','Field values'=>'Valeurs du champ','Checkbox'=>'Case à cocher','Text when checked'=>'Texte si cochée','Text when not checked'=>'Texte si non cochée','Text after input field'=>'Texte après le champ de saisie','Color picker'=>'Sélecteur de couleur','Default color (HEX)'=>'Couleur par défaut (HEX)','Date'=>'Date','Field style'=>'Style du champ','Date and time'=>'Date et heure','Email'=>'E-mail','Placeholder'=>'Texte indicatif','File'=>'Fichier','Allowed file types'=>'Types de fichiers autorisés','Upload'=>'Téléverser','Horizontal rule'=>'Ligne horizontale','Image'=>'Image','Allowed extensions'=>'Extensions autorisées','Link'=>'Lien','Number'=>'Nombre','Minimum value'=>'Valeur minimale','Maximum value'=>'Valeur maximale','Decimals'=>'Décimales','Password'=>'Mot de passe','Radio buttons'=>'Boutons radio','Range'=>'Curseur','Select'=>'Liste déroulante','Textarea'=>'Zone de texte','Description italic'=>'Description en italique','Text field'=>'Champ texte','Formatted as code'=>'Mis en forme comme du code','Time'=>'Heure','Wysiwyg editor'=>'Éditeur WYSIWYG','Show media upload buttons'=>'Afficher les boutons d’ajout de médias','Toolbar'=>'Barre d’outils','The value on this settings field is not allowed.'=>'La valeur de ce champ de réglage n’est pas autorisée.','Some of the value on this settings field is not allowed.'=>'Une partie de la valeur de ce champ de réglage n’est pas autorisée.','This is not a correct formatted Hex color.'=>'Ce n’est pas une couleur hexadécimale correctement formatée.','the shortcode has no name="..."'=>'le code court n’a pas de name="..."','"Use in shortcode and blocks" is off for this field, or its type cannot be shown'=>'« Utiliser dans les codes courts et les blocs » est désactivé pour ce champ, ou son type ne peut pas être affiché','this is not an option of Admin Options Pages'=>'ce n’est pas une option d’Admin Options Pages','The database tables of this site cannot roll back. If something goes wrong halfway, part of the import may remain.'=>'Les tables de base de données de ce site ne peuvent pas annuler les modifications. Si quelque chose échoue en cours de route, une partie de l’import peut rester.','This menu is in the file more than once.'=>'Ce menu figure plus d’une fois dans le fichier.','The menu on this site was saved by a newer version of the plugin. Update the plugin first.'=>'Le menu de ce site a été enregistré par une version plus récente de l’extension. Mettez d’abord l’extension à jour.','Another menu on this site already has the id of this menu.'=>'Un autre menu de ce site a déjà l’identifiant de ce menu.','The option name "%s" is used by more than one menu in the file.'=>'Le nom d’option « %s » est utilisé par plus d’un menu dans le fichier.','The field type "%s" is not available on this site. Activate the plugin that provides it.'=>'Le type de champ « %s » n’est pas disponible sur ce site. Activez l’extension qui le fournit.','This is not a valid option name.'=>'Ce n’est pas un nom d’option valide.','This option name is used by WordPress or another plugin.'=>'Ce nom d’option est utilisé par WordPress ou une autre extension.','Something in this menu is not allowed.'=>'Quelque chose dans ce menu n’est pas autorisé.','The name of this menu does not match what is in it.'=>'Le nom de ce menu ne correspond pas à son contenu.','Checked'=>'Cochée','Not checked'=>'Non cochée','Media ID %s'=>'ID de média %s','This import has expired. Choose the file again.'=>'Cet import a expiré. Choisissez à nouveau le fichier.','Without its first page the menu "%s" would get the name of a menu that is on this site already. Import the first page too, or choose another page as the first.'=>'Sans sa première page, le menu « %s » prendrait le nom d’un menu déjà présent sur ce site. Importez aussi la première page, ou choisissez une autre page comme première.','A choice was made for a menu that is not in the file.'=>'Un choix a été fait pour un menu qui n’est pas dans le fichier.','A choice was made for a page or field that is not in the file.'=>'Un choix a été fait pour une page ou un champ qui n’est pas dans le fichier.','A menu needs at least one page.'=>'Un menu a besoin d’au moins une page.','That cannot be done with the menu "%s".'=>'Ce n’est pas possible avec le menu « %s ».','That cannot be done with the option "%s".'=>'Ce n’est pas possible avec l’option « %s ».','A menu in the file could not be saved. Nothing was imported.'=>'Un menu du fichier n’a pas pu être enregistré. Rien n’a été importé.','The value of "%s" was changed by its field type.'=>'La valeur de « %s » a été modifiée par son type de champ.','The file is too large to import.'=>'Le fichier est trop volumineux pour être importé.','This is not a JSON file, or it is not valid UTF-8.'=>'Ce n’est pas un fichier JSON, ou il n’est pas en UTF-8 valide.','This file does not look like an export of Admin Options Pages.'=>'Ce fichier ne ressemble pas à un export d’Admin Options Pages.','This file has export format %1$d. This version of the plugin reads format %2$d. Update the plugin on this site and try again.'=>'Ce fichier a le format d’export %1$d. Cette version de l’extension lit le format %2$d. Mettez à jour l’extension sur ce site et réessayez.','%1$s must be of type %2$s.'=>'%1$s doit être de type %2$s.','%s has a value that is not supported.'=>'%s a une valeur qui n’est pas prise en charge.','%s has a value that is not allowed.'=>'%s a une valeur qui n’est pas autorisée.','%s does not have what it needs.'=>'Il manque à %s ce dont il a besoin.','%1$s is longer than %2$d characters.'=>'%1$s dépasse %2$d caractères.','%s is empty.'=>'%s est vide.','%1$s has more than %2$d items.'=>'%1$s a plus de %2$d éléments.','%s has no items.'=>'%s n’a aucun élément.','%1$s has more than %2$d entries.'=>'%1$s a plus de %2$d entrées.','%1$s misses "%2$s".'=>'Il manque « %2$s » à %1$s.','The file'=>'Le fichier','Choose a file to import.'=>'Choisissez un fichier à importer.','The request is not complete.'=>'La requête est incomplète.','The page is not valid.'=>'La page n’est pas valide.','This page does not exist.'=>'Cette page n’existe pas.','There are no pages to save.'=>'Il n’y a aucune page à enregistrer.','Every page needs a menu title.'=>'Chaque page a besoin d’un titre de menu.','"%s" is not a valid option name.'=>'« %s » n’est pas un nom d’option valide.','Every field with an option needs an option name.'=>'Chaque champ avec une option a besoin d’un nom d’option.','The option name "%s" is used more than once.'=>'Le nom d’option « %s » est utilisé plus d’une fois.','The option name "%s" is already in use.'=>'Le nom d’option « %s » est déjà utilisé.','This menu is already used by another options page.'=>'Ce menu est déjà utilisé par une autre page d’options.','The menu position is not valid.'=>'La position du menu n’est pas valide.','The menu title is not valid.'=>'Le titre du menu n’est pas valide.','The menu icon is not valid.'=>'L’icône du menu n’est pas valide.','Select or upload a file'=>'Sélectionner ou téléverser un fichier','Use this file'=>'Utiliser ce fichier','Allowed files'=>'Fichiers autorisés','Select or upload image'=>'Sélectionner ou téléverser une image','Use this image'=>'Utiliser cette image','Icon'=>'Icône','Choose an icon'=>'Choisir une icône','Search for an icon…'=>'Rechercher une icône…','Nothing found.'=>'Aucun résultat.','Add New Page'=>'Ajouter une page','Menu Type'=>'Type de menu','Custom menu'=>'Menu personnalisé','Existing menu'=>'Menu existant','Menu title'=>'Titre du menu','Close settings'=>'Fermer les réglages','Move left'=>'Déplacer vers la gauche','Move up'=>'Déplacer vers le haut','Move right'=>'Déplacer vers la droite','Move down'=>'Déplacer vers le bas','Drag to reorder'=>'Faire glisser pour réorganiser','Add block'=>'Ajouter un bloc','Value'=>'Valeur','Label'=>'Libellé','Delete this row'=>'Supprimer cette ligne','Add a row'=>'Ajouter une ligne','Help'=>'Aide','Shortcode'=>'Code court','Copied!'=>'Copié !','Copy'=>'Copier','With get_option() the value is always available in PHP, also when this is off.'=>'Avec get_option(), la valeur est toujours disponible en PHP, même quand ceci est désactivé.','Field'=>'Champ','This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.'=>'Ce type de champ n’est pas disponible. Activez l’extension qui le fournit. Rien n’a été supprimé : le champ est enregistré tel quel.','Options'=>'Options','Regular'=>'Normal','Small'=>'Petit','Large'=>'Grand','Standard'=>'Standard',0=>'0',1=>'1',2=>'2','.jpeg .jpg'=>'.jpeg .jpg','.png'=>'.png','.gif'=>'.gif','.svg'=>'.svg','This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.'=>'Ce site n’autorise pas le téléversement de fichiers SVG. Une extension comme Safe SVG l’ajoute en toute sécurité.','.ico'=>'.ico','Full'=>'Complète','Basic'=>'Basique','.pdf'=>'.pdf','.doc'=>'.doc','.docx'=>'.docx','.xls'=>'.xls','.xlsx'=>'.xlsx','.csv'=>'.csv','.zip'=>'.zip','.txt'=>'.txt','Add a field'=>'Ajouter un champ','Search…'=>'Rechercher…','Options fields'=>'Champs d’options','Static content'=>'Contenu statique','Menu page title'=>'Titre de la page dans le menu','Page title'=>'Titre de la page','Page title on top'=>'Titre de la page en haut','Show page with tab'=>'Afficher la page avec un onglet','Visit Page'=>'Voir la page','Delete Page'=>'Supprimer la page','Saving failed.'=>'L’enregistrement a échoué.','At this moment there is no proper support for small/mobile screens.'=>'Pour le moment, les petits écrans et les mobiles ne sont pas bien pris en charge.','We hope to fix this in a future version.'=>'Nous espérons corriger cela dans une prochaine version.','The minimum required screen width is 1000px.'=>'La largeur d’écran minimale est de 1000px.','Close dialog'=>'Fermer la boîte de dialogue','The menus could not be loaded.'=>'Les menus n’ont pas pu être chargés.','Export'=>'Exporter','There\'s nothing to export.'=>'Il n’y a rien à exporter.','Uncheck all'=>'Tout décocher','Check all'=>'Tout cocher','Export file'=>'Exporter le fichier','New'=>'Nouveau','Already on this site, replaced when checked'=>'Déjà sur ce site, remplacé si coché','Cannot be imported'=>'Ne peut pas être importé','Same value as on this site'=>'Même valeur que sur ce site','Different value on this site, replaced when checked'=>'Valeur différente sur ce site, remplacée si cochée','Belongs to something else'=>'Appartient à autre chose','Menu'=>'Menu','The menu on this site is replaced by the one in the file, also when its fields are of another type. Options of fields that are not in the file any more are deleted.'=>'Le menu de ce site est remplacé par celui du fichier, même si ses champs sont d’un autre type. Les options des champs qui ne sont plus dans le fichier sont supprimées.','(no title)'=>'(sans titre)','Main page'=>'Page principale','Page'=>'Page','No value in the file'=>'Aucune valeur dans le fichier','Field name:'=>'Nom du champ :','Field label:'=>'Libellé du champ :','The field moves here from the menu "%s".'=>'Le champ est déplacé ici depuis le menu « %s ».','Empty'=>'Vide','Value in the file: %s'=>'Valeur dans le fichier : %s','%1$s and %2$s'=>'%1$s et %2$s','%s has been imported'=>'%s a été importé','%s have been imported'=>'%s ont été importés','%d menu has been imported'=>'%d menu a été importé' . "\0" . '%d menus ont été importés','%s has been replaced'=>'%s a été remplacé','%s have been replaced'=>'%s ont été remplacés','%d menu has been replaced'=>'%d menu a été remplacé' . "\0" . '%d menus ont été remplacés','The import is done.'=>'L’import est terminé.',', with %d value'=>', avec %d valeur' . "\0" . ', avec %d valeurs','Something went wrong. Nothing was imported.'=>'Une erreur s’est produite. Rien n’a été importé.','Import selection'=>'Importer la sélection','Choose another file'=>'Choisir un autre fichier','Import'=>'Importer','Drop the JSON file here'=>'Déposez le fichier JSON ici','Drop a JSON file here'=>'Déposez un fichier JSON ici','or'=>'ou','Select a file'=>'Sélectionner un fichier','Maximum file size: %s.'=>'Taille maximale du fichier : %s.','You see what would happen before anything is imported.'=>'Vous voyez ce qui se passerait avant que quoi que ce soit ne soit importé.','File: %s'=>'Fichier : %s','Import another file'=>'Importer un autre fichier','Hide "Edit page" button'=>'Masquer le bouton « Modifier la page »','The setting could not be saved.'=>'Le réglage n’a pas pu être enregistré.','Setting saved.'=>'Réglage enregistré.','The role "%1$s" of the page "%2$s" does not exist on this site. Until it does, users with that role cannot open the page.'=>'Le rôle « %1$s » de la page « %2$s » n’existe pas sur ce site. Tant qu’il n’existe pas, les utilisateurs ayant ce rôle ne peuvent pas ouvrir la page.','%s has characters that are not allowed.'=>'%s contient des caractères non autorisés.','%s (no longer available)'=>'%s (n’est plus disponible)','%1$s (%2$d user)'=>'%1$s (%2$d utilisateur)' . "\0" . '%1$s (%2$d utilisateurs)','Administrator'=>'Administrateur','Who can edit'=>'Qui peut modifier','Administrator + %d other'=>'Administrateur + %d autre' . "\0" . 'Administrateur + %d autres','Administrators always have access.'=>'Les administrateurs ont toujours accès.','Users with this role cannot open the dashboard.'=>'Les utilisateurs ayant ce rôle ne peuvent pas ouvrir le tableau de bord.','Done'=>'Terminé','Admin Options Pages 1.1 is here.'=>'Admin Options Pages 1.1 est arrivé.','You now choose per page which roles can edit it. Have a look at who can edit your pages.'=>'Vous choisissez désormais pour chaque page les rôles qui peuvent la modifier. Vérifiez qui peut modifier vos pages.','What is new in 1.1'=>'Les nouveautés de la 1.1','Admin Options Pages 1.1'=>'Admin Options Pages 1.1','Choose who can edit each page.'=>'Choisissez qui peut modifier chaque page.','Welcome to Admin Options Pages 1.1'=>'Bienvenue dans Admin Options Pages 1.1','Tick the roles that may edit a page.'=>'Cochez les rôles qui peuvent modifier une page.','Open a page in the editor and click the button next to "Who can edit". Every role of your site is there, also the roles of other plugins and the roles you made yourself. Users with a ticked role see the page in their menu and can save it; nobody else can.'=>'Ouvrez une page dans l’éditeur et cliquez sur le bouton à côté de « Qui peut modifier ». Tous les rôles de votre site y figurent, y compris ceux d’autres extensions et ceux que vous avez créés. Les utilisateurs ayant un rôle coché voient la page dans leur menu et peuvent l’enregistrer ; personne d’autre ne le peut.','Administrators can always open every page, and only administrators can build and change the pages themselves.'=>'Les administrateurs peuvent toujours ouvrir toutes les pages, et seuls les administrateurs peuvent créer et modifier les pages elles-mêmes.','The dialog "Who can edit" with a checkbox for every role of the site'=>'La fenêtre « Qui peut modifier » avec une case à cocher pour chaque rôle du site','What happens to your pages'=>'Ce qui arrive à vos pages','Nothing changes until you save a page again. A page that was set to Editor opens in the editor with the roles ticked that can edit it now: usually Editor, and with WooCommerce also Shop manager. Save the page to keep it that way, or change the roles first.'=>'Rien ne change tant que vous n’enregistrez pas une page à nouveau. Une page réglée sur Éditeur s’ouvre dans l’éditeur avec les rôles cochés qui peuvent la modifier aujourd’hui : en général Éditeur, et avec WooCommerce aussi Gestionnaire de la boutique. Enregistrez la page pour garder cela, ou modifiez d’abord les rôles.','From then on the ticked roles decide, not what a role may do elsewhere on the site. Did someone get access without one of these roles? Tick a role they have, or give them access to that page with a plugin that manages roles.'=>'Ensuite, ce sont les rôles cochés qui décident, et non ce qu’un rôle peut faire ailleurs sur le site. Quelqu’un avait accès sans l’un de ces rôles ? Cochez un rôle qu’il possède, ou donnez-lui accès à cette page avec une extension de gestion des rôles.','One user, one page'=>'Un utilisateur, une page','With a plugin that manages roles, such as Members or User Role Editor, you can give a single user access to a single page: every page is listed there under Admin Options Pages.'=>'Avec une extension de gestion des rôles, comme Members ou User Role Editor, vous donnez à un seul utilisateur l’accès à une seule page : chaque page y figure sous Admin Options Pages.','Roles move with your pages'=>'Les rôles suivent vos pages','An export takes the roles of every page with it. When a role does not exist on the site you import to, the preview tells you; the page is imported all the same.'=>'Un export emporte les rôles de chaque page. Si un rôle n’existe pas sur le site où vous importez, l’aperçu vous le dit ; la page est tout de même importée.','No dead ends'=>'Pas d’impasse','The editor tells you when a ticked role cannot open the dashboard at all, such as the Customer role of WooCommerce.'=>'L’éditeur vous prévient lorsqu’un rôle coché ne peut pas du tout ouvrir le tableau de bord, comme le rôle Client de WooCommerce.','Admin Options Pages 1.1 needs WordPress 6.9 or later and PHP 8.1 or later, like 1.0.'=>'Admin Options Pages 1.1 nécessite WordPress 6.9 ou plus récent et PHP 8.1 ou plus récent, comme la 1.0.','What was new in 1.0'=>'Les nouveautés de la 1.0','Your clients and colleagues now get exactly the pages they need. Choose the right roles for each page: Editor, Shop manager, Author, or a role you made yourself.'=>'Vos clients et collègues obtiennent désormais exactement les pages dont ils ont besoin. Choisissez les bons rôles pour chaque page : Éditeur, Gestionnaire de la boutique, Auteur ou un rôle que vous avez créé vous-même.']];
  • admin-options-pages/trunk/languages/admin-options-pages-fr_FR.po

    r3736451 r3750608  
    11msgid ""
    2 msgstr "Project-Id-Version: Admin Options Pages 1.0.0\nReport-Msgid-Bugs-To: https://github.com/poolghost/adminoptionspages-issues/issues\nLast-Translator: Automatically generated\nLanguage-Team: none\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nPOT-Creation-Date: 2026-10-09T10:01:38+00:00\nPO-Revision-Date: 2026-10-09T10:01:38+00:00\nLanguage: fr\nX-Generator: WP-CLI 2.11.0\nX-Domain: admin-options-pages\nPlural-Forms: nplurals=2; plural=(n > 1);\n"
     2msgstr ""
     3"Project-Id-Version: Admin Options Pages 1.0.0\n"
     4"Report-Msgid-Bugs-To: https://github.com/poolghost/adminoptionspages-issues/issues\n"
     5"Last-Translator: Automatically generated\n"
     6"Language-Team: none\n"
     7"MIME-Version: 1.0\n"
     8"Content-Type: text/plain; charset=UTF-8\n"
     9"Content-Transfer-Encoding: 8bit\n"
     10"POT-Creation-Date: 2026-10-09T10:01:38+00:00\n"
     11"PO-Revision-Date: 2026-10-09T10:01:38+00:00\n"
     12"Language: fr\n"
     13"X-Generator: WP-CLI 2.11.0\n"
     14"X-Domain: admin-options-pages\n"
     15"Plural-Forms: nplurals=2; plural=(n > 1);\n"
    316
    417#. Plugin Name of the plugin
    … …  
    7184
    7285#: App/Admin/AdminPages/AdminPages.php:207
    73 #: App/Admin/Input.php:61
     86#: App/Admin/Input.php:62
    7487msgid "Updated."
    7588msgstr "Mis à jour."
    … …  
    126139msgstr "Si vous %1$s vraiment cette extension, pensez à lui donner %2$s pour faire connaître %3$s."
    127140
    128 #: App/Admin/AdminPages/SubpageWhatsNew.php:93
    129 msgid "Admin Options Pages 1.0 is here."
    130 msgstr "Admin Options Pages 1.0 est là."
    131 
    132 #: App/Admin/AdminPages/SubpageWhatsNew.php:94
    133 msgid "Import and export with your data, your own field types, nine new field types and your values on your website."
    134 msgstr "L’import et l’export avec vos données, vos propres types de champs, neuf nouveaux types de champs et vos valeurs sur votre site."
    135 
    136 #: App/Admin/AdminPages/SubpageWhatsNew.php:96
     141#: App/Admin/AdminPages/SubpageWhatsNew.php:123
    137142msgid "See what's new"
    138143msgstr "Voir les nouveautés"
    139144
    140 #: App/Admin/AdminPages/views/whats-new.php:19
     145#: App/Admin/AdminPages/views/whats-new-1.0.php:20
    141146msgid "Admin Options Pages 1.0"
    142147msgstr "Admin Options Pages 1.0"
    143148
    144 #: App/Admin/AdminPages/views/whats-new.php:21
     149#: App/Admin/AdminPages/views/whats-new-1.0.php:22
    145150msgid "Import and export with your data, your own field types and your values on your website."
    146151msgstr "L’import et l’export avec vos données, vos propres types de champs et vos valeurs sur votre site."
    147152
    148 #: App/Admin/AdminPages/views/whats-new.php:26
     153#: App/Admin/AdminPages/views/whats-new-1.0.php:27
    149154msgid "Welcome to Admin Options Pages 1.0"
    150155msgstr "Bienvenue dans Admin Options Pages 1.0"
    151156
    152 #: App/Admin/AdminPages/views/whats-new.php:27
     157#: App/Admin/AdminPages/views/whats-new-1.0.php:28
    153158msgid "This is the biggest update of the plugin so far. Menus now move to another site with all their values, so the options pages you built and filled locally go live in one file. You can add field types of your own, there are nine new built-in ones, and the values of your fields can be shown on your website without code. Your menus, pages, fields and values are all still here."
    154159msgstr "C’est la plus grande mise à jour de l’extension à ce jour. Les menus passent maintenant sur un autre site avec toutes leurs valeurs : les pages d’options que vous avez construites et remplies en local sont mises en ligne en un seul fichier. Vous pouvez ajouter vos propres types de champs, il y en a neuf nouveaux intégrés, et les valeurs de vos champs peuvent s’afficher sur votre site sans code. Vos menus, pages, champs et valeurs sont tous toujours là."
    155160
    156 #: App/Admin/AdminPages/views/whats-new.php:33
     161#: App/Admin/AdminPages/views/whats-new-1.0.php:34
    157162msgid "Import and export, with your data"
    158163msgstr "Importer et exporter, avec vos données"
    159164
    160 #: App/Admin/AdminPages/views/whats-new.php:35
     165#: App/Admin/AdminPages/views/whats-new-1.0.php:36
    161166msgid "Build and fill your options pages locally, then take them live in one file."
    162167msgstr "Construisez et remplissez vos pages d’options en local, puis mettez-les en ligne en un seul fichier."
    163168
    164 #: App/Admin/AdminPages/views/whats-new.php:36
     169#: App/Admin/AdminPages/views/whats-new-1.0.php:37
    165170msgid "Export the menus you choose together with the values of their fields, and import them on your live site, a staging site or your next project. No more typing the same settings twice."
    166171msgstr "Exportez les menus de votre choix avec les valeurs de leurs champs, et importez-les sur votre site en production, un site de préproduction ou votre prochain projet. Fini de saisir deux fois les mêmes réglages."
    167172
    168 #: App/Admin/AdminPages/views/whats-new.php:38
     173#: App/Admin/AdminPages/views/whats-new-1.0.php:39
    169174msgid "Before anything changes you see what would happen, and you choose per menu, page, field and value. Nothing is replaced unless you choose it, and an import is all or nothing. Exports made with 0.9 can be imported too."
    170175msgstr "Avant tout changement, vous voyez ce qui se passerait, et vous choisissez par menu, page, champ et valeur. Rien n’est remplacé sans votre choix, et un import se fait entièrement ou pas du tout. Les exports faits avec la 0.9 peuvent aussi être importés."
    171176
    172 #: App/Admin/AdminPages/views/whats-new.php:41
     177#: App/Admin/AdminPages/views/whats-new-1.0.php:42
    173178msgid "The preview of an import, with a checkbox for every menu, page, field and value"
    174179msgstr "L’aperçu d’un import, avec une case à cocher pour chaque menu, page, champ et valeur"
    175180
    176 #: App/Admin/AdminPages/views/whats-new.php:47
     181#: App/Admin/AdminPages/views/whats-new-1.0.php:48
    177182msgid "An options page with a logo, a brand color and contact details"
    178183msgstr "Une page d’options avec un logo, une couleur de marque et des coordonnées"
    179184
    180 #: App/Admin/AdminPages/views/whats-new.php:50
     185#: App/Admin/AdminPages/views/whats-new-1.0.php:51
    181186msgid "Nine new field types"
    182187msgstr "Neuf nouveaux types de champs"
    183188
    184 #: App/Admin/AdminPages/views/whats-new.php:52
     189#: App/Admin/AdminPages/views/whats-new-1.0.php:53
    185190msgid "Email, Link, Password, Date, Time, Date and time, Range, Button group and File."
    186191msgstr "E-mail, Lien, Mot de passe, Date, Heure, Date et heure, Curseur, Groupe de boutons et Fichier."
    187192
    188 #: App/Admin/AdminPages/views/whats-new.php:53
     193#: App/Admin/AdminPages/views/whats-new-1.0.php:54
    189194msgid "That makes 21 field types. Each one checks what is entered, and an image or file field only accepts the file types you choose, also when something is uploaded."
    190195msgstr "Cela fait 21 types de champs. Chacun vérifie ce qui est saisi, et un champ image ou fichier n’accepte que les types de fichiers que vous choisissez, y compris lors du téléversement."
    191196
    192 #: App/Admin/AdminPages/views/whats-new.php:60
     197#: App/Admin/AdminPages/views/whats-new-1.0.php:61
    193198msgid "Your own field types"
    194199msgstr "Vos propres types de champs"
    195200
    196 #: App/Admin/AdminPages/views/whats-new.php:62
     201#: App/Admin/AdminPages/views/whats-new-1.0.php:63
    197202msgid "Need a field that is not there? Add it yourself."
    198203msgstr "Il vous manque un champ ? Ajoutez-le vous-même."
    199204
    200 #: App/Admin/AdminPages/views/whats-new.php:63
     205#: App/Admin/AdminPages/views/whats-new-1.0.php:64
    201206msgid "Register a field type from your theme or plugin with one class: what the editor asks for, how the value is checked and stored, and how it shows on the options page and on your website. It appears in the field picker next to the built-in types, which use exactly the same API."
    202207msgstr "Enregistrez un type de champ depuis votre thème ou votre extension avec une seule classe : ce que l’éditeur demande, comment la valeur est vérifiée et enregistrée, et comment elle s’affiche sur la page d’options et sur votre site. Il apparaît dans le sélecteur de champs à côté des types intégrés, qui utilisent exactement la même API."
    203208
    204 #: App/Admin/AdminPages/views/whats-new.php:65
     209#: App/Admin/AdminPages/views/whats-new-1.0.php:66
    205210msgid "The Field Types API is stable from 1.0 on and follows semantic versioning, so your field types keep working with the next versions."
    206211msgstr "La Field Types API est stable à partir de la 1.0 et suit le versionnage sémantique : vos types de champs continuent de fonctionner avec les prochaines versions."
    207212
    208 #: App/Admin/AdminPages/views/whats-new.php:86
     213#: App/Admin/AdminPages/views/whats-new-1.0.php:87
    209214msgid "A paragraph connected to a field in the Attributes panel"
    210215msgstr "Un paragraphe relié à un champ dans le panneau Attributs"
    211216
    212 #: App/Admin/AdminPages/views/whats-new.php:89
     217#: App/Admin/AdminPages/views/whats-new-1.0.php:90
    213218msgid "Your values on your website"
    214219msgstr "Vos valeurs sur votre site"
    215220
    216 #: App/Admin/AdminPages/views/whats-new.php:91
     221#: App/Admin/AdminPages/views/whats-new-1.0.php:92
    217222msgid "With a shortcode or a block, no code needed."
    218223msgstr "Avec un code court ou un bloc, sans code."
    219224
    220 #: App/Admin/AdminPages/views/whats-new.php:92
     225#: App/Admin/AdminPages/views/whats-new-1.0.php:93
    221226msgid "Put a field in a post with [aop_option name=\"…\"], or connect a paragraph, heading, button or image to it in the Attributes panel of the block editor. Change the value once, and it changes everywhere."
    222227msgstr "Placez un champ dans un article avec [aop_option name=\"…\"], ou reliez-y un paragraphe, un titre, un bouton ou une image dans le panneau Attributs de l’éditeur de blocs. Modifiez la valeur une fois, et elle change partout."
    223228
    224 #: App/Admin/AdminPages/views/whats-new.php:94
     229#: App/Admin/AdminPages/views/whats-new-1.0.php:95
    225230msgid "Switch on \"Use in shortcode and blocks\" for the fields you want to show. Fields made before 1.0 have it off, so nothing appears on your website by itself."
    226231msgstr "Activez « Utiliser dans les codes courts et les blocs » pour les champs que vous voulez afficher. Pour les champs créés avant la 1.0, c’est désactivé : rien n’apparaît tout seul sur votre site."
    227232
    228 #: App/Admin/AdminPages/views/whats-new.php:100
     233#: App/Admin/AdminPages/views/whats-new-1.0.php:101
    229234msgid "Rewritten in React"
    230235msgstr "Réécrit en React"
    231236
    232 #: App/Admin/AdminPages/views/whats-new.php:101
     237#: App/Admin/AdminPages/views/whats-new-1.0.php:102
    233238msgid "Under the hood the editor is rewritten in React, the WordPress way: with the components and the data store the block editor is made of."
    234239msgstr "Sous le capot, l’éditeur est réécrit en React, à la manière de WordPress : avec les composants et le magasin de données dont est fait l’éditeur de blocs."
    235240
    236 #: App/Admin/AdminPages/views/whats-new.php:104
     241#: App/Admin/AdminPages/views/whats-new-1.0.php:105
    237242msgid "Change any saved value"
    238243msgstr "Modifier n’importe quelle valeur enregistrée"
    239244
    240 #: App/Admin/AdminPages/views/whats-new.php:105
     245#: App/Admin/AdminPages/views/whats-new-1.0.php:106
    241246msgid "Developers can change the value of any field before it is stored with the new filters aop_sanitized_option and aop_sanitized_option_{name}."
    242247msgstr "Les développeurs peuvent modifier la valeur de n’importe quel champ avant son enregistrement avec les nouveaux filtres aop_sanitized_option et aop_sanitized_option_{name}."
    243248
    244 #: App/Admin/AdminPages/views/whats-new.php:108
     249#: App/Admin/AdminPages/views/whats-new-1.0.php:109
    245250msgid "A safe upgrade"
    246251msgstr "Une mise à niveau sûre"
    247252
    248 #: App/Admin/AdminPages/views/whats-new.php:109
     253#: App/Admin/AdminPages/views/whats-new-1.0.php:110
    249254msgid "Your pages are stored in a new format now. A copy in the old format is kept for 90 days."
    250255msgstr "Vos pages sont maintenant enregistrées dans un nouveau format. Une copie dans l’ancien format est conservée pendant 90 jours."
    251256
    252 #: App/Admin/AdminPages/views/whats-new.php:115
     257#: App/Admin/AdminPages/views/whats-new-1.0.php:116
     258#: App/Admin/AdminPages/views/whats-new.php:71
    253259msgid "Requirements"
    254260msgstr "Prérequis"
    255261
    256 #: App/Admin/AdminPages/views/whats-new.php:116
     262#: App/Admin/AdminPages/views/whats-new-1.0.php:117
    257263msgid "Admin Options Pages 1.0 needs WordPress 6.9 or later and PHP 8.1 or later."
    258264msgstr "Admin Options Pages 1.0 nécessite WordPress 6.9 ou supérieur et PHP 8.1 ou supérieur."
    259265
    260 #: App/Admin/AdminPages/views/whats-new.php:118
     266#: App/Admin/AdminPages/views/whats-new-1.0.php:119
     267#: App/Admin/AdminPages/views/whats-new.php:74
    261268msgid "Go to your options pages"
    262269msgstr "Aller à vos pages d’options"
    263270
    264 #: App/Admin/AdminPages/views/whats-new.php:119
     271#: App/Admin/AdminPages/views/whats-new-1.0.php:120
     272#: App/Admin/AdminPages/views/whats-new.php:75
    265273msgid "Read the documentation"
    266274msgstr "Lire la documentation"
    … …  
    275283#: App/Fields/Types/Subtitle.php:38
    276284#: includes/build/editor.js:1
     285#: includes/build/editor.js:4
    277286msgid "Title"
    278287msgstr "Titre"
    … …  
    280289#: App/Admin/ListTable.php:41
    281290#: includes/build/editor.js:1
     291#: includes/build/editor.js:4
    282292msgid "Position"
    283293msgstr "Position"
    … …  
    301311
    302312#: App/Admin/Text.php:14
    303 #: App/Admin/Text.php:32
     313#: App/Admin/Text.php:28
    304314#: includes/build/editor.js:1
    305315msgid "Cancel"
    … …  
    307317
    308318#: App/Admin/Text.php:15
     319#: App/Admin/Text.php:25
    309320#: App/Admin/Text.php:29
    310 #: App/Admin/Text.php:33
    311321#: App/Fields/Types/FileField.php:165
    312322#: App/Fields/Types/Image.php:158
    … …  
    315325msgstr "Supprimer"
    316326
    317 #: App/Admin/Text.php:18
    318 msgctxt "User role"
    319 msgid "Administrator"
    320 msgstr "Administrateur"
    321 
    322 #: App/Admin/Text.php:19
    323 msgctxt "User role"
    324 msgid "Editor"
    325 msgstr "Éditeur"
    326 
    327 #: App/Admin/Text.php:24
     327#: App/Admin/Text.php:20
    328328msgid "Save"
    329329msgstr "Enregistrer"
    330330
    331 #: App/Admin/Text.php:25
     331#: App/Admin/Text.php:21
    332332msgid "New Pages"
    333333msgstr "Nouvelles pages"
    334334
    335 #: App/Admin/Text.php:28
     335#: App/Admin/Text.php:24
    336336msgid "Update"
    337337msgstr "Mettre à jour"
    338338
    339 #: App/Admin/Text.php:30
     339#: App/Admin/Text.php:26
    340340msgid "Edit Pages"
    341341msgstr "Modifier les pages"
    … …  
    400400msgstr "Modifier"
    401401
    402 #: App/Data.php:651
     402#: App/Data.php:653
    403403msgid "The link you followed has expired."
    404404msgstr "Le lien que vous avez suivi a expiré."
    405405
    406406#. translators: 1: a field type, 2: an option name
    407 #: App/Fields/FieldManager.php:164
     407#: App/Fields/FieldManager.php:171
    408408msgid "The field type \"%1$s\" of the option \"%2$s\" is not available, so the field is not shown. Activate the plugin that provides it. Nothing was deleted."
    409409msgstr "Le type de champ « %1$s » de l’option « %2$s » n’est pas disponible, le champ n’est donc pas affiché. Activez l’extension qui le fournit. Rien n’a été supprimé."
    … …  
    692692msgstr "Les tables de base de données de ce site ne peuvent pas annuler les modifications. Si quelque chose échoue en cours de route, une partie de l’import peut rester."
    693693
    694 #: App/ImportExport/Importer.php:112
     694#: App/ImportExport/Importer.php:141
    695695msgid "This menu is in the file more than once."
    696696msgstr "Ce menu figure plus d’une fois dans le fichier."
    697697
    698 #: App/ImportExport/Importer.php:118
     698#: App/ImportExport/Importer.php:147
    699699msgid "The menu on this site was saved by a newer version of the plugin. Update the plugin first."
    700700msgstr "Le menu de ce site a été enregistré par une version plus récente de l’extension. Mettez d’abord l’extension à jour."
    701701
    702 #: App/ImportExport/Importer.php:124
     702#: App/ImportExport/Importer.php:153
    703703msgid "Another menu on this site already has the id of this menu."
    704704msgstr "Un autre menu de ce site a déjà l’identifiant de ce menu."
    705705
    706706#. translators: %s: an option name
    707 #: App/ImportExport/Importer.php:137
     707#: App/ImportExport/Importer.php:166
    708708msgid "The option name \"%s\" is used by more than one menu in the file."
    709709msgstr "Le nom d’option « %s » est utilisé par plus d’un menu dans le fichier."
    710710
    711711#. translators: %s: the name of a field type
    712 #: App/ImportExport/Importer.php:228
     712#: App/ImportExport/Importer.php:257
    713713msgid "The field type \"%s\" is not available on this site. Activate the plugin that provides it."
    714714msgstr "Le type de champ « %s » n’est pas disponible sur ce site. Activez l’extension qui le fournit."
    715715
    716 #: App/ImportExport/Importer.php:233
     716#: App/ImportExport/Importer.php:262
    717717msgid "This is not a valid option name."
    718718msgstr "Ce n’est pas un nom d’option valide."
    719719
    720 #: App/ImportExport/Importer.php:235
     720#: App/ImportExport/Importer.php:264
    721721msgid "This option name is used by WordPress or another plugin."
    722722msgstr "Ce nom d’option est utilisé par WordPress ou une autre extension."
    723723
    724 #: App/ImportExport/Importer.php:300
     724#: App/ImportExport/Importer.php:329
    725725msgid "Something in this menu is not allowed."
    726726msgstr "Quelque chose dans ce menu n’est pas autorisé."
    727727
    728 #: App/ImportExport/Importer.php:310
     728#: App/ImportExport/Importer.php:339
    729729msgid "The name of this menu does not match what is in it."
    730730msgstr "Le nom de ce menu ne correspond pas à son contenu."
    731731
    732 #: App/ImportExport/Importer.php:429
     732#: App/ImportExport/Importer.php:458
    733733msgid "Checked"
    734734msgstr "Cochée"
    735735
    736 #: App/ImportExport/Importer.php:429
     736#: App/ImportExport/Importer.php:458
    737737msgid "Not checked"
    738738msgstr "Non cochée"
    739739
    740740#. translators: %s: the id of an image or file in the media library
    741 #: App/ImportExport/Importer.php:440
     741#: App/ImportExport/Importer.php:469
    742742msgid "Media ID %s"
    743743msgstr "ID de média %s"
    744744
    745 #: App/ImportExport/Importer.php:472
     745#: App/ImportExport/Importer.php:501
    746746msgid "This import has expired. Choose the file again."
    747747msgstr "Cet import a expiré. Choisissez à nouveau le fichier."
    748748
    749749#. translators: %s: the name of a menu
    750 #: App/ImportExport/Importer.php:613
     750#: App/ImportExport/Importer.php:642
    751751msgid "Without its first page the menu \"%s\" would get the name of a menu that is on this site already. Import the first page too, or choose another page as the first."
    752752msgstr "Sans sa première page, le menu « %s » prendrait le nom d’un menu déjà présent sur ce site. Importez aussi la première page, ou choisissez une autre page comme première."
    753753
    754 #: App/ImportExport/Importer.php:638
    755 #: App/ImportExport/Importer.php:691
     754#: App/ImportExport/Importer.php:667
     755#: App/ImportExport/Importer.php:720
    756756msgid "A choice was made for a menu that is not in the file."
    757757msgstr "Un choix a été fait pour un menu qui n’est pas dans le fichier."
    758758
    759 #: App/ImportExport/Importer.php:645
     759#: App/ImportExport/Importer.php:674
    760760msgid "A choice was made for a page or field that is not in the file."
    761761msgstr "Un choix a été fait pour une page ou un champ qui n’est pas dans le fichier."
    762762
    763 #: App/ImportExport/Importer.php:652
     763#: App/ImportExport/Importer.php:681
    764764msgid "A menu needs at least one page."
    765765msgstr "Un menu a besoin d’au moins une page."
    766766
    767767#. translators: %s: the title of a menu
    768 #: App/ImportExport/Importer.php:680
     768#: App/ImportExport/Importer.php:709
    769769msgid "That cannot be done with the menu \"%s\"."
    770770msgstr "Ce n’est pas possible avec le menu « %s »."
    771771
    772772#. translators: %s: an option name
    773 #: App/ImportExport/Importer.php:716
     773#: App/ImportExport/Importer.php:745
    774774msgid "That cannot be done with the option \"%s\"."
    775775msgstr "Ce n’est pas possible avec l’option « %s »."
    776776
    777 #: App/ImportExport/Importer.php:742
     777#: App/ImportExport/Importer.php:771
    778778msgid "A menu in the file could not be saved. Nothing was imported."
    779779msgstr "Un menu du fichier n’a pas pu être enregistré. Rien n’a été importé."
    780780
    781781#. translators: %s: an option name
    782 #: App/ImportExport/Importer.php:781
     782#: App/ImportExport/Importer.php:810
    783783msgid "The value of \"%s\" was changed by its field type."
    784784msgstr "La valeur de « %s » a été modifiée par son type de champ."
    … …  
    834834
    835835#. translators: 1: where in the file, 2: a number
    836 #: App/ImportExport/SchemaValidator.php:96
     836#: App/ImportExport/SchemaValidator.php:102
    837837msgid "%1$s has more than %2$d items."
    838838msgstr "%1$s a plus de %2$d éléments."
    839839
    840840#. translators: %s: where in the file
    841 #: App/ImportExport/SchemaValidator.php:101
     841#: App/ImportExport/SchemaValidator.php:107
    842842msgid "%s has no items."
    843843msgstr "%s n’a aucun élément."
    844844
    845845#. translators: 1: where in the file, 2: a number
    846 #: App/ImportExport/SchemaValidator.php:106
     846#: App/ImportExport/SchemaValidator.php:112
    847847msgid "%1$s has more than %2$d entries."
    848848msgstr "%1$s a plus de %2$d entrées."
    849849
    850850#. translators: 1: where in the file, 2: the name of what is missing
    851 #: App/ImportExport/SchemaValidator.php:112
     851#: App/ImportExport/SchemaValidator.php:118
    852852msgid "%1$s misses \"%2$s\"."
    853853msgstr "Il manque « %2$s » à %1$s."
    854854
    855 #: App/ImportExport/SchemaValidator.php:169
     855#: App/ImportExport/SchemaValidator.php:175
    856856msgid "The file"
    857857msgstr "Le fichier"
    … …  
    994994
    995995#: includes/build/editor.js:1
     996#: includes/build/editor.js:4
    996997msgid "Drag to reorder"
    997998msgstr "Faire glisser pour réorganiser"
    … …  
    11591160msgstr "Contenu statique"
    11601161
    1161 #: includes/build/editor.js:1
     1162#: includes/build/editor.js:4
    11621163msgid "Menu page title"
    11631164msgstr "Titre de la page dans le menu"
    11641165
    1165 #: includes/build/editor.js:1
     1166#: includes/build/editor.js:4
    11661167msgid "Page title"
    11671168msgstr "Titre de la page"
    11681169
    1169 #: includes/build/editor.js:1
     1170#: includes/build/editor.js:4
    11701171msgid "Page title on top"
    11711172msgstr "Titre de la page en haut"
    11721173
    1173 #: includes/build/editor.js:1
     1174#: includes/build/editor.js:4
    11741175msgid "Show page with tab"
    11751176msgstr "Afficher la page avec un onglet"
    11761177
    1177 #: includes/build/editor.js:1
    1178 msgid "User access level"
    1179 msgstr "Niveau d’accès"
    1180 
    1181 #: includes/build/editor.js:1
     1178#: includes/build/editor.js:4
    11821179msgid "Visit Page"
    11831180msgstr "Voir la page"
    11841181
    1185 #: includes/build/editor.js:1
     1182#: includes/build/editor.js:4
    11861183msgid "Delete Page"
    11871184msgstr "Supprimer la page"
    11881185
    1189 #: includes/build/editor.js:1
     1186#: includes/build/editor.js:4
    11901187msgid "Saving failed."
    11911188msgstr "L’enregistrement a échoué."
    11921189
    1193 #: includes/build/editor.js:1
     1190#: includes/build/editor.js:4
    11941191msgid "At this moment there is no proper support for small/mobile screens."
    11951192msgstr "Pour le moment, les petits écrans et les mobiles ne sont pas bien pris en charge."
    11961193
    1197 #: includes/build/editor.js:1
     1194#: includes/build/editor.js:4
    11981195msgid "We hope to fix this in a future version."
    11991196msgstr "Nous espérons corriger cela dans une prochaine version."
    12001197
    1201 #: includes/build/editor.js:1
     1198#: includes/build/editor.js:4
    12021199msgid "The minimum required screen width is 1000px."
    12031200msgstr "La largeur d’écran minimale est de 1000px."
    12041201
    1205 #: includes/build/editor.js:1
     1202#: includes/build/editor.js:4
    12061203msgid "Close dialog"
    12071204msgstr "Fermer la boîte de dialogue"
    … …  
    14121409msgid "Setting saved."
    14131410msgstr "Réglage enregistré."
     1411
     1412#. translators: 1: the slug of a user role, 2: the menu title of a page
     1413#: App/ImportExport/Importer.php:118
     1414msgid "The role \"%1$s\" of the page \"%2$s\" does not exist on this site. Until it does, users with that role cannot open the page."
     1415msgstr "Le rôle « %1$s » de la page « %2$s » n’existe pas sur ce site. Tant qu’il n’existe pas, les utilisateurs ayant ce rôle ne peuvent pas ouvrir la page."
     1416
     1417#. translators: %s: where in the file
     1418#: App/ImportExport/SchemaValidator.php:92
     1419msgid "%s has characters that are not allowed."
     1420msgstr "%s contient des caractères non autorisés."
     1421
     1422#. translators: %s: the slug of a role that does not exist on this site
     1423#: includes/build/editor.js:2
     1424msgid "%s (no longer available)"
     1425msgstr "%s (n’est plus disponible)"
     1426
     1427#. translators: 1: the name of a role, 2: the number of users with that role
     1428#: includes/build/editor.js:3
     1429msgid "%1$s (%2$d user)"
     1430msgid_plural "%1$s (%2$d users)"
     1431msgstr[0] "%1$s (%2$d utilisateur)"
     1432msgstr[1] "%1$s (%2$d utilisateurs)"
     1433
     1434#: includes/build/editor.js:3
     1435msgid "Administrator"
     1436msgstr "Administrateur"
     1437
     1438#: App/Admin/AdminPages/views/whats-new.php:34
     1439#: includes/build/editor.js:3
     1440#: includes/build/editor.js:4
     1441msgid "Who can edit"
     1442msgstr "Qui peut modifier"
     1443
     1444#. translators: %d: the number of roles besides administrator that can edit the page
     1445#: includes/build/editor.js:4
     1446msgid "Administrator + %d other"
     1447msgid_plural "Administrator + %d others"
     1448msgstr[0] "Administrateur + %d autre"
     1449msgstr[1] "Administrateur + %d autres"
     1450
     1451#: includes/build/editor.js:4
     1452msgid "Administrators always have access."
     1453msgstr "Les administrateurs ont toujours accès."
     1454
     1455#: includes/build/editor.js:4
     1456msgid "Users with this role cannot open the dashboard."
     1457msgstr "Les utilisateurs ayant ce rôle ne peuvent pas ouvrir le tableau de bord."
     1458
     1459#: includes/build/editor.js:4
     1460msgid "Done"
     1461msgstr "Terminé"
     1462
     1463#: App/Admin/AdminPages/SubpageWhatsNew.php:120
     1464msgid "Admin Options Pages 1.1 is here."
     1465msgstr "Admin Options Pages 1.1 est arrivé."
     1466
     1467#: App/Admin/AdminPages/SubpageWhatsNew.php:121
     1468msgid "You now choose per page which roles can edit it. Have a look at who can edit your pages."
     1469msgstr "Vous choisissez désormais pour chaque page les rôles qui peuvent la modifier. Vérifiez qui peut modifier vos pages."
     1470
     1471#: App/Admin/AdminPages/views/whats-new-1.0.php:122
     1472msgid "What is new in 1.1"
     1473msgstr "Les nouveautés de la 1.1"
     1474
     1475#: App/Admin/AdminPages/views/whats-new.php:20
     1476msgid "Admin Options Pages 1.1"
     1477msgstr "Admin Options Pages 1.1"
     1478
     1479#: App/Admin/AdminPages/views/whats-new.php:22
     1480msgid "Choose who can edit each page."
     1481msgstr "Choisissez qui peut modifier chaque page."
     1482
     1483#: App/Admin/AdminPages/views/whats-new.php:27
     1484msgid "Welcome to Admin Options Pages 1.1"
     1485msgstr "Bienvenue dans Admin Options Pages 1.1"
     1486
     1487#: App/Admin/AdminPages/views/whats-new.php:36
     1488msgid "Tick the roles that may edit a page."
     1489msgstr "Cochez les rôles qui peuvent modifier une page."
     1490
     1491#: App/Admin/AdminPages/views/whats-new.php:37
     1492msgid "Open a page in the editor and click the button next to \"Who can edit\". Every role of your site is there, also the roles of other plugins and the roles you made yourself. Users with a ticked role see the page in their menu and can save it; nobody else can."
     1493msgstr "Ouvrez une page dans l’éditeur et cliquez sur le bouton à côté de « Qui peut modifier ». Tous les rôles de votre site y figurent, y compris ceux d’autres extensions et ceux que vous avez créés. Les utilisateurs ayant un rôle coché voient la page dans leur menu et peuvent l’enregistrer ; personne d’autre ne le peut."
     1494
     1495#: App/Admin/AdminPages/views/whats-new.php:39
     1496msgid "Administrators can always open every page, and only administrators can build and change the pages themselves."
     1497msgstr "Les administrateurs peuvent toujours ouvrir toutes les pages, et seuls les administrateurs peuvent créer et modifier les pages elles-mêmes."
     1498
     1499#: App/Admin/AdminPages/views/whats-new.php:42
     1500msgid "The dialog \"Who can edit\" with a checkbox for every role of the site"
     1501msgstr "La fenêtre « Qui peut modifier » avec une case à cocher pour chaque rôle du site"
     1502
     1503#: App/Admin/AdminPages/views/whats-new.php:48
     1504msgid "What happens to your pages"
     1505msgstr "Ce qui arrive à vos pages"
     1506
     1507#: App/Admin/AdminPages/views/whats-new.php:49
     1508msgid "Nothing changes until you save a page again. A page that was set to Editor opens in the editor with the roles ticked that can edit it now: usually Editor, and with WooCommerce also Shop manager. Save the page to keep it that way, or change the roles first."
     1509msgstr "Rien ne change tant que vous n’enregistrez pas une page à nouveau. Une page réglée sur Éditeur s’ouvre dans l’éditeur avec les rôles cochés qui peuvent la modifier aujourd’hui : en général Éditeur, et avec WooCommerce aussi Gestionnaire de la boutique. Enregistrez la page pour garder cela, ou modifiez d’abord les rôles."
     1510
     1511#: App/Admin/AdminPages/views/whats-new.php:50
     1512msgid "From then on the ticked roles decide, not what a role may do elsewhere on the site. Did someone get access without one of these roles? Tick a role they have, or give them access to that page with a plugin that manages roles."
     1513msgstr "Ensuite, ce sont les rôles cochés qui décident, et non ce qu’un rôle peut faire ailleurs sur le site. Quelqu’un avait accès sans l’un de ces rôles ? Cochez un rôle qu’il possède, ou donnez-lui accès à cette page avec une extension de gestion des rôles."
     1514
     1515#: App/Admin/AdminPages/views/whats-new.php:56
     1516msgid "One user, one page"
     1517msgstr "Un utilisateur, une page"
     1518
     1519#: App/Admin/AdminPages/views/whats-new.php:57
     1520msgid "With a plugin that manages roles, such as Members or User Role Editor, you can give a single user access to a single page: every page is listed there under Admin Options Pages."
     1521msgstr "Avec une extension de gestion des rôles, comme Members ou User Role Editor, vous donnez à un seul utilisateur l’accès à une seule page : chaque page y figure sous Admin Options Pages."
     1522
     1523#: App/Admin/AdminPages/views/whats-new.php:60
     1524msgid "Roles move with your pages"
     1525msgstr "Les rôles suivent vos pages"
     1526
     1527#: App/Admin/AdminPages/views/whats-new.php:61
     1528msgid "An export takes the roles of every page with it. When a role does not exist on the site you import to, the preview tells you; the page is imported all the same."
     1529msgstr "Un export emporte les rôles de chaque page. Si un rôle n’existe pas sur le site où vous importez, l’aperçu vous le dit ; la page est tout de même importée."
     1530
     1531#: App/Admin/AdminPages/views/whats-new.php:64
     1532msgid "No dead ends"
     1533msgstr "Pas d’impasse"
     1534
     1535#: App/Admin/AdminPages/views/whats-new.php:65
     1536msgid "The editor tells you when a ticked role cannot open the dashboard at all, such as the Customer role of WooCommerce."
     1537msgstr "L’éditeur vous prévient lorsqu’un rôle coché ne peut pas du tout ouvrir le tableau de bord, comme le rôle Client de WooCommerce."
     1538
     1539#: App/Admin/AdminPages/views/whats-new.php:72
     1540msgid "Admin Options Pages 1.1 needs WordPress 6.9 or later and PHP 8.1 or later, like 1.0."
     1541msgstr "Admin Options Pages 1.1 nécessite WordPress 6.9 ou plus récent et PHP 8.1 ou plus récent, comme la 1.0."
     1542
     1543#: App/Admin/AdminPages/views/whats-new.php:77
     1544msgid "What was new in 1.0"
     1545msgstr "Les nouveautés de la 1.0"
     1546
     1547#: App/Admin/AdminPages/views/whats-new.php:28
     1548msgid "Your clients and colleagues now get exactly the pages they need. Choose the right roles for each page: Editor, Shop manager, Author, or a role you made yourself."
     1549msgstr "Vos clients et collègues obtiennent désormais exactement les pages dont ils ont besoin. Choisissez les bons rôles pour chaque page : Éditeur, Gestionnaire de la boutique, Auteur ou un rôle que vous avez créé vous-même."
  • admin-options-pages/trunk/languages/admin-options-pages-nl_NL-40ab473175f2d6a502e444c4dd505d9d.json

    r3736451 r3750608  
    1 {"translation-revision-date":"2026-10-09T10:01:38+00:00","generator":"WP-CLI\/2.11.0","source":"includes\/build\/editor.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"nl","plural-forms":"nplurals=2; plural=(n != 1);"},"Settings":["Instellingen"],"Documentation":["Documentatie"],"Title":["Titel"],"Position":["Positie"],"Are you sure?":["Weet je het zeker?"],"Cancel":["Annuleren"],"Delete":["Verwijderen"],"Field label":["Veldlabel"],"Field name":["Veldnaam"],"Autoload":["Autoload"],"Use in shortcode and blocks":["In shortcode en blokken gebruiken"],"Additional CSS Class(es)":["Extra CSS-klasse(n)"],"Description":["Beschrijving"],"Default value":["Standaardwaarde"],"Button group":["Knoppengroep"],"Field values":["Veldwaarden"],"Checkbox":["Selectievakje"],"Text when checked":["Tekst als aangevinkt"],"Text when not checked":["Tekst als niet aangevinkt"],"Text after input field":["Tekst na het invoerveld"],"Color picker":["Kleurkiezer"],"Default color (HEX)":["Standaardkleur (HEX)"],"Date":["Datum"],"Field style":["Veldstijl"],"Date and time":["Datum en tijd"],"Email":["E-mail"],"Placeholder":["Plaatshouder"],"File":["Bestand"],"Allowed file types":["Toegestane bestandstypes"],"Horizontal rule":["Horizontale lijn"],"Image":["Afbeelding"],"Allowed extensions":["Toegestane extensies"],"Link":["Link"],"Number":["Getal"],"Minimum value":["Minimumwaarde"],"Maximum value":["Maximumwaarde"],"Decimals":["Decimalen"],"Password":["Wachtwoord"],"Radio buttons":["Keuzerondjes"],"Range":["Bereik"],"Select":["Selecteren"],"Textarea":["Tekstvak"],"Description italic":["Beschrijving cursief"],"Text field":["Tekstveld"],"Formatted as code":["Opgemaakt als code"],"Time":["Tijd"],"Wysiwyg editor":["Wysiwyg-editor"],"Show media upload buttons":["Knoppen voor media uploaden tonen"],"Toolbar":["Werkbalk"],"Icon":["Pictogram"],"Choose an icon":["Kies een pictogram"],"Search for an icon\u2026":["Zoek een pictogram\u2026"],"Nothing found.":["Niets gevonden."],"Add New Page":["Nieuwe pagina toevoegen"],"Menu Type":["Menutype"],"Custom menu":["Eigen menu"],"Existing menu":["Bestaand menu"],"Menu title":["Menutitel"],"Close settings":["Instellingen sluiten"],"Move left":["Naar links verplaatsen"],"Move up":["Omhoog verplaatsen"],"Move right":["Naar rechts verplaatsen"],"Move down":["Omlaag verplaatsen"],"Drag to reorder":["Slepen om de volgorde te wijzigen"],"Add block":["Blok toevoegen"],"Value":["Waarde"],"Label":["Label"],"Delete this row":["Deze rij verwijderen"],"Add a row":["Een rij toevoegen"],"Help":["Help"],"Shortcode":["Shortcode"],"Copied!":["Gekopieerd!"],"Copy":["Kopi\u00ebren"],"With get_option() the value is always available in PHP, also when this is off.":["Met get_option() is de waarde in PHP altijd beschikbaar, ook als dit uit staat."],"Field":["Veld"],"This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.":["Dit veldtype is niet beschikbaar. Activeer de plugin die het levert. Er is niets verwijderd: het veld wordt opgeslagen zoals het is."],"Options":["Opties"],"Regular":["Normaal"],"Small":["Klein"],"Large":["Groot"],"Standard":["Standaard"],"0":["0"],"1":["1"],"2":["2"],".jpeg .jpg":[".jpeg .jpg"],".png":[".png"],".gif":[".gif"],".svg":[".svg"],"This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.":["Deze site staat geen SVG-uploads toe. Een plugin zoals Safe SVG voegt dat veilig toe."],".ico":[".ico"],"Full":["Volledig"],"Basic":["Basis"],".pdf":[".pdf"],".doc":[".doc"],".docx":[".docx"],".xls":[".xls"],".xlsx":[".xlsx"],".csv":[".csv"],".zip":[".zip"],".txt":[".txt"],"Add a field":["Een veld toevoegen"],"Search\u2026":["Zoeken\u2026"],"Options fields":["Optievelden"],"Static content":["Vaste inhoud"],"Menu page title":["Paginatitel in menu"],"Page title":["Paginatitel"],"Page title on top":["Paginatitel bovenaan"],"Show page with tab":["Pagina met tab tonen"],"User access level":["Toegangsniveau"],"Visit Page":["Pagina bekijken"],"Delete Page":["Pagina verwijderen"],"Saving failed.":["Opslaan mislukt."],"At this moment there is no proper support for small\/mobile screens.":["Op dit moment worden kleine\/mobiele schermen niet goed ondersteund."],"We hope to fix this in a future version.":["We hopen dit in een volgende versie op te lossen."],"The minimum required screen width is 1000px.":["De minimale schermbreedte is 1000px."],"Close dialog":["Dialoogvenster sluiten"]}}}
     1{"translation-revision-date":"2026-10-09T10:01:38+00:00","generator":"WP-CLI\/2.11.0","source":"includes\/build\/editor.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"nl","plural-forms":"nplurals=2; plural=(n != 1);"},"Settings":["Instellingen"],"Documentation":["Documentatie"],"Title":["Titel"],"Position":["Positie"],"Are you sure?":["Weet je het zeker?"],"Cancel":["Annuleren"],"Delete":["Verwijderen"],"Field label":["Veldlabel"],"Field name":["Veldnaam"],"Autoload":["Autoload"],"Use in shortcode and blocks":["In shortcode en blokken gebruiken"],"Additional CSS Class(es)":["Extra CSS-klasse(n)"],"Description":["Beschrijving"],"Default value":["Standaardwaarde"],"Button group":["Knoppengroep"],"Field values":["Veldwaarden"],"Checkbox":["Selectievakje"],"Text when checked":["Tekst als aangevinkt"],"Text when not checked":["Tekst als niet aangevinkt"],"Text after input field":["Tekst na het invoerveld"],"Color picker":["Kleurkiezer"],"Default color (HEX)":["Standaardkleur (HEX)"],"Date":["Datum"],"Field style":["Veldstijl"],"Date and time":["Datum en tijd"],"Email":["E-mail"],"Placeholder":["Plaatshouder"],"File":["Bestand"],"Allowed file types":["Toegestane bestandstypes"],"Horizontal rule":["Horizontale lijn"],"Image":["Afbeelding"],"Allowed extensions":["Toegestane extensies"],"Link":["Link"],"Number":["Getal"],"Minimum value":["Minimumwaarde"],"Maximum value":["Maximumwaarde"],"Decimals":["Decimalen"],"Password":["Wachtwoord"],"Radio buttons":["Keuzerondjes"],"Range":["Bereik"],"Select":["Selecteren"],"Textarea":["Tekstgebied"],"Description italic":["Beschrijving cursief"],"Text field":["Tekstveld"],"Formatted as code":["Opgemaakt als code"],"Time":["Tijd"],"Wysiwyg editor":["Wysiwyg-editor"],"Show media upload buttons":["Knoppen voor media uploaden tonen"],"Toolbar":["Toolbar"],"Icon":["Icoon"],"Choose an icon":["Kies een icoon"],"Search for an icon\u2026":["Zoek een icoon\u2026"],"Nothing found.":["Niets gevonden."],"Add New Page":["Nieuwe pagina toevoegen"],"Menu Type":["Menutype"],"Custom menu":["Eigen menu"],"Existing menu":["Bestaand menu"],"Menu title":["Menutitel"],"Close settings":["Instellingen sluiten"],"Move left":["Naar links verplaatsen"],"Move up":["Omhoog verplaatsen"],"Move right":["Naar rechts verplaatsen"],"Move down":["Omlaag verplaatsen"],"Drag to reorder":["Slepen om de volgorde te wijzigen"],"Add block":["Blok toevoegen"],"Value":["Waarde"],"Label":["Label"],"Delete this row":["Deze rij verwijderen"],"Add a row":["Een rij toevoegen"],"Help":["Help"],"Shortcode":["Shortcode"],"Copied!":["Gekopieerd!"],"Copy":["Kopi\u00ebren"],"With get_option() the value is always available in PHP, also when this is off.":["Met get_option() is de waarde in PHP altijd beschikbaar, ook als dit uit staat."],"Field":["Veld"],"This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.":["Dit veldtype is niet beschikbaar. Activeer de plugin die het levert. Er is niets verwijderd: het veld wordt opgeslagen zoals het is."],"Options":["Opties"],"Regular":["Normaal"],"Small":["Klein"],"Large":["Groot"],"Standard":["Standaard"],"0":["0"],"1":["1"],"2":["2"],".jpeg .jpg":[".jpeg .jpg"],".png":[".png"],".gif":[".gif"],".svg":[".svg"],"This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.":["Deze site staat geen SVG-uploads toe. Een plugin zoals Safe SVG voegt dat veilig toe."],".ico":[".ico"],"Full":["Volledig"],"Basic":["Basis"],".pdf":[".pdf"],".doc":[".doc"],".docx":[".docx"],".xls":[".xls"],".xlsx":[".xlsx"],".csv":[".csv"],".zip":[".zip"],".txt":[".txt"],"Add a field":["Een veld toevoegen"],"Search\u2026":["Zoeken\u2026"],"Options fields":["Optievelden"],"Static content":["Statische content"],"Menu page title":["Paginatitel in menu"],"Page title":["Paginatitel"],"Page title on top":["Paginatitel bovenaan"],"Show page with tab":["Pagina met tab tonen"],"Visit Page":["Pagina bekijken"],"Delete Page":["Pagina verwijderen"],"Saving failed.":["Opslaan mislukt."],"At this moment there is no proper support for small\/mobile screens.":["Op dit moment worden kleine\/mobiele schermen niet goed ondersteund."],"We hope to fix this in a future version.":["We hopen dit in een volgende versie op te lossen."],"The minimum required screen width is 1000px.":["De minimale schermbreedte is 1000px."],"Close dialog":["Dialoogvenster sluiten"],"%s (no longer available)":["%s (niet meer beschikbaar)"],"%1$s (%2$d user)":["%1$s (%2$d gebruiker)","%1$s (%2$d gebruikers)"],"Administrator":["Beheerder"],"Who can edit":["Wie kan bewerken"],"Administrator + %d other":["Beheerder + %d andere","Beheerder + %d andere"],"Administrators always have access.":["Beheerders hebben altijd toegang."],"Users with this role cannot open the dashboard.":["Gebruikers met deze rol kunnen het dashboard niet openen."],"Done":["Klaar"]}}}
  • admin-options-pages/trunk/languages/admin-options-pages-nl_NL.l10n.php

    r3736451 r3750608  
    11<?php
    2 return ['domain'=>'admin-options-pages','plural-forms'=>'nplurals=2; plural=(n != 1);','language'=>'nl','project-id-version'=>'Admin Options Pages 1.0.0','pot-creation-date'=>'2026-10-09T10:01:38+00:00','po-revision-date'=>'2026-10-09T10:01:38+00:00','x-generator'=>'WP-CLI 2.11.0','messages'=>['Admin Options Pages'=>'Admin Options Pages','https://adminoptionspages.com'=>'https://adminoptionspages.com','Create and edit your own options pages with ease.'=>'Maak en bewerk eenvoudig je eigen optiepagina\'s.','Johannes van Poelgeest'=>'Johannes van Poelgeest','https://poolghost.com'=>'https://poolghost.com','Options Pages'=>'Optiepagina\'s','All Options Pages'=>'Alle optiepagina\'s','Add new'=>'Nieuwe toevoegen','edit Page'=>'Pagina bewerken','What\'s new in Admin Options Pages 1.0'=>'Wat is er nieuw in Admin Options Pages 1.0','What\'s new'=>'Wat is er nieuw','Settings'=>'Instellingen','Import / Export'=>'Importeren / exporteren','Saved.'=>'Opgeslagen.','Updated.'=>'Bijgewerkt.','Pages deleted.'=>'Pagina\'s verwijderd.','Page deleted.'=>'Pagina verwijderd.','You attempted to edit a menu that does not exist. Perhaps it was deleted?'=>'Je probeert een menu te bewerken dat niet bestaat. Misschien is het verwijderd?','Go to all options pages'=>'Naar alle optiepagina\'s','Menu not found'=>'Menu niet gevonden','Global Settings'=>'Algemene instellingen','Sorry, you are not allowed to export.'=>'Je hebt geen toestemming om te exporteren.','Creating options pages has never been easier.'=>'Optiepagina\'s maken was nog nooit zo eenvoudig.','Documentation'=>'Documentatie','love'=>'fijn vindt','five stars'=>'vijf sterren','If you really %1$s this plugin, consider giving some %2$s to help make %3$s more known.'=>'Als je deze plugin echt %1$s, geef dan %2$s om %3$s bekender te maken.','Admin Options Pages 1.0 is here.'=>'Admin Options Pages 1.0 is er.','Import and export with your data, your own field types, nine new field types and your values on your website.'=>'Importeren en exporteren met je gegevens, je eigen veldtypes, negen nieuwe veldtypes en je waarden op je website.','See what\'s new'=>'Bekijk wat er nieuw is','Admin Options Pages 1.0'=>'Admin Options Pages 1.0','Import and export with your data, your own field types and your values on your website.'=>'Importeren en exporteren met je gegevens, je eigen veldtypes en je waarden op je website.','Welcome to Admin Options Pages 1.0'=>'Welkom bij Admin Options Pages 1.0','This is the biggest update of the plugin so far. Menus now move to another site with all their values, so the options pages you built and filled locally go live in one file. You can add field types of your own, there are nine new built-in ones, and the values of your fields can be shown on your website without code. Your menus, pages, fields and values are all still here.'=>'Dit is de grootste update van de plugin tot nu toe. Menu\'s gaan nu met al hun waarden naar een andere site, dus de optiepagina\'s die je lokaal hebt gebouwd en gevuld, gaan in één bestand live. Je kunt eigen veldtypes toevoegen, er zijn negen nieuwe ingebouwde, en de waarden van je velden kun je zonder code op je website tonen. Je menu\'s, pagina\'s, velden en waarden zijn er allemaal nog.','Import and export, with your data'=>'Importeren en exporteren, met je gegevens','Build and fill your options pages locally, then take them live in one file.'=>'Bouw en vul je optiepagina\'s lokaal, en zet ze daarna in één bestand live.','Export the menus you choose together with the values of their fields, and import them on your live site, a staging site or your next project. No more typing the same settings twice.'=>'Exporteer de menu\'s die je kiest samen met de waarden van hun velden, en importeer ze op je live site, een testsite of je volgende project. Nooit meer dezelfde instellingen twee keer invullen.','Before anything changes you see what would happen, and you choose per menu, page, field and value. Nothing is replaced unless you choose it, and an import is all or nothing. Exports made with 0.9 can be imported too.'=>'Voordat er iets verandert, zie je wat er zou gebeuren, en je kiest per menu, pagina, veld en waarde. Er wordt niets vervangen tenzij je dat kiest, en een import gebeurt helemaal of helemaal niet. Exports van 0.9 kun je ook importeren.','The preview of an import, with a checkbox for every menu, page, field and value'=>'De preview van een import, met een selectievakje voor elk menu, elke pagina, elk veld en elke waarde','An options page with a logo, a brand color and contact details'=>'Een optiepagina met een logo, een merkkleur en contactgegevens','Nine new field types'=>'Negen nieuwe veldtypes','Email, Link, Password, Date, Time, Date and time, Range, Button group and File.'=>'E-mail, Link, Wachtwoord, Datum, Tijd, Datum en tijd, Bereik, Knoppengroep en Bestand.','That makes 21 field types. Each one checks what is entered, and an image or file field only accepts the file types you choose, also when something is uploaded.'=>'Daarmee zijn er 21 veldtypes. Elk type controleert wat er wordt ingevuld, en een afbeeldings- of bestandsveld accepteert alleen de bestandstypes die je kiest, ook bij het uploaden.','Your own field types'=>'Je eigen veldtypes','Need a field that is not there? Add it yourself.'=>'Mis je een veld? Voeg het zelf toe.','Register a field type from your theme or plugin with one class: what the editor asks for, how the value is checked and stored, and how it shows on the options page and on your website. It appears in the field picker next to the built-in types, which use exactly the same API.'=>'Registreer een veldtype vanuit je thema of plugin met één klasse: wat de editor vraagt, hoe de waarde wordt gecontroleerd en opgeslagen, en hoe hij op de optiepagina en op je website wordt getoond. Hij verschijnt in de veldkiezer naast de ingebouwde types, die precies dezelfde API gebruiken.','The Field Types API is stable from 1.0 on and follows semantic versioning, so your field types keep working with the next versions.'=>'De Field Types API is stabiel vanaf 1.0 en volgt semantic versioning, dus je veldtypes blijven werken met de volgende versies.','A paragraph connected to a field in the Attributes panel'=>'Een alinea gekoppeld aan een veld in het paneel Attributen','Your values on your website'=>'Je waarden op je website','With a shortcode or a block, no code needed.'=>'Met een shortcode of een blok, zonder code.','Put a field in a post with [aop_option name="…"], or connect a paragraph, heading, button or image to it in the Attributes panel of the block editor. Change the value once, and it changes everywhere.'=>'Zet een veld in een bericht met [aop_option name="…"], of koppel er een alinea, kop, knop of afbeelding aan in het paneel Attributen van de blokeditor. Pas de waarde één keer aan, en hij verandert overal.','Switch on "Use in shortcode and blocks" for the fields you want to show. Fields made before 1.0 have it off, so nothing appears on your website by itself.'=>'Zet "In shortcode en blokken gebruiken" aan voor de velden die je wilt tonen. Bij velden die vóór 1.0 zijn gemaakt staat het uit, dus er verschijnt niets vanzelf op je website.','Rewritten in React'=>'Herschreven in React','Under the hood the editor is rewritten in React, the WordPress way: with the components and the data store the block editor is made of.'=>'Onder de motorkap is de editor herschreven in React, op de manier van WordPress: met de componenten en de datastore waar de blokeditor van gemaakt is.','Change any saved value'=>'Elke opgeslagen waarde aanpassen','Developers can change the value of any field before it is stored with the new filters aop_sanitized_option and aop_sanitized_option_{name}.'=>'Developers kunnen de waarde van elk veld aanpassen voordat hij wordt opgeslagen, met de nieuwe filters aop_sanitized_option en aop_sanitized_option_{name}.','A safe upgrade'=>'Een veilige upgrade','Your pages are stored in a new format now. A copy in the old format is kept for 90 days.'=>'Je pagina\'s worden nu in een nieuw formaat opgeslagen. Een kopie in het oude formaat wordt 90 dagen bewaard.','Requirements'=>'Vereisten','Admin Options Pages 1.0 needs WordPress 6.9 or later and PHP 8.1 or later.'=>'Admin Options Pages 1.0 heeft WordPress 6.9 of hoger en PHP 8.1 of hoger nodig.','Go to your options pages'=>'Naar je optiepagina\'s','Read the documentation'=>'Lees de documentatie','media modal menuMenu'=>'Menu','Title'=>'Titel','Position'=>'Positie','Pages'=>'Pagina\'s','Dismiss this notice.'=>'Deze melding verbergen.','Publish'=>'Publiceren','Are you sure?'=>'Weet je het zeker?','Cancel'=>'Annuleren','Delete'=>'Verwijderen','User roleAdministrator'=>'Beheerder','User roleEditor'=>'Redacteur','Save'=>'Opslaan','New Pages'=>'Nieuwe pagina\'s','Update'=>'Bijwerken','Edit Pages'=>'Pagina\'s bewerken','List View'=>'Lijstweergave','Excerpt View'=>'Samenvattingsweergave','No items found.'=>'Geen items gevonden.','Show more details'=>'Meer details tonen','%s item'=>'%s item' . "\0" . '%s items','First page'=>'Eerste pagina','Previous page'=>'Vorige pagina','Current Page'=>'Huidige pagina','paging%1$s of %2$s'=>'%1$s van %2$s','Next page'=>'Volgende pagina','Last page'=>'Laatste pagina','Select All'=>'Alles selecteren','Edit'=>'Bewerken','The link you followed has expired.'=>'De link die je hebt gevolgd is verlopen.','The field type "%1$s" of the option "%2$s" is not available, so the field is not shown. Activate the plugin that provides it. Nothing was deleted.'=>'Het veldtype "%1$s" van de optie "%2$s" is niet beschikbaar, daarom wordt het veld niet getoond. Activeer de plugin die het levert. Er is niets verwijderd.','%s is not a field type.'=>'%s is geen veldtype.','The field type "%1$s" is already registered; %2$s was ignored.'=>'Het veldtype "%1$s" is al geregistreerd; %2$s is genegeerd.','%1$s is not the class of the field type "%2$s".'=>'%1$s is niet de klasse van het veldtype "%2$s".','Field label'=>'Veldlabel','Field name'=>'Veldnaam','Autoload'=>'Autoload','Use in shortcode and blocks'=>'In shortcode en blokken gebruiken','Additional CSS Class(es)'=>'Extra CSS-klasse(n)','Description'=>'Beschrijving','Default value'=>'Standaardwaarde','Button group'=>'Knoppengroep','Field values'=>'Veldwaarden','Checkbox'=>'Selectievakje','Text when checked'=>'Tekst als aangevinkt','Text when not checked'=>'Tekst als niet aangevinkt','Text after input field'=>'Tekst na het invoerveld','Color picker'=>'Kleurkiezer','Default color (HEX)'=>'Standaardkleur (HEX)','Date'=>'Datum','Field style'=>'Veldstijl','Date and time'=>'Datum en tijd','Email'=>'E-mail','Placeholder'=>'Plaatshouder','File'=>'Bestand','Allowed file types'=>'Toegestane bestandstypes','Upload'=>'Uploaden','Horizontal rule'=>'Horizontale lijn','Image'=>'Afbeelding','Allowed extensions'=>'Toegestane extensies','Link'=>'Link','Number'=>'Getal','Minimum value'=>'Minimumwaarde','Maximum value'=>'Maximumwaarde','Decimals'=>'Decimalen','Password'=>'Wachtwoord','Radio buttons'=>'Keuzerondjes','Range'=>'Bereik','Select'=>'Selecteren','Textarea'=>'Tekstvak','Description italic'=>'Beschrijving cursief','Text field'=>'Tekstveld','Formatted as code'=>'Opgemaakt als code','Time'=>'Tijd','Wysiwyg editor'=>'Wysiwyg-editor','Show media upload buttons'=>'Knoppen voor media uploaden tonen','Toolbar'=>'Werkbalk','The value on this settings field is not allowed.'=>'De waarde van dit instellingenveld is niet toegestaan.','Some of the value on this settings field is not allowed.'=>'Een deel van de waarde van dit instellingenveld is niet toegestaan.','This is not a correct formatted Hex color.'=>'Dit is geen correct opgemaakte hex-kleur.','the shortcode has no name="..."'=>'de shortcode heeft geen name="..."','"Use in shortcode and blocks" is off for this field, or its type cannot be shown'=>'"In shortcode en blokken gebruiken" staat uit voor dit veld, of het type kan niet worden getoond','this is not an option of Admin Options Pages'=>'dit is geen optie van Admin Options Pages','The database tables of this site cannot roll back. If something goes wrong halfway, part of the import may remain.'=>'De databasetabellen van deze site kunnen niet terugdraaien. Gaat er halverwege iets mis, dan kan een deel van de import blijven staan.','This menu is in the file more than once.'=>'Dit menu staat meer dan één keer in het bestand.','The menu on this site was saved by a newer version of the plugin. Update the plugin first.'=>'Het menu op deze site is opgeslagen met een nieuwere versie van de plugin. Werk eerst de plugin bij.','Another menu on this site already has the id of this menu.'=>'Een ander menu op deze site heeft al de id van dit menu.','The option name "%s" is used by more than one menu in the file.'=>'De optienaam "%s" wordt in het bestand door meer dan één menu gebruikt.','The field type "%s" is not available on this site. Activate the plugin that provides it.'=>'Het veldtype "%s" is niet beschikbaar op deze site. Activeer de plugin die het levert.','This is not a valid option name.'=>'Dit is geen geldige optienaam.','This option name is used by WordPress or another plugin.'=>'Deze optienaam wordt gebruikt door WordPress of een andere plugin.','Something in this menu is not allowed.'=>'Iets in dit menu is niet toegestaan.','The name of this menu does not match what is in it.'=>'De naam van dit menu klopt niet met wat erin staat.','Checked'=>'Aangevinkt','Not checked'=>'Niet aangevinkt','Media ID %s'=>'Media-ID %s','This import has expired. Choose the file again.'=>'Deze import is verlopen. Kies het bestand opnieuw.','Without its first page the menu "%s" would get the name of a menu that is on this site already. Import the first page too, or choose another page as the first.'=>'Zonder de eerste pagina krijgt het menu "%s" de naam van een menu dat al op deze site staat. Importeer ook de eerste pagina, of kies een andere pagina als eerste.','A choice was made for a menu that is not in the file.'=>'Er is een keuze gemaakt voor een menu dat niet in het bestand staat.','A choice was made for a page or field that is not in the file.'=>'Er is een keuze gemaakt voor een pagina of veld dat niet in het bestand staat.','A menu needs at least one page.'=>'Een menu heeft minstens één pagina nodig.','That cannot be done with the menu "%s".'=>'Dat kan niet met het menu "%s".','That cannot be done with the option "%s".'=>'Dat kan niet met de optie "%s".','A menu in the file could not be saved. Nothing was imported.'=>'Een menu in het bestand kon niet worden opgeslagen. Er is niets geïmporteerd.','The value of "%s" was changed by its field type.'=>'De waarde van "%s" is aangepast door het veldtype.','The file is too large to import.'=>'Het bestand is te groot om te importeren.','This is not a JSON file, or it is not valid UTF-8.'=>'Dit is geen JSON-bestand, of het is geen geldige UTF-8.','This file does not look like an export of Admin Options Pages.'=>'Dit bestand lijkt geen export van Admin Options Pages.','This file has export format %1$d. This version of the plugin reads format %2$d. Update the plugin on this site and try again.'=>'Dit bestand heeft exportformaat %1$d. Deze versie van de plugin leest formaat %2$d. Werk de plugin op deze site bij en probeer het opnieuw.','%1$s must be of type %2$s.'=>'%1$s moet van het type %2$s zijn.','%s has a value that is not supported.'=>'%s heeft een waarde die niet wordt ondersteund.','%s has a value that is not allowed.'=>'%s heeft een waarde die niet is toegestaan.','%s does not have what it needs.'=>'%s heeft niet wat het nodig heeft.','%1$s is longer than %2$d characters.'=>'%1$s is langer dan %2$d tekens.','%s is empty.'=>'%s is leeg.','%1$s has more than %2$d items.'=>'%1$s heeft meer dan %2$d items.','%s has no items.'=>'%s heeft geen items.','%1$s has more than %2$d entries.'=>'%1$s heeft meer dan %2$d onderdelen.','%1$s misses "%2$s".'=>'%1$s mist "%2$s".','The file'=>'Het bestand','Choose a file to import.'=>'Kies een bestand om te importeren.','The request is not complete.'=>'Het verzoek is niet compleet.','The page is not valid.'=>'De pagina is niet geldig.','This page does not exist.'=>'Deze pagina bestaat niet.','There are no pages to save.'=>'Er zijn geen pagina\'s om op te slaan.','Every page needs a menu title.'=>'Elke pagina heeft een menutitel nodig.','"%s" is not a valid option name.'=>'"%s" is geen geldige optienaam.','Every field with an option needs an option name.'=>'Elk veld met een optie heeft een optienaam nodig.','The option name "%s" is used more than once.'=>'De optienaam "%s" wordt meer dan één keer gebruikt.','The option name "%s" is already in use.'=>'De optienaam "%s" is al in gebruik.','This menu is already used by another options page.'=>'Dit menu wordt al door een andere optiepagina gebruikt.','The menu position is not valid.'=>'De menupositie is niet geldig.','The menu title is not valid.'=>'De menutitel is niet geldig.','The menu icon is not valid.'=>'Het menupictogram is niet geldig.','Select or upload a file'=>'Een bestand selecteren of uploaden','Use this file'=>'Dit bestand gebruiken','Allowed files'=>'Toegestane bestanden','Select or upload image'=>'Een afbeelding selecteren of uploaden','Use this image'=>'Deze afbeelding gebruiken','Icon'=>'Pictogram','Choose an icon'=>'Kies een pictogram','Search for an icon…'=>'Zoek een pictogram…','Nothing found.'=>'Niets gevonden.','Add New Page'=>'Nieuwe pagina toevoegen','Menu Type'=>'Menutype','Custom menu'=>'Eigen menu','Existing menu'=>'Bestaand menu','Menu title'=>'Menutitel','Close settings'=>'Instellingen sluiten','Move left'=>'Naar links verplaatsen','Move up'=>'Omhoog verplaatsen','Move right'=>'Naar rechts verplaatsen','Move down'=>'Omlaag verplaatsen','Drag to reorder'=>'Slepen om de volgorde te wijzigen','Add block'=>'Blok toevoegen','Value'=>'Waarde','Label'=>'Label','Delete this row'=>'Deze rij verwijderen','Add a row'=>'Een rij toevoegen','Help'=>'Help','Shortcode'=>'Shortcode','Copied!'=>'Gekopieerd!','Copy'=>'Kopiëren','With get_option() the value is always available in PHP, also when this is off.'=>'Met get_option() is de waarde in PHP altijd beschikbaar, ook als dit uit staat.','Field'=>'Veld','This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.'=>'Dit veldtype is niet beschikbaar. Activeer de plugin die het levert. Er is niets verwijderd: het veld wordt opgeslagen zoals het is.','Options'=>'Opties','Regular'=>'Normaal','Small'=>'Klein','Large'=>'Groot','Standard'=>'Standaard',0=>'0',1=>'1',2=>'2','.jpeg .jpg'=>'.jpeg .jpg','.png'=>'.png','.gif'=>'.gif','.svg'=>'.svg','This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.'=>'Deze site staat geen SVG-uploads toe. Een plugin zoals Safe SVG voegt dat veilig toe.','.ico'=>'.ico','Full'=>'Volledig','Basic'=>'Basis','.pdf'=>'.pdf','.doc'=>'.doc','.docx'=>'.docx','.xls'=>'.xls','.xlsx'=>'.xlsx','.csv'=>'.csv','.zip'=>'.zip','.txt'=>'.txt','Add a field'=>'Een veld toevoegen','Search…'=>'Zoeken…','Options fields'=>'Optievelden','Static content'=>'Vaste inhoud','Menu page title'=>'Paginatitel in menu','Page title'=>'Paginatitel','Page title on top'=>'Paginatitel bovenaan','Show page with tab'=>'Pagina met tab tonen','User access level'=>'Toegangsniveau','Visit Page'=>'Pagina bekijken','Delete Page'=>'Pagina verwijderen','Saving failed.'=>'Opslaan mislukt.','At this moment there is no proper support for small/mobile screens.'=>'Op dit moment worden kleine/mobiele schermen niet goed ondersteund.','We hope to fix this in a future version.'=>'We hopen dit in een volgende versie op te lossen.','The minimum required screen width is 1000px.'=>'De minimale schermbreedte is 1000px.','Close dialog'=>'Dialoogvenster sluiten','The menus could not be loaded.'=>'De menu\'s konden niet worden geladen.','Export'=>'Exporteren','There\'s nothing to export.'=>'Er is niets om te exporteren.','Uncheck all'=>'Alles uitvinken','Check all'=>'Alles aanvinken','Export file'=>'Bestand exporteren','New'=>'Nieuw','Already on this site, replaced when checked'=>'Staat al op deze site, wordt vervangen als het is aangevinkt','Cannot be imported'=>'Kan niet worden geïmporteerd','Same value as on this site'=>'Dezelfde waarde als op deze site','Different value on this site, replaced when checked'=>'Andere waarde op deze site, wordt vervangen als het is aangevinkt','Belongs to something else'=>'Hoort bij iets anders','Menu'=>'Menu','The menu on this site is replaced by the one in the file, also when its fields are of another type. Options of fields that are not in the file any more are deleted.'=>'Het menu op deze site wordt vervangen door het menu in het bestand, ook als de velden een ander type hebben. Opties van velden die niet meer in het bestand staan, worden verwijderd.','(no title)'=>'(geen titel)','Main page'=>'Hoofdpagina','Page'=>'Pagina','No value in the file'=>'Geen waarde in het bestand','Field name:'=>'Veldnaam:','Field label:'=>'Veldlabel:','The field moves here from the menu "%s".'=>'Het veld verhuist hierheen uit het menu "%s".','Empty'=>'Leeg','Value in the file: %s'=>'Waarde in het bestand: %s','%1$s and %2$s'=>'%1$s en %2$s','%s has been imported'=>'%s is geïmporteerd','%s have been imported'=>'%s zijn geïmporteerd','%d menu has been imported'=>'%d menu is geïmporteerd' . "\0" . '%d menu\'s zijn geïmporteerd','%s has been replaced'=>'%s is vervangen','%s have been replaced'=>'%s zijn vervangen','%d menu has been replaced'=>'%d menu is vervangen' . "\0" . '%d menu\'s zijn vervangen','The import is done.'=>'De import is klaar.',', with %d value'=>', met %d waarde' . "\0" . ', met %d waarden','Something went wrong. Nothing was imported.'=>'Er ging iets mis. Er is niets geïmporteerd.','Import selection'=>'Selectie importeren','Choose another file'=>'Een ander bestand kiezen','Import'=>'Importeren','Drop the JSON file here'=>'Zet het JSON-bestand hier neer','Drop a JSON file here'=>'Zet een JSON-bestand hier neer','or'=>'of','Select a file'=>'Een bestand selecteren','Maximum file size: %s.'=>'Maximale bestandsgrootte: %s.','You see what would happen before anything is imported.'=>'Je ziet wat er zou gebeuren voordat er iets wordt geïmporteerd.','File: %s'=>'Bestand: %s','Import another file'=>'Een ander bestand importeren','Hide "Edit page" button'=>'Knop "Pagina bewerken" verbergen','The setting could not be saved.'=>'De instelling kon niet worden opgeslagen.','Setting saved.'=>'Instelling opgeslagen.']];
     2return ['domain'=>'admin-options-pages','plural-forms'=>'nplurals=2; plural=(n != 1);','language'=>'nl','project-id-version'=>'Admin Options Pages 1.0.0','pot-creation-date'=>'2026-10-09T10:01:38+00:00','po-revision-date'=>'2026-10-09T10:01:38+00:00','x-generator'=>'WP-CLI 2.11.0','messages'=>['Admin Options Pages'=>'Admin Options Pages','https://adminoptionspages.com'=>'https://adminoptionspages.com','Create and edit your own options pages with ease.'=>'Maak en bewerk eenvoudig je eigen optiepagina\'s.','Johannes van Poelgeest'=>'Johannes van Poelgeest','https://poolghost.com'=>'https://poolghost.com','Options Pages'=>'Optiepagina\'s','All Options Pages'=>'Alle optiepagina\'s','Add new'=>'Nieuwe toevoegen','edit Page'=>'Pagina bewerken','What\'s new in Admin Options Pages 1.0'=>'Wat is er nieuw in Admin Options Pages 1.0','What\'s new'=>'Wat is er nieuw','Settings'=>'Instellingen','Import / Export'=>'Importeren / exporteren','Saved.'=>'Opgeslagen.','Updated.'=>'Geüpdatet.','Pages deleted.'=>'Pagina\'s verwijderd.','Page deleted.'=>'Pagina verwijderd.','You attempted to edit a menu that does not exist. Perhaps it was deleted?'=>'Je probeert een menu te bewerken dat niet bestaat. Misschien is het verwijderd?','Go to all options pages'=>'Naar alle optiepagina\'s','Menu not found'=>'Menu niet gevonden','Global Settings'=>'Algemene instellingen','Sorry, you are not allowed to export.'=>'Je hebt geen toestemming om te exporteren.','Creating options pages has never been easier.'=>'Optiepagina\'s maken was nog nooit zo eenvoudig.','Documentation'=>'Documentatie','love'=>'fijn vindt','five stars'=>'vijf sterren','If you really %1$s this plugin, consider giving some %2$s to help make %3$s more known.'=>'Als je deze plugin echt %1$s, geef dan %2$s om %3$s bekender te maken.','See what\'s new'=>'Bekijk wat er nieuw is','Admin Options Pages 1.0'=>'Admin Options Pages 1.0','Import and export with your data, your own field types and your values on your website.'=>'Importeren en exporteren met je gegevens, je eigen veldtypes en je waarden op je site.','Welcome to Admin Options Pages 1.0'=>'Welkom bij Admin Options Pages 1.0','This is the biggest update of the plugin so far. Menus now move to another site with all their values, so the options pages you built and filled locally go live in one file. You can add field types of your own, there are nine new built-in ones, and the values of your fields can be shown on your website without code. Your menus, pages, fields and values are all still here.'=>'Dit is de grootste update van de plugin tot nu toe. Menu\'s gaan nu met al hun waarden naar een andere site, dus de optiepagina\'s die je lokaal hebt gebouwd en gevuld, gaan in één bestand live. Je kunt eigen veldtypes toevoegen, er zijn negen nieuwe ingebouwde, en de waarden van je velden kun je zonder code op je site tonen. Je menu\'s, pagina\'s, velden en waarden zijn er allemaal nog.','Import and export, with your data'=>'Importeren en exporteren, met je gegevens','Build and fill your options pages locally, then take them live in one file.'=>'Bouw en vul je optiepagina\'s lokaal, en zet ze daarna in één bestand live.','Export the menus you choose together with the values of their fields, and import them on your live site, a staging site or your next project. No more typing the same settings twice.'=>'Exporteer de menu\'s die je kiest samen met de waarden van hun velden, en importeer ze op je live site, een testsite of je volgende project. Nooit meer dezelfde instellingen twee keer invullen.','Before anything changes you see what would happen, and you choose per menu, page, field and value. Nothing is replaced unless you choose it, and an import is all or nothing. Exports made with 0.9 can be imported too.'=>'Voordat er iets verandert, zie je wat er zou gebeuren, en je kiest per menu, pagina, veld en waarde. Er wordt niets vervangen tenzij je dat kiest, en een import gebeurt helemaal of helemaal niet. Exports van 0.9 kun je ook importeren.','The preview of an import, with a checkbox for every menu, page, field and value'=>'Het voorbeeld van een import, met een selectievakje voor elk menu, elke pagina, elk veld en elke waarde','An options page with a logo, a brand color and contact details'=>'Een optiepagina met een logo, een merkkleur en contact details','Nine new field types'=>'Negen nieuwe veldtypes','Email, Link, Password, Date, Time, Date and time, Range, Button group and File.'=>'E-mail, Link, Wachtwoord, Datum, Tijd, Datum en tijd, Bereik, Knoppengroep en Bestand.','That makes 21 field types. Each one checks what is entered, and an image or file field only accepts the file types you choose, also when something is uploaded.'=>'Daarmee zijn er 21 veldtypes. Elk type controleert wat er wordt ingevuld, en een afbeeldings- of bestandsveld accepteert alleen de bestandstypes die je kiest, ook bij het uploaden.','Your own field types'=>'Je eigen veldtypes','Need a field that is not there? Add it yourself.'=>'Mis je een veld? Voeg het zelf toe.','Register a field type from your theme or plugin with one class: what the editor asks for, how the value is checked and stored, and how it shows on the options page and on your website. It appears in the field picker next to the built-in types, which use exactly the same API.'=>'Registreer een veldtype vanuit je thema of plugin met één klasse: wat de editor vraagt, hoe de waarde wordt gecontroleerd en opgeslagen, en hoe hij op de optiepagina en op je site wordt getoond. Hij verschijnt in de veldkiezer naast de ingebouwde types, die precies dezelfde API gebruiken.','The Field Types API is stable from 1.0 on and follows semantic versioning, so your field types keep working with the next versions.'=>'De Field Types API is stabiel vanaf 1.0 en volgt semantic versioning, dus je veldtypes blijven werken met de volgende versies.','A paragraph connected to a field in the Attributes panel'=>'Een alinea gekoppeld aan een veld in het paneel Attributen','Your values on your website'=>'Je waarden op je site','With a shortcode or a block, no code needed.'=>'Met een shortcode of een blok, zonder code.','Put a field in a post with [aop_option name="…"], or connect a paragraph, heading, button or image to it in the Attributes panel of the block editor. Change the value once, and it changes everywhere.'=>'Zet een veld in een bericht met [aop_option name="…"], of koppel er een alinea, koptekst, knop of afbeelding aan in het paneel Attributen van de blok-editor. Pas de waarde één keer aan, en hij verandert overal.','Switch on "Use in shortcode and blocks" for the fields you want to show. Fields made before 1.0 have it off, so nothing appears on your website by itself.'=>'Zet "In shortcode en blokken gebruiken" aan voor de velden die je wilt tonen. Bij velden die vóór 1.0 zijn gemaakt staat het uit, dus er verschijnt niets vanzelf op je site.','Rewritten in React'=>'Herschreven in React','Under the hood the editor is rewritten in React, the WordPress way: with the components and the data store the block editor is made of.'=>'Onder de motorkap is de editor herschreven in React, op de manier van WordPress: met de componenten en de datastore waar de blok-editor van gemaakt is.','Change any saved value'=>'Elke opgeslagen waarde aanpassen','Developers can change the value of any field before it is stored with the new filters aop_sanitized_option and aop_sanitized_option_{name}.'=>'Developers kunnen de waarde van elk veld aanpassen voordat hij wordt opgeslagen, met de nieuwe filters aop_sanitized_option en aop_sanitized_option_{name}.','A safe upgrade'=>'Een veilige upgrade','Your pages are stored in a new format now. A copy in the old format is kept for 90 days.'=>'Je pagina\'s worden nu in een nieuw format opgeslagen. Een kopie in het oude format wordt 90 dagen bewaard.','Requirements'=>'Vereisten','Admin Options Pages 1.0 needs WordPress 6.9 or later and PHP 8.1 or later.'=>'Admin Options Pages 1.0 heeft WordPress 6.9 of hoger en PHP 8.1 of hoger nodig.','Go to your options pages'=>'Naar je optiepagina\'s','Read the documentation'=>'Lees de documentatie','media modal menuMenu'=>'Menu','Title'=>'Titel','Position'=>'Positie','Pages'=>'Pagina\'s','Dismiss this notice.'=>'Deze melding negeren.','Publish'=>'Publiceren','Are you sure?'=>'Weet je het zeker?','Cancel'=>'Annuleren','Delete'=>'Verwijderen','Save'=>'Opslaan','New Pages'=>'Nieuwe pagina\'s','Update'=>'Updaten','Edit Pages'=>'Pagina\'s bewerken','List View'=>'Lijstweergave','Excerpt View'=>'Samenvattingsweergave','No items found.'=>'Geen items gevonden.','Show more details'=>'Meer details tonen','%s item'=>'%s item' . "\0" . '%s items','First page'=>'Eerste pagina','Previous page'=>'Vorige pagina','Current Page'=>'Huidige pagina','paging%1$s of %2$s'=>'%1$s van %2$s','Next page'=>'Volgende pagina','Last page'=>'Laatste pagina','Select All'=>'Alles selecteren','Edit'=>'Bewerken','The link you followed has expired.'=>'De link die je hebt gevolgd is verlopen.','The field type "%1$s" of the option "%2$s" is not available, so the field is not shown. Activate the plugin that provides it. Nothing was deleted.'=>'Het veldtype "%1$s" van de optie "%2$s" is niet beschikbaar, daarom wordt het veld niet getoond. Activeer de plugin die het levert. Er is niets verwijderd.','%s is not a field type.'=>'%s is geen veldtype.','The field type "%1$s" is already registered; %2$s was ignored.'=>'Het veldtype "%1$s" is al geregistreerd; %2$s is genegeerd.','%1$s is not the class of the field type "%2$s".'=>'%1$s is niet de klasse van het veldtype "%2$s".','Field label'=>'Veldlabel','Field name'=>'Veldnaam','Autoload'=>'Autoload','Use in shortcode and blocks'=>'In shortcode en blokken gebruiken','Additional CSS Class(es)'=>'Extra CSS-klasse(n)','Description'=>'Beschrijving','Default value'=>'Standaardwaarde','Button group'=>'Knoppengroep','Field values'=>'Veldwaarden','Checkbox'=>'Selectievakje','Text when checked'=>'Tekst als aangevinkt','Text when not checked'=>'Tekst als niet aangevinkt','Text after input field'=>'Tekst na het invoerveld','Color picker'=>'Kleurkiezer','Default color (HEX)'=>'Standaardkleur (HEX)','Date'=>'Datum','Field style'=>'Veldstijl','Date and time'=>'Datum en tijd','Email'=>'E-mail','Placeholder'=>'Plaatshouder','File'=>'Bestand','Allowed file types'=>'Toegestane bestandstypes','Upload'=>'Uploaden','Horizontal rule'=>'Horizontale lijn','Image'=>'Afbeelding','Allowed extensions'=>'Toegestane extensies','Link'=>'Link','Number'=>'Getal','Minimum value'=>'Minimumwaarde','Maximum value'=>'Maximumwaarde','Decimals'=>'Decimalen','Password'=>'Wachtwoord','Radio buttons'=>'Keuzerondjes','Range'=>'Bereik','Select'=>'Selecteren','Textarea'=>'Tekstgebied','Description italic'=>'Beschrijving cursief','Text field'=>'Tekstveld','Formatted as code'=>'Opgemaakt als code','Time'=>'Tijd','Wysiwyg editor'=>'Wysiwyg-editor','Show media upload buttons'=>'Knoppen voor media uploaden tonen','Toolbar'=>'Toolbar','The value on this settings field is not allowed.'=>'De waarde van dit instellingenveld is niet toegestaan.','Some of the value on this settings field is not allowed.'=>'Een deel van de waarde van dit instellingenveld is niet toegestaan.','This is not a correct formatted Hex color.'=>'Dit is geen correct opgemaakte hex-kleur.','the shortcode has no name="..."'=>'de shortcode heeft geen name="..."','"Use in shortcode and blocks" is off for this field, or its type cannot be shown'=>'"In shortcode en blokken gebruiken" staat uit voor dit veld, of het type kan niet worden getoond','this is not an option of Admin Options Pages'=>'dit is geen optie van Admin Options Pages','The database tables of this site cannot roll back. If something goes wrong halfway, part of the import may remain.'=>'De databasetabellen van deze site kunnen niet terugdraaien. Gaat er halverwege iets mis, dan kan een deel van de import blijven staan.','This menu is in the file more than once.'=>'Dit menu staat meer dan één keer in het bestand.','The menu on this site was saved by a newer version of the plugin. Update the plugin first.'=>'Het menu op deze site is opgeslagen met een nieuwere versie van de plugin. Update eerst de plugin.','Another menu on this site already has the id of this menu.'=>'Een ander menu op deze site heeft al de id van dit menu.','The option name "%s" is used by more than one menu in the file.'=>'De optienaam "%s" wordt in het bestand door meer dan één menu gebruikt.','The field type "%s" is not available on this site. Activate the plugin that provides it.'=>'Het veldtype "%s" is niet beschikbaar op deze site. Activeer de plugin die het levert.','This is not a valid option name.'=>'Dit is geen geldige optienaam.','This option name is used by WordPress or another plugin.'=>'Deze optienaam wordt gebruikt door WordPress of een andere plugin.','Something in this menu is not allowed.'=>'Iets in dit menu is niet toegestaan.','The name of this menu does not match what is in it.'=>'De naam van dit menu klopt niet met wat erin staat.','Checked'=>'Aangevinkt','Not checked'=>'Niet aangevinkt','Media ID %s'=>'Media-ID %s','This import has expired. Choose the file again.'=>'Deze import is verlopen. Kies het bestand opnieuw.','Without its first page the menu "%s" would get the name of a menu that is on this site already. Import the first page too, or choose another page as the first.'=>'Zonder de eerste pagina krijgt het menu "%s" de naam van een menu dat al op deze site staat. Importeer ook de eerste pagina, of kies een andere pagina als eerste.','A choice was made for a menu that is not in the file.'=>'Er is een keuze gemaakt voor een menu dat niet in het bestand staat.','A choice was made for a page or field that is not in the file.'=>'Er is een keuze gemaakt voor een pagina of veld dat niet in het bestand staat.','A menu needs at least one page.'=>'Een menu heeft minstens één pagina nodig.','That cannot be done with the menu "%s".'=>'Dat kan niet met het menu "%s".','That cannot be done with the option "%s".'=>'Dat kan niet met de optie "%s".','A menu in the file could not be saved. Nothing was imported.'=>'Een menu in het bestand kon niet worden opgeslagen. Er is niets geïmporteerd.','The value of "%s" was changed by its field type.'=>'De waarde van "%s" is aangepast door het veldtype.','The file is too large to import.'=>'Het bestand is te groot om te importeren.','This is not a JSON file, or it is not valid UTF-8.'=>'Dit is geen JSON-bestand, of het is geen geldige UTF-8.','This file does not look like an export of Admin Options Pages.'=>'Dit bestand lijkt geen export van Admin Options Pages.','This file has export format %1$d. This version of the plugin reads format %2$d. Update the plugin on this site and try again.'=>'Dit bestand heeft exportformat %1$d. Deze versie van de plugin leest format %2$d. Update de plugin op deze site en probeer het opnieuw.','%1$s must be of type %2$s.'=>'%1$s moet van het type %2$s zijn.','%s has a value that is not supported.'=>'%s heeft een waarde die niet wordt ondersteund.','%s has a value that is not allowed.'=>'%s heeft een waarde die niet is toegestaan.','%s does not have what it needs.'=>'%s heeft niet wat het nodig heeft.','%1$s is longer than %2$d characters.'=>'%1$s is langer dan %2$d tekens.','%s is empty.'=>'%s is leeg.','%1$s has more than %2$d items.'=>'%1$s heeft meer dan %2$d items.','%s has no items.'=>'%s heeft geen items.','%1$s has more than %2$d entries.'=>'%1$s heeft meer dan %2$d vermeldingen.','%1$s misses "%2$s".'=>'%1$s mist "%2$s".','The file'=>'Het bestand','Choose a file to import.'=>'Kies een bestand om te importeren.','The request is not complete.'=>'De aanvraag is niet compleet.','The page is not valid.'=>'De pagina is niet geldig.','This page does not exist.'=>'Deze pagina bestaat niet.','There are no pages to save.'=>'Er zijn geen pagina\'s om op te slaan.','Every page needs a menu title.'=>'Elke pagina heeft een menutitel nodig.','"%s" is not a valid option name.'=>'"%s" is geen geldige optienaam.','Every field with an option needs an option name.'=>'Elk veld met een optie heeft een optienaam nodig.','The option name "%s" is used more than once.'=>'De optienaam "%s" wordt meer dan één keer gebruikt.','The option name "%s" is already in use.'=>'De optienaam "%s" is al in gebruik.','This menu is already used by another options page.'=>'Dit menu wordt al door een andere optiepagina gebruikt.','The menu position is not valid.'=>'De menupositie is niet geldig.','The menu title is not valid.'=>'De menutitel is niet geldig.','The menu icon is not valid.'=>'Het menu-icoon is niet geldig.','Select or upload a file'=>'Een bestand selecteren of uploaden','Use this file'=>'Dit bestand gebruiken','Allowed files'=>'Toegestane bestanden','Select or upload image'=>'Een afbeelding selecteren of uploaden','Use this image'=>'Deze afbeelding gebruiken','Icon'=>'Icoon','Choose an icon'=>'Kies een icoon','Search for an icon…'=>'Zoek een icoon…','Nothing found.'=>'Niets gevonden.','Add New Page'=>'Nieuwe pagina toevoegen','Menu Type'=>'Menutype','Custom menu'=>'Eigen menu','Existing menu'=>'Bestaand menu','Menu title'=>'Menutitel','Close settings'=>'Instellingen sluiten','Move left'=>'Naar links verplaatsen','Move up'=>'Omhoog verplaatsen','Move right'=>'Naar rechts verplaatsen','Move down'=>'Omlaag verplaatsen','Drag to reorder'=>'Slepen om de volgorde te wijzigen','Add block'=>'Blok toevoegen','Value'=>'Waarde','Label'=>'Label','Delete this row'=>'Deze rij verwijderen','Add a row'=>'Een rij toevoegen','Help'=>'Help','Shortcode'=>'Shortcode','Copied!'=>'Gekopieerd!','Copy'=>'Kopiëren','With get_option() the value is always available in PHP, also when this is off.'=>'Met get_option() is de waarde in PHP altijd beschikbaar, ook als dit uit staat.','Field'=>'Veld','This field type is not available. Activate the plugin that provides it. Nothing was deleted: the field is saved as it is.'=>'Dit veldtype is niet beschikbaar. Activeer de plugin die het levert. Er is niets verwijderd: het veld wordt opgeslagen zoals het is.','Options'=>'Opties','Regular'=>'Normaal','Small'=>'Klein','Large'=>'Groot','Standard'=>'Standaard',0=>'0',1=>'1',2=>'2','.jpeg .jpg'=>'.jpeg .jpg','.png'=>'.png','.gif'=>'.gif','.svg'=>'.svg','This site does not allow SVG uploads. A plugin such as Safe SVG adds that safely.'=>'Deze site staat geen SVG-uploads toe. Een plugin zoals Safe SVG voegt dat veilig toe.','.ico'=>'.ico','Full'=>'Volledig','Basic'=>'Basis','.pdf'=>'.pdf','.doc'=>'.doc','.docx'=>'.docx','.xls'=>'.xls','.xlsx'=>'.xlsx','.csv'=>'.csv','.zip'=>'.zip','.txt'=>'.txt','Add a field'=>'Een veld toevoegen','Search…'=>'Zoeken…','Options fields'=>'Optievelden','Static content'=>'Statische content','Menu page title'=>'Paginatitel in menu','Page title'=>'Paginatitel','Page title on top'=>'Paginatitel bovenaan','Show page with tab'=>'Pagina met tab tonen','Visit Page'=>'Pagina bekijken','Delete Page'=>'Pagina verwijderen','Saving failed.'=>'Opslaan mislukt.','At this moment there is no proper support for small/mobile screens.'=>'Op dit moment worden kleine/mobiele schermen niet goed ondersteund.','We hope to fix this in a future version.'=>'We hopen dit in een volgende versie op te lossen.','The minimum required screen width is 1000px.'=>'De minimale schermbreedte is 1000px.','Close dialog'=>'Dialoogvenster sluiten','The menus could not be loaded.'=>'De menu\'s konden niet worden geladen.','Export'=>'Exporteren','There\'s nothing to export.'=>'Er is niets om te exporteren.','Uncheck all'=>'Alles uitvinken','Check all'=>'Alles aanvinken','Export file'=>'Bestand exporteren','New'=>'Nieuw','Already on this site, replaced when checked'=>'Staat al op deze site, wordt vervangen als het is aangevinkt','Cannot be imported'=>'Kan niet worden geïmporteerd','Same value as on this site'=>'Dezelfde waarde als op deze site','Different value on this site, replaced when checked'=>'Andere waarde op deze site, wordt vervangen als het is aangevinkt','Belongs to something else'=>'Hoort bij iets anders','Menu'=>'Menu','The menu on this site is replaced by the one in the file, also when its fields are of another type. Options of fields that are not in the file any more are deleted.'=>'Het menu op deze site wordt vervangen door het menu in het bestand, ook als de velden een ander type hebben. Opties van velden die niet meer in het bestand staan, worden verwijderd.','(no title)'=>'(geen titel)','Main page'=>'Hoofdpagina','Page'=>'Pagina','No value in the file'=>'Geen waarde in het bestand','Field name:'=>'Veldnaam:','Field label:'=>'Veldlabel:','The field moves here from the menu "%s".'=>'Het veld verhuist hierheen uit het menu "%s".','Empty'=>'Leeg','Value in the file: %s'=>'Waarde in het bestand: %s','%1$s and %2$s'=>'%1$s en %2$s','%s has been imported'=>'%s is geïmporteerd','%s have been imported'=>'%s zijn geïmporteerd','%d menu has been imported'=>'%d menu is geïmporteerd' . "\0" . '%d menu\'s zijn geïmporteerd','%s has been replaced'=>'%s is vervangen','%s have been replaced'=>'%s zijn vervangen','%d menu has been replaced'=>'%d menu is vervangen' . "\0" . '%d menu\'s zijn vervangen','The import is done.'=>'De import is klaar.',', with %d value'=>', met %d waarde' . "\0" . ', met %d waarden','Something went wrong. Nothing was imported.'=>'Er ging iets mis. Er is niets geïmporteerd.','Import selection'=>'Selectie importeren','Choose another file'=>'Een ander bestand kiezen','Import'=>'Importeren','Drop the JSON file here'=>'Zet het JSON-bestand hier neer','Drop a JSON file here'=>'Zet een JSON-bestand hier neer','or'=>'of','Select a file'=>'Een bestand selecteren','Maximum file size: %s.'=>'Maximale bestandsgrootte: %s.','You see what would happen before anything is imported.'=>'Je ziet wat er zou gebeuren voordat er iets wordt geïmporteerd.','File: %s'=>'Bestand: %s','Import another file'=>'Een ander bestand importeren','Hide "Edit page" button'=>'Knop "Pagina bewerken" verbergen','The setting could not be saved.'=>'De instelling kon niet worden opgeslagen.','Setting saved.'=>'Instelling opgeslagen.','The role "%1$s" of the page "%2$s" does not exist on this site. Until it does, users with that role cannot open the page.'=>'De rol "%1$s" van de pagina "%2$s" bestaat niet op deze site. Tot hij er is, kunnen gebruikers met die rol de pagina niet openen.','%s has characters that are not allowed.'=>'%s bevat tekens die niet zijn toegestaan.','%s (no longer available)'=>'%s (niet meer beschikbaar)','%1$s (%2$d user)'=>'%1$s (%2$d gebruiker)' . "\0" . '%1$s (%2$d gebruikers)','Administrator'=>'Beheerder','Who can edit'=>'Wie kan bewerken','Administrator + %d other'=>'Beheerder + %d andere' . "\0" . 'Beheerder + %d andere','Administrators always have access.'=>'Beheerders hebben altijd toegang.','Users with this role cannot open the dashboard.'=>'Gebruikers met deze rol kunnen het dashboard niet openen.','Done'=>'Klaar','Admin Options Pages 1.1 is here.'=>'Admin Options Pages 1.1 is er.','You now choose per page which roles can edit it. Have a look at who can edit your pages.'=>'Je kiest nu per pagina welke rollen hem kunnen bewerken. Kijk even wie je pagina\'s kan bewerken.','What is new in 1.1'=>'Wat is er nieuw in 1.1','Admin Options Pages 1.1'=>'Admin Options Pages 1.1','Choose who can edit each page.'=>'Kies wie elke pagina kan bewerken.','Welcome to Admin Options Pages 1.1'=>'Welkom bij Admin Options Pages 1.1','Tick the roles that may edit a page.'=>'Vink de rollen aan die een pagina mogen bewerken.','Open a page in the editor and click the button next to "Who can edit". Every role of your site is there, also the roles of other plugins and the roles you made yourself. Users with a ticked role see the page in their menu and can save it; nobody else can.'=>'Open een pagina in de editor en klik op de knop naast "Wie kan bewerken". Elke rol van je site staat erin, ook de rollen van andere plugins en de rollen die je zelf hebt gemaakt. Gebruikers met een aangevinkte rol zien de pagina in hun menu en kunnen hem opslaan; niemand anders kan dat.','Administrators can always open every page, and only administrators can build and change the pages themselves.'=>'Beheerders kunnen elke pagina altijd openen, en alleen beheerders kunnen de pagina\'s zelf bouwen en wijzigen.','The dialog "Who can edit" with a checkbox for every role of the site'=>'Het venster "Wie kan bewerken" met een selectievakje voor elke rol van de site','What happens to your pages'=>'Wat er met je pagina\'s gebeurt','Nothing changes until you save a page again. A page that was set to Editor opens in the editor with the roles ticked that can edit it now: usually Editor, and with WooCommerce also Shop manager. Save the page to keep it that way, or change the roles first.'=>'Er verandert niets tot je een pagina opnieuw opslaat. Een pagina die op Redacteur stond, opent in de editor met de rollen aangevinkt die hem nu kunnen bewerken: meestal Redacteur, en met WooCommerce ook Winkelmanager. Sla de pagina op om het zo te houden, of pas eerst de rollen aan.','From then on the ticked roles decide, not what a role may do elsewhere on the site. Did someone get access without one of these roles? Tick a role they have, or give them access to that page with a plugin that manages roles.'=>'Vanaf dan beslissen de aangevinkte rollen, niet wat een rol elders op de site mag. Had iemand toegang zonder een van deze rollen? Vink een rol aan die hij heeft, of geef hem toegang tot die pagina met een plugin die rollen beheert.','One user, one page'=>'Eén gebruiker, één pagina','With a plugin that manages roles, such as Members or User Role Editor, you can give a single user access to a single page: every page is listed there under Admin Options Pages.'=>'Met een plugin die rollen beheert, zoals Members of User Role Editor, geef je één gebruiker toegang tot één pagina: elke pagina staat daar onder Admin Options Pages.','Roles move with your pages'=>'Rollen verhuizen mee','An export takes the roles of every page with it. When a role does not exist on the site you import to, the preview tells you; the page is imported all the same.'=>'Een export neemt de rollen van elke pagina mee. Bestaat een rol niet op de site waar je importeert, dan zegt het voorbeeld dat; de pagina wordt toch geïmporteerd.','No dead ends'=>'Geen doodlopende wegen','The editor tells you when a ticked role cannot open the dashboard at all, such as the Customer role of WooCommerce.'=>'De editor zegt het als een aangevinkte rol het dashboard helemaal niet kan openen, zoals de rol Klant van WooCommerce.','Admin Options Pages 1.1 needs WordPress 6.9 or later and PHP 8.1 or later, like 1.0.'=>'Admin Options Pages 1.1 heeft WordPress 6.9 of hoger en PHP 8.1 of hoger nodig, net als 1.0.','What was new in 1.0'=>'Wat was er nieuw in 1.0','Your clients and colleagues now get exactly the pages they need. Choose the right roles for each page: Editor, Shop manager, Author, or a role you made yourself.'=>'Je klanten en collega\'s krijgen nu precies de pagina\'s die ze nodig hebben. Kies per pagina de juiste rollen: Redacteur, Winkelmanager, Auteur of een rol die je zelf hebt gemaakt.']];
  • admin-options-pages/trunk/languages/admin-options-pages-nl_NL.po

    r3736451 r3750608  
    11msgid ""
    2 msgstr "Project-Id-Version: Admin Options Pages 1.0.0\nReport-Msgid-Bugs-To: https://github.com/poolghost/adminoptionspages-issues/issues\nLast-Translator: Automatically generated\nLanguage-Team: none\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\nPOT-Creation-Date: 2026-10-09T10:01:38+00:00\nPO-Revision-Date: 2026-10-09T10:01:38+00:00\nLanguage: nl\nX-Generator: WP-CLI 2.11.0\nX-Domain: admin-options-pages\nPlural-Forms: nplurals=2; plural=(n != 1);\n"
     2msgstr ""
     3"Project-Id-Version: Admin Options Pages 1.0.0\n"
     4"Report-Msgid-Bugs-To: https://github.com/poolghost/adminoptionspages-issues/issues\n"
     5"Last-Translator: Automatically generated\n"
     6"Language-Team: none\n"
     7"MIME-Version: 1.0\n"
     8"Content-Type: text/plain; charset=UTF-8\n"
     9"Content-Transfer-Encoding: 8bit\n"
     10"POT-Creation-Date: 2026-10-09T10:01:38+00:00\n"
     11"PO-Revision-Date: 2026-10-09T10:01:38+00:00\n"
     12"Language: nl\n"
     13"X-Generator: WP-CLI 2.11.0\n"
     14"X-Domain: admin-options-pages\n"
     15"Plural-Forms: nplurals=2; plural=(n != 1);\n"
    316
    417#. Plugin Name of the plugin
    … …  
    7184
    7285#: App/Admin/AdminPages/AdminPages.php:207
    73 #: App/Admin/Input.php:61
     86#: App/Admin/Input.php:62
    7487msgid "Updated."
    75 msgstr "Bijgewerkt."
     88msgstr "Geüpdatet."
    7689
    7790#: App/Admin/AdminPages/AdminPages.php:222
    … …  
    126139msgstr "Als je deze plugin echt %1$s, geef dan %2$s om %3$s bekender te maken."
    127140
    128 #: App/Admin/AdminPages/SubpageWhatsNew.php:93
    129 msgid "Admin Options Pages 1.0 is here."
    130 msgstr "Admin Options Pages 1.0 is er."
    131 
    132 #: App/Admin/AdminPages/SubpageWhatsNew.php:94
    133 msgid "Import and export with your data, your own field types, nine new field types and your values on your website."
    134 msgstr "Importeren en exporteren met je gegevens, je eigen veldtypes, negen nieuwe veldtypes en je waarden op je website."
    135 
    136 #: App/Admin/AdminPages/SubpageWhatsNew.php:96
     141#: App/Admin/AdminPages/SubpageWhatsNew.php:123
    137142msgid "See what's new"
    138143msgstr "Bekijk wat er nieuw is"
    139144
    140 #: App/Admin/AdminPages/views/whats-new.php:19
     145#: App/Admin/AdminPages/views/whats-new-1.0.php:20
    141146msgid "Admin Options Pages 1.0"
    142147msgstr "Admin Options Pages 1.0"
    143148
    144 #: App/Admin/AdminPages/views/whats-new.php:21
     149#: App/Admin/AdminPages/views/whats-new-1.0.php:22
    145150msgid "Import and export with your data, your own field types and your values on your website."
    146 msgstr "Importeren en exporteren met je gegevens, je eigen veldtypes en je waarden op je website."
    147 
    148 #: App/Admin/AdminPages/views/whats-new.php:26
     151msgstr "Importeren en exporteren met je gegevens, je eigen veldtypes en je waarden op je site."
     152
     153#: App/Admin/AdminPages/views/whats-new-1.0.php:27
    149154msgid "Welcome to Admin Options Pages 1.0"
    150155msgstr "Welkom bij Admin Options Pages 1.0"
    151156
    152 #: App/Admin/AdminPages/views/whats-new.php:27
     157#: App/Admin/AdminPages/views/whats-new-1.0.php:28
    153158msgid "This is the biggest update of the plugin so far. Menus now move to another site with all their values, so the options pages you built and filled locally go live in one file. You can add field types of your own, there are nine new built-in ones, and the values of your fields can be shown on your website without code. Your menus, pages, fields and values are all still here."
    154 msgstr "Dit is de grootste update van de plugin tot nu toe. Menu's gaan nu met al hun waarden naar een andere site, dus de optiepagina's die je lokaal hebt gebouwd en gevuld, gaan in één bestand live. Je kunt eigen veldtypes toevoegen, er zijn negen nieuwe ingebouwde, en de waarden van je velden kun je zonder code op je website tonen. Je menu's, pagina's, velden en waarden zijn er allemaal nog."
    155 
    156 #: App/Admin/AdminPages/views/whats-new.php:33
     159msgstr "Dit is de grootste update van de plugin tot nu toe. Menu's gaan nu met al hun waarden naar een andere site, dus de optiepagina's die je lokaal hebt gebouwd en gevuld, gaan in één bestand live. Je kunt eigen veldtypes toevoegen, er zijn negen nieuwe ingebouwde, en de waarden van je velden kun je zonder code op je site tonen. Je menu's, pagina's, velden en waarden zijn er allemaal nog."
     160
     161#: App/Admin/AdminPages/views/whats-new-1.0.php:34
    157162msgid "Import and export, with your data"
    158163msgstr "Importeren en exporteren, met je gegevens"
    159164
    160 #: App/Admin/AdminPages/views/whats-new.php:35
     165#: App/Admin/AdminPages/views/whats-new-1.0.php:36
    161166msgid "Build and fill your options pages locally, then take them live in one file."
    162167msgstr "Bouw en vul je optiepagina's lokaal, en zet ze daarna in één bestand live."
    163168
    164 #: App/Admin/AdminPages/views/whats-new.php:36
     169#: App/Admin/AdminPages/views/whats-new-1.0.php:37
    165170msgid "Export the menus you choose together with the values of their fields, and import them on your live site, a staging site or your next project. No more typing the same settings twice."
    166171msgstr "Exporteer de menu's die je kiest samen met de waarden van hun velden, en importeer ze op je live site, een testsite of je volgende project. Nooit meer dezelfde instellingen twee keer invullen."
    167172
    168 #: App/Admin/AdminPages/views/whats-new.php:38
     173#: App/Admin/AdminPages/views/whats-new-1.0.php:39
    169174msgid "Before anything changes you see what would happen, and you choose per menu, page, field and value. Nothing is replaced unless you choose it, and an import is all or nothing. Exports made with 0.9 can be imported too."
    170175msgstr "Voordat er iets verandert, zie je wat er zou gebeuren, en je kiest per menu, pagina, veld en waarde. Er wordt niets vervangen tenzij je dat kiest, en een import gebeurt helemaal of helemaal niet. Exports van 0.9 kun je ook importeren."
    171176
    172 #: App/Admin/AdminPages/views/whats-new.php:41
     177#: App/Admin/AdminPages/views/whats-new-1.0.php:42
    173178msgid "The preview of an import, with a checkbox for every menu, page, field and value"
    174 msgstr "De preview van een import, met een selectievakje voor elk menu, elke pagina, elk veld en elke waarde"
    175 
    176 #: App/Admin/AdminPages/views/whats-new.php:47
     179msgstr "Het voorbeeld van een import, met een selectievakje voor elk menu, elke pagina, elk veld en elke waarde"
     180
     181#: App/Admin/AdminPages/views/whats-new-1.0.php:48
    177182msgid "An options page with a logo, a brand color and contact details"
    178 msgstr "Een optiepagina met een logo, een merkkleur en contactgegevens"
    179 
    180 #: App/Admin/AdminPages/views/whats-new.php:50
     183msgstr "Een optiepagina met een logo, een merkkleur en contact details"
     184
     185#: App/Admin/AdminPages/views/whats-new-1.0.php:51
    181186msgid "Nine new field types"
    182187msgstr "Negen nieuwe veldtypes"
    183188
    184 #: App/Admin/AdminPages/views/whats-new.php:52
     189#: App/Admin/AdminPages/views/whats-new-1.0.php:53
    185190msgid "Email, Link, Password, Date, Time, Date and time, Range, Button group and File."
    186191msgstr "E-mail, Link, Wachtwoord, Datum, Tijd, Datum en tijd, Bereik, Knoppengroep en Bestand."
    187192
    188 #: App/Admin/AdminPages/views/whats-new.php:53
     193#: App/Admin/AdminPages/views/whats-new-1.0.php:54
    189194msgid "That makes 21 field types. Each one checks what is entered, and an image or file field only accepts the file types you choose, also when something is uploaded."
    190195msgstr "Daarmee zijn er 21 veldtypes. Elk type controleert wat er wordt ingevuld, en een afbeeldings- of bestandsveld accepteert alleen de bestandstypes die je kiest, ook bij het uploaden."
    191196
    192 #: App/Admin/AdminPages/views/whats-new.php:60
     197#: App/Admin/AdminPages/views/whats-new-1.0.php:61
    193198msgid "Your own field types"
    194199msgstr "Je eigen veldtypes"
    195200
    196 #: App/Admin/AdminPages/views/whats-new.php:62
     201#: App/Admin/AdminPages/views/whats-new-1.0.php:63
    197202msgid "Need a field that is not there? Add it yourself."
    198203msgstr "Mis je een veld? Voeg het zelf toe."
    199204
    200 #: App/Admin/AdminPages/views/whats-new.php:63
     205#: App/Admin/AdminPages/views/whats-new-1.0.php:64
    201206msgid "Register a field type from your theme or plugin with one class: what the editor asks for, how the value is checked and stored, and how it shows on the options page and on your website. It appears in the field picker next to the built-in types, which use exactly the same API."
    202 msgstr "Registreer een veldtype vanuit je thema of plugin met één klasse: wat de editor vraagt, hoe de waarde wordt gecontroleerd en opgeslagen, en hoe hij op de optiepagina en op je website wordt getoond. Hij verschijnt in de veldkiezer naast de ingebouwde types, die precies dezelfde API gebruiken."
    203 
    204 #: App/Admin/AdminPages/views/whats-new.php:65
     207msgstr "Registreer een veldtype vanuit je thema of plugin met één klasse: wat de editor vraagt, hoe de waarde wordt gecontroleerd en opgeslagen, en hoe hij op de optiepagina en op je site wordt getoond. Hij verschijnt in de veldkiezer naast de ingebouwde types, die precies dezelfde API gebruiken."
     208
     209#: App/Admin/AdminPages/views/whats-new-1.0.php:66
    205210msgid "The Field Types API is stable from 1.0 on and follows semantic versioning, so your field types keep working with the next versions."
    206211msgstr "De Field Types API is stabiel vanaf 1.0 en volgt semantic versioning, dus je veldtypes blijven werken met de volgende versies."
    207212
    208 #: App/Admin/AdminPages/views/whats-new.php:86
     213#: App/Admin/AdminPages/views/whats-new-1.0.php:87
    209214msgid "A paragraph connected to a field in the Attributes panel"
    210215msgstr "Een alinea gekoppeld aan een veld in het paneel Attributen"
    211216
    212 #: App/Admin/AdminPages/views/whats-new.php:89
     217#: App/Admin/AdminPages/views/whats-new-1.0.php:90
    213218msgid "Your values on your website"
    214 msgstr "Je waarden op je website"
    215 
    216 #: App/Admin/AdminPages/views/whats-new.php:91
     219msgstr "Je waarden op je site"
     220
     221#: App/Admin/AdminPages/views/whats-new-1.0.php:92
    217222msgid "With a shortcode or a block, no code needed."
    218223msgstr "Met een shortcode of een blok, zonder code."
    219224
    220 #: App/Admin/AdminPages/views/whats-new.php:92
     225#: App/Admin/AdminPages/views/whats-new-1.0.php:93
    221226msgid "Put a field in a post with [aop_option name=\"…\"], or connect a paragraph, heading, button or image to it in the Attributes panel of the block editor. Change the value once, and it changes everywhere."
    222 msgstr "Zet een veld in een bericht met [aop_option name=\"…\"], of koppel er een alinea, kop, knop of afbeelding aan in het paneel Attributen van de blokeditor. Pas de waarde één keer aan, en hij verandert overal."
    223 
    224 #: App/Admin/AdminPages/views/whats-new.php:94
     227msgstr "Zet een veld in een bericht met [aop_option name=\"…\"], of koppel er een alinea, koptekst, knop of afbeelding aan in het paneel Attributen van de blok-editor. Pas de waarde één keer aan, en hij verandert overal."
     228
     229#: App/Admin/AdminPages/views/whats-new-1.0.php:95
    225230msgid "Switch on \"Use in shortcode and blocks\" for the fields you want to show. Fields made before 1.0 have it off, so nothing appears on your website by itself."
    226 msgstr "Zet \"In shortcode en blokken gebruiken\" aan voor de velden die je wilt tonen. Bij velden die vóór 1.0 zijn gemaakt staat het uit, dus er verschijnt niets vanzelf op je website."
    227 
    228 #: App/Admin/AdminPages/views/whats-new.php:100
     231msgstr "Zet \"In shortcode en blokken gebruiken\" aan voor de velden die je wilt tonen. Bij velden die vóór 1.0 zijn gemaakt staat het uit, dus er verschijnt niets vanzelf op je site."
     232
     233#: App/Admin/AdminPages/views/whats-new-1.0.php:101
    229234msgid "Rewritten in React"
    230235msgstr "Herschreven in React"
    231236
    232 #: App/Admin/AdminPages/views/whats-new.php:101
     237#: App/Admin/AdminPages/views/whats-new-1.0.php:102
    233238msgid "Under the hood the editor is rewritten in React, the WordPress way: with the components and the data store the block editor is made of."
    234 msgstr "Onder de motorkap is de editor herschreven in React, op de manier van WordPress: met de componenten en de datastore waar de blokeditor van gemaakt is."
    235 
    236 #: App/Admin/AdminPages/views/whats-new.php:104
     239msgstr "Onder de motorkap is de editor herschreven in React, op de manier van WordPress: met de componenten en de datastore waar de blok-editor van gemaakt is."
     240
     241#: App/Admin/AdminPages/views/whats-new-1.0.php:105
    237242msgid "Change any saved value"
    238243msgstr "Elke opgeslagen waarde aanpassen"
    239244
    240 #: App/Admin/AdminPages/views/whats-new.php:105
     245#: App/Admin/AdminPages/views/whats-new-1.0.php:106
    241246msgid "Developers can change the value of any field before it is stored with the new filters aop_sanitized_option and aop_sanitized_option_{name}."
    242247msgstr "Developers kunnen de waarde van elk veld aanpassen voordat hij wordt opgeslagen, met de nieuwe filters aop_sanitized_option en aop_sanitized_option_{name}."
    243248
    244 #: App/Admin/AdminPages/views/whats-new.php:108
     249#: App/Admin/AdminPages/views/whats-new-1.0.php:109
    245250msgid "A safe upgrade"
    246251msgstr "Een veilige upgrade"
    247252
    248 #: App/Admin/AdminPages/views/whats-new.php:109
     253#: App/Admin/AdminPages/views/whats-new-1.0.php:110
    249254msgid "Your pages are stored in a new format now. A copy in the old format is kept for 90 days."
    250 msgstr "Je pagina's worden nu in een nieuw formaat opgeslagen. Een kopie in het oude formaat wordt 90 dagen bewaard."
    251 
    252 #: App/Admin/AdminPages/views/whats-new.php:115
     255msgstr "Je pagina's worden nu in een nieuw format opgeslagen. Een kopie in het oude format wordt 90 dagen bewaard."
     256
     257#: App/Admin/AdminPages/views/whats-new-1.0.php:116
     258#: App/Admin/AdminPages/views/whats-new.php:71
    253259msgid "Requirements"
    254260msgstr "Vereisten"
    255261
    256 #: App/Admin/AdminPages/views/whats-new.php:116
     262#: App/Admin/AdminPages/views/whats-new-1.0.php:117
    257263msgid "Admin Options Pages 1.0 needs WordPress 6.9 or later and PHP 8.1 or later."
    258264msgstr "Admin Options Pages 1.0 heeft WordPress 6.9 of hoger en PHP 8.1 of hoger nodig."
    259265
    260 #: App/Admin/AdminPages/views/whats-new.php:118
     266#: App/Admin/AdminPages/views/whats-new-1.0.php:119
     267#: App/Admin/AdminPages/views/whats-new.php:74
    261268msgid "Go to your options pages"
    262269msgstr "Naar je optiepagina's"
    263270
    264 #: App/Admin/AdminPages/views/whats-new.php:119
     271#: App/Admin/AdminPages/views/whats-new-1.0.php:120
     272#: App/Admin/AdminPages/views/whats-new.php:75
    265273msgid "Read the documentation"
    266274msgstr "Lees de documentatie"
    … …  
    275283#: App/Fields/Types/Subtitle.php:38
    276284#: includes/build/editor.js:1
     285#: includes/build/editor.js:4
    277286msgid "Title"
    278287msgstr "Titel"
    … …  
    280289#: App/Admin/ListTable.php:41
    281290#: includes/build/editor.js:1
     291#: includes/build/editor.js:4
    282292msgid "Position"
    283293msgstr "Positie"
    … …  
    289299#: App/Admin/Notice.php:18
    290300msgid "Dismiss this notice."
    291 msgstr "Deze melding verbergen."
     301msgstr "Deze melding negeren."
    292302
    293303#: App/Admin/Text.php:11
    … …  
    301311
    302312#: App/Admin/Text.php:14
    303 #: App/Admin/Text.php:32
     313#: App/Admin/Text.php:28
    304314#: includes/build/editor.js:1
    305315msgid "Cancel"
    … …  
    307317
    308318#: App/Admin/Text.php:15
     319#: App/Admin/Text.php:25
    309320#: App/Admin/Text.php:29
    310 #: App/Admin/Text.php:33
    311321#: App/Fields/Types/FileField.php:165
    312322#: App/Fields/Types/Image.php:158
    … …  
    315325msgstr "Verwijderen"
    316326
    317 #: App/Admin/Text.php:18
    318 msgctxt "User role"
    319 msgid "Administrator"
    320 msgstr "Beheerder"
    321 
    322 #: App/Admin/Text.php:19
    323 msgctxt "User role"
    324 msgid "Editor"
    325 msgstr "Redacteur"
    326 
    327 #: App/Admin/Text.php:24
     327#: App/Admin/Text.php:20
    328328msgid "Save"
    329329msgstr "Opslaan"
    330330
    331 #: App/Admin/Text.php:25
     331#: App/Admin/Text.php:21
    332332msgid "New Pages"
    333333msgstr "Nieuwe pagina's"
    334334
    335 #: App/Admin/Text.php:28
     335#: App/Admin/Text.php:24
    336336msgid "Update"
    337 msgstr "Bijwerken"
    338 
    339 #: App/Admin/Text.php:30
     337msgstr "Updaten"
     338
     339#: App/Admin/Text.php:26
    340340msgid "Edit Pages"
    341341msgstr "Pagina's bewerken"
    … …  
    400400msgstr "Bewerken"
    401401
    402 #: App/Data.php:651
     402#: App/Data.php:653
    403403msgid "The link you followed has expired."
    404404msgstr "De link die je hebt gevolgd is verlopen."
    405405
    406406#. translators: 1: a field type, 2: an option name
    407 #: App/Fields/FieldManager.php:164
     407#: App/Fields/FieldManager.php:171
    408408msgid "The field type \"%1$s\" of the option \"%2$s\" is not available, so the field is not shown. Activate the plugin that provides it. Nothing was deleted."
    409409msgstr "Het veldtype \"%1$s\" van de optie \"%2$s\" is niet beschikbaar, daarom wordt het veld niet getoond. Activeer de plugin die het levert. Er is niets verwijderd."
    … …  
    627627#: includes/build/editor.js:1
    628628msgid "Textarea"
    629 msgstr "Tekstvak"
     629msgstr "Tekstgebied"
    630630
    631631#: App/Fields/Types/Textarea.php:35
    … …  
    662662#: includes/build/editor.js:1
    663663msgid "Toolbar"
    664 msgstr "Werkbalk"
     664msgstr "Toolbar"
    665665
    666666#: App/Fields/ValueSanitizer.php:43
    … …  
    692692msgstr "De databasetabellen van deze site kunnen niet terugdraaien. Gaat er halverwege iets mis, dan kan een deel van de import blijven staan."
    693693
    694 #: App/ImportExport/Importer.php:112
     694#: App/ImportExport/Importer.php:141
    695695msgid "This menu is in the file more than once."
    696696msgstr "Dit menu staat meer dan één keer in het bestand."
    697697
    698 #: App/ImportExport/Importer.php:118
     698#: App/ImportExport/Importer.php:147
    699699msgid "The menu on this site was saved by a newer version of the plugin. Update the plugin first."
    700 msgstr "Het menu op deze site is opgeslagen met een nieuwere versie van de plugin. Werk eerst de plugin bij."
    701 
    702 #: App/ImportExport/Importer.php:124
     700msgstr "Het menu op deze site is opgeslagen met een nieuwere versie van de plugin. Update eerst de plugin."
     701
     702#: App/ImportExport/Importer.php:153
    703703msgid "Another menu on this site already has the id of this menu."
    704704msgstr "Een ander menu op deze site heeft al de id van dit menu."
    705705
    706706#. translators: %s: an option name
    707 #: App/ImportExport/Importer.php:137
     707#: App/ImportExport/Importer.php:166
    708708msgid "The option name \"%s\" is used by more than one menu in the file."
    709709msgstr "De optienaam \"%s\" wordt in het bestand door meer dan één menu gebruikt."
    710710
    711711#. translators: %s: the name of a field type
    712 #: App/ImportExport/Importer.php:228
     712#: App/ImportExport/Importer.php:257
    713713msgid "The field type \"%s\" is not available on this site. Activate the plugin that provides it."
    714714msgstr "Het veldtype \"%s\" is niet beschikbaar op deze site. Activeer de plugin die het levert."
    715715
    716 #: App/ImportExport/Importer.php:233
     716#: App/ImportExport/Importer.php:262
    717717msgid "This is not a valid option name."
    718718msgstr "Dit is geen geldige optienaam."
    719719
    720 #: App/ImportExport/Importer.php:235
     720#: App/ImportExport/Importer.php:264
    721721msgid "This option name is used by WordPress or another plugin."
    722722msgstr "Deze optienaam wordt gebruikt door WordPress of een andere plugin."
    723723
    724 #: App/ImportExport/Importer.php:300
     724#: App/ImportExport/Importer.php:329
    725725msgid "Something in this menu is not allowed."
    726726msgstr "Iets in dit menu is niet toegestaan."
    727727
    728 #: App/ImportExport/Importer.php:310
     728#: App/ImportExport/Importer.php:339
    729729msgid "The name of this menu does not match what is in it."
    730730msgstr "De naam van dit menu klopt niet met wat erin staat."
    731731
    732 #: App/ImportExport/Importer.php:429
     732#: App/ImportExport/Importer.php:458
    733733msgid "Checked"
    734734msgstr "Aangevinkt"
    735735
    736 #: App/ImportExport/Importer.php:429
     736#: App/ImportExport/Importer.php:458
    737737msgid "Not checked"
    738738msgstr "Niet aangevinkt"
    739739
    740740#. translators: %s: the id of an image or file in the media library
    741 #: App/ImportExport/Importer.php:440
     741#: App/ImportExport/Importer.php:469
    742742msgid "Media ID %s"
    743743msgstr "Media-ID %s"
    744744
    745 #: App/ImportExport/Importer.php:472
     745#: App/ImportExport/Importer.php:501
    746746msgid "This import has expired. Choose the file again."
    747747msgstr "Deze import is verlopen. Kies het bestand opnieuw."
    748748
    749749#. translators: %s: the name of a menu
    750 #: App/ImportExport/Importer.php:613
     750#: App/ImportExport/Importer.php:642
    751751msgid "Without its first page the menu \"%s\" would get the name of a menu that is on this site already. Import the first page too, or choose another page as the first."
    752752msgstr "Zonder de eerste pagina krijgt het menu \"%s\" de naam van een menu dat al op deze site staat. Importeer ook de eerste pagina, of kies een andere pagina als eerste."
    753753
    754 #: App/ImportExport/Importer.php:638
    755 #: App/ImportExport/Importer.php:691
     754#: App/ImportExport/Importer.php:667
     755#: App/ImportExport/Importer.php:720
    756756msgid "A choice was made for a menu that is not in the file."
    757757msgstr "Er is een keuze gemaakt voor een menu dat niet in het bestand staat."
    758758
    759 #: App/ImportExport/Importer.php:645
     759#: App/ImportExport/Importer.php:674
    760760msgid "A choice was made for a page or field that is not in the file."
    761761msgstr "Er is een keuze gemaakt voor een pagina of veld dat niet in het bestand staat."
    762762
    763 #: App/ImportExport/Importer.php:652
     763#: App/ImportExport/Importer.php:681
    764764msgid "A menu needs at least one page."
    765765msgstr "Een menu heeft minstens één pagina nodig."
    766766
    767767#. translators: %s: the title of a menu
    768 #: App/ImportExport/Importer.php:680
     768#: App/ImportExport/Importer.php:709
    769769msgid "That cannot be done with the menu \"%s\"."
    770770msgstr "Dat kan niet met het menu \"%s\"."
    771771
    772772#. translators: %s: an option name
    773 #: App/ImportExport/Importer.php:716
     773#: App/ImportExport/Importer.php:745
    774774msgid "That cannot be done with the option \"%s\"."
    775775msgstr "Dat kan niet met de optie \"%s\"."
    776776
    777 #: App/ImportExport/Importer.php:742
     777#: App/ImportExport/Importer.php:771
    778778msgid "A menu in the file could not be saved. Nothing was imported."
    779779msgstr "Een menu in het bestand kon niet worden opgeslagen. Er is niets geïmporteerd."
    780780
    781781#. translators: %s: an option name
    782 #: App/ImportExport/Importer.php:781
     782#: App/ImportExport/Importer.php:810
    783783msgid "The value of \"%s\" was changed by its field type."
    784784msgstr "De waarde van \"%s\" is aangepast door het veldtype."
    … …  
    801801#: App/ImportExport/Package.php:107
    802802msgid "This file has export format %1$d. This version of the plugin reads format %2$d. Update the plugin on this site and try again."
    803 msgstr "Dit bestand heeft exportformaat %1$d. Deze versie van de plugin leest formaat %2$d. Werk de plugin op deze site bij en probeer het opnieuw."
     803msgstr "Dit bestand heeft exportformat %1$d. Deze versie van de plugin leest format %2$d. Update de plugin op deze site en probeer het opnieuw."
    804804
    805805#. translators: 1: where in the file, 2: the type that is expected
    … …  
    834834
    835835#. translators: 1: where in the file, 2: a number
    836 #: App/ImportExport/SchemaValidator.php:96
     836#: App/ImportExport/SchemaValidator.php:102
    837837msgid "%1$s has more than %2$d items."
    838838msgstr "%1$s heeft meer dan %2$d items."
    839839
    840840#. translators: %s: where in the file
    841 #: App/ImportExport/SchemaValidator.php:101
     841#: App/ImportExport/SchemaValidator.php:107
    842842msgid "%s has no items."
    843843msgstr "%s heeft geen items."
    844844
    845845#. translators: 1: where in the file, 2: a number
    846 #: App/ImportExport/SchemaValidator.php:106
     846#: App/ImportExport/SchemaValidator.php:112
    847847msgid "%1$s has more than %2$d entries."
    848 msgstr "%1$s heeft meer dan %2$d onderdelen."
     848msgstr "%1$s heeft meer dan %2$d vermeldingen."
    849849
    850850#. translators: 1: where in the file, 2: the name of what is missing
    851 #: App/ImportExport/SchemaValidator.php:112
     851#: App/ImportExport/SchemaValidator.php:118
    852852msgid "%1$s misses \"%2$s\"."
    853853msgstr "%1$s mist \"%2$s\"."
    854854
    855 #: App/ImportExport/SchemaValidator.php:169
     855#: App/ImportExport/SchemaValidator.php:175
    856856msgid "The file"
    857857msgstr "Het bestand"
    … …  
    863863#: App/Rest/ImportController.php:65
    864864msgid "The request is not complete."
    865 msgstr "Het verzoek is niet compleet."
     865msgstr "De aanvraag is niet compleet."
    866866
    867867#: App/Rest/PagesController.php:171
    … …  
    914914#: App/Validator.php:83
    915915msgid "The menu icon is not valid."
    916 msgstr "Het menupictogram is niet geldig."
     916msgstr "Het menu-icoon is niet geldig."
    917917
    918918#: includes/assets/js/aop-file.js:27
    … …  
    939939#: includes/build/editor.js:1
    940940msgid "Icon"
    941 msgstr "Pictogram"
     941msgstr "Icoon"
    942942
    943943#: includes/build/editor.js:1
    944944msgid "Choose an icon"
    945 msgstr "Kies een pictogram"
     945msgstr "Kies een icoon"
    946946
    947947#: includes/build/editor.js:1
    948948msgid "Search for an icon…"
    949 msgstr "Zoek een pictogram…"
     949msgstr "Zoek een icoon…"
    950950
    951951#: includes/build/editor.js:1
    … …  
    994994
    995995#: includes/build/editor.js:1
     996#: includes/build/editor.js:4
    996997msgid "Drag to reorder"
    997998msgstr "Slepen om de volgorde te wijzigen"
    … …  
    11571158#: includes/build/editor.js:1
    11581159msgid "Static content"
    1159 msgstr "Vaste inhoud"
    1160 
    1161 #: includes/build/editor.js:1
     1160msgstr "Statische content"
     1161
     1162#: includes/build/editor.js:4
    11621163msgid "Menu page title"
    11631164msgstr "Paginatitel in menu"
    11641165
    1165 #: includes/build/editor.js:1
     1166#: includes/build/editor.js:4
    11661167msgid "Page title"
    11671168msgstr "Paginatitel"
    11681169
    1169 #: includes/build/editor.js:1
     1170#: includes/build/editor.js:4
    11701171msgid "Page title on top"
    11711172msgstr "Paginatitel bovenaan"
    11721173
    1173 #: includes/build/editor.js:1
     1174#: includes/build/editor.js:4
    11741175msgid "Show page with tab"
    11751176msgstr "Pagina met tab tonen"
    11761177
    1177 #: includes/build/editor.js:1
    1178 msgid "User access level"
    1179 msgstr "Toegangsniveau"
    1180 
    1181 #: includes/build/editor.js:1
     1178#: includes/build/editor.js:4
    11821179msgid "Visit Page"
    11831180msgstr "Pagina bekijken"
    11841181
    1185 #: includes/build/editor.js:1
     1182#: includes/build/editor.js:4
    11861183msgid "Delete Page"
    11871184msgstr "Pagina verwijderen"
    11881185
    1189 #: includes/build/editor.js:1
     1186#: includes/build/editor.js:4
    11901187msgid "Saving failed."
    11911188msgstr "Opslaan mislukt."
    11921189
    1193 #: includes/build/editor.js:1
     1190#: includes/build/editor.js:4
    11941191msgid "At this moment there is no proper support for small/mobile screens."
    11951192msgstr "Op dit moment worden kleine/mobiele schermen niet goed ondersteund."
    11961193
    1197 #: includes/build/editor.js:1
     1194#: includes/build/editor.js:4
    11981195msgid "We hope to fix this in a future version."
    11991196msgstr "We hopen dit in een volgende versie op te lossen."
    12001197
    1201 #: includes/build/editor.js:1
     1198#: includes/build/editor.js:4
    12021199msgid "The minimum required screen width is 1000px."
    12031200msgstr "De minimale schermbreedte is 1000px."
    12041201
    1205 #: includes/build/editor.js:1
     1202#: includes/build/editor.js:4
    12061203msgid "Close dialog"
    12071204msgstr "Dialoogvenster sluiten"
    … …  
    14121409msgid "Setting saved."
    14131410msgstr "Instelling opgeslagen."
     1411
     1412#. translators: 1: the slug of a user role, 2: the menu title of a page
     1413#: App/ImportExport/Importer.php:118
     1414msgid "The role \"%1$s\" of the page \"%2$s\" does not exist on this site. Until it does, users with that role cannot open the page."
     1415msgstr "De rol \"%1$s\" van de pagina \"%2$s\" bestaat niet op deze site. Tot hij er is, kunnen gebruikers met die rol de pagina niet openen."
     1416
     1417#. translators: %s: where in the file
     1418#: App/ImportExport/SchemaValidator.php:92
     1419msgid "%s has characters that are not allowed."
     1420msgstr "%s bevat tekens die niet zijn toegestaan."
     1421
     1422#. translators: %s: the slug of a role that does not exist on this site
     1423#: includes/build/editor.js:2
     1424msgid "%s (no longer available)"
     1425msgstr "%s (niet meer beschikbaar)"
     1426
     1427#. translators: 1: the name of a role, 2: the number of users with that role
     1428#: includes/build/editor.js:3
     1429msgid "%1$s (%2$d user)"
     1430msgid_plural "%1$s (%2$d users)"
     1431msgstr[0] "%1$s (%2$d gebruiker)"
     1432msgstr[1] "%1$s (%2$d gebruikers)"
     1433
     1434#: includes/build/editor.js:3
     1435msgid "Administrator"
     1436msgstr "Beheerder"
     1437
     1438#: App/Admin/AdminPages/views/whats-new.php:34
     1439#: includes/build/editor.js:3
     1440#: includes/build/editor.js:4
     1441msgid "Who can edit"
     1442msgstr "Wie kan bewerken"
     1443
     1444#. translators: %d: the number of roles besides administrator that can edit the page
     1445#: includes/build/editor.js:4
     1446msgid "Administrator + %d other"
     1447msgid_plural "Administrator + %d others"
     1448msgstr[0] "Beheerder + %d andere"
     1449msgstr[1] "Beheerder + %d andere"
     1450
     1451#: includes/build/editor.js:4
     1452msgid "Administrators always have access."
     1453msgstr "Beheerders hebben altijd toegang."
     1454
     1455#: includes/build/editor.js:4
     1456msgid "Users with this role cannot open the dashboard."
     1457msgstr "Gebruikers met deze rol kunnen het dashboard niet openen."
     1458
     1459#: includes/build/editor.js:4
     1460msgid "Done"
     1461msgstr "Klaar"
     1462
     1463#: App/Admin/AdminPages/SubpageWhatsNew.php:120
     1464msgid "Admin Options Pages 1.1 is here."
     1465msgstr "Admin Options Pages 1.1 is er."
     1466
     1467#: App/Admin/AdminPages/SubpageWhatsNew.php:121
     1468msgid "You now choose per page which roles can edit it. Have a look at who can edit your pages."
     1469msgstr "Je kiest nu per pagina welke rollen hem kunnen bewerken. Kijk even wie je pagina's kan bewerken."
     1470
     1471#: App/Admin/AdminPages/views/whats-new-1.0.php:122
     1472msgid "What is new in 1.1"
     1473msgstr "Wat is er nieuw in 1.1"
     1474
     1475#: App/Admin/AdminPages/views/whats-new.php:20
     1476msgid "Admin Options Pages 1.1"
     1477msgstr "Admin Options Pages 1.1"
     1478
     1479#: App/Admin/AdminPages/views/whats-new.php:22
     1480msgid "Choose who can edit each page."
     1481msgstr "Kies wie elke pagina kan bewerken."
     1482
     1483#: App/Admin/AdminPages/views/whats-new.php:27
     1484msgid "Welcome to Admin Options Pages 1.1"
     1485msgstr "Welkom bij Admin Options Pages 1.1"
     1486
     1487#: App/Admin/AdminPages/views/whats-new.php:36
     1488msgid "Tick the roles that may edit a page."
     1489msgstr "Vink de rollen aan die een pagina mogen bewerken."
     1490
     1491#: App/Admin/AdminPages/views/whats-new.php:37
     1492msgid "Open a page in the editor and click the button next to \"Who can edit\". Every role of your site is there, also the roles of other plugins and the roles you made yourself. Users with a ticked role see the page in their menu and can save it; nobody else can."
     1493msgstr "Open een pagina in de editor en klik op de knop naast \"Wie kan bewerken\". Elke rol van je site staat erin, ook de rollen van andere plugins en de rollen die je zelf hebt gemaakt. Gebruikers met een aangevinkte rol zien de pagina in hun menu en kunnen hem opslaan; niemand anders kan dat."
     1494
     1495#: App/Admin/AdminPages/views/whats-new.php:39
     1496msgid "Administrators can always open every page, and only administrators can build and change the pages themselves."
     1497msgstr "Beheerders kunnen elke pagina altijd openen, en alleen beheerders kunnen de pagina's zelf bouwen en wijzigen."
     1498
     1499#: App/Admin/AdminPages/views/whats-new.php:42
     1500msgid "The dialog \"Who can edit\" with a checkbox for every role of the site"
     1501msgstr "Het venster \"Wie kan bewerken\" met een selectievakje voor elke rol van de site"
     1502
     1503#: App/Admin/AdminPages/views/whats-new.php:48
     1504msgid "What happens to your pages"
     1505msgstr "Wat er met je pagina's gebeurt"
     1506
     1507#: App/Admin/AdminPages/views/whats-new.php:49
     1508msgid "Nothing changes until you save a page again. A page that was set to Editor opens in the editor with the roles ticked that can edit it now: usually Editor, and with WooCommerce also Shop manager. Save the page to keep it that way, or change the roles first."
     1509msgstr "Er verandert niets tot je een pagina opnieuw opslaat. Een pagina die op Redacteur stond, opent in de editor met de rollen aangevinkt die hem nu kunnen bewerken: meestal Redacteur, en met WooCommerce ook Winkelmanager. Sla de pagina op om het zo te houden, of pas eerst de rollen aan."
     1510
     1511#: App/Admin/AdminPages/views/whats-new.php:50
     1512msgid "From then on the ticked roles decide, not what a role may do elsewhere on the site. Did someone get access without one of these roles? Tick a role they have, or give them access to that page with a plugin that manages roles."
     1513msgstr "Vanaf dan beslissen de aangevinkte rollen, niet wat een rol elders op de site mag. Had iemand toegang zonder een van deze rollen? Vink een rol aan die hij heeft, of geef hem toegang tot die pagina met een plugin die rollen beheert."
     1514
     1515#: App/Admin/AdminPages/views/whats-new.php:56
     1516msgid "One user, one page"
     1517msgstr "Eén gebruiker, één pagina"
     1518
     1519#: App/Admin/AdminPages/views/whats-new.php:57
     1520msgid "With a plugin that manages roles, such as Members or User Role Editor, you can give a single user access to a single page: every page is listed there under Admin Options Pages."
     1521msgstr "Met een plugin die rollen beheert, zoals Members of User Role Editor, geef je één gebruiker toegang tot één pagina: elke pagina staat daar onder Admin Options Pages."
     1522
     1523#: App/Admin/AdminPages/views/whats-new.php:60
     1524msgid "Roles move with your pages"
     1525msgstr "Rollen verhuizen mee"
     1526
     1527#: App/Admin/AdminPages/views/whats-new.php:61
     1528msgid "An export takes the roles of every page with it. When a role does not exist on the site you import to, the preview tells you; the page is imported all the same."
     1529msgstr "Een export neemt de rollen van elke pagina mee. Bestaat een rol niet op de site waar je importeert, dan zegt het voorbeeld dat; de pagina wordt toch geïmporteerd."
     1530
     1531#: App/Admin/AdminPages/views/whats-new.php:64
     1532msgid "No dead ends"
     1533msgstr "Geen doodlopende wegen"
     1534
     1535#: App/Admin/AdminPages/views/whats-new.php:65
     1536msgid "The editor tells you when a ticked role cannot open the dashboard at all, such as the Customer role of WooCommerce."
     1537msgstr "De editor zegt het als een aangevinkte rol het dashboard helemaal niet kan openen, zoals de rol Klant van WooCommerce."
     1538
     1539#: App/Admin/AdminPages/views/whats-new.php:72
     1540msgid "Admin Options Pages 1.1 needs WordPress 6.9 or later and PHP 8.1 or later, like 1.0."
     1541msgstr "Admin Options Pages 1.1 heeft WordPress 6.9 of hoger en PHP 8.1 of hoger nodig, net als 1.0."
     1542
     1543#: App/Admin/AdminPages/views/whats-new.php:77
     1544msgid "What was new in 1.0"
     1545msgstr "Wat was er nieuw in 1.0"
     1546
     1547#: App/Admin/AdminPages/views/whats-new.php:28
     1548msgid "Your clients and colleagues now get exactly the pages they need. Choose the right roles for each page: Editor, Shop manager, Author, or a role you made yourself."
     1549msgstr "Je klanten en collega's krijgen nu precies de pagina's die ze nodig hebben. Kies per pagina de juiste rollen: Redacteur, Winkelmanager, Auteur of een rol die je zelf hebt gemaakt."
  • admin-options-pages/trunk/languages/admin-options-pages.pot

    r3736451 r3750608  
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2026-10-09T10:01:38+00:00\n"
     12"POT-Creation-Date: 2026-10-16T13:58:23+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.11.0\n"
    … …  
    8484
    8585#: App/Admin/AdminPages/AdminPages.php:207
    86 #: App/Admin/Input.php:61
     86#: App/Admin/Input.php:62
    8787msgid "Updated."
    8888msgstr ""
    … …  
    139139msgstr ""
    140140
    141 #: App/Admin/AdminPages/SubpageWhatsNew.php:93
    142 msgid "Admin Options Pages 1.0 is here."
    143 msgstr ""
    144 
    145 #: App/Admin/AdminPages/SubpageWhatsNew.php:94
    146 msgid "Import and export with your data, your own field types, nine new field types and your values on your website."
    147 msgstr ""
    148 
    149 #: App/Admin/AdminPages/SubpageWhatsNew.php:96
     141#: App/Admin/AdminPages/SubpageWhatsNew.php:120
     142msgid "Admin Options Pages 1.1 is here."
     143msgstr ""
     144
     145#: App/Admin/AdminPages/SubpageWhatsNew.php:121
     146msgid "You now choose per page which roles can edit it. Have a look at who can edit your pages."
     147msgstr ""
     148
     149#: App/Admin/AdminPages/SubpageWhatsNew.php:123
    150150msgid "See what's new"
    151151msgstr ""
    152152
    153 #: App/Admin/AdminPages/views/whats-new.php:19
     153#: App/Admin/AdminPages/views/whats-new-1.0.php:20
    154154msgid "Admin Options Pages 1.0"
    155155msgstr ""
    156156
    157 #: App/Admin/AdminPages/views/whats-new.php:21
     157#: App/Admin/AdminPages/views/whats-new-1.0.php:22
    158158msgid "Import and export with your data, your own field types and your values on your website."
    159159msgstr ""
    160160
    161 #: App/Admin/AdminPages/views/whats-new.php:26
     161#: App/Admin/AdminPages/views/whats-new-1.0.php:27
    162162msgid "Welcome to Admin Options Pages 1.0"
    163163msgstr ""
    164164
     165#: App/Admin/AdminPages/views/whats-new-1.0.php:28
     166msgid "This is the biggest update of the plugin so far. Menus now move to another site with all their values, so the options pages you built and filled locally go live in one file. You can add field types of your own, there are nine new built-in ones, and the values of your fields can be shown on your website without code. Your menus, pages, fields and values are all still here."
     167msgstr ""
     168
     169#: App/Admin/AdminPages/views/whats-new-1.0.php:34
     170msgid "Import and export, with your data"
     171msgstr ""
     172
     173#: App/Admin/AdminPages/views/whats-new-1.0.php:36
     174msgid "Build and fill your options pages locally, then take them live in one file."
     175msgstr ""
     176
     177#: App/Admin/AdminPages/views/whats-new-1.0.php:37
     178msgid "Export the menus you choose together with the values of their fields, and import them on your live site, a staging site or your next project. No more typing the same settings twice."
     179msgstr ""
     180
     181#: App/Admin/AdminPages/views/whats-new-1.0.php:39
     182msgid "Before anything changes you see what would happen, and you choose per menu, page, field and value. Nothing is replaced unless you choose it, and an import is all or nothing. Exports made with 0.9 can be imported too."
     183msgstr ""
     184
     185#: App/Admin/AdminPages/views/whats-new-1.0.php:42
     186msgid "The preview of an import, with a checkbox for every menu, page, field and value"
     187msgstr ""
     188
     189#: App/Admin/AdminPages/views/whats-new-1.0.php:48
     190msgid "An options page with a logo, a brand color and contact details"
     191msgstr ""
     192
     193#: App/Admin/AdminPages/views/whats-new-1.0.php:51
     194msgid "Nine new field types"
     195msgstr ""
     196
     197#: App/Admin/AdminPages/views/whats-new-1.0.php:53
     198msgid "Email, Link, Password, Date, Time, Date and time, Range, Button group and File."
     199msgstr ""
     200
     201#: App/Admin/AdminPages/views/whats-new-1.0.php:54
     202msgid "That makes 21 field types. Each one checks what is entered, and an image or file field only accepts the file types you choose, also when something is uploaded."
     203msgstr ""
     204
     205#: App/Admin/AdminPages/views/whats-new-1.0.php:61
     206msgid "Your own field types"
     207msgstr ""
     208
     209#: App/Admin/AdminPages/views/whats-new-1.0.php:63
     210msgid "Need a field that is not there? Add it yourself."
     211msgstr ""
     212
     213#: App/Admin/AdminPages/views/whats-new-1.0.php:64
     214msgid "Register a field type from your theme or plugin with one class: what the editor asks for, how the value is checked and stored, and how it shows on the options page and on your website. It appears in the field picker next to the built-in types, which use exactly the same API."
     215msgstr ""
     216
     217#: App/Admin/AdminPages/views/whats-new-1.0.php:66
     218msgid "The Field Types API is stable from 1.0 on and follows semantic versioning, so your field types keep working with the next versions."
     219msgstr ""
     220
     221#: App/Admin/AdminPages/views/whats-new-1.0.php:87
     222msgid "A paragraph connected to a field in the Attributes panel"
     223msgstr ""
     224
     225#: App/Admin/AdminPages/views/whats-new-1.0.php:90
     226msgid "Your values on your website"
     227msgstr ""
     228
     229#: App/Admin/AdminPages/views/whats-new-1.0.php:92
     230msgid "With a shortcode or a block, no code needed."
     231msgstr ""
     232
     233#: App/Admin/AdminPages/views/whats-new-1.0.php:93
     234msgid "Put a field in a post with [aop_option name=\"…\"], or connect a paragraph, heading, button or image to it in the Attributes panel of the block editor. Change the value once, and it changes everywhere."
     235msgstr ""
     236
     237#: App/Admin/AdminPages/views/whats-new-1.0.php:95
     238msgid "Switch on \"Use in shortcode and blocks\" for the fields you want to show. Fields made before 1.0 have it off, so nothing appears on your website by itself."
     239msgstr ""
     240
     241#: App/Admin/AdminPages/views/whats-new-1.0.php:101
     242msgid "Rewritten in React"
     243msgstr ""
     244
     245#: App/Admin/AdminPages/views/whats-new-1.0.php:102
     246msgid "Under the hood the editor is rewritten in React, the WordPress way: with the components and the data store the block editor is made of."
     247msgstr ""
     248
     249#: App/Admin/AdminPages/views/whats-new-1.0.php:105
     250msgid "Change any saved value"
     251msgstr ""
     252
     253#: App/Admin/AdminPages/views/whats-new-1.0.php:106
     254msgid "Developers can change the value of any field before it is stored with the new filters aop_sanitized_option and aop_sanitized_option_{name}."
     255msgstr ""
     256
     257#: App/Admin/AdminPages/views/whats-new-1.0.php:109
     258msgid "A safe upgrade"
     259msgstr ""
     260
     261#: App/Admin/AdminPages/views/whats-new-1.0.php:110
     262msgid "Your pages are stored in a new format now. A copy in the old format is kept for 90 days."
     263msgstr ""
     264
     265#: App/Admin/AdminPages/views/whats-new-1.0.php:116
     266#: App/Admin/AdminPages/views/whats-new.php:71
     267msgid "Requirements"
     268msgstr ""
     269
     270#: App/Admin/AdminPages/views/whats-new-1.0.php:117
     271msgid "Admin Options Pages 1.0 needs WordPress 6.9 or later and PHP 8.1 or later."
     272msgstr ""
     273
     274#: App/Admin/AdminPages/views/whats-new-1.0.php:119
     275#: App/Admin/AdminPages/views/whats-new.php:74
     276msgid "Go to your options pages"
     277msgstr ""
     278
     279#: App/Admin/AdminPages/views/whats-new-1.0.php:120
     280#: App/Admin/AdminPages/views/whats-new.php:75
     281msgid "Read the documentation"
     282msgstr ""
     283
     284#: App/Admin/AdminPages/views/whats-new-1.0.php:122
     285msgid "What is new in 1.1"
     286msgstr ""
     287
     288#: App/Admin/AdminPages/views/whats-new.php:20
     289msgid "Admin Options Pages 1.1"
     290msgstr ""
     291
     292#: App/Admin/AdminPages/views/whats-new.php:22
     293msgid "Choose who can edit each page."
     294msgstr ""
     295
    165296#: App/Admin/AdminPages/views/whats-new.php:27
    166 msgid "This is the biggest update of the plugin so far. Menus now move to another site with all their values, so the options pages you built and filled locally go live in one file. You can add field types of your own, there are nine new built-in ones, and the values of your fields can be shown on your website without code. Your menus, pages, fields and values are all still here."
    167 msgstr ""
    168 
    169 #: App/Admin/AdminPages/views/whats-new.php:33
    170 msgid "Import and export, with your data"
    171 msgstr ""
    172 
    173 #: App/Admin/AdminPages/views/whats-new.php:35
    174 msgid "Build and fill your options pages locally, then take them live in one file."
     297msgid "Welcome to Admin Options Pages 1.1"
     298msgstr ""
     299
     300#: App/Admin/AdminPages/views/whats-new.php:28
     301msgid "Your clients and colleagues now get exactly the pages they need. Choose the right roles for each page: Editor, Shop manager, Author, or a role you made yourself."
     302msgstr ""
     303
     304#: App/Admin/AdminPages/views/whats-new.php:34
     305#: includes/build/editor.js:3
     306#: includes/build/editor.js:4
     307msgid "Who can edit"
    175308msgstr ""
    176309
    177310#: App/Admin/AdminPages/views/whats-new.php:36
    178 msgid "Export the menus you choose together with the values of their fields, and import them on your live site, a staging site or your next project. No more typing the same settings twice."
    179 msgstr ""
    180 
    181 #: App/Admin/AdminPages/views/whats-new.php:38
    182 msgid "Before anything changes you see what would happen, and you choose per menu, page, field and value. Nothing is replaced unless you choose it, and an import is all or nothing. Exports made with 0.9 can be imported too."
    183 msgstr ""
    184 
    185 #: App/Admin/AdminPages/views/whats-new.php:41
    186 msgid "The preview of an import, with a checkbox for every menu, page, field and value"
    187 msgstr ""
    188 
    189 #: App/Admin/AdminPages/views/whats-new.php:47
    190 msgid "An options page with a logo, a brand color and contact details"
     311msgid "Tick the roles that may edit a page."
     312msgstr ""
     313
     314#: App/Admin/AdminPages/views/whats-new.php:37
     315msgid "Open a page in the editor and click the button next to \"Who can edit\". Every role of your site is there, also the roles of other plugins and the roles you made yourself. Users with a ticked role see the page in their menu and can save it; nobody else can."
     316msgstr ""
     317
     318#: App/Admin/AdminPages/views/whats-new.php:39
     319msgid "Administrators can always open every page, and only administrators can build and change the pages themselves."
     320msgstr ""
     321
     322#: App/Admin/AdminPages/views/whats-new.php:42
     323msgid "The dialog \"Who can edit\" with a checkbox for every role of the site"
     324msgstr ""
     325
     326#: App/Admin/AdminPages/views/whats-new.php:48
     327msgid "What happens to your pages"
     328msgstr ""
     329
     330#: App/Admin/AdminPages/views/whats-new.php:49
     331msgid "Nothing changes until you save a page again. A page that was set to Editor opens in the editor with the roles ticked that can edit it now: usually Editor, and with WooCommerce also Shop manager. Save the page to keep it that way, or change the roles first."
    191332msgstr ""
    192333
    193334#: App/Admin/AdminPages/views/whats-new.php:50
    194 msgid "Nine new field types"
    195 msgstr ""
    196 
    197 #: App/Admin/AdminPages/views/whats-new.php:52
    198 msgid "Email, Link, Password, Date, Time, Date and time, Range, Button group and File."
    199 msgstr ""
    200 
    201 #: App/Admin/AdminPages/views/whats-new.php:53
    202 msgid "That makes 21 field types. Each one checks what is entered, and an image or file field only accepts the file types you choose, also when something is uploaded."
     335msgid "From then on the ticked roles decide, not what a role may do elsewhere on the site. Did someone get access without one of these roles? Tick a role they have, or give them access to that page with a plugin that manages roles."
     336msgstr ""
     337
     338#: App/Admin/AdminPages/views/whats-new.php:56
     339msgid "One user, one page"
     340msgstr ""
     341
     342#: App/Admin/AdminPages/views/whats-new.php:57
     343msgid "With a plugin that manages roles, such as Members or User Role Editor, you can give a single user access to a single page: every page is listed there under Admin Options Pages."
    203344msgstr ""
    204345
    205346#: App/Admin/AdminPages/views/whats-new.php:60
    206 msgid "Your own field types"
    207 msgstr ""
    208 
    209 #: App/Admin/AdminPages/views/whats-new.php:62
    210 msgid "Need a field that is not there? Add it yourself."
    211 msgstr ""
    212 
    213 #: App/Admin/AdminPages/views/whats-new.php:63
    214 msgid "Register a field type from your theme or plugin with one class: what the editor asks for, how the value is checked and stored, and how it shows on the options page and on your website. It appears in the field picker next to the built-in types, which use exactly the same API."
     347msgid "Roles move with your pages"
     348msgstr ""
     349
     350#: App/Admin/AdminPages/views/whats-new.php:61
     351msgid "An export takes the roles of every page with it. When a role does not exist on the site you import to, the preview tells you; the page is imported all the same."
     352msgstr ""
     353
     354#: App/Admin/AdminPages/views/whats-new.php:64
     355msgid "No dead ends"
    215356msgstr ""
    216357
    217358#: App/Admin/AdminPages/views/whats-new.php:65
    218 msgid "The Field Types API is stable from 1.0 on and follows semantic versioning, so your field types keep working with the next versions."
    219 msgstr ""
    220 
    221 #: App/Admin/AdminPages/views/whats-new.php:86
    222 msgid "A paragraph connected to a field in the Attributes panel"
    223 msgstr ""
    224 
    225 #: App/Admin/AdminPages/views/whats-new.php:89
    226 msgid "Your values on your website"
    227 msgstr ""
    228 
    229 #: App/Admin/AdminPages/views/whats-new.php:91
    230 msgid "With a shortcode or a block, no code needed."
    231 msgstr ""
    232 
    233 #: App/Admin/AdminPages/views/whats-new.php:92
    234 msgid "Put a field in a post with [aop_option name=\"…\"], or connect a paragraph, heading, button or image to it in the Attributes panel of the block editor. Change the value once, and it changes everywhere."
    235 msgstr ""
    236 
    237 #: App/Admin/AdminPages/views/whats-new.php:94
    238 msgid "Switch on \"Use in shortcode and blocks\" for the fields you want to show. Fields made before 1.0 have it off, so nothing appears on your website by itself."
    239 msgstr ""
    240 
    241 #: App/Admin/AdminPages/views/whats-new.php:100
    242 msgid "Rewritten in React"
    243 msgstr ""
    244 
    245 #: App/Admin/AdminPages/views/whats-new.php:101
    246 msgid "Under the hood the editor is rewritten in React, the WordPress way: with the components and the data store the block editor is made of."
    247 msgstr ""
    248 
    249 #: App/Admin/AdminPages/views/whats-new.php:104
    250 msgid "Change any saved value"
    251 msgstr ""
    252 
    253 #: App/Admin/AdminPages/views/whats-new.php:105
    254 msgid "Developers can change the value of any field before it is stored with the new filters aop_sanitized_option and aop_sanitized_option_{name}."
    255 msgstr ""
    256 
    257 #: App/Admin/AdminPages/views/whats-new.php:108
    258 msgid "A safe upgrade"
    259 msgstr ""
    260 
    261 #: App/Admin/AdminPages/views/whats-new.php:109
    262 msgid "Your pages are stored in a new format now. A copy in the old format is kept for 90 days."
    263 msgstr ""
    264 
    265 #: App/Admin/AdminPages/views/whats-new.php:115
    266 msgid "Requirements"
    267 msgstr ""
    268 
    269 #: App/Admin/AdminPages/views/whats-new.php:116
    270 msgid "Admin Options Pages 1.0 needs WordPress 6.9 or later and PHP 8.1 or later."
    271 msgstr ""
    272 
    273 #: App/Admin/AdminPages/views/whats-new.php:118
    274 msgid "Go to your options pages"
    275 msgstr ""
    276 
    277 #: App/Admin/AdminPages/views/whats-new.php:119
    278 msgid "Read the documentation"
     359msgid "The editor tells you when a ticked role cannot open the dashboard at all, such as the Customer role of WooCommerce."
     360msgstr ""
     361
     362#: App/Admin/AdminPages/views/whats-new.php:72
     363msgid "Admin Options Pages 1.1 needs WordPress 6.9 or later and PHP 8.1 or later, like 1.0."
     364msgstr ""
     365
     366#: App/Admin/AdminPages/views/whats-new.php:77
     367msgid "What was new in 1.0"
    279368msgstr ""
    280369
    … …  
    288377#: App/Fields/Types/Subtitle.php:38
    289378#: includes/build/editor.js:1
     379#: includes/build/editor.js:4
    290380msgid "Title"
    291381msgstr ""
    … …  
    293383#: App/Admin/ListTable.php:41
    294384#: includes/build/editor.js:1
     385#: includes/build/editor.js:4
    295386msgid "Position"
    296387msgstr ""
    … …  
    314405
    315406#: App/Admin/Text.php:14
    316 #: App/Admin/Text.php:32
     407#: App/Admin/Text.php:28
    317408#: includes/build/editor.js:1
    318409msgid "Cancel"
    … …  
    320411
    321412#: App/Admin/Text.php:15
     413#: App/Admin/Text.php:25
    322414#: App/Admin/Text.php:29
    323 #: App/Admin/Text.php:33
    324415#: App/Fields/Types/FileField.php:165
    325416#: App/Fields/Types/Image.php:158
    … …  
    328419msgstr ""
    329420
    330 #: App/Admin/Text.php:18
    331 msgctxt "User role"
    332 msgid "Administrator"
    333 msgstr ""
    334 
    335 #: App/Admin/Text.php:19
    336 msgctxt "User role"
    337 msgid "Editor"
     421#: App/Admin/Text.php:20
     422msgid "Save"
     423msgstr ""
     424
     425#: App/Admin/Text.php:21
     426msgid "New Pages"
    338427msgstr ""
    339428
    340429#: App/Admin/Text.php:24
    341 msgid "Save"
    342 msgstr ""
    343 
    344 #: App/Admin/Text.php:25
    345 msgid "New Pages"
    346 msgstr ""
    347 
    348 #: App/Admin/Text.php:28
    349430msgid "Update"
    350431msgstr ""
    351432
    352 #: App/Admin/Text.php:30
     433#: App/Admin/Text.php:26
    353434msgid "Edit Pages"
    354435msgstr ""
    … …  
    413494msgstr ""
    414495
    415 #: App/Data.php:651
     496#: App/Data.php:653
    416497msgid "The link you followed has expired."
    417498msgstr ""
    418499
    419500#. translators: 1: a field type, 2: an option name
    420 #: App/Fields/FieldManager.php:164
     501#: App/Fields/FieldManager.php:171
    421502msgid "The field type \"%1$s\" of the option \"%2$s\" is not available, so the field is not shown. Activate the plugin that provides it. Nothing was deleted."
    422503msgstr ""
    … …  
    705786msgstr ""
    706787
    707 #: App/ImportExport/Importer.php:112
     788#. translators: 1: the slug of a user role, 2: the menu title of a page
     789#: App/ImportExport/Importer.php:118
     790msgid "The role \"%1$s\" of the page \"%2$s\" does not exist on this site. Until it does, users with that role cannot open the page."
     791msgstr ""
     792
     793#: App/ImportExport/Importer.php:141
    708794msgid "This menu is in the file more than once."
    709795msgstr ""
    710796
    711 #: App/ImportExport/Importer.php:118
     797#: App/ImportExport/Importer.php:147
    712798msgid "The menu on this site was saved by a newer version of the plugin. Update the plugin first."
    713799msgstr ""
    714800
    715 #: App/ImportExport/Importer.php:124
     801#: App/ImportExport/Importer.php:153
    716802msgid "Another menu on this site already has the id of this menu."
    717803msgstr ""
    718804
    719805#. translators: %s: an option name
    720 #: App/ImportExport/Importer.php:137
     806#: App/ImportExport/Importer.php:166
    721807msgid "The option name \"%s\" is used by more than one menu in the file."
    722808msgstr ""
    723809
    724810#. translators: %s: the name of a field type
    725 #: App/ImportExport/Importer.php:228
     811#: App/ImportExport/Importer.php:257
    726812msgid "The field type \"%s\" is not available on this site. Activate the plugin that provides it."
    727813msgstr ""
    728814
    729 #: App/ImportExport/Importer.php:233
     815#: App/ImportExport/Importer.php:262
    730816msgid "This is not a valid option name."
    731817msgstr ""
    732818
    733 #: App/ImportExport/Importer.php:235
     819#: App/ImportExport/Importer.php:264
    734820msgid "This option name is used by WordPress or another plugin."
    735821msgstr ""
    736822
    737 #: App/ImportExport/Importer.php:300
     823#: App/ImportExport/Importer.php:329
    738824msgid "Something in this menu is not allowed."
    739825msgstr ""
    740826
    741 #: App/ImportExport/Importer.php:310
     827#: App/ImportExport/Importer.php:339
    742828msgid "The name of this menu does not match what is in it."
    743829msgstr ""
    744830
    745 #: App/ImportExport/Importer.php:429
     831#: App/ImportExport/Importer.php:458
    746832msgid "Checked"
    747833msgstr ""
    748834
    749 #: App/ImportExport/Importer.php:429
     835#: App/ImportExport/Importer.php:458
    750836msgid "Not checked"
    751837msgstr ""
    752838
    753839#. translators: %s: the id of an image or file in the media library
    754 #: App/ImportExport/Importer.php:440
     840#: App/ImportExport/Importer.php:469
    755841msgid "Media ID %s"
    756842msgstr ""
    757843
    758 #: App/ImportExport/Importer.php:472
     844#: App/ImportExport/Importer.php:501
    759845msgid "This import has expired. Choose the file again."
    760846msgstr ""
    761847
    762848#. translators: %s: the name of a menu
    763 #: App/ImportExport/Importer.php:613
     849#: App/ImportExport/Importer.php:642
    764850msgid "Without its first page the menu \"%s\" would get the name of a menu that is on this site already. Import the first page too, or choose another page as the first."
    765851msgstr ""
    766852
    767 #: App/ImportExport/Importer.php:638
    768 #: App/ImportExport/Importer.php:691
     853#: App/ImportExport/Importer.php:667
     854#: App/ImportExport/Importer.php:720
    769855msgid "A choice was made for a menu that is not in the file."
    770856msgstr ""
    771857
    772 #: App/ImportExport/Importer.php:645
     858#: App/ImportExport/Importer.php:674
    773859msgid "A choice was made for a page or field that is not in the file."
    774860msgstr ""
    775861
    776 #: App/ImportExport/Importer.php:652
     862#: App/ImportExport/Importer.php:681
    777863msgid "A menu needs at least one page."
    778864msgstr ""
    779865
    780866#. translators: %s: the title of a menu
    781 #: App/ImportExport/Importer.php:680
     867#: App/ImportExport/Importer.php:709
    782868msgid "That cannot be done with the menu \"%s\"."
    783869msgstr ""
    784870
    785871#. translators: %s: an option name
    786 #: App/ImportExport/Importer.php:716
     872#: App/ImportExport/Importer.php:745
    787873msgid "That cannot be done with the option \"%s\"."
    788874msgstr ""
    789875
    790 #: App/ImportExport/Importer.php:742
     876#: App/ImportExport/Importer.php:771
    791877msgid "A menu in the file could not be saved. Nothing was imported."
    792878msgstr ""
    793879
    794880#. translators: %s: an option name
    795 #: App/ImportExport/Importer.php:781
     881#: App/ImportExport/Importer.php:810
    796882msgid "The value of \"%s\" was changed by its field type."
    797883msgstr ""
    … …  
    846932msgstr ""
    847933
     934#. translators: %s: where in the file
     935#: App/ImportExport/SchemaValidator.php:92
     936msgid "%s has characters that are not allowed."
     937msgstr ""
     938
    848939#. translators: 1: where in the file, 2: a number
    849 #: App/ImportExport/SchemaValidator.php:96
     940#: App/ImportExport/SchemaValidator.php:102
    850941msgid "%1$s has more than %2$d items."
    851942msgstr ""
    852943
    853944#. translators: %s: where in the file
    854 #: App/ImportExport/SchemaValidator.php:101
     945#: App/ImportExport/SchemaValidator.php:107
    855946msgid "%s has no items."
    856947msgstr ""
    857948
    858949#. translators: 1: where in the file, 2: a number
    859 #: App/ImportExport/SchemaValidator.php:106
     950#: App/ImportExport/SchemaValidator.php:112
    860951msgid "%1$s has more than %2$d entries."
    861952msgstr ""
    862953
    863954#. translators: 1: where in the file, 2: the name of what is missing
    864 #: App/ImportExport/SchemaValidator.php:112
     955#: App/ImportExport/SchemaValidator.php:118
    865956msgid "%1$s misses \"%2$s\"."
    866957msgstr ""
    867958
    868 #: App/ImportExport/SchemaValidator.php:169
     959#: App/ImportExport/SchemaValidator.php:175
    869960msgid "The file"
    870961msgstr ""
    … …  
    10071098
    10081099#: includes/build/editor.js:1
     1100#: includes/build/editor.js:4
    10091101msgid "Drag to reorder"
    10101102msgstr ""
    … …  
    11721264msgstr ""
    11731265
    1174 #: includes/build/editor.js:1
     1266#. translators: %s: the slug of a role that does not exist on this site
     1267#: includes/build/editor.js:2
     1268msgid "%s (no longer available)"
     1269msgstr ""
     1270
     1271#. translators: 1: the name of a role, 2: the number of users with that role
     1272#: includes/build/editor.js:3
     1273msgid "%1$s (%2$d user)"
     1274msgid_plural "%1$s (%2$d users)"
     1275msgstr[0] ""
     1276msgstr[1] ""
     1277
     1278#: includes/build/editor.js:3
     1279msgid "Administrator"
     1280msgstr ""
     1281
     1282#. translators: %d: the number of roles besides administrator that can edit the page
     1283#: includes/build/editor.js:4
     1284msgid "Administrator + %d other"
     1285msgid_plural "Administrator + %d others"
     1286msgstr[0] ""
     1287msgstr[1] ""
     1288
     1289#: includes/build/editor.js:4
     1290msgid "Administrators always have access."
     1291msgstr ""
     1292
     1293#: includes/build/editor.js:4
     1294msgid "Users with this role cannot open the dashboard."
     1295msgstr ""
     1296
     1297#: includes/build/editor.js:4
     1298msgid "Done"
     1299msgstr ""
     1300
     1301#: includes/build/editor.js:4
    11751302msgid "Menu page title"
    11761303msgstr ""
    11771304
    1178 #: includes/build/editor.js:1
     1305#: includes/build/editor.js:4
    11791306msgid "Page title"
    11801307msgstr ""
    11811308
    1182 #: includes/build/editor.js:1
     1309#: includes/build/editor.js:4
    11831310msgid "Page title on top"
    11841311msgstr ""
    11851312
    1186 #: includes/build/editor.js:1
     1313#: includes/build/editor.js:4
    11871314msgid "Show page with tab"
    11881315msgstr ""
    11891316
    1190 #: includes/build/editor.js:1
    1191 msgid "User access level"
    1192 msgstr ""
    1193 
    1194 #: includes/build/editor.js:1
     1317#: includes/build/editor.js:4
    11951318msgid "Visit Page"
    11961319msgstr ""
    11971320
    1198 #: includes/build/editor.js:1
     1321#: includes/build/editor.js:4
    11991322msgid "Delete Page"
    12001323msgstr ""
    12011324
    1202 #: includes/build/editor.js:1
     1325#: includes/build/editor.js:4
    12031326msgid "Saving failed."
    12041327msgstr ""
    12051328
    1206 #: includes/build/editor.js:1
     1329#: includes/build/editor.js:4
    12071330msgid "At this moment there is no proper support for small/mobile screens."
    12081331msgstr ""
    12091332
    1210 #: includes/build/editor.js:1
     1333#: includes/build/editor.js:4
    12111334msgid "We hope to fix this in a future version."
    12121335msgstr ""
    12131336
    1214 #: includes/build/editor.js:1
     1337#: includes/build/editor.js:4
    12151338msgid "The minimum required screen width is 1000px."
    12161339msgstr ""
    12171340
    1218 #: includes/build/editor.js:1
     1341#: includes/build/editor.js:4
    12191342msgid "Close dialog"
    12201343msgstr ""
  • admin-options-pages/trunk/readme.txt

    r3736451 r3750608  
    55Tested up to: 7.1
    66Requires PHP: 8.1
    7 Stable tag: 1.0.0
     7Stable tag: 1.1.0
    88License: GPLv2 or later
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html
    … …  
    106106= Who can edit the options pages? =
    107107
    108 You choose per page: *Administrator* or *Editor*. With *Editor*, users who can edit other people's posts can see the page and change its values. The editor of Admin Options Pages itself is only for administrators.
     108You tick per page which roles can see it and change its values: for example *Shop manager*, *Author*, or a role you made yourself. Administrators can always open every page. A plugin that manages roles, such as Members or User Role Editor, can also give a single user access to a page. The editor of Admin Options Pages itself is only for administrators.
     109
     110Pages you made before 1.1 keep working as they did. When you open such a page in the editor, the roles that have access now are ticked.
    109111
    110112== Screenshots ==
    … …  
    118120
    119121== Changelog ==
     122
     123= 1.1.0 =
     124*Release Date - 16 October 2026*
     125
     126* New: choose per page which roles can edit it, also roles of other plugins and roles you made yourself. Administrators can always open every page.
     127* New: Members and User Role Editor list a capability per page, so you can give one user access to one page.
     128* New: the import says when a page has a role that does not exist on this site.
     129* New: a What's new page for 1.1; the page of 1.0 stays available.
     130* Pages of 1.0 keep their access: the roles that have the level *Editor* now are ticked when you open the page.
     131* Fixed: new texts no longer show in English when an older language pack of translate.wordpress.org is installed.
    120132
    121133= 1.0.0 =
    … …  
    292304== Upgrade Notice ==
    293305
     306= 1.1.0 =
     307Choose per page which roles can edit it. Pages set to Editor keep working; open them in the editor and save once to keep the roles that have access now.
     308
    294309= 1.0.0 =
    295310A new editor, 21 field types, and your values in blocks and shortcodes. Requires PHP 8.1 and WordPress 6.9. Your pages are converted to a new format; a backup is kept for 90 days. Going back to 0.9.11 needs that backup.
  • admin-options-pages/trunk/vendor/composer/autoload_classmap.php

    r3736451 r3750608  
    77
    88return array(
     9    'AOP\\App\\Access' => $baseDir . '/App/Access.php',
    910    'AOP\\App\\Admin\\AdminPages\\AdminPages' => $baseDir . '/App/Admin/AdminPages/AdminPages.php',
    1011    'AOP\\App\\Admin\\AdminPages\\MenuPage' => $baseDir . '/App/Admin/AdminPages/MenuPage.php',
    … …  
    8384    'AOP\\App\\Rest\\PagesController' => $baseDir . '/App/Rest/PagesController.php',
    8485    'AOP\\App\\Singleton' => $baseDir . '/App/Singleton.php',
     86    'AOP\\App\\Translations' => $baseDir . '/App/Translations.php',
    8587    'AOP\\App\\Validation' => $baseDir . '/App/Validation.php',
    8688    'AOP\\App\\ValidationFailed' => $baseDir . '/App/ValidationFailed.php',
  • admin-options-pages/trunk/vendor/composer/autoload_static.php

    r3736451 r3750608  
    5454
    5555    public static $classMap = array (
     56        'AOP\\App\\Access' => __DIR__ . '/../..' . '/App/Access.php',
    5657        'AOP\\App\\Admin\\AdminPages\\AdminPages' => __DIR__ . '/../..' . '/App/Admin/AdminPages/AdminPages.php',
    5758        'AOP\\App\\Admin\\AdminPages\\MenuPage' => __DIR__ . '/../..' . '/App/Admin/AdminPages/MenuPage.php',
    … …  
    130131        'AOP\\App\\Rest\\PagesController' => __DIR__ . '/../..' . '/App/Rest/PagesController.php',
    131132        'AOP\\App\\Singleton' => __DIR__ . '/../..' . '/App/Singleton.php',
     133        'AOP\\App\\Translations' => __DIR__ . '/../..' . '/App/Translations.php',
    132134        'AOP\\App\\Validation' => __DIR__ . '/../..' . '/App/Validation.php',
    133135        'AOP\\App\\ValidationFailed' => __DIR__ . '/../..' . '/App/ValidationFailed.php',
Note: See TracChangeset for help on using the changeset viewer.