/wp-content/plugins/elementskit-lite/widgets/blog-posts/blog-posts.php

https://gitlab.com/campus-academy/krowkaramel · PHP · 1287 lines · 1171 code · 102 blank · 14 comment · 1 complexity · 86f98b7f00f635e6fbd73077fb4ed949 MD5 · raw file

  1. <?php
  2. namespace Elementor;
  3. use \Elementor\ElementsKit_Widget_Blog_Posts_Handler as Handler;
  4. use \ElementsKit_Lite\Modules\Controls\Controls_Manager as ElementsKit_Controls_Manager;
  5. if (! defined( 'ABSPATH' ) ) exit;
  6. class ElementsKit_Widget_Blog_Posts extends Widget_Base {
  7. use \ElementsKit_Lite\Widgets\Widget_Notice;
  8. public $base;
  9. public function get_name() {
  10. return Handler::get_name();
  11. }
  12. public function get_title() {
  13. return Handler::get_title();
  14. }
  15. public function get_icon() {
  16. return Handler::get_icon();
  17. }
  18. public function get_categories() {
  19. return Handler::get_categories();
  20. }
  21. public function get_help_url() {
  22. return '';
  23. }
  24. public function format_colname($str) {
  25. return str_replace('ekit', 'col', $str);
  26. }
  27. protected function register_controls() {
  28. // Layout
  29. $this->start_controls_section(
  30. 'ekit_blog_posts_general',
  31. [
  32. 'label' => esc_html__( 'Layout', 'elementskit-lite' ),
  33. ]
  34. );
  35. $this->add_control(
  36. 'ekit_blog_posts_layout_style',
  37. [
  38. 'label' => esc_html__( 'Layout Style', 'elementskit-lite' ),
  39. 'type' => Controls_Manager::SELECT,
  40. 'options' => [
  41. 'elementskit-blog-block-post' => esc_html__( 'Block', 'elementskit-lite' ),
  42. 'elementskit-post-image-card' => esc_html__( 'Grid With Thumb', 'elementskit-lite' ),
  43. 'elementskit-post-card' => esc_html__( 'Grid Without Thumb', 'elementskit-lite' ),
  44. ],
  45. 'default' => 'elementskit-blog-block-post',
  46. ]
  47. );
  48. $this->add_control(
  49. 'ekit_blog_posts_feature_img',
  50. [
  51. 'label' => esc_html__( 'Show Featured Image', 'elementskit-lite' ),
  52. 'type' => Controls_Manager::SWITCHER,
  53. 'label_on' => esc_html__( 'Yes', 'elementskit-lite' ),
  54. 'label_off' => esc_html__( 'No', 'elementskit-lite' ),
  55. 'default' => 'yes',
  56. 'condition' => [
  57. 'ekit_blog_posts_layout_style!' => 'elementskit-post-card',
  58. ],
  59. ]
  60. );
  61. $this->add_control(
  62. 'ekit_blog_posts_layout_style_thumb',
  63. [
  64. 'label' => esc_html__( 'Image Position', 'elementskit-lite' ),
  65. 'type' => Controls_Manager::SELECT,
  66. 'options' => [
  67. 'block' => esc_html__( 'Top', 'elementskit-lite' ),
  68. 'flex' => esc_html__( 'Left', 'elementskit-lite' ),
  69. ],
  70. 'default' => 'block',
  71. 'selectors' => [
  72. '{{WRAPPER}} .elementskit-post-image-card' => 'display: {{VALUE}}'
  73. ],
  74. 'condition' => [
  75. 'ekit_blog_posts_layout_style' => 'elementskit-post-image-card',
  76. 'ekit_blog_posts_feature_img' => 'yes',
  77. ],
  78. ]
  79. );
  80. /**
  81. * Control: Featured Image Size
  82. */
  83. $this->add_group_control(
  84. Group_Control_Image_Size::get_type(),
  85. [
  86. 'name' => 'ekit_blog_posts_feature_img_size',
  87. 'fields_options' => [
  88. 'size' => [
  89. 'label' => esc_html__( 'Featured Image Size', 'elementskit-lite' ),
  90. ],
  91. ],
  92. 'exclude' => [ 'custom' ],
  93. 'default' => 'large',
  94. 'condition' => [
  95. 'ekit_blog_posts_feature_img' => 'yes',
  96. 'ekit_blog_posts_layout_style!' => 'elementskit-post-card',
  97. ],
  98. ]
  99. );
  100. $this->add_control(
  101. 'ekit_blog_posts_feature_img_float',
  102. [
  103. 'label' => esc_html__( 'Featured Image Alignment', 'elementskit-lite' ),
  104. 'type' => Controls_Manager::CHOOSE,
  105. 'options' => [
  106. 'left' => [
  107. 'title' => esc_html__( 'Left', 'elementskit-lite' ),
  108. 'icon' => 'eicon-text-align-left',
  109. ],
  110. 'right' => [
  111. 'title' => esc_html__( 'Right', 'elementskit-lite' ),
  112. 'icon' => 'eicon-text-align-right',
  113. ],
  114. ],
  115. 'condition' => [
  116. 'ekit_blog_posts_feature_img' => 'yes',
  117. 'ekit_blog_posts_layout_style' => 'elementskit-blog-block-post',
  118. ],
  119. 'default' => 'left',
  120. ]
  121. );
  122. $this->add_control(
  123. 'ekit_blog_posts_column',
  124. [
  125. 'label' => esc_html__( 'Show Posts Per Row', 'elementskit-lite' ),
  126. 'type' => Controls_Manager::SELECT,
  127. 'options' => [
  128. 'ekit-lg-12 ekit-md-12' => esc_html__( '1', 'elementskit-lite' ),
  129. 'ekit-lg-6 ekit-md-6' => esc_html__( '2', 'elementskit-lite' ),
  130. 'ekit-lg-4 ekit-md-6' => esc_html__( '3', 'elementskit-lite' ),
  131. 'ekit-lg-3 ekit-md-6' => esc_html__( '4', 'elementskit-lite' ),
  132. 'ekit-lg-2 ekit-md-6' => esc_html__( '6', 'elementskit-lite' ),
  133. ],
  134. 'condition' => [
  135. 'ekit_blog_posts_layout_style' => ['elementskit-post-image-card', 'elementskit-post-card'],
  136. ],
  137. 'default' => 'ekit-lg-4 ekit-md-6',
  138. ]
  139. );
  140. $this->add_control(
  141. 'ekit_blog_posts_title',
  142. [
  143. 'label' => esc_html__( 'Show Title', 'elementskit-lite' ),
  144. 'type' => Controls_Manager::SWITCHER,
  145. 'label_on' => esc_html__( 'Yes', 'elementskit-lite' ),
  146. 'label_off' => esc_html__( 'No', 'elementskit-lite' ),
  147. 'default' => 'yes',
  148. ]
  149. );
  150. $this->add_control(
  151. 'ekit_blog_posts_title_trim',
  152. [
  153. 'label' => esc_html__( 'Crop title by word', 'elementskit-lite' ),
  154. 'type' => Controls_Manager::NUMBER,
  155. 'default' => '',
  156. 'condition' => [
  157. 'ekit_blog_posts_title' => 'yes',
  158. ],
  159. ]
  160. );
  161. $this->add_control(
  162. 'ekit_blog_posts_content',
  163. [
  164. 'label' => esc_html__( 'Show Content', 'elementskit-lite' ),
  165. 'type' => Controls_Manager::SWITCHER,
  166. 'label_on' => esc_html__( 'Yes', 'elementskit-lite' ),
  167. 'label_off' => esc_html__( 'No', 'elementskit-lite' ),
  168. 'default' => 'yes',
  169. ]
  170. );
  171. $this->add_control(
  172. 'ekit_blog_posts_content_trim',
  173. [
  174. 'label' => esc_html__( 'Crop content by word', 'elementskit-lite' ),
  175. 'type' => Controls_Manager::NUMBER,
  176. 'default' => '',
  177. 'condition' => [
  178. 'ekit_blog_posts_content' => 'yes',
  179. ],
  180. ]
  181. );
  182. $this->add_control(
  183. 'ekit_blog_posts_read_more',
  184. [
  185. 'label' => esc_html__( 'Show Read More', 'elementskit-lite' ),
  186. 'type' => Controls_Manager::SWITCHER,
  187. 'label_on' => esc_html__( 'Yes', 'elementskit-lite' ),
  188. 'label_off' => esc_html__( 'No', 'elementskit-lite' ),
  189. 'default' => 'yes',
  190. 'condition' => ['ekit_blog_posts_layout_style!' => 'elementskit-blog-block-post'],
  191. ]
  192. );
  193. $this->add_control(
  194. 'grid_masonry',
  195. [
  196. 'label' => esc_html__( 'Enable Masonry', 'elementskit-lite' ),
  197. 'type' => Controls_Manager::SWITCHER,
  198. 'condition' => [
  199. 'ekit_blog_posts_layout_style!' => 'elementskit-blog-block-post',
  200. ]
  201. ]
  202. );
  203. $this->end_controls_section();
  204. // Query
  205. $this->start_controls_section(
  206. 'ekit_blog_posts_content_section',
  207. [
  208. 'label' => esc_html__( 'Query', 'elementskit-lite' ),
  209. ]
  210. );
  211. $this->add_control(
  212. 'ekit_blog_posts_num',
  213. [
  214. 'label' => esc_html__( 'Posts Count', 'elementskit-lite' ),
  215. 'type' => Controls_Manager::NUMBER,
  216. 'min' => 1,
  217. 'max' => 100,
  218. 'default' => 3,
  219. ]
  220. );
  221. $this->add_control(
  222. 'ekit_blog_posts_is_manual_selection',
  223. [
  224. 'label' => esc_html__( 'Select posts by:', 'elementskit-lite' ),
  225. 'type' => Controls_Manager::SELECT,
  226. 'default' => '',
  227. 'options' => [
  228. 'recent' => esc_html__( 'Recent Post', 'elementskit-lite' ),
  229. 'yes' => esc_html__( 'Selected Post', 'elementskit-lite' ),
  230. '' => esc_html__( 'Category Post', 'elementskit-lite' ),
  231. ],
  232. ]
  233. );
  234. $this->add_control(
  235. 'ekit_blog_posts_manual_selection',
  236. [
  237. 'label' =>esc_html__('Search & Select', 'elementskit-lite'),
  238. 'type' => ElementsKit_Controls_Manager::AJAXSELECT2,
  239. 'options' =>'ajaxselect2/post_list',
  240. 'label_block' => true,
  241. 'multiple' => true,
  242. 'condition' => [ 'ekit_blog_posts_is_manual_selection' => 'yes' ]
  243. ]
  244. );
  245. $this->add_control(
  246. 'ekit_blog_posts_cats',
  247. [
  248. 'label' =>esc_html__('Select Categories', 'elementskit-lite'),
  249. 'type' => ElementsKit_Controls_Manager::AJAXSELECT2,
  250. 'options' =>'ajaxselect2/category',
  251. 'label_block' => true,
  252. 'multiple' => true,
  253. 'condition' => [ 'ekit_blog_posts_is_manual_selection' => '' ]
  254. ]
  255. );
  256. $this->add_control(
  257. 'ekit_blog_posts_offset',
  258. [
  259. 'label' => esc_html__( 'Offset', 'elementskit-lite' ),
  260. 'type' => Controls_Manager::NUMBER,
  261. 'min' => 0,
  262. 'max' => 20,
  263. 'default' => 0,
  264. ]
  265. );
  266. $this->add_control(
  267. 'ekit_blog_posts_order_by',
  268. [
  269. 'label' => esc_html__( 'Order by', 'elementskit-lite' ),
  270. 'type' => Controls_Manager::SELECT,
  271. 'options' => [
  272. 'date' => esc_html__( 'Date', 'elementskit-lite' ),
  273. 'title' => esc_html__( 'Title', 'elementskit-lite' ),
  274. 'author' => esc_html__( 'Author', 'elementskit-lite' ),
  275. 'modified' => esc_html__( 'Modified', 'elementskit-lite' ),
  276. 'comment_count' => esc_html__( 'Comments', 'elementskit-lite' ),
  277. ],
  278. 'default' => 'date',
  279. ]
  280. );
  281. $this->add_control(
  282. 'ekit_blog_posts_sort',
  283. [
  284. 'label' => esc_html__( 'Order', 'elementskit-lite' ),
  285. 'type' => Controls_Manager::SELECT,
  286. 'options' => [
  287. 'ASC' => esc_html__( 'ASC', 'elementskit-lite' ),
  288. 'DESC' => esc_html__( 'DESC', 'elementskit-lite' ),
  289. ],
  290. 'default' => 'DESC',
  291. ]
  292. );
  293. $this->end_controls_section();
  294. // meta data
  295. $this->start_controls_section(
  296. 'ekit_blog_posts_meta_data_tab',
  297. [
  298. 'label' => esc_html__( 'Meta Data', 'elementskit-lite' ),
  299. 'tab' => Controls_Manager::TAB_CONTENT,
  300. ]
  301. );
  302. $this->add_control(
  303. 'ekit_blog_posts_floating_date',
  304. [
  305. 'label' => esc_html__( 'Show Floating Date', 'elementskit-lite' ),
  306. 'type' => Controls_Manager::SWITCHER,
  307. 'label_on' => esc_html__( 'Yes', 'elementskit-lite' ),
  308. 'label_off' => esc_html__( 'No', 'elementskit-lite' ),
  309. 'default' => 'no',
  310. 'condition' => [
  311. 'ekit_blog_posts_layout_style' => 'elementskit-post-image-card',
  312. ],
  313. ]
  314. );
  315. $this->add_control(
  316. 'ekit_blog_posts_floating_date_style',
  317. [
  318. 'label' => esc_html__('Choose Style', 'elementskit-lite'),
  319. 'type' => ElementsKit_Controls_Manager::IMAGECHOOSE,
  320. 'default' => 'style1',
  321. 'options' => [
  322. 'style1' => [
  323. 'title' => esc_html__( 'Image style 1', 'elementskit-lite' ),
  324. 'imagelarge' => Handler::get_url() . 'assets/imagechoose/floating-date-1.png',
  325. 'imagesmall' => Handler::get_url() . 'assets/imagechoose/floating-date-1.png',
  326. 'width' => '50%',
  327. ],
  328. 'style2' => [
  329. 'title' => esc_html__( 'Image style 2', 'elementskit-lite' ),
  330. 'imagelarge' => Handler::get_url() . 'assets/imagechoose/floating-date-2.png',
  331. 'imagesmall' => Handler::get_url() . 'assets/imagechoose/floating-date-2.png',
  332. 'width' => '50%',
  333. ],
  334. ],
  335. 'condition' => [
  336. 'ekit_blog_posts_floating_date' => 'yes',
  337. ],
  338. ]
  339. );
  340. $this->add_control(
  341. 'ekit_blog_posts_floating_category',
  342. [
  343. 'label' => esc_html__( 'Show Floating Category', 'elementskit-lite' ),
  344. 'type' => Controls_Manager::SWITCHER,
  345. 'label_on' => esc_html__( 'Yes', 'elementskit-lite' ),
  346. 'label_off' => esc_html__( 'No', 'elementskit-lite' ),
  347. 'default' => 'no',
  348. 'condition' => [
  349. 'ekit_blog_posts_layout_style' => 'elementskit-post-image-card',
  350. ],
  351. ]
  352. );
  353. $this->add_control(
  354. 'ekit_blog_posts_meta',
  355. [
  356. 'label' => esc_html__( 'Show Meta Data', 'elementskit-lite' ),
  357. 'type' => Controls_Manager::SWITCHER,
  358. 'label_on' => esc_html__( 'Yes', 'elementskit-lite' ),
  359. 'label_off' => esc_html__( 'No', 'elementskit-lite' ),
  360. 'default' => 'yes',
  361. ]
  362. );
  363. $this->add_control(
  364. 'ekit_blog_posts_title_position',
  365. [
  366. 'label' => esc_html__( 'Meta Position', 'elementskit-lite' ),
  367. 'type' => Controls_Manager::SELECT,
  368. 'options' => [
  369. 'after_meta' => esc_html__( 'Before Title', 'elementskit-lite' ),
  370. 'before_meta' => esc_html__( 'After Title', 'elementskit-lite' ),
  371. 'after_content' => esc_html__( 'After Content', 'elementskit-lite' ),
  372. ],
  373. 'default' => 'after_meta',
  374. 'condition' => [
  375. 'ekit_blog_posts_meta' => 'yes',
  376. ]
  377. ]
  378. );
  379. $this->add_control(
  380. 'ekit_blog_posts_meta_select',
  381. [
  382. 'label' => esc_html__( 'Meta Data', 'elementskit-lite' ),
  383. 'type' => Controls_Manager::SELECT2,
  384. 'options' => [
  385. 'author' => esc_html__( 'Author', 'elementskit-lite' ),
  386. 'date' => esc_html__( 'Date', 'elementskit-lite' ),
  387. 'category' => esc_html__( 'Category', 'elementskit-lite' ),
  388. 'comment' => esc_html__( 'Comment', 'elementskit-lite' ),
  389. ],
  390. 'multiple' => true,
  391. // 'default' => [
  392. // 'author',
  393. // 'date'
  394. // ],
  395. 'condition' => [
  396. 'ekit_blog_posts_meta' => 'yes',
  397. ],
  398. ]
  399. );
  400. $this->add_control(
  401. 'ekit_blog_posts_author_image',
  402. [
  403. 'label' => esc_html__( 'Show Author Image', 'elementskit-lite' ),
  404. 'type' => Controls_Manager::SWITCHER,
  405. 'label_on' => esc_html__( 'Yes', 'elementskit-lite' ),
  406. 'label_off' => esc_html__( 'No', 'elementskit-lite' ),
  407. 'default' => 'no',
  408. 'condition' => [
  409. 'ekit_blog_posts_meta' => 'yes',
  410. 'ekit_blog_posts_meta_select' => 'author'
  411. ],
  412. ]
  413. );
  414. $this->add_control(
  415. 'ekit_blog_posts_meta_author_icons',
  416. [
  417. 'label' => esc_html__( 'Author Icon', 'elementskit-lite' ),
  418. 'type' => Controls_Manager::ICONS,
  419. 'fa4compatibility' => 'ekit_blog_posts_meta_author_icon',
  420. 'default' => [
  421. 'value' => 'icon icon-user',
  422. 'library' => 'ekiticons',
  423. ],
  424. 'condition' => [
  425. 'ekit_blog_posts_author_image!' => 'yes',
  426. 'ekit_blog_posts_meta' => 'yes',
  427. 'ekit_blog_posts_meta_select' => 'author'
  428. ]
  429. ]
  430. );
  431. $this->add_control(
  432. 'ekit_blog_posts_meta_date_icons',
  433. [
  434. 'label' => esc_html__( 'Date Icon', 'elementskit-lite' ),
  435. 'type' => Controls_Manager::ICONS,
  436. 'fa4compatibility' => 'ekit_blog_posts_meta_date_icon',
  437. 'default' => [
  438. 'value' => 'icon icon-calendar3',
  439. 'library' => 'ekiticons',
  440. ],
  441. 'condition' => [
  442. 'ekit_blog_posts_meta' => 'yes',
  443. 'ekit_blog_posts_meta_select' => 'date'
  444. ],
  445. ]
  446. );
  447. $this->add_control(
  448. 'ekit_blog_posts_meta_category_icons',
  449. [
  450. 'label' => esc_html__( 'Category Icon', 'elementskit-lite' ),
  451. 'type' => Controls_Manager::ICONS,
  452. 'fa4compatibility' => 'ekit_blog_posts_meta_category_icon',
  453. 'default' => [
  454. 'value' => 'icon icon-folder',
  455. 'library' => 'ekiticons',
  456. ],
  457. 'condition' => [
  458. 'ekit_blog_posts_meta' => 'yes',
  459. 'ekit_blog_posts_meta_select' => 'category'
  460. ],
  461. ]
  462. );
  463. $this->add_control(
  464. 'ekit_blog_posts_meta_comment_icons',
  465. [
  466. 'label' => esc_html__( 'Comment Icon', 'elementskit-lite' ),
  467. 'type' => Controls_Manager::ICONS,
  468. 'fa4compatibility' => 'ekit_blog_posts_meta_comment_icon',
  469. 'default' => [
  470. 'value' => 'icon icon-comment',
  471. 'library' => 'ekiticons',
  472. ],
  473. 'condition' => [
  474. 'ekit_blog_posts_meta' => 'yes',
  475. 'ekit_blog_posts_meta_select' => 'comment'
  476. ],
  477. ]
  478. );
  479. $this->end_controls_section();
  480. // Read More Button
  481. $this->start_controls_section(
  482. 'ekit_blog_posts_more_section',
  483. [
  484. 'label' => esc_html__( 'Read More Button', 'elementskit-lite' ),
  485. 'condition' => ['ekit_blog_posts_read_more' => 'yes', 'ekit_blog_posts_layout_style!' => 'elementskit-blog-block-post'],
  486. ]
  487. );
  488. $this->add_control(
  489. 'ekit_blog_posts_btn_text',
  490. [
  491. 'label' =>esc_html__( 'Label', 'elementskit-lite' ),
  492. 'type' => Controls_Manager::TEXT,
  493. 'default' =>esc_html__( 'Learn more ', 'elementskit-lite' ),
  494. 'placeholder' =>esc_html__( 'Learn more ', 'elementskit-lite' ),
  495. ]
  496. );
  497. $this->add_control(
  498. 'ekit_blog_posts_btn_icons__switch',
  499. [
  500. 'label' => esc_html__('Add icon? ', 'elementskit-lite'),
  501. 'type' => Controls_Manager::SWITCHER,
  502. 'default' => 'yes',
  503. 'label_on' =>esc_html__( 'Yes', 'elementskit-lite' ),
  504. 'label_off' =>esc_html__( 'No', 'elementskit-lite' ),
  505. ]
  506. );
  507. $this->add_control(
  508. 'ekit_blog_posts_btn_icons',
  509. [
  510. 'label' =>esc_html__( 'Icon', 'elementskit-lite' ),
  511. 'type' => Controls_Manager::ICONS,
  512. 'fa4compatibility' => 'ekit_blog_posts_btn_icon',
  513. 'default' => [
  514. 'value' => '',
  515. ],
  516. 'label_block' => true,
  517. 'condition' => [
  518. 'ekit_blog_posts_btn_icons__switch' => 'yes'
  519. ]
  520. ]
  521. );
  522. $this->add_control(
  523. 'ekit_blog_posts_btn_icon_align',
  524. [
  525. 'label' =>esc_html__( 'Icon Position', 'elementskit-lite' ),
  526. 'type' => Controls_Manager::SELECT,
  527. 'default' => 'left',
  528. 'options' => [
  529. 'left' =>esc_html__( 'Before', 'elementskit-lite' ),
  530. 'right' =>esc_html__( 'After', 'elementskit-lite' ),
  531. ],
  532. 'condition' => [
  533. 'ekit_blog_posts_btn_icons__switch' => 'yes'
  534. ]
  535. ]
  536. );
  537. $this->add_responsive_control(
  538. 'ekit_blog_posts_btn_align',
  539. [
  540. 'label' =>esc_html__( 'Alignment', 'elementskit-lite' ),
  541. 'type' => Controls_Manager::CHOOSE,
  542. 'options' => [
  543. 'left' => [
  544. 'title' =>esc_html__( 'Left', 'elementskit-lite' ),
  545. 'icon' => 'eicon-text-align-left',
  546. ],
  547. 'center' => [
  548. 'title' =>esc_html__( 'Center', 'elementskit-lite' ),
  549. 'icon' => 'eicon-text-align-center',
  550. ],
  551. 'right' => [
  552. 'title' =>esc_html__( 'Right', 'elementskit-lite' ),
  553. 'icon' => 'eicon-text-align-right',
  554. ],
  555. ],
  556. 'selectors'=> [
  557. '{{WRAPPER}} .btn-wraper' => 'text-align: {{VALUE}};',
  558. ],
  559. 'default' => 'left',
  560. ]
  561. );
  562. $this->add_control(
  563. 'ekit_blog_posts_btn_class',
  564. [
  565. 'label' => esc_html__( 'Class', 'elementskit-lite' ),
  566. 'type' => Controls_Manager::TEXT,
  567. 'placeholder' => esc_html__( 'Class Name', 'elementskit-lite' ),
  568. ]
  569. );
  570. $this->add_control(
  571. 'ekit_blog_posts_btn_id',
  572. [
  573. 'label' => esc_html__( 'id', 'elementskit-lite' ),
  574. 'type' => Controls_Manager::TEXT,
  575. 'placeholder' => esc_html__( 'ID', 'elementskit-lite' ),
  576. ]
  577. );
  578. $this->end_controls_section();
  579. // Post Styles
  580. $this->start_controls_section(
  581. 'ekit_blog_posts_style',
  582. [
  583. 'label' => esc_html__( 'Wrapper', 'elementskit-lite' ),
  584. 'tab' => Controls_Manager::TAB_STYLE,
  585. ]
  586. );
  587. $this->start_controls_tabs(
  588. 'ekit_blog_posts_tabs'
  589. );
  590. $this->start_controls_tab(
  591. 'ekit_blog_posts_tab_normal',
  592. [
  593. 'label' =>esc_html__( 'Normal', 'elementskit-lite' ),
  594. ]
  595. );
  596. $this->add_group_control(
  597. Group_Control_Background::get_type(),
  598. [
  599. 'name' => 'ekit_blog_posts_background',
  600. 'label' => esc_html__( 'Background', 'elementskit-lite' ),
  601. 'types' => [ 'classic', 'gradient' ],
  602. 'selector' => '{{WRAPPER}} .elementskit-blog-block-post, {{WRAPPER}} .elementskit-post-image-card, {{WRAPPER}} .elementskit-post-card',
  603. ]
  604. );
  605. $this->add_group_control(
  606. Group_Control_Box_Shadow::get_type(), [
  607. 'name' => 'ekit_blog_posts_shadow',
  608. 'selector' => '{{WRAPPER}} .elementskit-blog-block-post, {{WRAPPER}} .elementskit-post-image-card, {{WRAPPER}} .elementskit-post-card',
  609. ]
  610. );
  611. $this->end_controls_tab();
  612. $this->start_controls_tab(
  613. 'ekit_blog_posts_tab_hover',
  614. [
  615. 'label' =>esc_html__( 'Hover', 'elementskit-lite' ),
  616. ]
  617. );
  618. $this->add_group_control(
  619. Group_Control_Background::get_type(),
  620. [
  621. 'name' => 'ekit_blog_posts_background_hover',
  622. 'label' => esc_html__( 'Background', 'elementskit-lite' ),
  623. 'types' => [ 'classic', 'gradient' ],
  624. 'selector' => '{{WRAPPER}} .elementskit-blog-block-post:hover, {{WRAPPER}} .elementskit-post-image-card:hover, {{WRAPPER}} .elementskit-post-card:hover',
  625. 'fields_options' => [
  626. 'background' => [
  627. 'prefix_class' => 'ekit-blog-posts--bg-hover bg-hover-',
  628. ],
  629. ],
  630. ]
  631. );
  632. $this->add_group_control(
  633. Group_Control_Box_Shadow::get_type(), [
  634. 'name' => 'ekit_blog_posts_shadow_hover',
  635. 'selector' => '{{WRAPPER}} .elementskit-blog-block-post:hover, {{WRAPPER}} .elementskit-post-image-card:hover, {{WRAPPER}} .elementskit-post-card:hover',
  636. ]
  637. );
  638. $this->end_controls_tab();
  639. $this->end_controls_tabs();
  640. $this->add_control(
  641. 'ekit_blog_posts_hr',
  642. [
  643. 'type' => \Elementor\Controls_Manager::DIVIDER,
  644. ]
  645. );
  646. $this->add_control(
  647. 'ekit_blog_posts_vertical_alignment',
  648. [
  649. 'label' => esc_html__( 'Vertical Alignment', 'elementskit-lite' ),
  650. 'type' => Controls_Manager::CHOOSE,
  651. 'options' => [
  652. 'flex-start' => [
  653. 'title' => esc_html__( 'Top', 'elementskit-lite' ),
  654. 'icon' => 'eicon-v-align-top',
  655. ],
  656. 'center' => [
  657. 'title' => esc_html__( 'Middle', 'elementskit-lite' ),
  658. 'icon' => 'eicon-v-align-middle',
  659. ],
  660. 'flex-end' => [
  661. 'title' => esc_html__( 'Bottom', 'elementskit-lite' ),
  662. 'icon' => 'eicon-v-align-bottom',
  663. ],
  664. ],
  665. 'condition' => [
  666. 'ekit_blog_posts_layout_style' => 'elementskit-blog-block-post',
  667. ],
  668. 'default' => 'flex-start',
  669. 'selectors' => [
  670. '{{WRAPPER}} .elementskit-blog-block-post > .row' => 'align-items: {{VALUE}};',
  671. ],
  672. ]
  673. );
  674. $this->add_responsive_control(
  675. 'ekit_blog_posts_radius',
  676. [
  677. 'label' => esc_html__( 'Container Border radius', 'elementskit-lite' ),
  678. 'type' => Controls_Manager::DIMENSIONS,
  679. 'size_units' => [ 'px', '%', 'em' ],
  680. 'selectors' => [
  681. '{{WRAPPER}} .elementskit-blog-block-post, {{WRAPPER}} .elementskit-post-image-card, {{WRAPPER}} .elementskit-post-card' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
  682. ],
  683. ]
  684. );
  685. $this->add_responsive_control(
  686. 'ekit_blog_posts_padding',
  687. [
  688. 'label' => esc_html__( 'Container Padding', 'elementskit-lite' ),
  689. 'type' => Controls_Manager::DIMENSIONS,
  690. 'size_units' => [ 'px', '%', 'em' ],
  691. 'selectors' => [
  692. '{{WRAPPER}} .elementskit-blog-block-post, {{WRAPPER}} .elementskit-post-image-card, {{WRAPPER}} .elementskit-post-card' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
  693. ],
  694. ]
  695. );
  696. $this->add_responsive_control(
  697. 'ekit_blog_posts_margin',
  698. [
  699. 'label' => esc_html__( 'Container Margin', 'elementskit-lite' ),
  700. 'type' => Controls_Manager::DIMENSIONS,
  701. 'size_units' => [ 'px', '%', 'em' ],
  702. 'tablet_default' => [
  703. 'top' => '0',
  704. 'right' => '0',
  705. 'bottom' => '30',
  706. 'left' => '0',
  707. 'unit' => 'px',
  708. 'isLinked' => 'false',
  709. ],
  710. 'mobile_default' => [
  711. 'top' => '0',
  712. 'right' => '0',
  713. 'bottom' => '30',
  714. 'left' => '0',
  715. 'unit' => 'px',
  716. 'isLinked' => 'false',
  717. ],
  718. 'selectors' => [
  719. '{{WRAPPER}} .elementskit-blog-block-post, {{WRAPPER}} .elementskit-post-image-card, {{WRAPPER}} .elementskit-post-card' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
  720. ],
  721. ]
  722. );
  723. $this->add_responsive_control(
  724. 'ekit_blog_posts_text_content_wraper_padding',
  725. [
  726. 'label' => esc_html__( 'Content Padding', 'elementskit-lite' ),
  727. 'type' => Controls_Manager::DIMENSIONS,
  728. 'size_units' => [ 'px', '%' ],
  729. 'selectors' => [
  730. '{{WRAPPER}} .elementskit-blog-block-post .elementskit-post-body' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
  731. '{{WRAPPER}} .elementskit-post-image-card .elementskit-post-body' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
  732. ],
  733. ]
  734. );
  735. $this->add_control(
  736. 'ekit_blog_posts_container_border_title',
  737. [
  738. 'label' => esc_html__( 'Container Border', 'elementskit-lite' ),
  739. 'type' => Controls_Manager::HEADING,
  740. 'separator' => 'before',
  741. ]
  742. );
  743. $this->add_group_control(
  744. Group_Control_Border::get_type(),
  745. [
  746. 'name' => 'ekit_blog_posts_border',
  747. 'label' => esc_html__( 'Container Border', 'elementskit-lite' ),
  748. 'selector' => '{{WRAPPER}} .elementskit-blog-block-post, {{WRAPPER}} .elementskit-post-image-card, {{WRAPPER}} .elementskit-post-card',
  749. ]
  750. );
  751. $this->add_control(
  752. 'ekit_blog_posts_content_border_title',
  753. [
  754. 'label' => esc_html__( 'Content Border', 'elementskit-lite' ),
  755. 'type' => Controls_Manager::HEADING,
  756. 'separator' => 'before',
  757. 'condition' => [
  758. 'ekit_blog_posts_layout_style' => 'elementskit-post-image-card',
  759. 'ekit_blog_posts_feature_img' => 'yes'
  760. ]
  761. ]
  762. );
  763. $this->add_control(
  764. 'ekit_blog_posts_content_background',
  765. [
  766. 'label' => esc_html_x( 'Container Background Color', 'elementskit', 'elementskit-lite' ),
  767. 'type' => Controls_Manager::COLOR,
  768. 'default' => '',
  769. 'selectors' => [
  770. '{{WRAPPER}} .elementskit-post-body' => 'background-color: {{VALUE}};',
  771. ],
  772. ]
  773. );
  774. $this->add_group_control(
  775. Group_Control_Box_Shadow::get_type(),
  776. [
  777. 'name' => 'ekit_blog_posts_content_box_shadow',
  778. 'label' => esc_html__( 'Box Shadow', 'elementskit-lite' ),
  779. 'selector' => '{{WRAPPER}} .elementskit-post-body',
  780. ]
  781. );
  782. $this->add_control(
  783. 'ekit_blog_posts_content_border_style',
  784. [
  785. 'label' => esc_html_x( 'Border Type', 'Border Control', 'elementskit-lite' ),
  786. 'type' => Controls_Manager::SELECT,
  787. 'options' => [
  788. '' => esc_html__( 'None', 'elementskit-lite' ),
  789. 'solid' => esc_html_x( 'Solid', 'Border Control', 'elementskit-lite' ),
  790. 'double' => esc_html_x( 'Double', 'Border Control', 'elementskit-lite' ),
  791. 'dotted' => esc_html_x( 'Dotted', 'Border Control', 'elementskit-lite' ),
  792. 'dashed' => esc_html_x( 'Dashed', 'Border Control', 'elementskit-lite' ),
  793. 'groove' => esc_html_x( 'Groove', 'Border Control', 'elementskit-lite' ),
  794. ],
  795. 'selectors' => [
  796. '{{WRAPPER}} .elementskit-post-body' => 'border-style: {{VALUE}};',
  797. ],
  798. 'condition' => [
  799. 'ekit_blog_posts_layout_style' => 'elementskit-post-image-card',
  800. 'ekit_blog_posts_feature_img' => 'yes'
  801. ]
  802. ]
  803. );
  804. $this->add_control(
  805. 'ekit_blog_posts_content_border_dimensions',
  806. [
  807. 'label' => esc_html_x( 'Width', 'Border Control', 'elementskit-lite' ),
  808. 'type' => Controls_Manager::DIMENSIONS,
  809. 'selectors' => [
  810. '{{WRAPPER}} .elementskit-post-body' => 'border-width: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
  811. ],
  812. 'condition' => [
  813. 'ekit_blog_posts_layout_style' => 'elementskit-post-image-card',
  814. 'ekit_blog_posts_feature_img' => 'yes'
  815. ]
  816. ]
  817. );
  818. $this->start_controls_tabs( 'ekit_blog_posts_content_border_tabs', [
  819. 'condition' => [
  820. 'ekit_blog_posts_layout_style' => 'elementskit-post-image-card',
  821. 'ekit_blog_posts_feature_img' => 'yes'
  822. ]
  823. ] );
  824. $this->start_controls_tab(
  825. 'ekit_blog_posts_content_border_normal',
  826. [
  827. 'label' =>esc_html__( 'Normal', 'elementskit-lite' ),
  828. ]
  829. );
  830. $this->add_control(
  831. 'ekit_blog_posts_content_border_color_normal',
  832. [
  833. 'label' => esc_html_x( 'Color', 'Border Control', 'elementskit-lite' ),
  834. 'type' => Controls_Manager::COLOR,
  835. 'default' => '',
  836. 'selectors' => [
  837. '{{WRAPPER}} .elementskit-post-body' => 'border-color: {{VALUE}};',
  838. ],
  839. ]
  840. );
  841. $this->end_controls_tab();
  842. $this->start_controls_tab(
  843. 'ekit_blog_posts_content_border_color_hover_style',
  844. [
  845. 'label' =>esc_html__( 'Hover', 'elementskit-lite' ),
  846. ]
  847. );
  848. $this->add_control(
  849. 'ekit_blog_posts_content_border_color_hover',
  850. [
  851. 'label' => esc_html_x( 'Color', 'Border Control', 'elementskit-lite' ),
  852. 'type' => Controls_Manager::COLOR,
  853. 'default' => '',
  854. 'selectors' => [
  855. '{{WRAPPER}} .elementskit-post-image-card:hover .elementskit-post-body ' => 'border-color: {{VALUE}};',
  856. ],
  857. ]
  858. );
  859. $this->end_controls_tab();
  860. $this->end_controls_tabs();
  861. $this->end_controls_section();
  862. // Featured Image Styles
  863. $this->start_controls_section(
  864. 'ekit_blog_posts_feature_img_style',
  865. [
  866. 'label' => esc_html__( 'Featured Image', 'elementskit-lite' ),
  867. 'tab' => Controls_Manager::TAB_STYLE,
  868. 'condition' => [
  869. 'ekit_blog_posts_layout_style!' => 'elementskit-post-card',
  870. 'ekit_blog_posts_feature_img' => 'yes'
  871. ],
  872. ]
  873. );
  874. $this->add_responsive_control(
  875. 'ekit_blog_posts_feature_img_size',
  876. [
  877. 'label' => esc_html__( 'Image Width', 'elementskit-lite' ),
  878. 'type' => Controls_Manager::SLIDER,
  879. 'range' => [
  880. 'px' => [
  881. 'min' => 1,
  882. 'max' => 500,
  883. ],
  884. ],
  885. 'selectors' => [
  886. '{{WRAPPER}} .elementskit-entry-thumb' => 'width: {{SIZE}}{{UNIT}}; min-width: {{SIZE}}{{UNIT}}',
  887. ],
  888. 'condition' => [
  889. 'ekit_blog_posts_layout_style' => 'elementskit-post-image-card',
  890. 'ekit_blog_posts_layout_style_thumb' => 'flex',
  891. ],
  892. ]
  893. );
  894. $this->add_group_control(
  895. Group_Control_Box_Shadow::get_type(), [
  896. 'name' => 'ekit_blog_posts_feature_img_shadow',
  897. 'selector' => '{{WRAPPER}} .elementskit-entry-thumb',
  898. ]
  899. );
  900. $this->add_group_control(
  901. Group_Control_Border::get_type(),
  902. [
  903. 'name' => 'ekit_blog_posts_feature_img_border',
  904. 'label' => esc_html__( 'Border', 'elementskit-lite' ),
  905. 'selector' => '{{WRAPPER}} .elementskit-entry-thumb',
  906. ]
  907. );
  908. $this->add_responsive_control(
  909. 'ekit_blog_posts_feature_img_radius',
  910. [
  911. 'label' => esc_html__( 'Border radius', 'elementskit-lite' ),
  912. 'type' => Controls_Manager::DIMENSIONS,
  913. 'size_units'=> [ 'px', '%', 'em' ],
  914. 'selectors' => [
  915. '{{WRAPPER}} .elementskit-entry-thumb' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
  916. ],
  917. ]
  918. );
  919. $this->add_responsive_control(
  920. 'ekit_blog_posts_feature_img_margin',
  921. [
  922. 'label' => esc_html__( 'Margin', 'elementskit-lite' ),
  923. 'type' => Controls_Manager::DIMENSIONS,
  924. 'size_units' => [ 'px', '%', 'em' ],
  925. 'selectors' => [
  926. '{{WRAPPER}} .elementskit-entry-thumb' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
  927. ],
  928. ]
  929. );
  930. $this->add_responsive_control(
  931. 'ekit_blog_posts_feature_img_padding',
  932. [
  933. 'label' => esc_html__( 'Padding', 'elementskit-lite' ),
  934. 'type' => Controls_Manager::DIMENSIONS,
  935. 'size_units' => [ 'px', '%', 'em' ],
  936. 'selectors' => [
  937. ' {{WRAPPER}} .ekit-wid-con .elementskit-entry-thumb' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
  938. ],
  939. ]
  940. );
  941. $this->end_controls_section();
  942. // Meta Styles
  943. $this->start_controls_section(
  944. 'ekit_blog_posts_meta_style',
  945. [
  946. 'label' => esc_html__( 'Meta', 'elementskit-lite' ),
  947. 'tab' => Controls_Manager::TAB_STYLE,
  948. 'condition' => [
  949. 'ekit_blog_posts_meta' => 'yes',
  950. ],
  951. ]
  952. );
  953. $this->add_group_control(
  954. Group_Control_Typography::get_type(), [
  955. 'name' => 'ekit_blog_posts_meta_typography',
  956. 'selector' => '{{WRAPPER}} .post-meta-list a, {{WRAPPER}} .post-meta-list .meta-date-text',
  957. ]
  958. );
  959. $this->add_responsive_control(
  960. 'ekit_blog_posts_meta_alignment',
  961. [
  962. 'label' => esc_html__( 'Alignment', 'elementskit-lite' ),
  963. 'type' => Controls_Manager::CHOOSE,
  964. 'options' => [
  965. 'left' => [
  966. 'title' => esc_html__( 'Left', 'elementskit-lite' ),
  967. 'icon' => 'eicon-text-align-left',
  968. ],
  969. 'center' => [
  970. 'title' => esc_html__( 'Center', 'elementskit-lite' ),
  971. 'icon' => 'eicon-text-align-center',
  972. ],
  973. 'right' => [
  974. 'title' => esc_html__( 'Right', 'elementskit-lite' ),
  975. 'icon' => 'eicon-text-align-right',
  976. ],
  977. ],
  978. 'default' => 'left',
  979. 'selectors'=> [
  980. '{{WRAPPER}} .post-meta-list' => 'text-align: {{VALUE}};',
  981. ],
  982. ]
  983. );
  984. $this->add_responsive_control(
  985. 'ekit_blog_posts_meta_margin',
  986. [
  987. 'label' => esc_html__( 'Container Margin', 'elementskit-lite' ),
  988. 'type' => Controls_Manager::DIMENSIONS,
  989. 'size_units'=> [ 'px', '%', 'em' ],
  990. 'selectors' => [
  991. '{{WRAPPER}} .post-meta-list' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
  992. ],
  993. ]
  994. );
  995. $this->add_responsive_control(
  996. 'ekit_blog_posts_meta_item_margin',
  997. [
  998. 'label' => esc_html__( 'Item Margin', 'elementskit-lite' ),
  999. 'type' => Controls_Manager::DIMENSIONS,
  1000. 'size_units'=> [ 'px', '%', 'em' ],
  1001. 'selectors' => [
  1002. '{{WRAPPER}} .post-meta-list > span' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
  1003. ],
  1004. ]
  1005. );
  1006. $this->add_control(
  1007. 'ekit_blog_posts_meta_padding',
  1008. [
  1009. 'label' => esc_html__( 'Item Padding', 'elementskit-lite' ),
  1010. 'type' => Controls_Manager::DIMENSIONS,
  1011. 'size_units' => [ 'px', '%', 'em' ],
  1012. 'selectors' => [
  1013. '{{WRAPPER}} .post-meta-list > span' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
  1014. ],
  1015. ]
  1016. );
  1017. $this->add_control(
  1018. 'ekit_blog_posts_meta_icon_padding',
  1019. [
  1020. 'label' => esc_html__( 'Icon Spacing', 'elementskit-lite' ),
  1021. 'type' => Controls_Manager::DIMENSIONS,
  1022. 'size_units' => [ 'px', '%', 'em' ],
  1023. 'selectors' => [
  1024. '{{WRAPPER}} .post-meta-list > span > i, {{WRAPPER}} .post-meta-list > span > svg' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
  1025. ],
  1026. ]
  1027. );
  1028. $this->add_responsive_control(
  1029. 'ekit_blog_posts_meta_icon_size',
  1030. [
  1031. 'label' => esc_html__( 'Icon Size', 'elementskit-lite' ),
  1032. 'type' => Controls_Manager::SLIDER,
  1033. 'range' => [
  1034. 'px' => [
  1035. 'min' => 6,
  1036. 'max' => 300,
  1037. ],
  1038. ],
  1039. 'selectors' => [
  1040. '{{WRAPPER}} .post-meta-list > span > i' => 'font-size: {{SIZE}}{{UNIT}};',
  1041. '{{WRAPPER}} .post-meta-list > span > svg' => 'max-width: {{SIZE}}{{UNIT}};',
  1042. ],
  1043. ]
  1044. );
  1045. $this->start_controls_tabs(
  1046. 'ekit_blog_posts_meta_background_normal_and_hover_tab'
  1047. );
  1048. $this->start_controls_tab(
  1049. 'ekit_blog_posts_meta_background_normal_tab',
  1050. [
  1051. 'label' => esc_html__( 'Normal', 'elementskit-lite' ),
  1052. ]
  1053. );
  1054. $this->add_control(
  1055. 'ekit_blog_posts_meta_color_normal',
  1056. [
  1057. 'label' => esc_html__( 'Color', 'elementskit-lite' ),
  1058. 'type' => Controls_Manager::COLOR,
  1059. 'selectors' => [
  1060. '{{WRAPPER}} .post-meta-list > span' => 'color: {{VALUE}};',
  1061. '{{WRAPPER}} .post-meta-list > span > svg path' => 'strock: {{VALUE}}; fill: {{VALUE}};'
  1062. ],
  1063. ]
  1064. );
  1065. $this->add_control(
  1066. 'ekit_blog_posts_meta_color_icon_normal',
  1067. [
  1068. 'label' => esc_html__( 'Icon Color', 'elementskit-lite' ),
  1069. 'type' => Controls_Manager::COLOR,
  1070. 'selectors' => [
  1071. '{{WRAPPER}} .post-meta-list > span > i' => 'color: {{VALUE}};',
  1072. '{{WRAPPER}} .post-meta-list > span > svg path' => 'stroke: {{VALUE}}; fill: {{VALUE}};'
  1073. ],
  1074. ]
  1075. );
  1076. $this->add_group_control(
  1077. Group_Control_Background::get_type(),
  1078. [
  1079. 'name' => 'ekit_blog_posts_meta_background_normal',
  1080. 'label' => esc_html__( 'Background', 'elementskit-lite' ),
  1081. 'types' => [ 'classic', 'gradient', ],
  1082. 'selector' => '{{WRAPPER}} .post-meta-list > span',
  1083. 'exclude' => [
  1084. 'image'
  1085. ]
  1086. ]
  1087. );
  1088. $this->add_group_control(
  1089. Group_Control_Border::get_type(),
  1090. [
  1091. 'name' => 'ekit_blog_posts_meta_border_normal',
  1092. 'label' => esc_html__( 'Border', 'elementskit-lite' ),
  1093. 'selector' => '{{WRAPPER}} .post-meta-list > span',
  1094. ]
  1095. );
  1096. $this->add_control(
  1097. 'ekit_blog_posts_meta_border_radius_normal',
  1098. [
  1099. 'label' => esc_html__( 'Border Radius', 'elementskit-lite' ),
  1100. 'type' => Controls_Manager::DIMENSIONS,
  1101. 'size_units' => [ 'px', '%', 'em' ],
  1102. 'selectors' => [
  1103. '{{WRAPPER}} .post-meta-list > span' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
  1104. ],
  1105. ]
  1106. );
  1107. $this->add_group_control(
  1108. Group_Control_Box_Shadow::get_type(),
  1109. [
  1110. 'name' => 'ekit_blog_posts_meta_box_shadow_normal',
  1111. 'label' => esc_html__( 'Box Shadow', 'elementskit-lite' ),
  1112. 'selector' => '{{WRAPPER}} .post-meta-list > span',
  1113. ]
  1114. );
  1115. $this->add_group_control(
  1116. Group_Control_Text_Shadow::get_type(), [
  1117. 'name' => 'ekit_blog_posts_meta_shadow_normal',
  1118. 'selector' => '{{WRAPPER}} .post-meta-list > span',
  1119. ]
  1120. );
  1121. $this->end_controls_tab();
  1122. $this->start_controls_tab(
  1123. 'ekit_blog_posts_meta_background_hover_tab',
  1124. [
  1125. 'label' => esc_html__( 'Hover', 'elementskit-lite' ),
  1126. ]
  1127. );
  1128. $this->add_control(
  1129. 'ekit_blog_posts_meta_color_hover',
  1130. [
  1131. 'label' => esc_html__( 'Color', 'elementskit-lite' ),
  1132. 'type' => Controls_Manager::COLOR,
  1133. 'selectors' => [
  1134. '{{WRAPPER}} .post-meta-list > span:hover' => 'color: {{VALUE}};',
  1135. '{{WRAPPER}} .post-meta-list > span:hover > svg path' => 'strock: {{VALUE}}; fill: {{VALUE}};',
  1136. '{{WRAPPER}}.ekit-blog-posts--bg-hover .elementskit-post-image-card:hover .post-meta-list > span' => 'color: {{VALUE}};',
  1137. '{{WRAPPER}}.ekit-blog-posts--bg-hover .elementskit-post-image-card:hover .post-meta-list > span > svg path' => 'strock: {{VALUE}}; fill: {{VALUE}};',
  1138. ],
  1139. ]
  1140. );
  1141. $this->add_control(
  1142. 'ekit_blog_posts_meta_color_icon_hover',
  1143. [
  1144. 'label' => esc_html__( 'Icon Color', 'elementskit-lite' ),
  1145. 'type' => Controls_Manager::COLOR,
  1146. 'selectors' => [
  1147. '{{WRAPPER}} .post-meta-list > span:hover > i' => 'color: {{VALUE}};',
  1148. '{{WRAPPER}} .post-meta-list > span:hover > svg path' => 'stroke: {{VALUE}}; fill: {{VALUE}};',
  1149. '{{WRAPPER}}.ekit-blog-posts--bg-hover .elementskit-post-image-card:hover .post-meta-list > span:hover > i' => 'color: {{VALUE}};',
  1150. '{{WRAPPER}}.ekit-blog-posts--bg-hover .elementskit-post-image-card:hover .post-meta-list > span > svg path' => 'strock: {{VALUE}}; fill: {{VALUE}};',
  1151. ],
  1152. ]
  1153. );
  1154. $this->add_group_control(
  1155. Group_Control_Background::get_type(),
  1156. [
  1157. 'name' => 'ekit_blog_posts_meta_background_hover',
  1158. 'label' => esc_html__( 'Background', 'elementskit-lite' ),
  1159. 'types' => [ 'classic', 'gradient', ],
  1160. 'selector' => '{{WRAPPER}} .post-meta-list > span:hover, {{WRAPPER}}.ekit-blog-posts--bg-hover .elementskit-post-image-card:hover .post-meta-list > span',
  1161. 'exclude' => [
  1162. 'image'
  1163. ]
  1164. ]
  1165. );
  1166. $this->add_group_control(
  1167. Group_Control_Border::get_type(),
  1168. [
  1169. 'name' => 'ekit_blog_posts_meta_border_hover',
  1170. 'label' => esc_html__( 'Border', 'elementskit-lite' ),
  1171. 'selector' => '{{WRAPPER}} .post-meta-list > span:hover, {{WRAPPER}}.ekit-blog-posts--bg-hover .elementskit-post-image-card:hover .post-meta-list > span',
  1172. ]
  1173. );
  1174. $this->add_control(
  1175. 'ekit_blog_posts_meta_border_radius_hover',
  1176. [
  1177. 'label' => esc_html__( 'Border Radius', 'elementskit-lite' ),
  1178. 'type' => Controls_Manager::DIMENSIONS,
  1179. 'size_units' => [ 'px', '%', 'em' ],
  1180. 'selectors' => [
  1181. '{{WRAPPER}} .post-meta-list > span:hover, {{WRAPPER}}.ekit-blog-posts--bg-hover .elementskit-post-image-card:hover .post-meta-list > span' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
  1182. ],
  1183. ]
  1184. );
  1185. $this->add_group_cont