controls_manager->add_group_control('ma-el-transition', new self()); } public static function get_type() { return 'jltma-transitions'; } public static function get_easings() { return [ 'linear' => esc_html__('Linear', 'master-addons' ), 'ease-in' => esc_html__('Ease In', 'master-addons' ), 'ease-out' => esc_html__('Ease Out', 'master-addons' ), 'ease-in-out' => esc_html__('Ease In Out', 'master-addons' ) ]; } protected function init_fields() { $controls = []; $controls['property'] = [ 'label' => _x('Property', 'Transition Control', 'master-addons' ), 'type' => Controls_Manager::SELECT, 'default' => 'all', 'options' => [ 'all' => esc_html__('All', 'master-addons' ), ], 'selectors' => [ '{{SELECTOR}}' => 'transition-property: {{VALUE}}', ], ]; $controls['easing'] = [ 'label' => _x('Easing', 'Transition Control', 'master-addons' ), 'type' => Controls_Manager::SELECT, 'default' => 'linear', 'options' => self::get_easings(), 'selectors' => [ '{{SELECTOR}}' => 'transition-timing-function: {{VALUE}}' ], ]; $controls['duration'] = [ 'label' => _x('Duration', 'Transition Control', 'master-addons' ), 'type' => Controls_Manager::NUMBER, 'default' => 0.3, 'min' => 0.05, 'max' => 2, 'step' => 0.05, 'selectors' => [ '{{SELECTOR}}' => 'transition-duration: {{VALUE}}s;', ], 'separator' => 'after', ]; return $controls; } protected function prepare_fields($fields) { array_walk( $fields, function (&$field, $field_name) { if (in_array($field_name, ['transition', 'popover_toggle'])) { return; } $field['condition']['transition'] = 'custom'; } ); return parent::prepare_fields($fields); } protected function get_default_options() { return [ 'popover' => [ 'starter_name' => 'transition', 'starter_title' => _x('Transition', 'Transition Control', 'master-addons' ), ], ]; } }