start_controls_section( 'kng_blog_posts_content_section_caousel_settings', [ 'label' => KING_ADDONS_ELEMENTOR_ICON . esc_html__('Carousel Settings', 'king-addons'), 'tab' => Controls_Manager::TAB_CONTENT, ] ); $this->add_control( 'kng_blog_posts_number_of_posts', [ 'label' => esc_html__('Number of latest posts', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'min' => 1, 'step' => 1, 'default' => 5, ] ); $this->add_control( 'kng_blog_posts_number_of_words', [ 'label' => esc_html__('Trim description to a certain number of words.', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'min' => 1, 'step' => 1, 'default' => 30, ] ); $this->add_control( 'kng_blog_posts_loop_switcher', [ 'label' => esc_html__('Loop Cards', 'king-addons'), 'type' => Controls_Manager::SWITCHER, 'default' => 'yes' ] ); $this->add_control( 'kng_blog_posts_rewind_switcher', [ 'label' => esc_html__('Rewind Cards', 'king-addons'), 'description' => esc_html__('When enabled, clicking the next navigation button when on last slide will slide back to the first slide. Clicking the prev navigation button when on first slide will slide forward to the last slide. Should not be used together with loop mode.', 'king-addons'), 'type' => Controls_Manager::SWITCHER ] ); $this->add_control( 'kng_blog_posts_ignore_sticky_posts_switcher', [ 'label' => esc_html__('Ignore sticky posts', 'king-addons'), 'description' => esc_html__('Check the page on live preview to see sticky posts.', 'king-addons'), 'type' => Controls_Manager::SWITCHER, 'default' => 'no' ] ); $this->add_control( 'kng_blog_posts_autoplay_switcher', [ 'label' => esc_html__('Autoplay Carousel Cards', 'king-addons'), 'type' => Controls_Manager::SWITCHER, 'separator' => 'before', ] ); $this->add_control( 'kng_blog_posts_autoplay_delay', [ 'label' => esc_html__('Delay between transitions (ms)', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'min' => 0, 'step' => 10, 'default' => 2000, 'condition' => [ 'kng_blog_posts_autoplay_switcher!' => '', 'kng_blog_posts_autoplay_like_ticker_switcher!' => 'yes', ] ] ); $this->add_control( 'kng_blog_posts_autoplay_disableoninteraction_switcher', [ 'label' => esc_html__('Disable on interaction', 'king-addons'), 'description' => esc_html__('Autoplay will be disabled after user interactions (swipes), it will not be restarted every time after interaction.', 'king-addons'), 'type' => Controls_Manager::SWITCHER, 'condition' => [ 'kng_blog_posts_autoplay_switcher!' => '', ] ] ); $this->add_control( 'kng_blog_posts_autoplay_pausedonmouseenter_switcher', [ 'label' => esc_html__('Pause on mouse enter', 'king-addons'), 'description' => esc_html__('When enabled autoplay will be paused on pointer (mouse) enter over carousel container.', 'king-addons'), 'type' => Controls_Manager::SWITCHER, 'condition' => [ 'kng_blog_posts_autoplay_switcher!' => '', ] ] ); $this->add_control( 'kng_blog_posts_autoplay_reversedirection_switcher', [ 'label' => esc_html__('Reverse Direction', 'king-addons'), 'description' => esc_html__('Enables autoplay in reverse direction.', 'king-addons'), 'type' => Controls_Manager::SWITCHER, 'condition' => [ 'kng_blog_posts_autoplay_switcher!' => '', ] ] ); $this->add_control( 'kng_blog_posts_autoplay_like_ticker_switcher', [ 'label' => esc_html__('Autoplay Like Ticker (marquee effect)', 'king-addons'), 'description' => esc_html__('Autoscrolls cards as on ticker, also known as marquee effect.', 'king-addons'), 'type' => Controls_Manager::SWITCHER, 'condition' => [ 'kng_blog_posts_autoplay_switcher!' => '', ], ] ); $this->add_control( 'kng_blog_posts_autoplay_like_ticker_autoplay_speed', [ 'label' => esc_html__('Autoplay Speed (ms)', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'min' => 0, 'step' => 10, 'default' => 6000, 'condition' => [ 'kng_blog_posts_autoplay_like_ticker_switcher' => 'yes', ] ] ); $this->add_control( 'kng_blog_posts_scrolling_speed', [ 'label' => esc_html__('Scrolling Speed (ms)', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'min' => 0, 'step' => 10, 'default' => 600, 'separator' => 'before', 'condition' => [ 'kng_blog_posts_autoplay_like_ticker_switcher!' => 'yes', ] ] ); $this->end_controls_section(); /** END SECTION: Carousel Settings */ /** SECTION: Disable Card Items */ $this->start_controls_section( 'kng_blog_posts_content_section_disable_card_items', [ 'label' => KING_ADDONS_ELEMENTOR_ICON . esc_html__('Disable Card Items', 'king-addons'), 'tab' => Controls_Manager::TAB_CONTENT, ] ); $this->add_control( 'kng_blog_posts_cards_image_switcher', [ 'label' => esc_html__('Disable image', 'king-addons'), 'type' => Controls_Manager::SWITCHER, 'separator' => 'before', ] ); $this->add_control( 'kng_blog_posts_cards_title_switcher', [ 'label' => esc_html__('Disable Title', 'king-addons'), 'type' => Controls_Manager::SWITCHER, ] ); $this->add_control( 'kng_blog_posts_cards_description_switcher', [ 'label' => esc_html__('Disable Description', 'king-addons'), 'type' => Controls_Manager::SWITCHER, ] ); $this->add_control( 'kng_blog_posts_cards_whole_text_container_switcher', [ 'label' => esc_html__('Disable whole text container', 'king-addons'), 'description' => esc_html__('Text container includes title and description.', 'king-addons'), 'type' => Controls_Manager::SWITCHER, ] ); $this->end_controls_section(); /** END SECTION: Disable Card Items */ /** SECTION: Card Layout */ $this->start_controls_section( 'kng_blog_posts_content_section_card_layout', [ 'label' => KING_ADDONS_ELEMENTOR_ICON . esc_html__('Card Layout', 'king-addons'), 'tab' => Controls_Manager::TAB_CONTENT, ] ); $this->add_control( 'kng_blog_posts_cards_whole_card_title', [ 'label' => '' . esc_html__('Whole Card', 'king-addons') . '', 'type' => Controls_Manager::RAW_HTML, ] ); $this->add_responsive_control( 'kng_blog_posts_cards_whole_card_align_card_full_height', [ 'label' => esc_html__('Make card full height', 'king-addons'), 'type' => Controls_Manager::SELECT, 'default' => '100%', 'options' => [ '100%' => esc_html__('No', 'king-addons'), 'auto' => esc_html__('Yes', 'king-addons'), ], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-card' => 'height: {{VALUE}};' ], ] ); $this->add_responsive_control( 'kng_blog_posts_cards_whole_card_align_card', [ 'label' => esc_html__('Align Whole Card', 'king-addons'), 'type' => Controls_Manager::SELECT, 'options' => [ 'unset' => esc_html__('Default', 'king-addons'), 'start' => esc_html__('Start', 'king-addons'), 'center' => esc_html__('Center', 'king-addons'), 'end' => esc_html__('End', 'king-addons'), ], 'default' => 'unset', 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-card' => 'align-self: {{VALUE}};' ], 'condition' => [ 'kng_blog_posts_cards_whole_card_align_card_full_height' => '100%' ], ] ); $this->add_responsive_control( 'kng_blog_posts_cards_whole_card_align_card_content', [ 'label' => esc_html__('Align Card Content', 'king-addons'), 'type' => Controls_Manager::SELECT, 'options' => [ 'unset' => esc_html__('Default', 'king-addons'), 'start' => esc_html__('Start', 'king-addons'), 'center' => esc_html__('Center', 'king-addons'), 'end' => esc_html__('End', 'king-addons'), ], 'default' => 'start', 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-card .king-addons-blog-posts-card-inner' => 'justify-content: {{VALUE}};' ], 'condition' => [ 'kng_blog_posts_cards_whole_card_align_card_full_height' => 'auto' ], ] ); $this->add_control( 'kng_blog_posts_cards_image_container_title', [ 'label' => '' . esc_html__('Image Container', 'king-addons') . '', 'description' => esc_html__('Image container includes paddings and background color.', 'king-addons'), 'type' => Controls_Manager::RAW_HTML, ] ); $this->add_responsive_control( 'kng_blog_posts_cards_image_container_position', [ 'label' => esc_html__('Position', 'king-addons'), 'type' => Controls_Manager::CHOOSE, 'default' => 'column', 'options' => [ 'row' => [ 'title' => esc_html__('Left', 'king-addons'), 'icon' => 'eicon-h-align-left', ], 'column' => [ 'title' => esc_html__('Top', 'king-addons'), 'icon' => 'eicon-v-align-top', ], 'column-reverse' => [ 'title' => esc_html__('Bottom', 'king-addons'), 'icon' => 'eicon-v-align-bottom', ], 'row-reverse' => [ 'title' => esc_html__('Right', 'king-addons'), 'icon' => 'eicon-h-align-right', ], ], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-card-inner a' => 'flex-flow: {{VALUE}};', ], ] ); $this->add_responsive_control( 'kng_blog_posts_cards_image_container_height_type', [ 'label' => esc_html__('Height', 'king-addons'), 'type' => Controls_Manager::SELECT, 'options' => [ 'auto' => esc_html__('Auto', 'king-addons'), 'custom' => esc_html__('Custom (%)', 'king-addons'), ], 'default' => 'auto', 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-card-container-1, {{WRAPPER}} .king-addons-blog-posts-image' => 'height: {{VALUE}};', ], ] ); $this->add_responsive_control( 'kng_blog_posts_cards_image_container_height', [ 'label' => esc_html__('Custom height (%)', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'min' => 0, 'max' => 100, 'step' => 1, 'default' => 100, 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-card-container-1, {{WRAPPER}} .king-addons-blog-posts-image' => 'height: {{SIZE}}%;' ], 'condition' => [ 'kng_blog_posts_cards_image_container_height_type' => 'custom' ], ] ); $this->add_responsive_control( 'kng_blog_posts_cards_image_container_align_content', [ 'label' => esc_html__('Align Content', 'king-addons'), 'type' => Controls_Manager::SELECT, 'options' => [ 'unset' => esc_html__('Default', 'king-addons'), 'start' => esc_html__('Start', 'king-addons'), 'center' => esc_html__('Center', 'king-addons'), 'end' => esc_html__('End', 'king-addons'), ], 'default' => 'center', 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-card-container-1' => 'justify-content: {{VALUE}}; align-items: {{VALUE}}; align-self: {{VALUE}};', '{{WRAPPER}} .king-addons-blog-posts-image' => 'justify-content: {{VALUE}}; align-items: {{VALUE}}; align-self: {{VALUE}};' ], ] ); $this->add_control( 'kng_blog_posts_cards_text_container_title', [ 'label' => '' . esc_html__('Text Container', 'king-addons') . '' . '
' . esc_html__('Text container includes title and description.', 'king-addons') . '
', 'type' => Controls_Manager::RAW_HTML, 'separator' => 'before', ] ); $this->add_responsive_control( 'kng_blog_posts_cards_text_container_width_type', [ 'label' => esc_html__('Width', 'king-addons'), 'type' => Controls_Manager::SELECT, 'options' => [ 'auto' => esc_html__('Auto', 'king-addons'), 'custom' => esc_html__('Custom (%)', 'king-addons'), ], 'default' => 'custom', ] ); $this->add_responsive_control( 'kng_blog_posts_cards_text_container_width', [ 'label' => esc_html__('Custom width (%)', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'min' => 0, 'step' => 1, 'max' => 100, 'default' => 100, 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-card-container-2' => 'width: {{SIZE}}%;' ], 'condition' => [ 'kng_blog_posts_cards_text_container_width_type' => 'custom' ], ] ); $this->add_responsive_control( 'kng_blog_posts_cards_text_container_align_content', [ 'label' => esc_html__('Align Content', 'king-addons'), 'type' => Controls_Manager::SELECT, 'options' => [ 'unset' => esc_html__('Default', 'king-addons'), 'start' => esc_html__('Start', 'king-addons'), 'center' => esc_html__('Center', 'king-addons'), 'end' => esc_html__('End', 'king-addons'), ], 'default' => 'start', 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-card-container-2' => 'justify-content: {{VALUE}}; align-items: {{VALUE}}; align-self: {{VALUE}};' ], ] ); $this->end_controls_section(); /** END SECTION: Card Layout ===================== */ /** SECTION: Responsive Settings */ $this->start_controls_section( 'kng_blog_posts_content_section_responsive_settings', [ 'label' => KING_ADDONS_ELEMENTOR_ICON . esc_html__('Responsive Settings', 'king-addons'), 'tab' => Controls_Manager::TAB_CONTENT, ] ); $this->add_control( 'kng_blog_posts_desktop_title', [ 'label' => '' . esc_html__('Desktop', 'king-addons') . '', 'type' => Controls_Manager::RAW_HTML, ] ); $this->add_control( 'kng_blog_posts_desktop_cards_per_view', [ 'label' => esc_html__('Cards per view', 'king-addons'), 'description' => esc_html__('The number of slides per view can be a fractional number like 4.5, 5.25, 6.45, etc., to indicate that further slides exist.', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'min' => 1, 'step' => 0.1, 'default' => 4.0, ] ); $this->add_control( 'kng_blog_posts_desktop_space_between_cards', [ 'label' => esc_html__('Space between cards (px)', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'min' => 0, 'step' => 1, 'default' => 30, 'separator' => 'after', ] ); $this->add_control( 'kng_blog_posts_tablet_title', [ 'label' => '' . esc_html__('Tablet', 'king-addons') . '', 'type' => Controls_Manager::RAW_HTML, ] ); $this->add_control( 'kng_blog_posts_tablet_cards_per_view', [ 'label' => esc_html__('Cards per view', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'min' => 1, 'step' => 0.1, 'default' => 3.0, ] ); $this->add_control( 'kng_blog_posts_tablet_space_between_cards', [ 'label' => esc_html__('Space between cards (px)', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'min' => 0, 'step' => 1, 'default' => 30, 'separator' => 'after', ] ); $this->add_control( 'kng_blog_posts_tablet_breakpoint', [ 'label' => esc_html__('Breakpoint (px)', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'min' => 1, 'step' => 1, 'default' => 1024, ] ); $this->add_control( 'kng_blog_posts_mobile_title', [ 'label' => '' . esc_html__('Mobile', 'king-addons') . '', 'type' => Controls_Manager::RAW_HTML, ] ); $this->add_control( 'kng_blog_posts_mobile_cards_per_view', [ 'label' => esc_html__('Cards per view', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'min' => 1, 'step' => 0.1, 'default' => 1.0, ] ); $this->add_control( 'kng_blog_posts_mobile_space_between_cards', [ 'label' => esc_html__('Space between cards (px)', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'min' => 0, 'step' => 1, 'default' => 30, ] ); $this->add_control( 'kng_blog_posts_mobile_breakpoint', [ 'label' => esc_html__('Breakpoint (px)', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'min' => 1, 'step' => 1, 'default' => 767, ] ); $this->end_controls_section(); /** END SECTION: Responsive Settings */ /** START SECTION: Navigation */ $this->start_controls_section( 'kng_blog_posts_content_section_nav', [ 'label' => KING_ADDONS_ELEMENTOR_ICON . esc_html__('Navigation', 'king-addons'), 'tab' => Controls_Manager::TAB_CONTENT, ] ); $this->add_control( 'kng_blog_posts_nav_switcher', [ 'label' => esc_html__('Enable navigation', 'king-addons'), 'type' => Controls_Manager::SWITCHER, 'default' => 'yes', ] ); $this->add_responsive_control( 'kng_blog_posts_nav_display', [ 'label' => esc_html__('Display on different screen sizes', 'king-addons'), 'type' => Controls_Manager::SELECT, 'options' => [ 'flex' => esc_html__('Show', 'king-addons'), 'none' => esc_html__('Hide', 'king-addons'), ], 'desktop_default' => 'flex', 'tablet_default' => 'none', 'mobile_default' => 'none', 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-nav' => 'display: {{VALUE}};' ], 'condition' => [ 'kng_blog_posts_nav_switcher' => 'yes' ] ] ); $this->end_controls_section(); /** END SECTION: Navigation */ /** START SECTION: Pagination */ $this->start_controls_section( 'kng_blog_posts_content_section_pag', [ 'label' => KING_ADDONS_ELEMENTOR_ICON . esc_html__('Pagination', 'king-addons'), 'tab' => Controls_Manager::TAB_CONTENT, ] ); $this->add_control( 'kng_blog_posts_pag_switcher', [ 'label' => esc_html__('Enable pagination', 'king-addons'), 'type' => Controls_Manager::SWITCHER, 'default' => 'yes', ] ); $this->add_control( 'kng_blog_posts_pag_type', [ 'label' => esc_html__('Type', 'king-addons'), 'type' => Controls_Manager::SELECT, 'options' => [ 'bullets' => esc_html__('Bullets', 'king-addons'), 'progressbar' => esc_html__('Progress Bar', 'king-addons'), 'fraction' => esc_html__('Fraction', 'king-addons'), ], 'default' => 'bullets', 'condition' => [ 'kng_blog_posts_pag_switcher' => 'yes' ] ] ); // position top / bottom $this->add_responsive_control( 'kng_blog_posts_pag_progressbar_position', [ 'label' => esc_html__('Progress bar position', 'king-addons'), 'description' => esc_html__('Check margin settings to properly set the position of the progress bar.', 'king-addons'), 'type' => Controls_Manager::SELECT, 'options' => [ '0' => esc_html__('Top', 'king-addons'), 'unset' => esc_html__('Bottom', 'king-addons'), ], 'default' => 'unset', 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-pagination' => 'top: {{VALUE}}; bottom: 0;' ], 'condition' => [ 'kng_blog_posts_pag_type' => 'progressbar', ] ] ); $this->add_control( 'kng_blog_posts_pag_clickable_switcher', [ 'label' => esc_html__('Clickable Bullets', 'king-addons'), 'type' => Controls_Manager::SWITCHER, 'default' => 'yes', 'condition' => [ 'kng_blog_posts_pag_type' => 'bullets', ] ] ); $this->add_control( 'kng_blog_posts_pag_dynamic_switcher', [ 'label' => esc_html__('Dynamic Bullets', 'king-addons'), 'description' => esc_html__('Good to enable if you use bullets pagination with a lot of cards. So it will keep only few bullets visible at the same time.', 'king-addons'), 'type' => Controls_Manager::SWITCHER, 'default' => '', 'condition' => [ 'kng_blog_posts_pag_type' => 'bullets', ] ] ); $this->add_control( 'kng_blog_posts_pag_dynamic_number', [ 'label' => esc_html__('Number of Dynamic Bullets', 'king-addons'), 'description' => esc_html__('The number of main bullets visible when Dynamic Bullets enabled.', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'min' => 1, 'step' => 1, 'default' => 1, 'condition' => [ 'kng_blog_posts_pag_dynamic_switcher' => 'yes', 'kng_blog_posts_pag_type' => 'bullets', ] ] ); $this->add_responsive_control( 'kng_blog_posts_pag_display', [ 'label' => esc_html__('Display on different screen sizes', 'king-addons'), 'type' => Controls_Manager::SELECT, 'options' => [ 'block' => esc_html__('Show', 'king-addons'), 'none' => esc_html__('Hide', 'king-addons'), ], 'desktop_default' => 'block', 'tablet_default' => 'block', 'mobile_default' => 'block', 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-pagination' => 'display: {{VALUE}};' ], 'condition' => [ 'kng_blog_posts_pag_switcher' => 'yes' ] ] ); $this->end_controls_section(); /** END SECTION: Pagination */ /** END TAB: CONTENT ===================== */ /** START TAB: STYLE ===================== */ $this->start_controls_section( 'kng_blog_posts_style_section_image', [ 'label' => KING_ADDONS_ELEMENTOR_ICON . esc_html__('Image', 'king-addons'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'kng_blog_posts_image_size', [ 'label' => esc_html__('Image Resolution', 'king-addons'), 'type' => Controls_Manager::SELECT, 'options' => [ 'thumbnail' => esc_html__('Thumbnail', 'king-addons'), 'medium' => esc_html__('Medium', 'king-addons'), 'large' => esc_html__('Large', 'king-addons'), 'full' => esc_html__('Full', 'king-addons'), ], 'default' => 'large', ] ); $this->add_responsive_control( 'kng_blog_posts_image_height_type', [ 'label' => esc_html__('Height', 'king-addons'), 'type' => Controls_Manager::SELECT, 'options' => [ 'auto' => esc_html__('Auto', 'king-addons'), 'custom-px' => esc_html__('Custom (px)', 'king-addons'), 'custom-pct' => esc_html__('Custom (%)', 'king-addons'), ], 'default' => 'custom-px', ] ); $this->add_responsive_control( 'kng_blog_posts_image_width_type', [ 'label' => esc_html__('Width', 'king-addons'), 'type' => Controls_Manager::SELECT, 'options' => [ 'auto' => esc_html__('Auto', 'king-addons'), 'custom-pct' => esc_html__('Width (%)', 'king-addons'), 'custom-px' => esc_html__('Maximum Width (px)', 'king-addons'), ], 'default' => 'auto', ] ); $this->add_responsive_control( 'kng_blog_posts_image_width_pct', [ 'label' => esc_html__('Width (%)', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'min' => 0, 'max' => 100, 'step' => 1, 'default' => 100, 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-image img' => 'width: {{SIZE}}%;' ], 'condition' => [ 'kng_blog_posts_image_width_type' => 'custom-pct' ] ] ); $this->add_responsive_control( 'kng_blog_posts_image_width_px', [ 'label' => esc_html__('Maximum Width (px)', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'min' => 0, 'step' => 1, 'default' => 200, 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-image img' => 'max-width: {{SIZE}}px;' ], 'condition' => [ 'kng_blog_posts_image_width_type' => 'custom-px' ] ] ); $this->add_responsive_control( 'kng_blog_posts_image_height_px', [ 'label' => esc_html__('Height (px)', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'min' => 0, 'step' => 1, 'default' => 200, 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-image img' => 'height: {{SIZE}}px;' ], 'condition' => [ 'kng_blog_posts_image_height_type' => 'custom-px' ] ] ); $this->add_responsive_control( 'kng_blog_posts_image_height_pct', [ 'label' => esc_html__('Height (%)', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'min' => 0, 'step' => 1, 'default' => 100, 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-image img' => 'height: {{SIZE}}%;' ], 'condition' => [ 'kng_blog_posts_image_height_type' => 'custom-pct' ] ] ); $this->add_responsive_control( 'kng_blog_posts_image_fit', [ 'label' => esc_html__('Image Fit', 'king-addons'), 'type' => Controls_Manager::SELECT, 'options' => [ 'cover' => esc_html__('Cover', 'king-addons'), 'contain' => esc_html__('Contain', 'king-addons'), ], 'default' => 'cover', 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-image img' => 'object-fit: {{VALUE}};', ], ] ); $this->add_responsive_control( 'kng_blog_posts_image_fit_position', [ 'label' => esc_html__('Image Fit Position', 'king-addons'), 'type' => Controls_Manager::SELECT, 'options' => [ 'top' => esc_html__('Top', 'king-addons'), 'bottom' => esc_html__('Bottom', 'king-addons'), 'left' => esc_html__('Left', 'king-addons'), 'right' => esc_html__('Right', 'king-addons'), 'center' => esc_html__('Center', 'king-addons'), ], 'default' => 'center', 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-image img' => 'object-position: {{VALUE}};', ], 'condition' => [ 'kng_blog_posts_image_fit' => 'cover' ] ] ); $this->add_control( 'kng_blog_posts_image_bg_color', [ 'label' => esc_html__('Background Color', 'king-addons'), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-image' => 'background-color: {{VALUE}}', ], 'separator' => 'before', ] ); $this->add_group_control( Group_Control_Css_Filter::get_type(), [ 'label' => esc_html__('CSS Filter', 'king-addons'), 'name' => 'kng_blog_posts_image_css_filters', 'selector' => '{{WRAPPER}} .king-addons-blog-posts-image img', ] ); $this->add_group_control( Group_Control_Css_Filter::get_type(), [ 'label' => esc_html__('CSS Filter for image on card hover', 'king-addons'), 'name' => 'kng_blog_posts_image_css_filters_hover', 'selector' => '{{WRAPPER}} .king-addons-blog-posts-card:hover .king-addons-blog-posts-image img', ] ); $this->add_responsive_control( 'kng_blog_posts_image_transition', [ 'label' => esc_html__('Transition duration on hover (ms)', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'min' => 0, 'step' => 10, 'default' => 300, 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-image img' => 'transition: all {{SIZE}}ms;' ], ] ); $this->add_control( 'kng_blog_posts_image_scale_switcher', [ 'label' => esc_html__('Scale image on card hover', 'king-addons'), 'type' => Controls_Manager::SWITCHER, ] ); $this->add_responsive_control( 'kng_blog_posts_image_scale_hover', [ 'label' => esc_html__('Scale on hover', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'min' => 0, 'step' => 0.01, 'default' => 1.3, 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-card:hover .king-addons-blog-posts-image img' => 'transform: scale({{SIZE}});' ], 'condition' => [ 'kng_blog_posts_image_scale_switcher' => 'yes', ] ] ); $this->add_responsive_control( 'kng_blog_posts_image_padding', [ 'label' => esc_html__('Padding', 'king-addons'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'default' => [ 'top' => 0, 'right' => 0, 'bottom' => 0, 'left' => 0, 'unit' => 'px', ], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-image' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ] ] ); $this->add_responsive_control( 'kng_blog_posts_image_margin', [ 'label' => esc_html__('Margin', 'king-addons'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'default' => [ 'top' => 0, 'right' => 0, 'bottom' => 0, 'left' => 0, 'unit' => 'px', ], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-image' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ] ] ); $this->add_group_control( Group_Control_Box_Shadow::get_type(), [ 'name' => 'kng_blog_posts_image_box_shadow', 'selector' => '{{WRAPPER}} .king-addons-blog-posts-image', ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'kng_blog_posts_image_border', 'selector' => '{{WRAPPER}} .king-addons-blog-posts-image', 'fields_options' => [ 'border' => [ 'default' => 'none', ], ], ] ); $this->add_responsive_control( 'kng_blog_posts_image_border_radius', [ 'label' => esc_html__('Border Radius', 'king-addons'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'default' => [ 'top' => 0, 'right' => 0, 'bottom' => 0, 'left' => 0, 'unit' => 'px', ], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-image' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ] ] ); $this->end_controls_section(); $this->start_controls_section( 'kng_blog_posts_style_section_title', [ 'label' => KING_ADDONS_ELEMENTOR_ICON . esc_html__('Title', 'king-addons'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'kng_blog_posts_title_typography', 'selector' => '{{WRAPPER}} .king-addons-blog-posts-title', ] ); $this->add_control( 'kng_blog_posts_title_txt_color', [ 'label' => esc_html__('Text Color', 'king-addons'), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-title' => 'color: {{VALUE}}' ], ] ); $this->add_control( 'kng_blog_posts_title_txt_color_hover', [ 'label' => esc_html__('Text Color on hover', 'king-addons'), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-title:hover' => 'color: {{VALUE}}' ], ] ); $this->add_responsive_control( 'kng_blog_posts_title_txt_color_transition', [ 'label' => esc_html__('Transition duration on hover (ms)', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'min' => 0, 'step' => 10, 'default' => 300, 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-title' => 'transition: color {{SIZE}}ms;' ], ] ); $this->add_control( 'kng_blog_posts_title_bg_color', [ 'label' => esc_html__('Background Color', 'king-addons'), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-title' => 'background-color: {{VALUE}}', ], ] ); $this->add_control( 'kng_blog_posts_title_txt_align', [ 'label' => esc_html__('Text Align', 'king-addons'), 'type' => Controls_Manager::CHOOSE, 'default' => 'center', 'options' => [ 'left' => [ 'title' => esc_html__('Left', 'king-addons'), 'icon' => 'eicon-h-align-left', ], 'center' => [ 'title' => esc_html__('Center', 'king-addons'), 'icon' => 'eicon-h-align-center', ], 'right' => [ 'title' => esc_html__('Right', 'king-addons'), 'icon' => 'eicon-h-align-right', ], ], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-title' => 'text-align: {{VALUE}};', ] ] ); $this->add_responsive_control( 'kng_blog_posts_title_padding', [ 'label' => esc_html__('Padding', 'king-addons'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'default' => [ 'top' => 10, 'right' => 10, 'bottom' => 10, 'left' => 10, 'unit' => 'px', ], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-title' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ] ] ); $this->add_responsive_control( 'kng_blog_posts_title_margin', [ 'label' => esc_html__('Margin', 'king-addons'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'default' => [ 'top' => 0, 'right' => 0, 'bottom' => 0, 'left' => 0, 'unit' => 'px', ], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-title' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ] ] ); $this->add_group_control( Group_Control_Box_Shadow::get_type(), [ 'name' => 'kng_blog_posts_title_box_shadow', 'selector' => '{{WRAPPER}} .king-addons-blog-posts-title', ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'kng_blog_posts_title_border', 'selector' => '{{WRAPPER}} .king-addons-blog-posts-title', 'fields_options' => [ 'border' => [ 'default' => 'none', ], ], ] ); $this->add_responsive_control( 'kng_blog_posts_title_border_radius', [ 'label' => esc_html__('Border Radius', 'king-addons'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'default' => [ 'top' => 0, 'right' => 0, 'bottom' => 0, 'left' => 0, 'unit' => 'px', ], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-title' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ] ] ); $this->end_controls_section(); $this->start_controls_section( 'kng_blog_posts_style_section_description', [ 'label' => KING_ADDONS_ELEMENTOR_ICON . esc_html__('Description', 'king-addons'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'kng_blog_posts_description_typography', 'selector' => '{{WRAPPER}} .king-addons-blog-posts-description, {{WRAPPER}} .king-addons-blog-posts-description:hover', ] ); $this->add_control( 'kng_blog_posts_description_txt_color', [ 'label' => esc_html__('Text Color', 'king-addons'), 'type' => Controls_Manager::COLOR, 'default' => '#000000', 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-description, {{WRAPPER}} .king-addons-blog-posts-description:hover' => 'color: {{VALUE}}' ], ] ); $this->add_control( 'kng_blog_posts_description_bg_color', [ 'label' => esc_html__('Background Color', 'king-addons'), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-description, {{WRAPPER}} .king-addons-blog-posts-description:hover' => 'background-color: {{VALUE}}', ], ] ); $this->add_control( 'kng_blog_posts_description_txt_align', [ 'label' => esc_html__('Text Align', 'king-addons'), 'type' => Controls_Manager::CHOOSE, 'default' => 'center', 'options' => [ 'left' => [ 'title' => esc_html__('Left', 'king-addons'), 'icon' => 'eicon-h-align-left', ], 'center' => [ 'title' => esc_html__('Center', 'king-addons'), 'icon' => 'eicon-h-align-center', ], 'right' => [ 'title' => esc_html__('Right', 'king-addons'), 'icon' => 'eicon-h-align-right', ], ], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-description, {{WRAPPER}} .king-addons-blog-posts-description:hover' => 'text-align: {{VALUE}};', ] ] ); $this->add_responsive_control( 'kng_blog_posts_description_padding', [ 'label' => esc_html__('Padding', 'king-addons'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'default' => [ 'top' => 10, 'right' => 10, 'bottom' => 10, 'left' => 10, 'unit' => 'px', ], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-description, {{WRAPPER}} .king-addons-blog-posts-description:hover' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ] ] ); $this->add_responsive_control( 'kng_blog_posts_description_margin', [ 'label' => esc_html__('Margin', 'king-addons'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'default' => [ 'top' => 0, 'right' => 0, 'bottom' => 0, 'left' => 0, 'unit' => 'px', ], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-description, {{WRAPPER}} .king-addons-blog-posts-description:hover' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ] ] ); $this->add_group_control( Group_Control_Box_Shadow::get_type(), [ 'name' => 'kng_blog_posts_description_box_shadow', 'selector' => '{{WRAPPER}} .king-addons-blog-posts-description, {{WRAPPER}} .king-addons-blog-posts-description:hover', ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'kng_blog_posts_description_border', 'selector' => '{{WRAPPER}} .king-addons-blog-posts-description, {{WRAPPER}} .king-addons-blog-posts-description:hover', 'fields_options' => [ 'border' => [ 'default' => 'none', ], ], ] ); $this->add_responsive_control( 'kng_blog_posts_description_border_radius', [ 'label' => esc_html__('Border Radius', 'king-addons'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'default' => [ 'top' => 0, 'right' => 0, 'bottom' => 0, 'left' => 0, 'unit' => 'px', ], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-description, {{WRAPPER}} .king-addons-blog-posts-description:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ] ] ); $this->end_controls_section(); /** START SECTION: Navigation */ $this->start_controls_section( 'kng_blog_posts_style_section_nav', [ 'label' => KING_ADDONS_ELEMENTOR_ICON . esc_html__('Navigation', 'king-addons'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'kng_blog_posts_nav_icon_prev_title', [ 'label' => KING_ADDONS_ELEMENTOR_ICON . esc_html__('Previous button', 'king-addons'), 'type' => Controls_Manager::HEADING, ] ); $this->add_control( 'kng_blog_posts_nav_icon_prev', [ 'label' => esc_html__('Icon', 'king-addons'), 'type' => Controls_Manager::ICONS, 'skin' => 'inline', 'label_block' => false, 'default' => [ 'value' => 'fas fa-chevron-left', 'library' => 'fa-solid', ], ] ); $this->add_responsive_control( 'kng_blog_posts_nav_margin_prev', [ 'label' => esc_html__('Margin', 'king-addons'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px'], 'default' => [ 'top' => 0, 'right' => 0, 'bottom' => 0, 'left' => 0, 'unit' => 'px', 'isLinked' => false ], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-nav-prev .king-addons-blog-posts-nav-inner' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ] ] ); $this->add_responsive_control( 'kng_blog_posts_nav_prev_transform_scale', [ 'label' => esc_html__('Scale on hover (%)', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'step' => 0.1, 'min' => 0, 'default' => 1.3, 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-nav-prev:hover .king-addons-blog-posts-nav-inner' => 'transform: scale({{VALUE}});', ], ] ); $this->add_responsive_control( 'kng_blog_posts_nav_position_v_prev', [ 'type' => Controls_Manager::SLIDER, 'label' => esc_html__('Vertical position (%)', 'king-addons'), 'size_units' => ['%'], 'range' => [ '%' => [ 'min' => 0, 'max' => 100, ], ], 'default' => [ 'unit' => '%', 'size' => 50, ], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-nav-prev' => 'top: {{SIZE}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'kng_blog_posts_nav_position_h_prev', [ 'type' => Controls_Manager::SLIDER, 'label' => esc_html__('Horizontal position (%)', 'king-addons'), 'size_units' => ['%'], 'range' => [ '%' => [ 'min' => 0, 'max' => 100, ], ], 'default' => [ 'unit' => '%', 'size' => 0, ], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-nav-prev' => 'left: {{SIZE}}{{UNIT}};', ], ] ); $this->add_control( 'kng_blog_posts_nav_icon_next_title', [ 'label' => KING_ADDONS_ELEMENTOR_ICON . esc_html__('Next button', 'king-addons'), 'type' => Controls_Manager::HEADING, 'separator' => 'before', ] ); $this->add_control( 'kng_blog_posts_nav_icon_next', [ 'label' => esc_html__('Icon', 'king-addons'), 'type' => Controls_Manager::ICONS, 'skin' => 'inline', 'label_block' => false, 'default' => [ 'value' => 'fas fa-chevron-right', 'library' => 'fa-solid', ], ] ); $this->add_responsive_control( 'kng_blog_posts_nav_margin_next', [ 'label' => esc_html__('Margin', 'king-addons'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px'], 'default' => [ 'top' => 0, 'right' => 0, 'bottom' => 0, 'left' => 0, 'unit' => 'px', 'isLinked' => false ], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-nav-next .king-addons-blog-posts-nav-inner' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ] ] ); $this->add_responsive_control( 'kng_blog_posts_nav_next_transform_scale', [ 'label' => esc_html__('Scale on hover (%)', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'step' => 0.1, 'min' => 0, 'default' => 1.3, 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-nav-next:hover .king-addons-blog-posts-nav-inner' => 'transform: scale({{VALUE}});', ], ] ); $this->add_responsive_control( 'kng_blog_posts_nav_position_v_next', [ 'type' => Controls_Manager::SLIDER, 'label' => esc_html__('Vertical position (%)', 'king-addons'), 'size_units' => ['%'], 'range' => [ '%' => [ 'min' => 0, 'max' => 100, ], ], 'default' => [ 'unit' => '%', 'size' => 50, ], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-nav-next' => 'top: {{SIZE}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'kng_blog_posts_nav_position_h_next', [ 'type' => Controls_Manager::SLIDER, 'label' => esc_html__('Horizontal position (%)', 'king-addons'), 'size_units' => ['%'], 'range' => [ '%' => [ 'min' => 0, 'max' => 100, ], ], 'default' => [ 'unit' => '%', 'size' => 100, ], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-nav-next' => 'right: calc(100% - {{SIZE}}{{UNIT}});', ], ] ); // common $this->add_control( 'kng_blog_posts_nav_icon_common_title', [ 'label' => KING_ADDONS_ELEMENTOR_ICON . esc_html__('Common settings', 'king-addons'), 'type' => Controls_Manager::HEADING, 'separator' => 'before', ] ); $this->add_responsive_control( 'kng_blog_posts_nav_icon_size', [ 'label' => esc_html__('Icon Size', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'step' => 1, 'min' => 0, 'default' => 32, 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-nav i' => 'font-size: {{VALUE}}px; width: {{VALUE}}px;', '{{WRAPPER}} .king-addons-blog-posts-nav img' => 'width: {{VALUE}}px; height: {{VALUE}}px;', '{{WRAPPER}} .king-addons-blog-posts-nav svg' => 'width: {{VALUE}}px; height: {{VALUE}}px;' ], ] ); $this->add_responsive_control( 'kng_blog_posts_nav_transition_icon', [ 'label' => esc_html__('Transition duration for icon on hover (ms)', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'min' => 0, 'step' => 10, 'default' => 300, 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-nav i' => 'transition: all {{SIZE}}ms;', '{{WRAPPER}} .king-addons-blog-posts-nav img' => 'transition: all {{SIZE}}ms;', '{{WRAPPER}} .king-addons-blog-posts-nav svg' => 'transition: all {{SIZE}}ms;', '{{WRAPPER}} .king-addons-blog-posts-nav .king-addons-blog-posts-nav-inner' => 'transition: all {{SIZE}}ms;', ], ] ); $this->add_responsive_control( 'kng_blog_posts_nav_padding', [ 'label' => esc_html__('Padding', 'king-addons'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'default' => [ 'top' => 10, 'right' => 10, 'bottom' => 10, 'left' => 10, 'unit' => 'px', ], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-nav-inner' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ] ] ); $this->start_controls_tabs('kng_blog_posts_nav_tabs'); $this->start_controls_tab( 'kng_blog_posts_nav_tab_normal', [ 'label' => esc_html__('Normal', 'king-addons'), ] ); $this->add_control( 'kng_blog_posts_nav_color', [ 'label' => esc_html__('Color', 'king-addons'), 'type' => Controls_Manager::COLOR, 'default' => '#00000033', 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-nav i' => 'color: {{VALUE}};', '{{WRAPPER}} .king-addons-blog-posts-nav svg' => 'fill: {{VALUE}};' ], ] ); $this->add_control( 'kng_blog_posts_nav_bg_color', [ 'label' => esc_html__('Background Color', 'king-addons'), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-nav-inner' => 'background-color: {{VALUE}}', ], ] ); $this->add_group_control( Group_Control_Box_Shadow::get_type(), [ 'name' => 'kng_blog_posts_nav_box_shadow', 'selector' => '{{WRAPPER}} .king-addons-blog-posts-nav-inner', ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'kng_blog_posts_nav_border', 'selector' => '{{WRAPPER}} .king-addons-blog-posts-nav-inner', 'fields_options' => [ 'border' => [ 'default' => 'none', ], ], ] ); $this->add_responsive_control( 'kng_blog_posts_nav_border_radius', [ 'label' => esc_html__('Border Radius', 'king-addons'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'default' => [ 'top' => 100, 'right' => 100, 'bottom' => 100, 'left' => 100, 'unit' => '%', ], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-nav-inner' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ] ] ); $this->end_controls_tab(); $this->start_controls_tab( 'kng_blog_posts_nav_tab_hover', [ 'label' => esc_html__('Hover', 'king-addons'), ] ); $this->add_control( 'kng_blog_posts_nav_color_hover', [ 'label' => esc_html__('Color', 'king-addons'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-nav i:hover' => 'color: {{VALUE}};', '{{WRAPPER}} .king-addons-blog-posts-nav svg:hover' => 'fill: {{VALUE}};' ], ] ); $this->add_control( 'kng_blog_posts_nav_bg_color_hover', [ 'label' => esc_html__('Background Color', 'king-addons'), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-nav-inner:hover' => 'background-color: {{VALUE}}', ], ] ); $this->add_group_control( Group_Control_Box_Shadow::get_type(), [ 'name' => 'kng_blog_posts_nav_box_shadow_hover', 'selector' => '{{WRAPPER}} .king-addons-blog-posts-nav-inner:hover', ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'kng_blog_posts_nav_border_hover', 'selector' => '{{WRAPPER}} .king-addons-blog-posts-nav-inner:hover', ] ); $this->add_responsive_control( 'kng_blog_posts_nav_border_radius_hover', [ 'label' => esc_html__('Border Radius', 'king-addons'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-nav-inner:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ] ] ); $this->end_controls_tab(); $this->end_controls_tabs(); $this->end_controls_section(); /** END SECTION: Navigation */ /** SECTION: Pagination */ $this->start_controls_section( 'kng_blog_posts_style_section_pag', [ 'label' => KING_ADDONS_ELEMENTOR_ICON . esc_html__('Pagination', 'king-addons'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'kng_blog_posts_pag_color', [ 'label' => esc_html__('Color', 'king-addons'), 'type' => Controls_Manager::COLOR, 'default' => '#000000', 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-pagination' => '--swiper-theme-color: {{VALUE}}; --swiper-pagination-fraction-color: {{VALUE}};', ], ] ); $this->add_control( 'kng_blog_posts_pag_color_second', [ 'label' => esc_html__('Second Color', 'king-addons'), 'type' => Controls_Manager::COLOR, 'default' => '#00000033', 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-pagination' => '--swiper-pagination-progressbar-bg-color: {{VALUE}}; --swiper-pagination-bullet-inactive-color: {{VALUE}}; --swiper-pagination-bullet-inactive-opacity: 1;', ], ] ); $this->add_control( 'kng_blog_posts_pag_bullets_title', [ 'label' => KING_ADDONS_ELEMENTOR_ICON . esc_html__('Bullets type', 'king-addons'), 'type' => Controls_Manager::HEADING, 'separator' => 'before', ] ); $this->add_responsive_control( 'kng_blog_posts_pag_bullets_size', [ 'label' => esc_html__('Size', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'min' => 0, 'step' => 1, 'default' => 8, 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-pagination' => '--swiper-pagination-bullet-size: {{SIZE}}px;' ], ] ); $this->add_responsive_control( 'kng_blog_posts_pag_bullets_gap', [ 'label' => esc_html__('Bullets gap', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'min' => 0, 'step' => 1, 'default' => 4, 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-pagination' => '--swiper-pagination-bullet-horizontal-gap: {{SIZE}}px;' ], ] ); $this->add_control( 'kng_blog_posts_pag_progressbar_title', [ 'label' => KING_ADDONS_ELEMENTOR_ICON . esc_html__('Progress bar type', 'king-addons'), 'type' => Controls_Manager::HEADING, 'separator' => 'before', ] ); $this->add_responsive_control( 'kng_blog_posts_pag_progressbar_size', [ 'label' => esc_html__('Size', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'min' => 0, 'step' => 1, 'default' => 4, 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-pagination' => '--swiper-pagination-progressbar-size: {{SIZE}}px;' ], ] ); $this->add_control( 'kng_blog_posts_pag_fraction_title', [ 'label' => KING_ADDONS_ELEMENTOR_ICON . esc_html__('Fraction type', 'king-addons'), 'type' => Controls_Manager::HEADING, 'separator' => 'before', ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'kng_blog_posts_pag_fraction_typography', 'selector' => '{{WRAPPER}} .king-addons-blog-posts-pagination.swiper-pagination-fraction', ] ); $this->end_controls_section(); /** END SECTION: Pagination */ /** SECTION: Whole Carousel */ $this->start_controls_section( 'kng_blog_posts_style_section_whole_carousel', [ 'label' => KING_ADDONS_ELEMENTOR_ICON . esc_html__('Whole Carousel', 'king-addons'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_group_control( Group_Control_Background::get_type(), [ 'name' => 'kng_blog_posts_whole_carousel_bg', 'selector' => '{{WRAPPER}} .king-addons-blog-posts-items' ] ); $this->add_responsive_control( 'kng_blog_posts_whole_carousel_margin', [ 'label' => esc_html__('Whole carousel margin', 'king-addons'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'default' => [ 'top' => 0, 'right' => 42, 'bottom' => 10, 'left' => 42, 'unit' => 'px', ], 'tablet_default' => [ 'top' => 0, 'right' => 0, 'bottom' => 0, 'left' => 0, 'unit' => 'px', ], 'mobile_default' => [ 'top' => 0, 'right' => 0, 'bottom' => 0, 'left' => 0, 'unit' => 'px', ], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-items' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ] ] ); $this->add_responsive_control( 'kng_blog_posts_whole_carousel_margin_wrapper', [ 'label' => esc_html__('Cards wrapper margin', 'king-addons'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'default' => [ 'top' => 10, 'right' => 0, 'bottom' => 42, 'left' => 0, 'unit' => 'px', ], 'tablet_default' => [ 'top' => 10, 'right' => 0, 'bottom' => 42, 'left' => 0, 'unit' => 'px', ], 'mobile_default' => [ 'top' => 10, 'right' => 0, 'bottom' => 42, 'left' => 0, 'unit' => 'px', ], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-items .swiper-wrapper' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ] ] ); $this->add_responsive_control( 'kng_blog_posts_whole_carousel_padding', [ 'label' => esc_html__('Padding', 'king-addons'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'default' => [ 'top' => 0, 'right' => 0, 'bottom' => 0, 'left' => 0, 'unit' => 'px', ], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-items' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ] ] ); $this->add_group_control( Group_Control_Box_Shadow::get_type(), [ 'name' => 'kng_blog_posts_whole_carousel_box_shadow', 'selector' => '{{WRAPPER}} .king-addons-blog-posts-items', ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'kng_blog_posts_whole_carousel_border', 'selector' => '{{WRAPPER}} .king-addons-blog-posts-items', 'fields_options' => [ 'border' => [ 'default' => 'none', ], ], ] ); $this->add_responsive_control( 'kng_blog_posts_whole_carousel_border_radius', [ 'label' => esc_html__('Border Radius', 'king-addons'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'default' => [ 'top' => 0, 'right' => 0, 'bottom' => 0, 'left' => 0, 'unit' => 'px', ], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-items' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ] ] ); $this->end_controls_section(); /** END SECTION: Whole Carousel */ $this->start_controls_section( 'kng_blog_posts_style_section_whole_card', [ 'label' => KING_ADDONS_ELEMENTOR_ICON . esc_html__('Whole Card', 'king-addons'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_responsive_control( 'kng_blog_posts_whole_card_transition', [ 'label' => esc_html__('Transition duration on card hover (ms)', 'king-addons'), 'type' => Controls_Manager::NUMBER, 'min' => 0, 'step' => 10, 'default' => 300, 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-card-inner' => 'transition: all {{SIZE}}ms;' ], ] ); $this->start_controls_tabs('kng_blog_posts_whole_card_tabs'); $this->start_controls_tab( 'kng_blog_posts_whole_card_tab_normal', [ 'label' => esc_html__('Normal', 'king-addons'), ] ); $this->add_group_control( Group_Control_Background::get_type(), [ 'name' => 'kng_blog_posts_whole_card_bg', 'selector' => '{{WRAPPER}} .king-addons-blog-posts-card-inner' ] ); $this->add_responsive_control( 'kng_blog_posts_whole_card_padding', [ 'label' => esc_html__('Padding', 'king-addons'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'default' => [ 'top' => 0, 'right' => 0, 'bottom' => 0, 'left' => 0, 'unit' => 'px', ], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-card-inner' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ] ] ); $this->add_group_control( Group_Control_Box_Shadow::get_type(), [ 'name' => 'kng_blog_posts_whole_card_box_shadow', 'selector' => '{{WRAPPER}} .king-addons-blog-posts-card-inner', ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'kng_blog_posts_whole_card_border', 'selector' => '{{WRAPPER}} .king-addons-blog-posts-card-inner', 'fields_options' => [ 'border' => [ 'default' => 'none', ], ], ] ); $this->add_responsive_control( 'kng_blog_posts_whole_card_border_radius', [ 'label' => esc_html__('Border Radius', 'king-addons'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'default' => [ 'top' => 0, 'right' => 0, 'bottom' => 0, 'left' => 0, 'unit' => 'px', ], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-card-inner' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ] ] ); $this->end_controls_tab(); $this->start_controls_tab( 'kng_blog_posts_whole_card_tab_hover', [ 'label' => esc_html__('Hover', 'king-addons'), ] ); $this->add_group_control( Group_Control_Background::get_type(), [ 'name' => 'kng_blog_posts_whole_card_bg_hover', 'selector' => '{{WRAPPER}} .king-addons-blog-posts-card-inner:hover' ] ); $this->add_responsive_control( 'kng_blog_posts_whole_card_padding_hover', [ 'label' => esc_html__('Padding', 'king-addons'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-card-inner:hover' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ] ] ); $this->add_group_control( Group_Control_Box_Shadow::get_type(), [ 'name' => 'kng_blog_posts_whole_card_box_shadow_hover', 'selector' => '{{WRAPPER}} .king-addons-blog-posts-card-inner:hover', ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'kng_blog_posts_whole_card_border_hover', 'selector' => '{{WRAPPER}} .king-addons-blog-posts-card-inner:hover', ] ); $this->add_responsive_control( 'kng_blog_posts_whole_card_border_radius_hover', [ 'label' => esc_html__('Border Radius', 'king-addons'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-card-inner:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ] ] ); $this->end_controls_tab(); $this->end_controls_tabs(); $this->end_controls_section(); $this->start_controls_section( 'kng_blog_posts_style_section_whole_text_container', [ 'label' => KING_ADDONS_ELEMENTOR_ICON . esc_html__('Whole Text Container', 'king-addons'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'kng_blog_posts_style_section_whole_text_container_title', [ 'label' => '' . esc_html__('Text container includes title and description.', 'king-addons') . '', 'type' => Controls_Manager::RAW_HTML, ] ); $this->add_responsive_control( 'kng_blog_posts_whole_text_container_bg_color', [ 'label' => esc_html__('Background Color', 'king-addons'), 'type' => Controls_Manager::COLOR, 'default' => '', 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-card-container-2' => 'background-color: {{VALUE}}', ], ] ); $this->add_responsive_control( 'kng_blog_posts_whole_text_container_padding', [ 'label' => esc_html__('Padding', 'king-addons'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'default' => [ 'top' => 0, 'right' => 0, 'bottom' => 0, 'left' => 0, 'unit' => 'px', ], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-card-container-2' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ] ] ); $this->add_responsive_control( 'kng_blog_posts_whole_text_container_margin', [ 'label' => esc_html__('Margin', 'king-addons'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'default' => [ 'top' => 0, 'right' => 0, 'bottom' => 0, 'left' => 0, 'unit' => 'px', ], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-card-container-2' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ] ] ); $this->add_group_control( Group_Control_Box_Shadow::get_type(), [ 'name' => 'kng_blog_posts_whole_text_container_box_shadow', 'selector' => '{{WRAPPER}} .king-addons-blog-posts-card-container-2', ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'kng_blog_posts_whole_text_container_border', 'selector' => '{{WRAPPER}} .king-addons-blog-posts-card-container-2', 'fields_options' => [ 'border' => [ 'default' => 'none', ], ], ] ); $this->add_responsive_control( 'kng_blog_posts_whole_text_container_border_radius', [ 'label' => esc_html__('Border Radius', 'king-addons'), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => ['px', '%'], 'default' => [ 'top' => 0, 'right' => 0, 'bottom' => 0, 'left' => 0, 'unit' => 'px', ], 'selectors' => [ '{{WRAPPER}} .king-addons-blog-posts-card-container-2' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ] ] ); $this->end_controls_section(); /** END TAB: STYLE ===================== */ } protected function render(): void { $settings = Core::displaySettings($this); $this_ID = $this->get_id(); $query_args = [ 'posts_per_page' => $settings['kng_blog_posts_number_of_posts'], 'post_type' => 'post', 'post_status' => 'publish', 'ignore_sticky_posts' => 'yes' === $settings['kng_blog_posts_ignore_sticky_posts_switcher'], ]; $query = new WP_Query($query_args); /** START: BLOG POSTS===================== */ ?>
'; } // navigation if ('yes' === $settings['kng_blog_posts_nav_switcher']) { echo '
'; echo '
'; Icons_Manager::render_icon($settings['kng_blog_posts_nav_icon_prev']); echo '
'; echo '
'; echo '
'; echo '
'; Icons_Manager::render_icon($settings['kng_blog_posts_nav_icon_next']); echo '
'; echo '
'; } ?>