/index.js and its styles, using the generated asset file. */ class AdminApp { /** * Enqueues the script and style of an admin app, if it has been built. * * @param string $name App folder name in build/admin/, e.g. "settings". * @param array $style_dependencies Style handles the app's CSS needs. React apps * need `wp-components`; plain scripts don't. * @return void */ public static function enqueue( string $name, array $style_dependencies = array( 'wp-components' ) ): void { $asset_file = YANGRA_CONDITIONAL_PATH . 'build/admin/' . $name . '/index.asset.php'; if ( ! file_exists( $asset_file ) ) { return; } $asset = require $asset_file; $handle = 'yangra-conditional-' . $name; wp_enqueue_script( $handle, YANGRA_CONDITIONAL_URL . 'build/admin/' . $name . '/index.js', $asset['dependencies'], $asset['version'], true ); wp_set_script_translations( $handle, 'yangra-conditional', YANGRA_CONDITIONAL_PATH . 'languages' ); wp_enqueue_style( $handle, YANGRA_CONDITIONAL_URL . 'build/admin/' . $name . '/index.css', $style_dependencies, $asset['version'] ); /** * Fires after an admin app's script and styles are enqueued. Pro loads * its additions to an app here, e.g. to the classic rule fields. * * @param string $name App folder name in build/admin/, e.g. "rule-fields". * @param string $handle The app's script and style handle. */ do_action( 'yangra_conditional_admin_app_enqueued', $name, $handle ); } }