Astra_Global_Palette::generate_global_palette_style(), ); $css .= astra_parse_css( $inline_css ); ?> title ) ? $item->title : ''; ?>

ID ) ) { return $menu_item; } $menu_item->megamenu = get_post_meta( $menu_item->ID, '_menu_item_megamenu', true ); $menu_item->megamenu_width = get_post_meta( $menu_item->ID, '_menu_item_megamenu_width', true ); $menu_item->megamenu_col = get_post_meta( $menu_item->ID, '_menu_item_megamenu_col', true ); $menu_item->megamenu_text_color = get_post_meta( $menu_item->ID, '_menu_item_megamenu_text_color', true ); $menu_item->megamenu_text_h_color = get_post_meta( $menu_item->ID, '_menu_item_megamenu_text_h_color', true ); $menu_item->megamenu_background_image = get_post_meta( $menu_item->ID, '_menu_item_megamenu_background_image', true ); $menu_item->megamenu_bg_size = get_post_meta( $menu_item->ID, '_menu_item_megamenu_bg_size', true ); $menu_item->megamenu_bg_repeat = get_post_meta( $menu_item->ID, '_menu_item_megamenu_bg_repeat', true ); $menu_item->megamenu_bg_position = get_post_meta( $menu_item->ID, '_menu_item_megamenu_bg_position', true ); $menu_item->megamenu_bg_color = get_post_meta( $menu_item->ID, '_menu_item_megamenu_bg_color', true ); $menu_item->megamenu_highlight_label = get_post_meta( $menu_item->ID, '_menu_item_megamenu_highlight_label', true ); $menu_item->megamenu_icon_source = Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'icon_source', $menu_item->ID ); $menu_item->megamenu_icon_position = Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'icon_position', $menu_item->ID ); $menu_item->megamenu_icon_spacing = Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'icon_spacing', $menu_item->ID ); $menu_item->megamenu_icon_view = Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'icon_view', $menu_item->ID ); $menu_item->megamenu_icon_primary_color = Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'icon_primary_color', $menu_item->ID ); $menu_item->megamenu_icon_secondary_color = Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'icon_secondary_color', $menu_item->ID ); $menu_item->megamenu_icon_padding = Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'icon_padding', $menu_item->ID ); $menu_item->megamenu_icon_corner_radius = Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'icon_corner_radius', $menu_item->ID ); $menu_item->megamenu_icon_border_width = Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'icon_border_width', $menu_item->ID ); $menu_item->megamenu_icon_size = Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'icon_size', $menu_item->ID ); $menu_item->megamenu_label_color = get_post_meta( $menu_item->ID, '_menu_item_megamenu_label_color', true ); $menu_item->megamenu_label_bg_color = get_post_meta( $menu_item->ID, '_menu_item_megamenu_label_bg_color', true ); $menu_item->megamenu_column_divider_color = get_post_meta( $menu_item->ID, '_menu_item_megamenu_column_divider_color', true ); $menu_item->megamenu_heading_seeparator_color = get_post_meta( $menu_item->ID, '_menu_item_megamenu_heading_seeparator_color', true ); $menu_item->megamenu_content_src = get_post_meta( $menu_item->ID, '_menu_item_megamenu_content_src', true ); $menu_item->megamenu_custom_text = get_post_meta( $menu_item->ID, '_menu_item_megamenu_custom_text', true ); $menu_item->megamenu_disable_title = Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'disable_title', $menu_item->ID ); $menu_item->megamenu_enable_heading = get_post_meta( $menu_item->ID, '_menu_item_megamenu_enable_heading', true ); $menu_item->megamenu_disable_link = get_post_meta( $menu_item->ID, '_menu_item_megamenu_disable_link', true ); $menu_item->megamenu_widgets_list = get_post_meta( $menu_item->ID, '_menu_item_megamenu_widgets_list', true ); $menu_item->megamenu_template = get_post_meta( $menu_item->ID, '_menu_item_megamenu_template', true ); $menu_item->custom_width = get_post_meta( $menu_item->ID, '_menu_item_megamenu_custom_width', true ); $menu_item->megamenu_margin_top = get_post_meta( $menu_item->ID, '_menu_item_megamenu_margin_top', true ); $menu_item->megamenu_margin_right = get_post_meta( $menu_item->ID, '_menu_item_megamenu_margin_right', true ); $menu_item->megamenu_margin_bottom = get_post_meta( $menu_item->ID, '_menu_item_megamenu_margin_bottom', true ); $menu_item->megamenu_margin_left = get_post_meta( $menu_item->ID, '_menu_item_megamenu_margin_left', true ); $menu_item->megamenu_padding_top = get_post_meta( $menu_item->ID, '_menu_item_megamenu_padding_top', true ); $menu_item->megamenu_padding_right = get_post_meta( $menu_item->ID, '_menu_item_megamenu_padding_right', true ); $menu_item->megamenu_padding_bottom = get_post_meta( $menu_item->ID, '_menu_item_megamenu_padding_bottom', true ); $menu_item->megamenu_padding_left = get_post_meta( $menu_item->ID, '_menu_item_megamenu_padding_left', true ); return $menu_item; } /** * Function to replace normal edit nav walker * * @return string Class name of new navwalker */ public function edit_walker() { require_once ASTRA_ADDON_EXT_NAV_MENU_DIR . 'classes/class-astra-walker-nav-menu-edit-custom.php'; return 'Astra_Walker_Nav_Menu_Edit_Custom'; } /** * Function to load custom navigation walker. * * @return void. */ public static function load_walker() { require_once ASTRA_ADDON_EXT_NAV_MENU_DIR . 'classes/class-astra-custom-nav-walker.php'; } /** * Function to get posts lists to display. * * @return void. */ public function get_post_list_by_query() { check_ajax_referer( 'astra-addon-get-posts-by-query', 'nonce' ); $search_string = isset( $_POST['q'] ) ? sanitize_text_field( $_POST['q'] ) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Missing $data = array(); $result = array(); $args = array( 'public' => true, '_builtin' => false, ); $output = 'names'; // names or objects, note names is the default. $operator = 'and'; // also supports 'or'. $post_types = get_post_types( $args, $output, $operator ); $post_types['Posts'] = 'post'; $post_types['Pages'] = 'page'; $has_wp_block_suport = post_type_exists( 'wp_block' ); if ( $has_wp_block_suport ) { $post_types['Reusable Blocks'] = 'wp_block'; } foreach ( $post_types as $key => $post_type ) { $data = array(); $obj_instance = Astra_Target_Rules_Fields::get_instance(); add_filter( 'posts_search', array( $obj_instance, 'search_only_titles' ), 10, 2 ); $query = new WP_Query( array( 's' => $search_string, 'post_type' => $post_type, 'posts_per_page' => - 1, ) ); if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post(); $title = get_the_title(); $title .= ( 0 != $query->post->post_parent ) ? ' (' . get_the_title( $query->post->post_parent ) . ')' : ''; $id = get_the_id(); $data[] = array( 'id' => $id, 'text' => $title, ); } } if ( is_array( $data ) && ! empty( $data ) ) { $result[] = array( 'text' => $key, 'children' => $data, ); } } $data = array(); wp_reset_postdata(); // return the result in json. wp_send_json( $result ); } /** * Mega Menu Header Classes * * Add classes of mega menu only if Primary Menu is set. * * @since 1.7.2 * @return void; */ public function add_mega_menu_classes() { // If primary menu is set then enable mega menu. if ( has_nav_menu( 'primary' ) ) { add_filter( 'astra_primary_menu_classes', array( $this, 'add_primary_menu_classes' ) ); } // If secondary menu is set then enable mega menu. if ( has_nav_menu( 'secondary_menu' ) ) { add_filter( 'astra_secondary_menu_menu_classes', array( $this, 'add_primary_menu_classes' ) ); } // If there are other menus having mega menu support. $mega_menu_custom_navmenus = apply_filters( 'astra_nav_mega_menu_support', array() ); if ( ! empty( $mega_menu_custom_navmenus ) && is_array( $mega_menu_custom_navmenus ) ) { foreach ( $mega_menu_custom_navmenus as $key => $menu_id ) { if ( has_nav_menu( $menu_id ) ) { add_filter( 'astra_' . $menu_id . '_menu_classes', array( $this, 'add_primary_menu_classes' ) ); } } } } /** * Primary Header Classes * * @param array $classes CSS Classes. * * @since 1.6.0 * @return array; */ public function add_primary_menu_classes( $classes ) { $classes[] = 'ast-mega-menu-enabled'; return $classes; } /** * Above Header Classes * * @param array $classes CSS Classes. * * @since 1.6.0 * @return array; */ public function add_above_menu_classes( $classes ) { $classes[] = 'ast-mega-menu-enabled'; return $classes; } /** * Below Header Classes * * @param array $classes CSS Classes. * * @since 1.6.0 * @return array; */ public function add_below_menu_classes( $classes ) { $classes[] = 'ast-mega-menu-enabled'; return $classes; } /** * Add menu options settings popup wrap at footer. * * @since 1.6.0 * @return void */ public function add_mega_menu_wrap() { astra_addon_get_template( 'nav-menu/template/canvas.php' ); } /** * Creating rest routes for mega menu * * @since 4.0.0 * @return void */ public function create_rest_routes() { register_rest_route( 'astra_addon/v1', '/mega_menu/(?P\d+)', array( 'methods' => WP_REST_Server::READABLE, 'callback' => array( $this, 'get_mega_menu_option' ), 'permission_callback' => array( $this, 'get_mega_menu_option_permission' ), ) ); register_rest_route( 'astra_addon/v1', '/mega_menu', array( 'methods' => WP_REST_Server::EDITABLE, 'callback' => array( $this, 'set_mega_menu_option' ), 'permission_callback' => array( $this, 'set_mega_menu_option_permission' ), ) ); } /** * Checking permissions * * @since 4.0.0 * @return bool */ public function get_mega_menu_option_permission() { return true; } /** * Checking permissions * * @since 4.0.0 */ public function set_mega_menu_option_permission() { return current_user_can( 'edit_theme_options' ); } /** * Mega set configs * * @param array $req Megamenu request payload. * @return string * @since 4.0.0 */ public function set_mega_menu_option( $req ) { $fields = isset( $req['options'] ) ? $req['options'] : array(); $nav_id = isset( $req['nav_id'] ) ? sanitize_text_field( $req['nav_id'] ) : ''; $menu_id = isset( $req['menu_id'] ) ? sanitize_text_field( $req['menu_id'] ) : ''; $widgets = isset( $req['widgets'] ) ? $req['widgets'] : array(); if ( ! current_user_can( 'edit_theme_options' ) ) { wp_die(); } if ( ! empty( $widgets ) ) { $fields['megamenu_widgets_list'] = implode( ',', $widgets ); } if ( ! empty( $fields ) ) { // Update meta values. foreach ( $fields as $key => $value ) { $key = sanitize_text_field( str_replace( 'menu-item-', '', $key ) ); if ( 'megamenu_custom_text' == $key ) { $value = wp_kses_post( wp_unslash( $value ) ); } else { $value = wp_unslash( $value ); } update_post_meta( $menu_id, '_menu_item_' . $key, $value ); } } return rest_ensure_response( 'success' ); } /** * Mega menu configs * * @param array $data Megamenu id. * @return array * @since 4.0.0 */ public function get_mega_menu_option( $data ) { $menu_item_id = $data['id']; $_config = array( // Option: As Heading. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_enable_heading', 'defaults' => get_post_meta( $menu_item_id, '_menu_item_megamenu_enable_heading', true ), 'control' => 'ast-toggle', 'title' => __( 'As Heading', 'astra-addon' ), 'custom_value' => 'enable-heading', 'divider' => 'top-spacing', 'tab_type' => 'general', 'depth' => 1, 'trigger_context' => array( array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_heading_separator_color', 'value' => array( 'enable-heading' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_mega_menu_label_title', 'value' => array( 'enable-heading' ), ), ), ), // Option: Heading Mega Menu for sub menu. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_mega_menu_label_title', 'control' => 'ast-title', 'title' => __( 'Mega Menu', 'astra-addon' ), 'divider' => 'top-spacing', 'tab_type' => 'design', 'depth' => 1, 'context' => array( array( 'value' => array( 'enable-heading' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu_enable_heading', true ), ), ), ), // Option: Separator Color. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_heading_separator_color', 'defaults' => get_post_meta( $menu_item_id, '_menu_item_megamenu_heading_separator_color', true ), 'control' => 'ast-color', 'title' => __( 'Separator Color', 'astra-addon' ), 'tab_type' => 'design', 'depth' => 1, 'context' => array( array( 'value' => array( 'enable-heading' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu_enable_heading', true ), ), ), ), // Option: Hide Label. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_disable_title', 'defaults' => Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'disable_title', $menu_item_id ), 'control' => 'ast-toggle', 'title' => __( 'Hide Menu Label', 'astra-addon' ), 'custom_value' => 'disable-title', 'divider' => '', 'tab_type' => 'general', 'depth' => 1, 'trigger_context' => array( array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_disable_link', 'value' => array( '' ), ), ), ), // Option: Disable Link. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_disable_link', 'defaults' => get_post_meta( $menu_item_id, '_menu_item_megamenu_disable_link', true ), 'control' => 'ast-toggle', 'title' => __( 'Disable Link', 'astra-addon' ), 'custom_value' => 'disable-link', 'divider' => '', 'tab_type' => 'general', 'depth' => 1, 'context' => array( array( 'value' => array( '' ), 'target_value' => strval( Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'disable_title', $menu_item_id ) ), ), ), ), // Option: Enable Mega Menu toggle. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu', 'defaults' => get_post_meta( $menu_item_id, '_menu_item_megamenu', true ), 'control' => 'ast-toggle', 'divider' => 'top-spacing', 'custom_value' => 'megamenu', 'title' => __( 'Mega Menu', 'astra-addon' ), 'tab_type' => 'general', 'as_heading' => true, 'depth' => 0, 'trigger_context' => array( array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_width', 'value' => array( 'megamenu' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_background_type_title', 'value' => array( 'megamenu' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_background_type', 'value' => array( 'megamenu' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_background_image', 'value' => array( 'megamenu' ), 'dependency' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_background_type', 'dependency_value' => array( 'image' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_bg_color', 'value' => array( 'megamenu' ), 'dependency' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_background_type', 'dependency_value' => array( 'image' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_bg_repeat', 'value' => array( 'megamenu' ), 'dependency' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_background_type', 'dependency_value' => array( 'image' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_bg_size', 'value' => array( 'megamenu' ), 'dependency' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_background_type', 'dependency_value' => array( 'image' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_bg_position', 'value' => array( 'megamenu' ), 'dependency' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_background_type', 'dependency_value' => array( 'image' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_gradient', 'value' => array( 'megamenu' ), 'dependency' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_background_type', 'dependency_value' => array( 'gradient' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_margin', 'value' => array( 'megamenu' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_padding', 'value' => array( 'megamenu' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_spacing_title', 'value' => array( 'megamenu' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_top_border_width', 'value' => array( 'megamenu' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_column_divider_width', 'value' => array( 'megamenu' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_row_divider_width', 'value' => array( 'megamenu' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_top_border_color', 'value' => array( 'megamenu' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_column_divider_color', 'value' => array( 'megamenu' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_divider_style', 'value' => array( 'megamenu' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_divider_title', 'value' => array( 'megamenu' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_color_label_title', 'value' => array( 'megamenu' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_text_color_group', 'value' => array( 'megamenu' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_heading_color_group', 'value' => array( 'megamenu' ), ), ), ), // Option: Mega Menu Width. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_width', 'defaults' => Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'width', $menu_item_id ), 'control' => 'ast-select', 'title' => __( 'Mega Menu Width', 'astra-addon' ), 'divider' => '', 'choices' => array( 'content' => __( 'Content', 'astra-addon' ), 'menu-container' => __( 'Menu Container Width', 'astra-addon' ), 'full' => __( 'Full Width', 'astra-addon' ), 'full-stretched' => __( 'Full Width Stretched', 'astra-addon' ), 'custom' => __( 'Custom Width', 'astra-addon' ), ), 'trigger_context' => array( array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_custom_width', 'value' => array( 'custom' ), ), ), 'context' => array( array( 'value' => array( 'megamenu' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu', true ), ), ), 'tab_type' => 'general', 'depth' => 0, ), // Option: Icon spacing. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_custom_width', 'defaults' => get_post_meta( $menu_item_id, '_menu_item_megamenu_custom_width', true ), 'control' => 'ast-slider', 'title' => __( 'Custom Width', 'astra-addon' ), 'suffix' => 'px', 'input_attrs' => array( 'min' => 1, 'step' => 1, 'max' => 1920, ), 'tab_type' => 'general', 'depth' => '0', 'context' => array( array( 'value' => array( 'custom' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu_width', true ), ), ), ), // Option: Icon Heading. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_icon_label_title', 'control' => 'ast-title', 'title' => __( 'Icon', 'astra-addon' ), 'divider' => 'ast-top-section-divider', 'tab_type' => 'general', 'depth' => 'all', ), // Option: Icon source. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_source', 'defaults' => Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'icon_source', $menu_item_id ), 'title' => __( 'Icon', 'astra-addon' ), 'control' => 'ast-icon', 'tab_type' => 'general', 'depth' => 'all', 'trigger_context' => array( array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_position', 'value' => array( 'image', 'icon' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_size', 'value' => array( 'image', 'icon' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_spacing', 'value' => array( 'image', 'icon' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_icon_label_title_design', 'value' => array( 'image', 'icon' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_view', 'value' => array( 'image', 'icon' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_primary_color', 'value' => array( 'image', 'icon' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_secondary_color', 'value' => array( 'image', 'icon' ), 'dependency' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_view', 'dependency_value' => array( 'stacked', 'framed' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_padding', 'value' => array( 'image', 'icon' ), 'dependency' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_view', 'dependency_value' => array( 'stacked', 'framed' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_border_width', 'value' => array( 'image', 'icon' ), 'dependency' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_view', 'dependency_value' => array( 'framed' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_corner_radius', 'value' => array( 'image', 'icon' ), 'dependency' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_view', 'dependency_value' => array( 'stacked', 'framed' ), ), ), ), // Option: Icon position. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_position', 'defaults' => Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'icon_position', $menu_item_id ), 'control' => 'ast-select', 'title' => __( 'Icon Position', 'astra-addon' ), 'choices' => array( 'before-label' => __( 'Before Menu Label', 'astra-addon' ), 'after-label' => __( 'After Menu Label', 'astra-addon' ), ), 'tab_type' => 'general', 'depth' => 'all', 'context' => array( array( 'value' => array( 'image', 'icon' ), 'target_value' => Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'icon_source', $menu_item_id ), ), ), ), // Option: Icon size. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_size', 'control' => 'ast-slider', 'defaults' => Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'icon_size', $menu_item_id ), 'title' => __( 'Size', 'astra-addon' ), 'suffix' => 'px', 'input_attrs' => array( 'min' => 1, 'step' => 1, 'max' => 100, ), 'tab_type' => 'general', 'depth' => 'all', 'context' => array( array( 'value' => array( 'image', 'icon' ), 'target_value' => Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'icon_source', $menu_item_id ), ), ), ), // Option: Icon spacing. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_spacing', 'defaults' => Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'icon_spacing', $menu_item_id ), 'control' => 'ast-slider', 'title' => __( 'Icon Spacing', 'astra-addon' ), 'suffix' => 'px', 'input_attrs' => array( 'min' => 1, 'step' => 1, 'max' => 100, ), 'tab_type' => 'general', 'depth' => 'all', 'context' => array( array( 'value' => array( 'image', 'icon' ), 'target_value' => Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'icon_source', $menu_item_id ), ), ), ), // Option: Content source heading. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_content_source_title', 'control' => 'ast-title', 'title' => __( 'Content Source', 'astra-addon' ), 'divider' => '', 'tab_type' => 'general', 'divider' => 'ast-top-section-divider', 'depth' => 1, ), // Option: Content source. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_content_src', 'defaults' => get_post_meta( $menu_item_id, '_menu_item_megamenu_content_src', true ), 'control' => 'ast-select', 'title' => __( 'Content Source', 'astra-addon' ), 'divider' => '', 'choices' => array( 'default' => __( 'Default', 'astra-addon' ), 'custom_text' => __( 'Custom Text', 'astra-addon' ), 'template' => __( 'Template', 'astra-addon' ), 'widget' => __( 'Widget', 'astra-addon' ), ), 'tab_type' => 'general', 'depth' => 1, 'trigger_context' => array( array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_widget_list', 'value' => array( 'widget' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_template', 'value' => array( 'template' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_custom_text', 'value' => array( 'custom_text' ), ), ), ), // Option: Widget list. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_widget_list', 'defaults' => get_post_meta( $menu_item_id, '_menu_item_widget_list', true ), 'control' => 'ast-widget', 'title' => __( 'Widget List', 'astra-addon' ), 'tab_type' => 'general', 'depth' => 1, 'context' => array( array( 'value' => array( 'widget' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu_content_src', true ), ), ), ), // Option: Select template. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_template', 'defaults' => get_post_meta( $menu_item_id, '_menu_item_megamenu_template', true ), 'control' => 'ast-template', 'defaults_title' => get_the_title( (int) get_post_meta( $menu_item_id, '_menu_item_megamenu_template', true ) ), 'title' => __( 'Template', 'astra-addon' ), 'tab_type' => 'general', 'depth' => 1, 'context' => array( array( 'value' => array( 'template' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu_content_src', true ), ), ), ), // Option: Custom text field. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_custom_text', 'defaults' => get_post_meta( $menu_item_id, '_menu_item_megamenu_custom_text', true ), 'control' => 'ast-textarea', 'title' => __( 'Custom Text', 'astra-addon' ), 'tab_type' => 'general', 'depth' => 1, 'context' => array( array( 'value' => array( 'custom_text' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu_content_src', true ), ), ), ), // Option: Highlight heading. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_highlight_label_title', 'control' => 'ast-title', 'title' => __( 'Highlight Labels', 'astra-addon' ), 'divider' => 'ast-top-section-divider', 'tab_type' => 'general', 'depth' => 'all', ), // Option: Menu highlight label input. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_highlight_label', 'defaults' => get_post_meta( $menu_item_id, '_menu_item_megamenu_highlight_label', true ), 'control' => 'ast-text', 'title' => __( 'Menu Highlight Label', 'astra-addon' ), 'description' => __( 'Change menu highlight label text', 'astra-addon' ), 'divider' => '', 'tab_type' => 'general', 'depth' => 'all', ), // Option: Background type heading. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_background_type_title', 'control' => 'ast-title', 'title' => __( 'Background Type', 'astra-addon' ), 'divider' => 'top-spacing', 'tab_type' => 'design', 'depth' => 0, 'context' => array( array( 'value' => array( 'megamenu' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu', true ), ), ), ), // Option: Background type. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_background_type', 'defaults' => Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'bg_type', $menu_item_id ), 'control' => 'ast-background-type', 'title' => __( 'Background Type', 'astra-addon' ), 'divider' => '', 'tab_type' => 'design', 'depth' => 0, 'context' => array( array( 'value' => array( 'megamenu' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu', true ), ), ), 'trigger_context' => array( array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_gradient', 'value' => array( 'gradient' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_background_image', 'value' => array( 'image' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_bg_color', 'value' => array( 'image' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_bg_repeat', 'value' => array( 'image' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_bg_size', 'value' => array( 'image' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_bg_position', 'value' => array( 'image' ), ), ), ), // Option: Background color. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_bg_color', 'defaults' => get_post_meta( $menu_item_id, '_menu_item_megamenu_bg_color', true ), 'control' => 'ast-color', 'title' => __( 'Color', 'astra-addon' ), 'divider' => '', 'tab_type' => 'design', 'depth' => 0, 'context' => array( array( 'value' => array( 'image' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu_background_type', true ), ), array( 'value' => array( 'megamenu' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu', true ), 'dependency' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_background_type', 'dependency_value' => array( 'image' ), ), ), ), // Option: Background gradient. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_gradient', 'defaults' => get_post_meta( $menu_item_id, '_menu_item_megamenu_gradient', true ), 'control' => 'ast-gradient', 'title' => __( 'Image', 'astra-addon' ), 'divider' => '', 'tab_type' => 'design', 'depth' => 0, 'context' => array( array( 'value' => array( 'gradient' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu_background_type', true ), ), array( 'value' => array( 'megamenu' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu', true ), 'dependency' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_background_type', 'dependency_value' => array( 'gradient' ), ), ), ), // Option: Background image. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_background_image', 'defaults' => get_post_meta( $menu_item_id, '_menu_item_megamenu_background_image', true ), 'control' => 'ast-image', 'title' => __( 'Image', 'astra-addon' ), 'divider' => '', 'tab_type' => 'design', 'depth' => 0, 'context' => array( array( 'value' => array( 'image' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu_background_type', true ), ), array( 'value' => array( 'megamenu' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu', true ), 'dependency' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_background_type', 'dependency_value' => array( 'image' ), ), ), ), // Option: Background repeat. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_bg_repeat', 'defaults' => get_post_meta( $menu_item_id, '_menu_item_megamenu_bg_repeat', true ), 'control' => 'ast-select', 'choices' => array( 'no-repeat' => __( 'No Repeat', 'astra-addon' ), 'repeat' => __( 'Repeat All', 'astra-addon' ), 'repeat-x' => __( 'Repeat Horizontally ', 'astra-addon' ), 'repeat-y' => __( 'Repeat Vertically', 'astra-addon' ), ), 'tab_type' => 'design', 'depth' => 0, 'context' => array( array( 'value' => array( 'image' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu_background_type', true ), ), array( 'value' => array( 'megamenu' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu', true ), 'dependency' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_background_type', 'dependency_value' => array( 'image' ), ), ), ), // Option: Background size. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_bg_size', 'defaults' => get_post_meta( $menu_item_id, '_menu_item_megamenu_bg_size', true ), 'control' => 'ast-select', 'choices' => array( 'auto' => __( 'Auto', 'astra-addon' ), 'cover' => __( 'Cover', 'astra-addon' ), 'contain' => __( 'Contain', 'astra-addon' ), ), 'tab_type' => 'design', 'depth' => 0, 'context' => array( array( 'value' => array( 'image' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu_background_type', true ), ), array( 'value' => array( 'megamenu' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu', true ), 'dependency' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_background_type', 'dependency_value' => array( 'image' ), ), ), ), // Option: Background position. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_bg_position', 'defaults' => get_post_meta( $menu_item_id, '_menu_item_megamenu_bg_position', true ), 'control' => 'ast-select', 'choices' => array( 'left top' => __( 'Left Top', 'astra-addon' ), 'left center' => __( 'Left Center', 'astra-addon' ), 'left bottom' => __( 'Left Bottom ', 'astra-addon' ), 'right top' => __( 'Right Top', 'astra-addon' ), 'right center' => __( 'Right Center', 'astra-addon' ), 'right bottom' => __( 'Right Bottom', 'astra-addon' ), 'center top' => __( 'Center Top', 'astra-addon' ), 'center center' => __( 'Center Center', 'astra-addon' ), 'center bottom' => __( 'Center Bottom', 'astra-addon' ), ), 'tab_type' => 'design', 'depth' => 0, 'context' => array( array( 'value' => array( 'image' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu_background_type', true ), ), array( 'value' => array( 'megamenu' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu', true ), 'dependency' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_background_type', 'dependency_value' => array( 'image' ), ), ), ), // Option: Color heading. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_color_label_title', 'control' => 'ast-title', 'title' => __( 'Colors', 'astra-addon' ), 'tab_type' => 'design', 'divider' => 'ast-top-section-divider', 'depth' => 0, 'context' => array( array( 'value' => array( 'megamenu' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu', true ), ), ), ), // Option: Heading color. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_heading_color_group', 'defaults' => get_post_meta( $menu_item_id, '_menu_item_megamenu_heading_color_group', true ), 'control' => 'ast-color', 'title' => __( 'Heading', 'astra-addon' ), 'link_to' => 'panel-header-builder-group', 'divider' => '', 'depth' => 0, 'tab_type' => 'design', 'has_hover' => true, 'context' => array( array( 'value' => array( 'megamenu' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu', true ), ), ), ), // Option: Text/Link text color. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_text_color_group', 'defaults' => Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'text_color', $menu_item_id ), 'control' => 'ast-color', 'title' => __( 'Text/Link', 'astra-addon' ), 'tab_type' => 'design', 'depth' => 0, 'has_hover' => true, 'context' => array( array( 'value' => array( 'megamenu' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu', true ), ), ), ), // Option: Icon heading. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_icon_label_title_design', 'control' => 'ast-title', 'title' => __( 'Icon', 'astra-addon' ), 'tab_type' => 'design', 'divider' => 'ast-top-section-divider', 'depth' => 'all', 'context' => array( array( 'value' => array( 'image', 'icon' ), 'target_value' => Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'icon_source', $menu_item_id ), ), ), ), // Option: Icon view type. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_view', 'defaults' => Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'icon_view', $menu_item_id ), 'control' => 'ast-select', 'title' => __( 'View', 'astra-addon' ), 'choices' => array( 'default' => __( 'Default', 'astra-addon' ), 'stacked' => __( 'Stacked', 'astra-addon' ), 'framed' => __( 'Framed', 'astra-addon' ), ), 'tab_type' => 'design', 'depth' => 'all', 'trigger_context' => array( array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_secondary_color', 'value' => array( 'stacked', 'framed' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_padding', 'value' => array( 'stacked', 'framed' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_corner_radius', 'value' => array( 'stacked', 'framed' ), ), array( 'setting' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_border_width', 'value' => array( 'framed' ), ), ), 'context' => array( array( 'value' => array( 'image', 'icon' ), 'target_value' => Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'icon_source', $menu_item_id ), ), ), ), // Option: Icon primary color. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_primary_color', 'defaults' => Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'icon_primary_color', $menu_item_id ), 'control' => 'ast-color', 'title' => __( 'Primary Color', 'astra-addon' ), 'divider' => '', 'tab_type' => 'design', 'depth' => 'all', 'context' => array( array( 'value' => array( 'image', 'icon' ), 'target_value' => Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'icon_source', $menu_item_id ), ), ), ), // Option: Icon secondary color. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_secondary_color', 'defaults' => Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'icon_secondary_color', $menu_item_id ), 'control' => 'ast-color', 'title' => __( 'Secondary Color', 'astra-addon' ), 'divider' => '', 'tab_type' => 'design', 'depth' => 'all', 'context' => array( array( 'value' => array( 'stacked' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu_icon_view', true ), ), array( 'value' => array( 'framed' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu_icon_view', true ), ), array( 'value' => array( 'image', 'icon' ), 'target_value' => Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'icon_source', $menu_item_id ), 'dependency' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_view', 'dependency_value' => array( 'stacked', 'framed' ), ), ), ), // Option: Icon padding. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_padding', 'control' => 'ast-slider', 'defaults' => Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'icon_padding', $menu_item_id ), 'title' => __( 'Padding', 'astra-addon' ), 'suffix' => 'px', 'input_attrs' => array( 'min' => 1, 'step' => 1, 'max' => 100, ), 'tab_type' => 'design', 'depth' => 'all', 'context' => array( array( 'value' => array( 'stacked' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu_icon_view', true ), ), array( 'value' => array( 'framed' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu_icon_view', true ), ), array( 'value' => array( 'image', 'icon' ), 'target_value' => Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'icon_source', $menu_item_id ), 'dependency' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_view', 'dependency_value' => array( 'stacked', 'framed' ), ), ), ), // Option: Icon border width. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_border_width', 'defaults' => Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'icon_border_width', $menu_item_id ), 'type' => 'control', 'control' => 'ast-spacing', 'title' => __( 'Border Width', 'astra-addon' ), 'linked_choices' => true, 'choices' => array( 'top' => __( 'Top', 'astra-addon' ), 'right' => __( 'Right', 'astra-addon' ), 'bottom' => __( 'Bottom', 'astra-addon' ), 'left' => __( 'Left', 'astra-addon' ), ), 'suffix' => 'px', 'connected' => false, 'tab_type' => 'design', 'responsive' => false, 'depth' => 'all', 'context' => array( array( 'value' => array( 'framed' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu_icon_view', true ), ), array( 'value' => array( 'image', 'icon' ), 'target_value' => Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'icon_source', $menu_item_id ), 'dependency' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_view', 'dependency_value' => array( 'framed' ), ), ), ), // Option: Icon border radius. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_corner_radius', 'defaults' => Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'icon_corner_radius', $menu_item_id ), 'type' => 'control', 'control' => 'ast-spacing', 'suffix' => 'px', 'title' => __( 'Corner Radius', 'astra-addon' ), 'linked_choices' => true, 'choices' => array( 'top-left' => __( 'Top left', 'astra-addon' ), 'top-right' => __( 'Top Right', 'astra-addon' ), 'bottom-left' => __( 'Bottom Left', 'astra-addon' ), 'bottom-right' => __( 'Bottom Right', 'astra-addon' ), ), 'connected' => false, 'tab_type' => 'design', 'responsive' => false, 'depth' => 'all', 'context' => array( array( 'value' => array( 'stacked' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu_icon_view', true ), ), array( 'value' => array( 'framed' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu_icon_view', true ), ), array( 'value' => array( 'image', 'icon' ), 'target_value' => Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'icon_source', $menu_item_id ), 'dependency' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_icon_view', 'dependency_value' => array( 'stacked', 'framed' ), ), ), ), // Option: Divider Heading. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_divider_title', 'control' => 'ast-title', 'title' => __( 'Divider', 'astra-addon' ), 'divider' => 'ast-top-section-divider', 'tab_type' => 'design', 'depth' => 0, 'context' => array( array( 'value' => array( 'megamenu' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu', true ), ), ), ), // Option: Divider style. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_divider_style', 'defaults' => get_post_meta( $menu_item_id, '_menu_item_megamenu_divider_style', true ), 'control' => 'ast-select', 'title' => __( 'Style', 'astra-addon' ), 'choices' => array( 'solid' => __( 'Solid', 'astra-addon' ), 'dotted' => __( 'Dotted', 'astra-addon' ), 'dashed' => __( 'Dashed', 'astra-addon' ), 'double' => __( 'Double', 'astra-addon' ), 'none' => __( 'None', 'astra-addon' ), ), 'tab_type' => 'design', 'depth' => 0, 'context' => array( array( 'value' => array( 'megamenu' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu', true ), ), ), ), // Option: Top Border width. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_top_border_width', 'control' => 'ast-slider', 'defaults' => get_post_meta( $menu_item_id, '_menu_item_megamenu_top_border_width', true ), 'title' => __( 'Top Border Width', 'astra-addon' ), 'suffix' => 'px', 'input_attrs' => array( 'min' => 0, 'step' => 1, 'max' => 50, ), 'tab_type' => 'design', 'depth' => 0, 'context' => array( array( 'value' => array( 'megamenu' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu', true ), ), ), ), // Option: Column Divider width. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_column_divider_width', 'defaults' => get_post_meta( $menu_item_id, '_menu_item_megamenu_column_divider_width', true ), 'control' => 'ast-slider', 'title' => __( 'Column Width', 'astra-addon' ), 'suffix' => 'px', 'input_attrs' => array( 'min' => 0, 'step' => 1, 'max' => 50, ), 'tab_type' => 'design', 'depth' => 0, 'context' => array( array( 'value' => array( 'megamenu' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu', true ), ), ), ), // Option: Row Divider width. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_row_divider_width', 'control' => 'ast-slider', 'defaults' => get_post_meta( $menu_item_id, '_menu_item_megamenu_row_divider_width', true ), 'title' => __( 'Row Width', 'astra-addon' ), 'suffix' => 'px', 'input_attrs' => array( 'min' => 0, 'step' => 1, 'max' => 50, ), 'tab_type' => 'design', 'depth' => 0, 'context' => array( array( 'value' => array( 'megamenu' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu', true ), ), ), ), // Option: Top Border. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_top_border_color', 'defaults' => get_post_meta( $menu_item_id, '_menu_item_megamenu_top_border_color', true ), 'control' => 'ast-color', 'title' => __( 'Top Border', 'astra-addon' ), 'divider' => '', 'tab_type' => 'design', 'depth' => 0, 'context' => array( array( 'value' => array( 'megamenu' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu', true ), ), ), ), // Option: Divider column color. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_column_divider_color', 'defaults' => get_post_meta( $menu_item_id, '_menu_item_megamenu_column_divider_color', true ), 'control' => 'ast-color', 'title' => __( 'Column Divider', 'astra-addon' ), 'divider' => '', 'tab_type' => 'design', 'depth' => 0, 'context' => array( array( 'value' => array( 'megamenu' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu', true ), ), ), ), // Option: Highlight Labels heading. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_highlight_labels_title', 'control' => 'ast-title', 'title' => __( 'Highlight Labels', 'astra-addon' ), 'divider' => '', 'tab_type' => 'design', 'divider' => 'ast-top-section-divider', 'depth' => 'all', ), // Option: Highlight Label color. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_label_color', 'defaults' => get_post_meta( $menu_item_id, '_menu_item_megamenu_label_color', true ), 'control' => 'ast-color', 'title' => __( 'Highlight Label Color', 'astra-addon' ), 'divider' => '', 'tab_type' => 'design', 'depth' => 'all', ), // Option: Highlight Label background color. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_label_bg_color', 'defaults' => get_post_meta( $menu_item_id, '_menu_item_megamenu_label_bg_color', true ), 'control' => 'ast-color', 'title' => __( 'Background Color', 'astra-addon' ), 'divider' => '', 'tab_type' => 'design', 'depth' => 'all', ), // Option: Highlight Label spacing heading. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_spacing_title', 'control' => 'ast-title', 'title' => __( 'Spacing', 'astra-addon' ), 'divider' => '', 'tab_type' => 'design', 'divider' => 'ast-top-section-divider', 'depth' => 0, 'context' => array( array( 'value' => array( 'megamenu' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu', true ), ), ), ), // Option: Margin. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_margin', 'defaults' => Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'margin', $menu_item_id ), 'type' => 'control', 'control' => 'ast-spacing', 'title' => __( 'Margin', 'astra-addon' ), 'suffix' => 'px', 'linked_choices' => true, 'choices' => array( 'top' => __( 'Top', 'astra-addon' ), 'right' => __( 'Right', 'astra-addon' ), 'bottom' => __( 'Bottom', 'astra-addon' ), 'left' => __( 'Left', 'astra-addon' ), ), 'connected' => false, 'tab_type' => 'design', 'responsive' => false, 'depth' => 0, 'context' => array( array( 'value' => array( 'megamenu' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu', true ), ), ), ), // Option: Padding. array( 'name' => ASTRA_THEME_SETTINGS . '_menu_item_megamenu_padding', 'defaults' => Astra_Ext_Nav_Menu_Loader::get_megamenu_default( 'padding', $menu_item_id ), 'type' => 'control', 'control' => 'ast-spacing', 'title' => __( 'Padding', 'astra-addon' ), 'suffix' => 'px', 'linked_choices' => true, 'choices' => array( 'top' => __( 'Top', 'astra-addon' ), 'right' => __( 'Right', 'astra-addon' ), 'bottom' => __( 'Bottom', 'astra-addon' ), 'left' => __( 'Left', 'astra-addon' ), ), 'connected' => false, 'tab_type' => 'design', 'responsive' => false, 'depth' => 0, 'context' => array( array( 'value' => array( 'megamenu' ), 'target_value' => get_post_meta( $menu_item_id, '_menu_item_megamenu', true ), ), ), ), ); return rest_ensure_response( $_config ); } /** * Register Script for Mega menu. * * @since 4.0.0 */ public function register_mega_menu_script() { $path = ASTRA_ADDON_EXT_NAV_MENU_URL . 'react/build/index.js'; if ( is_rtl() ) { $font_icon_picker_css_file = 'font-icon-picker-rtl'; } else { $font_icon_picker_css_file = 'font-icon-picker'; } wp_enqueue_style( 'ahfb-customizer-color-picker-style', ASTRA_THEME_URI . 'inc/assets/css/' . $font_icon_picker_css_file . '.css', array(), ASTRA_EXT_VER ); wp_enqueue_style( 'astra-customizer-control-css', get_site_url() . '/wp-includes/css/dist/components/style.css', array(), ASTRA_EXT_VER ); wp_register_script( 'astra-mega-menu', $path, array( 'wp-edit-post', 'wp-i18n', 'wp-element' ), ASTRA_EXT_VER, true ); $widget_obj = Astra_Ext_Nav_Widget_Support::get_instance(); wp_localize_script( 'astra-mega-menu', 'AstraBuilderMegaMenu', array( 'isWP_5_9' => astra_wp_version_compare( '5.8.99', '>=' ), 'nonce' => wp_create_nonce( 'wp_rest' ), 'nonceWidget' => wp_create_nonce( 'wp_widget_nonce' ), 'globalColorPalette' => astra_get_option( 'global-color-palette' ), 'globalPaletteStylePrefix' => Astra_Global_Palette::get_css_variable_prefix(), 'globalPaletteLabels' => Astra_Global_Palette::get_palette_labels(), 'widgets' => $widget_obj->get_widget_list(), 'savingButtonText' => array( 'initial' => __( 'Save Changes', 'astra-addon' ), 'saving' => __( 'Saving...', 'astra-addon' ), 'saved' => __( 'Saved', 'astra-addon' ), 'error' => __( 'Error Saving', 'astra-addon' ), ), 'oldMegaMenuUrl' => admin_url( 'customize.php?autofocus[control]=' . ASTRA_THEME_SETTINGS . '[primary-header-megamenu-heading-color]' ), 'isHeaderFooterBuilderActive' => astra_addon_builder_helper()->is_header_footer_builder_active, 'newMegaMenuUrl' => admin_url( 'customize.php?autofocus[panel]=panel-header-builder-group' ), ) ); wp_enqueue_script( 'astra-mega-menu' ); } /** * Add Body Classes * * @param array $classes Body Class Array. * @return array */ public function body_classes( $classes ) { if ( ! wp_is_mobile() ) { $classes[] = 'ast-desktop'; } return $classes; } } } new Astra_Ext_Nav_Menu_Markup();