selectors; return QuantityFields::quantity_fields( $widget ) + self::add_to_cart_fields() + self::add_to_cart_style() + self::product_price_style_fields() + QuantityFields::quantity_style_fields( $widget ) + self::variation_style_fields(); } /** * Widget Field * * @return array */ public static function add_to_cart_fields() { $fields = [ 'sec_add_to_cart' => [ 'mode' => 'section_start', 'label' => esc_html__( 'Add to cart', 'shopbuilder' ), ], 'cart_icon' => [ 'label' => esc_html__( 'Cart Icon', 'shopbuilder' ), 'type' => 'icons', 'separator' => 'default', ], 'cart_icon_align' => [ 'mode' => 'responsive', 'label' => esc_html__( 'Icon Alignment', 'shopbuilder' ), 'type' => 'choose', 'options' => [ '0' => [ 'title' => esc_html__( 'Left', 'shopbuilder' ), 'icon' => 'fas fa-arrow-left', ], '1' => [ 'title' => esc_html__( 'Right', 'shopbuilder' ), 'icon' => 'fas fa-arrow-right', ], ], 'default' => '0', 'condition' => [ 'quantity_style!' => 'default', ], 'selectors' => [ self::$selectors['cart_icon_align'] => 'order: {{VALUE}};', ], ], 'cart_icon_gap' => [ 'label' => esc_html__( 'Gap', 'shopbuilder' ), 'type' => 'slider', 'mode' => 'responsive', 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, ], ], 'selectors' => [ self::$selectors['cart_icon_gap'] => 'gap: {{SIZE}}{{UNIT}};', ], ], 'add_to_cart_end' => [ 'mode' => 'section_end', ], ]; return $fields; } /** * Widget Field * * @return array */ public static function add_to_cart_style() { $fields = ButtonSettings::style_settings( self::$widget ); $insert_array = [ 'cart_icon_size' => [ 'label' => esc_html__( 'Icon size', 'shopbuilder' ), 'type' => 'slider', 'separator' => 'default', 'range' => [ 'px' => [ 'min' => 10, 'max' => 50, ], ], 'selectors' => [ self::$selectors['cart_icon_size']['icon'] => 'font-size: {{SIZE}}{{UNIT}};', self::$selectors['cart_icon_size']['svg'] => 'width: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}};', ], ], ]; $fields = Fns::insert_controls( 'button_padding', $fields, $insert_array ); return $fields; } /** * Widget Field * * @return array */ public static function quantity_style_fields() { $fields = [ 'quantity_section' => [ 'mode' => 'section_start', 'tab' => 'style', 'label' => esc_html__( 'Quantity', 'shopbuilder' ), ], 'quantity_style_heading' => [ 'type' => 'html', 'raw' => sprintf( '

%s

', esc_html__( 'Quantity Style', 'shopbuilder' ) ), 'content_classes' => 'elementor-panel-heading-title', 'condition' => [ 'quantity_style' => [ 'style-1', 'style-2' ], ], ], 'icon_size' => [ 'label' => esc_html__( 'Icon size', 'shopbuilder' ), 'type' => 'slider', 'separator' => 'default', 'range' => [ 'px' => [ 'min' => 10, 'max' => 50, ], ], 'default' => [ 'size' => 15, ], 'selectors' => [ self::$selectors['icon_size'] => 'font-size: {{SIZE}}{{UNIT}};', ], ], 'quantitybox_border_color' => [ 'label' => esc_html__( 'Border Color', 'shopbuilder' ), 'type' => 'color', 'selectors' => [ self::$selectors['quantitybox_border_color'] => 'border-color: {{VALUE}}', ], ], 'quantity_icon_tabs_start' => [ 'mode' => 'tabs_start', ], // Tab For normal view. 'quantity_icon_normal' => [ 'mode' => 'tab_start', 'label' => esc_html__( 'Normal', 'shopbuilder' ), ], 'quantity_icon_color' => [ 'label' => esc_html__( 'Quantity icon Color', 'shopbuilder' ), 'type' => 'color', 'separator' => 'default', 'selectors' => [ self::$selectors['quantity_icon_color'] => 'color: {{VALUE}}', ], ], 'quantity_icon_normal_end' => [ 'mode' => 'tab_end', ], 'quantity_icon_hover' => [ 'mode' => 'tab_start', 'label' => esc_html__( 'Hover', 'shopbuilder' ), ], 'quantity_icon_hover_color' => [ 'label' => esc_html__( 'Quantity icon Color', 'shopbuilder' ), 'type' => 'color', 'separator' => 'default', 'selectors' => [ self::$selectors['quantity_icon_hover_color'] => 'color: {{VALUE}}', ], ], 'quantity_icon_hover_end' => [ 'mode' => 'tab_end', ], 'quantity_icon_tabs_end' => [ 'mode' => 'tabs_end', ], 'text_typography' => [ 'type' => 'typography', 'separator' => 'before', 'mode' => 'group', 'label' => esc_html__( 'Typography', 'shopbuilder' ), 'description' => esc_html__( 'Only for Quantity Label.', 'shopbuilder' ), 'selector' => self::$selectors['text_typography'], ], 'quantity_number_color' => [ 'label' => esc_html__( 'Quantity Number', 'shopbuilder' ), 'type' => 'color', 'selectors' => [ self::$selectors['quantity_number_color'] => 'color: {{VALUE}}', ], ], 'quantity_background_color' => [ 'label' => esc_html__( 'Quantity Backgeound', 'shopbuilder' ), 'type' => 'color', 'selectors' => [ self::$selectors['quantity_background_color'] => 'background: {{VALUE}}', ], ], 'quantity_border' => [ 'mode' => 'group', 'type' => 'border', 'label' => esc_html__( 'Quantity Border', 'shopbuilder' ), 'selector' => self::$selectors['quantity_border'], ], 'quantity_radius' => [ 'label' => esc_html__( 'Border Radius', 'shopbuilder' ), 'size_units' => [ 'px', '%' ], 'type' => 'dimensions', 'selectors' => [ self::$selectors['quantity_radius'] => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;', ], ], 'qunatity_padding' => [ 'label' => esc_html__( 'Padding', 'shopbuilder' ), 'type' => 'dimensions', 'mode' => 'responsive', 'size_units' => [ 'px', '%', 'em' ], 'selectors' => [ self::$selectors['qunatity_padding'] => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ], 'quantity_style_wrapper_heading' => [ 'type' => 'html', 'raw' => sprintf( '

%s

', esc_html__( 'Quantity Wrapper Style', 'shopbuilder' ) ), 'content_classes' => 'elementor-panel-heading-title', 'condition' => [ 'quantity_style' => [ 'style-1', 'style-2' ], ], ], 'quantity_wrapper_background_color' => [ 'label' => esc_html__( 'Background', 'shopbuilder' ), 'type' => 'color', 'selectors' => [ self::$selectors['quantity_wrapper_background_color'] => 'background: {{VALUE}}', ], 'condition' => [ 'quantity_style' => [ 'style-1', 'style-2' ], ], ], 'quantity_wrapper_radius' => [ 'label' => esc_html__( 'Border Radius', 'shopbuilder' ), 'size_units' => [ 'px', '%' ], 'type' => 'dimensions', 'selectors' => [ self::$selectors['quantity_wrapper_radius'] => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;', ], 'condition' => [ 'quantity_style' => [ 'style-1', 'style-2' ], ], ], 'qunatity_wrapper_padding' => [ 'label' => esc_html__( 'Padding', 'shopbuilder' ), 'type' => 'dimensions', 'mode' => 'responsive', 'size_units' => [ 'px', '%', 'em' ], 'selectors' => [ self::$selectors['qunatity_wrapper_padding'] => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ], 'quantity_section_end' => [ 'mode' => 'section_end', ], ]; return $fields; } /** * Widget Field * * @return array */ public static function variation_style_fields() { $fields = [ 'variation_section' => [ 'mode' => 'section_start', 'tab' => 'style', 'label' => esc_html__( 'Variations', 'shopbuilder' ), ], 'variation_label_typography' => [ 'type' => 'typography', 'separator' => 'before', 'mode' => 'group', 'label' => esc_html__( 'Label Typography', 'shopbuilder' ), 'description' => esc_html__( 'Only for Variation Label.', 'shopbuilder' ), 'selector' => self::$selectors['variation_label_typography'], ], 'variation_stock_typography' => [ 'type' => 'typography', 'separator' => 'before', 'mode' => 'group', 'label' => esc_html__( 'Stock Typography', 'shopbuilder' ), 'description' => esc_html__( 'Only for variation stock.', 'shopbuilder' ), 'selector' => self::$selectors['variation_stock_typography'], ], 'variation_label_color' => [ 'label' => esc_html__( 'Label Color', 'shopbuilder' ), 'type' => 'color', 'selectors' => [ self::$selectors['variation_label_color'] => 'color: {{VALUE}}', ], ], 'variation_stock_color' => [ 'label' => esc_html__( 'Stock Color', 'shopbuilder' ), 'type' => 'color', 'selectors' => [ self::$selectors['variation_stock_color'] => 'color: {{VALUE}}', ], ], 'variation_outofstock_color' => [ 'label' => esc_html__( 'Out of Stock Color', 'shopbuilder' ), 'type' => 'color', 'selectors' => [ self::$selectors['variation_outofstock_color'] => 'color: {{VALUE}}', ], ], 'variation_height' => [ 'label' => esc_html__( 'Height', 'shopbuilder' ), 'type' => 'slider', 'range' => [ 'px' => [ 'min' => 10, 'max' => 200, ], ], 'selectors' => [ self::$selectors['variation_height'] => 'height: {{SIZE}}{{UNIT}};', ], ], 'variation_width' => [ 'label' => esc_html__( 'Width', 'shopbuilder' ), 'size_units' => [ 'px', '%' ], 'type' => 'slider', 'range' => [ 'px' => [ 'min' => 10, 'max' => 900, ], '%' => [ 'min' => 0, 'max' => 100, ], ], 'selectors' => [ self::$selectors['variation_width'] => 'width: {{SIZE}}{{UNIT}};', ], ], 'variation_border' => [ 'mode' => 'group', 'type' => 'border', 'label' => esc_html__( 'Quantity Border', 'shopbuilder' ), 'selector' => self::$selectors['variation_border'], ], 'variation_border_radius' => [ 'label' => esc_html__( 'Border Radius', 'shopbuilder' ), 'size_units' => [ 'px', '%' ], 'type' => 'slider', 'selectors' => [ self::$selectors['variation_border_radius'] => 'border-radius: {{SIZE}}{{UNIT}};', ], ], 'variation_padding' => [ 'label' => esc_html__( 'Padding', 'shopbuilder' ), 'type' => 'dimensions', 'size_units' => [ 'px' ], 'default' => [ 'top' => '10', 'right' => '10', 'bottom' => '10', 'left' => '10', 'unit' => 'px', 'isLinked' => true, ], 'separator' => 'default', 'selectors' => [ self::$selectors['variation_padding'] => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ], 'variation_label_margin' => [ 'label' => esc_html__( 'Label Margin', 'shopbuilder' ), 'type' => 'dimensions', 'size_units' => [ 'px', '%', 'em' ], 'selectors' => [ self::$selectors['variation_label_margin'] => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;', ], ], 'variation_item_margin' => [ 'label' => esc_html__( 'Variation Item Margin', 'shopbuilder' ), 'type' => 'dimensions', 'size_units' => [ 'px', '%', 'em' ], 'selectors' => [ self::$selectors['variation_item_margin'] => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;', ], ], 'variation_section_end' => [ 'mode' => 'section_end', ], ]; return $fields; } /** * Widget Field * * @return array */ public static function product_price_style_fields() { return [ 'price_section_style_start' => [ 'mode' => 'section_start', 'tab' => 'style', 'label' => esc_html__( 'Price', 'shopbuilder' ), ], 'price_typography' => [ 'type' => 'typography', 'separator' => 'before', 'mode' => 'group', 'label' => esc_html__( 'Typography', 'shopbuilder' ), 'description' => esc_html__( 'Only for Variation Price', 'shopbuilder' ), 'selector' => self::$selectors['price_typography'], ], 'price_color' => [ 'label' => esc_html__( 'Color', 'shopbuilder' ), 'type' => 'color', 'selectors' => [ self::$selectors['price_color'] => 'color: {{VALUE}}', ], ], 'price_margin' => [ 'label' => esc_html__( 'Margin', 'shopbuilder' ), 'type' => 'dimensions', 'size_units' => [ 'px' ], 'separator' => 'default', 'selectors' => [ self::$selectors['price_margin'] => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ], 'price_section_style_end' => [ 'mode' => 'section_end', ], ]; } }