<?php
namespace NeoMotionBeta\NeoGlobal; if (!defined("ABSPATH")) { die("neoWP direct access not allowed"); }



// Autoloader for Web Components used in the plugin for scoping styles and scripts from the WordPress backend.






function get_web_component_names_for_importer() {
    $web_components = [];
    foreach (\NeoMotionBeta\NeoGlobal\fs_glob(\NeoMotionBeta\NeoGlobal\plugin_path() . "/_global-web-component-*.js") ?: [] as $file) {
        $file = basename($file);
        if ($file === "_global-web-component-importer.js" || $file === "_global-web-component-importer.php") { continue; }
        $web_component_name = str_replace(["_global-web-component-", ".js"], ["", ""], $file);
        $web_component_name .= "-neo-motion-beta";
        $web_components[] = $web_component_name;
    }
    return $web_components;
}
\NeoMotionBeta\NeoGlobal\callback_before_enqueue_js_variables_backend_or_frontend(function () {
    if (!is_admin()) { return; }
    \NeoMotionBeta\NeoGlobal\enqueue_js_variable_backend("neoGlobalWebComponentImporterWebComponents", get_web_component_names_for_importer());
});

\NeoMotionBeta\NeoGlobal\add_action_hook("current_screen", function () {
    foreach (get_web_component_names_for_importer() as $web_component_name) {
        \NeoMotionBeta\NeoGlobal\add_action_hook("admin_head", function () use ($web_component_name) {
            ?>
            <style id="<?php echo esc_attr("neo-web-component-hide-neo-motion-beta-$web_component_name") ?>">
                <?php echo esc_attr($web_component_name) ?> { <?php echo $web_component_name === "neo-info-tooltip-neo-motion-beta" ? "display: none;" : "visibility: hidden" ?> }
            </style><?php
        });
    }
    \NeoMotionBeta\NeoGlobal\enqueue_js("_global-web-component-importer.js");
});
