landing-klikaset/wp-content/plugins/stratum/includes/stratum-sections.php

1227 lines
35 KiB
PHP

<?php
namespace Stratum;
use \Elementor\Controls_Manager;
use \Elementor\Utils;
use \Elementor\Plugin;
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
class Sections {
public $widget;
public function __construct($widget) {
$this->widget = $widget;
}
public function carousel() {
$controls = $this->widget;
$animation_in_arr = [
'bounceIn' => 'BounceIn',
'bounceInDown' => 'BounceInDown',
'bounceInLeft' => 'BounceInLeft',
'bounceInRight' => 'BounceInRight',
'bounceInUp' => 'BounceInUp',
'fadeIn' => 'FadeIn',
'fadeInDown' => 'FadeInDown',
'fadeInDownBig' => 'FadeInDownBig',
'fadeInLeft' => 'FadeInLeft',
'fadeInLeftBig' => 'FadeInLeftBig',
'fadeInRight' => 'FadeInRight',
'fadeInRightBig' => 'FadeInRightBig',
'fadeInUp' => 'FadeInUp',
'fadeInUpBig' => 'FadeInUpBig',
'flipInX' => 'FlipInX',
'flipInY' => 'FlipInY',
'lightSpeedIn' => 'LightSpeedIn',
'rotateIn' => 'RotateIn',
'rotateInDownLeft' => 'RotateInDownLeft',
'rotateInDownRight' => 'RotateInDownRight',
'rotateInUpLeft' => 'RotateInUpLeft',
'rotateInUpRight' => 'RotateInUpRight',
'jackInTheBox' => 'JackInTheBox',
'rollIn' => 'RollIn',
'zoomIn' => 'ZoomIn',
'zoomInDown' => 'ZoomInDown',
'zoomInLeft' => 'ZoomInLeft',
'zoomInRight' => 'ZoomInRight',
'zoomInUp' => 'ZoomInUp',
'slideInDown' => 'SlideInDown',
'slideInLeft' => 'SlideInLeft',
'slideInRight' => 'SlideInRight',
'slideInUp' => 'SlideInUp'
];
$animation_out_arr = [
'bounceOut' => 'BounceOut',
'bounceOutDown' => 'BounceOutDown',
'bounceOutLeft' => 'BounceOutLeft',
'bounceOutRight' => 'BounceOutRight',
'bounceOutUp' => 'BounceOutUp',
'fadeOut' => 'FadeOut',
'fadeOutDown' => 'FadeOutDown',
'fadeOutDownBig' => 'FadeOutDownBig',
'fadeOutLeft' => 'FadeOutLeft',
'fadeOutLeftBig' => 'FadeOutLeftBig',
'fadeOutRight' => 'FadeOutRight',
'fadeOutRightBig' => 'FadeOutRightBig',
'fadeOutUp' => 'FadeOutUp',
'fadeOutUpBig' => 'FadeOutUpBig',
'flipOutX' => 'FlipOutX',
'flipOutY' => 'FlipOutY',
'lightSpeedOut' => 'LightSpeedOut',
'rotateOut' => 'RotateOut',
'rotateOutDownLeft' => 'RotateOutDownLeft',
'rotateOutDownRight' => 'RotateOutDownRight',
'rotateOutUpLeft' => 'RotateOutUpLeft',
'rotateOutUpRight' => 'RotateOutUpRight',
'rollOut' => 'RollOut',
'zoomOut' => 'ZoomOut',
'zoomOutDown' => 'ZoomOutDown',
'zoomOutLeft' => 'ZoomOutLeft',
'zoomOutRight' => 'ZoomOutRight',
'zoomOutUp' => 'ZoomOutUp',
'slideOutDown' => 'SlideOutDown',
'slideOutLeft' => 'SlideOutLeft',
'slideOutRight' => 'SlideOutRight',
'slideOutUp' => 'SlideOutUp'
];
$controls->start_controls_section(
'section_carousel',
[
'label' => esc_html__( 'Carousel', 'stratum' ),
'tab' => Controls_Manager::TAB_CONTENT,
]
);
$slides_to_show = range( 1, 4 );
$slides_to_show = array_combine( $slides_to_show, $slides_to_show );
$controls->add_responsive_control(
'slides_to_show',
[
'label' => esc_html__( 'Slides to Show', 'stratum' ),
'type' => Controls_Manager::SELECT,
'default' => '1',
'tablet_default' => '1',
'mobile_default' => '1',
'options' => $slides_to_show,
'frontend_available' => true,
]
);
$controls->add_control(
'navigation',
[
'label' => esc_html__( 'Navigation', 'stratum' ),
'type' => Controls_Manager::SELECT,
'default' => 'both',
'options' => [
'both' => esc_html__( 'Arrows and Dots', 'stratum' ),
'arrows' => esc_html__( 'Arrows', 'stratum' ),
'dots' => esc_html__( 'Dots', 'stratum' ),
'none' => esc_html__( 'None', 'stratum' ),
],
'frontend_available' => true,
]
);
$controls->add_control(
'auto_height',
[
'label' => esc_html__( 'Auto Height', 'stratum' ),
'type' => Controls_Manager::SWITCHER,
'default' => '',
]
);
$controls->add_control(
'item_margins',
[
'label' => esc_html__( 'Item margins', 'stratum' ),
"description" => esc_html__( 'In Pixels (px)', 'stratum' ),
'type' => Controls_Manager::SLIDER,
'size_units' => [ 'px', ],
'range' => [
'px' => [
'min' => 0,
'max' => 100,
'step' => 1,
],
],
'default' => [
'unit' => 'px',
'size' => 10,
],
]
);
$controls->add_control(
'item_stage_paddings',
[
'label' => esc_html__( 'Stage paddings', 'stratum' ),
"description" => esc_html__( 'In Pixels (px)', 'stratum' ),
'type' => Controls_Manager::SLIDER,
'size_units' => [ 'px', ],
'range' => [
'px' => [
'min' => 0,
'max' => 100,
'step' => 1,
],
],
'default' => [
'unit' => 'px',
'size' => 0,
],
]
);
$controls->add_control(
'item_center',
[
'label' => esc_html__( 'Center item', 'stratum' ),
'type' => Controls_Manager::SWITCHER,
'default' => '',
]
);
$controls->add_control(
'autoplay',
[
'label' => esc_html__( 'Autoplay', 'stratum' ),
'type' => Controls_Manager::SWITCHER,
'default' => '',
]
);
$controls->add_control(
'autoplay_speed',
[
'label' => esc_html__( 'Autoplay speed', 'stratum' ),
'type' => Controls_Manager::NUMBER,
'min' => 100,
'max' => 10000,
'step' => 1000,
'default' => 3000,
'condition' => [
'autoplay' => 'yes'
],
]
);
$controls->add_control(
'pause_on_hover',
[
'label' => esc_html__( 'Pause on Hover', 'stratum' ),
'type' => Controls_Manager::SWITCHER,
'default' => '',
'condition' => [
'autoplay' => 'yes'
],
]
);
$controls->add_control(
'infinite',
[
'label' => esc_html__( 'Infinite Loop', 'stratum' ),
'type' => Controls_Manager::SWITCHER,
'default' => '',
'condition' => [
'slides_in_columns' => '1',
],
]
);
$controls->add_control(
'animation_in',
[
'label' => esc_html__( 'Animation (In)', 'stratum' ),
'type' => Controls_Manager::SELECT2,
'default' => 'default',
'options' => [
'default' => esc_html__( 'Default', 'stratum' ),
] + $animation_in_arr,
'condition' => [
'slides_to_show' => '1',
],
'frontend_available' => true,
]
);
$controls->add_control(
'animation_out',
[
'label' => esc_html__( 'Animation (Out)', 'stratum' ),
'type' => Controls_Manager::SELECT2,
'default' => 'default',
'options' => [
'default' => esc_html__( 'Default', 'stratum' ),
] + $animation_out_arr,
'condition' => [
'slides_to_show' => '1',
],
'frontend_available' => true,
]
);
$controls->add_control(
'animation_speed',
[
'label' => esc_html__( 'Animation Speed', 'stratum' ),
'type' => Controls_Manager::NUMBER,
'default' => 250,
'frontend_available' => true,
]
);
$controls->end_controls_section();
$controls->start_controls_section(
'section_style_navigation',
[
'label' => esc_html__( 'Navigation', 'stratum' ),
'tab' => Controls_Manager::TAB_STYLE,
'conditions' => [
'relation' => 'and',
'terms' => [
[
'relation' => 'and',
'terms' => [
[
'name' => 'use_carousel',
'operator' => '==',
'value' => 'yes'
]
]
], [
'relation' => 'or',
'terms' => [
[
'name' => 'navigation',
'operator' => '==',
'value' => 'arrows'
], [
'name' => 'navigation',
'operator' => '==',
'value' => 'dots'
], [
'name' => 'navigation',
'operator' => '==',
'value' => 'both'
]
]
]
]
]
]
);
$controls->add_control(
'heading_style_arrows',
[
'label' => esc_html__( 'Arrows', 'stratum' ),
'type' => Controls_Manager::HEADING,
'separator' => 'before',
'condition' => [
'navigation' => [ 'arrows', 'both' ],
],
]
);
$controls->add_control(
'arrows_position',
[
'label' => esc_html__( 'Position', 'stratum' ),
'type' => Controls_Manager::SELECT,
'default' => 'inside',
'options' => [
'inside' => esc_html__( 'Inside', 'stratum' ),
'outside' => esc_html__( 'Outside', 'stratum' ),
],
'condition' => [
'navigation' => [ 'arrows', 'both' ],
],
]
);
$controls->add_control(
'arrows_size',
[
'label' => esc_html__( 'Size', 'stratum' ),
'type' => Controls_Manager::SLIDER,
'range' => [
'px' => [
'min' => 20,
'max' => 60,
],
],
'selectors' => [
'{{WRAPPER}} .elementor-image-carousel-wrapper .slick-slider .slick-prev:before, {{WRAPPER}} .elementor-image-carousel-wrapper .slick-slider .slick-next:before' => 'font-size: {{SIZE}}{{UNIT}};',
],
'condition' => [
'navigation' => [ 'arrows', 'both' ],
],
]
);
$controls->add_control(
'arrows_color',
[
'label' => esc_html__( 'Color', 'stratum' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} .elementor-image-carousel-wrapper .slick-slider .slick-prev:before, {{WRAPPER}} .elementor-image-carousel-wrapper .slick-slider .slick-next:before' => 'color: {{VALUE}};',
],
'condition' => [
'navigation' => [ 'arrows', 'both' ],
],
]
);
$controls->add_control(
'heading_style_dots',
[
'label' => esc_html__( 'Dots', 'stratum' ),
'type' => Controls_Manager::HEADING,
'separator' => 'before',
'condition' => [
'navigation' => [ 'dots', 'both' ],
],
]
);
$controls->add_control(
'dots_position',
[
'label' => esc_html__( 'Position', 'stratum' ),
'type' => Controls_Manager::SELECT,
'default' => 'outside',
'options' => [
'outside' => esc_html__( 'Outside', 'stratum' ),
'inside' => esc_html__( 'Inside', 'stratum' ),
],
'condition' => [
'navigation' => [ 'dots', 'both' ],
],
]
);
$controls->add_control(
'dots_size',
[
'label' => esc_html__( 'Size', 'stratum' ),
'type' => Controls_Manager::SLIDER,
'range' => [
'px' => [
'min' => 5,
'max' => 10,
],
],
'selectors' => [
'{{WRAPPER}} .elementor-image-carousel-wrapper .elementor-image-carousel .slick-dots li button:before' => 'font-size: {{SIZE}}{{UNIT}};',
],
'condition' => [
'navigation' => [ 'dots', 'both' ],
],
]
);
$controls->add_control(
'dots_color',
[
'label' => esc_html__( 'Color', 'stratum' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} .elementor-image-carousel-wrapper .elementor-image-carousel .slick-dots li button:before' => 'color: {{VALUE}};',
],
'condition' => [
'navigation' => [ 'dots', 'both' ],
],
]
);
$controls->end_controls_section();
}
public function advanced_carousel($tabs = ['settings' => Controls_Manager::TAB_LAYOUT, 'navigation' => Controls_Manager::TAB_LAYOUT], $condition = [], $disable_controls = [])
{
$controls = $this->widget;
// Section Carousel
$controls->start_controls_section(
'section_carousel',
[
'label' => esc_html__( 'Carousel Settings', 'stratum' ),
'tab' => $tabs['settings'],
] + (!empty($condition) ? [
'condition' => $condition
] : []
)
);
$slides_view = range( 1, 4 );
$slides_view = array_combine( $slides_view, $slides_view );
$controls->add_responsive_control(
'columns_count', //slidesPerView
[
'label' => esc_html__( 'Columns', 'stratum' ),
'type' => Controls_Manager::SELECT,
'default' => '1',
'tablet_default' => '1',
'mobile_default' => '1',
'options' => [
'auto' => esc_html__( 'Auto', 'stratum' ),
] + $slides_view,
'frontend_available' => true,
]
);
$slides_in_columns = range( 1, 4 );
$slides_in_columns = array_combine( $slides_in_columns, $slides_in_columns );
$controls->add_responsive_control(
'slides_in_columns', //slidesPerColumn
[
'label' => esc_html__( 'Rows', 'stratum' ),
'type' => Controls_Manager::SELECT,
'default' => '1',
'tablet_default' => '1',
'mobile_default' => '1',
'options' => $slides_in_columns,
'frontend_available' => true,
'condition' => [
'columns_count!' => 'auto',
'slider_direction' => 'horizontal',
],
]
);
$slides_scroll = range( 1, 4 );
$slides_scroll = array_combine( $slides_scroll, $slides_scroll );
$controls->add_responsive_control(
'slides_to_scroll', //slidesPerGroup
[
'label' => esc_html__( 'Slides to scroll', 'stratum' ),
'type' => Controls_Manager::SELECT,
'default' => '1',
'tablet_default' => '1',
'mobile_default' => '1',
'options' => $slides_scroll,
'frontend_available' => true,
]
);
$controls->add_control(
'slider_direction', //direction
[
'label' => esc_html__( 'Slider direction', 'stratum' ),
'type' => Controls_Manager::SELECT,
'default' => 'horizontal',
'options' => [
'horizontal' => esc_html__( 'Horizontal', 'stratum' ),
'vertical' => esc_html__( 'Vertical', 'stratum' ),
],
'render_type' => 'template',
'prefix_class' => 'stratum-swiper-direction-',
'frontend_available' => true,
]
);
$controls->add_control(
'auto_height', //autoHeight
[
'label' => esc_html__( 'Auto height', 'stratum' ),
'type' => Controls_Manager::SWITCHER,
'default' => '',
'condition' => [
'slides_in_columns' => '1',
'slider_direction!' => 'vertical',
'free_mode' => '',
],
]
);
$controls->add_control(
'navigation', //navigation, pagination
[
'label' => esc_html__( 'Navigation', 'stratum' ),
'type' => Controls_Manager::SELECT,
'default' => 'both',
'options' => [
'both' => esc_html__( 'Arrows and Pagination', 'stratum' ),
'arrows' => esc_html__( 'Arrows', 'stratum' ),
'pagination' => esc_html__( 'Pagination', 'stratum' ),
'none' => esc_html__( 'None', 'stratum' ),
],
'frontend_available' => true,
]
);
$controls->add_control(
'pagination_style', //pagination type
[
'label' => esc_html__( 'Pagination style', 'stratum' ),
'type' => Controls_Manager::SELECT,
'default' => 'bullets',
'options' => [
'bullets' => esc_html__( 'Bullets', 'stratum' ), //pagination clickable
'fraction' => esc_html__( 'Numbers', 'stratum' ),
'progressbar' => esc_html__( 'Progress bar', 'stratum' ),
'scrollbar' => esc_html__( 'Scrollbar', 'stratum' ), //scrollbar draggable
],
'condition' => [
'navigation' => ['both', 'pagination']
],
'frontend_available' => true,
]
);
$controls->add_control(
'dynamic_bullets', //dynamicBullets
[
'label' => esc_html__( 'Dynamic Bullets', 'stratum' ),
'type' => Controls_Manager::SWITCHER,
'default' => '',
'condition' => [
'navigation' => ['both', 'pagination'],
'pagination_style' => 'bullets',
],
]
);
$controls->add_control(
'keyboard_control', //keyboard enabled
[
'label' => esc_html__( 'Keyboard Control', 'stratum' ),
'type' => Controls_Manager::SWITCHER,
'default' => '',
]
);
$controls->add_control(
'mousewheel_control', //mousewheel
[
'label' => esc_html__( 'Mousewheel Control', 'stratum' ),
'type' => Controls_Manager::SWITCHER,
'default' => '',
]
);
$controls->add_control(
'item_center', //centeredSlides
[
'label' => esc_html__( 'Center item', 'stratum' ),
'type' => Controls_Manager::SWITCHER,
'default' => '',
'condition' => [
'columns_count!' => ['auto','1'],
],
]
);
$controls->add_responsive_control(
'spacing_slides', //spaceBetween
[
'label' => esc_html__( 'Spacing between slides', 'stratum' ),
'description' => esc_html__( 'In Pixels (px)', 'stratum' ),
'type' => Controls_Manager::SLIDER,
'size_units' => [ 'px' ],
'range' => [
'px' => [
'min' => 0,
'max' => 200,
'step' => 1,
],
],
'default' => [
'unit' => 'px',
'size' => 0,
],
'tablet_default' => [
'unit' => 'px',
'size' => 0,
],
'mobile_default' => [
'unit' => 'px',
'size' => 0,
],
]
);
$controls->add_control(
'free_mode', //freeMode
[
'label' => esc_html__( 'Free Move mode', 'stratum' ),
'type' => Controls_Manager::SWITCHER,
'default' => '',
]
);
$controls->add_control(
'slide_effects', //effect
[
'label' => esc_html__( 'Slide effects', 'stratum' ),
'type' => Controls_Manager::SELECT,
'default' => 'slide',
'options' => [
'slide' => esc_html__( 'Slide', 'stratum' ),
'fade' => esc_html__( 'Fade', 'stratum' ),
'cube' => esc_html__( 'Cube', 'stratum' ),
'coverflow' => esc_html__( 'Coverflow', 'stratum' ),
],
'frontend_available' => true,
]
);
$controls->add_control(
'coverflow_visible', //centeredSlides
[
'label' => esc_html__( 'Coverflow visible', 'stratum' ),
'type' => Controls_Manager::SWITCHER,
'default' => '',
'description' => esc_html__( 'Works only if "Stretch Section" option is enabled', 'stratum' ),
'return_value' => 'visible',
'prefix_class' => 'stratum-coverflow-',
'condition' => [
'slide_effects' => 'coverflow',
'slider_direction' => 'horizontal',
],
]
);
$controls->add_control(
'autoplay', //autoplay
[
'label' => esc_html__( 'Autoplay', 'stratum' ),
'type' => Controls_Manager::SWITCHER,
'default' => '',
]
);
$controls->add_control(
'autoplay_speed', //delay
[
'label' => esc_html__( 'Autoplay speed', 'stratum' ),
'type' => Controls_Manager::NUMBER,
'min' => 100,
'max' => 10000,
'step' => 1000,
'default' => 3000,
'condition' => [
'autoplay' => 'yes'
],
]
);
$controls->add_control(
'pause_on_hover', //autoplay start or autoplay stop
[
'label' => esc_html__( 'Pause on Hover', 'stratum' ),
'type' => Controls_Manager::SWITCHER,
'default' => 'yes',
'condition' => [
'autoplay' => 'yes'
],
]
);
$controls->add_control(
'loop', //loop
[
'label' => esc_html__( 'Infinite Loop', 'stratum' ),
'type' => Controls_Manager::SWITCHER,
'default' => '',
]
);
$controls->add_control(
'animation_speed', //speed
[
'label' => esc_html__( 'Animation Speed', 'stratum' ),
'type' => Controls_Manager::NUMBER,
'default' => 300,
'frontend_available' => true,
]
);
$controls->add_control(
'simulate_touch', //simulate_touch
[
'label' => esc_html__( 'Simulate Touch', 'stratum' ),
'description' => esc_html__( 'Disable click and swipe slide change on touch screens.', 'stratum' ),
'type' => Controls_Manager::SWITCHER,
'default' => '',
]
);
$controls->end_controls_section();
$navigation_condition = [
'relation' => 'and',
'terms' => [
[
'relation' => 'or',
'terms' => [
[
'name' => 'navigation',
'operator' => '==',
'value' => 'arrows'
], [
'name' => 'navigation',
'operator' => '==',
'value' => 'pagination'
], [
'name' => 'navigation',
'operator' => '==',
'value' => 'both'
]
]
]
]
];
if (!empty($condition)){
//Get condition from params
$condition_key = array_keys($condition)[0];
$condition_val = array_values($condition)[0];
$navigation_condition['terms'][] =
[
'relation' => 'and',
'terms' => [
[
'name' => $condition_key,
'operator' => '==',
'value' => $condition_val
]
]
];
}
$controls->start_controls_section(
'section_style_navigation',
[
'label' => esc_html__( 'Navigation style', 'stratum' ),
'tab' => $tabs['navigation'],
'conditions' => $navigation_condition
]
);
//Arrows
$controls->add_control(
'heading_style_arrows',
[
'label' => esc_html__( 'Arrows', 'stratum' ),
'type' => Controls_Manager::HEADING,
'separator' => 'before',
'condition' => [
'navigation' => [ 'arrows', 'both' ],
],
]
);
$controls->add_control(
'arrows_position',
[
'label' => esc_html__( 'Position', 'stratum' ),
'type' => Controls_Manager::SELECT,
'default' => 'inside',
'options' => [
'inside' => esc_html__( 'Inside', 'stratum' ),
'outside' => esc_html__( 'Outside', 'stratum' ),
],
'condition' => [
'navigation' => [ 'arrows', 'both' ],
],
'render_type' => 'template',
'prefix_class' => 'stratum-navigation-arrow-position-',
]
);
$controls->add_control(
'arrows_size',
[
'label' => esc_html__( 'Size', 'stratum' ),
'type' => Controls_Manager::SLIDER,
'size_units' => [ 'px' ],
'range' => [
'px' => [
'min' => 16,
'max' => 50,
],
],
'default' => [
'unit' => 'px',
'size' => 16,
],
'render_type' => 'template',
'selectors' => [
'{{WRAPPER}} .stratum-swiper-button-prev, {{WRAPPER}} .stratum-swiper-button-next' => 'font-size: {{SIZE}}{{UNIT}};',
//Outside
//horizontal
'{{WRAPPER}}.stratum-navigation-arrow-position-outside.stratum-swiper-direction-horizontal .stratum-swiper-button-prev, {{WRAPPER}}.stratum-navigation-arrow-position-outside.stratum-swiper-direction-horizontal .stratum-swiper-button-next' => 'width: calc( ({{arrows_spacing.SIZE}}{{arrows_spacing.UNIT}}/2) + {{SIZE}}{{UNIT}} );',
'{{WRAPPER}}.stratum-navigation-arrow-position-outside.stratum-swiper-direction-horizontal .elementor-widget-container > div' => 'margin-left: calc( {{arrows_offset.SIZE}}{{arrows_offset.UNIT}} + ( ({{arrows_spacing.SIZE}}{{arrows_spacing.UNIT}}/2) + {{SIZE}}{{UNIT}} ) ); margin-right: calc( {{arrows_offset.SIZE}}{{arrows_offset.UNIT}} + ( ({{arrows_spacing.SIZE}}{{arrows_spacing.UNIT}}/2) + {{SIZE}}{{UNIT}} ) );',
//vertical
'{{WRAPPER}}.stratum-navigation-arrow-position-outside.stratum-swiper-direction-vertical .stratum-swiper-button-prev, {{WRAPPER}}.stratum-navigation-arrow-position-outside.stratum-swiper-direction-vertical .stratum-swiper-button-next' => 'height: calc( ({{arrows_spacing.SIZE}}{{arrows_spacing.UNIT}}/2) + {{SIZE}}{{UNIT}} );',
'{{WRAPPER}}.stratum-navigation-arrow-position-outside.stratum-swiper-direction-vertical .elementor-widget-container > div' => 'margin-top: calc( {{arrows_offset.SIZE}}{{arrows_offset.UNIT}} + ( ({{arrows_spacing.SIZE}}{{arrows_spacing.UNIT}}/2) + {{SIZE}}{{UNIT}} ) ); margin-bottom: calc( {{arrows_offset.SIZE}}{{arrows_offset.UNIT}} + ( ({{arrows_spacing.SIZE}}{{arrows_spacing.UNIT}}/2) + {{SIZE}}{{UNIT}} ) );',
//Inside
//horizontal
'{{WRAPPER}}.stratum-navigation-arrow-position-inside.stratum-swiper-direction-horizontal .stratum-swiper-button-prev, {{WRAPPER}}.stratum-navigation-arrow-position-inside.stratum-swiper-direction-horizontal .stratum-swiper-button-next' => 'width: calc( ({{arrows_spacing.SIZE}}{{arrows_spacing.UNIT}}/2) + {{SIZE}}{{UNIT}} );',
'{{WRAPPER}}.stratum-navigation-arrow-position-inside.stratum-swiper-direction-horizontal .stratum-swiper-button-prev' => 'left: calc( {{arrows_offset.SIZE}}{{arrows_offset.UNIT}} + ( ({{arrows_spacing.SIZE}}{{arrows_spacing.UNIT}}/2) ) );',
'{{WRAPPER}}.stratum-navigation-arrow-position-inside.stratum-swiper-direction-horizontal .stratum-swiper-button-next' => 'right: calc( {{arrows_offset.SIZE}}{{arrows_offset.UNIT}} + ( ({{arrows_spacing.SIZE}}{{arrows_spacing.UNIT}}/2) ) );',
//vertical
'{{WRAPPER}}.stratum-navigation-arrow-position-inside.stratum-swiper-direction-vertical .stratum-swiper-button-prev, {{WRAPPER}}.stratum-navigation-arrow-position-inside.stratum-swiper-direction-vertical .stratum-swiper-button-next' => 'height: calc( ({{arrows_spacing.SIZE}}{{arrows_spacing.UNIT}}/2) + {{SIZE}}{{UNIT}} );',
'{{WRAPPER}}.stratum-navigation-arrow-position-inside.stratum-swiper-direction-vertical .stratum-swiper-button-prev' => 'top: calc( {{arrows_offset.SIZE}}{{arrows_offset.UNIT}} + ( ({{arrows_spacing.SIZE}}{{arrows_spacing.UNIT}}/2) ) );',
'{{WRAPPER}}.stratum-navigation-arrow-position-inside.stratum-swiper-direction-vertical .stratum-swiper-button-next' => 'bottom: calc( {{arrows_offset.SIZE}}{{arrows_offset.UNIT}} + ( ({{arrows_spacing.SIZE}}{{arrows_spacing.UNIT}}/2) ) );',
],
'condition' => [
'navigation' => [ 'arrows', 'both' ],
],
]
);
$controls->add_control(
'arrows_spacing',
[
'label' => esc_html__( 'Spacing', 'stratum' ),
'type' => Controls_Manager::SLIDER,
'size_units' => [ 'px' ],
'range' => [
'px' => [
'min' => 0,
'max' => 200,
],
],
'default' => [
'unit' => 'px',
'size' => 10,
],
'render_type' => 'template',
'condition' => [
'navigation' => [ 'arrows', 'both' ],
],
]
);
$controls->add_control(
'arrows_offset',
[
'label' => esc_html__( 'Offset', 'stratum' ),
'type' => Controls_Manager::SLIDER,
'size_units' => [ 'px' ],
'range' => [
'px' => [
'min' => 0,
'max' => 200,
],
],
'default' => [
'unit' => 'px',
'size' => 0,
],
'render_type' => 'template',
'condition' => [
'navigation' => [ 'arrows', 'both' ],
],
]
);
$controls->add_control(
'arrows_color',
[
'label' => esc_html__( 'Color', 'stratum' ),
'type' => Controls_Manager::COLOR,
'default' => $this->widget->default_arrows_color,
'value' => $this->widget->default_arrows_color,
'selectors' => [
'{{WRAPPER}} .stratum-swiper-button-prev, {{WRAPPER}} .stratum-swiper-button-next' => 'color: {{VALUE}};',
],
'condition' => [
'navigation' => [ 'arrows', 'both' ],
],
]
);
//Bullets
$controls->add_control(
'heading_style_bullets',
[
'label' => esc_html__( 'Bullets', 'stratum' ),
'type' => Controls_Manager::HEADING,
'separator' => 'before',
'condition' => [
'navigation' => [ 'pagination', 'both' ],
'pagination_style' => [ 'bullets' ],
],
]
);
$controls->add_control(
'bullets_squared',
[
'label' => esc_html__( 'Square bullets', 'stratum' ),
'type' => Controls_Manager::SWITCHER,
'default' => '',
'prefix_class' => 'stratum-navigation-bullets-',
'return_value' => 'squared',
'condition' => [
'navigation' => [ 'pagination', 'both' ],
'pagination_style' => [ 'bullets' ],
],
]
);
$controls->add_control(
'bullets_size',
[
'label' => esc_html__( 'Size', 'stratum' ),
'type' => Controls_Manager::SLIDER,
'size_units' => [ 'px' ],
'range' => [
'px' => [
'min' => 1,
'max' => 10,
],
],
'default' => [
'unit' => 'px',
'size' => 6,
],
'selectors' => [
'{{WRAPPER}} .swiper-pagination .swiper-pagination-bullet' => 'width: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}};',
],
'condition' => [
'navigation' => [ 'pagination', 'both' ],
'pagination_style' => [ 'bullets' ],
],
]
);
$controls->add_control(
'bullets_spacing',
[
'label' => esc_html__( 'Spacing', 'stratum' ),
'type' => Controls_Manager::SLIDER,
'size_units' => [ 'px' ],
'range' => [
'px' => [
'min' => 1,
'max' => 10,
],
],
'default' => [
'unit' => 'px',
'size' => 6,
],
'selectors' => [
'{{WRAPPER}} .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet' => 'margin: 0 {{SIZE}}{{UNIT}};',
'{{WRAPPER}} .swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet' => 'margin: {{SIZE}}{{UNIT}} 0;',
'{{WRAPPER}} .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet' => 'margin: 0 {{SIZE}}{{UNIT}};', // Swiper >= 8.4.5
'{{WRAPPER}} .swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet' => 'margin: {{SIZE}}{{UNIT}} 0;', // Swiper >= 8.4.5
],
'condition' => [
'navigation' => [ 'pagination', 'both' ],
'pagination_style' => [ 'bullets' ],
],
]
);
$controls->add_control(
'bullets_color',
[
'label' => esc_html__( 'Color', 'stratum' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} .swiper-pagination .swiper-pagination-bullet' => 'background-color: {{VALUE}};',
],
'condition' => [
'navigation' => [ 'pagination', 'both' ],
'pagination_style' => [ 'bullets' ],
],
]
);
//Numbers
$controls->add_control(
'heading_style_fraction',
[
'label' => esc_html__( 'Numbers', 'stratum' ),
'type' => Controls_Manager::HEADING,
'separator' => 'before',
'condition' => [
'navigation' => [ 'pagination', 'both' ],
'pagination_style' => [ 'fraction' ],
],
]
);
$controls->add_control(
'fraction_color',
[
'label' => esc_html__( 'Color', 'stratum' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} .swiper-pagination.swiper-pagination-fraction' => 'color: {{VALUE}};',
],
'condition' => [
'navigation' => [ 'pagination', 'both' ],
'pagination_style' => [ 'fraction' ],
],
]
);
//Progress bar
$controls->add_control(
'heading_style_progressbar',
[
'label' => esc_html__( 'Progress bar', 'stratum' ),
'type' => Controls_Manager::HEADING,
'separator' => 'before',
'condition' => [
'navigation' => [ 'pagination', 'both' ],
'pagination_style' => [ 'progressbar' ],
],
]
);
$controls->add_control(
'progressbar_size',
[
'label' => esc_html__( 'Size', 'stratum' ),
'type' => Controls_Manager::SLIDER,
'range' => [
'px' => [
'min' => 1,
'max' => 10,
'step' => 1,
],
],
'default' => [
'unit' => 'px',
'size' => 4,
],
'selectors' => [
'{{WRAPPER}} .swiper-container-horizontal>.swiper-pagination-progressbar' => 'height: {{SIZE}}{{UNIT}};',
'{{WRAPPER}} .swiper-horizontal>.swiper-pagination-progressbar' => 'height: {{SIZE}}{{UNIT}};', // Swiper >= 8.4.5
],
'condition' => [
'navigation' => [ 'pagination', 'both' ],
'pagination_style' => [ 'progressbar' ],
],
]
);
$controls->add_control(
'progressbar_color',
[
'label' => esc_html__( 'Color', 'stratum' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} .swiper-pagination-progressbar .swiper-pagination-progressbar-fill' => 'background-color: {{VALUE}};',
],
'condition' => [
'navigation' => [ 'pagination', 'both' ],
'pagination_style' => [ 'progressbar' ],
],
]
);
//Scrollbar
$controls->add_control(
'heading_style_scrollbar',
[
'label' => esc_html__( 'Scrollbar', 'stratum' ),
'type' => Controls_Manager::HEADING,
'separator' => 'before',
'condition' => [
'navigation' => [ 'pagination', 'both' ],
'pagination_style' => [ 'scrollbar' ],
],
]
);
$controls->add_control(
'scrollbar_squared',
[
'label' => esc_html__( 'Square Scrollbar', 'stratum' ),
'type' => Controls_Manager::SWITCHER,
'default' => '',
'prefix_class' => 'stratum-navigation-scrollbar-',
'return_value' => 'squared',
'condition' => [
'navigation' => [ 'pagination', 'both' ],
'pagination_style' => [ 'scrollbar' ],
],
]
);
$controls->add_control(
'scrollbar_size',
[
'label' => esc_html__( 'Size', 'stratum' ),
'type' => Controls_Manager::SLIDER,
'range' => [
'px' => [
'min' => 1,
'max' => 10,
'step' => 1,
],
],
'default' => [
'unit' => 'px',
'size' => 5,
],
'selectors' => [
'{{WRAPPER}} .swiper-container-horizontal>.swiper-scrollbar' => 'height: {{SIZE}}{{UNIT}};',
'{{WRAPPER}} .swiper-container-vertical>.swiper-scrollbar' => 'width: {{SIZE}}{{UNIT}};',
'{{WRAPPER}} .swiper-horizontal>.swiper-scrollbar' => 'height: {{SIZE}}{{UNIT}};', // Swiper >= 8.4.5
'{{WRAPPER}} .swiper-vertical>.swiper-scrollbar' => 'width: {{SIZE}}{{UNIT}};', // Swiper >= 8.4.5
],
'condition' => [
'navigation' => [ 'pagination', 'both' ],
'pagination_style' => [ 'scrollbar' ],
],
]
);
$controls->add_control(
'scrollbar_color',
[
'label' => esc_html__( 'Color', 'stratum' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
'{{WRAPPER}} .swiper-container-horizontal>.swiper-scrollbar .swiper-scrollbar-drag' => 'background-color: {{VALUE}};',
'{{WRAPPER}} .swiper-container-vertical>.swiper-scrollbar .swiper-scrollbar-drag' => 'background-color: {{VALUE}};',
'{{WRAPPER}} .swiper-horizontal>.swiper-scrollbar .swiper-scrollbar-drag' => 'background-color: {{VALUE}};', // Swiper >= 8.4.5
'{{WRAPPER}} .swiper-vertical>.swiper-scrollbar .swiper-scrollbar-drag' => 'background-color: {{VALUE}};', // Swiper >= 8.4.5
],
'condition' => [
'navigation' => [ 'pagination', 'both' ],
'pagination_style' => [ 'scrollbar' ],
],
]
);
$controls->end_controls_section();
//Disable controls
if (!empty($disable_controls)){
Plugin::instance()->controls_manager->remove_control_from_stack( $controls->get_unique_name(), $disable_controls );
}
}
}