'https://divisupreme.com/', 'author' => 'Divi Supreme', 'author_uri' => 'https://divisupreme.com/', ); public function init() { $this->name = esc_html__( 'Supreme Flipbox', 'dsm-supreme-modules-for-divi' ); $this->icon_path = plugin_dir_path( __FILE__ ) . 'icon.svg'; $this->settings_modal_toggles = array( 'general' => array( 'toggles' => array( 'main_content' => esc_html__( 'Text', 'dsm-supreme-modules-for-divi' ), ), ), ); } public function get_advanced_fields_config() { return array( 'fonts' => array( 'header' => array( 'label' => esc_html__( 'Title', 'dsm-supreme-modules-for-divi' ), 'css' => array( 'main' => '%%order_class%% h1.et_pb_module_header, %%order_class%% h2.et_pb_module_header, %%order_class%% h3.et_pb_module_header, %%order_class%% h4.et_pb_module_header, %%order_class%% h5.et_pb_module_header, %%order_class%% h6.et_pb_module_header', ), 'font_size' => array( 'default' => '18px', ), 'line_height' => array( 'default' => '1em', ), 'letter_spacing' => array( 'default' => '0px', ), 'header_level' => array( 'default' => 'h4', ), ), 'content' => array( 'label' => esc_html__( 'Body', 'dsm-supreme-modules-for-divi' ), 'css' => array( 'main' => '%%order_class%% .dsm-content', ), 'font_size' => array( 'default' => '14px', ), 'line_height' => array( 'default' => '1.7em', ), 'letter_spacing' => array( 'default' => '0px', ), ), 'subhead' => array( 'label' => esc_html__( 'Subhead', 'dsm-supreme-modules-for-divi' ), 'css' => array( 'main' => '%%order_class%% .dsm-subtitle', ), 'font_size' => array( 'default' => '14px', ), 'line_height' => array( 'default' => '1em', ), 'letter_spacing' => array( 'default' => '0px', ), ), ), 'text' => array( 'use_text_orientation' => false, 'use_background_layout' => false, 'css' => array( 'text_shadow' => '%%order_class%%', ), 'options' => array( 'background_layout' => array( 'default' => 'light', ), ), ), 'borders' => array( 'default' => array( 'css' => array( 'main' => array( 'border_radii' => '%%order_class%% .dsm_flipbox_child', 'border_styles' => '%%order_class%% .dsm_flipbox_child', ), ), ), ), 'box_shadow' => array( 'default' => array( 'css' => array( 'main' => '%%order_class%% .dsm_flipbox_child', ), ), ), 'text_shadow' => array( // Don't add text-shadow fields since they already are via font-options. 'default' => false, ), ); } public function get_fields() { return array( 'flipbox_effect' => array( 'label' => esc_html__( 'Flipbox Effect', 'dsm-supreme-modules-for-divi' ), 'type' => 'select', 'option_category' => 'configuration', 'default' => 'right', 'options' => array( 'left' => esc_html__( 'Flip Left', 'dsm-supreme-modules-for-divi' ), 'right' => esc_html__( 'Flip Right', 'dsm-supreme-modules-for-divi' ), 'up' => esc_html__( 'Flip Up', 'dsm-supreme-modules-for-divi' ), 'down' => esc_html__( 'Flip Down', 'dsm-supreme-modules-for-divi' ), ), 'tab_slug' => 'advanced', 'toggle_slug' => 'animation', ), 'flipbox_speed' => array( 'label' => esc_html__( 'Animation Speed (in s)', 'dsm-supreme-modules-for-divi' ), 'type' => 'range', 'option_category' => 'configuration', 'default' => '0.6s', 'default_on_front' => '0.6s', 'default_unit' => 's', 'range_settings' => array( 'min' => '0', 'max' => '10', 'step' => '0.1', ), 'tab_slug' => 'advanced', 'toggle_slug' => 'animation', ), 'flipbox_height' => array( 'label' => esc_html__( 'Height', 'dsm-supreme-modules-for-divi' ), 'type' => 'range', 'option_category' => 'layout', 'tab_slug' => 'advanced', 'toggle_slug' => 'width', 'mobile_options' => true, 'validate_unit' => true, 'default' => '200px', 'default_unit' => 'px', 'default_on_front' => '', 'range_settings' => array( 'min' => '1', 'max' => '1200', 'step' => '1', ), 'responsive' => true, ), ); } public function render( $attrs, $content = null, $render_slug ) { $flipbox_effect = $this->props['flipbox_effect']; $flipbox_speed = $this->props['flipbox_speed']; $flipbox_height = $this->props['flipbox_height']; $flipbox_height_tablet = $this->props['flipbox_height_tablet']; $flipbox_height_phone = $this->props['flipbox_height_phone']; $flipbox_height_last_edited = $this->props['flipbox_height_last_edited']; if ( '' !== $flipbox_height_tablet || '' !== $flipbox_height_phone || '' !== $flipbox_height ) { $flipbox_height_responsive_active = et_pb_get_responsive_status( $flipbox_height_last_edited ); $flipbox_height_values = array( 'desktop' => $flipbox_height, 'tablet' => $flipbox_height_responsive_active ? $flipbox_height_tablet : '', 'phone' => $flipbox_height_responsive_active ? $flipbox_height_phone : '', ); et_pb_generate_responsive_css( $flipbox_height_values, '%%order_class%% .dsm-flipbox', 'height', $render_slug ); } ET_Builder_Element::set_style( $render_slug, array( 'selector' => '%%order_class%% .dsm_flipbox_child', 'declaration' => sprintf( 'transition: transform %1$s ease-in-out;', esc_attr( $flipbox_speed ) ), ) ); $output = sprintf( '