array( 'config' => array( 'label' => __( 'Replace Image', 'thrive-cb' ), ), ), 'ExternalFields' => array( 'config' => array( 'main_dropdown' => array( '' => __( 'Select a source', 'thrive-cb' ), 'featured' => __( 'Featured image', 'thrive-cb' ), 'author' => __( 'Author image', 'thrive-cb' ), 'user' => __( 'User image', 'thrive-cb' ), 'custom' => __( 'Custom fields', 'thrive-cb' ), ), 'key' => 'image', 'shortcode_element' => 'img.tve_image', ), 'extends' => 'CustomFields', ), 'Height' => array( 'config' => array( 'default' => 'auto', 'min' => '20', 'max' => '600', 'label' => __( 'Size (height)', 'thrive-cb' ), 'um' => [ 'px' ], 'css' => 'width', ), 'extends' => 'Slider', ), ); $components['image-effects'] = $image_components['image-effects']; $components['image-effects']['config']['css_suffix'] = ':not(.tcb-elem-placeholder)'; $components['image-effects']['config']['ImageOverlaySwitch']['strategy'] = 'pseudo-element'; $components['image-effects']['config']['ImageOverlaySwitch']['css_suffix'] = ':not(.tcb-elem-placeholder)::after'; $components['image-effects']['config']['ImageOverlay']['css_suffix'] = ':not(.tcb-elem-placeholder)::after'; return $components; } public function own_components() { return []; } /** * Get all available menu item templates * * @return array */ public function get_templates() { return get_option( 'tve_menu_item_templates', [] ); } }