Classes_Prop_Type::make() ->default( [] ), ]; } protected function define_atomic_controls(): array { return [ Section::make() ->set_label( __( 'Settings', 'elementor' ) ) ->set_id( 'settings' ) ->set_items( [ Text_Control::bind_to( '_cssid' ) ->set_label( __( 'ID', 'elementor' ) ) ->set_meta( $this->get_css_id_control_meta() ), ] ), ]; } protected function define_base_styles(): array { $display = String_Prop_Type::generate( 'block' ); return [ static::BASE_STYLE_KEY => Style_Definition::make() ->add_variant( Style_Variant::make() ->add_prop( 'display', $display ) ->add_prop( 'padding', $this->get_base_padding() ) ->add_prop( 'min-width', $this->get_base_min_width() ) ), ]; } protected function get_base_padding(): array { return Size_Prop_Type::generate( [ 'size' => 10, 'unit' => 'px', ] ); } protected function get_base_min_width(): array { return Size_Prop_Type::generate( [ 'size' => 30, 'unit' => 'px', ] ); } protected function add_render_attributes() { parent::add_render_attributes(); $settings = $this->get_atomic_settings(); $base_style_class = $this->get_base_styles_dictionary()[ static::BASE_STYLE_KEY ]; $attributes = [ 'class' => [ 'e-con', 'e-atomic-element', $base_style_class, ...( $settings['classes'] ?? [] ), ], ]; if ( ! empty( $settings['_cssid'] ) ) { $attributes['id'] = esc_attr( $settings['_cssid'] ); } $this->add_render_attribute( '_wrapper', $attributes ); } protected function define_default_children() { return [ Atomic_Tab_List::generate() ->is_locked( true ) ->build(), Atomic_Tabs_Content::generate() ->is_locked( true ) ->build(), ]; } }