Elementor Essential Addons - Version 4.4.0

Version Description

  • 26/01/2021 =
  • Added: EA Woo Product Compare
  • Added: EA Woo Product Compare integration with EA Product Grid
  • Fixed: EA Login | Register | Showing Invalid Username message for Invalid Password
  • Fixed: EA Login | Register | added "Remember Me" text controller
  • Few minor bug fix and improvements
Download this release

Release Info

Developer re_enter_rupok
Plugin Icon 128x128 Elementor Essential Addons
Version 4.4.0
Comparing to
See all releases

Code changes from version 4.3.9 to 4.4.0

Files changed (77) hide show
  1. assets/admin/css/eaicon.css +3 -0
  2. assets/admin/fonts/eaicon.eot +0 -0
  3. assets/admin/fonts/eaicon.svg +2 -1
  4. assets/admin/fonts/eaicon.ttf +0 -0
  5. assets/admin/fonts/eaicon.woff +0 -0
  6. assets/admin/images/compare-icon.svg +12 -0
  7. assets/front-end/css/view/gravity-form.css +19 -2
  8. assets/front-end/css/view/gravity-form.min.css +1 -1
  9. assets/front-end/css/view/load-more.css +6 -3
  10. assets/front-end/css/view/load-more.min.css +1 -1
  11. assets/front-end/css/view/login-register.css +12 -69
  12. assets/front-end/css/view/login-register.min.css +1 -1
  13. assets/front-end/css/view/product-grid.css +630 -34
  14. assets/front-end/css/view/product-grid.min.css +1 -1
  15. assets/front-end/css/view/woo-product-compare.css +415 -0
  16. assets/front-end/css/view/woo-product-compare.min.css +1 -0
  17. assets/front-end/js/edit/advanced-data-table.min.js +1 -1
  18. assets/front-end/js/edit/ea-select2.js +44 -31
  19. assets/front-end/js/edit/promotion.min.js +1 -1
  20. assets/front-end/js/edit/reading-progress.min.js +1 -1
  21. assets/front-end/js/edit/table-of-content.min.js +1 -1
  22. assets/front-end/js/view/dummy-widget.js +100 -0
  23. assets/front-end/js/view/dummy-widget.min.js +1 -0
  24. assets/front-end/js/view/event-calendar.min.js +1 -1
  25. assets/front-end/js/view/facebook-feed.js +1 -1
  26. assets/front-end/js/view/facebook-feed.min.js +1 -1
  27. assets/front-end/js/view/fancy-text.min.js +1 -1
  28. assets/front-end/js/view/filterable-gallery.js +1 -1
  29. assets/front-end/js/view/filterable-gallery.min.js +1 -1
  30. assets/front-end/js/view/general.js +22 -10
  31. assets/front-end/js/view/general.min.js +1 -1
  32. assets/front-end/js/view/image-accordion.min.js +1 -1
  33. assets/front-end/js/view/load-more.js +1 -1
  34. assets/front-end/js/view/load-more.min.js +1 -1
  35. assets/front-end/js/view/login-register.js +1 -1
  36. assets/front-end/js/view/login-register.min.js +1 -1
  37. assets/front-end/js/view/post-grid.min.js +1 -1
  38. assets/front-end/js/view/price-table.min.js +1 -1
  39. assets/front-end/js/view/product-grid.js +1 -1
  40. assets/front-end/js/view/product-grid.min.js +1 -1
  41. assets/front-end/js/view/progress-bar.min.js +1 -1
  42. assets/front-end/js/view/reading-progress.min.js +1 -1
  43. assets/front-end/js/view/sticky-video.min.js +1 -1
  44. assets/front-end/js/view/table-of-content.min.js +1 -1
  45. assets/front-end/js/view/twitter-feed.min.js +1 -1
  46. assets/front-end/js/view/typeform.min.js +1 -1
  47. assets/front-end/js/view/woo-checkout.min.js +1 -1
  48. assets/front-end/js/view/woo-product-compare.min.js +1 -0
  49. config.php +17 -0
  50. essential_adons_elementor.php +2 -2
  51. includes/Classes/Bootstrap.php +16 -12
  52. includes/Classes/Helper.php +46 -3
  53. includes/Controls/Select2.php +4 -2
  54. includes/Elements/Betterdocs_Category_Box.php +1 -1
  55. includes/Elements/Betterdocs_Category_Grid.php +1 -1
  56. includes/Elements/Data_Table.php +3 -3
  57. includes/Elements/Dual_Color_Header.php +879 -879
  58. includes/Elements/Facebook_Feed.php +289 -285
  59. includes/Elements/Filterable_Gallery.php +4 -1
  60. includes/Elements/Flip_Box.php +1 -1
  61. includes/Elements/Info_Box.php +23 -31
  62. includes/Elements/Login_Register.php +168 -40
  63. includes/Elements/Post_Grid.php +24 -68
  64. includes/Elements/Post_Timeline.php +17 -35
  65. includes/Elements/Product_Grid.php +2603 -2616
  66. includes/Elements/Woo_Checkout.php +14 -1
  67. includes/Elements/Woo_Product_Compare.php +111 -0
  68. includes/Template/Content/Product_Grid.php +91 -0
  69. includes/Template/Eicon-Woocommerce/default.php +361 -249
  70. includes/Template/Woocommerce/Checkout/Woo_Checkout_Helper.php +3 -2
  71. includes/Traits/Controls.php +1 -3
  72. includes/Traits/Enqueue.php +8 -2
  73. includes/Traits/Facebook_Feed.php +48 -10
  74. includes/Traits/Helper.php +255 -75
  75. includes/Traits/Login_Registration.php +95 -42
  76. includes/Traits/Template_Query.php +3 -2
  77. includes/Traits/Woo_Product_Comparable.php +1927 -0
assets/admin/css/eaicon.css CHANGED
@@ -272,3 +272,6 @@
272
  .eaicon-typeform:before {
273
  content: "\e950";
274
  }
 
 
 
272
  .eaicon-typeform:before {
273
  content: "\e950";
274
  }
275
+ .eaicon-product-compare:before {
276
+ content: "\e953";
277
+ }
assets/admin/fonts/eaicon.eot CHANGED
Binary file
assets/admin/fonts/eaicon.svg CHANGED
@@ -7,8 +7,8 @@
7
  {
8
  "fontFamily": "eaicon",
9
  "description": "Font generated by IcoMoon.",
10
- "majorVersion": 0,
11
  "version": "Version 1.0",
 
12
  "fontId": "eaicon",
13
  "psName": "eaicon",
14
  "subFamily": "Regular",
@@ -105,4 +105,5 @@
105
  <glyph unicode="&#xe950;" glyph-name="typeform" data-tags="typeform" d="M954.182 960h-884.364c-37.236 0-69.818-32.582-69.818-69.818v-884.364c0-37.236 32.582-69.818 69.818-69.818h884.364c37.236 0 69.818 32.582 69.818 69.818v884.364c0 40.339-29.479 69.818-69.818 69.818zM986.764 823.467c0 0 0 0 0-4.655v-809.891c0-17.067-17.067-32.582-32.582-32.582h-884.364c-17.067 0-32.582 17.067-32.582 32.582 0 1.552 0 814.545 0 814.545v69.818c0 17.067 17.067 32.582 32.582 32.582h884.364c17.067 0 32.582-17.067 32.582-32.582v-69.818zM800.582 506.958h-595.782c-20.17 0-37.236-17.067-37.236-37.236v-204.8c0-24.824 17.067-37.236 37.236-37.236h597.333c20.17 0 37.236 17.067 37.236 37.236v204.8c-1.552 20.17-18.618 37.236-38.788 37.236zM797.479 266.473h-592.679v201.697h594.23v-201.697zM169.115 717.964c-1.552-12.412 7.758-20.17 20.17-20.17h265.309c12.412 0 20.17 7.758 20.17 20.17s-7.758 20.17-20.17 20.17h-265.309c-12.412 0-20.17-7.758-20.17-20.17zM564.752 697.794h246.691c12.412 0 20.17 7.758 20.17 20.17s-7.758 20.17-20.17 20.17h-246.691c-12.412 0-20.17-7.758-20.17-20.17s7.758-20.17 20.17-20.17zM380.121 148.558h-183.079c-12.412 0-20.17-7.758-20.17-20.17s7.758-20.17 20.17-20.17h184.63c12.412 0 20.17 7.758 20.17 20.17s-9.309 20.17-21.721 20.17zM817.648 626.424h-628.364c-12.412 0-20.17-7.758-20.17-20.17s7.758-20.17 20.17-20.17h629.915c12.412 0 20.17 7.758 20.17 20.17-1.552 12.412-9.309 20.17-21.721 20.17zM99.297 887.079v0c-10.861 0-18.618-6.206-18.618-18.618s7.758-17.067 18.618-17.067v0c10.861 0 18.618 6.206 18.618 18.618s-7.758 17.067-18.618 17.067zM167.564 851.394c0 0 0 0 0 0s0 0 0 0v0zM167.564 887.079c0 0 0 0 0 0s0 0 0 0v0zM186.182 868.461c0 10.861-6.206 18.618-17.067 18.618s-17.067-6.206-17.067-18.618c0-10.861 6.206-18.618 17.067-18.618 9.309 1.552 17.067 7.758 17.067 18.618zM234.279 851.394c10.861 0 18.618 6.206 18.618 18.618 0 10.861-6.206 18.618-18.618 18.618-10.861 0-18.618-6.206-18.618-18.618s7.758-18.618 18.618-18.618zM234.279 851.394v0 0zM234.279 887.079v0 0z" />
106
  <glyph unicode="&#xe951;" glyph-name="reviewx" data-tags="reviewx" horiz-adv-x="884" d="M372.364 94.255l-16.291 2.327c-169.891 20.945-307.2 144.291-344.436 311.855-25.6 109.382-6.982 221.091 53.527 316.509 46.545 72.145 111.709 128 188.509 162.909l4.655 2.327c2.327 0 6.982 2.327 9.309 2.327 20.945 0 37.236-16.291 37.236-37.236 0-13.964-6.982-25.6-16.291-30.255l-2.327-2.327c0 0-2.327-2.327-4.655-2.327h-4.655c-65.164-30.255-116.364-74.473-153.6-132.655-48.873-79.127-62.836-172.218-41.891-262.982 37.236-155.927 169.891-258.327 330.473-258.327h39.564c0 0 2.327 0 2.327-2.327l-13.964-128 27.927 11.636c144.291 65.164 258.327 195.491 293.236 337.455 0 0 0 2.327 0 2.327l2.327 2.327v2.327c4.655 13.964 18.618 23.273 32.582 23.273 18.618 0 34.909-16.291 34.909-34.909 0-2.327 0-4.655 0-6.982l-2.327-6.982c-16.291-60.509-44.218-118.691-81.455-174.545-81.455-118.691-207.127-207.127-342.109-242.036l-48.873-13.964 16.291 158.255zM816.873 557.382l-34.909-16.291 11.636 37.236-27.927 30.255h39.564l18.618 34.909 11.636-37.236 39.564-6.982-32.582-25.6 4.655-37.236zM467.782 876.218l-37.236-16.291 13.964 37.236-27.927 27.927h39.564l20.945 34.909 11.636-37.236 37.236-6.982-32.582-23.273 6.982-39.564zM674.909 778.473l-51.2 9.309 44.218 32.582-6.982 53.527 41.891-32.582 48.873 23.273-16.291-53.527 37.236-37.236h-53.527l-25.6-46.545z" />
107
  <glyph unicode="&#xe952;" glyph-name="easyjobs" data-tags="easyjobs" d="M952.32 91.648c0-27.146-22.006-49.152-49.152-49.152s-49.152 22.006-49.152 49.152c0 27.146 22.006 49.152 49.152 49.152s49.152-22.006 49.152-49.152zM749.568 134.656c-22.528 0-38.912-18.432-38.912-38.912v0c0-22.528 18.432-38.912 38.912-38.912s38.912 18.432 38.912 38.912v0c0 22.528-18.432 38.912-38.912 38.912zM1005.568 26.112c-10.24 0-18.432-8.192-18.432-18.432v0c0-10.24 8.192-18.432 18.432-18.432s18.432 8.192 18.432 18.432v0c0 10.24-8.192 18.432-18.432 18.432zM851.968-6.656c0-13.573-11.003-24.576-24.576-24.576s-24.576 11.003-24.576 24.576c0 13.573 11.003 24.576 24.576 24.576s24.576-11.003 24.576-24.576zM372.736 671.232c4.096-2.048 10.24-2.048 14.336-2.048 0 0 0 0 2.048 0 28.672 0 51.2 22.528 51.2 51.2s-22.528 51.2-51.2 51.2c-28.672 0-51.2-22.528-51.2-51.2 0-20.48 12.288-36.864 28.672-45.056 0-2.048 2.048-4.096 6.144-4.096zM720.896 333.312c36.864 59.392 59.392 129.024 59.392 204.8-2.048 188.416-135.168 344.064-313.344 380.928-26.624 6.144-53.248 8.192-81.92 8.192-212.992 0-385.024-174.080-385.024-389.12 0-182.272 122.88-335.872 290.816-376.832-28.672 12.288-212.992 139.264-210.944 389.12 2.048 157.696 135.168 288.768 296.96 292.864 174.080 6.144 317.44-135.168 317.44-307.2 0-129.024-77.824-237.568-188.416-282.624-24.576-8.192-104.448-26.624-172.032 65.536-45.056 67.584-38.912 139.264-36.864 159.744 4.096 40.96 34.816 69.632 73.728 69.632 2.048 0 4.096 0 8.192 0 45.056-4.096 73.728-34.816 71.68-75.776-2.048-34.816-10.24-71.68-26.624-104.448l-6.144-2.048c-2.048-4.096-4.096-10.24-6.144-16.384-2.048-4.096-2.048-10.24-2.048-16.384 4.096-12.288 16.384-20.48 28.672-18.432v0c6.144 2.048 12.288 4.096 16.384 10.24 32.768 49.152 59.392 102.4 59.392 163.84 0 36.864-12.288 71.68-36.864 96.256-26.624 26.624-61.44 40.96-102.4 40.96-2.048 0-6.144 0-8.192 0-20.48 0-38.912-6.144-55.296-12.288v0c0 0-86.016-28.672-92.16-126.976-6.144-55.296-2.048-147.456 79.872-237.568 10.24-10.24 20.48-20.48 30.72-30.72 0 0 0 0 0 0v0c12.288-10.24 26.624-20.48 43.008-28.672 8.192-4.096 14.336-8.192 22.528-12.288 0 0 0 0 2.048 0 0 0 0 0 0 0v0c14.336-6.144 28.672-10.24 45.056-12.288 0 0 0 0 0 0v0c32.768-4.096 67.584 0 100.352 14.336 24.576 10.24 49.152 24.576 71.68 40.96l63.488-59.392c16.384 16.384 38.912 24.576 63.488 24.576 38.912 0 71.68-22.528 86.016-55.296 8.192 20.48 26.624 38.912 47.104 45.056l-153.6 157.696z" />
 
108
  </font></defs></svg>
7
  {
8
  "fontFamily": "eaicon",
9
  "description": "Font generated by IcoMoon.",
 
10
  "version": "Version 1.0",
11
+ "majorVersion": 0,
12
  "fontId": "eaicon",
13
  "psName": "eaicon",
14
  "subFamily": "Regular",
105
  <glyph unicode="&#xe950;" glyph-name="typeform" data-tags="typeform" d="M954.182 960h-884.364c-37.236 0-69.818-32.582-69.818-69.818v-884.364c0-37.236 32.582-69.818 69.818-69.818h884.364c37.236 0 69.818 32.582 69.818 69.818v884.364c0 40.339-29.479 69.818-69.818 69.818zM986.764 823.467c0 0 0 0 0-4.655v-809.891c0-17.067-17.067-32.582-32.582-32.582h-884.364c-17.067 0-32.582 17.067-32.582 32.582 0 1.552 0 814.545 0 814.545v69.818c0 17.067 17.067 32.582 32.582 32.582h884.364c17.067 0 32.582-17.067 32.582-32.582v-69.818zM800.582 506.958h-595.782c-20.17 0-37.236-17.067-37.236-37.236v-204.8c0-24.824 17.067-37.236 37.236-37.236h597.333c20.17 0 37.236 17.067 37.236 37.236v204.8c-1.552 20.17-18.618 37.236-38.788 37.236zM797.479 266.473h-592.679v201.697h594.23v-201.697zM169.115 717.964c-1.552-12.412 7.758-20.17 20.17-20.17h265.309c12.412 0 20.17 7.758 20.17 20.17s-7.758 20.17-20.17 20.17h-265.309c-12.412 0-20.17-7.758-20.17-20.17zM564.752 697.794h246.691c12.412 0 20.17 7.758 20.17 20.17s-7.758 20.17-20.17 20.17h-246.691c-12.412 0-20.17-7.758-20.17-20.17s7.758-20.17 20.17-20.17zM380.121 148.558h-183.079c-12.412 0-20.17-7.758-20.17-20.17s7.758-20.17 20.17-20.17h184.63c12.412 0 20.17 7.758 20.17 20.17s-9.309 20.17-21.721 20.17zM817.648 626.424h-628.364c-12.412 0-20.17-7.758-20.17-20.17s7.758-20.17 20.17-20.17h629.915c12.412 0 20.17 7.758 20.17 20.17-1.552 12.412-9.309 20.17-21.721 20.17zM99.297 887.079v0c-10.861 0-18.618-6.206-18.618-18.618s7.758-17.067 18.618-17.067v0c10.861 0 18.618 6.206 18.618 18.618s-7.758 17.067-18.618 17.067zM167.564 851.394c0 0 0 0 0 0s0 0 0 0v0zM167.564 887.079c0 0 0 0 0 0s0 0 0 0v0zM186.182 868.461c0 10.861-6.206 18.618-17.067 18.618s-17.067-6.206-17.067-18.618c0-10.861 6.206-18.618 17.067-18.618 9.309 1.552 17.067 7.758 17.067 18.618zM234.279 851.394c10.861 0 18.618 6.206 18.618 18.618 0 10.861-6.206 18.618-18.618 18.618-10.861 0-18.618-6.206-18.618-18.618s7.758-18.618 18.618-18.618zM234.279 851.394v0 0zM234.279 887.079v0 0z" />
106
  <glyph unicode="&#xe951;" glyph-name="reviewx" data-tags="reviewx" horiz-adv-x="884" d="M372.364 94.255l-16.291 2.327c-169.891 20.945-307.2 144.291-344.436 311.855-25.6 109.382-6.982 221.091 53.527 316.509 46.545 72.145 111.709 128 188.509 162.909l4.655 2.327c2.327 0 6.982 2.327 9.309 2.327 20.945 0 37.236-16.291 37.236-37.236 0-13.964-6.982-25.6-16.291-30.255l-2.327-2.327c0 0-2.327-2.327-4.655-2.327h-4.655c-65.164-30.255-116.364-74.473-153.6-132.655-48.873-79.127-62.836-172.218-41.891-262.982 37.236-155.927 169.891-258.327 330.473-258.327h39.564c0 0 2.327 0 2.327-2.327l-13.964-128 27.927 11.636c144.291 65.164 258.327 195.491 293.236 337.455 0 0 0 2.327 0 2.327l2.327 2.327v2.327c4.655 13.964 18.618 23.273 32.582 23.273 18.618 0 34.909-16.291 34.909-34.909 0-2.327 0-4.655 0-6.982l-2.327-6.982c-16.291-60.509-44.218-118.691-81.455-174.545-81.455-118.691-207.127-207.127-342.109-242.036l-48.873-13.964 16.291 158.255zM816.873 557.382l-34.909-16.291 11.636 37.236-27.927 30.255h39.564l18.618 34.909 11.636-37.236 39.564-6.982-32.582-25.6 4.655-37.236zM467.782 876.218l-37.236-16.291 13.964 37.236-27.927 27.927h39.564l20.945 34.909 11.636-37.236 37.236-6.982-32.582-23.273 6.982-39.564zM674.909 778.473l-51.2 9.309 44.218 32.582-6.982 53.527 41.891-32.582 48.873 23.273-16.291-53.527 37.236-37.236h-53.527l-25.6-46.545z" />
107
  <glyph unicode="&#xe952;" glyph-name="easyjobs" data-tags="easyjobs" d="M952.32 91.648c0-27.146-22.006-49.152-49.152-49.152s-49.152 22.006-49.152 49.152c0 27.146 22.006 49.152 49.152 49.152s49.152-22.006 49.152-49.152zM749.568 134.656c-22.528 0-38.912-18.432-38.912-38.912v0c0-22.528 18.432-38.912 38.912-38.912s38.912 18.432 38.912 38.912v0c0 22.528-18.432 38.912-38.912 38.912zM1005.568 26.112c-10.24 0-18.432-8.192-18.432-18.432v0c0-10.24 8.192-18.432 18.432-18.432s18.432 8.192 18.432 18.432v0c0 10.24-8.192 18.432-18.432 18.432zM851.968-6.656c0-13.573-11.003-24.576-24.576-24.576s-24.576 11.003-24.576 24.576c0 13.573 11.003 24.576 24.576 24.576s24.576-11.003 24.576-24.576zM372.736 671.232c4.096-2.048 10.24-2.048 14.336-2.048 0 0 0 0 2.048 0 28.672 0 51.2 22.528 51.2 51.2s-22.528 51.2-51.2 51.2c-28.672 0-51.2-22.528-51.2-51.2 0-20.48 12.288-36.864 28.672-45.056 0-2.048 2.048-4.096 6.144-4.096zM720.896 333.312c36.864 59.392 59.392 129.024 59.392 204.8-2.048 188.416-135.168 344.064-313.344 380.928-26.624 6.144-53.248 8.192-81.92 8.192-212.992 0-385.024-174.080-385.024-389.12 0-182.272 122.88-335.872 290.816-376.832-28.672 12.288-212.992 139.264-210.944 389.12 2.048 157.696 135.168 288.768 296.96 292.864 174.080 6.144 317.44-135.168 317.44-307.2 0-129.024-77.824-237.568-188.416-282.624-24.576-8.192-104.448-26.624-172.032 65.536-45.056 67.584-38.912 139.264-36.864 159.744 4.096 40.96 34.816 69.632 73.728 69.632 2.048 0 4.096 0 8.192 0 45.056-4.096 73.728-34.816 71.68-75.776-2.048-34.816-10.24-71.68-26.624-104.448l-6.144-2.048c-2.048-4.096-4.096-10.24-6.144-16.384-2.048-4.096-2.048-10.24-2.048-16.384 4.096-12.288 16.384-20.48 28.672-18.432v0c6.144 2.048 12.288 4.096 16.384 10.24 32.768 49.152 59.392 102.4 59.392 163.84 0 36.864-12.288 71.68-36.864 96.256-26.624 26.624-61.44 40.96-102.4 40.96-2.048 0-6.144 0-8.192 0-20.48 0-38.912-6.144-55.296-12.288v0c0 0-86.016-28.672-92.16-126.976-6.144-55.296-2.048-147.456 79.872-237.568 10.24-10.24 20.48-20.48 30.72-30.72 0 0 0 0 0 0v0c12.288-10.24 26.624-20.48 43.008-28.672 8.192-4.096 14.336-8.192 22.528-12.288 0 0 0 0 2.048 0 0 0 0 0 0 0v0c14.336-6.144 28.672-10.24 45.056-12.288 0 0 0 0 0 0v0c32.768-4.096 67.584 0 100.352 14.336 24.576 10.24 49.152 24.576 71.68 40.96l63.488-59.392c16.384 16.384 38.912 24.576 63.488 24.576 38.912 0 71.68-22.528 86.016-55.296 8.192 20.48 26.624 38.912 47.104 45.056l-153.6 157.696z" />
108
+ <glyph unicode="&#xe953;" glyph-name="product-compare" data-tags="product compare" horiz-adv-x="965" d="M899.657 945.371h-833.829c-35.109 0-65.829-30.72-65.829-65.829v-864.549c0-35.109 30.72-65.829 65.829-65.829h833.829c35.109 0 65.829 30.72 65.829 65.829v864.549c0 38.034-27.794 65.829-65.829 65.829zM930.377 784.457c0 0 0 0 0-4.389v-763.611c0-16.091-16.091-30.72-30.72-30.72h-833.829c-16.091 0-30.72 16.091-30.72 30.72 0 1.463 0 768 0 768v98.011c0 16.091 16.091 30.72 30.72 30.72h833.829c16.091 0 30.72-16.091 30.72-30.72v-98.011zM333.531 456.777h-172.617c-11.703 0-19.017-7.314-19.017-19.017s7.314-19.017 19.017-19.017h174.080c11.703 0 19.017 7.314 19.017 19.017-1.463 11.703-8.777 19.017-20.48 19.017zM333.531 349.989h-172.617c-11.703 0-19.017-7.314-19.017-19.017s7.314-19.017 19.017-19.017h174.080c11.703 0 19.017 7.314 19.017 19.017s-8.777 19.017-20.48 19.017zM333.531 241.737h-172.617c-11.703 0-19.017-7.314-19.017-19.017s7.314-19.017 19.017-19.017h174.080c11.703 0 19.017 7.314 19.017 19.017-1.463 11.703-8.777 19.017-20.48 19.017zM797.257 456.777h-172.617c-11.703 0-19.017-7.314-19.017-19.017s7.314-19.017 19.017-19.017h174.080c11.703 0 19.017 7.314 19.017 19.017-1.463 11.703-8.777 19.017-20.48 19.017zM797.257 349.989h-172.617c-11.703 0-19.017-7.314-19.017-19.017s7.314-19.017 19.017-19.017h174.080c11.703 0 19.017 7.314 19.017 19.017s-8.777 19.017-20.48 19.017zM797.257 241.737h-172.617c-11.703 0-19.017-7.314-19.017-19.017s7.314-19.017 19.017-19.017h174.080c11.703 0 19.017 7.314 19.017 19.017-1.463 11.703-8.777 19.017-20.48 19.017zM482.743 825.417c-10.24 0-17.554-7.314-17.554-17.554v-722.651c0-10.24 7.314-17.554 17.554-17.554s17.554 7.314 17.554 16.091v724.114c0 10.24-7.314 17.554-17.554 17.554zM245.76 572.343c43.886 0 80.457 36.571 80.457 80.457s-36.571 80.457-80.457 80.457-78.994-36.571-78.994-80.457c0-43.886 35.109-80.457 78.994-80.457zM245.76 704c27.794 0 51.2-23.406 51.2-51.2s-23.406-51.2-51.2-51.2-51.2 23.406-51.2 51.2c1.463 27.794 23.406 51.2 51.2 51.2zM655.36 569.417c2.926-2.926 5.851-4.389 10.24-4.389s7.314 1.463 10.24 4.389l52.663 55.589 52.663-55.589c2.926-2.926 7.314-4.389 10.24-4.389s7.314 1.463 10.24 4.389c5.851 5.851 5.851 14.629 0 20.48l-54.126 57.051 54.126 57.051c5.851 5.851 5.851 14.629 0 20.48s-14.629 5.851-20.48 0l-52.663-55.589-52.663 55.589c-5.851 5.851-14.629 5.851-20.48 0s-5.851-14.629 0-20.48l54.126-57.051-54.126-57.051c-5.851-5.851-5.851-14.629 0-20.48z" />
109
  </font></defs></svg>
assets/admin/fonts/eaicon.ttf CHANGED
Binary file
assets/admin/fonts/eaicon.woff CHANGED
Binary file
assets/admin/images/compare-icon.svg ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
+ viewBox="0 0 493.4 493.4" style="enable-background:new 0 0 493.4 493.4;" xml:space="preserve">
5
+ <style type="text/css">
6
+ .st0{fill:#556068;}
7
+ </style>
8
+ <g>
9
+ <polygon class="st0" points="382.6,167.5 0.4,167.5 0.4,114.1 382.6,114.1 382.6,39.9 492.5,140 382.6,241.4 "/>
10
+ <polygon class="st0" points="1.3,330.8 111.2,230.6 111.2,304.8 493.4,304.8 493.4,358.2 111.2,358.2 111.2,432.1 "/>
11
+ </g>
12
+ </svg>
assets/front-end/css/view/gravity-form.css CHANGED
@@ -20,8 +20,7 @@
20
  }
21
 
22
  .eael-gravity-form .gform_wrapper ul.gform_fields li.gfield {
23
- padding: 0;
24
- padding-right: 16px;
25
  }
26
 
27
  .eael-gravity-form .gform_wrapper textarea {
@@ -53,3 +52,21 @@
53
  .eael-gravity-form .gform_wrapper .gf_scroll_text .gsection_description {
54
  margin: 0;
55
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
  }
21
 
22
  .eael-gravity-form .gform_wrapper ul.gform_fields li.gfield {
23
+ padding: 0px;
 
24
  }
25
 
26
  .eael-gravity-form .gform_wrapper textarea {
52
  .eael-gravity-form .gform_wrapper .gf_scroll_text .gsection_description {
53
  margin: 0;
54
  }
55
+
56
+ @media only screen and (max-width: 767px) {
57
+ .gform_wrapper .gf_progressbar {
58
+ width: calc(100%) !important;
59
+ }
60
+ }
61
+
62
+ @media only screen and (min-width: 768px) {
63
+ .gform_wrapper .gf_progressbar {
64
+ width: calc(100%) !important;
65
+ }
66
+ }
67
+
68
+ @media only screen and (min-width: 641px) {
69
+ .gform_wrapper.gform_validation_error .gform_body ul li.gfield.gfield_error:not(.gf_left_half):not(.gf_right_half) {
70
+ max-width: calc(100%) !important;
71
+ }
72
+ }
assets/front-end/css/view/gravity-form.min.css CHANGED
@@ -1 +1 @@
1
- .eael-gravity-form-align-default,.eael-gravity-form-align-left,.eael-gravity-form-btn-align-left{text-align:left}.eael-gravity-form-align-right,.eael-gravity-form-btn-align-right{text-align:right}.eael-gravity-form-align-center,.eael-gravity-form-btn-align-center{text-align:center}.gform_wrapper form li,.gform_wrapper li{list-style:none}.eael-gravity-form .gform_wrapper ul.gform_fields li.gfield{padding:0;padding-right:16px}.eael-gravity-form .gform_wrapper textarea{padding:0;font-weight:normal !important;font-family:inherit}.eael-gravity-form .gform_wrapper .gform_footer input.button,.eael-gravity-form .gform_wrapper .gform_footer input[type=submit],.eael-gravity-form .gform_wrapper .gform_page_footer input.button,.eael-gravity-form .gform_wrapper .gform_page_footer input[type=submit]{margin:0}.eael-gravity-form.title-description-hide .gform_heading{display:none}.eael-gravity-form.labels-hide .gform_wrapper .top_label .gfield_label,.eael-gravity-form.labels-hide .gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label{display:none}.eael-gravity-form-button-full-width .gform_wrapper .gform_footer input[type=submit]{width:100%}.eael-gravity-form .gform_wrapper .gf_scroll_text .gsection_description{margin:0}
1
+ .eael-gravity-form-align-default,.eael-gravity-form-align-left,.eael-gravity-form-btn-align-left{text-align:left}.eael-gravity-form-align-right,.eael-gravity-form-btn-align-right{text-align:right}.eael-gravity-form-align-center,.eael-gravity-form-btn-align-center{text-align:center}.gform_wrapper form li,.gform_wrapper li{list-style:none}.eael-gravity-form .gform_wrapper ul.gform_fields li.gfield{padding:0px}.eael-gravity-form .gform_wrapper textarea{padding:0;font-weight:normal !important;font-family:inherit}.eael-gravity-form .gform_wrapper .gform_footer input.button,.eael-gravity-form .gform_wrapper .gform_footer input[type=submit],.eael-gravity-form .gform_wrapper .gform_page_footer input.button,.eael-gravity-form .gform_wrapper .gform_page_footer input[type=submit]{margin:0}.eael-gravity-form.title-description-hide .gform_heading{display:none}.eael-gravity-form.labels-hide .gform_wrapper .top_label .gfield_label,.eael-gravity-form.labels-hide .gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label{display:none}.eael-gravity-form-button-full-width .gform_wrapper .gform_footer input[type=submit]{width:100%}.eael-gravity-form .gform_wrapper .gf_scroll_text .gsection_description{margin:0}@media only screen and (max-width: 767px){.gform_wrapper .gf_progressbar{width:calc(100%) !important}}@media only screen and (min-width: 768px){.gform_wrapper .gf_progressbar{width:calc(100%) !important}}@media only screen and (min-width: 641px){.gform_wrapper.gform_validation_error .gform_body ul li.gfield.gfield_error:not(.gf_left_half):not(.gf_right_half){max-width:calc(100%) !important}}
assets/front-end/css/view/load-more.css CHANGED
@@ -51,7 +51,8 @@
51
  height: 20px;
52
  font-size: 10px;
53
  position: relative;
54
- text-indent: -9999em;
 
55
  border-top: 4px solid rgba(255, 255, 255, 0.2);
56
  border-right: 4px solid rgba(255, 255, 255, 0.2);
57
  border-bottom: 4px solid rgba(255, 255, 255, 0.2);
@@ -60,8 +61,6 @@
60
  transform: translateZ(0);
61
  -webkit-animation: loaderSpin 1.1s infinite linear;
62
  animation: loaderSpin 1.1s infinite linear;
63
- left: -100%;
64
- top: auto;
65
  margin-right: 5px;
66
  -webkit-transition: all 0.2s;
67
  -o-transition: all 0.2s;
@@ -73,6 +72,10 @@
73
  width: 20px;
74
  height: 20px;
75
  }
 
 
 
 
76
  .eael-button.button--loading > span,
77
  .eael-load-more-button.button--loading > span {
78
  margin-left: 0;
51
  height: 20px;
52
  font-size: 10px;
53
  position: relative;
54
+ top: auto;
55
+ left: -200%;
56
  border-top: 4px solid rgba(255, 255, 255, 0.2);
57
  border-right: 4px solid rgba(255, 255, 255, 0.2);
58
  border-bottom: 4px solid rgba(255, 255, 255, 0.2);
61
  transform: translateZ(0);
62
  -webkit-animation: loaderSpin 1.1s infinite linear;
63
  animation: loaderSpin 1.1s infinite linear;
 
 
64
  margin-right: 5px;
65
  -webkit-transition: all 0.2s;
66
  -o-transition: all 0.2s;
72
  width: 20px;
73
  height: 20px;
74
  }
75
+ .eael-button:focus,
76
+ .eael-load-more-button:focus {
77
+ outline: none;
78
+ }
79
  .eael-button.button--loading > span,
80
  .eael-load-more-button.button--loading > span {
81
  margin-left: 0;
assets/front-end/css/view/load-more.min.css CHANGED
@@ -1 +1 @@
1
- @-webkit-keyframes loaderSpin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loaderSpin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.eael-button-wrap,.eael-load-more-button-wrap{display:-webkit-box;display:-ms-flexbox;display:flex}.eael-button,.eael-load-more-button{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:1em 2em;border:0px solid;font-size:16px;overflow:hidden}.eael-button>span,.eael-load-more-button>span{margin-left:-20px}.eael-button .eael-btn-loader,.eael-load-more-button .eael-btn-loader{border-radius:50%;width:20px;height:20px;font-size:10px;position:relative;text-indent:-9999em;border-top:4px solid rgba(255,255,255,.2);border-right:4px solid rgba(255,255,255,.2);border-bottom:4px solid rgba(255,255,255,.2);border-left:4px solid #fff;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-animation:loaderSpin 1.1s infinite linear;animation:loaderSpin 1.1s infinite linear;left:-100%;top:auto;margin-right:5px;-webkit-transition:all .2s;-o-transition:all .2s;transition:all .2s}.eael-button .eael-btn-loader:after,.eael-load-more-button .eael-btn-loader:after{border-radius:50%;width:20px;height:20px}.eael-button.button--loading>span,.eael-load-more-button.button--loading>span{margin-left:0}.eael-button.button--loading .eael-btn-loader,.eael-load-more-button.button--loading .eael-btn-loader{left:0}.rtl .eael-load-more-button-wrap{direction:ltr}
1
+ @-webkit-keyframes loaderSpin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loaderSpin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.eael-button-wrap,.eael-load-more-button-wrap{display:-webkit-box;display:-ms-flexbox;display:flex}.eael-button,.eael-load-more-button{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:1em 2em;border:0px solid;font-size:16px;overflow:hidden}.eael-button>span,.eael-load-more-button>span{margin-left:-20px}.eael-button .eael-btn-loader,.eael-load-more-button .eael-btn-loader{border-radius:50%;width:20px;height:20px;font-size:10px;position:relative;top:auto;left:-200%;border-top:4px solid rgba(255,255,255,.2);border-right:4px solid rgba(255,255,255,.2);border-bottom:4px solid rgba(255,255,255,.2);border-left:4px solid #fff;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-animation:loaderSpin 1.1s infinite linear;animation:loaderSpin 1.1s infinite linear;margin-right:5px;-webkit-transition:all .2s;-o-transition:all .2s;transition:all .2s}.eael-button .eael-btn-loader:after,.eael-load-more-button .eael-btn-loader:after{border-radius:50%;width:20px;height:20px}.eael-button:focus,.eael-load-more-button:focus{outline:none}.eael-button.button--loading>span,.eael-load-more-button.button--loading>span{margin-left:0}.eael-button.button--loading .eael-btn-loader,.eael-load-more-button.button--loading .eael-btn-loader{left:0}.rtl .eael-load-more-button-wrap{direction:ltr}
assets/front-end/css/view/login-register.css CHANGED
@@ -151,18 +151,6 @@
151
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
152
  outline: none;
153
  }
154
- .eael-lr-form-wrapper.lr-icon-showing .eael-lr-form-group {
155
- position: relative;
156
- }
157
- .eael-lr-form-wrapper.lr-icon-showing .eael-lr-form-control {
158
- padding: 15px 15px 15px 30px;
159
- }
160
- .eael-lr-form-wrapper.lr-icon-showing i {
161
- position: absolute;
162
- bottom: 20px;
163
- left: 10px;
164
- color: inherit;
165
- }
166
  .eael-lr-form-wrapper .eael-forever-forget {
167
  display: -webkit-box;
168
  display: -ms-flexbox;
@@ -381,13 +369,13 @@
381
  -webkit-box-shadow: 0 0 0 var(--focus);
382
  box-shadow: 0 0 0 var(--focus);
383
  }
384
- .eael-lr-form-wrapper input[type=checkbox]:not(#eael_accept_tnc) {
385
- width: 18px;
386
  }
387
- .eael-lr-form-wrapper input[type=checkbox]:not(#eael_accept_tnc):after {
388
  opacity: var(--o, 0);
389
  }
390
- .eael-lr-form-wrapper input[type=checkbox]:not(#eael_accept_tnc):checked {
391
  --o: 1;
392
  }
393
  .eael-lr-form-wrapper input[type=checkbox] + label {
@@ -398,10 +386,10 @@
398
  cursor: pointer;
399
  margin-left: 4px;
400
  }
401
- .eael-lr-form-wrapper input[type=checkbox]:not(#eael_accept_tnc) {
402
  border-radius: 3px;
403
  }
404
- .eael-lr-form-wrapper input[type=checkbox]:not(#eael_accept_tnc):after {
405
  width: 5px;
406
  height: 9px;
407
  border: 2px solid var(--active-inner);
@@ -413,15 +401,15 @@
413
  -ms-transform: rotate(var(--r, 20deg));
414
  transform: rotate(var(--r, 20deg));
415
  }
416
- .eael-lr-form-wrapper input[type=checkbox]:not(#eael_accept_tnc):checked {
417
  --r: 43deg;
418
  }
419
- .eael-lr-form-wrapper input[type=checkbox]#eael_accept_tnc {
420
- width: 31px;
421
  border-radius: 11px;
422
  border-width: 1px;
423
  }
424
- .eael-lr-form-wrapper input[type=checkbox]#eael_accept_tnc:after {
425
  left: 2px;
426
  top: 2px;
427
  border-radius: 50%;
@@ -432,59 +420,14 @@
432
  -ms-transform: translateX(var(--x, 0));
433
  transform: translateX(var(--x, 0));
434
  }
435
- .eael-lr-form-wrapper input[type=checkbox]#eael_accept_tnc:checked {
436
  --ab: var(--active-inner);
437
  --x: 13px;
438
  }
439
- .eael-lr-form-wrapper input[type=checkbox]#eael_accept_tnc:disabled:not(:checked):after {
440
  opacity: 0.6;
441
  }
442
  }
443
- .lr-social-login-container {
444
- margin-top: 1rem;
445
- }
446
- .lr-social-login-container .lr-separator {
447
- width: 100%;
448
- text-align: center;
449
- }
450
- .lr-social-login-container .lr-separator p {
451
- padding: 0;
452
- margin: 0;
453
- }
454
- .lr-social-login-container .lr-separator hr {
455
- width: 100%;
456
- height: 1px;
457
- background: gray;
458
- }
459
- .lr-social-login-container .lr-social-buttons-container {
460
- display: -webkit-box;
461
- display: -ms-flexbox;
462
- display: flex;
463
- -ms-flex-wrap: wrap;
464
- flex-wrap: wrap;
465
- }
466
- .lr-social-login-container .eael-social-button {
467
- display: -webkit-box;
468
- display: -ms-flexbox;
469
- display: flex;
470
- max-width: 100%;
471
- -webkit-box-pack: space-evenly;
472
- -ms-flex-pack: space-evenly;
473
- justify-content: space-evenly;
474
- -webkit-box-align: center;
475
- -ms-flex-align: center;
476
- align-items: center;
477
- padding-top: 10px;
478
- margin-left: auto;
479
- margin-right: auto;
480
- cursor: pointer;
481
- }
482
- .lr-social-login-container .eael-social-button.eael-google {
483
- width: 175px;
484
- }
485
- .lr-social-login-container .eael-social-button.eael-facebook {
486
- width: 190px;
487
- }
488
  .rtl .eael-lr-form-wrapper.style-2 {
489
  direction: ltr;
490
  }
151
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
152
  outline: none;
153
  }
 
 
 
 
 
 
 
 
 
 
 
 
154
  .eael-lr-form-wrapper .eael-forever-forget {
155
  display: -webkit-box;
156
  display: -ms-flexbox;
369
  -webkit-box-shadow: 0 0 0 var(--focus);
370
  box-shadow: 0 0 0 var(--focus);
371
  }
372
+ .eael-lr-form-wrapper input[type=checkbox]:not(.lr-toggle) {
373
+ width: 18px !important;
374
  }
375
+ .eael-lr-form-wrapper input[type=checkbox]:not(.lr-toggle):after {
376
  opacity: var(--o, 0);
377
  }
378
+ .eael-lr-form-wrapper input[type=checkbox]:not(.lr-toggle):checked {
379
  --o: 1;
380
  }
381
  .eael-lr-form-wrapper input[type=checkbox] + label {
386
  cursor: pointer;
387
  margin-left: 4px;
388
  }
389
+ .eael-lr-form-wrapper input[type=checkbox]:not(.lr-toggle) {
390
  border-radius: 3px;
391
  }
392
+ .eael-lr-form-wrapper input[type=checkbox]:not(.lr-toggle):after {
393
  width: 5px;
394
  height: 9px;
395
  border: 2px solid var(--active-inner);
401
  -ms-transform: rotate(var(--r, 20deg));
402
  transform: rotate(var(--r, 20deg));
403
  }
404
+ .eael-lr-form-wrapper input[type=checkbox]:not(.lr-toggle):checked {
405
  --r: 43deg;
406
  }
407
+ .eael-lr-form-wrapper input[type=checkbox].lr-toggle {
408
+ width: 31px !important;
409
  border-radius: 11px;
410
  border-width: 1px;
411
  }
412
+ .eael-lr-form-wrapper input[type=checkbox].lr-toggle:after {
413
  left: 2px;
414
  top: 2px;
415
  border-radius: 50%;
420
  -ms-transform: translateX(var(--x, 0));
421
  transform: translateX(var(--x, 0));
422
  }
423
+ .eael-lr-form-wrapper input[type=checkbox].lr-toggle:checked {
424
  --ab: var(--active-inner);
425
  --x: 13px;
426
  }
427
+ .eael-lr-form-wrapper input[type=checkbox].lr-toggle:disabled:not(:checked):after {
428
  opacity: 0.6;
429
  }
430
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
431
  .rtl .eael-lr-form-wrapper.style-2 {
432
  direction: ltr;
433
  }
assets/front-end/css/view/login-register.min.css CHANGED
@@ -1 +1 @@
1
- .eael-w-10{width:10%}.eael-w-20{width:20%}.eael-w-25{width:25%}.eael-w-30{width:30%}.eael-w-33{width:33%}.eael-w-40{width:40%}.eael-w-50{width:50%}.eael-w-60{width:60%}.eael-w-66{width:66%}.eael-w-70{width:70%}.eael-w-75{width:75%}.eael-w-80{width:80%}.eael-w-90{width:90%}.eael-w-100{width:100%}.d-none{display:none}.d-ib{display:inline-block}.mr-auto{margin-right:auto}.ml-auto{margin-left:auto}.fd-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.fd-col{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.eael-lr-form-wrapper{width:370px;margin:0 auto;background-color:#fff;padding:35px;border-radius:10px;-webkit-box-shadow:0 0 37.5px 14px rgba(2,8,53,.06);box-shadow:0 0 37.5px 14px rgba(2,8,53,.06)}.eael-lr-form-wrapper.style-2{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;padding:0;border-radius:0}@media(max-width: 767px){.eael-lr-form-wrapper.style-2{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.eael-lr-form-wrapper.style-2 .lr-form-illustration{width:50%;background-repeat:no-repeat;background-size:cover;background-position:center;position:relative;z-index:1}@media(max-width: 767px){.eael-lr-form-wrapper.style-2 .lr-form-illustration{padding-bottom:200px}}.eael-lr-form-wrapper.style-2 .lr-form-wrapper{padding:35px;width:370px}.eael-lr-form-wrapper .eael-lr-form-group{margin-bottom:1rem}.eael-lr-form-wrapper .eael-lr-form-group label{display:inline-block;margin-bottom:.5rem}.eael-lr-form-wrapper .eael-lr-form-group label.mark-required{position:relative}.eael-lr-form-wrapper .eael-lr-form-group label.mark-required::after{content:" *";color:red;position:absolute;line-height:0;top:17px;right:-10px}.eael-lr-form-wrapper .eael-lr-form-group .eael-lr-form-control{display:block;width:100%;padding:15px;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #cfcfe8;border-radius:3px;-webkit-transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;-o-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;outline:none}.eael-lr-form-wrapper.lr-icon-showing .eael-lr-form-group{position:relative}.eael-lr-form-wrapper.lr-icon-showing .eael-lr-form-control{padding:15px 15px 15px 30px}.eael-lr-form-wrapper.lr-icon-showing i{position:absolute;bottom:20px;left:10px;color:inherit}.eael-lr-form-wrapper .eael-forever-forget{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:.9em}.eael-lr-form-wrapper .eael-forever-forget .forget-menot{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eael-lr-form-wrapper .eael-forever-forget .forget-menot label{margin:0 0 0 10px}.eael-lr-form-wrapper .eael-forever-forget .forget-menot,.eael-lr-form-wrapper .eael-forever-forget .forget-pass{-webkit-box-flex:1;-ms-flex:1;flex:1;margin:0}.eael-lr-form-wrapper .eael-forever-forget .forget-pass{text-align:right}.eael-lr-form-wrapper .eael-lr-password-wrapper{position:relative}.eael-lr-form-wrapper .eael-lr-password-wrapper button{position:absolute;top:0;right:0;height:100%;background:transparent;border:none;color:red}.eael-lr-form-wrapper .eael-lr-btn{background-color:#744ffb;color:#fff;position:relative;overflow:hidden;display:inline-block;vertical-align:top;text-decoration:none;border:none;-webkit-transition:all .2s;-o-transition:all .2s;transition:all .2s;padding:15px;width:130px}.eael-lr-form-wrapper .eael-lr-btn.eael-lr-btn-block{display:block}.eael-lr-form-wrapper .eael-lr-btn.eael-lr-btn-inline{display:inline-block}.eael-lr-form-wrapper .eael-lr-link{display:inline-block}.eael-lr-form-wrapper .eael-sign-wrapper{text-align:center;padding:20px 0 0}.eael-lr-form-wrapper .lr-form-header.header-inline{display:-webkit-box;display:-ms-flexbox;display:flex}.eael-lr-form-wrapper .lr-form-header.header-inline .form-logo{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.eael-lr-form-wrapper .lr-form-header.header-inline .form-dsc{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;padding-left:15px}.eael-lr-form-wrapper .lr-form-header img{width:100px}.eael-lr-form-wrapper .lr-form-header h4{font-size:18px;font-weight:500;margin-top:0}.eael-lr-form-wrapper .lr-form-header p{font-size:14px}.eael-lr-form-wrapper .eael-form-msg{display:block;width:100%;margin-top:1rem;font-size:1rem;padding:10px 15px;border-top-right-radius:8px;border-bottom-right-radius:8px}.eael-lr-form-wrapper .eael-form-msg.invalid{color:#721c24;background-color:#f8d7da;border-left:3px solid red}.eael-lr-form-wrapper .eael-form-msg.valid{color:#155724;background-color:#d4edda;border-left:3px solid green}.eael-lr-form-wrapper ul,.eael-lr-form-wrapper ol,.eael-lr-form-wrapper .eael-form-msg ul,.eael-lr-form-wrapper .eael-form-msg ol{margin:0;padding-left:30px}.eael-lr-form-wrapper ul li:not(:last-child),.eael-lr-form-wrapper ol li:not(:last-child),.eael-lr-form-wrapper .eael-form-msg ul li:not(:last-child),.eael-lr-form-wrapper .eael-form-msg ol li:not(:last-child){padding-bottom:10px}.eael-lr-form-wrapper .eael_accept_tnc_wrap{display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:1rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eael-lr-form-wrapper .eael_accept_tnc_wrap .eael-lr-tnc-link{margin-left:5px;display:inline-block}.eael-lr-form-wrapper .eael-recaptcha-wrapper{margin-bottom:1rem}.eael-lr-form-wrapper .eael-lr-footer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}@supports(-webkit-appearance: none) or (-moz-appearance: none){.eael-lr-form-wrapper input[type=checkbox]{--active: #275EFE;--active-inner: #fff;--focus: 0;--border: #b7b7b7;--border-hover: var(--active);--background: #fff;--disabled: #F6F8FF;--disabled-inner: #E1E6F9;-webkit-appearance:none;-moz-appearance:none;height:18px;outline:none;display:inline-block;vertical-align:top;position:relative;top:2px;margin:0;cursor:pointer;border:2px solid var(--bc, var(--border));background:var(--b, var(--background));-webkit-transition:background .3s,border-color .3s,-webkit-box-shadow .2s;transition:background .3s,border-color .3s,-webkit-box-shadow .2s;-o-transition:background .3s,border-color .3s,box-shadow .2s;transition:background .3s,border-color .3s,box-shadow .2s;transition:background .3s,border-color .3s,box-shadow .2s,-webkit-box-shadow .2s}.eael-lr-form-wrapper input[type=checkbox]:after{content:"";display:block;left:0;top:0;position:absolute;-webkit-transition:opacity var(--d-o, 0.2s),-webkit-transform var(--d-t, 0.3s) var(--d-t-e, ease);transition:opacity var(--d-o, 0.2s),-webkit-transform var(--d-t, 0.3s) var(--d-t-e, ease);-o-transition:transform var(--d-t, 0.3s) var(--d-t-e, ease),opacity var(--d-o, 0.2s);transition:transform var(--d-t, 0.3s) var(--d-t-e, ease),opacity var(--d-o, 0.2s);transition:transform var(--d-t, 0.3s) var(--d-t-e, ease),opacity var(--d-o, 0.2s),-webkit-transform var(--d-t, 0.3s) var(--d-t-e, ease)}.eael-lr-form-wrapper input[type=checkbox]:before{content:none}.eael-lr-form-wrapper input[type=checkbox]:checked{--b: var(--active);--bc: var(--active);--d-o: .3s;--d-t: .6s;--d-t-e: cubic-bezier(.2, .85, .32, 1.2)}.eael-lr-form-wrapper input[type=checkbox]:checked:before{content:none}.eael-lr-form-wrapper input[type=checkbox]:disabled{--b: var(--disabled);cursor:not-allowed;opacity:.9}.eael-lr-form-wrapper input[type=checkbox]:disabled:checked{--b: var(--disabled-inner);--bc: var(--border)}.eael-lr-form-wrapper input[type=checkbox]:disabled+label{cursor:not-allowed}.eael-lr-form-wrapper input[type=checkbox]:hover:not(:checked):not(:disabled){--bc: var(--border-hover)}.eael-lr-form-wrapper input[type=checkbox]:focus{-webkit-box-shadow:0 0 0 var(--focus);box-shadow:0 0 0 var(--focus)}.eael-lr-form-wrapper input[type=checkbox]:not(#eael_accept_tnc){width:18px}.eael-lr-form-wrapper input[type=checkbox]:not(#eael_accept_tnc):after{opacity:var(--o, 0)}.eael-lr-form-wrapper input[type=checkbox]:not(#eael_accept_tnc):checked{--o: 1}.eael-lr-form-wrapper input[type=checkbox]+label{font-size:14px;line-height:21px;display:inline-block;vertical-align:top;cursor:pointer;margin-left:4px}.eael-lr-form-wrapper input[type=checkbox]:not(#eael_accept_tnc){border-radius:3px}.eael-lr-form-wrapper input[type=checkbox]:not(#eael_accept_tnc):after{width:5px;height:9px;border:2px solid var(--active-inner);border-top:0;border-left:0;left:5px;top:1px;-webkit-transform:rotate(var(--r, 20deg));-ms-transform:rotate(var(--r, 20deg));transform:rotate(var(--r, 20deg))}.eael-lr-form-wrapper input[type=checkbox]:not(#eael_accept_tnc):checked{--r: 43deg}.eael-lr-form-wrapper input[type=checkbox]#eael_accept_tnc{width:31px;border-radius:11px;border-width:1px}.eael-lr-form-wrapper input[type=checkbox]#eael_accept_tnc:after{left:2px;top:2px;border-radius:50%;width:12px;height:12px;background:var(--ab, var(--border));-webkit-transform:translateX(var(--x, 0));-ms-transform:translateX(var(--x, 0));transform:translateX(var(--x, 0))}.eael-lr-form-wrapper input[type=checkbox]#eael_accept_tnc:checked{--ab: var(--active-inner);--x: 13px}.eael-lr-form-wrapper input[type=checkbox]#eael_accept_tnc:disabled:not(:checked):after{opacity:.6}}.lr-social-login-container{margin-top:1rem}.lr-social-login-container .lr-separator{width:100%;text-align:center}.lr-social-login-container .lr-separator p{padding:0;margin:0}.lr-social-login-container .lr-separator hr{width:100%;height:1px;background:gray}.lr-social-login-container .lr-social-buttons-container{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.lr-social-login-container .eael-social-button{display:-webkit-box;display:-ms-flexbox;display:flex;max-width:100%;-webkit-box-pack:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-top:10px;margin-left:auto;margin-right:auto;cursor:pointer}.lr-social-login-container .eael-social-button.eael-google{width:175px}.lr-social-login-container .eael-social-button.eael-facebook{width:190px}.rtl .eael-lr-form-wrapper.style-2{direction:ltr}.rtl .eael-lr-form-wrapper .lr-form-header.header-inline{direction:ltr}
1
+ .eael-w-10{width:10%}.eael-w-20{width:20%}.eael-w-25{width:25%}.eael-w-30{width:30%}.eael-w-33{width:33%}.eael-w-40{width:40%}.eael-w-50{width:50%}.eael-w-60{width:60%}.eael-w-66{width:66%}.eael-w-70{width:70%}.eael-w-75{width:75%}.eael-w-80{width:80%}.eael-w-90{width:90%}.eael-w-100{width:100%}.d-none{display:none}.d-ib{display:inline-block}.mr-auto{margin-right:auto}.ml-auto{margin-left:auto}.fd-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.fd-col{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.eael-lr-form-wrapper{width:370px;margin:0 auto;background-color:#fff;padding:35px;border-radius:10px;-webkit-box-shadow:0 0 37.5px 14px rgba(2,8,53,.06);box-shadow:0 0 37.5px 14px rgba(2,8,53,.06)}.eael-lr-form-wrapper.style-2{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;padding:0;border-radius:0}@media(max-width: 767px){.eael-lr-form-wrapper.style-2{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.eael-lr-form-wrapper.style-2 .lr-form-illustration{width:50%;background-repeat:no-repeat;background-size:cover;background-position:center;position:relative;z-index:1}@media(max-width: 767px){.eael-lr-form-wrapper.style-2 .lr-form-illustration{padding-bottom:200px}}.eael-lr-form-wrapper.style-2 .lr-form-wrapper{padding:35px;width:370px}.eael-lr-form-wrapper .eael-lr-form-group{margin-bottom:1rem}.eael-lr-form-wrapper .eael-lr-form-group label{display:inline-block;margin-bottom:.5rem}.eael-lr-form-wrapper .eael-lr-form-group label.mark-required{position:relative}.eael-lr-form-wrapper .eael-lr-form-group label.mark-required::after{content:" *";color:red;position:absolute;line-height:0;top:17px;right:-10px}.eael-lr-form-wrapper .eael-lr-form-group .eael-lr-form-control{display:block;width:100%;padding:15px;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #cfcfe8;border-radius:3px;-webkit-transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;-o-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;outline:none}.eael-lr-form-wrapper .eael-forever-forget{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:.9em}.eael-lr-form-wrapper .eael-forever-forget .forget-menot{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eael-lr-form-wrapper .eael-forever-forget .forget-menot label{margin:0 0 0 10px}.eael-lr-form-wrapper .eael-forever-forget .forget-menot,.eael-lr-form-wrapper .eael-forever-forget .forget-pass{-webkit-box-flex:1;-ms-flex:1;flex:1;margin:0}.eael-lr-form-wrapper .eael-forever-forget .forget-pass{text-align:right}.eael-lr-form-wrapper .eael-lr-password-wrapper{position:relative}.eael-lr-form-wrapper .eael-lr-password-wrapper button{position:absolute;top:0;right:0;height:100%;background:transparent;border:none;color:red}.eael-lr-form-wrapper .eael-lr-btn{background-color:#744ffb;color:#fff;position:relative;overflow:hidden;display:inline-block;vertical-align:top;text-decoration:none;border:none;-webkit-transition:all .2s;-o-transition:all .2s;transition:all .2s;padding:15px;width:130px}.eael-lr-form-wrapper .eael-lr-btn.eael-lr-btn-block{display:block}.eael-lr-form-wrapper .eael-lr-btn.eael-lr-btn-inline{display:inline-block}.eael-lr-form-wrapper .eael-lr-link{display:inline-block}.eael-lr-form-wrapper .eael-sign-wrapper{text-align:center;padding:20px 0 0}.eael-lr-form-wrapper .lr-form-header.header-inline{display:-webkit-box;display:-ms-flexbox;display:flex}.eael-lr-form-wrapper .lr-form-header.header-inline .form-logo{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.eael-lr-form-wrapper .lr-form-header.header-inline .form-dsc{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;padding-left:15px}.eael-lr-form-wrapper .lr-form-header img{width:100px}.eael-lr-form-wrapper .lr-form-header h4{font-size:18px;font-weight:500;margin-top:0}.eael-lr-form-wrapper .lr-form-header p{font-size:14px}.eael-lr-form-wrapper .eael-form-msg{display:block;width:100%;margin-top:1rem;font-size:1rem;padding:10px 15px;border-top-right-radius:8px;border-bottom-right-radius:8px}.eael-lr-form-wrapper .eael-form-msg.invalid{color:#721c24;background-color:#f8d7da;border-left:3px solid red}.eael-lr-form-wrapper .eael-form-msg.valid{color:#155724;background-color:#d4edda;border-left:3px solid green}.eael-lr-form-wrapper ul,.eael-lr-form-wrapper ol,.eael-lr-form-wrapper .eael-form-msg ul,.eael-lr-form-wrapper .eael-form-msg ol{margin:0;padding-left:30px}.eael-lr-form-wrapper ul li:not(:last-child),.eael-lr-form-wrapper ol li:not(:last-child),.eael-lr-form-wrapper .eael-form-msg ul li:not(:last-child),.eael-lr-form-wrapper .eael-form-msg ol li:not(:last-child){padding-bottom:10px}.eael-lr-form-wrapper .eael_accept_tnc_wrap{display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:1rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eael-lr-form-wrapper .eael_accept_tnc_wrap .eael-lr-tnc-link{margin-left:5px;display:inline-block}.eael-lr-form-wrapper .eael-recaptcha-wrapper{margin-bottom:1rem}.eael-lr-form-wrapper .eael-lr-footer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}@supports(-webkit-appearance: none) or (-moz-appearance: none){.eael-lr-form-wrapper input[type=checkbox]{--active: #275EFE;--active-inner: #fff;--focus: 0;--border: #b7b7b7;--border-hover: var(--active);--background: #fff;--disabled: #F6F8FF;--disabled-inner: #E1E6F9;-webkit-appearance:none;-moz-appearance:none;height:18px;outline:none;display:inline-block;vertical-align:top;position:relative;top:2px;margin:0;cursor:pointer;border:2px solid var(--bc, var(--border));background:var(--b, var(--background));-webkit-transition:background .3s,border-color .3s,-webkit-box-shadow .2s;transition:background .3s,border-color .3s,-webkit-box-shadow .2s;-o-transition:background .3s,border-color .3s,box-shadow .2s;transition:background .3s,border-color .3s,box-shadow .2s;transition:background .3s,border-color .3s,box-shadow .2s,-webkit-box-shadow .2s}.eael-lr-form-wrapper input[type=checkbox]:after{content:"";display:block;left:0;top:0;position:absolute;-webkit-transition:opacity var(--d-o, 0.2s),-webkit-transform var(--d-t, 0.3s) var(--d-t-e, ease);transition:opacity var(--d-o, 0.2s),-webkit-transform var(--d-t, 0.3s) var(--d-t-e, ease);-o-transition:transform var(--d-t, 0.3s) var(--d-t-e, ease),opacity var(--d-o, 0.2s);transition:transform var(--d-t, 0.3s) var(--d-t-e, ease),opacity var(--d-o, 0.2s);transition:transform var(--d-t, 0.3s) var(--d-t-e, ease),opacity var(--d-o, 0.2s),-webkit-transform var(--d-t, 0.3s) var(--d-t-e, ease)}.eael-lr-form-wrapper input[type=checkbox]:before{content:none}.eael-lr-form-wrapper input[type=checkbox]:checked{--b: var(--active);--bc: var(--active);--d-o: .3s;--d-t: .6s;--d-t-e: cubic-bezier(.2, .85, .32, 1.2)}.eael-lr-form-wrapper input[type=checkbox]:checked:before{content:none}.eael-lr-form-wrapper input[type=checkbox]:disabled{--b: var(--disabled);cursor:not-allowed;opacity:.9}.eael-lr-form-wrapper input[type=checkbox]:disabled:checked{--b: var(--disabled-inner);--bc: var(--border)}.eael-lr-form-wrapper input[type=checkbox]:disabled+label{cursor:not-allowed}.eael-lr-form-wrapper input[type=checkbox]:hover:not(:checked):not(:disabled){--bc: var(--border-hover)}.eael-lr-form-wrapper input[type=checkbox]:focus{-webkit-box-shadow:0 0 0 var(--focus);box-shadow:0 0 0 var(--focus)}.eael-lr-form-wrapper input[type=checkbox]:not(.lr-toggle){width:18px !important}.eael-lr-form-wrapper input[type=checkbox]:not(.lr-toggle):after{opacity:var(--o, 0)}.eael-lr-form-wrapper input[type=checkbox]:not(.lr-toggle):checked{--o: 1}.eael-lr-form-wrapper input[type=checkbox]+label{font-size:14px;line-height:21px;display:inline-block;vertical-align:top;cursor:pointer;margin-left:4px}.eael-lr-form-wrapper input[type=checkbox]:not(.lr-toggle){border-radius:3px}.eael-lr-form-wrapper input[type=checkbox]:not(.lr-toggle):after{width:5px;height:9px;border:2px solid var(--active-inner);border-top:0;border-left:0;left:5px;top:1px;-webkit-transform:rotate(var(--r, 20deg));-ms-transform:rotate(var(--r, 20deg));transform:rotate(var(--r, 20deg))}.eael-lr-form-wrapper input[type=checkbox]:not(.lr-toggle):checked{--r: 43deg}.eael-lr-form-wrapper input[type=checkbox].lr-toggle{width:31px !important;border-radius:11px;border-width:1px}.eael-lr-form-wrapper input[type=checkbox].lr-toggle:after{left:2px;top:2px;border-radius:50%;width:12px;height:12px;background:var(--ab, var(--border));-webkit-transform:translateX(var(--x, 0));-ms-transform:translateX(var(--x, 0));transform:translateX(var(--x, 0))}.eael-lr-form-wrapper input[type=checkbox].lr-toggle:checked{--ab: var(--active-inner);--x: 13px}.eael-lr-form-wrapper input[type=checkbox].lr-toggle:disabled:not(:checked):after{opacity:.6}}.rtl .eael-lr-form-wrapper.style-2{direction:ltr}.rtl .eael-lr-form-wrapper .lr-form-header.header-inline{direction:ltr}
assets/front-end/css/view/product-grid.css CHANGED
@@ -1,4 +1,419 @@
1
  @charset "UTF-8";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  .eael-product-grid .woocommerce ul.products,
3
  .eael-post-grid .woocommerce ul.products {
4
  display: grid;
@@ -17,6 +432,58 @@
17
  margin: 0;
18
  padding: 0;
19
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
  .eael-product-grid .woocommerce ul.products.products[class*=columns-] li.product,
21
  .eael-post-grid .woocommerce ul.products.products[class*=columns-] li.product {
22
  width: 100%;
@@ -49,8 +516,12 @@
49
  .eael-product-grid.eael-product-simple .woocommerce ul.products li.product img, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product img,
50
  .eael-post-grid.eael-product-simple .woocommerce ul.products li.product img,
51
  .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product img {
52
- width: 100%;
 
 
53
  height: auto;
 
 
54
  -webkit-backface-visibility: hidden;
55
  backface-visibility: hidden;
56
  }
@@ -189,6 +660,12 @@
189
  .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button:focus {
190
  outline: none;
191
  }
 
 
 
 
 
 
192
  .eael-product-grid.eael-product-simple .woocommerce ul.products li.product a.added_to_cart, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart,
193
  .eael-post-grid.eael-product-simple .woocommerce ul.products li.product a.added_to_cart,
194
  .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart {
@@ -209,8 +686,10 @@
209
  .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product {
210
  border: 1px solid transparent;
211
  }
 
212
  .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button,
213
  .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart,
 
214
  .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button,
215
  .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart {
216
  visibility: hidden;
@@ -222,8 +701,10 @@
222
  .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover {
223
  border: 1px solid #eee;
224
  }
 
225
  .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover .button.add_to_cart_button,
226
  .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover a.added_to_cart,
 
227
  .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover .button.add_to_cart_button,
228
  .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover a.added_to_cart {
229
  visibility: visible;
@@ -252,9 +733,12 @@
252
  }
253
  .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product img,
254
  .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product img {
255
- width: 100%;
 
 
 
256
  height: auto;
257
- margin: 0;
258
  -webkit-backface-visibility: hidden;
259
  backface-visibility: hidden;
260
  }
@@ -275,9 +759,11 @@
275
  -ms-transform: translateY(-50%);
276
  transform: translateY(-50%);
277
  }
 
278
  .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link,
279
  .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button,
280
  .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart,
 
281
  .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link,
282
  .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button,
283
  .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart {
@@ -312,9 +798,11 @@
312
  transition: transform 200ms, opacity 300ms;
313
  transition: transform 200ms, opacity 300ms, -webkit-transform 200ms;
314
  }
 
315
  .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:focus,
316
  .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:focus,
317
  .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:focus,
 
318
  .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:focus,
319
  .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:focus,
320
  .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:focus {
@@ -444,8 +932,14 @@
444
  font-size: 14px;
445
  margin: 10px auto;
446
  }
 
 
 
 
 
447
  .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay a,
448
  .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay .add_to_cart_button,
 
449
  .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay a,
450
  .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay .add_to_cart_button {
451
  opacity: 1;
@@ -453,30 +947,6 @@
453
  -ms-transform: translateY(0);
454
  transform: translateY(0);
455
  }
456
- .eael-product-grid.eael-product-default .woocommerce ul.products .product a.add_to_cart_button,
457
- .eael-product-grid.eael-product-default .woocommerce ul.products .product span.price,
458
- .eael-product-grid.eael-product-default .woocommerce ul.products .product h2.woocommerce-loop-product__title, .eael-product-grid.eael-product-simple .woocommerce ul.products .product a.add_to_cart_button,
459
- .eael-product-grid.eael-product-simple .woocommerce ul.products .product span.price,
460
- .eael-product-grid.eael-product-simple .woocommerce ul.products .product h2.woocommerce-loop-product__title, .eael-product-grid.eael-product-reveal .woocommerce ul.products .product a.add_to_cart_button,
461
- .eael-product-grid.eael-product-reveal .woocommerce ul.products .product span.price,
462
- .eael-product-grid.eael-product-reveal .woocommerce ul.products .product h2.woocommerce-loop-product__title, .eael-product-grid.eael-product-overlay .woocommerce ul.products .product a.add_to_cart_button,
463
- .eael-product-grid.eael-product-overlay .woocommerce ul.products .product span.price,
464
- .eael-product-grid.eael-product-overlay .woocommerce ul.products .product h2.woocommerce-loop-product__title,
465
- .eael-post-grid.eael-product-default .woocommerce ul.products .product a.add_to_cart_button,
466
- .eael-post-grid.eael-product-default .woocommerce ul.products .product span.price,
467
- .eael-post-grid.eael-product-default .woocommerce ul.products .product h2.woocommerce-loop-product__title,
468
- .eael-post-grid.eael-product-simple .woocommerce ul.products .product a.add_to_cart_button,
469
- .eael-post-grid.eael-product-simple .woocommerce ul.products .product span.price,
470
- .eael-post-grid.eael-product-simple .woocommerce ul.products .product h2.woocommerce-loop-product__title,
471
- .eael-post-grid.eael-product-reveal .woocommerce ul.products .product a.add_to_cart_button,
472
- .eael-post-grid.eael-product-reveal .woocommerce ul.products .product span.price,
473
- .eael-post-grid.eael-product-reveal .woocommerce ul.products .product h2.woocommerce-loop-product__title,
474
- .eael-post-grid.eael-product-overlay .woocommerce ul.products .product a.add_to_cart_button,
475
- .eael-post-grid.eael-product-overlay .woocommerce ul.products .product span.price,
476
- .eael-post-grid.eael-product-overlay .woocommerce ul.products .product h2.woocommerce-loop-product__title {
477
- margin-left: 10px !important;
478
- margin-right: 10px !important;
479
- }
480
  .eael-product-grid.eael-product-default .woocommerce ul.products li.product,
481
  .eael-post-grid.eael-product-default .woocommerce ul.products li.product {
482
  overflow: visible !important;
@@ -505,6 +975,102 @@
505
  .eael-post-grid.eael-product-default .button.add_to_cart_button.product_type_variable:before {
506
  content: "";
507
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
508
  .eael-product-grid .woocommerce ul.products li.product a img {
509
  margin-bottom: 0;
510
  display: block;
@@ -1544,6 +2110,9 @@
1544
  font-size: 18px;
1545
  line-height: 42px;
1546
  }
 
 
 
1547
  .eael-product-grid.grid .eael-product-wrap .product-details-wrap, .eael-product-grid.masonry .eael-product-wrap .product-details-wrap {
1548
  padding: 10px;
1549
  }
@@ -1625,12 +2194,10 @@
1625
  padding: 20px;
1626
  margin-left: 20px;
1627
  }
1628
- @media only screen and (min-width: 768px) {
1629
- .eael-product-grid.list .eael-product-wrap {
1630
- display: -webkit-box;
1631
- display: -ms-flexbox;
1632
- display: flex;
1633
- }
1634
  }
1635
  .eael-product-grid.list .eael-product-wrap:hover .icons-wrap.box-style {
1636
  -webkit-transform: translateY(-50%);
@@ -1685,7 +2252,7 @@
1685
  background-color: #ffffff;
1686
  }
1687
  .eael-product-grid.list .eael-product-wrap .icons-wrap.details-block-style li.add-to-cart a {
1688
- padding: 11px 15px;
1689
  }
1690
  .eael-product-grid.list .eael-product-wrap .icons-wrap.details-block-style li a {
1691
  margin: 2px;
@@ -1733,6 +2300,9 @@
1733
  position: relative;
1734
  font-size: 18px;
1735
  }
 
 
 
1736
  .eael-product-grid.list .eael-product-wrap .icons-wrap li a.button {
1737
  font-size: 15px;
1738
  line-height: 1.4em;
@@ -1746,6 +2316,7 @@
1746
  .eael-product-grid.list .eael-product-wrap .product-details-wrap {
1747
  width: 55%;
1748
  padding: 25px;
 
1749
  }
1750
  .eael-product-grid.list .eael-product-wrap .eael-product-price {
1751
  margin-bottom: 5px;
@@ -1832,6 +2403,10 @@
1832
  grid-template-columns: repeat(6, 1fr);
1833
  }
1834
 
 
 
 
 
1835
  .eael-product-grid-column-tablet-1 .eael-product-grid.masonry .woocommerce ul.products li.product {
1836
  width: 100%;
1837
  margin: 15px 0;
@@ -1882,6 +2457,27 @@
1882
  grid-template-columns: repeat(6, 1fr);
1883
  }
1884
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1885
  .eael-product-grid-column-mobile-1 .eael-product-grid.masonry .woocommerce ul.products li.product {
1886
  width: 100%;
1887
  margin: 15px 0;
1
  @charset "UTF-8";
2
+ /* Woo Product Compare */
3
+ .table-responsive {
4
+ width: 100%;
5
+ overflow-x: auto;
6
+ overflow-y: hidden;
7
+ }
8
+ .eael-wcpc-wrapper img {
9
+ display: block;
10
+ margin: auto;
11
+ }
12
+ .eael-wcpc-wrapper th i {
13
+ padding-right: 10px;
14
+ color: gainsboro;
15
+ }
16
+ .eael-wcpc-wrapper .wcpc-table-header {
17
+ display: -webkit-box;
18
+ display: -ms-flexbox;
19
+ display: flex;
20
+ -webkit-box-align: center;
21
+ -ms-flex-align: center;
22
+ align-items: center;
23
+ }
24
+ .eael-wcpc-wrapper .elementor-icon {
25
+ font-size: 20px;
26
+ margin-right: 10px;
27
+ }
28
+ .eael-wcpc-wrapper table td {
29
+ text-align: center;
30
+ }
31
+ .eael-wcpc-wrapper.custom {
32
+ --h-bg: #2d1e87;
33
+ --h-text-clr: #fff;
34
+ --h-border-clr: #b6aaff;
35
+ --text-clr: #707070;
36
+ --text-bold-clr: #252525;
37
+ --btn-bg: #6752e5;
38
+ --btn-bg-hover: #ff9582;
39
+ --btn-text: #fff;
40
+ --image-bg: #6b55ec;
41
+ --container-bg: #fff;
42
+ --icon-color: #c3ccdc;
43
+ background: var(--container-bg);
44
+ overflow-x: scroll;
45
+ }
46
+ .eael-wcpc-wrapper.custom table {
47
+ border-collapse: collapse;
48
+ border-spacing: 0;
49
+ max-width: none;
50
+ }
51
+ .eael-wcpc-wrapper.custom table .icon {
52
+ width: 16px;
53
+ margin-right: 6px;
54
+ fill: var(--icon-color);
55
+ }
56
+ .eael-wcpc-wrapper.custom table th, .eael-wcpc-wrapper.custom table td {
57
+ padding: 15px;
58
+ border: 1px solid var(--h-border-clr);
59
+ border-collapse: collapse;
60
+ }
61
+ .eael-wcpc-wrapper.custom table th.first-th {
62
+ border: none;
63
+ padding-left: 5px;
64
+ }
65
+ .eael-wcpc-wrapper.custom table th {
66
+ color: var(--text-bold-clr);
67
+ font-weight: normal;
68
+ max-width: 160px;
69
+ border-left-width: 2px;
70
+ border-collapse: collapse;
71
+ vertical-align: middle;
72
+ }
73
+ .eael-wcpc-wrapper.custom table th div {
74
+ display: -webkit-box;
75
+ display: -ms-flexbox;
76
+ display: flex;
77
+ -webkit-box-align: center;
78
+ -ms-flex-align: center;
79
+ align-items: center;
80
+ }
81
+ .eael-wcpc-wrapper.custom table td {
82
+ color: var(--text-clr);
83
+ text-align: center;
84
+ }
85
+ .eael-wcpc-wrapper.custom table tr.title {
86
+ background: var(--h-bg);
87
+ color: var(--h-text-clr);
88
+ }
89
+ .eael-wcpc-wrapper.custom table tr.title th, .eael-wcpc-wrapper.custom table tr.title td {
90
+ font-size: 20px;
91
+ color: inherit;
92
+ border: none;
93
+ border-left: 1px solid var(--h-border-clr);
94
+ border-right: 1px solid var(--h-border-clr);
95
+ }
96
+ .eael-wcpc-wrapper.custom table tr.image td {
97
+ vertical-align: middle;
98
+ border: none;
99
+ }
100
+ .eael-wcpc-wrapper.custom table .button {
101
+ border-radius: 5px;
102
+ background: var(--btn-bg);
103
+ color: var(--btn-text);
104
+ }
105
+ .eael-wcpc-wrapper.custom table .button:hover {
106
+ background: var(--btn-bg-hover);
107
+ }
108
+ .eael-wcpc-wrapper.custom.theme-1 table tr.image td {
109
+ background: var(--image-bg);
110
+ border-left: 1px solid var(--h-border-clr);
111
+ border-right: 1px solid var(--h-border-clr);
112
+ }
113
+ .eael-wcpc-wrapper.custom.theme-2 {
114
+ --h-bg: #ff9453;
115
+ --h-border-clr: #f4ede9;
116
+ --btn-bg: #ff9453;
117
+ --btn-bg-hover: #6752e5;
118
+ --even-row-bg: #fbf8f7;
119
+ }
120
+ .eael-wcpc-wrapper.custom.theme-2 table tr:nth-of-type(even):not(.title) {
121
+ background: var(--even-row-bg);
122
+ }
123
+ .eael-wcpc-wrapper.custom.theme-3 {
124
+ --container-bg: #f9fafc;
125
+ --btn-bg: #ff907e;
126
+ --btn-bg-hover: #ff907e;
127
+ --even-row-bg: #f5f5f8;
128
+ --h-odd-row-bg: #fdfdff;
129
+ --first-img-bg: linear-gradient(-130deg, #ffd0b0 0%, #ff907e 100%);
130
+ --second-img-bg: linear-gradient(-130deg, #ada0ff 0%, #7561f2 100%);
131
+ --third-img-bg: linear-gradient(-130deg, #6fffac 0%, #23d56e 100%);
132
+ --firt-btn-bg: #ff907e;
133
+ --second-btn-bg: #7561f2;
134
+ --third-btn-bg: #23d56e;
135
+ padding: 20px;
136
+ }
137
+ .eael-wcpc-wrapper.custom.theme-3 table {
138
+ -webkit-border-horizontal-spacing: 10px;
139
+ }
140
+ .eael-wcpc-wrapper.custom.theme-3 table tr:nth-of-type(even):not(.title) {
141
+ background: var(--even-row-bg);
142
+ }
143
+ .eael-wcpc-wrapper.custom.theme-3 table th, .eael-wcpc-wrapper.custom.theme-3 table td {
144
+ border: none;
145
+ -webkit-box-sizing: border-box;
146
+ box-sizing: border-box;
147
+ }
148
+ .eael-wcpc-wrapper.custom.theme-3 table tr.title td.featured,
149
+ .eael-wcpc-wrapper.custom.theme-3 table tr:nth-of-type(odd) td.featured {
150
+ -webkit-box-shadow: 18px 0 10px -10px rgba(86, 79, 127, 0.06), -18px 0 10px -10px rgba(86, 79, 127, 0.06);
151
+ box-shadow: 18px 0 10px -10px rgba(86, 79, 127, 0.06), -18px 0 10px -10px rgba(86, 79, 127, 0.06);
152
+ }
153
+ .eael-wcpc-wrapper.custom.theme-3 table tr.title {
154
+ background: initial;
155
+ color: initial;
156
+ }
157
+ .eael-wcpc-wrapper.custom.theme-3 table tr.title th, .eael-wcpc-wrapper.custom.theme-3 table tr.title td {
158
+ color: initial;
159
+ border-left: none;
160
+ border-right: none;
161
+ }
162
+ .eael-wcpc-wrapper.custom.theme-3 table tr.image td {
163
+ background: initial;
164
+ border-left: none;
165
+ border-right: none;
166
+ padding: 0;
167
+ }
168
+ .eael-wcpc-wrapper.custom.theme-3 table tr.image td span {
169
+ display: block;
170
+ width: 100%;
171
+ height: 100%;
172
+ -webkit-box-sizing: border-box;
173
+ box-sizing: border-box;
174
+ border-top-left-radius: 10px;
175
+ border-top-right-radius: 10px;
176
+ }
177
+ .eael-wcpc-wrapper.custom.theme-3 table tr.image td > span {
178
+ padding: 20px;
179
+ }
180
+ .eael-wcpc-wrapper.custom.theme-3 table tr.image td span.inner {
181
+ padding: 0;
182
+ }
183
+ .eael-wcpc-wrapper.custom.theme-3 table tr.image td.featured span {
184
+ padding: 10px;
185
+ background: #fff;
186
+ }
187
+ .eael-wcpc-wrapper.custom.theme-3 table tr.image td:nth-of-type(3n+1) .img-inner {
188
+ background: var(--first-img-bg);
189
+ }
190
+ .eael-wcpc-wrapper.custom.theme-3 table tr.image td:nth-of-type(3n+2) .img-inner {
191
+ background: var(--second-img-bg);
192
+ }
193
+ .eael-wcpc-wrapper.custom.theme-3 table tr.image td:nth-of-type(3n+3) .img-inner {
194
+ background: var(--third-img-bg);
195
+ }
196
+ .eael-wcpc-wrapper.custom.theme-4 {
197
+ --h-bg: none;
198
+ --h-text-clr: #707070;
199
+ --h-border-clr: #e8ebf0;
200
+ --text-clr: #707070;
201
+ --text-bold-clr: #252525;
202
+ --btn-bg: #613de6;
203
+ --btn-bg-hover: #ff9582;
204
+ --btn-text: #fff;
205
+ --image-bg: none;
206
+ --container-bg: #f9fafc;
207
+ }
208
+ .eael-wcpc-wrapper.custom.theme-4 table {
209
+ background: #fff;
210
+ }
211
+ .eael-wcpc-wrapper.custom.theme-4 table th.first-th {
212
+ background: var(--container-bg);
213
+ }
214
+ .eael-wcpc-wrapper.custom.theme-4 table tr.title th, .eael-wcpc-wrapper.custom.theme-4 table tr.title td {
215
+ font-size: 20px;
216
+ color: inherit;
217
+ border: 1px solid var(--h-border-clr);
218
+ }
219
+ .eael-wcpc-wrapper.custom.theme-4 table tr.image td {
220
+ position: relative;
221
+ border: 1px solid var(--h-border-clr);
222
+ overflow: hidden;
223
+ }
224
+ .eael-wcpc-wrapper.custom.theme-4 table tr.image .ribbon {
225
+ position: absolute;
226
+ left: -44px;
227
+ top: 10px;
228
+ background: var(--btn-bg);
229
+ color: var(--btn-text);
230
+ padding: 3px 50px;
231
+ -webkit-transform: rotate(-45deg);
232
+ -ms-transform: rotate(-45deg);
233
+ transform: rotate(-45deg);
234
+ -webkit-transform-origin: center;
235
+ -ms-transform-origin: center;
236
+ transform-origin: center;
237
+ }
238
+ .eael-wcpc-wrapper.custom.theme-4 table tr.image .product-title, .eael-wcpc-wrapper.custom.theme-4 table tr.image .woocommerce-Price-amount {
239
+ font-size: 18px;
240
+ font-weight: bold;
241
+ }
242
+ .eael-wcpc-wrapper.custom.theme-4 table tr.image .product-title {
243
+ color: var(--text-bold-clr);
244
+ margin: 0 auto 10px;
245
+ }
246
+ .eael-wcpc-wrapper.custom.theme-4 table tr.image .woocommerce-Price-amount {
247
+ color: var(--btn-bg);
248
+ }
249
+ .eael-wcpc-wrapper.custom.theme-5 {
250
+ --first-row-color: #fff;
251
+ --first-col-bg: #6a3ee8;
252
+ --second-col-bg: #3e5ae8;
253
+ --third-col-bg: #15e9c9;
254
+ --first-img-bg: #f4f0ff;
255
+ --second-img-bg: #eaedff;
256
+ --third-img-bg: #e5fffb;
257
+ --h-bg: none;
258
+ --h-text-clr: #707070;
259
+ --h-border-clr: #e8ebf0;
260
+ --first-btn-bg: #6a3ee8;
261
+ --second-btn-bg: #3e5ae8;
262
+ --third-btn-bg: #15e9c9;
263
+ --image-bg: none;
264
+ }
265
+ .eael-wcpc-wrapper.custom.theme-5 table th {
266
+ border: none;
267
+ }
268
+ .eael-wcpc-wrapper.custom.theme-5 table th.first-th {
269
+ background: var(--container-bg);
270
+ }
271
+ .eael-wcpc-wrapper.custom.theme-5 table td:nth-of-type(3n+1) .button {
272
+ background: var(--first-btn-bg);
273
+ }
274
+ .eael-wcpc-wrapper.custom.theme-5 table td:nth-of-type(3n+1) .button:hover {
275
+ background: #5827e5;
276
+ }
277
+ .eael-wcpc-wrapper.custom.theme-5 table td:nth-of-type(3n+2) .button {
278
+ background: var(--second-btn-bg);
279
+ }
280
+ .eael-wcpc-wrapper.custom.theme-5 table td:nth-of-type(3n+2) .button:hover {
281
+ background: #2747e5;
282
+ }
283
+ .eael-wcpc-wrapper.custom.theme-5 table td:nth-of-type(3n+3) .button {
284
+ background: var(--third-btn-bg);
285
+ }
286
+ .eael-wcpc-wrapper.custom.theme-5 table td:nth-of-type(3n+3) .button:hover {
287
+ background: #13d2b5;
288
+ }
289
+ .eael-wcpc-wrapper.custom.theme-5 table tr.title th, .eael-wcpc-wrapper.custom.theme-5 table tr.title td {
290
+ font-size: 20px;
291
+ color: inherit;
292
+ border: none;
293
+ }
294
+ .eael-wcpc-wrapper.custom.theme-5 table tr.image td:nth-of-type(3n+1) {
295
+ background: var(--first-img-bg);
296
+ }
297
+ .eael-wcpc-wrapper.custom.theme-5 table tr.image td:nth-of-type(3n+2) {
298
+ background: var(--second-img-bg);
299
+ }
300
+ .eael-wcpc-wrapper.custom.theme-5 table tr.image td:nth-of-type(3n+3) {
301
+ background: var(--third-img-bg);
302
+ }
303
+ .eael-wcpc-wrapper.custom.theme-5 table tr.title td:nth-of-type(3n+1) {
304
+ background: var(--first-col-bg);
305
+ }
306
+ .eael-wcpc-wrapper.custom.theme-5 table tr.title td:nth-of-type(3n+2) {
307
+ background: var(--second-col-bg);
308
+ }
309
+ .eael-wcpc-wrapper.custom.theme-5 table tr.title td:nth-of-type(3n+3) {
310
+ background: var(--third-col-bg);
311
+ }
312
+ .eael-wcpc-wrapper.custom.theme-5 table tr.image td, .eael-wcpc-wrapper.custom.theme-5 table tr.title td {
313
+ border: none;
314
+ border-right: 2px solid var(--first-row-color);
315
+ color: var(--first-row-color);
316
+ }
317
+ .eael-wcpc-wrapper.custom.theme-5 table tr.image td:last-child, .eael-wcpc-wrapper.custom.theme-5 table tr.title td:last-child {
318
+ border-right: none;
319
+ }
320
+ .eael-wcpc-wrapper.custom.theme-6 {
321
+ --container-bg: #f0eff6;
322
+ --first-row-color: #fff;
323
+ --first-col-bg: #fd907b;
324
+ --second-col-bg: #7f6cf4;
325
+ --third-col-bg: #3ae281;
326
+ --first-img-bg: #f4f0ff;
327
+ --second-img-bg: #eaedff;
328
+ --third-img-bg: #e5fffb;
329
+ --h-bg: none;
330
+ --h-text-clr: #707070;
331
+ --h-border-clr: #e8ebf0;
332
+ --image-bg: none;
333
+ }
334
+ .eael-wcpc-wrapper.custom.theme-6 table tr.title th, .eael-wcpc-wrapper.custom.theme-6 table tr.title td {
335
+ border-left: 0;
336
+ border-right: 0;
337
+ }
338
+ .eael-wcpc-wrapper.custom.theme-6 table tr.title td {
339
+ color: #fff;
340
+ }
341
+ .eael-wcpc-wrapper.custom.theme-6 table tr, .eael-wcpc-wrapper.custom.theme-6 table th, .eael-wcpc-wrapper.custom.theme-6 table td {
342
+ border: none;
343
+ }
344
+ .eael-wcpc-wrapper.custom.theme-6 table td {
345
+ color: #fff;
346
+ border-right: 20px solid #fff;
347
+ }
348
+ .eael-wcpc-wrapper.custom.theme-6 table td:last-child {
349
+ border-right: none;
350
+ }
351
+ .eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+1) {
352
+ background: var(--first-col-bg);
353
+ }
354
+ .eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+2) {
355
+ background: var(--second-col-bg);
356
+ }
357
+ .eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+3) {
358
+ background: var(--third-col-bg);
359
+ }
360
+ .eael-wcpc-wrapper.custom.theme-6 table tr:nth-of-type(even) th, .eael-wcpc-wrapper.custom.theme-6 table tr:nth-of-type(even) td {
361
+ background: #f7f6fa;
362
+ }
363
+ .eael-wcpc-wrapper.custom.theme-6 table tr:nth-of-type(even) td:nth-of-type(3n+1) {
364
+ background: #fec1b5;
365
+ }
366
+ .eael-wcpc-wrapper.custom.theme-6 table tr:nth-of-type(even) td:nth-of-type(3n+2) {
367
+ background: #b7adf9;
368
+ }
369
+ .eael-wcpc-wrapper.custom.theme-6 table tr:nth-of-type(even) td:nth-of-type(3n+3) {
370
+ background: #91efb8;
371
+ }
372
+ .eael-wcpc-wrapper.custom.theme-6 table tr.image td, .eael-wcpc-wrapper.custom.theme-6 table tr.title td {
373
+ border: none;
374
+ border-right: 20px solid #fff;
375
+ }
376
+ .eael-wcpc-wrapper.custom.theme-6 table tr.image td:last-child, .eael-wcpc-wrapper.custom.theme-6 table tr.title td:last-child {
377
+ border-right: none;
378
+ }
379
+ .eael-wcpc-wrapper.custom.theme-6 table .button {
380
+ background: #fff;
381
+ }
382
+ .eael-wcpc-wrapper.custom.theme-6 table .button:hover {
383
+ background: #fff;
384
+ }
385
+ .eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+1) .button {
386
+ color: var(--first-col-bg);
387
+ }
388
+ .eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+1) .button:hover {
389
+ color: #fb3c17;
390
+ }
391
+ .eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+2) .button {
392
+ color: var(--second-col-bg);
393
+ }
394
+ .eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+2) .button:hover {
395
+ color: #2f11e9;
396
+ }
397
+ .eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+3) .button {
398
+ color: var(--third-col-bg);
399
+ }
400
+ .eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+3) .button:hover {
401
+ color: #179f51;
402
+ }
403
+ .eael-wcpc-wrapper.custom.theme-6 .img-inner {
404
+ display: block;
405
+ background: rgba(228, 228, 228, 0.45);
406
+ border-radius: 6px;
407
+ }
408
+ @media screen and (min-width: 769px) {
409
+ .eael-wcpc-wrapper:not(.theme-4) tr.image td {
410
+ padding: 10px;
411
+ }
412
+
413
+ .theme-4 tr.image td {
414
+ padding: 50px 10px;
415
+ }
416
+ }
417
  .eael-product-grid .woocommerce ul.products,
418
  .eael-post-grid .woocommerce ul.products {
419
  display: grid;
432
  margin: 0;
433
  padding: 0;
434
  }
435
+ .eael-product-grid .woocommerce ul.products .product .eael-wc-compare,
436
+ .eael-post-grid .woocommerce ul.products .product .eael-wc-compare {
437
+ display: -webkit-inline-box;
438
+ display: -ms-inline-flexbox;
439
+ display: inline-flex;
440
+ -webkit-box-align: center;
441
+ -ms-flex-align: center;
442
+ align-items: center;
443
+ -ms-flex-pack: distribute;
444
+ justify-content: space-around;
445
+ cursor: pointer;
446
+ color: #fff;
447
+ background-color: #333;
448
+ margin: 15px;
449
+ }
450
+ .eael-product-grid .woocommerce ul.products .product .eael-wc-compare:hover,
451
+ .eael-post-grid .woocommerce ul.products .product .eael-wc-compare:hover {
452
+ color: #fff;
453
+ background-color: #333;
454
+ }
455
+ .eael-product-grid .woocommerce ul.products .product .eael-wc-compare-loader,
456
+ .eael-post-grid .woocommerce ul.products .product .eael-wc-compare-loader {
457
+ display: none;
458
+ width: 1.5rem;
459
+ }
460
+ .eael-product-grid .woocommerce ul.products .product .star-rating,
461
+ .eael-post-grid .woocommerce ul.products .product .star-rating {
462
+ margin: 0 auto 5px;
463
+ display: inline-block;
464
+ float: none;
465
+ height: 1em;
466
+ width: 5.6em;
467
+ font-size: 1em;
468
+ line-height: 1em;
469
+ }
470
+ .eael-product-grid .woocommerce ul.products .product .star-rating:before,
471
+ .eael-post-grid .woocommerce ul.products .product .star-rating:before {
472
+ content: "";
473
+ font-family: "Font Awesome 5 Free";
474
+ font-weight: 400;
475
+ opacity: 1;
476
+ }
477
+ .eael-product-grid .woocommerce ul.products .product .star-rating span,
478
+ .eael-post-grid .woocommerce ul.products .product .star-rating span {
479
+ display: inline-block;
480
+ }
481
+ .eael-product-grid .woocommerce ul.products .product .star-rating span:before,
482
+ .eael-post-grid .woocommerce ul.products .product .star-rating span:before {
483
+ content: "";
484
+ font-family: "Font Awesome 5 Free";
485
+ font-weight: 900;
486
+ }
487
  .eael-product-grid .woocommerce ul.products.products[class*=columns-] li.product,
488
  .eael-post-grid .woocommerce ul.products.products[class*=columns-] li.product {
489
  width: 100%;
516
  .eael-product-grid.eael-product-simple .woocommerce ul.products li.product img, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product img,
517
  .eael-post-grid.eael-product-simple .woocommerce ul.products li.product img,
518
  .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product img {
519
+ width: -webkit-fit-content;
520
+ width: -moz-fit-content;
521
+ width: fit-content;
522
  height: auto;
523
+ margin: auto;
524
+ max-width: 100%;
525
  -webkit-backface-visibility: hidden;
526
  backface-visibility: hidden;
527
  }
660
  .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button:focus {
661
  outline: none;
662
  }
663
+ .eael-product-grid.eael-product-simple .woocommerce ul.products li.product .eael-wc-compare, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .eael-wc-compare,
664
+ .eael-post-grid.eael-product-simple .woocommerce ul.products li.product .eael-wc-compare,
665
+ .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .eael-wc-compare {
666
+ color: #fff;
667
+ background-color: #333;
668
+ }
669
  .eael-product-grid.eael-product-simple .woocommerce ul.products li.product a.added_to_cart, .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart,
670
  .eael-post-grid.eael-product-simple .woocommerce ul.products li.product a.added_to_cart,
671
  .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart {
686
  .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product {
687
  border: 1px solid transparent;
688
  }
689
+ .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .eael-wc-compare,
690
  .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button,
691
  .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart,
692
+ .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .eael-wc-compare,
693
  .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button,
694
  .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart {
695
  visibility: hidden;
701
  .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover {
702
  border: 1px solid #eee;
703
  }
704
+ .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover .eael-wc-compare,
705
  .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover .button.add_to_cart_button,
706
  .eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover a.added_to_cart,
707
+ .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover .eael-wc-compare,
708
  .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover .button.add_to_cart_button,
709
  .eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover a.added_to_cart {
710
  visibility: visible;
733
  }
734
  .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product img,
735
  .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product img {
736
+ width: -webkit-fit-content;
737
+ width: -moz-fit-content;
738
+ width: fit-content;
739
+ max-width: 100%;
740
  height: auto;
741
+ margin: auto;
742
  -webkit-backface-visibility: hidden;
743
  backface-visibility: hidden;
744
  }
759
  -ms-transform: translateY(-50%);
760
  transform: translateY(-50%);
761
  }
762
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .eael-wc-compare,
763
  .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link,
764
  .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button,
765
  .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart,
766
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .eael-wc-compare,
767
  .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link,
768
  .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button,
769
  .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart {
798
  transition: transform 200ms, opacity 300ms;
799
  transition: transform 200ms, opacity 300ms, -webkit-transform 200ms;
800
  }
801
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .eael-wc-compare:focus,
802
  .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:focus,
803
  .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:focus,
804
  .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:focus,
805
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .eael-wc-compare:focus,
806
  .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:focus,
807
  .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:focus,
808
  .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:focus {
932
  font-size: 14px;
933
  margin: 10px auto;
934
  }
935
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .eael-wc-compare,
936
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .eael-wc-compare {
937
+ padding: 5px !important;
938
+ }
939
+ .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay .eael-wc-compare,
940
  .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay a,
941
  .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay .add_to_cart_button,
942
+ .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay .eael-wc-compare,
943
  .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay a,
944
  .eael-post-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay .add_to_cart_button {
945
  opacity: 1;
947
  -ms-transform: translateY(0);
948
  transform: translateY(0);
949
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
950
  .eael-product-grid.eael-product-default .woocommerce ul.products li.product,
951
  .eael-post-grid.eael-product-default .woocommerce ul.products li.product {
952
  overflow: visible !important;
975
  .eael-post-grid.eael-product-default .button.add_to_cart_button.product_type_variable:before {
976
  content: "";
977
  }
978
+ .eael-wcpc-modal {
979
+ position: fixed;
980
+ top: 50px;
981
+ right: 0;
982
+ bottom: 50px;
983
+ left: 0;
984
+ margin-left: auto;
985
+ margin-right: auto;
986
+ width: 1080px;
987
+ max-width: 90%;
988
+ background: #fff;
989
+ display: -webkit-box;
990
+ display: -ms-flexbox;
991
+ display: flex;
992
+ -webkit-box-pack: center;
993
+ -ms-flex-pack: center;
994
+ justify-content: center;
995
+ -webkit-box-align: center;
996
+ -ms-flex-align: center;
997
+ align-items: center;
998
+ z-index: 9999999;
999
+ }
1000
+ .modal__content {
1001
+ width: 100%;
1002
+ height: 100%;
1003
+ overflow: hidden auto;
1004
+ }
1005
+ .wcpc-overlay {
1006
+ position: fixed;
1007
+ top: 0;
1008
+ left: 0;
1009
+ width: 100%;
1010
+ height: 100vh;
1011
+ z-index: 10;
1012
+ background: rgba(0, 0, 0, 0.5);
1013
+ pointer-events: none;
1014
+ }
1015
+ .wcpc-overlay, .eael-wcpc-modal {
1016
+ visibility: hidden;
1017
+ opacity: 0;
1018
+ -webkit-transition: all 0.5s ease;
1019
+ -o-transition: all 0.5s ease;
1020
+ transition: all 0.5s ease;
1021
+ }
1022
+ .close-modal {
1023
+ position: absolute;
1024
+ top: -10px;
1025
+ right: -10px;
1026
+ cursor: pointer;
1027
+ display: block;
1028
+ border-radius: 50%;
1029
+ color: #fff;
1030
+ background: #000000;
1031
+ font-size: 30px;
1032
+ font-weight: bold;
1033
+ text-align: center;
1034
+ line-height: 23px;
1035
+ -webkit-box-shadow: -1px 0px 3px 0 #000;
1036
+ box-shadow: -1px 0px 3px 0 #000;
1037
+ -webkit-transition: -webkit-transform 300ms ease;
1038
+ transition: -webkit-transform 300ms ease;
1039
+ -o-transition: transform 300ms ease;
1040
+ transition: transform 300ms ease;
1041
+ transition: transform 300ms ease, -webkit-transform 300ms ease;
1042
+ }
1043
+ .eael-wcpc-wrapper .eael-wc-remove,
1044
+ .eael-wcpc-wrapper.custom .eael-wc-remove {
1045
+ cursor: pointer;
1046
+ -webkit-transition: all 400ms ease;
1047
+ -o-transition: all 400ms ease;
1048
+ transition: all 400ms ease;
1049
+ }
1050
+ .eael-wcpc-wrapper .eael-wc-remove.disable,
1051
+ .eael-wcpc-wrapper.custom .eael-wc-remove.disable {
1052
+ color: #a0a0a0 !important;
1053
+ -webkit-transform: scale(1) !important;
1054
+ -ms-transform: scale(1) !important;
1055
+ transform: scale(1) !important;
1056
+ }
1057
+ .eael-wcpc-wrapper .eael-wc-remove:hover,
1058
+ .eael-wcpc-wrapper.custom .eael-wc-remove:hover {
1059
+ color: red;
1060
+ -webkit-transform: scale(2);
1061
+ -ms-transform: scale(2);
1062
+ transform: scale(2);
1063
+ }
1064
+ .eael-wcpc-wrapper .remove-row,
1065
+ .eael-wcpc-wrapper.custom .remove-row {
1066
+ border: none;
1067
+ }
1068
+ .eael-wcpc-wrapper .remove-row th, .eael-wcpc-wrapper .remove-row td,
1069
+ .eael-wcpc-wrapper.custom .remove-row th,
1070
+ .eael-wcpc-wrapper.custom .remove-row td {
1071
+ border: none;
1072
+ text-align: center;
1073
+ }
1074
  .eael-product-grid .woocommerce ul.products li.product a img {
1075
  margin-bottom: 0;
1076
  display: block;
2110
  font-size: 18px;
2111
  line-height: 42px;
2112
  }
2113
+ .eael-product-grid.grid .eael-product-wrap .icons-wrap li a svg, .eael-product-grid.masonry .eael-product-wrap .icons-wrap li a svg {
2114
+ width: 18px;
2115
+ }
2116
  .eael-product-grid.grid .eael-product-wrap .product-details-wrap, .eael-product-grid.masonry .eael-product-wrap .product-details-wrap {
2117
  padding: 10px;
2118
  }
2194
  padding: 20px;
2195
  margin-left: 20px;
2196
  }
2197
+ .eael-product-grid.list .eael-product-wrap {
2198
+ display: -webkit-box;
2199
+ display: -ms-flexbox;
2200
+ display: flex;
 
 
2201
  }
2202
  .eael-product-grid.list .eael-product-wrap:hover .icons-wrap.box-style {
2203
  -webkit-transform: translateY(-50%);
2252
  background-color: #ffffff;
2253
  }
2254
  .eael-product-grid.list .eael-product-wrap .icons-wrap.details-block-style li.add-to-cart a {
2255
+ padding: 11px 15px !important;
2256
  }
2257
  .eael-product-grid.list .eael-product-wrap .icons-wrap.details-block-style li a {
2258
  margin: 2px;
2300
  position: relative;
2301
  font-size: 18px;
2302
  }
2303
+ .eael-product-grid.list .eael-product-wrap .icons-wrap li a svg {
2304
+ width: 18px;
2305
+ }
2306
  .eael-product-grid.list .eael-product-wrap .icons-wrap li a.button {
2307
  font-size: 15px;
2308
  line-height: 1.4em;
2316
  .eael-product-grid.list .eael-product-wrap .product-details-wrap {
2317
  width: 55%;
2318
  padding: 25px;
2319
+ text-align: left !important;
2320
  }
2321
  .eael-product-grid.list .eael-product-wrap .eael-product-price {
2322
  margin-bottom: 5px;
2403
  grid-template-columns: repeat(6, 1fr);
2404
  }
2405
 
2406
+ .eael-product-list-column-tablet-2 .eael-product-grid .woocommerce ul.products {
2407
+ grid-template-columns: repeat(2, 1fr);
2408
+ }
2409
+
2410
  .eael-product-grid-column-tablet-1 .eael-product-grid.masonry .woocommerce ul.products li.product {
2411
  width: 100%;
2412
  margin: 15px 0;
2457
  grid-template-columns: repeat(6, 1fr);
2458
  }
2459
 
2460
+ .eael-product-list-column-mobile-2 .eael-product-grid .woocommerce ul.products {
2461
+ grid-template-columns: repeat(2, 1fr);
2462
+ }
2463
+ .eael-product-list-column-mobile-2 .eael-product-grid .woocommerce ul.products .eael-product-wrap {
2464
+ -webkit-box-orient: vertical;
2465
+ -webkit-box-direction: normal;
2466
+ -ms-flex-direction: column;
2467
+ flex-direction: column;
2468
+ }
2469
+ .eael-product-list-column-mobile-2 .eael-product-grid .woocommerce ul.products .eael-product-wrap .product-image-wrap,
2470
+ .eael-product-list-column-mobile-2 .eael-product-grid .woocommerce ul.products .eael-product-wrap .product-details-wrap {
2471
+ width: 100%;
2472
+ }
2473
+ .eael-product-list-column-mobile-2 .eael-product-grid .woocommerce ul.products .eael-product-wrap .product-image-wrap {
2474
+ margin-bottom: 15px;
2475
+ }
2476
+ .eael-product-list-column-mobile-2 .eael-product-grid .woocommerce ul.products .eael-product-wrap .product-details-wrap {
2477
+ padding: 0;
2478
+ margin: 0;
2479
+ }
2480
+
2481
  .eael-product-grid-column-mobile-1 .eael-product-grid.masonry .woocommerce ul.products li.product {
2482
  width: 100%;
2483
  margin: 15px 0;
assets/front-end/css/view/product-grid.min.css CHANGED
@@ -1 +1 @@
1
- .eael-product-grid .woocommerce ul.products,.eael-post-grid .woocommerce ul.products{display:grid;grid-gap:25px;margin:0 0 15px 0;padding:0 !important}.eael-product-grid .woocommerce ul.products:before,.eael-product-grid .woocommerce ul.products:after,.eael-post-grid .woocommerce ul.products:before,.eael-post-grid .woocommerce ul.products:after{display:none}.eael-product-grid .woocommerce ul.products .product,.eael-post-grid .woocommerce ul.products .product{width:100%;margin:0;padding:0}.eael-product-grid .woocommerce ul.products.products[class*=columns-] li.product,.eael-post-grid .woocommerce ul.products.products[class*=columns-] li.product{width:100%}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product{position:relative;float:left;overflow:hidden;text-align:center;padding:0;border-radius:0;background-color:#fff;-webkit-box-shadow:none;box-shadow:none}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product a,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product a,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a{text-decoration:none}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product a:hover,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a:hover,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product a:hover,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a:hover{outline:none;-webkit-box-shadow:none;box-shadow:none}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product img,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product img,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product img,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product img{width:100%;height:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .woocommerce-loop-product__title,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .woocommerce-loop-product__title,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .woocommerce-loop-product__title,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:16px;font-weight:700;line-height:1;color:#333;margin:25px 0 12px;padding:0}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .onsale,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .onsale,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .onsale,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .onsale{display:block;line-height:170px;font-size:13px;text-align:center;letter-spacing:0;text-shadow:0 1px 1px rgba(0,0,0,.6);text-transform:uppercase;color:#fff;background-color:#ff2a13;border-radius:0;border:none;-webkit-box-shadow:none;box-shadow:none;position:absolute;height:100px;width:200px;z-index:1;left:-100px;top:-50px;right:auto;margin:0;padding:0;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .outofstock-badge,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .outofstock-badge,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .outofstock-badge,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .outofstock-badge{line-height:16px;font-weight:600;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;letter-spacing:0;text-shadow:0 1px 1px rgba(0,0,0,.6);text-transform:uppercase;color:#fff;background-color:#ff2a13;border-radius:0;border:none;-webkit-box-shadow:none;box-shadow:none;position:absolute;height:100px;width:200px;z-index:1;left:-95px;top:-45px;right:auto;margin:0;padding:0;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .price,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .price,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .price,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .price{font-size:14px;margin-bottom:0}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .price del,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .price del,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .price del,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .price del{opacity:.5;display:inline-block}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .price ins,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .price ins,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .price ins,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .price ins{font-weight:400;background-color:transparent;color:#ff2a13}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .star-rating,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .star-rating,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .star-rating,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .star-rating{display:block;float:none;font-size:14px;margin:10px auto}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button{display:block;font-size:14px;font-weight:400;line-height:38px;text-align:center;text-transform:uppercase;color:#fff;background-color:#333;padding:0;margin:15px;border-radius:0}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button::before,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button::before,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button::before,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button::before{content:"";font-family:"Font Awesome 5 Free";font-weight:900;padding-right:8px}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button.product_type_variable:before,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button.product_type_variable:before,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button.product_type_variable:before,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button.product_type_variable:before{content:""}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button:focus,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button:focus,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button:focus,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button:focus{outline:none}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product a.added_to_cart,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product a.added_to_cart,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart{display:block;margin:0 0 15px 0;padding:0;font-size:14px;line-height:1;text-transform:capitalize;color:#333;background-color:transparent}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product{border:1px solid #eee}.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product{border:1px solid transparent}.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart{visibility:hidden;-webkit-transition:none;-o-transition:none;transition:none}.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover{border:1px solid #eee}.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover .button.add_to_cart_button,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover a.added_to_cart,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover .button.add_to_cart_button,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover a.added_to_cart{visibility:visible}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product{position:relative;float:left;overflow:hidden;text-align:center;padding:0 0 15px 0;border-radius:0;background-color:#fff;-webkit-box-shadow:none;box-shadow:none}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product a,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product a{text-decoration:none}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product a:hover,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product a:hover{outline:none;-webkit-box-shadow:none;box-shadow:none}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product img,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product img{width:100%;height:auto;margin:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay{position:relative;overflow:hidden;line-height:0}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .button-wrap,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .button-wrap{position:absolute;top:50%;left:0;right:0;text-align:center;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:14px;line-height:38px;text-align:center;color:#fff;background-color:#333;width:38px;height:38px;border-style:none;border-radius:50%;vertical-align:middle;padding:0;margin:0 5px;-webkit-transform:translateY(20px);-ms-transform:translateY(20px);transform:translateY(20px);opacity:0;-webkit-transition:opacity 300ms,-webkit-transform 200ms;transition:opacity 300ms,-webkit-transform 200ms;-o-transition:transform 200ms,opacity 300ms;transition:transform 200ms,opacity 300ms;transition:transform 200ms,opacity 300ms,-webkit-transform 200ms}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:focus,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:focus,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:focus,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:focus,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:focus,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:focus{outline:none}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button{font-size:0}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:before,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:before{display:none}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:after,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:after{content:"";font-size:14px;line-height:38px;text-rendering:auto;-webkit-font-smoothing:antialiased;vertical-align:middle;margin:0;padding:0;font-family:"Font Awesome 5 Free";font-weight:900}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.product_type_variable:after,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.product_type_variable:after{content:""}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:before,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:before{display:none}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:after,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:after{content:"";display:inline-block;font-weight:normal;font-family:"Font Awesome 5 Free";font-size:14px;line-height:38px;color:#fff;height:auto;width:auto;position:relative;top:0;left:0;margin:0;padding:0}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart{font-size:0}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:after,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:after{content:"";font-family:"Font Awesome 5 Free";font-size:14px;line-height:38px;font-weight:900;color:#fff;text-rendering:auto;-webkit-font-smoothing:antialiased;vertical-align:middle;margin:0;padding:0}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .woocommerce-loop-product__title,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:16px;font-weight:700;line-height:1;color:#333;margin:25px 0 12px;padding:0}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .onsale,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .onsale{display:block;line-height:170px;font-size:13px;text-align:center;letter-spacing:0;text-shadow:0 1px 1px rgba(0,0,0,.6);text-transform:uppercase;color:#fff;background-color:#ff2a13;border-radius:0;border:none;-webkit-box-shadow:none;box-shadow:none;position:absolute;height:100px;width:200px;z-index:1;left:-100px;top:-50px;right:auto;margin:0;padding:0;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .price,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .price{font-size:14px;margin-bottom:0}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .price del,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .price del{opacity:.5;display:inline-block}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .price ins,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .price ins{font-weight:400;background-color:transparent;color:#ff2a13}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .star-rating,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .star-rating{display:block;float:none;font-size:14px;margin:10px auto}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay a,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay .add_to_cart_button,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay a,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay .add_to_cart_button{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.eael-product-grid.eael-product-default .woocommerce ul.products .product a.add_to_cart_button,.eael-product-grid.eael-product-default .woocommerce ul.products .product span.price,.eael-product-grid.eael-product-default .woocommerce ul.products .product h2.woocommerce-loop-product__title,.eael-product-grid.eael-product-simple .woocommerce ul.products .product a.add_to_cart_button,.eael-product-grid.eael-product-simple .woocommerce ul.products .product span.price,.eael-product-grid.eael-product-simple .woocommerce ul.products .product h2.woocommerce-loop-product__title,.eael-product-grid.eael-product-reveal .woocommerce ul.products .product a.add_to_cart_button,.eael-product-grid.eael-product-reveal .woocommerce ul.products .product span.price,.eael-product-grid.eael-product-reveal .woocommerce ul.products .product h2.woocommerce-loop-product__title,.eael-product-grid.eael-product-overlay .woocommerce ul.products .product a.add_to_cart_button,.eael-product-grid.eael-product-overlay .woocommerce ul.products .product span.price,.eael-product-grid.eael-product-overlay .woocommerce ul.products .product h2.woocommerce-loop-product__title,.eael-post-grid.eael-product-default .woocommerce ul.products .product a.add_to_cart_button,.eael-post-grid.eael-product-default .woocommerce ul.products .product span.price,.eael-post-grid.eael-product-default .woocommerce ul.products .product h2.woocommerce-loop-product__title,.eael-post-grid.eael-product-simple .woocommerce ul.products .product a.add_to_cart_button,.eael-post-grid.eael-product-simple .woocommerce ul.products .product span.price,.eael-post-grid.eael-product-simple .woocommerce ul.products .product h2.woocommerce-loop-product__title,.eael-post-grid.eael-product-reveal .woocommerce ul.products .product a.add_to_cart_button,.eael-post-grid.eael-product-reveal .woocommerce ul.products .product span.price,.eael-post-grid.eael-product-reveal .woocommerce ul.products .product h2.woocommerce-loop-product__title,.eael-post-grid.eael-product-overlay .woocommerce ul.products .product a.add_to_cart_button,.eael-post-grid.eael-product-overlay .woocommerce ul.products .product span.price,.eael-post-grid.eael-product-overlay .woocommerce ul.products .product h2.woocommerce-loop-product__title{margin-left:10px !important;margin-right:10px !important}.eael-product-grid.eael-product-default .woocommerce ul.products li.product,.eael-post-grid.eael-product-default .woocommerce ul.products li.product{overflow:visible !important}.eael-product-grid.eael-product-default .woocommerce ul.products li.product .onsale,.eael-post-grid.eael-product-default .woocommerce ul.products li.product .onsale{line-height:inherit;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eael-product-grid.eael-product-default .button.add_to_cart_button::before,.eael-post-grid.eael-product-default .button.add_to_cart_button::before{content:"";font-family:"Font Awesome 5 Free";font-weight:900;padding-right:8px}.eael-product-grid.eael-product-default .button.add_to_cart_button.product_type_variable:before,.eael-post-grid.eael-product-default .button.add_to_cart_button.product_type_variable:before{content:""}.eael-product-grid .woocommerce ul.products li.product a img{margin-bottom:0;display:block;width:100%}.eael-product-grid .woocommerce ul.products li.product .woocommerce-loop-product__title{letter-spacing:normal;font-weight:700;text-transform:capitalize}.eael-product-grid .woocommerce ul.products li.product ins{background:transparent}.eael-product-grid .woocommerce ul.products li.product .button{text-transform:capitalize;border:none;letter-spacing:normal;-webkit-box-shadow:none;box-shadow:none}.eael-product-grid .woocommerce ul.products li.product .button:hover,.eael-product-grid .woocommerce ul.products li.product .button:visited{text-decoration:none}.eael-product-grid .woocommerce ul.products li.product .star-rating{margin:0 auto 5px;display:inline-block;float:none;height:1em;width:5.6em;font-size:1em;line-height:1em}.eael-product-grid .woocommerce ul.products li.product .star-rating:before{content:"";font-family:"Font Awesome 5 Free";font-weight:400;opacity:1}.eael-product-grid .woocommerce ul.products li.product .star-rating span{display:inline-block}.eael-product-grid .woocommerce ul.products li.product .star-rating span:before{content:"";font-family:"Font Awesome 5 Free";font-weight:900}.eael-product-popup{position:fixed;left:0;top:0;width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:-1}.eael-product-popup.eael-product-popup-ready{z-index:999;opacity:1 !important}.eael-product-popup.eael-product-zoom-in{opacity:0;-webkit-transition:all .3s ease-out;-o-transition:all .3s ease-out;transition:all .3s ease-out}.eael-product-popup.eael-product-zoom-in .eael-product-popup-details{opacity:0;-webkit-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out;-webkit-transform:scale(0.5);-ms-transform:scale(0.5);transform:scale(0.5)}.eael-product-popup.eael-product-zoom-in.eael-product-popup-ready .eael-product-popup-details{opacity:1;-webkit-transform:scale(0.9);-ms-transform:scale(0.9);transform:scale(0.9)}.eael-product-popup.eael-product-zoom-in.eael-product-popup-ready .eael-product-modal-bg{opacity:.7}.eael-product-popup.eael-product-zoom-in.eael-product-modal-removing .eael-product-modal-bg{opacity:0}.eael-product-popup.eael-product-zoom-in.eael-product-modal-removing .eael-product-popup-details{-webkit-transform:scale(0.5);-ms-transform:scale(0.5);transform:scale(0.5);opacity:0}.eael-product-popup .eael-product-modal-bg{position:absolute;left:0;top:0;height:100%;width:100%;background:#000;opacity:0;-webkit-transition:all .3s ease-out;-o-transition:all .3s ease-out;transition:all .3s ease-out}.eael-product-popup .eael-product-popup-details{position:relative;margin:5vh auto;padding:20px;border:1px solid #888;max-width:900px;-webkit-box-shadow:0 4px 8px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);box-shadow:0 4px 8px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);background-color:#fefefe;width:100%;border-radius:10px;height:auto;max-height:-webkit-fit-content;max-height:-moz-fit-content;max-height:fit-content}.eael-product-popup .eael-product-popup-details .single_add_to_cart_button{position:relative}.eael-product-popup .eael-product-popup-details .single_add_to_cart_button.eael-addtocart-added:after{font-family:"Font Awesome 5 Free";content:"";font-weight:900;display:inline-block;position:absolute;right:12px}.eael-product-popup .eael-product-popup-details .single_add_to_cart_button.eael-addtocart-loading:after{font-family:"Font Awesome 5 Free";content:"";font-weight:900;position:absolute;right:12px;-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite}.eael-product-popup.woocommerce div.product{display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;overflow-y:auto;background:transparent;position:relative}.eael-product-popup.woocommerce div.product.ast-article-single,.eael-product-popup.woocommerce div.product .ast-article-single{background:transparent}@media(max-width: 767px){.eael-product-popup.woocommerce div.product{display:block}}.eael-product-popup.woocommerce div.product div.images{width:100%;margin-bottom:0}.eael-product-popup.woocommerce div.product div.images.woocommerce-product-gallery .flex-viewport{-webkit-transform-style:preserve-3d;transform-style:preserve-3d;margin-bottom:1em}.eael-product-popup.woocommerce div.product div.woocommerce-product-gallery--columns-4 .flex-control-thumbs li{width:calc(25% - .75em);margin-right:1em;margin-bottom:1em}.eael-product-popup.woocommerce div.product div.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:last-child{margin-right:0}.eael-product-popup.woocommerce div.product .product_title{font-size:28px;line-height:1.2em;font-weight:700;margin-bottom:10px;letter-spacing:normal;text-transform:capitalize}.eael-product-popup.woocommerce div.product .product_title:before{content:none}.eael-product-popup.woocommerce div.product .price{font-size:25px;line-height:1.2em;margin:0 0 15px;text-align:left !important}.eael-product-popup.woocommerce div.product .woocommerce-product-details__short-description{font-size:18px;line-height:1.2em;margin:0}.eael-product-popup.woocommerce div.product .woocommerce-product-details__short-description p,.eael-product-popup.woocommerce div.product .woocommerce-product-details__short-description p:last-child{margin-bottom:20px}.eael-product-popup.woocommerce div.product .button{margin:0 !important;line-height:1.5em}.eael-product-popup.woocommerce div.product form.cart{margin:0 0 1.2em;padding:0;border:none;width:100%}.eael-product-popup.woocommerce div.product form.cart table{border:none;margin:0 0 1.2em;border-collapse:collapse;width:100%}.eael-product-popup.woocommerce div.product form.cart table tbody{display:table-row-group;border:none}.eael-product-popup.woocommerce div.product form.cart p.stock{margin-bottom:0}.eael-product-popup.woocommerce div.product form.cart .group_table td{border:none}.eael-product-popup.woocommerce div.product form.cart .group_table .button{padding:.8em;font-weight:400;font-size:.9rem;white-space:nowrap}.eael-product-popup.woocommerce div.product form.cart div.quantity{margin-right:15px;width:auto}.eael-product-popup.woocommerce div.product form.cart div.quantity input,.eael-product-popup.woocommerce div.product form.cart div.quantity a{height:100%;border:1px solid}.eael-product-popup.woocommerce div.product form.cart div.quantity input[type=number]{min-width:90px}.eael-product-popup.woocommerce div.product form.cart div.quantity .qty{text-align:center}.eael-product-popup.woocommerce div.product form.cart div.quantity .qty:focus{outline:none}.eael-product-popup.woocommerce div.product form.cart .button.single_add_to_cart_button{padding:10px 40px}.eael-product-popup.woocommerce div.product form.cart .product-single-quantity button.plus,.eael-product-popup.woocommerce div.product form.cart .product-single-quantity button.minus{display:none}.eael-product-popup.woocommerce div.product .woocommerce-product-rating{margin-bottom:5px}.eael-product-popup.woocommerce div.product .woocommerce-product-rating .star-rating{font-size:16px}.eael-product-popup.woocommerce div.product .woocommerce-product-rating .woocommerce-review-link{display:inline-block;vertical-align:top;font-size:16px;line-height:18px}.eael-product-popup.woocommerce div.product table tbody tr{border-bottom:1px solid #ccc}.eael-product-popup.woocommerce div.product table tbody tr td{background:transparent;vertical-align:middle !important;padding:15px 15px 15px 0 !important}.eael-product-popup.woocommerce div.product .product_meta{font-size:14px;border-top:1px solid #ccc;border-bottom:0;padding:1em 0 0;margin:0 0 .8em}.eael-product-popup.woocommerce div.product .product_meta>span{display:block;border:none;padding:5px 0}.eael-product-popup .eael-product-image-wrap{width:40%}@media(max-width: 767px){.eael-product-popup .eael-product-image-wrap{width:100%}}.eael-product-popup .eael-product-image-wrap .badge-container{display:none}.eael-product-popup .eael-product-image-wrap .eael-new-product .flex-viewport{height:auto !important}.eael-product-popup .eael-product-details-wrap{width:56%;margin-left:4%;text-align:left}@media(max-width: 767px){.eael-product-popup .eael-product-details-wrap{width:100%;margin-left:0;margin-top:25px}}.eael-product-popup .eael-product-details-wrap .is-divider{display:none}.eael-product-popup button.eael-product-popup-close{position:absolute;right:-15px;top:-18px;font-size:20px;padding:0;cursor:pointer;-webkit-box-sizing:content-box;box-sizing:content-box;overflow:visible;background:#fff !important;text-align:center;-webkit-box-shadow:2px 0px 12px 3px rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);box-shadow:2px 0px 12px 3px rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);color:#000 !important;height:40px;width:40px;min-height:40px;max-width:40px;display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:50%;opacity:1;border:0;margin:0}.eael-product-popup button.eael-product-popup-close:focus{outline:none}.eael-product-popup form.cart{display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:20px}.eael-product-popup form.cart.variations_form{display:block}.eael-product-popup form.cart.variations_form .variations{border:none}.eael-product-popup form.cart.variations_form .variations tr{margin-bottom:5px}.eael-product-popup form.cart.variations_form .variations td{display:block;width:100%;border:none;padding:0;margin-bottom:5px}.eael-product-popup form.cart.variations_form .variations td select{width:100%}.eael-product-popup form.cart.variations_form .variations_button{display:-webkit-box;display:-ms-flexbox;display:flex}.eael-product-popup form.cart.grouped_form{display:block}.eael-product-popup form.cart.grouped_form table .button{line-height:1.2em}.eael-product-popup form.cart.grouped_form .quantity{width:100%}.eael-product-popup form.cart.grouped_form .quantity input,.eael-product-popup form.cart.grouped_form .quantity a{height:auto !important;min-height:2.507em;line-height:1.2em}.eael-product-popup form.cart .quantity{width:37%;margin-right:20px}.eael-product-popup form.cart .quantity input{width:100%}.eael-product-popup .eael-onsale{padding:5px 10px;font-size:12px;font-weight:500;position:absolute;text-align:center;line-height:1.2em;top:30px;left:0;margin:0;background-color:#ff7a80;color:#fff;z-index:9}.eael-product-popup .eael-onsale.sale-preset-1.outofstock br{display:none}.eael-product-popup .eael-onsale.sale-preset-1.right{left:auto;right:0}.eael-product-popup .eael-onsale.sale-preset-2{padding:0;top:5px;left:5px;min-width:50px;min-height:50px;line-height:50px;border-radius:100%;-webkit-font-smoothing:antialiased}.eael-product-popup .eael-onsale.sale-preset-2.outofstock{line-height:normal;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.eael-product-popup .eael-onsale.sale-preset-3{border-radius:50px;left:15px;top:15px}.eael-product-popup .eael-onsale.sale-preset-3.outofstock br{display:none}.eael-product-popup .eael-onsale.sale-preset-4{left:0;top:15px}.eael-product-popup .eael-onsale.sale-preset-4.outofstock br{display:none}.eael-product-popup .eael-onsale.sale-preset-4:after{position:absolute;right:-15px;bottom:0px;width:15px;height:24px;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:10px solid #23a454;content:""}.eael-product-popup .eael-onsale.sale-preset-5{display:block;line-height:74px;height:50px;width:100px;left:-35pX;top:-8px;right:auto;padding:0;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.eael-product-popup .eael-onsale.sale-preset-5.outofstock{line-height:normal;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.eael-product-grid .eael-woo-pagination ul{display:inline-block;text-align:center;white-space:nowrap;padding:0;clear:both;border:0;margin:1px;width:auto}.eael-product-grid .eael-woo-pagination ul li{display:inline-block;margin:0 5px 5px 0;padding:0;float:left;overflow:hidden}.eael-product-grid .eael-woo-pagination ul li .page-numbers{margin:0;text-decoration:none;color:#000000bd;line-height:1;font-size:1em;font-weight:normal;padding:.75em;display:block;min-width:2.5em;-webkit-box-sizing:inherit;box-sizing:inherit;border:none}.eael-product-grid .eael-woo-pagination ul li .page-numbers.current,.eael-product-grid .eael-woo-pagination ul li .page-numbers:hover,.eael-product-grid .eael-woo-pagination ul li .page-numbers:focus{color:#fff;background:#000000bd}.eael-product-grid .woocommerce ul.products .product{overflow-y:auto}.eael-product-grid .eael-load-more-button-wrap{clear:both;margin-top:40px}.eael-product-grid .eael-product-wrap .eael-onsale{padding:5px 10px;font-size:12px;font-weight:500;position:absolute;text-align:center;line-height:1.2em;top:30px;left:0;margin:0;background-color:#ff7a80;color:#fff;z-index:9}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-1.outofstock br{display:none}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-1.right{left:auto;right:0}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-2{padding:0;top:5px;left:5px;display:inline-table;min-width:50px;min-height:50px;line-height:50px;border-radius:100%;-webkit-font-smoothing:antialiased}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-2.outofstock{line-height:normal;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-2.right{left:auto;right:5px}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-3{border-radius:50px;left:15px;top:15px}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-3.outofstock br{display:none}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-3.right{left:auto;right:15px}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-4{left:0;top:15px}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-4.outofstock br{display:none}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-4:after{position:absolute;right:-15px;bottom:0px;width:15px;height:24px;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:10px solid #23a454;content:""}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-4.right{left:auto;right:0}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-4.right:after{right:auto;left:-15px;border-left:0;border-right:10px solid #23a454}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-5{display:block;line-height:74px;height:50px;width:100px;left:-35pX;top:-8px;right:auto;padding:0;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-5.outofstock{line-height:normal;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-5.right{left:auto;right:-35px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.eael-product-grid .eael-product-wrap .eael-product-title h2{font-size:20px;line-height:1.2em;color:#252525;font-weight:500;margin:0 0 8px;padding:0}.eael-product-grid .eael-product-wrap .eael-product-title h2:before{content:none}.eael-product-grid .eael-product-wrap .eael-product-price{font-size:18px;line-height:1.2em;color:#ff7a80;font-weight:600;margin-bottom:10px}.eael-product-grid .eael-product-wrap .star-rating{margin:0 auto 10px}.eael-product-grid .eael-product-wrap a.button.add_to_cart_button.added{display:none !important}.eael-product-grid.grid .eael-product-wrap:hover .icons-wrap.box-style,.eael-product-grid.masonry .eael-product-wrap:hover .icons-wrap.box-style{bottom:30px;visibility:visible;opacity:1}.eael-product-grid.grid .eael-product-wrap:hover .icons-wrap.block-box-style,.eael-product-grid.masonry .eael-product-wrap:hover .icons-wrap.block-box-style{visibility:visible;opacity:1;-webkit-transform:translateY(-50px);-ms-transform:translateY(-50px);transform:translateY(-50px)}.eael-product-grid.grid .eael-product-wrap:hover .icons-wrap.block-style,.eael-product-grid.masonry .eael-product-wrap:hover .icons-wrap.block-style{visibility:visible;opacity:1;-webkit-transform:translateY(-50px);-ms-transform:translateY(-50px);transform:translateY(-50px)}.eael-product-grid.grid .eael-product-wrap .product-image-wrap,.eael-product-grid.masonry .eael-product-wrap .product-image-wrap{position:relative;overflow:hidden}.eael-product-grid.grid .eael-product-wrap .icons-wrap,.eael-product-grid.masonry .eael-product-wrap .icons-wrap{padding:0;list-style:none;position:absolute;z-index:9;display:block;top:50%;left:0;right:0;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);opacity:0;visibility:hidden;-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center;margin:0 auto;-webkit-transition:all ease .4s;-o-transition:all ease .4s;transition:all ease .4s}.eael-product-grid.grid .eael-product-wrap .icons-wrap.block-style,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.block-style{background:red;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:stretch;-ms-flex-pack:stretch;justify-content:stretch;width:100%;top:auto;bottom:-50px}.eael-product-grid.grid .eael-product-wrap .icons-wrap.block-style li,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.block-style li{-webkit-box-flex:1;-ms-flex:1;flex:1}.eael-product-grid.grid .eael-product-wrap .icons-wrap.block-style li:not(:last-child),.eael-product-grid.masonry .eael-product-wrap .icons-wrap.block-style li:not(:last-child){border-right:1px solid #fff}.eael-product-grid.grid .eael-product-wrap .icons-wrap.block-style li.add-to-cart,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.block-style li.add-to-cart{-webkit-box-flex:4;-ms-flex:4;flex:4}.eael-product-grid.grid .eael-product-wrap .icons-wrap.block-style li a,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.block-style li a{position:relative;background-color:transparent;margin:0;padding:10px 5px;font-size:15px;line-height:1.2em;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.eael-product-grid.grid .eael-product-wrap .icons-wrap.block-style li a:hover,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.block-style li a:hover{background-color:transparent;color:#000}.eael-product-grid.grid .eael-product-wrap .icons-wrap.block-style li a i,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.block-style li a i{line-height:normal}.eael-product-grid.grid .eael-product-wrap .icons-wrap.box-style,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.box-style{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;top:auto;bottom:-100px}.eael-product-grid.grid .eael-product-wrap .icons-wrap.box-style li a,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.box-style li a{position:relative;width:42px;height:42px;margin:3px;-webkit-box-shadow:0px 15px 10px rgba(61,70,79,.12);box-shadow:0px 15px 10px rgba(61,70,79,.12);background-color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eael-product-grid.grid .eael-product-wrap .icons-wrap.box-style li a i,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.box-style li a i{line-height:1rem}.eael-product-grid.grid .eael-product-wrap .icons-wrap.box-style li a.added_to_cart,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.box-style li a.added_to_cart{font-size:0}.eael-product-grid.grid .eael-product-wrap .icons-wrap.box-style li a.added_to_cart:after,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.box-style li a.added_to_cart:after{content:"";font-weight:900;font-family:"Font Awesome 5 Free";font-size:18px;text-rendering:auto;-webkit-font-smoothing:antialiased;vertical-align:middle;margin:0;padding:0}.eael-product-grid.grid .eael-product-wrap .icons-wrap.box-style li a.button.add_to_cart_button,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.box-style li a.button.add_to_cart_button{padding:0;margin:3px;font-size:0px}.eael-product-grid.grid .eael-product-wrap .icons-wrap.box-style li a.button.add_to_cart_button:before,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.box-style li a.button.add_to_cart_button:before{content:"";display:block;font-family:"Font Awesome 5 Free";font-size:18px;font-weight:900;-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);top:50%;left:50%;position:absolute}.eael-product-grid.grid .eael-product-wrap .icons-wrap.box-style li a.button.add_to_cart_button.product_type_variable:before,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.box-style li a.button.add_to_cart_button.product_type_variable:before{content:""}.eael-product-grid.grid .eael-product-wrap .icons-wrap.over-box-style,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.over-box-style{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;-webkit-box-align:center;-ms-flex-align:center;align-items:center;visibility:visible;opacity:1;top:auto;bottom:-24px;margin:0 5%}.eael-product-grid.grid .eael-product-wrap .icons-wrap.over-box-style li a,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.over-box-style li a{position:relative;width:42px;height:42px;margin:3px;-webkit-box-shadow:0px 15px 10px rgba(61,70,79,.12);box-shadow:0px 15px 10px rgba(61,70,79,.12);background-color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eael-product-grid.grid .eael-product-wrap .icons-wrap.over-box-style li a i,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.over-box-style li a i{line-height:1rem}.eael-product-grid.grid .eael-product-wrap .icons-wrap.over-box-style li a.added_to_cart,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.over-box-style li a.added_to_cart{font-size:0}.eael-product-grid.grid .eael-product-wrap .icons-wrap.over-box-style li a.added_to_cart:after,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.over-box-style li a.added_to_cart:after{content:"";font-weight:900;font-family:"Font Awesome 5 Free";font-size:18px;line-height:38px;text-rendering:auto;-webkit-font-smoothing:antialiased;vertical-align:middle;margin:0;padding:0}.eael-product-grid.grid .eael-product-wrap .icons-wrap.over-box-style li a.button.add_to_cart_button,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.over-box-style li a.button.add_to_cart_button{padding:0;margin:0;font-size:0px}.eael-product-grid.grid .eael-product-wrap .icons-wrap.over-box-style li a.button.add_to_cart_button:before,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.over-box-style li a.button.add_to_cart_button:before{content:"";display:block;font-family:"Font Awesome 5 Free";font-size:18px;font-weight:900;-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);top:50%;left:50%;position:absolute}.eael-product-grid.grid .eael-product-wrap .icons-wrap.over-box-style li a.button.add_to_cart_button.product_type_variable:before,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.over-box-style li a.button.add_to_cart_button.product_type_variable:before{content:""}.eael-product-grid.grid .eael-product-wrap .icons-wrap.over-box-style li a.product_type_external,.eael-product-grid.grid .eael-product-wrap .icons-wrap.over-box-style li a.product_type_variable,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.over-box-style li a.product_type_external,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.over-box-style li a.product_type_variable{width:auto;height:auto}.eael-product-grid.grid .eael-product-wrap .icons-wrap.block-box-style,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.block-box-style{background:#fff;width:100%;top:auto;bottom:-50px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eael-product-grid.grid .eael-product-wrap .icons-wrap.block-box-style li a,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.block-box-style li a{position:relative;width:42px;height:42px;margin:10px 2px 0;padding:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eael-product-grid.grid .eael-product-wrap .icons-wrap.block-box-style li a i,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.block-box-style li a i{line-height:1rem}.eael-product-grid.grid .eael-product-wrap .icons-wrap.block-box-style li a.added_to_cart,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.block-box-style li a.added_to_cart{font-size:0}.eael-product-grid.grid .eael-product-wrap .icons-wrap.block-box-style li a.added_to_cart:after,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.block-box-style li a.added_to_cart:after{content:"";font-weight:900;font-family:"Font Awesome 5 Free";font-size:18px;text-rendering:auto;-webkit-font-smoothing:antialiased;vertical-align:middle;margin:0;padding:0}.eael-product-grid.grid .eael-product-wrap .icons-wrap.block-box-style li a.button.add_to_cart_button.ajax_add_to_cart,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.block-box-style li a.button.add_to_cart_button.ajax_add_to_cart{padding:0;margin:10px 2px 0;font-size:0px}.eael-product-grid.grid .eael-product-wrap .icons-wrap.block-box-style li a.button.add_to_cart_button.ajax_add_to_cart:before,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.block-box-style li a.button.add_to_cart_button.ajax_add_to_cart:before{content:"";display:block;font-family:"Font Awesome 5 Free";font-size:18px;font-weight:900;-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);top:50%;left:50%;position:absolute}.eael-product-grid.grid .eael-product-wrap .icons-wrap.block-box-style li a.button.add_to_cart_button.ajax_add_to_cart.product_type_variable:before,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.block-box-style li a.button.add_to_cart_button.ajax_add_to_cart.product_type_variable:before{content:""}.eael-product-grid.grid .eael-product-wrap .icons-wrap li,.eael-product-grid.masonry .eael-product-wrap .icons-wrap li{display:inline-block;margin:0;padding:0}.eael-product-grid.grid .eael-product-wrap .icons-wrap li a,.eael-product-grid.masonry .eael-product-wrap .icons-wrap li a{display:block;position:absolute;color:#000;width:100%;height:100%;text-align:center;-webkit-transition:all ease .4s;-o-transition:all ease .4s;transition:all ease .4s}.eael-product-grid.grid .eael-product-wrap .icons-wrap li a:hover,.eael-product-grid.masonry .eael-product-wrap .icons-wrap li a:hover{background:#ff7a80;color:#fff}.eael-product-grid.grid .eael-product-wrap .icons-wrap li a i,.eael-product-grid.masonry .eael-product-wrap .icons-wrap li a i{position:relative;font-size:18px;line-height:42px}.eael-product-grid.grid .eael-product-wrap .product-details-wrap,.eael-product-grid.masonry .eael-product-wrap .product-details-wrap{padding:10px}.eael-product-grid.masonry .woocommerce ul.products{display:block}@media(min-width: 766px){.eael-product-grid.masonry .woocommerce ul.products{margin:0 -15px}}.eael-product-grid.masonry .woocommerce ul.products:before,.eael-product-grid.masonry .woocommerce ul.products:after{display:table;content:" "}.eael-product-grid.masonry .woocommerce ul.products li.product{float:left;margin:15px 0}@media(min-width: 766px){.eael-product-grid.masonry .woocommerce ul.products li.product{margin:1%}}.eael-product-grid.grid.eael-product-preset-8 .product-image-wrap,.eael-product-grid.masonry.eael-product-preset-8 .product-image-wrap{overflow:inherit}.eael-product-grid.grid.eael-product-preset-8 .product-details-wrap>div:first-child,.eael-product-grid.masonry.eael-product-preset-8 .product-details-wrap>div:first-child{margin-top:20px}.eael-product-grid.grid.eael-product-preset-5 ul.products,.eael-product-grid.grid.eael-product-preset-6 ul.products,.eael-product-grid.grid.eael-product-preset-7 ul.products,.eael-product-grid.grid.eael-product-preset-8 ul.products,.eael-product-grid.masonry.eael-product-preset-5 ul.products,.eael-product-grid.masonry.eael-product-preset-6 ul.products,.eael-product-grid.masonry.eael-product-preset-7 ul.products,.eael-product-grid.masonry.eael-product-preset-8 ul.products{padding:0;margin:0;list-style:none}.eael-product-grid.grid.eael-product-preset-5 ul.products li.product,.eael-product-grid.grid.eael-product-preset-6 ul.products li.product,.eael-product-grid.grid.eael-product-preset-7 ul.products li.product,.eael-product-grid.grid.eael-product-preset-8 ul.products li.product,.eael-product-grid.masonry.eael-product-preset-5 ul.products li.product,.eael-product-grid.masonry.eael-product-preset-6 ul.products li.product,.eael-product-grid.masonry.eael-product-preset-7 ul.products li.product,.eael-product-grid.masonry.eael-product-preset-8 ul.products li.product{text-align:center;border:1px solid #000;overflow:hidden}.eael-product-grid.grid.eael-product-preset-6 .product.outofstock .icons-wrap .button,.eael-product-grid.grid.eael-product-preset-7 .product.outofstock .icons-wrap .button,.eael-product-grid.grid.eael-product-preset-8 .product.outofstock .icons-wrap .button,.eael-product-grid.masonry.eael-product-preset-6 .product.outofstock .icons-wrap .button,.eael-product-grid.masonry.eael-product-preset-7 .product.outofstock .icons-wrap .button,.eael-product-grid.masonry.eael-product-preset-8 .product.outofstock .icons-wrap .button{display:none}.eael-product-grid.grid.eael-product-preset-6 .icons-wrap .button.product_type_grouped,.eael-product-grid.grid.eael-product-preset-7 .icons-wrap .button.product_type_grouped,.eael-product-grid.grid.eael-product-preset-8 .icons-wrap .button.product_type_grouped,.eael-product-grid.masonry.eael-product-preset-6 .icons-wrap .button.product_type_grouped,.eael-product-grid.masonry.eael-product-preset-7 .icons-wrap .button.product_type_grouped,.eael-product-grid.masonry.eael-product-preset-8 .icons-wrap .button.product_type_grouped{display:none}.eael-product-grid.list .woocommerce ul.products li.product{overflow:hidden}.eael-product-grid.list .woocommerce ul.products li.product .woocommerce-loop-product__link img{margin-bottom:0}.eael-product-grid.list .woocommerce ul.products li.product .star-rating{margin:0 auto 10px 0}.eael-product-grid.list .eael-product-list-preset-2 .eael-product-wrap{padding:20px}.eael-product-grid.list .eael-product-list-preset-2 .eael-product-wrap .product-details-wrap{padding:0 0 0 25px}.eael-product-grid.list .eael-product-list-preset-3 .eael-product-wrap{padding:0;background-color:transparent}.eael-product-grid.list .eael-product-list-preset-3 .eael-product-wrap .product-details-wrap{padding:0 0 0 25px}.eael-product-grid.list .eael-product-list-preset-3 .eael-product-wrap .title-wrap,.eael-product-grid.list .eael-product-list-preset-3 .eael-product-wrap .price-wrap{margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid}.eael-product-grid.list .eael-product-list-preset-4 .eael-product-wrap{padding:0}.eael-product-grid.list .eael-product-list-preset-4 .eael-product-wrap .product-details-wrap{padding:20px;margin-left:20px}@media only screen and (min-width: 768px){.eael-product-grid.list .eael-product-wrap{display:-webkit-box;display:-ms-flexbox;display:flex}}.eael-product-grid.list .eael-product-wrap:hover .icons-wrap.box-style{-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);visibility:visible;opacity:1}.eael-product-grid.list .eael-product-wrap:hover .icons-wrap.block-style{visibility:visible;opacity:1;-webkit-transform:translateY(-50px);-ms-transform:translateY(-50px);transform:translateY(-50px)}.eael-product-grid.list .eael-product-wrap .icons-wrap{padding:0;margin:0;list-style:none;-webkit-transition:all ease .4s;-o-transition:all ease .4s;transition:all ease .4s}.eael-product-grid.list .eael-product-wrap .icons-wrap.block-style{background:red;display:-webkit-box;display:-ms-flexbox;display:flex;height:50px;width:100%;top:auto;bottom:-50px}.eael-product-grid.list .eael-product-wrap .icons-wrap.block-style li{-webkit-box-flex:1;-ms-flex:1;flex:1}.eael-product-grid.list .eael-product-wrap .icons-wrap.block-style li.add-to-cart{-webkit-box-flex:4;-ms-flex:4;flex:4}.eael-product-grid.list .eael-product-wrap .icons-wrap.block-style li a{position:relative}.eael-product-grid.list .eael-product-wrap .icons-wrap.box-style li{width:42px;height:42px;-webkit-filter:drop-shadow(0px 15px 10px rgba(61, 70, 79, 0.12));filter:drop-shadow(0px 15px 10px rgba(61, 70, 79, 0.12));background-color:#fff}.eael-product-grid.list .eael-product-wrap .icons-wrap.details-block-style li.add-to-cart a{padding:11px 15px}.eael-product-grid.list .eael-product-wrap .icons-wrap.details-block-style li a{margin:2px;padding:10.5px 10px}.eael-product-grid.list .eael-product-wrap .icons-wrap.details-block-style-2{display:-webkit-box;display:-ms-flexbox;display:flex}.eael-product-grid.list .eael-product-wrap .icons-wrap.details-block-style-2 li:not(:first-child) a{border-left-width:0 !important}.eael-product-grid.list .eael-product-wrap .icons-wrap.details-block-style-2 li.add-to-cart a{padding:8.5px 10px;margin:0}.eael-product-grid.list .eael-product-wrap .icons-wrap.details-block-style-2 li a{border:2px solid #ddd}.eael-product-grid.list .eael-product-wrap .icons-wrap li{display:inline-block;margin:0;padding:0;vertical-align:top}.eael-product-grid.list .eael-product-wrap .icons-wrap li a{display:block;color:#000;text-align:center;-webkit-transition:all ease .4s;-o-transition:all ease .4s;transition:all ease .4s;background:#ffebcd;padding:9px 10px;font-size:15px;line-height:1.4em;font-weight:700}.eael-product-grid.list .eael-product-wrap .icons-wrap li a:hover{background:#ff7a80;color:#fff}.eael-product-grid.list .eael-product-wrap .icons-wrap li a i{position:relative;font-size:18px}.eael-product-grid.list .eael-product-wrap .icons-wrap li a.button{font-size:15px;line-height:1.4em}.eael-product-grid.list .eael-product-wrap .product-image-wrap{position:relative;overflow:hidden;width:45%;margin:0}.eael-product-grid.list .eael-product-wrap .product-details-wrap{width:55%;padding:25px}.eael-product-grid.list .eael-product-wrap .eael-product-price{margin-bottom:5px}.eael-product-grid.list .eael-product-wrap .eael-product-excerpt p{margin:0 0 10px}@media only screen and (min-width: 1025px){.eael-product-grid-column-1 .eael-product-grid .woocommerce ul.products{grid-template-columns:100%}.eael-product-grid-column-2 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(2, 1fr)}.eael-product-grid-column-3 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(3, 1fr)}.eael-product-grid-column-4 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(4, 1fr)}.eael-product-grid-column-5 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(5, 1fr)}.eael-product-grid-column-6 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(6, 1fr)}.eael-product-list-column-2 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(2, 1fr)}.eael-product-grid-column-1 .eael-product-grid.masonry .woocommerce ul.products li.product{width:100%;margin:15px 0}.eael-product-grid-column-2 .eael-product-grid.masonry .woocommerce ul.products li.product{width:48%}.eael-product-grid-column-3 .eael-product-grid.masonry .woocommerce ul.products li.product{width:31.3333%}.eael-product-grid-column-4 .eael-product-grid.masonry .woocommerce ul.products li.product{width:23%}.eael-product-grid-column-5 .eael-product-grid.masonry .woocommerce ul.products li.product{width:18%}.eael-product-grid-column-6 .eael-product-grid.masonry .woocommerce ul.products li.product{width:14.66666667%}}@media only screen and (max-width: 1024px)and (min-width: 766px){.eael-product-grid-column-tablet-1 .eael-product-grid .woocommerce ul.products{grid-template-columns:100%}.eael-product-grid-column-tablet-2 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(2, 1fr)}.eael-product-grid-column-tablet-3 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(3, 1fr)}.eael-product-grid-column-tablet-4 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(4, 1fr)}.eael-product-grid-column-tablet-5 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(5, 1fr)}.eael-product-grid-column-tablet-6 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(6, 1fr)}.eael-product-grid-column-tablet-1 .eael-product-grid.masonry .woocommerce ul.products li.product{width:100%;margin:15px 0}.eael-product-grid-column-tablet-2 .eael-product-grid.masonry .woocommerce ul.products li.product{width:48%}.eael-product-grid-column-tablet-3 .eael-product-grid.masonry .woocommerce ul.products li.product{width:31.3333%}.eael-product-grid-column-tablet-4 .eael-product-grid.masonry .woocommerce ul.products li.product{width:23%}.eael-product-grid-column-tablet-5 .eael-product-grid.masonry .woocommerce ul.products li.product{width:18%}.eael-product-grid-column-tablet-6 .eael-product-grid.masonry .woocommerce ul.products li.product{width:14.66666667%}}@media only screen and (max-width: 767px){.eael-product-grid-column-mobile-1 .eael-product-grid .woocommerce ul.products{grid-template-columns:100%}.eael-product-grid-column-mobile-2 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(2, 1fr)}.eael-product-grid-column-mobile-3 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(3, 1fr)}.eael-product-grid-column-mobile-4 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(4, 1fr)}.eael-product-grid-column-mobile-5 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(5, 1fr)}.eael-product-grid-column-mobile-6 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(6, 1fr)}.eael-product-grid-column-mobile-1 .eael-product-grid.masonry .woocommerce ul.products li.product{width:100%;margin:15px 0}.eael-product-grid-column-mobile-2 .eael-product-grid.masonry .woocommerce ul.products li.product{width:48% !important;margin:1%}.eael-product-grid-column-mobile-3 .eael-product-grid.masonry .woocommerce ul.products li.product{width:31.3333% !important;margin:1%}.eael-product-grid-column-mobile-4 .eael-product-grid.masonry .woocommerce ul.products li.product{width:23% !important;margin:1%}.eael-product-grid-column-mobile-5 .eael-product-grid.masonry .woocommerce ul.products li.product{width:18% !important;margin:1%}.eael-product-grid-column-mobile-6 .eael-product-grid.masonry .woocommerce ul.products li.product{width:14.66666667% !important;margin:1%}}.theme-oceanwp.elementor-editor-active .eael-product-popup.woocommerce div.product form.cart div.quantity .qty{max-width:150px}.theme-oceanwp .eael-product-popup.woocommerce div.product form.cart div.quantity .qty:focus{border:1px solid}.eael-product-loader{position:relative}.eael-product-loader::after{border-radius:50%;width:50px;height:50px;position:absolute;content:"";border-top:4px solid rgba(0,0,0,.2);border-right:4px solid rgba(0,0,0,.2);border-bottom:4px solid rgba(0,0,0,.2);border-left:4px solid #000;-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);-webkit-animation:loaderSpin 1.1s infinite linear;animation:loaderSpin 1.1s infinite linear;left:48%;top:40%;-webkit-transition:all .2s;-o-transition:all .2s;transition:all .2s}
1
+ .table-responsive{width:100%;overflow-x:auto;overflow-y:hidden}.eael-wcpc-wrapper img{display:block;margin:auto}.eael-wcpc-wrapper th i{padding-right:10px;color:#dcdcdc}.eael-wcpc-wrapper .wcpc-table-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eael-wcpc-wrapper .elementor-icon{font-size:20px;margin-right:10px}.eael-wcpc-wrapper table td{text-align:center}.eael-wcpc-wrapper.custom{--h-bg: #2d1e87;--h-text-clr: #fff;--h-border-clr: #b6aaff;--text-clr: #707070;--text-bold-clr: #252525;--btn-bg: #6752e5;--btn-bg-hover: #ff9582;--btn-text: #fff;--image-bg: #6b55ec;--container-bg: #fff;--icon-color: #c3ccdc;background:var(--container-bg);overflow-x:scroll}.eael-wcpc-wrapper.custom table{border-collapse:collapse;border-spacing:0;max-width:none}.eael-wcpc-wrapper.custom table .icon{width:16px;margin-right:6px;fill:var(--icon-color)}.eael-wcpc-wrapper.custom table th,.eael-wcpc-wrapper.custom table td{padding:15px;border:1px solid var(--h-border-clr);border-collapse:collapse}.eael-wcpc-wrapper.custom table th.first-th{border:none;padding-left:5px}.eael-wcpc-wrapper.custom table th{color:var(--text-bold-clr);font-weight:normal;max-width:160px;border-left-width:2px;border-collapse:collapse;vertical-align:middle}.eael-wcpc-wrapper.custom table th div{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eael-wcpc-wrapper.custom table td{color:var(--text-clr);text-align:center}.eael-wcpc-wrapper.custom table tr.title{background:var(--h-bg);color:var(--h-text-clr)}.eael-wcpc-wrapper.custom table tr.title th,.eael-wcpc-wrapper.custom table tr.title td{font-size:20px;color:inherit;border:none;border-left:1px solid var(--h-border-clr);border-right:1px solid var(--h-border-clr)}.eael-wcpc-wrapper.custom table tr.image td{vertical-align:middle;border:none}.eael-wcpc-wrapper.custom table .button{border-radius:5px;background:var(--btn-bg);color:var(--btn-text)}.eael-wcpc-wrapper.custom table .button:hover{background:var(--btn-bg-hover)}.eael-wcpc-wrapper.custom.theme-1 table tr.image td{background:var(--image-bg);border-left:1px solid var(--h-border-clr);border-right:1px solid var(--h-border-clr)}.eael-wcpc-wrapper.custom.theme-2{--h-bg: #ff9453;--h-border-clr: #f4ede9;--btn-bg: #ff9453;--btn-bg-hover: #6752e5;--even-row-bg: #fbf8f7}.eael-wcpc-wrapper.custom.theme-2 table tr:nth-of-type(even):not(.title){background:var(--even-row-bg)}.eael-wcpc-wrapper.custom.theme-3{--container-bg: #f9fafc;--btn-bg: #ff907e;--btn-bg-hover: #ff907e;--even-row-bg: #f5f5f8;--h-odd-row-bg: #fdfdff;--first-img-bg: linear-gradient(-130deg, #ffd0b0 0%, #ff907e 100%);--second-img-bg: linear-gradient(-130deg, #ada0ff 0%, #7561f2 100%);--third-img-bg: linear-gradient(-130deg, #6fffac 0%, #23d56e 100%);--firt-btn-bg: #ff907e;--second-btn-bg: #7561f2;--third-btn-bg: #23d56e;padding:20px}.eael-wcpc-wrapper.custom.theme-3 table{-webkit-border-horizontal-spacing:10px}.eael-wcpc-wrapper.custom.theme-3 table tr:nth-of-type(even):not(.title){background:var(--even-row-bg)}.eael-wcpc-wrapper.custom.theme-3 table th,.eael-wcpc-wrapper.custom.theme-3 table td{border:none;-webkit-box-sizing:border-box;box-sizing:border-box}.eael-wcpc-wrapper.custom.theme-3 table tr.title td.featured,.eael-wcpc-wrapper.custom.theme-3 table tr:nth-of-type(odd) td.featured{-webkit-box-shadow:18px 0 10px -10px rgba(86,79,127,.06),-18px 0 10px -10px rgba(86,79,127,.06);box-shadow:18px 0 10px -10px rgba(86,79,127,.06),-18px 0 10px -10px rgba(86,79,127,.06)}.eael-wcpc-wrapper.custom.theme-3 table tr.title{background:initial;color:initial}.eael-wcpc-wrapper.custom.theme-3 table tr.title th,.eael-wcpc-wrapper.custom.theme-3 table tr.title td{color:initial;border-left:none;border-right:none}.eael-wcpc-wrapper.custom.theme-3 table tr.image td{background:initial;border-left:none;border-right:none;padding:0}.eael-wcpc-wrapper.custom.theme-3 table tr.image td span{display:block;width:100%;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;border-top-left-radius:10px;border-top-right-radius:10px}.eael-wcpc-wrapper.custom.theme-3 table tr.image td>span{padding:20px}.eael-wcpc-wrapper.custom.theme-3 table tr.image td span.inner{padding:0}.eael-wcpc-wrapper.custom.theme-3 table tr.image td.featured span{padding:10px;background:#fff}.eael-wcpc-wrapper.custom.theme-3 table tr.image td:nth-of-type(3n+1) .img-inner{background:var(--first-img-bg)}.eael-wcpc-wrapper.custom.theme-3 table tr.image td:nth-of-type(3n+2) .img-inner{background:var(--second-img-bg)}.eael-wcpc-wrapper.custom.theme-3 table tr.image td:nth-of-type(3n+3) .img-inner{background:var(--third-img-bg)}.eael-wcpc-wrapper.custom.theme-4{--h-bg: none;--h-text-clr: #707070;--h-border-clr: #e8ebf0;--text-clr: #707070;--text-bold-clr: #252525;--btn-bg: #613de6;--btn-bg-hover: #ff9582;--btn-text: #fff;--image-bg: none;--container-bg: #f9fafc}.eael-wcpc-wrapper.custom.theme-4 table{background:#fff}.eael-wcpc-wrapper.custom.theme-4 table th.first-th{background:var(--container-bg)}.eael-wcpc-wrapper.custom.theme-4 table tr.title th,.eael-wcpc-wrapper.custom.theme-4 table tr.title td{font-size:20px;color:inherit;border:1px solid var(--h-border-clr)}.eael-wcpc-wrapper.custom.theme-4 table tr.image td{position:relative;border:1px solid var(--h-border-clr);overflow:hidden}.eael-wcpc-wrapper.custom.theme-4 table tr.image .ribbon{position:absolute;left:-44px;top:10px;background:var(--btn-bg);color:var(--btn-text);padding:3px 50px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center}.eael-wcpc-wrapper.custom.theme-4 table tr.image .product-title,.eael-wcpc-wrapper.custom.theme-4 table tr.image .woocommerce-Price-amount{font-size:18px;font-weight:bold}.eael-wcpc-wrapper.custom.theme-4 table tr.image .product-title{color:var(--text-bold-clr);margin:0 auto 10px}.eael-wcpc-wrapper.custom.theme-4 table tr.image .woocommerce-Price-amount{color:var(--btn-bg)}.eael-wcpc-wrapper.custom.theme-5{--first-row-color: #fff;--first-col-bg: #6a3ee8;--second-col-bg: #3e5ae8;--third-col-bg: #15e9c9;--first-img-bg: #f4f0ff;--second-img-bg: #eaedff;--third-img-bg: #e5fffb;--h-bg: none;--h-text-clr: #707070;--h-border-clr: #e8ebf0;--first-btn-bg: #6a3ee8;--second-btn-bg: #3e5ae8;--third-btn-bg: #15e9c9;--image-bg: none}.eael-wcpc-wrapper.custom.theme-5 table th{border:none}.eael-wcpc-wrapper.custom.theme-5 table th.first-th{background:var(--container-bg)}.eael-wcpc-wrapper.custom.theme-5 table td:nth-of-type(3n+1) .button{background:var(--first-btn-bg)}.eael-wcpc-wrapper.custom.theme-5 table td:nth-of-type(3n+1) .button:hover{background:#5827e5}.eael-wcpc-wrapper.custom.theme-5 table td:nth-of-type(3n+2) .button{background:var(--second-btn-bg)}.eael-wcpc-wrapper.custom.theme-5 table td:nth-of-type(3n+2) .button:hover{background:#2747e5}.eael-wcpc-wrapper.custom.theme-5 table td:nth-of-type(3n+3) .button{background:var(--third-btn-bg)}.eael-wcpc-wrapper.custom.theme-5 table td:nth-of-type(3n+3) .button:hover{background:#13d2b5}.eael-wcpc-wrapper.custom.theme-5 table tr.title th,.eael-wcpc-wrapper.custom.theme-5 table tr.title td{font-size:20px;color:inherit;border:none}.eael-wcpc-wrapper.custom.theme-5 table tr.image td:nth-of-type(3n+1){background:var(--first-img-bg)}.eael-wcpc-wrapper.custom.theme-5 table tr.image td:nth-of-type(3n+2){background:var(--second-img-bg)}.eael-wcpc-wrapper.custom.theme-5 table tr.image td:nth-of-type(3n+3){background:var(--third-img-bg)}.eael-wcpc-wrapper.custom.theme-5 table tr.title td:nth-of-type(3n+1){background:var(--first-col-bg)}.eael-wcpc-wrapper.custom.theme-5 table tr.title td:nth-of-type(3n+2){background:var(--second-col-bg)}.eael-wcpc-wrapper.custom.theme-5 table tr.title td:nth-of-type(3n+3){background:var(--third-col-bg)}.eael-wcpc-wrapper.custom.theme-5 table tr.image td,.eael-wcpc-wrapper.custom.theme-5 table tr.title td{border:none;border-right:2px solid var(--first-row-color);color:var(--first-row-color)}.eael-wcpc-wrapper.custom.theme-5 table tr.image td:last-child,.eael-wcpc-wrapper.custom.theme-5 table tr.title td:last-child{border-right:none}.eael-wcpc-wrapper.custom.theme-6{--container-bg: #f0eff6;--first-row-color: #fff;--first-col-bg: #fd907b;--second-col-bg: #7f6cf4;--third-col-bg: #3ae281;--first-img-bg: #f4f0ff;--second-img-bg: #eaedff;--third-img-bg: #e5fffb;--h-bg: none;--h-text-clr: #707070;--h-border-clr: #e8ebf0;--image-bg: none}.eael-wcpc-wrapper.custom.theme-6 table tr.title th,.eael-wcpc-wrapper.custom.theme-6 table tr.title td{border-left:0;border-right:0}.eael-wcpc-wrapper.custom.theme-6 table tr.title td{color:#fff}.eael-wcpc-wrapper.custom.theme-6 table tr,.eael-wcpc-wrapper.custom.theme-6 table th,.eael-wcpc-wrapper.custom.theme-6 table td{border:none}.eael-wcpc-wrapper.custom.theme-6 table td{color:#fff;border-right:20px solid #fff}.eael-wcpc-wrapper.custom.theme-6 table td:last-child{border-right:none}.eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+1){background:var(--first-col-bg)}.eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+2){background:var(--second-col-bg)}.eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+3){background:var(--third-col-bg)}.eael-wcpc-wrapper.custom.theme-6 table tr:nth-of-type(even) th,.eael-wcpc-wrapper.custom.theme-6 table tr:nth-of-type(even) td{background:#f7f6fa}.eael-wcpc-wrapper.custom.theme-6 table tr:nth-of-type(even) td:nth-of-type(3n+1){background:#fec1b5}.eael-wcpc-wrapper.custom.theme-6 table tr:nth-of-type(even) td:nth-of-type(3n+2){background:#b7adf9}.eael-wcpc-wrapper.custom.theme-6 table tr:nth-of-type(even) td:nth-of-type(3n+3){background:#91efb8}.eael-wcpc-wrapper.custom.theme-6 table tr.image td,.eael-wcpc-wrapper.custom.theme-6 table tr.title td{border:none;border-right:20px solid #fff}.eael-wcpc-wrapper.custom.theme-6 table tr.image td:last-child,.eael-wcpc-wrapper.custom.theme-6 table tr.title td:last-child{border-right:none}.eael-wcpc-wrapper.custom.theme-6 table .button{background:#fff}.eael-wcpc-wrapper.custom.theme-6 table .button:hover{background:#fff}.eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+1) .button{color:var(--first-col-bg)}.eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+1) .button:hover{color:#fb3c17}.eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+2) .button{color:var(--second-col-bg)}.eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+2) .button:hover{color:#2f11e9}.eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+3) .button{color:var(--third-col-bg)}.eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+3) .button:hover{color:#179f51}.eael-wcpc-wrapper.custom.theme-6 .img-inner{display:block;background:rgba(228,228,228,.45);border-radius:6px}@media screen and (min-width: 769px){.eael-wcpc-wrapper:not(.theme-4) tr.image td{padding:10px}.theme-4 tr.image td{padding:50px 10px}}.eael-product-grid .woocommerce ul.products,.eael-post-grid .woocommerce ul.products{display:grid;grid-gap:25px;margin:0 0 15px 0;padding:0 !important}.eael-product-grid .woocommerce ul.products:before,.eael-product-grid .woocommerce ul.products:after,.eael-post-grid .woocommerce ul.products:before,.eael-post-grid .woocommerce ul.products:after{display:none}.eael-product-grid .woocommerce ul.products .product,.eael-post-grid .woocommerce ul.products .product{width:100%;margin:0;padding:0}.eael-product-grid .woocommerce ul.products .product .eael-wc-compare,.eael-post-grid .woocommerce ul.products .product .eael-wc-compare{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-pack:distribute;justify-content:space-around;cursor:pointer;color:#fff;background-color:#333;margin:15px}.eael-product-grid .woocommerce ul.products .product .eael-wc-compare:hover,.eael-post-grid .woocommerce ul.products .product .eael-wc-compare:hover{color:#fff;background-color:#333}.eael-product-grid .woocommerce ul.products .product .eael-wc-compare-loader,.eael-post-grid .woocommerce ul.products .product .eael-wc-compare-loader{display:none;width:1.5rem}.eael-product-grid .woocommerce ul.products .product .star-rating,.eael-post-grid .woocommerce ul.products .product .star-rating{margin:0 auto 5px;display:inline-block;float:none;height:1em;width:5.6em;font-size:1em;line-height:1em}.eael-product-grid .woocommerce ul.products .product .star-rating:before,.eael-post-grid .woocommerce ul.products .product .star-rating:before{content:"";font-family:"Font Awesome 5 Free";font-weight:400;opacity:1}.eael-product-grid .woocommerce ul.products .product .star-rating span,.eael-post-grid .woocommerce ul.products .product .star-rating span{display:inline-block}.eael-product-grid .woocommerce ul.products .product .star-rating span:before,.eael-post-grid .woocommerce ul.products .product .star-rating span:before{content:"";font-family:"Font Awesome 5 Free";font-weight:900}.eael-product-grid .woocommerce ul.products.products[class*=columns-] li.product,.eael-post-grid .woocommerce ul.products.products[class*=columns-] li.product{width:100%}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product{position:relative;float:left;overflow:hidden;text-align:center;padding:0;border-radius:0;background-color:#fff;-webkit-box-shadow:none;box-shadow:none}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product a,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product a,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a{text-decoration:none}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product a:hover,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a:hover,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product a:hover,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a:hover{outline:none;-webkit-box-shadow:none;box-shadow:none}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product img,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product img,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product img,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product img{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:auto;margin:auto;max-width:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .woocommerce-loop-product__title,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .woocommerce-loop-product__title,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .woocommerce-loop-product__title,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:16px;font-weight:700;line-height:1;color:#333;margin:25px 0 12px;padding:0}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .onsale,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .onsale,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .onsale,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .onsale{display:block;line-height:170px;font-size:13px;text-align:center;letter-spacing:0;text-shadow:0 1px 1px rgba(0,0,0,.6);text-transform:uppercase;color:#fff;background-color:#ff2a13;border-radius:0;border:none;-webkit-box-shadow:none;box-shadow:none;position:absolute;height:100px;width:200px;z-index:1;left:-100px;top:-50px;right:auto;margin:0;padding:0;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .outofstock-badge,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .outofstock-badge,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .outofstock-badge,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .outofstock-badge{line-height:16px;font-weight:600;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;letter-spacing:0;text-shadow:0 1px 1px rgba(0,0,0,.6);text-transform:uppercase;color:#fff;background-color:#ff2a13;border-radius:0;border:none;-webkit-box-shadow:none;box-shadow:none;position:absolute;height:100px;width:200px;z-index:1;left:-95px;top:-45px;right:auto;margin:0;padding:0;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .price,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .price,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .price,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .price{font-size:14px;margin-bottom:0}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .price del,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .price del,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .price del,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .price del{opacity:.5;display:inline-block}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .price ins,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .price ins,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .price ins,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .price ins{font-weight:400;background-color:transparent;color:#ff2a13}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .star-rating,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .star-rating,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .star-rating,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .star-rating{display:block;float:none;font-size:14px;margin:10px auto}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button{display:block;font-size:14px;font-weight:400;line-height:38px;text-align:center;text-transform:uppercase;color:#fff;background-color:#333;padding:0;margin:15px;border-radius:0}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button::before,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button::before,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button::before,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button::before{content:"";font-family:"Font Awesome 5 Free";font-weight:900;padding-right:8px}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button.product_type_variable:before,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button.product_type_variable:before,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button.product_type_variable:before,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button.product_type_variable:before{content:""}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button:focus,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button:focus,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .button.add_to_cart_button:focus,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button:focus{outline:none}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product .eael-wc-compare,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .eael-wc-compare,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product .eael-wc-compare,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .eael-wc-compare{color:#fff;background-color:#333}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product a.added_to_cart,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product a.added_to_cart,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart{display:block;margin:0 0 15px 0;padding:0;font-size:14px;line-height:1;text-transform:capitalize;color:#333;background-color:transparent}.eael-product-grid.eael-product-simple .woocommerce ul.products li.product,.eael-post-grid.eael-product-simple .woocommerce ul.products li.product{border:1px solid #eee}.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product{border:1px solid transparent}.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .eael-wc-compare,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .eael-wc-compare,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product .button.add_to_cart_button,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product a.added_to_cart{visibility:hidden;-webkit-transition:none;-o-transition:none;transition:none}.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover{border:1px solid #eee}.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover .eael-wc-compare,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover .button.add_to_cart_button,.eael-product-grid.eael-product-reveal .woocommerce ul.products li.product:hover a.added_to_cart,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover .eael-wc-compare,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover .button.add_to_cart_button,.eael-post-grid.eael-product-reveal .woocommerce ul.products li.product:hover a.added_to_cart{visibility:visible}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product{position:relative;float:left;overflow:hidden;text-align:center;padding:0 0 15px 0;border-radius:0;background-color:#fff;-webkit-box-shadow:none;box-shadow:none}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product a,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product a{text-decoration:none}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product a:hover,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product a:hover{outline:none;-webkit-box-shadow:none;box-shadow:none}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product img,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product img{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;max-width:100%;height:auto;margin:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay{position:relative;overflow:hidden;line-height:0}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .button-wrap,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .button-wrap{position:absolute;top:50%;left:0;right:0;text-align:center;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .eael-wc-compare,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .eael-wc-compare,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:14px;line-height:38px;text-align:center;color:#fff;background-color:#333;width:38px;height:38px;border-style:none;border-radius:50%;vertical-align:middle;padding:0;margin:0 5px;-webkit-transform:translateY(20px);-ms-transform:translateY(20px);transform:translateY(20px);opacity:0;-webkit-transition:opacity 300ms,-webkit-transform 200ms;transition:opacity 300ms,-webkit-transform 200ms;-o-transition:transform 200ms,opacity 300ms;transition:transform 200ms,opacity 300ms;transition:transform 200ms,opacity 300ms,-webkit-transform 200ms}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .eael-wc-compare:focus,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:focus,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:focus,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:focus,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .eael-wc-compare:focus,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:focus,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:focus,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:focus{outline:none}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button{font-size:0}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:before,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:before{display:none}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:after,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button:after{content:"";font-size:14px;line-height:38px;text-rendering:auto;-webkit-font-smoothing:antialiased;vertical-align:middle;margin:0;padding:0;font-family:"Font Awesome 5 Free";font-weight:900}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.product_type_variable:after,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.product_type_variable:after{content:""}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:before,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:before{display:none}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:after,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .add_to_cart_button.loading:after{content:"";display:inline-block;font-weight:normal;font-family:"Font Awesome 5 Free";font-size:14px;line-height:38px;color:#fff;height:auto;width:auto;position:relative;top:0;left:0;margin:0;padding:0}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart{font-size:0}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:after,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:after{content:"";font-family:"Font Awesome 5 Free";font-size:14px;line-height:38px;font-weight:900;color:#fff;text-rendering:auto;-webkit-font-smoothing:antialiased;vertical-align:middle;margin:0;padding:0}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .woocommerce-loop-product__title,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:16px;font-weight:700;line-height:1;color:#333;margin:25px 0 12px;padding:0}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .onsale,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .onsale{display:block;line-height:170px;font-size:13px;text-align:center;letter-spacing:0;text-shadow:0 1px 1px rgba(0,0,0,.6);text-transform:uppercase;color:#fff;background-color:#ff2a13;border-radius:0;border:none;-webkit-box-shadow:none;box-shadow:none;position:absolute;height:100px;width:200px;z-index:1;left:-100px;top:-50px;right:auto;margin:0;padding:0;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .price,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .price{font-size:14px;margin-bottom:0}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .price del,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .price del{opacity:.5;display:inline-block}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .price ins,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .price ins{font-weight:400;background-color:transparent;color:#ff2a13}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .star-rating,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .star-rating{display:block;float:none;font-size:14px;margin:10px auto}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .eael-wc-compare,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product .eael-wc-compare{padding:5px !important}.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay .eael-wc-compare,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay a,.eael-product-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay .add_to_cart_button,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay .eael-wc-compare,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay a,.eael-post-grid.eael-product-overlay .woocommerce ul.products li.product:hover .overlay .add_to_cart_button{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.eael-product-grid.eael-product-default .woocommerce ul.products li.product,.eael-post-grid.eael-product-default .woocommerce ul.products li.product{overflow:visible !important}.eael-product-grid.eael-product-default .woocommerce ul.products li.product .onsale,.eael-post-grid.eael-product-default .woocommerce ul.products li.product .onsale{line-height:inherit;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eael-product-grid.eael-product-default .button.add_to_cart_button::before,.eael-post-grid.eael-product-default .button.add_to_cart_button::before{content:"";font-family:"Font Awesome 5 Free";font-weight:900;padding-right:8px}.eael-product-grid.eael-product-default .button.add_to_cart_button.product_type_variable:before,.eael-post-grid.eael-product-default .button.add_to_cart_button.product_type_variable:before{content:""}.eael-wcpc-modal{position:fixed;top:50px;right:0;bottom:50px;left:0;margin-left:auto;margin-right:auto;width:1080px;max-width:90%;background:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;z-index:9999999}.modal__content{width:100%;height:100%;overflow:hidden auto}.wcpc-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:10;background:rgba(0,0,0,.5);pointer-events:none}.wcpc-overlay,.eael-wcpc-modal{visibility:hidden;opacity:0;-webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease}.close-modal{position:absolute;top:-10px;right:-10px;cursor:pointer;display:block;border-radius:50%;color:#fff;background:#000;font-size:30px;font-weight:bold;text-align:center;line-height:23px;-webkit-box-shadow:-1px 0px 3px 0 #000;box-shadow:-1px 0px 3px 0 #000;-webkit-transition:-webkit-transform 300ms ease;transition:-webkit-transform 300ms ease;-o-transition:transform 300ms ease;transition:transform 300ms ease;transition:transform 300ms ease, -webkit-transform 300ms ease}.eael-wcpc-wrapper .eael-wc-remove,.eael-wcpc-wrapper.custom .eael-wc-remove{cursor:pointer;-webkit-transition:all 400ms ease;-o-transition:all 400ms ease;transition:all 400ms ease}.eael-wcpc-wrapper .eael-wc-remove.disable,.eael-wcpc-wrapper.custom .eael-wc-remove.disable{color:#a0a0a0 !important;-webkit-transform:scale(1) !important;-ms-transform:scale(1) !important;transform:scale(1) !important}.eael-wcpc-wrapper .eael-wc-remove:hover,.eael-wcpc-wrapper.custom .eael-wc-remove:hover{color:red;-webkit-transform:scale(2);-ms-transform:scale(2);transform:scale(2)}.eael-wcpc-wrapper .remove-row,.eael-wcpc-wrapper.custom .remove-row{border:none}.eael-wcpc-wrapper .remove-row th,.eael-wcpc-wrapper .remove-row td,.eael-wcpc-wrapper.custom .remove-row th,.eael-wcpc-wrapper.custom .remove-row td{border:none;text-align:center}.eael-product-grid .woocommerce ul.products li.product a img{margin-bottom:0;display:block;width:100%}.eael-product-grid .woocommerce ul.products li.product .woocommerce-loop-product__title{letter-spacing:normal;font-weight:700;text-transform:capitalize}.eael-product-grid .woocommerce ul.products li.product ins{background:transparent}.eael-product-grid .woocommerce ul.products li.product .button{text-transform:capitalize;border:none;letter-spacing:normal;-webkit-box-shadow:none;box-shadow:none}.eael-product-grid .woocommerce ul.products li.product .button:hover,.eael-product-grid .woocommerce ul.products li.product .button:visited{text-decoration:none}.eael-product-grid .woocommerce ul.products li.product .star-rating{margin:0 auto 5px;display:inline-block;float:none;height:1em;width:5.6em;font-size:1em;line-height:1em}.eael-product-grid .woocommerce ul.products li.product .star-rating:before{content:"";font-family:"Font Awesome 5 Free";font-weight:400;opacity:1}.eael-product-grid .woocommerce ul.products li.product .star-rating span{display:inline-block}.eael-product-grid .woocommerce ul.products li.product .star-rating span:before{content:"";font-family:"Font Awesome 5 Free";font-weight:900}.eael-product-popup{position:fixed;left:0;top:0;width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:-1}.eael-product-popup.eael-product-popup-ready{z-index:999;opacity:1 !important}.eael-product-popup.eael-product-zoom-in{opacity:0;-webkit-transition:all .3s ease-out;-o-transition:all .3s ease-out;transition:all .3s ease-out}.eael-product-popup.eael-product-zoom-in .eael-product-popup-details{opacity:0;-webkit-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out;-webkit-transform:scale(0.5);-ms-transform:scale(0.5);transform:scale(0.5)}.eael-product-popup.eael-product-zoom-in.eael-product-popup-ready .eael-product-popup-details{opacity:1;-webkit-transform:scale(0.9);-ms-transform:scale(0.9);transform:scale(0.9)}.eael-product-popup.eael-product-zoom-in.eael-product-popup-ready .eael-product-modal-bg{opacity:.7}.eael-product-popup.eael-product-zoom-in.eael-product-modal-removing .eael-product-modal-bg{opacity:0}.eael-product-popup.eael-product-zoom-in.eael-product-modal-removing .eael-product-popup-details{-webkit-transform:scale(0.5);-ms-transform:scale(0.5);transform:scale(0.5);opacity:0}.eael-product-popup .eael-product-modal-bg{position:absolute;left:0;top:0;height:100%;width:100%;background:#000;opacity:0;-webkit-transition:all .3s ease-out;-o-transition:all .3s ease-out;transition:all .3s ease-out}.eael-product-popup .eael-product-popup-details{position:relative;margin:5vh auto;padding:20px;border:1px solid #888;max-width:900px;-webkit-box-shadow:0 4px 8px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);box-shadow:0 4px 8px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);background-color:#fefefe;width:100%;border-radius:10px;height:auto;max-height:-webkit-fit-content;max-height:-moz-fit-content;max-height:fit-content}.eael-product-popup .eael-product-popup-details .single_add_to_cart_button{position:relative}.eael-product-popup .eael-product-popup-details .single_add_to_cart_button.eael-addtocart-added:after{font-family:"Font Awesome 5 Free";content:"";font-weight:900;display:inline-block;position:absolute;right:12px}.eael-product-popup .eael-product-popup-details .single_add_to_cart_button.eael-addtocart-loading:after{font-family:"Font Awesome 5 Free";content:"";font-weight:900;position:absolute;right:12px;-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite}.eael-product-popup.woocommerce div.product{display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;overflow-y:auto;background:transparent;position:relative}.eael-product-popup.woocommerce div.product.ast-article-single,.eael-product-popup.woocommerce div.product .ast-article-single{background:transparent}@media(max-width: 767px){.eael-product-popup.woocommerce div.product{display:block}}.eael-product-popup.woocommerce div.product div.images{width:100%;margin-bottom:0}.eael-product-popup.woocommerce div.product div.images.woocommerce-product-gallery .flex-viewport{-webkit-transform-style:preserve-3d;transform-style:preserve-3d;margin-bottom:1em}.eael-product-popup.woocommerce div.product div.woocommerce-product-gallery--columns-4 .flex-control-thumbs li{width:calc(25% - .75em);margin-right:1em;margin-bottom:1em}.eael-product-popup.woocommerce div.product div.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:last-child{margin-right:0}.eael-product-popup.woocommerce div.product .product_title{font-size:28px;line-height:1.2em;font-weight:700;margin-bottom:10px;letter-spacing:normal;text-transform:capitalize}.eael-product-popup.woocommerce div.product .product_title:before{content:none}.eael-product-popup.woocommerce div.product .price{font-size:25px;line-height:1.2em;margin:0 0 15px;text-align:left !important}.eael-product-popup.woocommerce div.product .woocommerce-product-details__short-description{font-size:18px;line-height:1.2em;margin:0}.eael-product-popup.woocommerce div.product .woocommerce-product-details__short-description p,.eael-product-popup.woocommerce div.product .woocommerce-product-details__short-description p:last-child{margin-bottom:20px}.eael-product-popup.woocommerce div.product .button{margin:0 !important;line-height:1.5em}.eael-product-popup.woocommerce div.product form.cart{margin:0 0 1.2em;padding:0;border:none;width:100%}.eael-product-popup.woocommerce div.product form.cart table{border:none;margin:0 0 1.2em;border-collapse:collapse;width:100%}.eael-product-popup.woocommerce div.product form.cart table tbody{display:table-row-group;border:none}.eael-product-popup.woocommerce div.product form.cart p.stock{margin-bottom:0}.eael-product-popup.woocommerce div.product form.cart .group_table td{border:none}.eael-product-popup.woocommerce div.product form.cart .group_table .button{padding:.8em;font-weight:400;font-size:.9rem;white-space:nowrap}.eael-product-popup.woocommerce div.product form.cart div.quantity{margin-right:15px;width:auto}.eael-product-popup.woocommerce div.product form.cart div.quantity input,.eael-product-popup.woocommerce div.product form.cart div.quantity a{height:100%;border:1px solid}.eael-product-popup.woocommerce div.product form.cart div.quantity input[type=number]{min-width:90px}.eael-product-popup.woocommerce div.product form.cart div.quantity .qty{text-align:center}.eael-product-popup.woocommerce div.product form.cart div.quantity .qty:focus{outline:none}.eael-product-popup.woocommerce div.product form.cart .button.single_add_to_cart_button{padding:10px 40px}.eael-product-popup.woocommerce div.product form.cart .product-single-quantity button.plus,.eael-product-popup.woocommerce div.product form.cart .product-single-quantity button.minus{display:none}.eael-product-popup.woocommerce div.product .woocommerce-product-rating{margin-bottom:5px}.eael-product-popup.woocommerce div.product .woocommerce-product-rating .star-rating{font-size:16px}.eael-product-popup.woocommerce div.product .woocommerce-product-rating .woocommerce-review-link{display:inline-block;vertical-align:top;font-size:16px;line-height:18px}.eael-product-popup.woocommerce div.product table tbody tr{border-bottom:1px solid #ccc}.eael-product-popup.woocommerce div.product table tbody tr td{background:transparent;vertical-align:middle !important;padding:15px 15px 15px 0 !important}.eael-product-popup.woocommerce div.product .product_meta{font-size:14px;border-top:1px solid #ccc;border-bottom:0;padding:1em 0 0;margin:0 0 .8em}.eael-product-popup.woocommerce div.product .product_meta>span{display:block;border:none;padding:5px 0}.eael-product-popup .eael-product-image-wrap{width:40%}@media(max-width: 767px){.eael-product-popup .eael-product-image-wrap{width:100%}}.eael-product-popup .eael-product-image-wrap .badge-container{display:none}.eael-product-popup .eael-product-image-wrap .eael-new-product .flex-viewport{height:auto !important}.eael-product-popup .eael-product-details-wrap{width:56%;margin-left:4%;text-align:left}@media(max-width: 767px){.eael-product-popup .eael-product-details-wrap{width:100%;margin-left:0;margin-top:25px}}.eael-product-popup .eael-product-details-wrap .is-divider{display:none}.eael-product-popup button.eael-product-popup-close{position:absolute;right:-15px;top:-18px;font-size:20px;padding:0;cursor:pointer;-webkit-box-sizing:content-box;box-sizing:content-box;overflow:visible;background:#fff !important;text-align:center;-webkit-box-shadow:2px 0px 12px 3px rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);box-shadow:2px 0px 12px 3px rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);color:#000 !important;height:40px;width:40px;min-height:40px;max-width:40px;display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:50%;opacity:1;border:0;margin:0}.eael-product-popup button.eael-product-popup-close:focus{outline:none}.eael-product-popup form.cart{display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:20px}.eael-product-popup form.cart.variations_form{display:block}.eael-product-popup form.cart.variations_form .variations{border:none}.eael-product-popup form.cart.variations_form .variations tr{margin-bottom:5px}.eael-product-popup form.cart.variations_form .variations td{display:block;width:100%;border:none;padding:0;margin-bottom:5px}.eael-product-popup form.cart.variations_form .variations td select{width:100%}.eael-product-popup form.cart.variations_form .variations_button{display:-webkit-box;display:-ms-flexbox;display:flex}.eael-product-popup form.cart.grouped_form{display:block}.eael-product-popup form.cart.grouped_form table .button{line-height:1.2em}.eael-product-popup form.cart.grouped_form .quantity{width:100%}.eael-product-popup form.cart.grouped_form .quantity input,.eael-product-popup form.cart.grouped_form .quantity a{height:auto !important;min-height:2.507em;line-height:1.2em}.eael-product-popup form.cart .quantity{width:37%;margin-right:20px}.eael-product-popup form.cart .quantity input{width:100%}.eael-product-popup .eael-onsale{padding:5px 10px;font-size:12px;font-weight:500;position:absolute;text-align:center;line-height:1.2em;top:30px;left:0;margin:0;background-color:#ff7a80;color:#fff;z-index:9}.eael-product-popup .eael-onsale.sale-preset-1.outofstock br{display:none}.eael-product-popup .eael-onsale.sale-preset-1.right{left:auto;right:0}.eael-product-popup .eael-onsale.sale-preset-2{padding:0;top:5px;left:5px;min-width:50px;min-height:50px;line-height:50px;border-radius:100%;-webkit-font-smoothing:antialiased}.eael-product-popup .eael-onsale.sale-preset-2.outofstock{line-height:normal;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.eael-product-popup .eael-onsale.sale-preset-3{border-radius:50px;left:15px;top:15px}.eael-product-popup .eael-onsale.sale-preset-3.outofstock br{display:none}.eael-product-popup .eael-onsale.sale-preset-4{left:0;top:15px}.eael-product-popup .eael-onsale.sale-preset-4.outofstock br{display:none}.eael-product-popup .eael-onsale.sale-preset-4:after{position:absolute;right:-15px;bottom:0px;width:15px;height:24px;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:10px solid #23a454;content:""}.eael-product-popup .eael-onsale.sale-preset-5{display:block;line-height:74px;height:50px;width:100px;left:-35pX;top:-8px;right:auto;padding:0;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.eael-product-popup .eael-onsale.sale-preset-5.outofstock{line-height:normal;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.eael-product-grid .eael-woo-pagination ul{display:inline-block;text-align:center;white-space:nowrap;padding:0;clear:both;border:0;margin:1px;width:auto}.eael-product-grid .eael-woo-pagination ul li{display:inline-block;margin:0 5px 5px 0;padding:0;float:left;overflow:hidden}.eael-product-grid .eael-woo-pagination ul li .page-numbers{margin:0;text-decoration:none;color:#000000bd;line-height:1;font-size:1em;font-weight:normal;padding:.75em;display:block;min-width:2.5em;-webkit-box-sizing:inherit;box-sizing:inherit;border:none}.eael-product-grid .eael-woo-pagination ul li .page-numbers.current,.eael-product-grid .eael-woo-pagination ul li .page-numbers:hover,.eael-product-grid .eael-woo-pagination ul li .page-numbers:focus{color:#fff;background:#000000bd}.eael-product-grid .woocommerce ul.products .product{overflow-y:auto}.eael-product-grid .eael-load-more-button-wrap{clear:both;margin-top:40px}.eael-product-grid .eael-product-wrap .eael-onsale{padding:5px 10px;font-size:12px;font-weight:500;position:absolute;text-align:center;line-height:1.2em;top:30px;left:0;margin:0;background-color:#ff7a80;color:#fff;z-index:9}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-1.outofstock br{display:none}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-1.right{left:auto;right:0}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-2{padding:0;top:5px;left:5px;display:inline-table;min-width:50px;min-height:50px;line-height:50px;border-radius:100%;-webkit-font-smoothing:antialiased}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-2.outofstock{line-height:normal;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-2.right{left:auto;right:5px}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-3{border-radius:50px;left:15px;top:15px}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-3.outofstock br{display:none}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-3.right{left:auto;right:15px}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-4{left:0;top:15px}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-4.outofstock br{display:none}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-4:after{position:absolute;right:-15px;bottom:0px;width:15px;height:24px;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:10px solid #23a454;content:""}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-4.right{left:auto;right:0}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-4.right:after{right:auto;left:-15px;border-left:0;border-right:10px solid #23a454}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-5{display:block;line-height:74px;height:50px;width:100px;left:-35pX;top:-8px;right:auto;padding:0;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-5.outofstock{line-height:normal;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.eael-product-grid .eael-product-wrap .eael-onsale.sale-preset-5.right{left:auto;right:-35px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.eael-product-grid .eael-product-wrap .eael-product-title h2{font-size:20px;line-height:1.2em;color:#252525;font-weight:500;margin:0 0 8px;padding:0}.eael-product-grid .eael-product-wrap .eael-product-title h2:before{content:none}.eael-product-grid .eael-product-wrap .eael-product-price{font-size:18px;line-height:1.2em;color:#ff7a80;font-weight:600;margin-bottom:10px}.eael-product-grid .eael-product-wrap .star-rating{margin:0 auto 10px}.eael-product-grid .eael-product-wrap a.button.add_to_cart_button.added{display:none !important}.eael-product-grid.grid .eael-product-wrap:hover .icons-wrap.box-style,.eael-product-grid.masonry .eael-product-wrap:hover .icons-wrap.box-style{bottom:30px;visibility:visible;opacity:1}.eael-product-grid.grid .eael-product-wrap:hover .icons-wrap.block-box-style,.eael-product-grid.masonry .eael-product-wrap:hover .icons-wrap.block-box-style{visibility:visible;opacity:1;-webkit-transform:translateY(-50px);-ms-transform:translateY(-50px);transform:translateY(-50px)}.eael-product-grid.grid .eael-product-wrap:hover .icons-wrap.block-style,.eael-product-grid.masonry .eael-product-wrap:hover .icons-wrap.block-style{visibility:visible;opacity:1;-webkit-transform:translateY(-50px);-ms-transform:translateY(-50px);transform:translateY(-50px)}.eael-product-grid.grid .eael-product-wrap .product-image-wrap,.eael-product-grid.masonry .eael-product-wrap .product-image-wrap{position:relative;overflow:hidden}.eael-product-grid.grid .eael-product-wrap .icons-wrap,.eael-product-grid.masonry .eael-product-wrap .icons-wrap{padding:0;list-style:none;position:absolute;z-index:9;display:block;top:50%;left:0;right:0;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);opacity:0;visibility:hidden;-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center;margin:0 auto;-webkit-transition:all ease .4s;-o-transition:all ease .4s;transition:all ease .4s}.eael-product-grid.grid .eael-product-wrap .icons-wrap.block-style,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.block-style{background:red;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:stretch;-ms-flex-pack:stretch;justify-content:stretch;width:100%;top:auto;bottom:-50px}.eael-product-grid.grid .eael-product-wrap .icons-wrap.block-style li,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.block-style li{-webkit-box-flex:1;-ms-flex:1;flex:1}.eael-product-grid.grid .eael-product-wrap .icons-wrap.block-style li:not(:last-child),.eael-product-grid.masonry .eael-product-wrap .icons-wrap.block-style li:not(:last-child){border-right:1px solid #fff}.eael-product-grid.grid .eael-product-wrap .icons-wrap.block-style li.add-to-cart,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.block-style li.add-to-cart{-webkit-box-flex:4;-ms-flex:4;flex:4}.eael-product-grid.grid .eael-product-wrap .icons-wrap.block-style li a,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.block-style li a{position:relative;background-color:transparent;margin:0;padding:10px 5px;font-size:15px;line-height:1.2em;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.eael-product-grid.grid .eael-product-wrap .icons-wrap.block-style li a:hover,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.block-style li a:hover{background-color:transparent;color:#000}.eael-product-grid.grid .eael-product-wrap .icons-wrap.block-style li a i,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.block-style li a i{line-height:normal}.eael-product-grid.grid .eael-product-wrap .icons-wrap.box-style,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.box-style{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;top:auto;bottom:-100px}.eael-product-grid.grid .eael-product-wrap .icons-wrap.box-style li a,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.box-style li a{position:relative;width:42px;height:42px;margin:3px;-webkit-box-shadow:0px 15px 10px rgba(61,70,79,.12);box-shadow:0px 15px 10px rgba(61,70,79,.12);background-color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eael-product-grid.grid .eael-product-wrap .icons-wrap.box-style li a i,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.box-style li a i{line-height:1rem}.eael-product-grid.grid .eael-product-wrap .icons-wrap.box-style li a.added_to_cart,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.box-style li a.added_to_cart{font-size:0}.eael-product-grid.grid .eael-product-wrap .icons-wrap.box-style li a.added_to_cart:after,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.box-style li a.added_to_cart:after{content:"";font-weight:900;font-family:"Font Awesome 5 Free";font-size:18px;text-rendering:auto;-webkit-font-smoothing:antialiased;vertical-align:middle;margin:0;padding:0}.eael-product-grid.grid .eael-product-wrap .icons-wrap.box-style li a.button.add_to_cart_button,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.box-style li a.button.add_to_cart_button{padding:0;margin:3px;font-size:0px}.eael-product-grid.grid .eael-product-wrap .icons-wrap.box-style li a.button.add_to_cart_button:before,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.box-style li a.button.add_to_cart_button:before{content:"";display:block;font-family:"Font Awesome 5 Free";font-size:18px;font-weight:900;-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);top:50%;left:50%;position:absolute}.eael-product-grid.grid .eael-product-wrap .icons-wrap.box-style li a.button.add_to_cart_button.product_type_variable:before,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.box-style li a.button.add_to_cart_button.product_type_variable:before{content:""}.eael-product-grid.grid .eael-product-wrap .icons-wrap.over-box-style,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.over-box-style{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;-webkit-box-align:center;-ms-flex-align:center;align-items:center;visibility:visible;opacity:1;top:auto;bottom:-24px;margin:0 5%}.eael-product-grid.grid .eael-product-wrap .icons-wrap.over-box-style li a,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.over-box-style li a{position:relative;width:42px;height:42px;margin:3px;-webkit-box-shadow:0px 15px 10px rgba(61,70,79,.12);box-shadow:0px 15px 10px rgba(61,70,79,.12);background-color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eael-product-grid.grid .eael-product-wrap .icons-wrap.over-box-style li a i,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.over-box-style li a i{line-height:1rem}.eael-product-grid.grid .eael-product-wrap .icons-wrap.over-box-style li a.added_to_cart,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.over-box-style li a.added_to_cart{font-size:0}.eael-product-grid.grid .eael-product-wrap .icons-wrap.over-box-style li a.added_to_cart:after,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.over-box-style li a.added_to_cart:after{content:"";font-weight:900;font-family:"Font Awesome 5 Free";font-size:18px;line-height:38px;text-rendering:auto;-webkit-font-smoothing:antialiased;vertical-align:middle;margin:0;padding:0}.eael-product-grid.grid .eael-product-wrap .icons-wrap.over-box-style li a.button.add_to_cart_button,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.over-box-style li a.button.add_to_cart_button{padding:0;margin:0;font-size:0px}.eael-product-grid.grid .eael-product-wrap .icons-wrap.over-box-style li a.button.add_to_cart_button:before,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.over-box-style li a.button.add_to_cart_button:before{content:"";display:block;font-family:"Font Awesome 5 Free";font-size:18px;font-weight:900;-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);top:50%;left:50%;position:absolute}.eael-product-grid.grid .eael-product-wrap .icons-wrap.over-box-style li a.button.add_to_cart_button.product_type_variable:before,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.over-box-style li a.button.add_to_cart_button.product_type_variable:before{content:""}.eael-product-grid.grid .eael-product-wrap .icons-wrap.over-box-style li a.product_type_external,.eael-product-grid.grid .eael-product-wrap .icons-wrap.over-box-style li a.product_type_variable,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.over-box-style li a.product_type_external,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.over-box-style li a.product_type_variable{width:auto;height:auto}.eael-product-grid.grid .eael-product-wrap .icons-wrap.block-box-style,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.block-box-style{background:#fff;width:100%;top:auto;bottom:-50px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eael-product-grid.grid .eael-product-wrap .icons-wrap.block-box-style li a,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.block-box-style li a{position:relative;width:42px;height:42px;margin:10px 2px 0;padding:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eael-product-grid.grid .eael-product-wrap .icons-wrap.block-box-style li a i,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.block-box-style li a i{line-height:1rem}.eael-product-grid.grid .eael-product-wrap .icons-wrap.block-box-style li a.added_to_cart,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.block-box-style li a.added_to_cart{font-size:0}.eael-product-grid.grid .eael-product-wrap .icons-wrap.block-box-style li a.added_to_cart:after,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.block-box-style li a.added_to_cart:after{content:"";font-weight:900;font-family:"Font Awesome 5 Free";font-size:18px;text-rendering:auto;-webkit-font-smoothing:antialiased;vertical-align:middle;margin:0;padding:0}.eael-product-grid.grid .eael-product-wrap .icons-wrap.block-box-style li a.button.add_to_cart_button.ajax_add_to_cart,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.block-box-style li a.button.add_to_cart_button.ajax_add_to_cart{padding:0;margin:10px 2px 0;font-size:0px}.eael-product-grid.grid .eael-product-wrap .icons-wrap.block-box-style li a.button.add_to_cart_button.ajax_add_to_cart:before,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.block-box-style li a.button.add_to_cart_button.ajax_add_to_cart:before{content:"";display:block;font-family:"Font Awesome 5 Free";font-size:18px;font-weight:900;-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);top:50%;left:50%;position:absolute}.eael-product-grid.grid .eael-product-wrap .icons-wrap.block-box-style li a.button.add_to_cart_button.ajax_add_to_cart.product_type_variable:before,.eael-product-grid.masonry .eael-product-wrap .icons-wrap.block-box-style li a.button.add_to_cart_button.ajax_add_to_cart.product_type_variable:before{content:""}.eael-product-grid.grid .eael-product-wrap .icons-wrap li,.eael-product-grid.masonry .eael-product-wrap .icons-wrap li{display:inline-block;margin:0;padding:0}.eael-product-grid.grid .eael-product-wrap .icons-wrap li a,.eael-product-grid.masonry .eael-product-wrap .icons-wrap li a{display:block;position:absolute;color:#000;width:100%;height:100%;text-align:center;-webkit-transition:all ease .4s;-o-transition:all ease .4s;transition:all ease .4s}.eael-product-grid.grid .eael-product-wrap .icons-wrap li a:hover,.eael-product-grid.masonry .eael-product-wrap .icons-wrap li a:hover{background:#ff7a80;color:#fff}.eael-product-grid.grid .eael-product-wrap .icons-wrap li a i,.eael-product-grid.masonry .eael-product-wrap .icons-wrap li a i{position:relative;font-size:18px;line-height:42px}.eael-product-grid.grid .eael-product-wrap .icons-wrap li a svg,.eael-product-grid.masonry .eael-product-wrap .icons-wrap li a svg{width:18px}.eael-product-grid.grid .eael-product-wrap .product-details-wrap,.eael-product-grid.masonry .eael-product-wrap .product-details-wrap{padding:10px}.eael-product-grid.masonry .woocommerce ul.products{display:block}@media(min-width: 766px){.eael-product-grid.masonry .woocommerce ul.products{margin:0 -15px}}.eael-product-grid.masonry .woocommerce ul.products:before,.eael-product-grid.masonry .woocommerce ul.products:after{display:table;content:" "}.eael-product-grid.masonry .woocommerce ul.products li.product{float:left;margin:15px 0}@media(min-width: 766px){.eael-product-grid.masonry .woocommerce ul.products li.product{margin:1%}}.eael-product-grid.grid.eael-product-preset-8 .product-image-wrap,.eael-product-grid.masonry.eael-product-preset-8 .product-image-wrap{overflow:inherit}.eael-product-grid.grid.eael-product-preset-8 .product-details-wrap>div:first-child,.eael-product-grid.masonry.eael-product-preset-8 .product-details-wrap>div:first-child{margin-top:20px}.eael-product-grid.grid.eael-product-preset-5 ul.products,.eael-product-grid.grid.eael-product-preset-6 ul.products,.eael-product-grid.grid.eael-product-preset-7 ul.products,.eael-product-grid.grid.eael-product-preset-8 ul.products,.eael-product-grid.masonry.eael-product-preset-5 ul.products,.eael-product-grid.masonry.eael-product-preset-6 ul.products,.eael-product-grid.masonry.eael-product-preset-7 ul.products,.eael-product-grid.masonry.eael-product-preset-8 ul.products{padding:0;margin:0;list-style:none}.eael-product-grid.grid.eael-product-preset-5 ul.products li.product,.eael-product-grid.grid.eael-product-preset-6 ul.products li.product,.eael-product-grid.grid.eael-product-preset-7 ul.products li.product,.eael-product-grid.grid.eael-product-preset-8 ul.products li.product,.eael-product-grid.masonry.eael-product-preset-5 ul.products li.product,.eael-product-grid.masonry.eael-product-preset-6 ul.products li.product,.eael-product-grid.masonry.eael-product-preset-7 ul.products li.product,.eael-product-grid.masonry.eael-product-preset-8 ul.products li.product{text-align:center;border:1px solid #000;overflow:hidden}.eael-product-grid.grid.eael-product-preset-6 .product.outofstock .icons-wrap .button,.eael-product-grid.grid.eael-product-preset-7 .product.outofstock .icons-wrap .button,.eael-product-grid.grid.eael-product-preset-8 .product.outofstock .icons-wrap .button,.eael-product-grid.masonry.eael-product-preset-6 .product.outofstock .icons-wrap .button,.eael-product-grid.masonry.eael-product-preset-7 .product.outofstock .icons-wrap .button,.eael-product-grid.masonry.eael-product-preset-8 .product.outofstock .icons-wrap .button{display:none}.eael-product-grid.grid.eael-product-preset-6 .icons-wrap .button.product_type_grouped,.eael-product-grid.grid.eael-product-preset-7 .icons-wrap .button.product_type_grouped,.eael-product-grid.grid.eael-product-preset-8 .icons-wrap .button.product_type_grouped,.eael-product-grid.masonry.eael-product-preset-6 .icons-wrap .button.product_type_grouped,.eael-product-grid.masonry.eael-product-preset-7 .icons-wrap .button.product_type_grouped,.eael-product-grid.masonry.eael-product-preset-8 .icons-wrap .button.product_type_grouped{display:none}.eael-product-grid.list .woocommerce ul.products li.product{overflow:hidden}.eael-product-grid.list .woocommerce ul.products li.product .woocommerce-loop-product__link img{margin-bottom:0}.eael-product-grid.list .woocommerce ul.products li.product .star-rating{margin:0 auto 10px 0}.eael-product-grid.list .eael-product-list-preset-2 .eael-product-wrap{padding:20px}.eael-product-grid.list .eael-product-list-preset-2 .eael-product-wrap .product-details-wrap{padding:0 0 0 25px}.eael-product-grid.list .eael-product-list-preset-3 .eael-product-wrap{padding:0;background-color:transparent}.eael-product-grid.list .eael-product-list-preset-3 .eael-product-wrap .product-details-wrap{padding:0 0 0 25px}.eael-product-grid.list .eael-product-list-preset-3 .eael-product-wrap .title-wrap,.eael-product-grid.list .eael-product-list-preset-3 .eael-product-wrap .price-wrap{margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid}.eael-product-grid.list .eael-product-list-preset-4 .eael-product-wrap{padding:0}.eael-product-grid.list .eael-product-list-preset-4 .eael-product-wrap .product-details-wrap{padding:20px;margin-left:20px}.eael-product-grid.list .eael-product-wrap{display:-webkit-box;display:-ms-flexbox;display:flex}.eael-product-grid.list .eael-product-wrap:hover .icons-wrap.box-style{-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);visibility:visible;opacity:1}.eael-product-grid.list .eael-product-wrap:hover .icons-wrap.block-style{visibility:visible;opacity:1;-webkit-transform:translateY(-50px);-ms-transform:translateY(-50px);transform:translateY(-50px)}.eael-product-grid.list .eael-product-wrap .icons-wrap{padding:0;margin:0;list-style:none;-webkit-transition:all ease .4s;-o-transition:all ease .4s;transition:all ease .4s}.eael-product-grid.list .eael-product-wrap .icons-wrap.block-style{background:red;display:-webkit-box;display:-ms-flexbox;display:flex;height:50px;width:100%;top:auto;bottom:-50px}.eael-product-grid.list .eael-product-wrap .icons-wrap.block-style li{-webkit-box-flex:1;-ms-flex:1;flex:1}.eael-product-grid.list .eael-product-wrap .icons-wrap.block-style li.add-to-cart{-webkit-box-flex:4;-ms-flex:4;flex:4}.eael-product-grid.list .eael-product-wrap .icons-wrap.block-style li a{position:relative}.eael-product-grid.list .eael-product-wrap .icons-wrap.box-style li{width:42px;height:42px;-webkit-filter:drop-shadow(0px 15px 10px rgba(61, 70, 79, 0.12));filter:drop-shadow(0px 15px 10px rgba(61, 70, 79, 0.12));background-color:#fff}.eael-product-grid.list .eael-product-wrap .icons-wrap.details-block-style li.add-to-cart a{padding:11px 15px !important}.eael-product-grid.list .eael-product-wrap .icons-wrap.details-block-style li a{margin:2px;padding:10.5px 10px}.eael-product-grid.list .eael-product-wrap .icons-wrap.details-block-style-2{display:-webkit-box;display:-ms-flexbox;display:flex}.eael-product-grid.list .eael-product-wrap .icons-wrap.details-block-style-2 li:not(:first-child) a{border-left-width:0 !important}.eael-product-grid.list .eael-product-wrap .icons-wrap.details-block-style-2 li.add-to-cart a{padding:8.5px 10px;margin:0}.eael-product-grid.list .eael-product-wrap .icons-wrap.details-block-style-2 li a{border:2px solid #ddd}.eael-product-grid.list .eael-product-wrap .icons-wrap li{display:inline-block;margin:0;padding:0;vertical-align:top}.eael-product-grid.list .eael-product-wrap .icons-wrap li a{display:block;color:#000;text-align:center;-webkit-transition:all ease .4s;-o-transition:all ease .4s;transition:all ease .4s;background:#ffebcd;padding:9px 10px;font-size:15px;line-height:1.4em;font-weight:700}.eael-product-grid.list .eael-product-wrap .icons-wrap li a:hover{background:#ff7a80;color:#fff}.eael-product-grid.list .eael-product-wrap .icons-wrap li a i{position:relative;font-size:18px}.eael-product-grid.list .eael-product-wrap .icons-wrap li a svg{width:18px}.eael-product-grid.list .eael-product-wrap .icons-wrap li a.button{font-size:15px;line-height:1.4em}.eael-product-grid.list .eael-product-wrap .product-image-wrap{position:relative;overflow:hidden;width:45%;margin:0}.eael-product-grid.list .eael-product-wrap .product-details-wrap{width:55%;padding:25px;text-align:left !important}.eael-product-grid.list .eael-product-wrap .eael-product-price{margin-bottom:5px}.eael-product-grid.list .eael-product-wrap .eael-product-excerpt p{margin:0 0 10px}@media only screen and (min-width: 1025px){.eael-product-grid-column-1 .eael-product-grid .woocommerce ul.products{grid-template-columns:100%}.eael-product-grid-column-2 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(2, 1fr)}.eael-product-grid-column-3 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(3, 1fr)}.eael-product-grid-column-4 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(4, 1fr)}.eael-product-grid-column-5 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(5, 1fr)}.eael-product-grid-column-6 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(6, 1fr)}.eael-product-list-column-2 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(2, 1fr)}.eael-product-grid-column-1 .eael-product-grid.masonry .woocommerce ul.products li.product{width:100%;margin:15px 0}.eael-product-grid-column-2 .eael-product-grid.masonry .woocommerce ul.products li.product{width:48%}.eael-product-grid-column-3 .eael-product-grid.masonry .woocommerce ul.products li.product{width:31.3333%}.eael-product-grid-column-4 .eael-product-grid.masonry .woocommerce ul.products li.product{width:23%}.eael-product-grid-column-5 .eael-product-grid.masonry .woocommerce ul.products li.product{width:18%}.eael-product-grid-column-6 .eael-product-grid.masonry .woocommerce ul.products li.product{width:14.66666667%}}@media only screen and (max-width: 1024px)and (min-width: 766px){.eael-product-grid-column-tablet-1 .eael-product-grid .woocommerce ul.products{grid-template-columns:100%}.eael-product-grid-column-tablet-2 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(2, 1fr)}.eael-product-grid-column-tablet-3 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(3, 1fr)}.eael-product-grid-column-tablet-4 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(4, 1fr)}.eael-product-grid-column-tablet-5 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(5, 1fr)}.eael-product-grid-column-tablet-6 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(6, 1fr)}.eael-product-list-column-tablet-2 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(2, 1fr)}.eael-product-grid-column-tablet-1 .eael-product-grid.masonry .woocommerce ul.products li.product{width:100%;margin:15px 0}.eael-product-grid-column-tablet-2 .eael-product-grid.masonry .woocommerce ul.products li.product{width:48%}.eael-product-grid-column-tablet-3 .eael-product-grid.masonry .woocommerce ul.products li.product{width:31.3333%}.eael-product-grid-column-tablet-4 .eael-product-grid.masonry .woocommerce ul.products li.product{width:23%}.eael-product-grid-column-tablet-5 .eael-product-grid.masonry .woocommerce ul.products li.product{width:18%}.eael-product-grid-column-tablet-6 .eael-product-grid.masonry .woocommerce ul.products li.product{width:14.66666667%}}@media only screen and (max-width: 767px){.eael-product-grid-column-mobile-1 .eael-product-grid .woocommerce ul.products{grid-template-columns:100%}.eael-product-grid-column-mobile-2 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(2, 1fr)}.eael-product-grid-column-mobile-3 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(3, 1fr)}.eael-product-grid-column-mobile-4 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(4, 1fr)}.eael-product-grid-column-mobile-5 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(5, 1fr)}.eael-product-grid-column-mobile-6 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(6, 1fr)}.eael-product-list-column-mobile-2 .eael-product-grid .woocommerce ul.products{grid-template-columns:repeat(2, 1fr)}.eael-product-list-column-mobile-2 .eael-product-grid .woocommerce ul.products .eael-product-wrap{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.eael-product-list-column-mobile-2 .eael-product-grid .woocommerce ul.products .eael-product-wrap .product-image-wrap,.eael-product-list-column-mobile-2 .eael-product-grid .woocommerce ul.products .eael-product-wrap .product-details-wrap{width:100%}.eael-product-list-column-mobile-2 .eael-product-grid .woocommerce ul.products .eael-product-wrap .product-image-wrap{margin-bottom:15px}.eael-product-list-column-mobile-2 .eael-product-grid .woocommerce ul.products .eael-product-wrap .product-details-wrap{padding:0;margin:0}.eael-product-grid-column-mobile-1 .eael-product-grid.masonry .woocommerce ul.products li.product{width:100%;margin:15px 0}.eael-product-grid-column-mobile-2 .eael-product-grid.masonry .woocommerce ul.products li.product{width:48% !important;margin:1%}.eael-product-grid-column-mobile-3 .eael-product-grid.masonry .woocommerce ul.products li.product{width:31.3333% !important;margin:1%}.eael-product-grid-column-mobile-4 .eael-product-grid.masonry .woocommerce ul.products li.product{width:23% !important;margin:1%}.eael-product-grid-column-mobile-5 .eael-product-grid.masonry .woocommerce ul.products li.product{width:18% !important;margin:1%}.eael-product-grid-column-mobile-6 .eael-product-grid.masonry .woocommerce ul.products li.product{width:14.66666667% !important;margin:1%}}.theme-oceanwp.elementor-editor-active .eael-product-popup.woocommerce div.product form.cart div.quantity .qty{max-width:150px}.theme-oceanwp .eael-product-popup.woocommerce div.product form.cart div.quantity .qty:focus{border:1px solid}.eael-product-loader{position:relative}.eael-product-loader::after{border-radius:50%;width:50px;height:50px;position:absolute;content:"";border-top:4px solid rgba(0,0,0,.2);border-right:4px solid rgba(0,0,0,.2);border-bottom:4px solid rgba(0,0,0,.2);border-left:4px solid #000;-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);-webkit-animation:loaderSpin 1.1s infinite linear;animation:loaderSpin 1.1s infinite linear;left:48%;top:40%;-webkit-transition:all .2s;-o-transition:all .2s;transition:all .2s}
assets/front-end/css/view/woo-product-compare.css ADDED
@@ -0,0 +1,415 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Woo Product Compare */
2
+ .table-responsive {
3
+ width: 100%;
4
+ overflow-x: auto;
5
+ overflow-y: hidden;
6
+ }
7
+ .eael-wcpc-wrapper img {
8
+ display: block;
9
+ margin: auto;
10
+ }
11
+ .eael-wcpc-wrapper th i {
12
+ padding-right: 10px;
13
+ color: gainsboro;
14
+ }
15
+ .eael-wcpc-wrapper .wcpc-table-header {
16
+ display: -webkit-box;
17
+ display: -ms-flexbox;
18
+ display: flex;
19
+ -webkit-box-align: center;
20
+ -ms-flex-align: center;
21
+ align-items: center;
22
+ }
23
+ .eael-wcpc-wrapper .elementor-icon {
24
+ font-size: 20px;
25
+ margin-right: 10px;
26
+ }
27
+ .eael-wcpc-wrapper table td {
28
+ text-align: center;
29
+ }
30
+ .eael-wcpc-wrapper.custom {
31
+ --h-bg: #2d1e87;
32
+ --h-text-clr: #fff;
33
+ --h-border-clr: #b6aaff;
34
+ --text-clr: #707070;
35
+ --text-bold-clr: #252525;
36
+ --btn-bg: #6752e5;
37
+ --btn-bg-hover: #ff9582;
38
+ --btn-text: #fff;
39
+ --image-bg: #6b55ec;
40
+ --container-bg: #fff;
41
+ --icon-color: #c3ccdc;
42
+ background: var(--container-bg);
43
+ overflow-x: scroll;
44
+ }
45
+ .eael-wcpc-wrapper.custom table {
46
+ border-collapse: collapse;
47
+ border-spacing: 0;
48
+ max-width: none;
49
+ }
50
+ .eael-wcpc-wrapper.custom table .icon {
51
+ width: 16px;
52
+ margin-right: 6px;
53
+ fill: var(--icon-color);
54
+ }
55
+ .eael-wcpc-wrapper.custom table th, .eael-wcpc-wrapper.custom table td {
56
+ padding: 15px;
57
+ border: 1px solid var(--h-border-clr);
58
+ border-collapse: collapse;
59
+ }
60
+ .eael-wcpc-wrapper.custom table th.first-th {
61
+ border: none;
62
+ padding-left: 5px;
63
+ }
64
+ .eael-wcpc-wrapper.custom table th {
65
+ color: var(--text-bold-clr);
66
+ font-weight: normal;
67
+ max-width: 160px;
68
+ border-left-width: 2px;
69
+ border-collapse: collapse;
70
+ vertical-align: middle;
71
+ }
72
+ .eael-wcpc-wrapper.custom table th div {
73
+ display: -webkit-box;
74
+ display: -ms-flexbox;
75
+ display: flex;
76
+ -webkit-box-align: center;
77
+ -ms-flex-align: center;
78
+ align-items: center;
79
+ }
80
+ .eael-wcpc-wrapper.custom table td {
81
+ color: var(--text-clr);
82
+ text-align: center;
83
+ }
84
+ .eael-wcpc-wrapper.custom table tr.title {
85
+ background: var(--h-bg);
86
+ color: var(--h-text-clr);
87
+ }
88
+ .eael-wcpc-wrapper.custom table tr.title th, .eael-wcpc-wrapper.custom table tr.title td {
89
+ font-size: 20px;
90
+ color: inherit;
91
+ border: none;
92
+ border-left: 1px solid var(--h-border-clr);
93
+ border-right: 1px solid var(--h-border-clr);
94
+ }
95
+ .eael-wcpc-wrapper.custom table tr.image td {
96
+ vertical-align: middle;
97
+ border: none;
98
+ }
99
+ .eael-wcpc-wrapper.custom table .button {
100
+ border-radius: 5px;
101
+ background: var(--btn-bg);
102
+ color: var(--btn-text);
103
+ }
104
+ .eael-wcpc-wrapper.custom table .button:hover {
105
+ background: var(--btn-bg-hover);
106
+ }
107
+ .eael-wcpc-wrapper.custom.theme-1 table tr.image td {
108
+ background: var(--image-bg);
109
+ border-left: 1px solid var(--h-border-clr);
110
+ border-right: 1px solid var(--h-border-clr);
111
+ }
112
+ .eael-wcpc-wrapper.custom.theme-2 {
113
+ --h-bg: #ff9453;
114
+ --h-border-clr: #f4ede9;
115
+ --btn-bg: #ff9453;
116
+ --btn-bg-hover: #6752e5;
117
+ --even-row-bg: #fbf8f7;
118
+ }
119
+ .eael-wcpc-wrapper.custom.theme-2 table tr:nth-of-type(even):not(.title) {
120
+ background: var(--even-row-bg);
121
+ }
122
+ .eael-wcpc-wrapper.custom.theme-3 {
123
+ --container-bg: #f9fafc;
124
+ --btn-bg: #ff907e;
125
+ --btn-bg-hover: #ff907e;
126
+ --even-row-bg: #f5f5f8;
127
+ --h-odd-row-bg: #fdfdff;
128
+ --first-img-bg: linear-gradient(-130deg, #ffd0b0 0%, #ff907e 100%);
129
+ --second-img-bg: linear-gradient(-130deg, #ada0ff 0%, #7561f2 100%);
130
+ --third-img-bg: linear-gradient(-130deg, #6fffac 0%, #23d56e 100%);
131
+ --firt-btn-bg: #ff907e;
132
+ --second-btn-bg: #7561f2;
133
+ --third-btn-bg: #23d56e;
134
+ padding: 20px;
135
+ }
136
+ .eael-wcpc-wrapper.custom.theme-3 table {
137
+ -webkit-border-horizontal-spacing: 10px;
138
+ }
139
+ .eael-wcpc-wrapper.custom.theme-3 table tr:nth-of-type(even):not(.title) {
140
+ background: var(--even-row-bg);
141
+ }
142
+ .eael-wcpc-wrapper.custom.theme-3 table th, .eael-wcpc-wrapper.custom.theme-3 table td {
143
+ border: none;
144
+ -webkit-box-sizing: border-box;
145
+ box-sizing: border-box;
146
+ }
147
+ .eael-wcpc-wrapper.custom.theme-3 table tr.title td.featured,
148
+ .eael-wcpc-wrapper.custom.theme-3 table tr:nth-of-type(odd) td.featured {
149
+ -webkit-box-shadow: 18px 0 10px -10px rgba(86, 79, 127, 0.06), -18px 0 10px -10px rgba(86, 79, 127, 0.06);
150
+ box-shadow: 18px 0 10px -10px rgba(86, 79, 127, 0.06), -18px 0 10px -10px rgba(86, 79, 127, 0.06);
151
+ }
152
+ .eael-wcpc-wrapper.custom.theme-3 table tr.title {
153
+ background: initial;
154
+ color: initial;
155
+ }
156
+ .eael-wcpc-wrapper.custom.theme-3 table tr.title th, .eael-wcpc-wrapper.custom.theme-3 table tr.title td {
157
+ color: initial;
158
+ border-left: none;
159
+ border-right: none;
160
+ }
161
+ .eael-wcpc-wrapper.custom.theme-3 table tr.image td {
162
+ background: initial;
163
+ border-left: none;
164
+ border-right: none;
165
+ padding: 0;
166
+ }
167
+ .eael-wcpc-wrapper.custom.theme-3 table tr.image td span {
168
+ display: block;
169
+ width: 100%;
170
+ height: 100%;
171
+ -webkit-box-sizing: border-box;
172
+ box-sizing: border-box;
173
+ border-top-left-radius: 10px;
174
+ border-top-right-radius: 10px;
175
+ }
176
+ .eael-wcpc-wrapper.custom.theme-3 table tr.image td > span {
177
+ padding: 20px;
178
+ }
179
+ .eael-wcpc-wrapper.custom.theme-3 table tr.image td span.inner {
180
+ padding: 0;
181
+ }
182
+ .eael-wcpc-wrapper.custom.theme-3 table tr.image td.featured span {
183
+ padding: 10px;
184
+ background: #fff;
185
+ }
186
+ .eael-wcpc-wrapper.custom.theme-3 table tr.image td:nth-of-type(3n+1) .img-inner {
187
+ background: var(--first-img-bg);
188
+ }
189
+ .eael-wcpc-wrapper.custom.theme-3 table tr.image td:nth-of-type(3n+2) .img-inner {
190
+ background: var(--second-img-bg);
191
+ }
192
+ .eael-wcpc-wrapper.custom.theme-3 table tr.image td:nth-of-type(3n+3) .img-inner {
193
+ background: var(--third-img-bg);
194
+ }
195
+ .eael-wcpc-wrapper.custom.theme-4 {
196
+ --h-bg: none;
197
+ --h-text-clr: #707070;
198
+ --h-border-clr: #e8ebf0;
199
+ --text-clr: #707070;
200
+ --text-bold-clr: #252525;
201
+ --btn-bg: #613de6;
202
+ --btn-bg-hover: #ff9582;
203
+ --btn-text: #fff;
204
+ --image-bg: none;
205
+ --container-bg: #f9fafc;
206
+ }
207
+ .eael-wcpc-wrapper.custom.theme-4 table {
208
+ background: #fff;
209
+ }
210
+ .eael-wcpc-wrapper.custom.theme-4 table th.first-th {
211
+ background: var(--container-bg);
212
+ }
213
+ .eael-wcpc-wrapper.custom.theme-4 table tr.title th, .eael-wcpc-wrapper.custom.theme-4 table tr.title td {
214
+ font-size: 20px;
215
+ color: inherit;
216
+ border: 1px solid var(--h-border-clr);
217
+ }
218
+ .eael-wcpc-wrapper.custom.theme-4 table tr.image td {
219
+ position: relative;
220
+ border: 1px solid var(--h-border-clr);
221
+ overflow: hidden;
222
+ }
223
+ .eael-wcpc-wrapper.custom.theme-4 table tr.image .ribbon {
224
+ position: absolute;
225
+ left: -44px;
226
+ top: 10px;
227
+ background: var(--btn-bg);
228
+ color: var(--btn-text);
229
+ padding: 3px 50px;
230
+ -webkit-transform: rotate(-45deg);
231
+ -ms-transform: rotate(-45deg);
232
+ transform: rotate(-45deg);
233
+ -webkit-transform-origin: center;
234
+ -ms-transform-origin: center;
235
+ transform-origin: center;
236
+ }
237
+ .eael-wcpc-wrapper.custom.theme-4 table tr.image .product-title, .eael-wcpc-wrapper.custom.theme-4 table tr.image .woocommerce-Price-amount {
238
+ font-size: 18px;
239
+ font-weight: bold;
240
+ }
241
+ .eael-wcpc-wrapper.custom.theme-4 table tr.image .product-title {
242
+ color: var(--text-bold-clr);
243
+ margin: 0 auto 10px;
244
+ }
245
+ .eael-wcpc-wrapper.custom.theme-4 table tr.image .woocommerce-Price-amount {
246
+ color: var(--btn-bg);
247
+ }
248
+ .eael-wcpc-wrapper.custom.theme-5 {
249
+ --first-row-color: #fff;
250
+ --first-col-bg: #6a3ee8;
251
+ --second-col-bg: #3e5ae8;
252
+ --third-col-bg: #15e9c9;
253
+ --first-img-bg: #f4f0ff;
254
+ --second-img-bg: #eaedff;
255
+ --third-img-bg: #e5fffb;
256
+ --h-bg: none;
257
+ --h-text-clr: #707070;
258
+ --h-border-clr: #e8ebf0;
259
+ --first-btn-bg: #6a3ee8;
260
+ --second-btn-bg: #3e5ae8;
261
+ --third-btn-bg: #15e9c9;
262
+ --image-bg: none;
263
+ }
264
+ .eael-wcpc-wrapper.custom.theme-5 table th {
265
+ border: none;
266
+ }
267
+ .eael-wcpc-wrapper.custom.theme-5 table th.first-th {
268
+ background: var(--container-bg);
269
+ }
270
+ .eael-wcpc-wrapper.custom.theme-5 table td:nth-of-type(3n+1) .button {
271
+ background: var(--first-btn-bg);
272
+ }
273
+ .eael-wcpc-wrapper.custom.theme-5 table td:nth-of-type(3n+1) .button:hover {
274
+ background: #5827e5;
275
+ }
276
+ .eael-wcpc-wrapper.custom.theme-5 table td:nth-of-type(3n+2) .button {
277
+ background: var(--second-btn-bg);
278
+ }
279
+ .eael-wcpc-wrapper.custom.theme-5 table td:nth-of-type(3n+2) .button:hover {
280
+ background: #2747e5;
281
+ }
282
+ .eael-wcpc-wrapper.custom.theme-5 table td:nth-of-type(3n+3) .button {
283
+ background: var(--third-btn-bg);
284
+ }
285
+ .eael-wcpc-wrapper.custom.theme-5 table td:nth-of-type(3n+3) .button:hover {
286
+ background: #13d2b5;
287
+ }
288
+ .eael-wcpc-wrapper.custom.theme-5 table tr.title th, .eael-wcpc-wrapper.custom.theme-5 table tr.title td {
289
+ font-size: 20px;
290
+ color: inherit;
291
+ border: none;
292
+ }
293
+ .eael-wcpc-wrapper.custom.theme-5 table tr.image td:nth-of-type(3n+1) {
294
+ background: var(--first-img-bg);
295
+ }
296
+ .eael-wcpc-wrapper.custom.theme-5 table tr.image td:nth-of-type(3n+2) {
297
+ background: var(--second-img-bg);
298
+ }
299
+ .eael-wcpc-wrapper.custom.theme-5 table tr.image td:nth-of-type(3n+3) {
300
+ background: var(--third-img-bg);
301
+ }
302
+ .eael-wcpc-wrapper.custom.theme-5 table tr.title td:nth-of-type(3n+1) {
303
+ background: var(--first-col-bg);
304
+ }
305
+ .eael-wcpc-wrapper.custom.theme-5 table tr.title td:nth-of-type(3n+2) {
306
+ background: var(--second-col-bg);
307
+ }
308
+ .eael-wcpc-wrapper.custom.theme-5 table tr.title td:nth-of-type(3n+3) {
309
+ background: var(--third-col-bg);
310
+ }
311
+ .eael-wcpc-wrapper.custom.theme-5 table tr.image td, .eael-wcpc-wrapper.custom.theme-5 table tr.title td {
312
+ border: none;
313
+ border-right: 2px solid var(--first-row-color);
314
+ color: var(--first-row-color);
315
+ }
316
+ .eael-wcpc-wrapper.custom.theme-5 table tr.image td:last-child, .eael-wcpc-wrapper.custom.theme-5 table tr.title td:last-child {
317
+ border-right: none;
318
+ }
319
+ .eael-wcpc-wrapper.custom.theme-6 {
320
+ --container-bg: #f0eff6;
321
+ --first-row-color: #fff;
322
+ --first-col-bg: #fd907b;
323
+ --second-col-bg: #7f6cf4;
324
+ --third-col-bg: #3ae281;
325
+ --first-img-bg: #f4f0ff;
326
+ --second-img-bg: #eaedff;
327
+ --third-img-bg: #e5fffb;
328
+ --h-bg: none;
329
+ --h-text-clr: #707070;
330
+ --h-border-clr: #e8ebf0;
331
+ --image-bg: none;
332
+ }
333
+ .eael-wcpc-wrapper.custom.theme-6 table tr.title th, .eael-wcpc-wrapper.custom.theme-6 table tr.title td {
334
+ border-left: 0;
335
+ border-right: 0;
336
+ }
337
+ .eael-wcpc-wrapper.custom.theme-6 table tr.title td {
338
+ color: #fff;
339
+ }
340
+ .eael-wcpc-wrapper.custom.theme-6 table tr, .eael-wcpc-wrapper.custom.theme-6 table th, .eael-wcpc-wrapper.custom.theme-6 table td {
341
+ border: none;
342
+ }
343
+ .eael-wcpc-wrapper.custom.theme-6 table td {
344
+ color: #fff;
345
+ border-right: 20px solid #fff;
346
+ }
347
+ .eael-wcpc-wrapper.custom.theme-6 table td:last-child {
348
+ border-right: none;
349
+ }
350
+ .eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+1) {
351
+ background: var(--first-col-bg);
352
+ }
353
+ .eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+2) {
354
+ background: var(--second-col-bg);
355
+ }
356
+ .eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+3) {
357
+ background: var(--third-col-bg);
358
+ }
359
+ .eael-wcpc-wrapper.custom.theme-6 table tr:nth-of-type(even) th, .eael-wcpc-wrapper.custom.theme-6 table tr:nth-of-type(even) td {
360
+ background: #f7f6fa;
361
+ }
362
+ .eael-wcpc-wrapper.custom.theme-6 table tr:nth-of-type(even) td:nth-of-type(3n+1) {
363
+ background: #fec1b5;
364
+ }
365
+ .eael-wcpc-wrapper.custom.theme-6 table tr:nth-of-type(even) td:nth-of-type(3n+2) {
366
+ background: #b7adf9;
367
+ }
368
+ .eael-wcpc-wrapper.custom.theme-6 table tr:nth-of-type(even) td:nth-of-type(3n+3) {
369
+ background: #91efb8;
370
+ }
371
+ .eael-wcpc-wrapper.custom.theme-6 table tr.image td, .eael-wcpc-wrapper.custom.theme-6 table tr.title td {
372
+ border: none;
373
+ border-right: 20px solid #fff;
374
+ }
375
+ .eael-wcpc-wrapper.custom.theme-6 table tr.image td:last-child, .eael-wcpc-wrapper.custom.theme-6 table tr.title td:last-child {
376
+ border-right: none;
377
+ }
378
+ .eael-wcpc-wrapper.custom.theme-6 table .button {
379
+ background: #fff;
380
+ }
381
+ .eael-wcpc-wrapper.custom.theme-6 table .button:hover {
382
+ background: #fff;
383
+ }
384
+ .eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+1) .button {
385
+ color: var(--first-col-bg);
386
+ }
387
+ .eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+1) .button:hover {
388
+ color: #fb3c17;
389
+ }
390
+ .eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+2) .button {
391
+ color: var(--second-col-bg);
392
+ }
393
+ .eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+2) .button:hover {
394
+ color: #2f11e9;
395
+ }
396
+ .eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+3) .button {
397
+ color: var(--third-col-bg);
398
+ }
399
+ .eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+3) .button:hover {
400
+ color: #179f51;
401
+ }
402
+ .eael-wcpc-wrapper.custom.theme-6 .img-inner {
403
+ display: block;
404
+ background: rgba(228, 228, 228, 0.45);
405
+ border-radius: 6px;
406
+ }
407
+ @media screen and (min-width: 769px) {
408
+ .eael-wcpc-wrapper:not(.theme-4) tr.image td {
409
+ padding: 10px;
410
+ }
411
+
412
+ .theme-4 tr.image td {
413
+ padding: 50px 10px;
414
+ }
415
+ }
assets/front-end/css/view/woo-product-compare.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .table-responsive{width:100%;overflow-x:auto;overflow-y:hidden}.eael-wcpc-wrapper img{display:block;margin:auto}.eael-wcpc-wrapper th i{padding-right:10px;color:#dcdcdc}.eael-wcpc-wrapper .wcpc-table-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eael-wcpc-wrapper .elementor-icon{font-size:20px;margin-right:10px}.eael-wcpc-wrapper table td{text-align:center}.eael-wcpc-wrapper.custom{--h-bg: #2d1e87;--h-text-clr: #fff;--h-border-clr: #b6aaff;--text-clr: #707070;--text-bold-clr: #252525;--btn-bg: #6752e5;--btn-bg-hover: #ff9582;--btn-text: #fff;--image-bg: #6b55ec;--container-bg: #fff;--icon-color: #c3ccdc;background:var(--container-bg);overflow-x:scroll}.eael-wcpc-wrapper.custom table{border-collapse:collapse;border-spacing:0;max-width:none}.eael-wcpc-wrapper.custom table .icon{width:16px;margin-right:6px;fill:var(--icon-color)}.eael-wcpc-wrapper.custom table th,.eael-wcpc-wrapper.custom table td{padding:15px;border:1px solid var(--h-border-clr);border-collapse:collapse}.eael-wcpc-wrapper.custom table th.first-th{border:none;padding-left:5px}.eael-wcpc-wrapper.custom table th{color:var(--text-bold-clr);font-weight:normal;max-width:160px;border-left-width:2px;border-collapse:collapse;vertical-align:middle}.eael-wcpc-wrapper.custom table th div{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eael-wcpc-wrapper.custom table td{color:var(--text-clr);text-align:center}.eael-wcpc-wrapper.custom table tr.title{background:var(--h-bg);color:var(--h-text-clr)}.eael-wcpc-wrapper.custom table tr.title th,.eael-wcpc-wrapper.custom table tr.title td{font-size:20px;color:inherit;border:none;border-left:1px solid var(--h-border-clr);border-right:1px solid var(--h-border-clr)}.eael-wcpc-wrapper.custom table tr.image td{vertical-align:middle;border:none}.eael-wcpc-wrapper.custom table .button{border-radius:5px;background:var(--btn-bg);color:var(--btn-text)}.eael-wcpc-wrapper.custom table .button:hover{background:var(--btn-bg-hover)}.eael-wcpc-wrapper.custom.theme-1 table tr.image td{background:var(--image-bg);border-left:1px solid var(--h-border-clr);border-right:1px solid var(--h-border-clr)}.eael-wcpc-wrapper.custom.theme-2{--h-bg: #ff9453;--h-border-clr: #f4ede9;--btn-bg: #ff9453;--btn-bg-hover: #6752e5;--even-row-bg: #fbf8f7}.eael-wcpc-wrapper.custom.theme-2 table tr:nth-of-type(even):not(.title){background:var(--even-row-bg)}.eael-wcpc-wrapper.custom.theme-3{--container-bg: #f9fafc;--btn-bg: #ff907e;--btn-bg-hover: #ff907e;--even-row-bg: #f5f5f8;--h-odd-row-bg: #fdfdff;--first-img-bg: linear-gradient(-130deg, #ffd0b0 0%, #ff907e 100%);--second-img-bg: linear-gradient(-130deg, #ada0ff 0%, #7561f2 100%);--third-img-bg: linear-gradient(-130deg, #6fffac 0%, #23d56e 100%);--firt-btn-bg: #ff907e;--second-btn-bg: #7561f2;--third-btn-bg: #23d56e;padding:20px}.eael-wcpc-wrapper.custom.theme-3 table{-webkit-border-horizontal-spacing:10px}.eael-wcpc-wrapper.custom.theme-3 table tr:nth-of-type(even):not(.title){background:var(--even-row-bg)}.eael-wcpc-wrapper.custom.theme-3 table th,.eael-wcpc-wrapper.custom.theme-3 table td{border:none;-webkit-box-sizing:border-box;box-sizing:border-box}.eael-wcpc-wrapper.custom.theme-3 table tr.title td.featured,.eael-wcpc-wrapper.custom.theme-3 table tr:nth-of-type(odd) td.featured{-webkit-box-shadow:18px 0 10px -10px rgba(86,79,127,.06),-18px 0 10px -10px rgba(86,79,127,.06);box-shadow:18px 0 10px -10px rgba(86,79,127,.06),-18px 0 10px -10px rgba(86,79,127,.06)}.eael-wcpc-wrapper.custom.theme-3 table tr.title{background:initial;color:initial}.eael-wcpc-wrapper.custom.theme-3 table tr.title th,.eael-wcpc-wrapper.custom.theme-3 table tr.title td{color:initial;border-left:none;border-right:none}.eael-wcpc-wrapper.custom.theme-3 table tr.image td{background:initial;border-left:none;border-right:none;padding:0}.eael-wcpc-wrapper.custom.theme-3 table tr.image td span{display:block;width:100%;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;border-top-left-radius:10px;border-top-right-radius:10px}.eael-wcpc-wrapper.custom.theme-3 table tr.image td>span{padding:20px}.eael-wcpc-wrapper.custom.theme-3 table tr.image td span.inner{padding:0}.eael-wcpc-wrapper.custom.theme-3 table tr.image td.featured span{padding:10px;background:#fff}.eael-wcpc-wrapper.custom.theme-3 table tr.image td:nth-of-type(3n+1) .img-inner{background:var(--first-img-bg)}.eael-wcpc-wrapper.custom.theme-3 table tr.image td:nth-of-type(3n+2) .img-inner{background:var(--second-img-bg)}.eael-wcpc-wrapper.custom.theme-3 table tr.image td:nth-of-type(3n+3) .img-inner{background:var(--third-img-bg)}.eael-wcpc-wrapper.custom.theme-4{--h-bg: none;--h-text-clr: #707070;--h-border-clr: #e8ebf0;--text-clr: #707070;--text-bold-clr: #252525;--btn-bg: #613de6;--btn-bg-hover: #ff9582;--btn-text: #fff;--image-bg: none;--container-bg: #f9fafc}.eael-wcpc-wrapper.custom.theme-4 table{background:#fff}.eael-wcpc-wrapper.custom.theme-4 table th.first-th{background:var(--container-bg)}.eael-wcpc-wrapper.custom.theme-4 table tr.title th,.eael-wcpc-wrapper.custom.theme-4 table tr.title td{font-size:20px;color:inherit;border:1px solid var(--h-border-clr)}.eael-wcpc-wrapper.custom.theme-4 table tr.image td{position:relative;border:1px solid var(--h-border-clr);overflow:hidden}.eael-wcpc-wrapper.custom.theme-4 table tr.image .ribbon{position:absolute;left:-44px;top:10px;background:var(--btn-bg);color:var(--btn-text);padding:3px 50px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center}.eael-wcpc-wrapper.custom.theme-4 table tr.image .product-title,.eael-wcpc-wrapper.custom.theme-4 table tr.image .woocommerce-Price-amount{font-size:18px;font-weight:bold}.eael-wcpc-wrapper.custom.theme-4 table tr.image .product-title{color:var(--text-bold-clr);margin:0 auto 10px}.eael-wcpc-wrapper.custom.theme-4 table tr.image .woocommerce-Price-amount{color:var(--btn-bg)}.eael-wcpc-wrapper.custom.theme-5{--first-row-color: #fff;--first-col-bg: #6a3ee8;--second-col-bg: #3e5ae8;--third-col-bg: #15e9c9;--first-img-bg: #f4f0ff;--second-img-bg: #eaedff;--third-img-bg: #e5fffb;--h-bg: none;--h-text-clr: #707070;--h-border-clr: #e8ebf0;--first-btn-bg: #6a3ee8;--second-btn-bg: #3e5ae8;--third-btn-bg: #15e9c9;--image-bg: none}.eael-wcpc-wrapper.custom.theme-5 table th{border:none}.eael-wcpc-wrapper.custom.theme-5 table th.first-th{background:var(--container-bg)}.eael-wcpc-wrapper.custom.theme-5 table td:nth-of-type(3n+1) .button{background:var(--first-btn-bg)}.eael-wcpc-wrapper.custom.theme-5 table td:nth-of-type(3n+1) .button:hover{background:#5827e5}.eael-wcpc-wrapper.custom.theme-5 table td:nth-of-type(3n+2) .button{background:var(--second-btn-bg)}.eael-wcpc-wrapper.custom.theme-5 table td:nth-of-type(3n+2) .button:hover{background:#2747e5}.eael-wcpc-wrapper.custom.theme-5 table td:nth-of-type(3n+3) .button{background:var(--third-btn-bg)}.eael-wcpc-wrapper.custom.theme-5 table td:nth-of-type(3n+3) .button:hover{background:#13d2b5}.eael-wcpc-wrapper.custom.theme-5 table tr.title th,.eael-wcpc-wrapper.custom.theme-5 table tr.title td{font-size:20px;color:inherit;border:none}.eael-wcpc-wrapper.custom.theme-5 table tr.image td:nth-of-type(3n+1){background:var(--first-img-bg)}.eael-wcpc-wrapper.custom.theme-5 table tr.image td:nth-of-type(3n+2){background:var(--second-img-bg)}.eael-wcpc-wrapper.custom.theme-5 table tr.image td:nth-of-type(3n+3){background:var(--third-img-bg)}.eael-wcpc-wrapper.custom.theme-5 table tr.title td:nth-of-type(3n+1){background:var(--first-col-bg)}.eael-wcpc-wrapper.custom.theme-5 table tr.title td:nth-of-type(3n+2){background:var(--second-col-bg)}.eael-wcpc-wrapper.custom.theme-5 table tr.title td:nth-of-type(3n+3){background:var(--third-col-bg)}.eael-wcpc-wrapper.custom.theme-5 table tr.image td,.eael-wcpc-wrapper.custom.theme-5 table tr.title td{border:none;border-right:2px solid var(--first-row-color);color:var(--first-row-color)}.eael-wcpc-wrapper.custom.theme-5 table tr.image td:last-child,.eael-wcpc-wrapper.custom.theme-5 table tr.title td:last-child{border-right:none}.eael-wcpc-wrapper.custom.theme-6{--container-bg: #f0eff6;--first-row-color: #fff;--first-col-bg: #fd907b;--second-col-bg: #7f6cf4;--third-col-bg: #3ae281;--first-img-bg: #f4f0ff;--second-img-bg: #eaedff;--third-img-bg: #e5fffb;--h-bg: none;--h-text-clr: #707070;--h-border-clr: #e8ebf0;--image-bg: none}.eael-wcpc-wrapper.custom.theme-6 table tr.title th,.eael-wcpc-wrapper.custom.theme-6 table tr.title td{border-left:0;border-right:0}.eael-wcpc-wrapper.custom.theme-6 table tr.title td{color:#fff}.eael-wcpc-wrapper.custom.theme-6 table tr,.eael-wcpc-wrapper.custom.theme-6 table th,.eael-wcpc-wrapper.custom.theme-6 table td{border:none}.eael-wcpc-wrapper.custom.theme-6 table td{color:#fff;border-right:20px solid #fff}.eael-wcpc-wrapper.custom.theme-6 table td:last-child{border-right:none}.eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+1){background:var(--first-col-bg)}.eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+2){background:var(--second-col-bg)}.eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+3){background:var(--third-col-bg)}.eael-wcpc-wrapper.custom.theme-6 table tr:nth-of-type(even) th,.eael-wcpc-wrapper.custom.theme-6 table tr:nth-of-type(even) td{background:#f7f6fa}.eael-wcpc-wrapper.custom.theme-6 table tr:nth-of-type(even) td:nth-of-type(3n+1){background:#fec1b5}.eael-wcpc-wrapper.custom.theme-6 table tr:nth-of-type(even) td:nth-of-type(3n+2){background:#b7adf9}.eael-wcpc-wrapper.custom.theme-6 table tr:nth-of-type(even) td:nth-of-type(3n+3){background:#91efb8}.eael-wcpc-wrapper.custom.theme-6 table tr.image td,.eael-wcpc-wrapper.custom.theme-6 table tr.title td{border:none;border-right:20px solid #fff}.eael-wcpc-wrapper.custom.theme-6 table tr.image td:last-child,.eael-wcpc-wrapper.custom.theme-6 table tr.title td:last-child{border-right:none}.eael-wcpc-wrapper.custom.theme-6 table .button{background:#fff}.eael-wcpc-wrapper.custom.theme-6 table .button:hover{background:#fff}.eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+1) .button{color:var(--first-col-bg)}.eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+1) .button:hover{color:#fb3c17}.eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+2) .button{color:var(--second-col-bg)}.eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+2) .button:hover{color:#2f11e9}.eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+3) .button{color:var(--third-col-bg)}.eael-wcpc-wrapper.custom.theme-6 table td:nth-of-type(3n+3) .button:hover{color:#179f51}.eael-wcpc-wrapper.custom.theme-6 .img-inner{display:block;background:rgba(228,228,228,.45);border-radius:6px}@media screen and (min-width: 769px){.eael-wcpc-wrapper:not(.theme-4) tr.image td{padding:10px}.theme-4 tr.image td{padding:50px 10px}}
assets/front-end/js/edit/advanced-data-table.min.js CHANGED
@@ -1 +1 @@
1
- !function(e){var a={};function t(n){if(a[n])return a[n].exports;var l=a[n]={i:n,l:!1,exports:{}};return e[n].call(l.exports,l,l.exports,t),l.l=!0,l.exports}t.m=e,t.c=a,t.d=function(e,a,n){t.o(e,a)||Object.defineProperty(e,a,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,a){if(1&a&&(e=t(e)),8&a)return e;if(4&a&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&a&&"string"!=typeof e)for(var l in e)t.d(n,l,function(a){return e[a]}.bind(null,l));return n},t.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(a,"a",a),a},t.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},t.p="",t(t.s=24)}({24:function(e,a){function t(e,a){for(var t=0;t<a.length;t++){var n=a[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var n=function(){function e(){!function(e,a){if(!(e instanceof a))throw new TypeError("Cannot call a class as a function")}(this,e),this.panel=null,this.model=null,this.view=null,this.table=null,this.timeout=null,this.activeCell=null,this.dragStartX=null,this.dragStartWidth=null,this.dragEl=null,this.dragging=!1,ea.hooks.addFilter("advancedDataTable.getClassProps","ea",this.getClassProps.bind(this)),ea.hooks.addFilter("advancedDataTable.setClassProps","ea",this.setClassProps.bind(this)),ea.hooks.addFilter("advancedDataTable.parseHTML","ea",this.parseHTML),ea.hooks.addAction("advancedDataTable.initEditor","ea",this.initEditor.bind(this)),ea.hooks.addAction("advancedDataTable.updateFromView","ea",this.updateFromView.bind(this)),ea.hooks.addAction("advancedDataTable.initInlineEdit","ea",this.initInlineEdit.bind(this)),ea.hooks.addAction("advancedDataTable.initPanelAction","ea",this.initPanelAction.bind(this)),elementor.hooks.addFilter("elements/widget/contextMenuGroups",this.initContextMenu),elementor.hooks.addAction("panel/open_editor/widget/eael-advanced-data-table",this.initPanel.bind(this))}var a,n,l;return a=e,(n=[{key:"updateFromView",value:function(e,a){var t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=e.model;if(n.remoteRender=t,elementor.config.version>"2.7.6"){var l=e.getContainer(),o=e.getContainer().settings.attributes;Object.keys(a).forEach((function(e){o[e]=a[e]})),parent.window.$e.run("document/elements/settings",{container:l,settings:o,options:{external:t}})}else Object.keys(a).forEach((function(e){n.setSetting(e,a[e])}));this.timeout=setTimeout((function(){n.remoteRender=!0}),1001)}},{key:"getClassProps",value:function(){return{view:this.view,model:this.model,table:this.table,activeCell:this.activeCell}}},{key:"setClassProps",value:function(e){var a=this;Object.keys(e).forEach((function(t){a[t]=e[t]}))}},{key:"parseHTML",value:function(e){return e.querySelectorAll("th, td").forEach((function(e){null!==e.querySelector(".inline-editor")&&(e.innerHTML=decodeURI(e.dataset.quill||""),delete e.dataset.quill)})),e}},{key:"initEditor",value:function(e){var a=this;e.dataset.quill=encodeURI(e.innerHTML),e.innerHTML='<div class="inline-editor">'.concat(e.innerHTML,"</div>");var t=new Quill(e.querySelector(".inline-editor"),{theme:"bubble",modules:{toolbar:["bold","italic","underline","strike","link",{list:"ordered"},{list:"bullet"}]}});t.on("text-change",(function(n,l,o){clearTimeout(a.timeout),e.dataset.quill=encodeURI(t.root.innerHTML);var i=a.parseHTML(a.table.cloneNode(!0));a.updateFromView(a.view,{ea_adv_data_table_static_html:i.innerHTML})}))}},{key:"initInlineEdit",value:function(){var e=this,a=setInterval((function(){e.view.el.querySelector(".ea-advanced-data-table")&&(e.table!==e.view.el.querySelector(".ea-advanced-data-table")&&(e.table=e.view.el.querySelector(".ea-advanced-data-table"),e.table.classList.contains("ea-advanced-data-table-static")&&e.table.querySelectorAll("th, td").forEach((function(a){e.initEditor(a)})),e.table.addEventListener("mousedown",(function(a){a.stopPropagation(),"th"===a.target.tagName.toLowerCase()&&(e.dragging=!0,e.dragEl=a.target,e.dragStartX=a.pageX,e.dragStartWidth=a.target.offsetWidth),"th"===a.target.tagName.toLowerCase()||"td"===a.target.tagName.toLowerCase()?e.activeCell=a.target:"th"===a.target.parentNode.tagName.toLowerCase()||"td"===a.target.parentNode.tagName.toLowerCase()?e.activeCell=a.target.parentNode:"th"===a.target.parentNode.parentNode.tagName.toLowerCase()||"td"===a.target.parentNode.parentNode.tagName.toLowerCase()?e.activeCell=a.target.parentNode.parentNode:"th"!==a.target.parentNode.parentNode.parentNode.tagName.toLowerCase()&&"td"!==a.target.parentNode.parentNode.parentNode.tagName.toLowerCase()||(e.activeCell=a.target.parentNode.parentNode.parentNode)})),e.table.addEventListener("mousemove",(function(a){e.dragging&&(e.dragEl.style.width="".concat(e.dragStartWidth+(event.pageX-e.dragStartX),"px"))})),e.table.addEventListener("mouseup",(function(a){if(e.dragging)if(e.dragging=!1,clearTimeout(e.timeout),e.table.classList.contains("ea-advanced-data-table-static")){var t=e.parseHTML(e.table.cloneNode(!0));e.updateFromView(e.view,{ea_adv_data_table_static_html:t.innerHTML})}else{var n=[];e.table.querySelectorAll("th").forEach((function(e,a){n[a]=e.style.width})),e.updateFromView(e.view,{ea_adv_data_table_dynamic_th_width:n})}})),e.table.addEventListener("dblclick",(function(a){if("th"===a.target.tagName.toLowerCase())if(a.stopPropagation(),clearTimeout(e.timeout),e.table.classList.contains("ea-advanced-data-table-static")){var t=e.parseHTML(e.table.cloneNode(!0));e.updateFromView(e.view,{ea_adv_data_table_static_html:t.innerHTML})}else{var n=[];e.table.querySelectorAll("th").forEach((function(e,a){n[a]=e.style.width})),e.updateFromView(e.view,{ea_adv_data_table_dynamic_th_width:n})}}))),clearInterval(a))}),500)}},{key:"initPanelAction",value:function(){var e=this;this.panel.content.el.onclick=function(a){if("ea:advTable:export"==a.target.dataset.event){for(var t=e.table.querySelectorAll("table tr"),n=[],l=0;l<t.length;l++){var o=[],i=t[l].querySelectorAll("th, td");if(e.table.classList.contains("ea-advanced-data-table-static"))for(var r=0;r<i.length;r++)o.push(JSON.stringify(decodeURI(i[r].dataset.quill)));else for(var d=0;d<i.length;d++)o.push(JSON.stringify(i[d].innerHTML.replace(/(\r\n|\n|\r)/gm," ").trim()));n.push(o.join(","))}var s=new Blob([n.join("\n")],{type:"text/csv"}),c=parent.document.createElement("a");c.classList.add("ea-adv-data-table-download-".concat(e.model.attributes.id)),c.download="ea-adv-data-table-".concat(e.model.attributes.id,".csv"),c.href=window.URL.createObjectURL(s),c.style.display="none",parent.document.body.appendChild(c),c.click(),parent.document.querySelector(".ea-adv-data-table-download-".concat(e.model.attributes.id)).remove()}else if("ea:advTable:import"==a.target.dataset.event){var v=e.panel.content.el.querySelector(".ea_adv_table_csv_string"),u=e.panel.content.el.querySelector(".ea_adv_table_csv_string_table").checked,h=v.value.split("\n"),p="",b="";if(v.value.length>0&&(b+="<tbody>",h.forEach((function(e,a){e.length>0&&(cols=e.match(/("(?:[^"\\]|\\.)*"|[^","]+)/gm),cols.length>0&&(u&&0==a?(p+="<thead><tr>",cols.forEach((function(e){e.match(/(^"")|(^")|("$)|(""$)/g)?p+="<th>".concat(JSON.parse(e),"</th>"):p+="<th>".concat(e,"</th>")})),p+="</tr></thead>"):(b+="<tr>",cols.forEach((function(e){e.match(/(^"")|(^")|("$)|(""$)/g)?b+="<td>".concat(JSON.parse(e),"</td>"):b+="<td>".concat(e,"</td>")})),b+="</tr>")))})),b+="</tbody>",p.length>0||b.length>0)){e.updateFromView(e.view,{ea_adv_data_table_static_html:p+b},!0);var f=setInterval((function(){e.view.el.querySelector(".ea-advanced-data-table").innerHTML==p+b&&(clearInterval(f),ea.hooks.doAction("advancedDataTable.initInlineEdit"))}),500)}v.value=""}ea.hooks.doAction("advancedDataTable.panelAction",e.panel,e.model,e.view,a)}}},{key:"initPanel",value:function(e,a,t){var n=this;this.panel=e,this.model=a,this.view=t,ea.hooks.doAction("advancedDataTable.initInlineEdit"),ea.hooks.doAction("advancedDataTable.initPanelAction"),ea.hooks.doAction("advancedDataTable.afterInitPanel",e,a,t),a.once("editor:close",(function(){var e=n.parseHTML(n.table.cloneNode(!0));n.updateFromView(n.view,{ea_adv_data_table_static_html:e.innerHTML},!0)}))}},{key:"initContextMenu",value:function(e,a){return"eael-advanced-data-table"==a.options.model.attributes.widgetType&&"static"==a.options.model.attributes.settings.attributes.ea_adv_data_table_source&&e.push({name:"ea_advanced_data_table",actions:[{name:"add_row_above",title:"Add Row Above",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n&&"th"!=n.tagName.toLowerCase()){for(var l=n.parentNode.rowIndex,o=t.insertRow(l),i=0;i<t.rows[0].cells.length;i++){var r=o.insertCell(i);ea.hooks.doAction("advancedDataTable.initEditor",r)}ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var d=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:d.innerHTML})}}},{name:"add_row_below",title:"Add Row Below",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n){for(var l=n.parentNode.rowIndex+1,o=t.insertRow(l),i=0;i<t.rows[0].cells.length;i++){var r=o.insertCell(i);ea.hooks.doAction("advancedDataTable.initEditor",r)}ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var d=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:d.innerHTML})}}},{name:"add_column_left",title:"Add Column Left",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n){for(var l=n.cellIndex,o=0;o<t.rows.length;o++)if("th"==t.rows[o].cells[0].tagName.toLowerCase()){var i=t.rows[o].insertBefore(document.createElement("th"),t.rows[o].cells[l]);ea.hooks.doAction("advancedDataTable.initEditor",i)}else{var r=t.rows[o].insertCell(l);ea.hooks.doAction("advancedDataTable.initEditor",r)}ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var d=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:d.innerHTML})}}},{name:"add_column_right",title:"Add Column Right",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n){for(var l=n.cellIndex+1,o=0;o<t.rows.length;o++)if("th"==t.rows[o].cells[0].tagName.toLowerCase()){var i=t.rows[o].insertBefore(document.createElement("th"),t.rows[o].cells[l]);ea.hooks.doAction("advancedDataTable.initEditor",i)}else{var r=t.rows[o].insertCell(l);ea.hooks.doAction("advancedDataTable.initEditor",r)}ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var d=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:d.innerHTML})}}},{name:"delete_row",title:"Delete Row",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n){var l=n.parentNode.rowIndex;t.deleteRow(l),ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var o=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:o.innerHTML})}}},{name:"delete_column",title:"Delete Column",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n){for(var l=n.cellIndex,o=0;o<t.rows.length;o++)t.rows[o].deleteCell(l);ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var i=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:i.innerHTML})}}}]}),e}}])&&t(a.prototype,n),l&&t(a,l),e}();ea.hooks.addAction("editMode.init","ea",(function(){new n}))}});
1
+ !function(e){var a={};function t(n){if(a[n])return a[n].exports;var l=a[n]={i:n,l:!1,exports:{}};return e[n].call(l.exports,l,l.exports,t),l.l=!0,l.exports}t.m=e,t.c=a,t.d=function(e,a,n){t.o(e,a)||Object.defineProperty(e,a,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,a){if(1&a&&(e=t(e)),8&a)return e;if(4&a&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&a&&"string"!=typeof e)for(var l in e)t.d(n,l,function(a){return e[a]}.bind(null,l));return n},t.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(a,"a",a),a},t.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},t.p="",t(t.s=25)}({25:function(e,a){function t(e,a){for(var t=0;t<a.length;t++){var n=a[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var n=function(){function e(){!function(e,a){if(!(e instanceof a))throw new TypeError("Cannot call a class as a function")}(this,e),this.panel=null,this.model=null,this.view=null,this.table=null,this.timeout=null,this.activeCell=null,this.dragStartX=null,this.dragStartWidth=null,this.dragEl=null,this.dragging=!1,ea.hooks.addFilter("advancedDataTable.getClassProps","ea",this.getClassProps.bind(this)),ea.hooks.addFilter("advancedDataTable.setClassProps","ea",this.setClassProps.bind(this)),ea.hooks.addFilter("advancedDataTable.parseHTML","ea",this.parseHTML),ea.hooks.addAction("advancedDataTable.initEditor","ea",this.initEditor.bind(this)),ea.hooks.addAction("advancedDataTable.updateFromView","ea",this.updateFromView.bind(this)),ea.hooks.addAction("advancedDataTable.initInlineEdit","ea",this.initInlineEdit.bind(this)),ea.hooks.addAction("advancedDataTable.initPanelAction","ea",this.initPanelAction.bind(this)),elementor.hooks.addFilter("elements/widget/contextMenuGroups",this.initContextMenu),elementor.hooks.addAction("panel/open_editor/widget/eael-advanced-data-table",this.initPanel.bind(this))}var a,n,l;return a=e,(n=[{key:"updateFromView",value:function(e,a){var t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=e.model;if(n.remoteRender=t,elementor.config.version>"2.7.6"){var l=e.getContainer(),o=e.getContainer().settings.attributes;Object.keys(a).forEach((function(e){o[e]=a[e]})),parent.window.$e.run("document/elements/settings",{container:l,settings:o,options:{external:t}})}else Object.keys(a).forEach((function(e){n.setSetting(e,a[e])}));this.timeout=setTimeout((function(){n.remoteRender=!0}),1001)}},{key:"getClassProps",value:function(){return{view:this.view,model:this.model,table:this.table,activeCell:this.activeCell}}},{key:"setClassProps",value:function(e){var a=this;Object.keys(e).forEach((function(t){a[t]=e[t]}))}},{key:"parseHTML",value:function(e){return e.querySelectorAll("th, td").forEach((function(e){null!==e.querySelector(".inline-editor")&&(e.innerHTML=decodeURI(e.dataset.quill||""),delete e.dataset.quill)})),e}},{key:"initEditor",value:function(e){var a=this;e.dataset.quill=encodeURI(e.innerHTML),e.innerHTML='<div class="inline-editor">'.concat(e.innerHTML,"</div>");var t=new Quill(e.querySelector(".inline-editor"),{theme:"bubble",modules:{toolbar:["bold","italic","underline","strike","link",{list:"ordered"},{list:"bullet"}]}});t.on("text-change",(function(n,l,o){clearTimeout(a.timeout),e.dataset.quill=encodeURI(t.root.innerHTML);var i=a.parseHTML(a.table.cloneNode(!0));a.updateFromView(a.view,{ea_adv_data_table_static_html:i.innerHTML})}))}},{key:"initInlineEdit",value:function(){var e=this,a=setInterval((function(){e.view.el.querySelector(".ea-advanced-data-table")&&(e.table!==e.view.el.querySelector(".ea-advanced-data-table")&&(e.table=e.view.el.querySelector(".ea-advanced-data-table"),e.table.classList.contains("ea-advanced-data-table-static")&&e.table.querySelectorAll("th, td").forEach((function(a){e.initEditor(a)})),e.table.addEventListener("mousedown",(function(a){a.stopPropagation(),"th"===a.target.tagName.toLowerCase()&&(e.dragging=!0,e.dragEl=a.target,e.dragStartX=a.pageX,e.dragStartWidth=a.target.offsetWidth),"th"===a.target.tagName.toLowerCase()||"td"===a.target.tagName.toLowerCase()?e.activeCell=a.target:"th"===a.target.parentNode.tagName.toLowerCase()||"td"===a.target.parentNode.tagName.toLowerCase()?e.activeCell=a.target.parentNode:"th"===a.target.parentNode.parentNode.tagName.toLowerCase()||"td"===a.target.parentNode.parentNode.tagName.toLowerCase()?e.activeCell=a.target.parentNode.parentNode:"th"!==a.target.parentNode.parentNode.parentNode.tagName.toLowerCase()&&"td"!==a.target.parentNode.parentNode.parentNode.tagName.toLowerCase()||(e.activeCell=a.target.parentNode.parentNode.parentNode)})),e.table.addEventListener("mousemove",(function(a){e.dragging&&(e.dragEl.style.width="".concat(e.dragStartWidth+(event.pageX-e.dragStartX),"px"))})),e.table.addEventListener("mouseup",(function(a){if(e.dragging)if(e.dragging=!1,clearTimeout(e.timeout),e.table.classList.contains("ea-advanced-data-table-static")){var t=e.parseHTML(e.table.cloneNode(!0));e.updateFromView(e.view,{ea_adv_data_table_static_html:t.innerHTML})}else{var n=[];e.table.querySelectorAll("th").forEach((function(e,a){n[a]=e.style.width})),e.updateFromView(e.view,{ea_adv_data_table_dynamic_th_width:n})}})),e.table.addEventListener("dblclick",(function(a){if("th"===a.target.tagName.toLowerCase())if(a.stopPropagation(),clearTimeout(e.timeout),e.table.classList.contains("ea-advanced-data-table-static")){var t=e.parseHTML(e.table.cloneNode(!0));e.updateFromView(e.view,{ea_adv_data_table_static_html:t.innerHTML})}else{var n=[];e.table.querySelectorAll("th").forEach((function(e,a){n[a]=e.style.width})),e.updateFromView(e.view,{ea_adv_data_table_dynamic_th_width:n})}}))),clearInterval(a))}),500)}},{key:"initPanelAction",value:function(){var e=this;this.panel.content.el.onclick=function(a){if("ea:advTable:export"==a.target.dataset.event){for(var t=e.table.querySelectorAll("table tr"),n=[],l=0;l<t.length;l++){var o=[],i=t[l].querySelectorAll("th, td");if(e.table.classList.contains("ea-advanced-data-table-static"))for(var r=0;r<i.length;r++)o.push(JSON.stringify(decodeURI(i[r].dataset.quill)));else for(var d=0;d<i.length;d++)o.push(JSON.stringify(i[d].innerHTML.replace(/(\r\n|\n|\r)/gm," ").trim()));n.push(o.join(","))}var s=new Blob([n.join("\n")],{type:"text/csv"}),c=parent.document.createElement("a");c.classList.add("ea-adv-data-table-download-".concat(e.model.attributes.id)),c.download="ea-adv-data-table-".concat(e.model.attributes.id,".csv"),c.href=window.URL.createObjectURL(s),c.style.display="none",parent.document.body.appendChild(c),c.click(),parent.document.querySelector(".ea-adv-data-table-download-".concat(e.model.attributes.id)).remove()}else if("ea:advTable:import"==a.target.dataset.event){var v=e.panel.content.el.querySelector(".ea_adv_table_csv_string"),u=e.panel.content.el.querySelector(".ea_adv_table_csv_string_table").checked,h=v.value.split("\n"),p="",b="";if(v.value.length>0&&(b+="<tbody>",h.forEach((function(e,a){e.length>0&&(cols=e.match(/("(?:[^"\\]|\\.)*"|[^","]+)/gm),cols.length>0&&(u&&0==a?(p+="<thead><tr>",cols.forEach((function(e){e.match(/(^"")|(^")|("$)|(""$)/g)?p+="<th>".concat(JSON.parse(e),"</th>"):p+="<th>".concat(e,"</th>")})),p+="</tr></thead>"):(b+="<tr>",cols.forEach((function(e){e.match(/(^"")|(^")|("$)|(""$)/g)?b+="<td>".concat(JSON.parse(e),"</td>"):b+="<td>".concat(e,"</td>")})),b+="</tr>")))})),b+="</tbody>",p.length>0||b.length>0)){e.updateFromView(e.view,{ea_adv_data_table_static_html:p+b},!0);var f=setInterval((function(){e.view.el.querySelector(".ea-advanced-data-table").innerHTML==p+b&&(clearInterval(f),ea.hooks.doAction("advancedDataTable.initInlineEdit"))}),500)}v.value=""}ea.hooks.doAction("advancedDataTable.panelAction",e.panel,e.model,e.view,a)}}},{key:"initPanel",value:function(e,a,t){var n=this;this.panel=e,this.model=a,this.view=t,ea.hooks.doAction("advancedDataTable.initInlineEdit"),ea.hooks.doAction("advancedDataTable.initPanelAction"),ea.hooks.doAction("advancedDataTable.afterInitPanel",e,a,t),a.once("editor:close",(function(){var e=n.parseHTML(n.table.cloneNode(!0));n.updateFromView(n.view,{ea_adv_data_table_static_html:e.innerHTML},!0)}))}},{key:"initContextMenu",value:function(e,a){return"eael-advanced-data-table"==a.options.model.attributes.widgetType&&"static"==a.options.model.attributes.settings.attributes.ea_adv_data_table_source&&e.push({name:"ea_advanced_data_table",actions:[{name:"add_row_above",title:"Add Row Above",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n&&"th"!=n.tagName.toLowerCase()){for(var l=n.parentNode.rowIndex,o=t.insertRow(l),i=0;i<t.rows[0].cells.length;i++){var r=o.insertCell(i);ea.hooks.doAction("advancedDataTable.initEditor",r)}ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var d=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:d.innerHTML})}}},{name:"add_row_below",title:"Add Row Below",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n){for(var l=n.parentNode.rowIndex+1,o=t.insertRow(l),i=0;i<t.rows[0].cells.length;i++){var r=o.insertCell(i);ea.hooks.doAction("advancedDataTable.initEditor",r)}ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var d=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:d.innerHTML})}}},{name:"add_column_left",title:"Add Column Left",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n){for(var l=n.cellIndex,o=0;o<t.rows.length;o++)if("th"==t.rows[o].cells[0].tagName.toLowerCase()){var i=t.rows[o].insertBefore(document.createElement("th"),t.rows[o].cells[l]);ea.hooks.doAction("advancedDataTable.initEditor",i)}else{var r=t.rows[o].insertCell(l);ea.hooks.doAction("advancedDataTable.initEditor",r)}ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var d=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:d.innerHTML})}}},{name:"add_column_right",title:"Add Column Right",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n){for(var l=n.cellIndex+1,o=0;o<t.rows.length;o++)if("th"==t.rows[o].cells[0].tagName.toLowerCase()){var i=t.rows[o].insertBefore(document.createElement("th"),t.rows[o].cells[l]);ea.hooks.doAction("advancedDataTable.initEditor",i)}else{var r=t.rows[o].insertCell(l);ea.hooks.doAction("advancedDataTable.initEditor",r)}ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var d=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:d.innerHTML})}}},{name:"delete_row",title:"Delete Row",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n){var l=n.parentNode.rowIndex;t.deleteRow(l),ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var o=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:o.innerHTML})}}},{name:"delete_column",title:"Delete Column",callback:function(){var e=ea.hooks.applyFilters("advancedDataTable.getClassProps"),a=e.view,t=e.table,n=e.activeCell;if(null!==n){for(var l=n.cellIndex,o=0;o<t.rows.length;o++)t.rows[o].deleteCell(l);ea.hooks.applyFilters("advancedDataTable.setClassProps",{activeCell:null});var i=ea.hooks.applyFilters("advancedDataTable.parseHTML",t.cloneNode(!0));ea.hooks.doAction("advancedDataTable.updateFromView",a,{ea_adv_data_table_static_html:i.innerHTML})}}}]}),e}}])&&t(a.prototype,n),l&&t(a,l),e}();ea.hooks.addAction("editMode.init","ea",(function(){new n}))}});
assets/front-end/js/edit/ea-select2.js CHANGED
@@ -1,34 +1,47 @@
1
  (function ($) {
2
- $(document).on('eael_select2_init', function (event, obj) {
3
- var ID = '#elementor-control-default-' + obj.data._cid;
4
- setTimeout(function () {
5
- $(ID).select2({
6
- minimumInputLength: 3,
7
- ajax: {
8
- url: eael_select2_localize.ajaxurl+"?action=eael_select2_search_post&post_type=" + obj.data.source_type,
9
- dataType: 'json'
10
- },
11
- initSelection: function (element, callback) {
12
- callback({id: '', text: eael_select2_localize.search_text});
13
- if (obj.currentID > 0) {
14
- var label = $("label[for='elementor-control-default-"+ obj.data._cid+"']");
15
- element.attr('disabled','disabled');
16
- label.after('<span class="elementor-control-spinner">&nbsp;<i class="eicon-spinner eicon-animation-spin"></i>&nbsp;</span>');
17
- $.ajax({
18
- method: "POST",
19
- url: eael_select2_localize.ajaxurl+"?action=eael_select2_get_title",
20
- data: {post_type: obj.data.source_type, id: obj.currentID}
21
- }).done(function (response) {
22
- if (response.success) {
23
- element.append('<option selected="selected" value="' + response.data.id + '">' + response.data.text + '</option>');
24
- callback({id: response.data.id, text: response.data.text});
25
- element.removeAttr('disabled');
26
- label.siblings('.elementor-control-spinner').remove();
27
- }
28
- });
29
  }
30
- }
31
- });
32
- }, 100);
33
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34
  }(jQuery));
1
  (function ($) {
2
+ $(document).on('eael_select2_init', function (event, obj) {
3
+ var ID = '#elementor-control-default-' + obj.data._cid;
4
+ setTimeout(function () {
5
+ $(ID).select2({
6
+ minimumInputLength: 3,
7
+ ajax: {
8
+ url: eael_select2_localize.ajaxurl + "?action=eael_select2_search_post&post_type=" + obj.data.source_type + '&source_name=' + obj.data.source_name,
9
+ dataType: 'json'
10
+ },
11
+ initSelection: function (element, callback) {
12
+ if (!obj.multiple) {
13
+ callback({id: '', text: eael_select2_localize.search_text});
14
+ }else{
15
+ callback({id: '', text: ''});
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  }
17
+ var ids = [];
18
+ if(!Array.isArray(obj.currentID) && obj.currentID != ''){
19
+ ids = [obj.currentID];
20
+ }else if(Array.isArray(obj.currentID)){
21
+ ids = obj.currentID.filter(function (el) {
22
+ return el != null;
23
+ })
24
+ }
25
+
26
+ if (ids.length > 0) {
27
+ var label = $("label[for='elementor-control-default-" + obj.data._cid + "']");
28
+ label.after('<span class="elementor-control-spinner">&nbsp;<i class="eicon-spinner eicon-animation-spin"></i>&nbsp;</span>');
29
+ $.ajax({
30
+ method: "POST",
31
+ url: eael_select2_localize.ajaxurl + "?action=eael_select2_get_title",
32
+ data: {post_type: obj.data.source_type, source_name: obj.data.source_name, id: ids}
33
+ }).done(function (response) {
34
+ if (response.success && typeof response.data.results != 'undefined') {
35
+ Object.entries(response.data.results).forEach(entry => {
36
+ const [key, value] = entry;
37
+ element.append('<option selected="selected" value="' + key + '">' + value + '</option>');
38
+ });
39
+ }
40
+ label.siblings('.elementor-control-spinner').remove();
41
+ });
42
+ }
43
+ }
44
+ });
45
+ }, 100);
46
+ });
47
  }(jQuery));
assets/front-end/js/edit/promotion.min.js CHANGED
@@ -1 +1 @@
1
- !function(e){var t={};function o(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,o),r.l=!0,r.exports}o.m=e,o.c=t,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)o.d(n,r,function(t){return e[t]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=25)}({25:function(e,t){ea.hooks.addAction("editMode.init","ea",(function(){parent.document.addEventListener("mousedown",(function(e){var t=parent.document.querySelectorAll(".elementor-element--promotion");if(t.length>0)for(var o=0;o<t.length;o++)if(t[o].contains(e.target)){var n=parent.document.querySelector("#elementor-element--promotion__dialog");if(t[o].querySelector(".icon > i").classList.toString().indexOf("eaicon")>=0)if(n.querySelector(".dialog-buttons-action").style.display="none",e.stopImmediatePropagation(),null===n.querySelector(".ea-dialog-buttons-action")){var r=document.createElement("a"),a=document.createTextNode("Upgrade Essential Addons");r.setAttribute("href","https://wpdeveloper.net/upgrade/ea-pro"),r.setAttribute("target","_blank"),r.classList.add("dialog-button","dialog-action","dialog-buttons-action","elementor-button","elementor-button-success","ea-dialog-buttons-action"),r.appendChild(a),n.querySelector(".dialog-buttons-action").insertAdjacentHTML("afterend",r.outerHTML)}else n.querySelector(".ea-dialog-buttons-action").style.display="";else n.querySelector(".dialog-buttons-action").style.display="",null!==n.querySelector(".ea-dialog-buttons-action")&&(n.querySelector(".ea-dialog-buttons-action").style.display="none");break}}))}))}});
1
+ !function(e){var t={};function o(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,o),r.l=!0,r.exports}o.m=e,o.c=t,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)o.d(n,r,function(t){return e[t]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=26)}({26:function(e,t){ea.hooks.addAction("editMode.init","ea",(function(){parent.document.addEventListener("mousedown",(function(e){var t=parent.document.querySelectorAll(".elementor-element--promotion");if(t.length>0)for(var o=0;o<t.length;o++)if(t[o].contains(e.target)){var n=parent.document.querySelector("#elementor-element--promotion__dialog");if(t[o].querySelector(".icon > i").classList.toString().indexOf("eaicon")>=0)if(n.querySelector(".dialog-buttons-action").style.display="none",e.stopImmediatePropagation(),null===n.querySelector(".ea-dialog-buttons-action")){var r=document.createElement("a"),a=document.createTextNode("Upgrade Essential Addons");r.setAttribute("href","https://wpdeveloper.net/upgrade/ea-pro"),r.setAttribute("target","_blank"),r.classList.add("dialog-button","dialog-action","dialog-buttons-action","elementor-button","elementor-button-success","ea-dialog-buttons-action"),r.appendChild(a),n.querySelector(".dialog-buttons-action").insertAdjacentHTML("afterend",r.outerHTML)}else n.querySelector(".ea-dialog-buttons-action").style.display="";else n.querySelector(".dialog-buttons-action").style.display="",null!==n.querySelector(".ea-dialog-buttons-action")&&(n.querySelector(".ea-dialog-buttons-action").style.display="none");break}}))}))}});
assets/front-end/js/edit/reading-progress.min.js CHANGED
@@ -1 +1 @@
1
- !function(e){var r={};function t(n){if(r[n])return r[n].exports;var o=r[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,t),o.l=!0,o.exports}t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var o in e)t.d(n,o,function(r){return e[r]}.bind(null,o));return n},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},t.p="",t(t.s=26)}({26:function(e,r){ea.hooks.addAction("editMode.init","ea",(function(){elementor.settings.page.addChangeCallback("eael_ext_reading_progress",(function(e){jQuery(".eael-reading-progress-wrap").addClass("eael-reading-progress-wrap-disabled"),elementor.saver.update.apply().then((function(){elementor.reloadPreview()}))})),elementor.settings.page.addChangeCallback("eael_ext_reading_progress_position",(function(e){elementor.settings.page.setSettings("eael_ext_reading_progress_position",e),jQuery(".eael-reading-progress").removeClass("eael-reading-progress-top eael-reading-progress-bottom").addClass("eael-reading-progress-"+e)}))}))}});
1
+ !function(e){var r={};function t(n){if(r[n])return r[n].exports;var o=r[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,t),o.l=!0,o.exports}t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var o in e)t.d(n,o,function(r){return e[r]}.bind(null,o));return n},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},t.p="",t(t.s=27)}({27:function(e,r){ea.hooks.addAction("editMode.init","ea",(function(){elementor.settings.page.addChangeCallback("eael_ext_reading_progress",(function(e){jQuery(".eael-reading-progress-wrap").addClass("eael-reading-progress-wrap-disabled"),elementor.saver.update.apply().then((function(){elementor.reloadPreview()}))})),elementor.settings.page.addChangeCallback("eael_ext_reading_progress_position",(function(e){elementor.settings.page.setSettings("eael_ext_reading_progress_position",e),jQuery(".eael-reading-progress").removeClass("eael-reading-progress-top eael-reading-progress-bottom").addClass("eael-reading-progress-"+e)}))}))}});
assets/front-end/js/edit/table-of-content.min.js CHANGED
@@ -1 +1 @@
1
- !function(e){var t={};function a(o){if(t[o])return t[o].exports;var l=t[o]={i:o,l:!1,exports:{}};return e[o].call(l.exports,l,l.exports,a),l.l=!0,l.exports}a.m=e,a.c=t,a.d=function(e,t,o){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(a.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var l in e)a.d(o,l,function(t){return e[t]}.bind(null,l));return o},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=27)}({27:function(e,t){ea.hooks.addAction("editMode.init","ea",(function(){elementor.settings.page.addChangeCallback("eael_ext_table_of_content",(function(e){elementor.settings.page.setSettings("eael_ext_table_of_content",e),elementor.saver.update.apply().then((function(){elementor.reloadPreview()}))})),elementor.settings.page.addChangeCallback("eael_ext_toc_position",(function(e){var t=jQuery("#eael-toc");"right"===e?t.addClass("eael-toc-right"):(t.removeClass("eael-toc-right"),t.addClass("eael-toc-left"))})),elementor.settings.page.addChangeCallback("eael_ext_table_of_content_list_style",(function(e){var t=jQuery(".eael-toc-list");t.removeClass("eael-toc-list-bar eael-toc-list-arrow"),"none"!==e&&t.addClass("eael-toc-list-"+e)})),elementor.settings.page.addChangeCallback("eael_ext_toc_collapse_sub_heading",(function(e){var t=jQuery(".eael-toc-list");"yes"===e?t.addClass("eael-toc-collapse"):t.removeClass("eael-toc-collapse")})),elementor.settings.page.addChangeCallback("eael_ext_table_of_content_header_icon",(function(e){$(".eael-toc-button i").removeClass().addClass(e.value)})),elementor.settings.page.addChangeCallback("eael_ext_toc_list_icon",(function(e){var t=jQuery(".eael-toc-list");"number"===e?t.addClass("eael-toc-number").removeClass("eael-toc-bullet"):t.addClass("eael-toc-bullet").removeClass("eael-toc-number")})),elementor.settings.page.addChangeCallback("eael_ext_toc_word_wrap",(function(e){var t=jQuery(".eael-toc-list");"yes"===e?t.addClass("eael-toc-word-wrap"):t.removeClass("eael-toc-word-wrap")})),elementor.settings.page.addChangeCallback("eael_ext_toc_close_button_text_style",(function(e){var t=jQuery("#eael-toc");"bottom_to_top"===e?t.addClass("eael-bottom-to-top"):t.removeClass("eael-bottom-to-top")})),elementor.settings.page.addChangeCallback("eael_ext_toc_box_shadow",(function(e){var t=jQuery("#eael-toc");"yes"===e?t.addClass("eael-box-shadow"):t.removeClass("eael-box-shadow")})),elementor.settings.page.addChangeCallback("eael_ext_toc_auto_collapse",(function(e){var t=jQuery("#eael-toc");"yes"===e?t.addClass("eael-toc-auto-collapse"):t.removeClass("eael-toc-auto-collapse")})),elementor.settings.page.addChangeCallback("eael_ext_toc_title",(function(e){elementorFrontend.elements.$document.find(".eael-toc-title").text(e),elementorFrontend.elements.$document.find(".eael-toc-button span").text(e)}))}))}});
1
+ !function(e){var t={};function a(o){if(t[o])return t[o].exports;var l=t[o]={i:o,l:!1,exports:{}};return e[o].call(l.exports,l,l.exports,a),l.l=!0,l.exports}a.m=e,a.c=t,a.d=function(e,t,o){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(a.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var l in e)a.d(o,l,function(t){return e[t]}.bind(null,l));return o},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=28)}({28:function(e,t){ea.hooks.addAction("editMode.init","ea",(function(){elementor.settings.page.addChangeCallback("eael_ext_table_of_content",(function(e){elementor.settings.page.setSettings("eael_ext_table_of_content",e),elementor.saver.update.apply().then((function(){elementor.reloadPreview()}))})),elementor.settings.page.addChangeCallback("eael_ext_toc_position",(function(e){var t=jQuery("#eael-toc");"right"===e?t.addClass("eael-toc-right"):(t.removeClass("eael-toc-right"),t.addClass("eael-toc-left"))})),elementor.settings.page.addChangeCallback("eael_ext_table_of_content_list_style",(function(e){var t=jQuery(".eael-toc-list");t.removeClass("eael-toc-list-bar eael-toc-list-arrow"),"none"!==e&&t.addClass("eael-toc-list-"+e)})),elementor.settings.page.addChangeCallback("eael_ext_toc_collapse_sub_heading",(function(e){var t=jQuery(".eael-toc-list");"yes"===e?t.addClass("eael-toc-collapse"):t.removeClass("eael-toc-collapse")})),elementor.settings.page.addChangeCallback("eael_ext_table_of_content_header_icon",(function(e){$(".eael-toc-button i").removeClass().addClass(e.value)})),elementor.settings.page.addChangeCallback("eael_ext_toc_list_icon",(function(e){var t=jQuery(".eael-toc-list");"number"===e?t.addClass("eael-toc-number").removeClass("eael-toc-bullet"):t.addClass("eael-toc-bullet").removeClass("eael-toc-number")})),elementor.settings.page.addChangeCallback("eael_ext_toc_word_wrap",(function(e){var t=jQuery(".eael-toc-list");"yes"===e?t.addClass("eael-toc-word-wrap"):t.removeClass("eael-toc-word-wrap")})),elementor.settings.page.addChangeCallback("eael_ext_toc_close_button_text_style",(function(e){var t=jQuery("#eael-toc");"bottom_to_top"===e?t.addClass("eael-bottom-to-top"):t.removeClass("eael-bottom-to-top")})),elementor.settings.page.addChangeCallback("eael_ext_toc_box_shadow",(function(e){var t=jQuery("#eael-toc");"yes"===e?t.addClass("eael-box-shadow"):t.removeClass("eael-box-shadow")})),elementor.settings.page.addChangeCallback("eael_ext_toc_auto_collapse",(function(e){var t=jQuery("#eael-toc");"yes"===e?t.addClass("eael-toc-auto-collapse"):t.removeClass("eael-toc-auto-collapse")})),elementor.settings.page.addChangeCallback("eael_ext_toc_title",(function(e){elementorFrontend.elements.$document.find(".eael-toc-title").text(e),elementorFrontend.elements.$document.find(".eael-toc-button span").text(e)}))}))}});
assets/front-end/js/view/dummy-widget.js ADDED
@@ -0,0 +1,100 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /******/ (function(modules) { // webpackBootstrap
2
+ /******/ // The module cache
3
+ /******/ var installedModules = {};
4
+ /******/
5
+ /******/ // The require function
6
+ /******/ function __webpack_require__(moduleId) {
7
+ /******/
8
+ /******/ // Check if module is in cache
9
+ /******/ if(installedModules[moduleId]) {
10
+ /******/ return installedModules[moduleId].exports;
11
+ /******/ }
12
+ /******/ // Create a new module (and put it into the cache)
13
+ /******/ var module = installedModules[moduleId] = {
14
+ /******/ i: moduleId,
15
+ /******/ l: false,
16
+ /******/ exports: {}
17
+ /******/ };
18
+ /******/
19
+ /******/ // Execute the module function
20
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21
+ /******/
22
+ /******/ // Flag the module as loaded
23
+ /******/ module.l = true;
24
+ /******/
25
+ /******/ // Return the exports of the module
26
+ /******/ return module.exports;
27
+ /******/ }
28
+ /******/
29
+ /******/
30
+ /******/ // expose the modules object (__webpack_modules__)
31
+ /******/ __webpack_require__.m = modules;
32
+ /******/
33
+ /******/ // expose the module cache
34
+ /******/ __webpack_require__.c = installedModules;
35
+ /******/
36
+ /******/ // define getter function for harmony exports
37
+ /******/ __webpack_require__.d = function(exports, name, getter) {
38
+ /******/ if(!__webpack_require__.o(exports, name)) {
39
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
40
+ /******/ }
41
+ /******/ };
42
+ /******/
43
+ /******/ // define __esModule on exports
44
+ /******/ __webpack_require__.r = function(exports) {
45
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
46
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
47
+ /******/ }
48
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
49
+ /******/ };
50
+ /******/
51
+ /******/ // create a fake namespace object
52
+ /******/ // mode & 1: value is a module id, require it
53
+ /******/ // mode & 2: merge all properties of value into the ns
54
+ /******/ // mode & 4: return value when already ns object
55
+ /******/ // mode & 8|1: behave like require
56
+ /******/ __webpack_require__.t = function(value, mode) {
57
+ /******/ if(mode & 1) value = __webpack_require__(value);
58
+ /******/ if(mode & 8) return value;
59
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
60
+ /******/ var ns = Object.create(null);
61
+ /******/ __webpack_require__.r(ns);
62
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
63
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
64
+ /******/ return ns;
65
+ /******/ };
66
+ /******/
67
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
68
+ /******/ __webpack_require__.n = function(module) {
69
+ /******/ var getter = module && module.__esModule ?
70
+ /******/ function getDefault() { return module['default']; } :
71
+ /******/ function getModuleExports() { return module; };
72
+ /******/ __webpack_require__.d(getter, 'a', getter);
73
+ /******/ return getter;
74
+ /******/ };
75
+ /******/
76
+ /******/ // Object.prototype.hasOwnProperty.call
77
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
78
+ /******/
79
+ /******/ // __webpack_public_path__
80
+ /******/ __webpack_require__.p = "";
81
+ /******/
82
+ /******/
83
+ /******/ // Load entry module and return exports
84
+ /******/ return __webpack_require__(__webpack_require__.s = "./src/js/view/dummy-widget.js");
85
+ /******/ })
86
+ /************************************************************************/
87
+ /******/ ({
88
+
89
+ /***/ "./src/js/view/dummy-widget.js":
90
+ /*!*************************************!*\
91
+ !*** ./src/js/view/dummy-widget.js ***!
92
+ \*************************************/
93
+ /*! no static exports found */
94
+ /***/ (function(module, exports) {
95
+
96
+ eval("ea.hooks.addAction(\"init\", \"ea\", function () {\n var dummyWidget = function dummyWidget($scope, $) {\n console.log('dummy widget loaded');\n };\n\n elementorFrontend.hooks.addAction(\"frontend/element_ready/eael-dummy-widget.default\", dummyWidget);\n});\n\n//# sourceURL=webpack:///./src/js/view/dummy-widget.js?");
97
+
98
+ /***/ })
99
+
100
+ /******/ });
assets/front-end/js/view/dummy-widget.min.js ADDED
@@ -0,0 +1 @@
 
1
+ !function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=7)}({7:function(e,t){ea.hooks.addAction("init","ea",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-dummy-widget.default",(function(e,t){console.log("dummy widget loaded")}))}))}});
assets/front-end/js/view/event-calendar.min.js CHANGED
@@ -1 +1 @@
1
- !function(e){var t={};function a(o){if(t[o])return t[o].exports;var n=t[o]={i:o,l:!1,exports:{}};return e[o].call(n.exports,n,n.exports,a),n.l=!0,n.exports}a.m=e,a.c=t,a.d=function(e,t,o){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(a.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)a.d(o,n,function(t){return e[t]}.bind(null,n));return o},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=7)}({7:function(e,t){var a=function(e,t){var a=FullCalendar.Calendar,o=t(".eael-event-calendar-cls",e),n=t(".eaelec-modal-close",e).eq(0),r=t("#eaelecModal",e),m=o.data("events"),d=o.data("first_day"),l=o.data("cal_id"),i=o.data("locale"),s=o.data("translate"),c=o.data("defaultview"),f="yes"==o.data("time_format"),Y=new a(document.getElementById("eael-event-calendar-"+l),{plugins:["dayGrid","timeGrid","list"],editable:!1,selectable:!1,draggable:!1,firstDay:d,eventTimeFormat:{hour:"2-digit",minute:"2-digit",hour12:!f},nextDayThreshold:"00:00:00",header:{left:"prev,next today",center:"title",right:"timeGridDay,timeGridWeek,dayGridMonth,listMonth"},events:m,selectHelper:!0,locale:i,eventLimit:3,defaultView:c,eventRender:function(e){var a=t(e.el),o=e.event;moment.locale(i),void 0!==o.extendedProps.eventHasComplete&&"yes"===o.extendedProps.eventHasComplete&&(a.find("div.fc-content .fc-title").addClass("eael-event-completed"),a.find("td.fc-list-item-title").addClass("eael-event-completed")),s.today=e.event._calendar.dateEnv.locale.options.buttonText.today,a.attr("href","javascript:void(0);"),a.click((function(e){e.preventDefault(),e.stopPropagation();var a=o.start,n=f?"H:mm A":"h:mm A",m=o.end,d=t("span.eaelec-event-date-start"),l=t("span.eaelec-event-date-end");"yes"===o.allDay&&(m=moment(m).subtract(1,"days")._d,n=" ");var i=moment(a).format("YYYY"),c=moment(m).format("YYYY"),Y=c>i,D="",u="";d.html(" "),l.html(" "),r.addClass("eael-ec-popup-ready").removeClass("eael-ec-modal-removing"),"yes"===o.allDay&&moment(a).format("MM-DD-YYYY")===moment(m).format("MM-DD-YYYY")?(D=moment(a).format("MMM Do"),!0===moment(a).isSame(Date.now(),"day")?D=s.today:moment(a).format("MM-DD-YYYY")===moment(new Date).add(1,"days").format("MM-DD-YYYY")&&(D=s.tomorrow)):(!0===moment(o.start).isSame(Date.now(),"day")&&(D=s.today+" "+moment(o.start).format(n)),moment(a).format("MM-DD-YYYY")===moment(new Date).add(1,"days").format("MM-DD-YYYY")&&(D=s.tomorrow+" "+moment(o.start).format(n)),(moment(a).format("MM-DD-YYYY")<moment(new Date).format("MM-DD-YYYY")||moment(a).format("MM-DD-YYYY")>moment(new Date).add(1,"days").format("MM-DD-YYYY"))&&(D=moment(o.start).format("MMM Do "+n)),D=Y?i+" "+D:D,!0===moment(m).isSame(Date.now(),"day")&&(u=!0!==moment(a).isSame(Date.now(),"day")?s.today+" "+moment(m).format(n):moment(m).format(n)),moment(a).format("MM-DD-YYYY")!==moment(new Date).add(1,"days").format("MM-DD-YYYY")&&moment(m).format("MM-DD-YYYY")===moment(new Date).add(1,"days").format("MM-DD-YYYY")&&(u=s.tomorrow+" "+moment(m).format(n)),moment(a).format("MM-DD-YYYY")===moment(new Date).add(1,"days").format("MM-DD-YYYY")&&moment(m).format("MM-DD-YYYY")===moment(new Date).add(1,"days").format("MM-DD-YYYY")&&(u=moment(m).format(n)),moment(m).diff(moment(a),"days")>0&&l.text().trim().length<1&&(u=moment(m).format("MMM Do "+n)),moment(a).format("MM-DD-YYYY")===moment(m).format("MM-DD-YYYY")&&(u=moment(m).format(n)),u=Y?c+" "+u:u),void 0!==o.extendedProps.hideEndDate&&"yes"===o.extendedProps.hideEndDate?l.html(" "):l.html(""!=u?"- "+u:""),d.html('<i class="eicon-calendar"></i> '+D),t(".eaelec-modal-header h2").html(o.title),t(".eaelec-modal-body p").html(o.extendedProps.description),o.extendedProps.description.length<1?t(".eaelec-modal-body").css("height","auto"):t(".eaelec-modal-body").css("height","300px"),t(".eaelec-modal-footer a").attr("href",o.url),"on"===o.extendedProps.external&&t(".eaelec-modal-footer a").attr("target","_blank"),"on"===o.extendedProps.nofollow&&t(".eaelec-modal-footer a").attr("rel","nofollow"),""==o.url&&t(".eaelec-modal-footer a").css("display","none"),t(".eaelec-modal-header").css("border-left","5px solid "+o.borderColor)}))}});n.on("click",(function(){event.stopPropagation(),r.addClass("eael-ec-modal-removing").removeClass("eael-ec-popup-ready")})),t(document).on("click",(function(e){e.target.closest(".eaelec-modal-content")||r.hasClass("eael-ec-popup-ready")&&r.addClass("eael-ec-modal-removing").removeClass("eael-ec-popup-ready")})),Y.render()};jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-event-calendar.default",a)}))}});
1
+ !function(e){var t={};function a(o){if(t[o])return t[o].exports;var n=t[o]={i:o,l:!1,exports:{}};return e[o].call(n.exports,n,n.exports,a),n.l=!0,n.exports}a.m=e,a.c=t,a.d=function(e,t,o){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(a.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)a.d(o,n,function(t){return e[t]}.bind(null,n));return o},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=8)}({8:function(e,t){var a=function(e,t){var a=FullCalendar.Calendar,o=t(".eael-event-calendar-cls",e),n=t(".eaelec-modal-close",e).eq(0),r=t("#eaelecModal",e),m=o.data("events"),d=o.data("first_day"),l=o.data("cal_id"),i=o.data("locale"),s=o.data("translate"),c=o.data("defaultview"),f="yes"==o.data("time_format"),Y=new a(document.getElementById("eael-event-calendar-"+l),{plugins:["dayGrid","timeGrid","list"],editable:!1,selectable:!1,draggable:!1,firstDay:d,eventTimeFormat:{hour:"2-digit",minute:"2-digit",hour12:!f},nextDayThreshold:"00:00:00",header:{left:"prev,next today",center:"title",right:"timeGridDay,timeGridWeek,dayGridMonth,listMonth"},events:m,selectHelper:!0,locale:i,eventLimit:3,defaultView:c,eventRender:function(e){var a=t(e.el),o=e.event;moment.locale(i),void 0!==o.extendedProps.eventHasComplete&&"yes"===o.extendedProps.eventHasComplete&&(a.find("div.fc-content .fc-title").addClass("eael-event-completed"),a.find("td.fc-list-item-title").addClass("eael-event-completed")),s.today=e.event._calendar.dateEnv.locale.options.buttonText.today,a.attr("href","javascript:void(0);"),a.click((function(e){e.preventDefault(),e.stopPropagation();var a=o.start,n=f?"H:mm A":"h:mm A",m=o.end,d=t("span.eaelec-event-date-start"),l=t("span.eaelec-event-date-end");"yes"===o.allDay&&(m=moment(m).subtract(1,"days")._d,n=" ");var i=moment(a).format("YYYY"),c=moment(m).format("YYYY"),Y=c>i,D="",u="";d.html(" "),l.html(" "),r.addClass("eael-ec-popup-ready").removeClass("eael-ec-modal-removing"),"yes"===o.allDay&&moment(a).format("MM-DD-YYYY")===moment(m).format("MM-DD-YYYY")?(D=moment(a).format("MMM Do"),!0===moment(a).isSame(Date.now(),"day")?D=s.today:moment(a).format("MM-DD-YYYY")===moment(new Date).add(1,"days").format("MM-DD-YYYY")&&(D=s.tomorrow)):(!0===moment(o.start).isSame(Date.now(),"day")&&(D=s.today+" "+moment(o.start).format(n)),moment(a).format("MM-DD-YYYY")===moment(new Date).add(1,"days").format("MM-DD-YYYY")&&(D=s.tomorrow+" "+moment(o.start).format(n)),(moment(a).format("MM-DD-YYYY")<moment(new Date).format("MM-DD-YYYY")||moment(a).format("MM-DD-YYYY")>moment(new Date).add(1,"days").format("MM-DD-YYYY"))&&(D=moment(o.start).format("MMM Do "+n)),D=Y?i+" "+D:D,!0===moment(m).isSame(Date.now(),"day")&&(u=!0!==moment(a).isSame(Date.now(),"day")?s.today+" "+moment(m).format(n):moment(m).format(n)),moment(a).format("MM-DD-YYYY")!==moment(new Date).add(1,"days").format("MM-DD-YYYY")&&moment(m).format("MM-DD-YYYY")===moment(new Date).add(1,"days").format("MM-DD-YYYY")&&(u=s.tomorrow+" "+moment(m).format(n)),moment(a).format("MM-DD-YYYY")===moment(new Date).add(1,"days").format("MM-DD-YYYY")&&moment(m).format("MM-DD-YYYY")===moment(new Date).add(1,"days").format("MM-DD-YYYY")&&(u=moment(m).format(n)),moment(m).diff(moment(a),"days")>0&&l.text().trim().length<1&&(u=moment(m).format("MMM Do "+n)),moment(a).format("MM-DD-YYYY")===moment(m).format("MM-DD-YYYY")&&(u=moment(m).format(n)),u=Y?c+" "+u:u),void 0!==o.extendedProps.hideEndDate&&"yes"===o.extendedProps.hideEndDate?l.html(" "):l.html(""!=u?"- "+u:""),d.html('<i class="eicon-calendar"></i> '+D),t(".eaelec-modal-header h2").html(o.title),t(".eaelec-modal-body p").html(o.extendedProps.description),o.extendedProps.description.length<1?t(".eaelec-modal-body").css("height","auto"):t(".eaelec-modal-body").css("height","300px"),t(".eaelec-modal-footer a").attr("href",o.url),"on"===o.extendedProps.external&&t(".eaelec-modal-footer a").attr("target","_blank"),"on"===o.extendedProps.nofollow&&t(".eaelec-modal-footer a").attr("rel","nofollow"),""==o.url&&t(".eaelec-modal-footer a").css("display","none"),t(".eaelec-modal-header").css("border-left","5px solid "+o.borderColor)}))}});n.on("click",(function(){event.stopPropagation(),r.addClass("eael-ec-modal-removing").removeClass("eael-ec-popup-ready")})),t(document).on("click",(function(e){e.target.closest(".eaelec-modal-content")||r.hasClass("eael-ec-popup-ready")&&r.addClass("eael-ec-modal-removing").removeClass("eael-ec-popup-ready")})),Y.render()};jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-event-calendar.default",a)}))}});
assets/front-end/js/view/facebook-feed.js CHANGED
@@ -93,7 +93,7 @@
93
  /*! no static exports found */
94
  /***/ (function(module, exports) {
95
 
96
- eval("var FacebookFeed = function FacebookFeed($scope, $) {\n if (!isEditMode) {\n $facebook_gallery = $(\".eael-facebook-feed\", $scope).isotope({\n itemSelector: \".eael-facebook-feed-item\",\n percentPosition: true,\n columnWidth: \".eael-facebook-feed-item\"\n });\n $facebook_gallery.imagesLoaded().progress(function () {\n $facebook_gallery.isotope(\"layout\");\n });\n } // ajax load more\n\n\n $(\".eael-load-more-button\", $scope).on(\"click\", function (e) {\n e.preventDefault();\n $this = $(this);\n $settings = $this.attr(\"data-settings\");\n $page = $this.attr(\"data-page\");\n $loadmore_text = $this.attr(\"data-loadmore-text\"); // update load moer button\n\n $this.addClass(\"button--loading\");\n $(\"span\", $this).html(\"Loading...\");\n $.ajax({\n url: localize.ajaxurl,\n type: \"post\",\n data: {\n action: \"facebook_feed_load_more\",\n security: localize.nonce,\n settings: $settings,\n page: $page\n },\n success: function success(response) {\n $html = $(response.html); // append items\n\n $facebook_gallery = $(\".eael-facebook-feed\", $scope).isotope();\n $(\".eael-facebook-feed\", $scope).append($html);\n $facebook_gallery.isotope(\"appended\", $html);\n $facebook_gallery.imagesLoaded().progress(function () {\n $facebook_gallery.isotope(\"layout\");\n }); // update load more button\n\n if (response.num_pages > $page) {\n $this.attr(\"data-page\", parseInt($page) + 1);\n $this.removeClass(\"button--loading\");\n $(\"span\", $this).html($loadmore_text);\n } else {\n $this.remove();\n }\n },\n error: function error() {}\n });\n });\n};\n\njQuery(window).on(\"elementor/frontend/init\", function () {\n elementorFrontend.hooks.addAction(\"frontend/element_ready/eael-facebook-feed.default\", FacebookFeed);\n});\n\n//# sourceURL=webpack:///./src/js/view/facebook-feed.js?");
97
 
98
  /***/ })
99
 
93
  /*! no static exports found */
94
  /***/ (function(module, exports) {
95
 
96
+ eval("jQuery(window).on(\"elementor/frontend/init\", function () {\n var FacebookFeed = function FacebookFeed($scope, $) {\n if (!isEditMode) {\n var $facebook_gallery = $(\".eael-facebook-feed\", $scope).isotope({\n itemSelector: \".eael-facebook-feed-item\",\n percentPosition: true,\n columnWidth: \".eael-facebook-feed-item\"\n });\n $facebook_gallery.imagesLoaded().progress(function () {\n $facebook_gallery.isotope(\"layout\");\n });\n } // ajax load more\n\n\n $(\".eael-load-more-button\", $scope).on(\"click\", function (e) {\n e.preventDefault();\n e.stopImmediatePropagation();\n var $this = $(this),\n $LoaderSpan = $(\"span\", $this),\n $text = $LoaderSpan.html(),\n $widget_id = $this.data(\"widget-id\"),\n $post_id = $this.data(\"post-id\"),\n $page = $this.data(\"page\"); // update load more button\n\n $this.addClass(\"button--loading\");\n $LoaderSpan.html(localize.i18n.loading);\n $.ajax({\n url: localize.ajaxurl,\n type: \"post\",\n data: {\n action: \"facebook_feed_load_more\",\n security: localize.nonce,\n page: $page,\n post_id: $post_id,\n widget_id: $widget_id\n },\n success: function success(response) {\n var $html = $(response.html); // append items\n\n var $facebook_gallery = $(\".eael-facebook-feed\", $scope).isotope();\n $(\".eael-facebook-feed\", $scope).append($html);\n $facebook_gallery.isotope(\"appended\", $html);\n $facebook_gallery.imagesLoaded().progress(function () {\n $facebook_gallery.isotope(\"layout\");\n }); // update load more button\n\n if (response.num_pages > $page) {\n $page++;\n $this.data(\"page\", $page);\n $this.removeClass(\"button--loading\");\n $LoaderSpan.html($text);\n } else {\n $this.remove();\n }\n },\n error: function error() {}\n });\n });\n };\n\n elementorFrontend.hooks.addAction(\"frontend/element_ready/eael-facebook-feed.default\", FacebookFeed);\n});\n\n//# sourceURL=webpack:///./src/js/view/facebook-feed.js?");
97
 
98
  /***/ })
99
 
assets/front-end/js/view/facebook-feed.min.js CHANGED
@@ -1 +1 @@
1
- !function(e){var t={};function o(a){if(t[a])return t[a].exports;var n=t[a]={i:a,l:!1,exports:{}};return e[a].call(n.exports,n,n.exports,o),n.l=!0,n.exports}o.m=e,o.c=t,o.d=function(e,t,a){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(o.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)o.d(a,n,function(t){return e[t]}.bind(null,n));return a},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=8)}({8:function(e,t){var o=function(e,t){isEditMode||($facebook_gallery=t(".eael-facebook-feed",e).isotope({itemSelector:".eael-facebook-feed-item",percentPosition:!0,columnWidth:".eael-facebook-feed-item"}),$facebook_gallery.imagesLoaded().progress((function(){$facebook_gallery.isotope("layout")}))),t(".eael-load-more-button",e).on("click",(function(o){o.preventDefault(),$this=t(this),$settings=$this.attr("data-settings"),$page=$this.attr("data-page"),$loadmore_text=$this.attr("data-loadmore-text"),$this.addClass("button--loading"),t("span",$this).html("Loading..."),t.ajax({url:localize.ajaxurl,type:"post",data:{action:"facebook_feed_load_more",security:localize.nonce,settings:$settings,page:$page},success:function(o){$html=t(o.html),$facebook_gallery=t(".eael-facebook-feed",e).isotope(),t(".eael-facebook-feed",e).append($html),$facebook_gallery.isotope("appended",$html),$facebook_gallery.imagesLoaded().progress((function(){$facebook_gallery.isotope("layout")})),o.num_pages>$page?($this.attr("data-page",parseInt($page)+1),$this.removeClass("button--loading"),t("span",$this).html($loadmore_text)):$this.remove()},error:function(){}})}))};jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-facebook-feed.default",o)}))}});
1
+ !function(e){var o={};function t(n){if(o[n])return o[n].exports;var a=o[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,t),a.l=!0,a.exports}t.m=e,t.c=o,t.d=function(e,o,n){t.o(e,o)||Object.defineProperty(e,o,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,o){if(1&o&&(e=t(e)),8&o)return e;if(4&o&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&o&&"string"!=typeof e)for(var a in e)t.d(n,a,function(o){return e[o]}.bind(null,a));return n},t.n=function(e){var o=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(o,"a",o),o},t.o=function(e,o){return Object.prototype.hasOwnProperty.call(e,o)},t.p="",t(t.s=9)}({9:function(e,o){jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-facebook-feed.default",(function(e,o){if(!isEditMode){var t=o(".eael-facebook-feed",e).isotope({itemSelector:".eael-facebook-feed-item",percentPosition:!0,columnWidth:".eael-facebook-feed-item"});t.imagesLoaded().progress((function(){t.isotope("layout")}))}o(".eael-load-more-button",e).on("click",(function(t){t.preventDefault(),t.stopImmediatePropagation();var n=o(this),a=o("span",n),r=a.html(),i=n.data("widget-id"),d=n.data("post-id"),l=n.data("page");n.addClass("button--loading"),a.html(localize.i18n.loading),o.ajax({url:localize.ajaxurl,type:"post",data:{action:"facebook_feed_load_more",security:localize.nonce,page:l,post_id:d,widget_id:i},success:function(t){var i=o(t.html),d=o(".eael-facebook-feed",e).isotope();o(".eael-facebook-feed",e).append(i),d.isotope("appended",i),d.imagesLoaded().progress((function(){d.isotope("layout")})),t.num_pages>l?(l++,n.data("page",l),n.removeClass("button--loading"),a.html(r)):n.remove()},error:function(){}})}))}))}))}});
assets/front-end/js/view/fancy-text.min.js CHANGED
@@ -1 +1 @@
1
- !function(e){var t={};function n(a){if(t[a])return t[a].exports;var o=t[a]={i:a,l:!1,exports:{}};return e[a].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,a){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(a,o,function(t){return e[t]}.bind(null,o));return a},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=9)}({9:function(e,t){var n=function(e,t){var n=e.find(".eael-fancy-text-container").eq(0),a=void 0!==n.data("fancy-text-id")?n.data("fancy-text-id"):"",o=void 0!==n.data("fancy-text")?n.data("fancy-text"):"",r=void 0!==n.data("fancy-text-transition-type")?n.data("fancy-text-transition-type"):"",i=void 0!==n.data("fancy-text-speed")?n.data("fancy-text-speed"):"",d=void 0!==n.data("fancy-text-delay")?n.data("fancy-text-delay"):"",c="yes"===n.data("fancy-text-cursor"),f=void 0!==n.data("fancy-text-loop")&&"yes"==n.data("fancy-text-loop");o=o.split("|"),"typing"==r&&new Typed("#eael-fancy-text-"+a,{strings:o,typeSpeed:i,backSpeed:0,startDelay:300,backDelay:d,showCursor:c,loop:f}),"typing"!=r&&t("#eael-fancy-text-"+a).Morphext({animation:r,separator:", ",speed:d,complete:function(){}}),jQuery(document).ready((function(){setTimeout((function(){t(".eael-fancy-text-strings",e).css("display","inline-block")}),500)})),isEditMode&&setTimeout((function(){t(".eael-fancy-text-strings",e).css("display","inline-block")}),800)};jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-fancy-text.default",n)}))}});
1
+ !function(e){var t={};function n(a){if(t[a])return t[a].exports;var o=t[a]={i:a,l:!1,exports:{}};return e[a].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,a){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(a,o,function(t){return e[t]}.bind(null,o));return a},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=10)}({10:function(e,t){var n=function(e,t){var n=e.find(".eael-fancy-text-container").eq(0),a=void 0!==n.data("fancy-text-id")?n.data("fancy-text-id"):"",o=void 0!==n.data("fancy-text")?n.data("fancy-text"):"",r=void 0!==n.data("fancy-text-transition-type")?n.data("fancy-text-transition-type"):"",i=void 0!==n.data("fancy-text-speed")?n.data("fancy-text-speed"):"",d=void 0!==n.data("fancy-text-delay")?n.data("fancy-text-delay"):"",c="yes"===n.data("fancy-text-cursor"),f=void 0!==n.data("fancy-text-loop")&&"yes"==n.data("fancy-text-loop");o=o.split("|"),"typing"==r&&new Typed("#eael-fancy-text-"+a,{strings:o,typeSpeed:i,backSpeed:0,startDelay:300,backDelay:d,showCursor:c,loop:f}),"typing"!=r&&t("#eael-fancy-text-"+a).Morphext({animation:r,separator:", ",speed:d,complete:function(){}}),jQuery(document).ready((function(){setTimeout((function(){t(".eael-fancy-text-strings",e).css("display","inline-block")}),500)})),isEditMode&&setTimeout((function(){t(".eael-fancy-text-strings",e).css("display","inline-block")}),800)};jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-fancy-text.default",n)}))}});
assets/front-end/js/view/filterable-gallery.js CHANGED
@@ -93,7 +93,7 @@
93
  /*! no static exports found */
94
  /***/ (function(module, exports) {
95
 
96
- eval("var filterableGalleryHandler = function filterableGalleryHandler($scope, $) {\n var filterControls = $scope.find(\".fg-layout-3-filter-controls\").eq(0),\n filterTrigger = $scope.find(\"#fg-filter-trigger\"),\n form = $scope.find(\".fg-layout-3-search-box\"),\n input = $scope.find(\"#fg-search-box-input\"),\n searchRegex,\n buttonFilter,\n timer;\n\n if (form.length) {\n form.on(\"submit\", function (e) {\n e.preventDefault();\n });\n }\n\n filterTrigger.on(\"click\", function () {\n filterControls.toggleClass(\"open-filters\");\n }).blur(function () {\n filterControls.toggleClass(\"open-filters\");\n });\n\n if (!isEditMode) {\n var $gallery = $(\".eael-filter-gallery-container\", $scope),\n $settings = $gallery.data(\"settings\"),\n $gallery_items = $gallery.data(\"gallery-items\"),\n $layout_mode = $settings.grid_style == \"masonry\" ? \"masonry\" : \"fitRows\",\n $first_show = $(\".eael-filter-gallery-container\", $scope).children(\".eael-filterable-gallery-item-wrap\").length,\n $gallery_enabled = $settings.gallery_enabled == \"yes\" ? true : false; // init isotope\n\n var layoutMode = $(\".eael-filter-gallery-wrapper\").data(\"layout-mode\");\n var mfpCaption = $(\".eael-filter-gallery-wrapper\").data(\"mfp_caption\");\n var $isotope_gallery = $gallery.isotope({\n itemSelector: \".eael-filterable-gallery-item-wrap\",\n layoutMode: $layout_mode,\n percentPosition: true,\n stagger: 30,\n transitionDuration: $settings.duration + \"ms\",\n filter: function filter() {\n var $this = $(this);\n var $result = searchRegex ? $this.text().match(searchRegex) : true;\n\n if (buttonFilter == undefined) {\n if (layoutMode != \"layout_3\") {\n buttonFilter = $scope.find(\".eael-filter-gallery-control ul li\").first().data(\"filter\");\n } else {\n buttonFilter = $scope.find(\".fg-layout-3-filter-controls li\").first().data(\"filter\");\n }\n }\n\n var buttonResult = buttonFilter ? $this.is(buttonFilter) : true;\n return $result && buttonResult;\n }\n }); // Popup\n\n $($scope).magnificPopup({\n delegate: \".eael-magnific-link\",\n type: \"image\",\n gallery: {\n enabled: $gallery_enabled\n },\n image: {\n titleSrc: function titleSrc(item) {\n if (mfpCaption == \"yes\") {\n return item.el.parents('.gallery-item-caption-over').find('.fg-item-title').html() || item.el.parents('.gallery-item-caption-wrap').find('.fg-item-title').html() || item.el.parents('.eael-filterable-gallery-item-wrap').find('.fg-item-title').html();\n }\n }\n }\n }); // filter\n\n $scope.on(\"click\", \".control\", function () {\n var $this = $(this);\n buttonFilter = $(this).attr(\"data-filter\");\n\n if ($scope.find(\"#fg-filter-trigger > span\")) {\n $scope.find(\"#fg-filter-trigger > span\").text($this.text());\n }\n\n $this.siblings().removeClass(\"active\");\n $this.addClass(\"active\");\n $isotope_gallery.isotope();\n }); //quick search\n\n input.on(\"input\", function () {\n var $this = $(this);\n clearTimeout(timer);\n timer = setTimeout(function () {\n searchRegex = new RegExp($this.val(), \"gi\");\n $isotope_gallery.isotope();\n }, 600);\n }); // layout gal, while images are loading\n\n $isotope_gallery.imagesLoaded().progress(function () {\n $isotope_gallery.isotope(\"layout\");\n }); // layout gal, on click tabs\n\n $isotope_gallery.on(\"arrangeComplete\", function () {\n $isotope_gallery.isotope(\"layout\");\n }); // layout gal, after window loaded\n\n $(window).on(\"load\", function () {\n $isotope_gallery.isotope(\"layout\");\n }); // Load more button\n\n $scope.on(\"click\", \".eael-gallery-load-more\", function (e) {\n e.preventDefault();\n var $this = $(this),\n $init_show = $(\".eael-filter-gallery-container\", $scope).children(\".eael-filterable-gallery-item-wrap\").length,\n $total_items = $gallery.data(\"total-gallery-items\"),\n $images_per_page = $gallery.data(\"images-per-page\"),\n $nomore_text = $gallery.data(\"nomore-item-text\"),\n filter_enable = $(\".eael-filter-gallery-control\", $scope).length,\n $items = [];\n var filter_name = $(\".eael-filter-gallery-control li.active\").data('filter');\n\n if (filterControls.length > 0) {\n filter_name = $(\".fg-layout-3-filter-controls li.active\").data('filter');\n }\n\n if ($init_show == $total_items) {\n $this.html('<div class=\"no-more-items-text\">' + $nomore_text + \"</div>\");\n setTimeout(function () {\n $this.fadeOut(\"slow\");\n }, 600);\n } // new items html\n\n\n var i = $init_show;\n var item_found = 0;\n\n while (i < $init_show + $images_per_page) {\n if (filter_name != '' && filter_name != '*' && filter_enable) {\n for (var j = i; j < $gallery_items.length; j++) {\n var element = $($($gallery_items[j])[0]);\n\n if (element.is(filter_name)) {\n ++item_found;\n $items.push($($gallery_items[j])[0]);\n delete $gallery_items[j];\n\n if (item_found === $images_per_page) {\n break;\n }\n }\n } //break when cross $images_per_page or no image found\n\n\n break;\n } else {\n $items.push($($gallery_items[i])[0]);\n delete $gallery_items[i];\n }\n\n i++;\n } // append items\n\n\n $gallery.append($items);\n $isotope_gallery.isotope(\"appended\", $items);\n $isotope_gallery.imagesLoaded().progress(function () {\n $isotope_gallery.isotope(\"layout\");\n });\n });\n }\n};\n\njQuery(window).on(\"elementor/frontend/init\", function () {\n elementorFrontend.hooks.addAction(\"frontend/element_ready/eael-filterable-gallery.default\", filterableGalleryHandler);\n});\n\n//# sourceURL=webpack:///./src/js/view/filterable-gallery.js?");
97
 
98
  /***/ })
99
 
93
  /*! no static exports found */
94
  /***/ (function(module, exports) {
95
 
96
+ eval("jQuery(window).on(\"elementor/frontend/init\", function () {\n var filterableGalleryHandler = function filterableGalleryHandler($scope, $) {\n var filterControls = $scope.find(\".fg-layout-3-filter-controls\").eq(0),\n filterTrigger = $scope.find(\"#fg-filter-trigger\"),\n form = $scope.find(\".fg-layout-3-search-box\"),\n input = $scope.find(\"#fg-search-box-input\"),\n searchRegex,\n buttonFilter,\n timer;\n\n if (form.length) {\n form.on(\"submit\", function (e) {\n e.preventDefault();\n });\n }\n\n filterTrigger.on(\"click\", function () {\n filterControls.toggleClass(\"open-filters\");\n });\n filterTrigger.on(\"blur\", function () {\n filterControls.removeClass(\"open-filters\");\n });\n\n if (!isEditMode) {\n var $gallery = $(\".eael-filter-gallery-container\", $scope),\n $settings = $gallery.data(\"settings\"),\n $gallery_items = $gallery.data(\"gallery-items\"),\n $layout_mode = $settings.grid_style === \"masonry\" ? \"masonry\" : \"fitRows\",\n $gallery_enabled = $settings.gallery_enabled === \"yes\"; // init isotope\n\n var gwrap = $(\".eael-filter-gallery-wrapper\");\n var layoutMode = gwrap.data(\"layout-mode\");\n var mfpCaption = gwrap.data(\"mfp_caption\");\n var $isotope_gallery = $gallery.isotope({\n itemSelector: \".eael-filterable-gallery-item-wrap\",\n layoutMode: $layout_mode,\n percentPosition: true,\n stagger: 30,\n transitionDuration: $settings.duration + \"ms\",\n filter: function filter() {\n var $this = $(this);\n var $result = searchRegex ? $this.text().match(searchRegex) : true;\n\n if (buttonFilter === undefined) {\n if (layoutMode !== \"layout_3\") {\n buttonFilter = $scope.find(\".eael-filter-gallery-control ul li\").first().data(\"filter\");\n } else {\n buttonFilter = $scope.find(\".fg-layout-3-filter-controls li\").first().data(\"filter\");\n }\n }\n\n var buttonResult = buttonFilter ? $this.is(buttonFilter) : true;\n return $result && buttonResult;\n }\n }); // Popup\n\n $($scope).magnificPopup({\n delegate: \".eael-magnific-link\",\n type: \"image\",\n gallery: {\n enabled: $gallery_enabled\n },\n image: {\n titleSrc: function titleSrc(item) {\n if (mfpCaption === \"yes\") {\n return item.el.parents('.gallery-item-caption-over').find('.fg-item-title').html() || item.el.parents('.gallery-item-caption-wrap').find('.fg-item-title').html() || item.el.parents('.eael-filterable-gallery-item-wrap').find('.fg-item-title').html();\n }\n }\n }\n }); // filter\n\n $scope.on(\"click\", \".control\", function () {\n var $this = $(this);\n buttonFilter = $(this).attr(\"data-filter\");\n var $tspan = $scope.find(\"#fg-filter-trigger > span\");\n\n if ($tspan.length) {\n $tspan.text($this.text());\n }\n\n $this.siblings().removeClass(\"active\");\n $this.addClass(\"active\");\n $isotope_gallery.isotope();\n }); //quick search\n\n input.on(\"input\", function () {\n var $this = $(this);\n clearTimeout(timer);\n timer = setTimeout(function () {\n searchRegex = new RegExp($this.val(), \"gi\");\n $isotope_gallery.isotope();\n }, 600);\n }); // layout gal, while images are loading\n\n $isotope_gallery.imagesLoaded().progress(function () {\n $isotope_gallery.isotope(\"layout\");\n }); // layout gal, on click tabs\n\n $isotope_gallery.on(\"arrangeComplete\", function () {\n $isotope_gallery.isotope(\"layout\");\n }); // layout gal, after window loaded\n\n $(window).on(\"load\", function () {\n $isotope_gallery.isotope(\"layout\");\n }); // Load more button\n\n $scope.on(\"click\", \".eael-gallery-load-more\", function (e) {\n e.preventDefault();\n var $this = $(this),\n $init_show = $(\".eael-filter-gallery-container\", $scope).children(\".eael-filterable-gallery-item-wrap\").length,\n $total_items = $gallery.data(\"total-gallery-items\"),\n $images_per_page = $gallery.data(\"images-per-page\"),\n $nomore_text = $gallery.data(\"nomore-item-text\"),\n filter_enable = $(\".eael-filter-gallery-control\", $scope).length,\n $items = [];\n var filter_name = $(\".eael-filter-gallery-control li.active\").data('filter');\n\n if (filterControls.length > 0) {\n filter_name = $(\".fg-layout-3-filter-controls li.active\").data('filter');\n }\n\n if ($init_show === $total_items) {\n $this.html('<div class=\"no-more-items-text\">' + $nomore_text + \"</div>\");\n setTimeout(function () {\n $this.fadeOut(\"slow\");\n }, 600);\n } // new items html\n\n\n var i = $init_show;\n var item_found = 0;\n\n while (i < $init_show + $images_per_page) {\n if (filter_name != '' && filter_name != '*' && filter_enable) {\n for (var j = i; j < $gallery_items.length; j++) {\n var element = $($($gallery_items[j])[0]);\n\n if (element.is(filter_name)) {\n ++item_found;\n $items.push($($gallery_items[j])[0]);\n delete $gallery_items[j];\n\n if (item_found === $images_per_page) {\n break;\n }\n }\n } //break when cross $images_per_page or no image found\n\n\n break;\n } else {\n $items.push($($gallery_items[i])[0]);\n delete $gallery_items[i];\n }\n\n i++;\n } // append items\n\n\n $gallery.append($items);\n $isotope_gallery.isotope(\"appended\", $items);\n $isotope_gallery.imagesLoaded().progress(function () {\n $isotope_gallery.isotope(\"layout\");\n });\n }); // Fix issue on Safari: hide filter menu\n\n $(document).on('mouseup', function (e) {\n if (!filterTrigger.is(e.target) && filterTrigger.has(e.target).length === 0) {\n filterControls.removeClass(\"open-filters\");\n }\n });\n }\n };\n\n elementorFrontend.hooks.addAction(\"frontend/element_ready/eael-filterable-gallery.default\", filterableGalleryHandler);\n});\n\n//# sourceURL=webpack:///./src/js/view/filterable-gallery.js?");
97
 
98
  /***/ })
99
 
assets/front-end/js/view/filterable-gallery.min.js CHANGED
@@ -1 +1 @@
1
- !function(e){var t={};function l(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,l),i.l=!0,i.exports}l.m=e,l.c=t,l.d=function(e,t,r){l.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},l.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,t){if(1&t&&(e=l(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(l.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)l.d(r,i,function(t){return e[t]}.bind(null,i));return r},l.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(t,"a",t),t},l.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},l.p="",l(l.s=10)}({10:function(e,t){var l=function(e,t){var l,r,i,a=e.find(".fg-layout-3-filter-controls").eq(0),n=e.find("#fg-filter-trigger"),o=e.find(".fg-layout-3-search-box"),f=e.find("#fg-search-box-input");if(o.length&&o.on("submit",(function(e){e.preventDefault()})),n.on("click",(function(){a.toggleClass("open-filters")})).blur((function(){a.toggleClass("open-filters")})),!isEditMode){var u=t(".eael-filter-gallery-container",e),s=u.data("settings"),d=u.data("gallery-items"),c="masonry"==s.grid_style?"masonry":"fitRows",g=(t(".eael-filter-gallery-container",e).children(".eael-filterable-gallery-item-wrap").length,"yes"==s.gallery_enabled),p=t(".eael-filter-gallery-wrapper").data("layout-mode"),y=t(".eael-filter-gallery-wrapper").data("mfp_caption"),m=u.isotope({itemSelector:".eael-filterable-gallery-item-wrap",layoutMode:c,percentPosition:!0,stagger:30,transitionDuration:s.duration+"ms",filter:function(){var i=t(this),a=!l||i.text().match(l);null==r&&(r="layout_3"!=p?e.find(".eael-filter-gallery-control ul li").first().data("filter"):e.find(".fg-layout-3-filter-controls li").first().data("filter"));var n=!r||i.is(r);return a&&n}});t(e).magnificPopup({delegate:".eael-magnific-link",type:"image",gallery:{enabled:g},image:{titleSrc:function(e){if("yes"==y)return e.el.parents(".gallery-item-caption-over").find(".fg-item-title").html()||e.el.parents(".gallery-item-caption-wrap").find(".fg-item-title").html()||e.el.parents(".eael-filterable-gallery-item-wrap").find(".fg-item-title").html()}}}),e.on("click",".control",(function(){var l=t(this);r=t(this).attr("data-filter"),e.find("#fg-filter-trigger > span")&&e.find("#fg-filter-trigger > span").text(l.text()),l.siblings().removeClass("active"),l.addClass("active"),m.isotope()})),f.on("input",(function(){var e=t(this);clearTimeout(i),i=setTimeout((function(){l=new RegExp(e.val(),"gi"),m.isotope()}),600)})),m.imagesLoaded().progress((function(){m.isotope("layout")})),m.on("arrangeComplete",(function(){m.isotope("layout")})),t(window).on("load",(function(){m.isotope("layout")})),e.on("click",".eael-gallery-load-more",(function(l){l.preventDefault();var r=t(this),i=t(".eael-filter-gallery-container",e).children(".eael-filterable-gallery-item-wrap").length,n=u.data("total-gallery-items"),o=u.data("images-per-page"),f=u.data("nomore-item-text"),s=t(".eael-filter-gallery-control",e).length,c=[],g=t(".eael-filter-gallery-control li.active").data("filter");a.length>0&&(g=t(".fg-layout-3-filter-controls li.active").data("filter")),i==n&&(r.html('<div class="no-more-items-text">'+f+"</div>"),setTimeout((function(){r.fadeOut("slow")}),600));for(var p=i,y=0;p<i+o;){if(""!=g&&"*"!=g&&s){for(var v=p;v<d.length;v++){if(t(t(d[v])[0]).is(g)&&(++y,c.push(t(d[v])[0]),delete d[v],y===o))break}break}c.push(t(d[p])[0]),delete d[p],p++}u.append(c),m.isotope("appended",c),m.imagesLoaded().progress((function(){m.isotope("layout")}))}))}};jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-filterable-gallery.default",l)}))}});
1
+ !function(e){var t={};function r(i){if(t[i])return t[i].exports;var l=t[i]={i:i,l:!1,exports:{}};return e[i].call(l.exports,l,l.exports,r),l.l=!0,l.exports}r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var l in e)r.d(i,l,function(t){return e[t]}.bind(null,l));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=11)}({11:function(e,t){jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-filterable-gallery.default",(function(e,t){var r,i,l,n=e.find(".fg-layout-3-filter-controls").eq(0),o=e.find("#fg-filter-trigger"),a=e.find(".fg-layout-3-search-box"),f=e.find("#fg-search-box-input");if(a.length&&a.on("submit",(function(e){e.preventDefault()})),o.on("click",(function(){n.toggleClass("open-filters")})),o.on("blur",(function(){n.removeClass("open-filters")})),!isEditMode){var s=t(".eael-filter-gallery-container",e),u=s.data("settings"),d=s.data("gallery-items"),c="masonry"===u.grid_style?"masonry":"fitRows",g="yes"===u.gallery_enabled,p=t(".eael-filter-gallery-wrapper"),m=p.data("layout-mode"),y=p.data("mfp_caption"),v=s.isotope({itemSelector:".eael-filterable-gallery-item-wrap",layoutMode:c,percentPosition:!0,stagger:30,transitionDuration:u.duration+"ms",filter:function(){var l=t(this),n=!r||l.text().match(r);void 0===i&&(i="layout_3"!==m?e.find(".eael-filter-gallery-control ul li").first().data("filter"):e.find(".fg-layout-3-filter-controls li").first().data("filter"));var o=!i||l.is(i);return n&&o}});t(e).magnificPopup({delegate:".eael-magnific-link",type:"image",gallery:{enabled:g},image:{titleSrc:function(e){if("yes"===y)return e.el.parents(".gallery-item-caption-over").find(".fg-item-title").html()||e.el.parents(".gallery-item-caption-wrap").find(".fg-item-title").html()||e.el.parents(".eael-filterable-gallery-item-wrap").find(".fg-item-title").html()}}}),e.on("click",".control",(function(){var r=t(this);i=t(this).attr("data-filter");var l=e.find("#fg-filter-trigger > span");l.length&&l.text(r.text()),r.siblings().removeClass("active"),r.addClass("active"),v.isotope()})),f.on("input",(function(){var e=t(this);clearTimeout(l),l=setTimeout((function(){r=new RegExp(e.val(),"gi"),v.isotope()}),600)})),v.imagesLoaded().progress((function(){v.isotope("layout")})),v.on("arrangeComplete",(function(){v.isotope("layout")})),t(window).on("load",(function(){v.isotope("layout")})),e.on("click",".eael-gallery-load-more",(function(r){r.preventDefault();var i=t(this),l=t(".eael-filter-gallery-container",e).children(".eael-filterable-gallery-item-wrap").length,o=s.data("total-gallery-items"),a=s.data("images-per-page"),f=s.data("nomore-item-text"),u=t(".eael-filter-gallery-control",e).length,c=[],g=t(".eael-filter-gallery-control li.active").data("filter");n.length>0&&(g=t(".fg-layout-3-filter-controls li.active").data("filter")),l===o&&(i.html('<div class="no-more-items-text">'+f+"</div>"),setTimeout((function(){i.fadeOut("slow")}),600));for(var p=l,m=0;p<l+a;){if(""!=g&&"*"!=g&&u){for(var y=p;y<d.length;y++){if(t(t(d[y])[0]).is(g)&&(++m,c.push(t(d[y])[0]),delete d[y],m===a))break}break}c.push(t(d[p])[0]),delete d[p],p++}s.append(c),v.isotope("appended",c),v.imagesLoaded().progress((function(){v.isotope("layout")}))})),t(document).on("mouseup",(function(e){o.is(e.target)||0!==o.has(e.target).length||n.removeClass("open-filters")}))}}))}))}});
assets/front-end/js/view/general.js CHANGED
@@ -110,6 +110,18 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
110
 
111
  /***/ }),
112
 
 
 
 
 
 
 
 
 
 
 
 
 
113
  /***/ "./node_modules/@babel/runtime/helpers/esm/iterableToArray.js":
114
  /*!********************************************************************!*\
115
  !*** ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js ***!
@@ -166,7 +178,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
166
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
167
 
168
  "use strict";
169
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateNamespace.js */ \"./node_modules/@wordpress/hooks/build-module/validateNamespace.js\");\n/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./validateHookName.js */ \"./node_modules/@wordpress/hooks/build-module/validateHookName.js\");\n/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ */ \"./node_modules/@wordpress/hooks/build-module/index.js\");\n/**\n * Internal dependencies\n */\n\n\n\n/**\n * Returns a function which, when invoked, will add a hook.\n *\n * @param {Object} hooks Stored hooks, keyed by hook name.\n *\n * @return {Function} Function that adds a new hook.\n */\n\nfunction createAddHook(hooks) {\n /**\n * Adds the hook to the appropriate hooks container.\n *\n * @param {string} hookName Name of hook to add\n * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`.\n * @param {Function} callback Function to call when the hook is run\n * @param {?number} priority Priority of this hook (default=10)\n */\n return function addHook(hookName, namespace, callback) {\n var priority = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10;\n\n if (!Object(_validateHookName_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(hookName)) {\n return;\n }\n\n if (!Object(_validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(namespace)) {\n return;\n }\n\n if ('function' !== typeof callback) {\n // eslint-disable-next-line no-console\n console.error('The hook callback must be a function.');\n return;\n } // Validate numeric priority\n\n\n if ('number' !== typeof priority) {\n // eslint-disable-next-line no-console\n console.error('If specified, the hook priority must be a number.');\n return;\n }\n\n var handler = {\n callback: callback,\n priority: priority,\n namespace: namespace\n };\n\n if (hooks[hookName]) {\n // Find the correct insert index of the new hook.\n var handlers = hooks[hookName].handlers;\n var i;\n\n for (i = handlers.length; i > 0; i--) {\n if (priority >= handlers[i - 1].priority) {\n break;\n }\n }\n\n if (i === handlers.length) {\n // If append, operate via direct assignment.\n handlers[i] = handler;\n } else {\n // Otherwise, insert before index via splice.\n handlers.splice(i, 0, handler);\n } // We may also be currently executing this hook. If the callback\n // we're adding would come after the current callback, there's no\n // problem; otherwise we need to increase the execution index of\n // any other runs by 1 to account for the added element.\n\n\n (hooks.__current || []).forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex++;\n }\n });\n } else {\n // This is the first hook of its type.\n hooks[hookName] = {\n handlers: [handler],\n runs: 0\n };\n }\n\n if (hookName !== 'hookAdded') {\n Object(___WEBPACK_IMPORTED_MODULE_2__[\"doAction\"])('hookAdded', hookName, namespace, callback, priority);\n }\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createAddHook);\n//# sourceMappingURL=createAddHook.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/hooks/build-module/createAddHook.js?");
170
 
171
  /***/ }),
172
 
@@ -178,7 +190,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _val
178
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
179
 
180
  "use strict";
181
- eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Returns a function which, when invoked, will return the name of the\n * currently running hook, or `null` if no hook of the given type is currently\n * running.\n *\n * @param {Object} hooks Stored hooks, keyed by hook name.\n *\n * @return {Function} Function that returns the current hook.\n */\nfunction createCurrentHook(hooks) {\n /**\n * Returns the name of the currently running hook, or `null` if no hook of\n * the given type is currently running.\n *\n * @return {?string} The name of the currently running hook, or\n * `null` if no hook is currently running.\n */\n return function currentHook() {\n if (!hooks.__current || !hooks.__current.length) {\n return null;\n }\n\n return hooks.__current[hooks.__current.length - 1].name;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createCurrentHook);\n//# sourceMappingURL=createCurrentHook.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/hooks/build-module/createCurrentHook.js?");
182
 
183
  /***/ }),
184
 
@@ -190,7 +202,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Returns a function wh
190
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
191
 
192
  "use strict";
193
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateHookName.js */ \"./node_modules/@wordpress/hooks/build-module/validateHookName.js\");\n/**\n * Internal dependencies\n */\n\n/**\n * Returns a function which, when invoked, will return the number of times a\n * hook has been called.\n *\n * @param {Object} hooks Stored hooks, keyed by hook name.\n *\n * @return {Function} Function that returns a hook's call count.\n */\n\nfunction createDidHook(hooks) {\n /**\n * Returns the number of times an action has been fired.\n *\n * @param {string} hookName The hook name to check.\n *\n * @return {number} The number of times the hook has run.\n */\n return function didHook(hookName) {\n if (!Object(_validateHookName_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(hookName)) {\n return;\n }\n\n return hooks[hookName] && hooks[hookName].runs ? hooks[hookName].runs : 0;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createDidHook);\n//# sourceMappingURL=createDidHook.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/hooks/build-module/createDidHook.js?");
194
 
195
  /***/ }),
196
 
@@ -202,7 +214,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _val
202
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
203
 
204
  "use strict";
205
- eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Returns a function which, when invoked, will return whether a hook is\n * currently being executed.\n *\n * @param {Object} hooks Stored hooks, keyed by hook name.\n *\n * @return {Function} Function that returns whether a hook is currently\n * being executed.\n */\nfunction createDoingHook(hooks) {\n /**\n * Returns whether a hook is currently being executed.\n *\n * @param {?string} hookName The name of the hook to check for. If\n * omitted, will check for any hook being executed.\n *\n * @return {boolean} Whether the hook is being executed.\n */\n return function doingHook(hookName) {\n // If the hookName was not passed, check for any current hook.\n if ('undefined' === typeof hookName) {\n return 'undefined' !== typeof hooks.__current[0];\n } // Return the __current hook.\n\n\n return hooks.__current[0] ? hookName === hooks.__current[0].name : false;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createDoingHook);\n//# sourceMappingURL=createDoingHook.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/hooks/build-module/createDoingHook.js?");
206
 
207
  /***/ }),
208
 
@@ -214,7 +226,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Returns a function wh
214
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
215
 
216
  "use strict";
217
- eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Returns a function which, when invoked, will return whether any handlers are\n * attached to a particular hook.\n *\n * @param {Object} hooks Stored hooks, keyed by hook name.\n *\n * @return {Function} Function that returns whether any handlers are\n * attached to a particular hook and optional namespace.\n */\nfunction createHasHook(hooks) {\n /**\n * Returns whether any handlers are attached for the given hookName and optional namespace.\n *\n * @param {string} hookName The name of the hook to check for.\n * @param {?string} namespace Optional. The unique namespace identifying the callback\n * in the form `vendor/plugin/function`.\n *\n * @return {boolean} Whether there are handlers that are attached to the given hook.\n */\n return function hasHook(hookName, namespace) {\n // Use the namespace if provided.\n if ('undefined' !== typeof namespace) {\n return hookName in hooks && hooks[hookName].handlers.some(function (hook) {\n return hook.namespace === namespace;\n });\n }\n\n return hookName in hooks;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createHasHook);\n//# sourceMappingURL=createHasHook.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/hooks/build-module/createHasHook.js?");
218
 
219
  /***/ }),
220
 
@@ -222,11 +234,11 @@ eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Returns a function wh
222
  /*!*******************************************************************!*\
223
  !*** ./node_modules/@wordpress/hooks/build-module/createHooks.js ***!
224
  \*******************************************************************/
225
- /*! exports provided: default */
226
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
227
 
228
  "use strict";
229
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _createAddHook__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createAddHook */ \"./node_modules/@wordpress/hooks/build-module/createAddHook.js\");\n/* harmony import */ var _createRemoveHook__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createRemoveHook */ \"./node_modules/@wordpress/hooks/build-module/createRemoveHook.js\");\n/* harmony import */ var _createHasHook__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./createHasHook */ \"./node_modules/@wordpress/hooks/build-module/createHasHook.js\");\n/* harmony import */ var _createRunHook__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./createRunHook */ \"./node_modules/@wordpress/hooks/build-module/createRunHook.js\");\n/* harmony import */ var _createCurrentHook__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./createCurrentHook */ \"./node_modules/@wordpress/hooks/build-module/createCurrentHook.js\");\n/* harmony import */ var _createDoingHook__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./createDoingHook */ \"./node_modules/@wordpress/hooks/build-module/createDoingHook.js\");\n/* harmony import */ var _createDidHook__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./createDidHook */ \"./node_modules/@wordpress/hooks/build-module/createDidHook.js\");\n/**\n * Internal dependencies\n */\n\n\n\n\n\n\n\n/**\n * Returns an instance of the hooks object.\n *\n * @return {Object} Object that contains all hooks.\n */\n\nfunction createHooks() {\n var actions = Object.create(null);\n var filters = Object.create(null);\n actions.__current = [];\n filters.__current = [];\n return {\n addAction: Object(_createAddHook__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(actions),\n addFilter: Object(_createAddHook__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(filters),\n removeAction: Object(_createRemoveHook__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(actions),\n removeFilter: Object(_createRemoveHook__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(filters),\n hasAction: Object(_createHasHook__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(actions),\n hasFilter: Object(_createHasHook__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(filters),\n removeAllActions: Object(_createRemoveHook__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(actions, true),\n removeAllFilters: Object(_createRemoveHook__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(filters, true),\n doAction: Object(_createRunHook__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(actions),\n applyFilters: Object(_createRunHook__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(filters, true),\n currentAction: Object(_createCurrentHook__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(actions),\n currentFilter: Object(_createCurrentHook__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(filters),\n doingAction: Object(_createDoingHook__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(actions),\n doingFilter: Object(_createDoingHook__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(filters),\n didAction: Object(_createDidHook__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(actions),\n didFilter: Object(_createDidHook__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(filters),\n actions: actions,\n filters: filters\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createHooks);\n//# sourceMappingURL=createHooks.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/hooks/build-module/createHooks.js?");
230
 
231
  /***/ }),
232
 
@@ -238,7 +250,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _cre
238
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
239
 
240
  "use strict";
241
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateNamespace.js */ \"./node_modules/@wordpress/hooks/build-module/validateNamespace.js\");\n/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./validateHookName.js */ \"./node_modules/@wordpress/hooks/build-module/validateHookName.js\");\n/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ */ \"./node_modules/@wordpress/hooks/build-module/index.js\");\n/**\n * Internal dependencies\n */\n\n\n\n/**\n * Returns a function which, when invoked, will remove a specified hook or all\n * hooks by the given name.\n *\n * @param {Object} hooks Stored hooks, keyed by hook name.\n * @param {boolean} removeAll Whether to remove all callbacks for a hookName, without regard to namespace. Used to create `removeAll*` functions.\n *\n * @return {Function} Function that removes hooks.\n */\n\nfunction createRemoveHook(hooks, removeAll) {\n /**\n * Removes the specified callback (or all callbacks) from the hook with a\n * given hookName and namespace.\n *\n * @param {string} hookName The name of the hook to modify.\n * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`.\n *\n * @return {number} The number of callbacks removed.\n */\n return function removeHook(hookName, namespace) {\n if (!Object(_validateHookName_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(hookName)) {\n return;\n }\n\n if (!removeAll && !Object(_validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(namespace)) {\n return;\n } // Bail if no hooks exist by this name\n\n\n if (!hooks[hookName]) {\n return 0;\n }\n\n var handlersRemoved = 0;\n\n if (removeAll) {\n handlersRemoved = hooks[hookName].handlers.length;\n hooks[hookName] = {\n runs: hooks[hookName].runs,\n handlers: []\n };\n } else {\n // Try to find the specified callback to remove.\n var handlers = hooks[hookName].handlers;\n\n var _loop = function _loop(i) {\n if (handlers[i].namespace === namespace) {\n handlers.splice(i, 1);\n handlersRemoved++; // This callback may also be part of a hook that is\n // currently executing. If the callback we're removing\n // comes after the current callback, there's no problem;\n // otherwise we need to decrease the execution index of any\n // other runs by 1 to account for the removed element.\n\n (hooks.__current || []).forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex--;\n }\n });\n }\n };\n\n for (var i = handlers.length - 1; i >= 0; i--) {\n _loop(i);\n }\n }\n\n if (hookName !== 'hookRemoved') {\n Object(___WEBPACK_IMPORTED_MODULE_2__[\"doAction\"])('hookRemoved', hookName, namespace);\n }\n\n return handlersRemoved;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createRemoveHook);\n//# sourceMappingURL=createRemoveHook.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/hooks/build-module/createRemoveHook.js?");
242
 
243
  /***/ }),
244
 
@@ -250,7 +262,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _val
250
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
251
 
252
  "use strict";
253
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n\n\n/**\n * Returns a function which, when invoked, will execute all callbacks\n * registered to a hook of the specified type, optionally returning the final\n * value of the call chain.\n *\n * @param {Object} hooks Stored hooks, keyed by hook name.\n * @param {?boolean} returnFirstArg Whether each hook callback is expected to\n * return its first argument.\n *\n * @return {Function} Function that runs hook callbacks.\n */\nfunction createRunHook(hooks, returnFirstArg) {\n /**\n * Runs all callbacks for the specified hook.\n *\n * @param {string} hookName The name of the hook to run.\n * @param {...*} args Arguments to pass to the hook callbacks.\n *\n * @return {*} Return value of runner, if applicable.\n */\n return function runHooks(hookName) {\n if (!hooks[hookName]) {\n hooks[hookName] = {\n handlers: [],\n runs: 0\n };\n }\n\n hooks[hookName].runs++;\n var handlers = hooks[hookName].handlers; // The following code is stripped from production builds.\n\n if (true) {\n // Handle any 'all' hooks registered.\n if ('hookAdded' !== hookName && hooks.all) {\n handlers.push.apply(handlers, Object(_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(hooks.all.handlers));\n }\n }\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (!handlers || !handlers.length) {\n return returnFirstArg ? args[0] : undefined;\n }\n\n var hookInfo = {\n name: hookName,\n currentIndex: 0\n };\n\n hooks.__current.push(hookInfo);\n\n while (hookInfo.currentIndex < handlers.length) {\n var handler = handlers[hookInfo.currentIndex];\n var result = handler.callback.apply(null, args);\n\n if (returnFirstArg) {\n args[0] = result;\n }\n\n hookInfo.currentIndex++;\n }\n\n hooks.__current.pop();\n\n if (returnFirstArg) {\n return args[0];\n }\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createRunHook);\n//# sourceMappingURL=createRunHook.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/hooks/build-module/createRunHook.js?");
254
 
255
  /***/ }),
256
 
@@ -262,7 +274,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _bab
262
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
263
 
264
  "use strict";
265
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addAction\", function() { return addAction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addFilter\", function() { return addFilter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeAction\", function() { return removeAction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeFilter\", function() { return removeFilter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hasAction\", function() { return hasAction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hasFilter\", function() { return hasFilter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeAllActions\", function() { return removeAllActions; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeAllFilters\", function() { return removeAllFilters; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"doAction\", function() { return doAction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"applyFilters\", function() { return applyFilters; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"currentAction\", function() { return currentAction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"currentFilter\", function() { return currentFilter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"doingAction\", function() { return doingAction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"doingFilter\", function() { return doingFilter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"didAction\", function() { return didAction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"didFilter\", function() { return didFilter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"actions\", function() { return actions; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"filters\", function() { return filters; });\n/* harmony import */ var _createHooks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createHooks */ \"./node_modules/@wordpress/hooks/build-module/createHooks.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createHooks\", function() { return _createHooks__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/**\n * Internal dependencies\n */\n\n\nvar _createHooks = Object(_createHooks__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(),\n addAction = _createHooks.addAction,\n addFilter = _createHooks.addFilter,\n removeAction = _createHooks.removeAction,\n removeFilter = _createHooks.removeFilter,\n hasAction = _createHooks.hasAction,\n hasFilter = _createHooks.hasFilter,\n removeAllActions = _createHooks.removeAllActions,\n removeAllFilters = _createHooks.removeAllFilters,\n doAction = _createHooks.doAction,\n applyFilters = _createHooks.applyFilters,\n currentAction = _createHooks.currentAction,\n currentFilter = _createHooks.currentFilter,\n doingAction = _createHooks.doingAction,\n doingFilter = _createHooks.doingFilter,\n didAction = _createHooks.didAction,\n didFilter = _createHooks.didFilter,\n actions = _createHooks.actions,\n filters = _createHooks.filters;\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/hooks/build-module/index.js?");
266
 
267
  /***/ }),
268
 
110
 
111
  /***/ }),
112
 
113
+ /***/ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js":
114
+ /*!*******************************************************************!*\
115
+ !*** ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***!
116
+ \*******************************************************************/
117
+ /*! exports provided: default */
118
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
119
+
120
+ "use strict";
121
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _classCallCheck; });\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/esm/classCallCheck.js?");
122
+
123
+ /***/ }),
124
+
125
  /***/ "./node_modules/@babel/runtime/helpers/esm/iterableToArray.js":
126
  /*!********************************************************************!*\
127
  !*** ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js ***!
178
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
179
 
180
  "use strict";
181
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateNamespace.js */ \"./node_modules/@wordpress/hooks/build-module/validateNamespace.js\");\n/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./validateHookName.js */ \"./node_modules/@wordpress/hooks/build-module/validateHookName.js\");\n/**\n * Internal dependencies\n */\n\n\n/**\n * @callback AddHook\n *\n * Adds the hook to the appropriate hooks container.\n *\n * @param {string} hookName Name of hook to add\n * @param {string} namespace The unique namespace identifying the callback in the form `vendor/plugin/function`.\n * @param {import('.').Callback} callback Function to call when the hook is run\n * @param {number} [priority=10] Priority of this hook\n */\n\n/**\n * Returns a function which, when invoked, will add a hook.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {AddHook} Function that adds a new hook.\n */\n\nfunction createAddHook(hooks, storeKey) {\n return function addHook(hookName, namespace, callback) {\n var priority = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10;\n var hooksStore = hooks[storeKey];\n\n if (!Object(_validateHookName_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(hookName)) {\n return;\n }\n\n if (!Object(_validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(namespace)) {\n return;\n }\n\n if ('function' !== typeof callback) {\n // eslint-disable-next-line no-console\n console.error('The hook callback must be a function.');\n return;\n } // Validate numeric priority\n\n\n if ('number' !== typeof priority) {\n // eslint-disable-next-line no-console\n console.error('If specified, the hook priority must be a number.');\n return;\n }\n\n var handler = {\n callback: callback,\n priority: priority,\n namespace: namespace\n };\n\n if (hooksStore[hookName]) {\n // Find the correct insert index of the new hook.\n var handlers = hooksStore[hookName].handlers;\n /** @type {number} */\n\n var i;\n\n for (i = handlers.length; i > 0; i--) {\n if (priority >= handlers[i - 1].priority) {\n break;\n }\n }\n\n if (i === handlers.length) {\n // If append, operate via direct assignment.\n handlers[i] = handler;\n } else {\n // Otherwise, insert before index via splice.\n handlers.splice(i, 0, handler);\n } // We may also be currently executing this hook. If the callback\n // we're adding would come after the current callback, there's no\n // problem; otherwise we need to increase the execution index of\n // any other runs by 1 to account for the added element.\n\n\n hooksStore.__current.forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex++;\n }\n });\n } else {\n // This is the first hook of its type.\n hooksStore[hookName] = {\n handlers: [handler],\n runs: 0\n };\n }\n\n if (hookName !== 'hookAdded') {\n hooks.doAction('hookAdded', hookName, namespace, callback, priority);\n }\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createAddHook);\n//# sourceMappingURL=createAddHook.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/hooks/build-module/createAddHook.js?");
182
 
183
  /***/ }),
184
 
190
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
191
 
192
  "use strict";
193
+ eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Returns a function which, when invoked, will return the name of the\n * currently running hook, or `null` if no hook of the given type is currently\n * running.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {() => string | null} Function that returns the current hook name or null.\n */\nfunction createCurrentHook(hooks, storeKey) {\n return function currentHook() {\n var _hooksStore$__current, _hooksStore$__current2;\n\n var hooksStore = hooks[storeKey];\n return (_hooksStore$__current = (_hooksStore$__current2 = hooksStore.__current[hooksStore.__current.length - 1]) === null || _hooksStore$__current2 === void 0 ? void 0 : _hooksStore$__current2.name) !== null && _hooksStore$__current !== void 0 ? _hooksStore$__current : null;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createCurrentHook);\n//# sourceMappingURL=createCurrentHook.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/hooks/build-module/createCurrentHook.js?");
194
 
195
  /***/ }),
196
 
202
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
203
 
204
  "use strict";
205
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateHookName.js */ \"./node_modules/@wordpress/hooks/build-module/validateHookName.js\");\n/**\n * Internal dependencies\n */\n\n/**\n * @callback DidHook\n *\n * Returns the number of times an action has been fired.\n *\n * @param {string} hookName The hook name to check.\n *\n * @return {number | undefined} The number of times the hook has run.\n */\n\n/**\n * Returns a function which, when invoked, will return the number of times a\n * hook has been called.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {DidHook} Function that returns a hook's call count.\n */\n\nfunction createDidHook(hooks, storeKey) {\n return function didHook(hookName) {\n var hooksStore = hooks[storeKey];\n\n if (!Object(_validateHookName_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(hookName)) {\n return;\n }\n\n return hooksStore[hookName] && hooksStore[hookName].runs ? hooksStore[hookName].runs : 0;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createDidHook);\n//# sourceMappingURL=createDidHook.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/hooks/build-module/createDidHook.js?");
206
 
207
  /***/ }),
208
 
214
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
215
 
216
  "use strict";
217
+ eval("__webpack_require__.r(__webpack_exports__);\n/**\n * @callback DoingHook\n * Returns whether a hook is currently being executed.\n *\n * @param {string} [hookName] The name of the hook to check for. If\n * omitted, will check for any hook being executed.\n *\n * @return {boolean} Whether the hook is being executed.\n */\n\n/**\n * Returns a function which, when invoked, will return whether a hook is\n * currently being executed.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {DoingHook} Function that returns whether a hook is currently\n * being executed.\n */\nfunction createDoingHook(hooks, storeKey) {\n return function doingHook(hookName) {\n var hooksStore = hooks[storeKey]; // If the hookName was not passed, check for any current hook.\n\n if ('undefined' === typeof hookName) {\n return 'undefined' !== typeof hooksStore.__current[0];\n } // Return the __current hook.\n\n\n return hooksStore.__current[0] ? hookName === hooksStore.__current[0].name : false;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createDoingHook);\n//# sourceMappingURL=createDoingHook.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/hooks/build-module/createDoingHook.js?");
218
 
219
  /***/ }),
220
 
226
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
227
 
228
  "use strict";
229
+ eval("__webpack_require__.r(__webpack_exports__);\n/**\n * @callback HasHook\n *\n * Returns whether any handlers are attached for the given hookName and optional namespace.\n *\n * @param {string} hookName The name of the hook to check for.\n * @param {string} [namespace] Optional. The unique namespace identifying the callback\n * in the form `vendor/plugin/function`.\n *\n * @return {boolean} Whether there are handlers that are attached to the given hook.\n */\n\n/**\n * Returns a function which, when invoked, will return whether any handlers are\n * attached to a particular hook.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n *\n * @return {HasHook} Function that returns whether any handlers are\n * attached to a particular hook and optional namespace.\n */\nfunction createHasHook(hooks, storeKey) {\n return function hasHook(hookName, namespace) {\n var hooksStore = hooks[storeKey]; // Use the namespace if provided.\n\n if ('undefined' !== typeof namespace) {\n return hookName in hooksStore && hooksStore[hookName].handlers.some(function (hook) {\n return hook.namespace === namespace;\n });\n }\n\n return hookName in hooksStore;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createHasHook);\n//# sourceMappingURL=createHasHook.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/hooks/build-module/createHasHook.js?");
230
 
231
  /***/ }),
232
 
234
  /*!*******************************************************************!*\
235
  !*** ./node_modules/@wordpress/hooks/build-module/createHooks.js ***!
236
  \*******************************************************************/
237
+ /*! exports provided: _Hooks, default */
238
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
239
 
240
  "use strict";
241
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"_Hooks\", function() { return _Hooks; });\n/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ \"./node_modules/@babel/runtime/helpers/esm/classCallCheck.js\");\n/* harmony import */ var _createAddHook__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createAddHook */ \"./node_modules/@wordpress/hooks/build-module/createAddHook.js\");\n/* harmony import */ var _createRemoveHook__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./createRemoveHook */ \"./node_modules/@wordpress/hooks/build-module/createRemoveHook.js\");\n/* harmony import */ var _createHasHook__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./createHasHook */ \"./node_modules/@wordpress/hooks/build-module/createHasHook.js\");\n/* harmony import */ var _createRunHook__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./createRunHook */ \"./node_modules/@wordpress/hooks/build-module/createRunHook.js\");\n/* harmony import */ var _createCurrentHook__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./createCurrentHook */ \"./node_modules/@wordpress/hooks/build-module/createCurrentHook.js\");\n/* harmony import */ var _createDoingHook__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./createDoingHook */ \"./node_modules/@wordpress/hooks/build-module/createDoingHook.js\");\n/* harmony import */ var _createDidHook__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./createDidHook */ \"./node_modules/@wordpress/hooks/build-module/createDidHook.js\");\n\n\n/**\n * Internal dependencies\n */\n\n\n\n\n\n\n\n/**\n * Internal class for constructing hooks. Use `createHooks()` function\n *\n * Note, it is necessary to expose this class to make its type public.\n *\n * @private\n */\n\nvar _Hooks = function _Hooks() {\n Object(_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, _Hooks);\n\n /** @type {import('.').Store} actions */\n this.actions = Object.create(null);\n this.actions.__current = [];\n /** @type {import('.').Store} filters */\n\n this.filters = Object.create(null);\n this.filters.__current = [];\n this.addAction = Object(_createAddHook__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this, 'actions');\n this.addFilter = Object(_createAddHook__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this, 'filters');\n this.removeAction = Object(_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(this, 'actions');\n this.removeFilter = Object(_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(this, 'filters');\n this.hasAction = Object(_createHasHook__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(this, 'actions');\n this.hasFilter = Object(_createHasHook__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(this, 'filters');\n this.removeAllActions = Object(_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(this, 'actions', true);\n this.removeAllFilters = Object(_createRemoveHook__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(this, 'filters', true);\n this.doAction = Object(_createRunHook__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(this, 'actions');\n this.applyFilters = Object(_createRunHook__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(this, 'filters', true);\n this.currentAction = Object(_createCurrentHook__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(this, 'actions');\n this.currentFilter = Object(_createCurrentHook__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(this, 'filters');\n this.doingAction = Object(_createDoingHook__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(this, 'actions');\n this.doingFilter = Object(_createDoingHook__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(this, 'filters');\n this.didAction = Object(_createDidHook__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(this, 'actions');\n this.didFilter = Object(_createDidHook__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(this, 'filters');\n};\n/** @typedef {_Hooks} Hooks */\n\n/**\n * Returns an instance of the hooks object.\n *\n * @return {Hooks} A Hooks instance.\n */\n\nfunction createHooks() {\n return new _Hooks();\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createHooks);\n//# sourceMappingURL=createHooks.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/hooks/build-module/createHooks.js?");
242
 
243
  /***/ }),
244
 
250
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
251
 
252
  "use strict";
253
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validateNamespace.js */ \"./node_modules/@wordpress/hooks/build-module/validateNamespace.js\");\n/* harmony import */ var _validateHookName_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./validateHookName.js */ \"./node_modules/@wordpress/hooks/build-module/validateHookName.js\");\n/**\n * Internal dependencies\n */\n\n\n/**\n * @callback RemoveHook\n * Removes the specified callback (or all callbacks) from the hook with a given hookName\n * and namespace.\n *\n * @param {string} hookName The name of the hook to modify.\n * @param {string} namespace The unique namespace identifying the callback in the\n * form `vendor/plugin/function`.\n *\n * @return {number | undefined} The number of callbacks removed.\n */\n\n/**\n * Returns a function which, when invoked, will remove a specified hook or all\n * hooks by the given name.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n * @param {boolean} [removeAll=false] Whether to remove all callbacks for a hookName,\n * without regard to namespace. Used to create\n * `removeAll*` functions.\n *\n * @return {RemoveHook} Function that removes hooks.\n */\n\nfunction createRemoveHook(hooks, storeKey) {\n var removeAll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return function removeHook(hookName, namespace) {\n var hooksStore = hooks[storeKey];\n\n if (!Object(_validateHookName_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(hookName)) {\n return;\n }\n\n if (!removeAll && !Object(_validateNamespace_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(namespace)) {\n return;\n } // Bail if no hooks exist by this name\n\n\n if (!hooksStore[hookName]) {\n return 0;\n }\n\n var handlersRemoved = 0;\n\n if (removeAll) {\n handlersRemoved = hooksStore[hookName].handlers.length;\n hooksStore[hookName] = {\n runs: hooksStore[hookName].runs,\n handlers: []\n };\n } else {\n // Try to find the specified callback to remove.\n var handlers = hooksStore[hookName].handlers;\n\n var _loop = function _loop(i) {\n if (handlers[i].namespace === namespace) {\n handlers.splice(i, 1);\n handlersRemoved++; // This callback may also be part of a hook that is\n // currently executing. If the callback we're removing\n // comes after the current callback, there's no problem;\n // otherwise we need to decrease the execution index of any\n // other runs by 1 to account for the removed element.\n\n hooksStore.__current.forEach(function (hookInfo) {\n if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {\n hookInfo.currentIndex--;\n }\n });\n }\n };\n\n for (var i = handlers.length - 1; i >= 0; i--) {\n _loop(i);\n }\n }\n\n if (hookName !== 'hookRemoved') {\n hooks.doAction('hookRemoved', hookName, namespace);\n }\n\n return handlersRemoved;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createRemoveHook);\n//# sourceMappingURL=createRemoveHook.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/hooks/build-module/createRemoveHook.js?");
254
 
255
  /***/ }),
256
 
262
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
263
 
264
  "use strict";
265
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n\n\n/**\n * Returns a function which, when invoked, will execute all callbacks\n * registered to a hook of the specified type, optionally returning the final\n * value of the call chain.\n *\n * @param {import('.').Hooks} hooks Hooks instance.\n * @param {import('.').StoreKey} storeKey\n * @param {boolean} [returnFirstArg=false] Whether each hook callback is expected to\n * return its first argument.\n *\n * @return {(hookName:string, ...args: unknown[]) => unknown} Function that runs hook callbacks.\n */\nfunction createRunHook(hooks, storeKey) {\n var returnFirstArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return function runHooks(hookName) {\n var hooksStore = hooks[storeKey];\n\n if (!hooksStore[hookName]) {\n hooksStore[hookName] = {\n handlers: [],\n runs: 0\n };\n }\n\n hooksStore[hookName].runs++;\n var handlers = hooksStore[hookName].handlers; // The following code is stripped from production builds.\n\n if (true) {\n // Handle any 'all' hooks registered.\n if ('hookAdded' !== hookName && hooksStore.all) {\n handlers.push.apply(handlers, Object(_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(hooksStore.all.handlers));\n }\n }\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (!handlers || !handlers.length) {\n return returnFirstArg ? args[0] : undefined;\n }\n\n var hookInfo = {\n name: hookName,\n currentIndex: 0\n };\n\n hooksStore.__current.push(hookInfo);\n\n while (hookInfo.currentIndex < handlers.length) {\n var handler = handlers[hookInfo.currentIndex];\n var result = handler.callback.apply(null, args);\n\n if (returnFirstArg) {\n args[0] = result;\n }\n\n hookInfo.currentIndex++;\n }\n\n hooksStore.__current.pop();\n\n if (returnFirstArg) {\n return args[0];\n }\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createRunHook);\n//# sourceMappingURL=createRunHook.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/hooks/build-module/createRunHook.js?");
266
 
267
  /***/ }),
268
 
274
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
275
 
276
  "use strict";
277
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addAction\", function() { return addAction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addFilter\", function() { return addFilter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeAction\", function() { return removeAction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeFilter\", function() { return removeFilter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hasAction\", function() { return hasAction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hasFilter\", function() { return hasFilter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeAllActions\", function() { return removeAllActions; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeAllFilters\", function() { return removeAllFilters; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"doAction\", function() { return doAction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"applyFilters\", function() { return applyFilters; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"currentAction\", function() { return currentAction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"currentFilter\", function() { return currentFilter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"doingAction\", function() { return doingAction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"doingFilter\", function() { return doingFilter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"didAction\", function() { return didAction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"didFilter\", function() { return didFilter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"actions\", function() { return actions; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"filters\", function() { return filters; });\n/* harmony import */ var _createHooks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createHooks */ \"./node_modules/@wordpress/hooks/build-module/createHooks.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createHooks\", function() { return _createHooks__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/**\n * Internal dependencies\n */\n\n/** @typedef {(...args: any[])=>any} Callback */\n\n/**\n * @typedef Handler\n * @property {Callback} callback The callback\n * @property {string} namespace The namespace\n * @property {number} priority The namespace\n */\n\n/**\n * @typedef Hook\n * @property {Handler[]} handlers Array of handlers\n * @property {number} runs Run counter\n */\n\n/**\n * @typedef Current\n * @property {string} name Hook name\n * @property {number} currentIndex The index\n */\n\n/**\n * @typedef {Record<string, Hook> & {__current: Current[]}} Store\n */\n\n/**\n * @typedef {'actions' | 'filters'} StoreKey\n */\n\n/**\n * @typedef {import('./createHooks').Hooks} Hooks\n */\n\nvar _createHooks = Object(_createHooks__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(),\n addAction = _createHooks.addAction,\n addFilter = _createHooks.addFilter,\n removeAction = _createHooks.removeAction,\n removeFilter = _createHooks.removeFilter,\n hasAction = _createHooks.hasAction,\n hasFilter = _createHooks.hasFilter,\n removeAllActions = _createHooks.removeAllActions,\n removeAllFilters = _createHooks.removeAllFilters,\n doAction = _createHooks.doAction,\n applyFilters = _createHooks.applyFilters,\n currentAction = _createHooks.currentAction,\n currentFilter = _createHooks.currentFilter,\n doingAction = _createHooks.doingAction,\n doingFilter = _createHooks.doingFilter,\n didAction = _createHooks.didAction,\n didFilter = _createHooks.didFilter,\n actions = _createHooks.actions,\n filters = _createHooks.filters;\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack:///./node_modules/@wordpress/hooks/build-module/index.js?");
278
 
279
  /***/ }),
280
 
assets/front-end/js/view/general.min.js CHANGED
@@ -1 +1 @@
1
- !function(e){var n={};function r(t){if(n[t])return n[t].exports;var o=n[t]={i:t,l:!1,exports:{}};return e[t].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=n,r.d=function(e,n,t){r.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,n){if(1&n&&(e=r(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(r.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var o in e)r.d(t,o,function(n){return e[n]}.bind(null,o));return t},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,"a",n),n},r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.p="",r(r.s=72)}({72:function(e,n,r){"use strict";r.r(n);var t=function(e){return"string"!=typeof e||""===e?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(e)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)};var o=function(e){return"string"!=typeof e||""===e?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(e)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(e)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)};var i=function(e){return function(n,r,i){var u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10;if(o(n)&&t(r))if("function"==typeof i)if("number"==typeof u){var c={callback:i,priority:u,namespace:r};if(e[n]){var a,l=e[n].handlers;for(a=l.length;a>0&&!(u>=l[a-1].priority);a--);a===l.length?l[a]=c:l.splice(a,0,c),(e.__current||[]).forEach((function(e){e.name===n&&e.currentIndex>=a&&e.currentIndex++}))}else e[n]={handlers:[c],runs:0};"hookAdded"!==n&&p("hookAdded",n,r,i,u)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}};var u=function(e,n){return function(r,i){if(o(r)&&(n||t(i))){if(!e[r])return 0;var u=0;if(n)u=e[r].handlers.length,e[r]={runs:e[r].runs,handlers:[]};else for(var c=e[r].handlers,a=function(n){c[n].namespace===i&&(c.splice(n,1),u++,(e.__current||[]).forEach((function(e){e.name===r&&e.currentIndex>=n&&e.currentIndex--})))},l=c.length-1;l>=0;l--)a(l);return"hookRemoved"!==r&&p("hookRemoved",r,i),u}}};var c=function(e){return function(n,r){return void 0!==r?n in e&&e[n].handlers.some((function(e){return e.namespace===r})):n in e}};var a=function(e,n){return function(r){e[r]||(e[r]={handlers:[],runs:0}),e[r].runs++;var t=e[r].handlers;for(var o=arguments.length,i=new Array(o>1?o-1:0),u=1;u<o;u++)i[u-1]=arguments[u];if(!t||!t.length)return n?i[0]:void 0;var c={name:r,currentIndex:0};for(e.__current.push(c);c.currentIndex<t.length;){var a=t[c.currentIndex],l=a.callback.apply(null,i);n&&(i[0]=l),c.currentIndex++}return e.__current.pop(),n?i[0]:void 0}};var l=function(e){return function(){return e.__current&&e.__current.length?e.__current[e.__current.length-1].name:null}};var d=function(e){return function(n){return void 0===n?void 0!==e.__current[0]:!!e.__current[0]&&n===e.__current[0].name}};var s=function(e){return function(n){if(o(n))return e[n]&&e[n].runs?e[n].runs:0}};var f=function(){var e=Object.create(null),n=Object.create(null);return e.__current=[],n.__current=[],{addAction:i(e),addFilter:i(n),removeAction:u(e),removeFilter:u(n),hasAction:c(e),hasFilter:c(n),removeAllActions:u(e,!0),removeAllFilters:u(n,!0),doAction:a(e),applyFilters:a(n,!0),currentAction:l(e),currentFilter:l(n),doingAction:d(e),doingFilter:d(n),didAction:s(e),didFilter:s(n),actions:e,filters:n}},h=f(),p=(h.addAction,h.addFilter,h.removeAction,h.removeFilter,h.hasAction,h.hasFilter,h.removeAllActions,h.removeAllFilters,h.doAction);h.applyFilters,h.currentAction,h.currentFilter,h.doingAction,h.doingFilter,h.didAction,h.didFilter,h.actions,h.filters;window.isEditMode=!1,window.ea={hooks:f(),isEditMode:!1},jQuery(window).on("elementor/frontend/init",(function(){window.isEditMode=elementorFrontend.isEditMode(),window.ea.isEditMode=elementorFrontend.isEditMode(),ea.hooks.doAction("init"),ea.isEditMode&&ea.hooks.doAction("editMode.init")}))}});
1
+ !function(e){var n={};function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var i in e)t.d(r,i,function(n){return e[n]}.bind(null,i));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="",t(t.s=74)}({74:function(e,n,t){"use strict";t.r(n);var r=function(e){return"string"!=typeof e||""===e?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(e)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)};var i=function(e){return"string"!=typeof e||""===e?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(e)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(e)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)};var o=function(e,n){return function(t,o,s){var c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,a=e[n];if(i(t)&&r(o))if("function"==typeof s)if("number"==typeof c){var u={callback:s,priority:c,namespace:o};if(a[t]){var l,d=a[t].handlers;for(l=d.length;l>0&&!(c>=d[l-1].priority);l--);l===d.length?d[l]=u:d.splice(l,0,u),a.__current.forEach((function(e){e.name===t&&e.currentIndex>=l&&e.currentIndex++}))}else a[t]={handlers:[u],runs:0};"hookAdded"!==t&&e.doAction("hookAdded",t,o,s,c)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}};var s=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(o,s){var c=e[n];if(i(o)&&(t||r(s))){if(!c[o])return 0;var a=0;if(t)a=c[o].handlers.length,c[o]={runs:c[o].runs,handlers:[]};else for(var u=c[o].handlers,l=function(e){u[e].namespace===s&&(u.splice(e,1),a++,c.__current.forEach((function(n){n.name===o&&n.currentIndex>=e&&n.currentIndex--})))},d=u.length-1;d>=0;d--)l(d);return"hookRemoved"!==o&&e.doAction("hookRemoved",o,s),a}}};var c=function(e,n){return function(t,r){var i=e[n];return void 0!==r?t in i&&i[t].handlers.some((function(e){return e.namespace===r})):t in i}};var a=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r){var i=e[n];i[r]||(i[r]={handlers:[],runs:0}),i[r].runs++;var o=i[r].handlers;for(var s=arguments.length,c=new Array(s>1?s-1:0),a=1;a<s;a++)c[a-1]=arguments[a];if(!o||!o.length)return t?c[0]:void 0;var u={name:r,currentIndex:0};for(i.__current.push(u);u.currentIndex<o.length;){var l=o[u.currentIndex],d=l.callback.apply(null,c);t&&(c[0]=d),u.currentIndex++}return i.__current.pop(),t?c[0]:void 0}};var u=function(e,n){return function(){var t,r,i=e[n];return null!==(t=null===(r=i.__current[i.__current.length-1])||void 0===r?void 0:r.name)&&void 0!==t?t:null}};var l=function(e,n){return function(t){var r=e[n];return void 0===t?void 0!==r.__current[0]:!!r.__current[0]&&t===r.__current[0].name}};var d=function(e,n){return function(t){var r=e[n];if(i(t))return r[t]&&r[t].runs?r[t].runs:0}},f=function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.actions=Object.create(null),this.actions.__current=[],this.filters=Object.create(null),this.filters.__current=[],this.addAction=o(this,"actions"),this.addFilter=o(this,"filters"),this.removeAction=s(this,"actions"),this.removeFilter=s(this,"filters"),this.hasAction=c(this,"actions"),this.hasFilter=c(this,"filters"),this.removeAllActions=s(this,"actions",!0),this.removeAllFilters=s(this,"filters",!0),this.doAction=a(this,"actions"),this.applyFilters=a(this,"filters",!0),this.currentAction=u(this,"actions"),this.currentFilter=u(this,"filters"),this.doingAction=l(this,"actions"),this.doingFilter=l(this,"filters"),this.didAction=d(this,"actions"),this.didFilter=d(this,"filters")};var h=function(){return new f},v=h();v.addAction,v.addFilter,v.removeAction,v.removeFilter,v.hasAction,v.hasFilter,v.removeAllActions,v.removeAllFilters,v.doAction,v.applyFilters,v.currentAction,v.currentFilter,v.doingAction,v.doingFilter,v.didAction,v.didFilter,v.actions,v.filters;window.isEditMode=!1,window.ea={hooks:h(),isEditMode:!1},jQuery(window).on("elementor/frontend/init",(function(){window.isEditMode=elementorFrontend.isEditMode(),window.ea.isEditMode=elementorFrontend.isEditMode(),ea.hooks.doAction("init"),ea.isEditMode&&ea.hooks.doAction("editMode.init")}))}});
assets/front-end/js/view/image-accordion.min.js CHANGED
@@ -1 +1 @@
1
- !function(e){var a={};function o(n){if(a[n])return a[n].exports;var r=a[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,o),r.l=!0,r.exports}o.m=e,o.c=a,o.d=function(e,a,n){o.o(e,a)||Object.defineProperty(e,a,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,a){if(1&a&&(e=o(e)),8&a)return e;if(4&a&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&a&&"string"!=typeof e)for(var r in e)o.d(n,r,function(a){return e[a]}.bind(null,r));return n},o.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(a,"a",a),a},o.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},o.p="",o(o.s=11)}({11:function(e,a){var o=function(e,a){var o=e.find(".eael-img-accordion").eq(0),n=void 0!==o.data("img-accordion-id")?o.data("img-accordion-id"):"",r=void 0!==o.data("img-accordion-type")?o.data("img-accordion-type"):"",i=0;"on-click"===r?(a("#eael-img-accordion-"+n+" a").on("click",(function(e){0==a(this).hasClass("overlay-active")&&e.preventDefault(),0==i&&(a("#eael-img-accordion-"+n+" a").hasClass("overlay-active")&&a("#eael-img-accordion-"+n+" a").removeClass("overlay-active"),i+=1),a("#eael-img-accordion-"+n+" a").css("flex","1"),a(this).find(".overlay").parent("a").addClass("overlay-active"),a("#eael-img-accordion-"+n+" a").find(".overlay-inner").removeClass("overlay-inner-show"),a(this).find(".overlay-inner").addClass("overlay-inner-show"),a(this).css("flex","3")})),a("#eael-img-accordion-"+n+" a").on("blur",(function(e){a("#eael-img-accordion-"+n+" a").css("flex","1"),a("#eael-img-accordion-"+n+" a").find(".overlay-inner").removeClass("overlay-inner-show"),a(this).find(".overlay").parent("a").removeClass("overlay-active")}))):a("#eael-img-accordion-"+n+" a").on("hover",(function(){a("#eael-img-accordion-"+n+" a").hasClass("overlay-active")&&(a("#eael-img-accordion-"+n+" a.overlay-active").css("flex","1"),a("#eael-img-accordion-"+n+" a").removeClass("overlay-active"),a("#eael-img-accordion-"+n+" a .overlay .overlay-inner").removeClass("overlay-inner-show"))}))};jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-image-accordion.default",o)}))}});
1
+ !function(e){var a={};function o(n){if(a[n])return a[n].exports;var r=a[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,o),r.l=!0,r.exports}o.m=e,o.c=a,o.d=function(e,a,n){o.o(e,a)||Object.defineProperty(e,a,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,a){if(1&a&&(e=o(e)),8&a)return e;if(4&a&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&a&&"string"!=typeof e)for(var r in e)o.d(n,r,function(a){return e[a]}.bind(null,r));return n},o.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(a,"a",a),a},o.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},o.p="",o(o.s=12)}({12:function(e,a){var o=function(e,a){var o=e.find(".eael-img-accordion").eq(0),n=void 0!==o.data("img-accordion-id")?o.data("img-accordion-id"):"",r=void 0!==o.data("img-accordion-type")?o.data("img-accordion-type"):"",i=0;"on-click"===r?(a("#eael-img-accordion-"+n+" a").on("click",(function(e){0==a(this).hasClass("overlay-active")&&e.preventDefault(),0==i&&(a("#eael-img-accordion-"+n+" a").hasClass("overlay-active")&&a("#eael-img-accordion-"+n+" a").removeClass("overlay-active"),i+=1),a("#eael-img-accordion-"+n+" a").css("flex","1"),a(this).find(".overlay").parent("a").addClass("overlay-active"),a("#eael-img-accordion-"+n+" a").find(".overlay-inner").removeClass("overlay-inner-show"),a(this).find(".overlay-inner").addClass("overlay-inner-show"),a(this).css("flex","3")})),a("#eael-img-accordion-"+n+" a").on("blur",(function(e){a("#eael-img-accordion-"+n+" a").css("flex","1"),a("#eael-img-accordion-"+n+" a").find(".overlay-inner").removeClass("overlay-inner-show"),a(this).find(".overlay").parent("a").removeClass("overlay-active")}))):a("#eael-img-accordion-"+n+" a").on("hover",(function(){a("#eael-img-accordion-"+n+" a").hasClass("overlay-active")&&(a("#eael-img-accordion-"+n+" a.overlay-active").css("flex","1"),a("#eael-img-accordion-"+n+" a").removeClass("overlay-active"),a("#eael-img-accordion-"+n+" a .overlay .overlay-inner").removeClass("overlay-inner-show"))}))};jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-image-accordion.default",o)}))}});
assets/front-end/js/view/load-more.js CHANGED
@@ -93,7 +93,7 @@
93
  /*! no static exports found */
94
  /***/ (function(module, exports) {
95
 
96
- eval("(function ($) {\n \"use strict\";\n\n $(document).on(\"click\", \".eael-load-more-button\", function (e) {\n e.preventDefault();\n e.stopPropagation();\n e.stopImmediatePropagation();\n var $this = $(this),\n $text = $(\"span\", $this).html(),\n $widget_id = $this.data(\"widget\"),\n $scope = $(\".elementor-element-\" + $widget_id),\n $class = $this.data(\"class\"),\n $args = $this.data(\"args\"),\n $settings = $this.data(\"settings\"),\n $layout = $this.data(\"layout\"),\n $template_info = $this.data('template'),\n $page = parseInt($this.data(\"page\")) + 1;\n\n if (typeof $widget_id == \"undefined\" || typeof $args == \"undefined\") {\n return;\n }\n\n var obj = {};\n var $data = {\n action: \"load_more\",\n \"class\": $class,\n args: $args,\n settings: $settings,\n page: $page,\n template_info: $template_info\n };\n String($args).split(\"&\").forEach(function (item, index) {\n var arr = String(item).split(\"=\");\n obj[arr[0]] = arr[1];\n });\n\n if (obj.orderby == \"rand\") {\n var $printed = $(\".eael-grid-post\");\n\n if ($printed.length) {\n var $ids = [];\n $printed.each(function (index, item) {\n var $id = $(item).data(\"id\");\n $ids.push($id);\n });\n $data.post__not_in = $ids;\n }\n }\n\n $this.addClass(\"button--loading\");\n $(\"span\", $this).html(\"Loading...\");\n $.ajax({\n url: localize.ajaxurl,\n type: \"post\",\n data: $data,\n success: function success(response) {\n var $content = $(response);\n\n if ($content.hasClass(\"no-posts-found\") || $content.length == 0) {\n $this.remove();\n } else {\n if ($data[\"class\"] == \"Essential_Addons_Elementor\\\\Elements\\\\Product_Grid\") {\n $(\".eael-product-grid .products\", $scope).append($content);\n var dynamicID = \"eael-product-\" + Date.now();\n\n if ($layout == \"masonry\") {\n $content.find('.woocommerce-product-gallery').addClass(dynamicID);\n $content.find('.woocommerce-product-gallery').addClass('eael-new-product');\n $(\".woocommerce-product-gallery.\" + dynamicID, $scope).each(function () {\n $(this).wc_product_gallery();\n });\n var $isotope = $(\".eael-product-grid .products\", $scope).isotope();\n $isotope.isotope(\"appended\", $content).isotope(\"layout\");\n }\n } else {\n $(\".eael-post-appender\", $scope).append($content);\n\n if ($layout == \"masonry\") {\n var $isotope = $(\".eael-post-appender\", $scope).isotope();\n $isotope.isotope(\"appended\", $content).isotope(\"layout\");\n $isotope.imagesLoaded().progress(function () {\n $isotope.isotope(\"layout\");\n });\n }\n }\n\n $this.removeClass(\"button--loading\");\n $(\"span\", $this).html($text);\n $this.data(\"page\", $page);\n }\n },\n error: function error(response) {\n console.log(response);\n }\n });\n });\n})(jQuery);\n\n//# sourceURL=webpack:///./src/js/view/load-more.js?");
97
 
98
  /***/ })
99
 
93
  /*! no static exports found */
94
  /***/ (function(module, exports) {
95
 
96
+ eval("(function ($) {\n \"use strict\";\n\n $(document).on(\"click\", \".eael-load-more-button\", function (e) {\n e.preventDefault();\n e.stopPropagation();\n e.stopImmediatePropagation();\n var $this = $(this),\n $LoaderSpan = $(\"span\", $this),\n $text = $LoaderSpan.html(),\n $widget_id = $this.data(\"widget\"),\n $page_id = $this.data(\"page-id\"),\n $nonce = $this.data(\"nonce\"),\n $scope = $(\".elementor-element-\" + $widget_id),\n $class = $this.data(\"class\"),\n $args = $this.data(\"args\"),\n $layout = $this.data(\"layout\"),\n $template_info = $this.data('template'),\n $page = parseInt($this.data(\"page\")) + 1;\n\n if (typeof $widget_id == \"undefined\" || typeof $args == \"undefined\") {\n return;\n }\n\n var obj = {};\n var $data = {\n action: \"load_more\",\n \"class\": $class,\n args: $args,\n page: $page,\n page_id: $page_id,\n widget_id: $widget_id,\n nonce: $nonce,\n template_info: $template_info\n };\n String($args).split(\"&\").forEach(function (item, index) {\n var arr = String(item).split(\"=\");\n obj[arr[0]] = arr[1];\n });\n\n if (obj.orderby == \"rand\") {\n var $printed = $(\".eael-grid-post\");\n\n if ($printed.length) {\n var $ids = [];\n $printed.each(function (index, item) {\n var $id = $(item).data(\"id\");\n $ids.push($id);\n });\n $data.post__not_in = $ids;\n }\n }\n\n $this.addClass(\"button--loading\");\n $LoaderSpan.html(localize.i18n.loading);\n $.ajax({\n url: localize.ajaxurl,\n type: \"post\",\n data: $data,\n success: function success(response) {\n var $content = $(response);\n\n if ($content.hasClass(\"no-posts-found\") || $content.length === 0) {\n $this.remove();\n } else {\n if ($data[\"class\"] == \"Essential_Addons_Elementor\\\\Elements\\\\Product_Grid\") {\n $content = $content.filter('li');\n $(\".eael-product-grid .products\", $scope).append($content);\n\n if ($layout == \"masonry\") {\n var dynamicID = \"eael-product-\" + Date.now();\n var $isotope = $(\".eael-product-grid .products\", $scope).isotope();\n $isotope.isotope(\"appended\", $content).isotope(\"layout\");\n $isotope.imagesLoaded().progress(function () {\n $isotope.isotope(\"layout\");\n });\n $content.find('.woocommerce-product-gallery').addClass(dynamicID);\n $content.find('.woocommerce-product-gallery').addClass('eael-new-product');\n $(\".woocommerce-product-gallery.\" + dynamicID, $scope).each(function () {\n $(this).wc_product_gallery();\n });\n }\n } else {\n $(\".eael-post-appender\", $scope).append($content);\n\n if ($layout == \"masonry\") {\n var $isotope = $(\".eael-post-appender\", $scope).isotope();\n $isotope.isotope(\"appended\", $content).isotope(\"layout\");\n $isotope.imagesLoaded().progress(function () {\n $isotope.isotope(\"layout\");\n });\n }\n }\n\n $this.removeClass(\"button--loading\");\n $LoaderSpan.html($text);\n $this.data(\"page\", $page);\n }\n },\n error: function error(response) {\n console.log(response);\n }\n });\n });\n})(jQuery);\n\n//# sourceURL=webpack:///./src/js/view/load-more.js?");
97
 
98
  /***/ })
99
 
assets/front-end/js/view/load-more.min.js CHANGED
@@ -1 +1 @@
1
- !function(e){var t={};function o(a){if(t[a])return t[a].exports;var n=t[a]={i:a,l:!1,exports:{}};return e[a].call(n.exports,n,n.exports,o),n.l=!0,n.exports}o.m=e,o.c=t,o.d=function(e,t,a){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(o.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)o.d(a,n,function(t){return e[t]}.bind(null,n));return a},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=12)}({12:function(e,t){!function(e){"use strict";e(document).on("click",".eael-load-more-button",(function(t){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation();var o=e(this),a=e("span",o).html(),n=o.data("widget"),r=e(".elementor-element-"+n),i=o.data("class"),l=o.data("args"),s=o.data("settings"),d=o.data("layout"),p=o.data("template"),u=parseInt(o.data("page"))+1;if(void 0!==n&&void 0!==l){var c={},f={action:"load_more",class:i,args:l,settings:s,page:u,template_info:p};if(String(l).split("&").forEach((function(e,t){var o=String(e).split("=");c[o[0]]=o[1]})),"rand"==c.orderby){var g=e(".eael-grid-post");if(g.length){var m=[];g.each((function(t,o){var a=e(o).data("id");m.push(a)})),f.post__not_in=m}}o.addClass("button--loading"),e("span",o).html("Loading..."),e.ajax({url:localize.ajaxurl,type:"post",data:f,success:function(t){var n=e(t);if(n.hasClass("no-posts-found")||0==n.length)o.remove();else{if("Essential_Addons_Elementor\\Elements\\Product_Grid"==f.class){e(".eael-product-grid .products",r).append(n);var i="eael-product-"+Date.now();if("masonry"==d)n.find(".woocommerce-product-gallery").addClass(i),n.find(".woocommerce-product-gallery").addClass("eael-new-product"),e(".woocommerce-product-gallery."+i,r).each((function(){e(this).wc_product_gallery()})),(l=e(".eael-product-grid .products",r).isotope()).isotope("appended",n).isotope("layout")}else{var l;if(e(".eael-post-appender",r).append(n),"masonry"==d)(l=e(".eael-post-appender",r).isotope()).isotope("appended",n).isotope("layout"),l.imagesLoaded().progress((function(){l.isotope("layout")}))}o.removeClass("button--loading"),e("span",o).html(a),o.data("page",u)}},error:function(e){console.log(e)}})}}))}(jQuery)}});
1
+ !function(e){var t={};function o(a){if(t[a])return t[a].exports;var n=t[a]={i:a,l:!1,exports:{}};return e[a].call(n.exports,n,n.exports,o),n.l=!0,n.exports}o.m=e,o.c=t,o.d=function(e,t,a){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(o.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)o.d(a,n,function(t){return e[t]}.bind(null,n));return a},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=13)}({13:function(e,t){!function(e){"use strict";e(document).on("click",".eael-load-more-button",(function(t){t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation();var o=e(this),a=e("span",o),n=a.html(),r=o.data("widget"),i=o.data("page-id"),l=o.data("nonce"),d=e(".elementor-element-"+r),s=o.data("class"),p=o.data("args"),u=o.data("layout"),c=o.data("template"),f=parseInt(o.data("page"))+1;if(void 0!==r&&void 0!==p){var g={},m={action:"load_more",class:s,args:p,page:f,page_id:i,widget_id:r,nonce:l,template_info:c};if(String(p).split("&").forEach((function(e,t){var o=String(e).split("=");g[o[0]]=o[1]})),"rand"==g.orderby){var y=e(".eael-grid-post");if(y.length){var v=[];y.each((function(t,o){var a=e(o).data("id");v.push(a)})),m.post__not_in=v}}o.addClass("button--loading"),a.html(localize.i18n.loading),e.ajax({url:localize.ajaxurl,type:"post",data:m,success:function(t){var r=e(t);if(r.hasClass("no-posts-found")||0===r.length)o.remove();else{if("Essential_Addons_Elementor\\Elements\\Product_Grid"==m.class){if(r=r.filter("li"),e(".eael-product-grid .products",d).append(r),"masonry"==u){var i,l="eael-product-"+Date.now();(i=e(".eael-product-grid .products",d).isotope()).isotope("appended",r).isotope("layout"),i.imagesLoaded().progress((function(){i.isotope("layout")})),r.find(".woocommerce-product-gallery").addClass(l),r.find(".woocommerce-product-gallery").addClass("eael-new-product"),e(".woocommerce-product-gallery."+l,d).each((function(){e(this).wc_product_gallery()}))}}else if(e(".eael-post-appender",d).append(r),"masonry"==u)(i=e(".eael-post-appender",d).isotope()).isotope("appended",r).isotope("layout"),i.imagesLoaded().progress((function(){i.isotope("layout")}));o.removeClass("button--loading"),a.html(n),o.data("page",f)}},error:function(e){console.log(e)}})}}))}(jQuery)}});
assets/front-end/js/view/login-register.js CHANGED
@@ -93,7 +93,7 @@
93
  /*! no static exports found */
94
  /***/ (function(module, exports) {
95
 
96
- eval("ea.hooks.addAction(\"init\", \"ea\", function () {\n var EALoginRegister = function EALoginRegister($scope, $) {\n var $wrap = $scope.find('.eael-login-registration-wrapper'); // cache wrapper\n\n var widgetId = $wrap.data('widget-id');\n var recaptchaSiteKey = $wrap.data('recaptcha-sitekey');\n var $loginFormWrapper = $scope.find(\"#eael-login-form-wrapper\");\n var loginRcTheme = $loginFormWrapper.data('recaptcha-theme');\n var loginRcSize = $loginFormWrapper.data('recaptcha-size');\n var $regFormWrapper = $scope.find(\"#eael-register-form-wrapper\");\n var regRcTheme = $regFormWrapper.data('recaptcha-theme');\n var regRcSize = $regFormWrapper.data('recaptcha-size');\n var $regLinkAction = $scope.find('#eael-lr-reg-toggle');\n var $loginLinkAction = $scope.find('#eael-lr-login-toggle');\n var $passField = $loginFormWrapper.find('#eael-user-password');\n var recaptchaAvailable = typeof grecaptcha !== 'undefined' && grecaptcha !== null;\n\n if ('form' === $regLinkAction.data('action')) {\n $regLinkAction.on('click', function (e) {\n e.preventDefault();\n $loginFormWrapper.hide();\n $regFormWrapper.fadeIn();\n });\n }\n\n if ('form' === $loginLinkAction.data('action')) {\n $loginLinkAction.on('click', function (e) {\n e.preventDefault();\n $regFormWrapper.hide();\n $loginFormWrapper.fadeIn();\n });\n } // Password Visibility Toggle\n\n\n var pass_shown = false;\n $(document).on('click', '#wp-hide-pw', function (e) {\n var $icon = $(this).find('span'); // cache\n\n if (pass_shown) {\n $passField.attr('type', 'password');\n $icon.removeClass('dashicons-hidden').addClass('dashicons-visibility');\n pass_shown = false;\n } else {\n $passField.attr('type', 'text');\n $icon.removeClass('dashicons-visibility').addClass('dashicons-hidden');\n pass_shown = true;\n }\n }); // reCAPTCHA\n\n function onloadLRcb() {\n var loginRecaptchaNode = document.getElementById('login-recaptcha-node-' + widgetId);\n var registerRecaptchaNode = document.getElementById('register-recaptcha-node-' + widgetId);\n\n if (loginRecaptchaNode) {\n grecaptcha.render(loginRecaptchaNode, {\n 'sitekey': recaptchaSiteKey,\n 'theme': loginRcTheme,\n 'size': loginRcSize\n });\n }\n\n if (registerRecaptchaNode) {\n grecaptcha.render(registerRecaptchaNode, {\n 'sitekey': recaptchaSiteKey,\n 'theme': regRcTheme,\n 'size': regRcSize\n });\n }\n }\n\n if (recaptchaAvailable && isEditMode) {\n // on elementor editor, window load event already fired, so run recaptcha\n onloadLRcb();\n } else {\n // on frontend, load even is yet to fire, so wait and fire recaptcha\n $(window).load(function () {\n if (recaptchaAvailable) {\n onloadLRcb();\n }\n });\n }\n };\n\n elementorFrontend.hooks.addAction(\"frontend/element_ready/eael-login-register.default\", EALoginRegister);\n});\n\n//# sourceURL=webpack:///./src/js/view/login-register.js?");
97
 
98
  /***/ })
99
 
93
  /*! no static exports found */
94
  /***/ (function(module, exports) {
95
 
96
+ eval("ea.hooks.addAction(\"init\", \"ea\", function () {\n var EALoginRegister = function EALoginRegister($scope, $) {\n var $wrap = $scope.find('.eael-login-registration-wrapper'); // cache wrapper\n\n var widgetId = $wrap.data('widget-id');\n var recaptchaSiteKey = $wrap.data('recaptcha-sitekey');\n var $loginFormWrapper = $scope.find(\"#eael-login-form-wrapper\");\n var loginRcTheme = $loginFormWrapper.data('recaptcha-theme');\n var loginRcSize = $loginFormWrapper.data('recaptcha-size');\n var $regFormWrapper = $scope.find(\"#eael-register-form-wrapper\");\n var regRcTheme = $regFormWrapper.data('recaptcha-theme');\n var regRcSize = $regFormWrapper.data('recaptcha-size');\n var $regLinkAction = $scope.find('#eael-lr-reg-toggle');\n var $loginLinkAction = $scope.find('#eael-lr-login-toggle');\n var $passField = $loginFormWrapper.find('#eael-user-password');\n var recaptchaAvailable = typeof grecaptcha !== 'undefined' && grecaptcha !== null;\n\n if ('form' === $regLinkAction.data('action')) {\n $regLinkAction.on('click', function (e) {\n e.preventDefault();\n $loginFormWrapper.hide();\n $regFormWrapper.fadeIn();\n });\n }\n\n if ('form' === $loginLinkAction.data('action')) {\n $loginLinkAction.on('click', function (e) {\n e.preventDefault();\n $regFormWrapper.hide();\n $loginFormWrapper.fadeIn();\n });\n } // Password Visibility Toggle\n\n\n var pass_shown = false;\n $(document).on('click', '#wp-hide-pw', function (e) {\n var $icon = $(this).find('span'); // cache\n\n if (pass_shown) {\n $passField.attr('type', 'password');\n $icon.removeClass('dashicons-hidden').addClass('dashicons-visibility');\n pass_shown = false;\n } else {\n $passField.attr('type', 'text');\n $icon.removeClass('dashicons-visibility').addClass('dashicons-hidden');\n pass_shown = true;\n }\n }); // reCAPTCHA\n\n function onloadLRcb() {\n var loginRecaptchaNode = document.getElementById('login-recaptcha-node-' + widgetId);\n var registerRecaptchaNode = document.getElementById('register-recaptcha-node-' + widgetId);\n\n if (loginRecaptchaNode) {\n grecaptcha.render(loginRecaptchaNode, {\n 'sitekey': recaptchaSiteKey,\n 'theme': loginRcTheme,\n 'size': loginRcSize\n });\n }\n\n if (registerRecaptchaNode) {\n grecaptcha.render(registerRecaptchaNode, {\n 'sitekey': recaptchaSiteKey,\n 'theme': regRcTheme,\n 'size': regRcSize\n });\n }\n }\n\n if (recaptchaAvailable && isEditMode) {\n // on elementor editor, window load event already fired, so run recaptcha\n onloadLRcb();\n } else {\n // on frontend, load even is yet to fire, so wait and fire recaptcha\n $(window).on('load', function () {\n if (recaptchaAvailable) {\n onloadLRcb();\n }\n });\n }\n };\n\n elementorFrontend.hooks.addAction(\"frontend/element_ready/eael-login-register.default\", EALoginRegister);\n});\n\n//# sourceURL=webpack:///./src/js/view/login-register.js?");
97
 
98
  /***/ })
99
 
assets/front-end/js/view/login-register.min.js CHANGED
@@ -1 +1 @@
1
- !function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=13)}({13:function(e,t){ea.hooks.addAction("init","ea",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-login-register.default",(function(e,t){var n=e.find(".eael-login-registration-wrapper"),r=n.data("widget-id"),a=n.data("recaptcha-sitekey"),i=e.find("#eael-login-form-wrapper"),o=i.data("recaptcha-theme"),d=i.data("recaptcha-size"),c=e.find("#eael-register-form-wrapper"),l=c.data("recaptcha-theme"),f=c.data("recaptcha-size"),u=e.find("#eael-lr-reg-toggle"),s=e.find("#eael-lr-login-toggle"),p=i.find("#eael-user-password"),h="undefined"!=typeof grecaptcha&&null!==grecaptcha;"form"===u.data("action")&&u.on("click",(function(e){e.preventDefault(),i.hide(),c.fadeIn()})),"form"===s.data("action")&&s.on("click",(function(e){e.preventDefault(),c.hide(),i.fadeIn()}));var g=!1;function m(){var e=document.getElementById("login-recaptcha-node-"+r),t=document.getElementById("register-recaptcha-node-"+r);e&&grecaptcha.render(e,{sitekey:a,theme:o,size:d}),t&&grecaptcha.render(t,{sitekey:a,theme:l,size:f})}t(document).on("click","#wp-hide-pw",(function(e){var n=t(this).find("span");g?(p.attr("type","password"),n.removeClass("dashicons-hidden").addClass("dashicons-visibility"),g=!1):(p.attr("type","text"),n.removeClass("dashicons-visibility").addClass("dashicons-hidden"),g=!0)})),h&&isEditMode?m():t(window).load((function(){h&&m()}))}))}))}});
1
+ !function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=14)}({14:function(e,t){ea.hooks.addAction("init","ea",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-login-register.default",(function(e,t){var n=e.find(".eael-login-registration-wrapper"),r=n.data("widget-id"),a=n.data("recaptcha-sitekey"),i=e.find("#eael-login-form-wrapper"),o=i.data("recaptcha-theme"),d=i.data("recaptcha-size"),c=e.find("#eael-register-form-wrapper"),l=c.data("recaptcha-theme"),f=c.data("recaptcha-size"),u=e.find("#eael-lr-reg-toggle"),s=e.find("#eael-lr-login-toggle"),p=i.find("#eael-user-password"),h="undefined"!=typeof grecaptcha&&null!==grecaptcha;"form"===u.data("action")&&u.on("click",(function(e){e.preventDefault(),i.hide(),c.fadeIn()})),"form"===s.data("action")&&s.on("click",(function(e){e.preventDefault(),c.hide(),i.fadeIn()}));var g=!1;function m(){var e=document.getElementById("login-recaptcha-node-"+r),t=document.getElementById("register-recaptcha-node-"+r);e&&grecaptcha.render(e,{sitekey:a,theme:o,size:d}),t&&grecaptcha.render(t,{sitekey:a,theme:l,size:f})}t(document).on("click","#wp-hide-pw",(function(e){var n=t(this).find("span");g?(p.attr("type","password"),n.removeClass("dashicons-hidden").addClass("dashicons-visibility"),g=!1):(p.attr("type","text"),n.removeClass("dashicons-visibility").addClass("dashicons-hidden"),g=!0)})),h&&isEditMode?m():t(window).on("load",(function(){h&&m()}))}))}))}});
assets/front-end/js/view/post-grid.min.js CHANGED
@@ -1 +1 @@
1
- !function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=14)}({14:function(e,t){var n=function(e,t){var n=t(".eael-post-appender",e),o=n.data("layout-mode");"masonry"===o&&(n.isotope({itemSelector:".eael-grid-post",layoutMode:o,percentPosition:!0}),n.imagesLoaded().progress((function(){n.isotope("layout")})))};jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-post-grid.default",n)}))}});
1
+ !function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=15)}({15:function(e,t){var n=function(e,t){var n=t(".eael-post-appender",e),o=n.data("layout-mode");"masonry"===o&&(n.isotope({itemSelector:".eael-grid-post",layoutMode:o,percentPosition:!0}),n.imagesLoaded().progress((function(){n.isotope("layout")})))};jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-post-grid.default",n)}))}});
assets/front-end/js/view/price-table.min.js CHANGED
@@ -1 +1 @@
1
- !function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=15)}({15:function(t,e){var n=function(t,e){if(e.fn.tooltipster){var n,r=t.find(".tooltip");for(n=0;n<r.length;n++){var o=e("#"+e(r[n]).attr("id")),a=void 0!==o.data("side")&&o.data("side"),i=void 0!==o.data("trigger")?o.data("trigger"):"hover",d=void 0!==o.data("animation")?o.data("animation"):"fade",u=void 0!==o.data("animation_duration")?o.data("animation_duration"):300,f=void 0!==o.data("theme")?o.data("theme"):"default",l="yes"==o.data("arrow");o.tooltipster({animation:d,trigger:i,side:a,delay:u,arrow:l,theme:"tooltipster-"+f})}}};jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-pricing-table.default",n)}))}});
1
+ !function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=16)}({16:function(t,e){var n=function(t,e){if(e.fn.tooltipster){var n,r=t.find(".tooltip");for(n=0;n<r.length;n++){var o=e("#"+e(r[n]).attr("id")),a=void 0!==o.data("side")&&o.data("side"),i=void 0!==o.data("trigger")?o.data("trigger"):"hover",d=void 0!==o.data("animation")?o.data("animation"):"fade",u=void 0!==o.data("animation_duration")?o.data("animation_duration"):300,f=void 0!==o.data("theme")?o.data("theme"):"default",l="yes"==o.data("arrow");o.tooltipster({animation:d,trigger:i,side:a,delay:u,arrow:l,theme:"tooltipster-"+f})}}};jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-pricing-table.default",n)}))}});
assets/front-end/js/view/product-grid.js CHANGED
@@ -93,7 +93,7 @@
93
  /*! no static exports found */
94
  /***/ (function(module, exports) {
95
 
96
- eval("var ProductGrid = function ProductGrid($scope, $) {\n // pagination\n $('.eael-woo-pagination', $scope).on('click', 'a', function (e) {\n e.preventDefault();\n var $this = $(this),\n nth = $this.data('pnumber'),\n lmt = $this.data('plimit'),\n ajax_url = localize.ajaxurl,\n args = $this.data('args'),\n settings = $this.data('settings'),\n widgetid = $this.data('widgetid'),\n widgetclass = \".elementor-element-\" + widgetid,\n template_info = $this.data('template');\n $.ajax({\n url: ajax_url,\n type: 'post',\n data: {\n action: 'woo_product_pagination_product',\n number: nth,\n limit: lmt,\n args: args,\n templateInfo: template_info,\n settings: settings\n },\n beforeSend: function beforeSend() {\n $(widgetclass).addClass('eael-product-loader');\n },\n success: function success(response) {\n // console.log(response);\n $(widgetclass + \" .eael-product-grid .products\").html(response);\n $(widgetclass + \" .woocommerce-product-gallery\").each(function () {\n $(this).wc_product_gallery();\n });\n },\n complete: function complete() {\n $(widgetclass).removeClass('eael-product-loader');\n }\n });\n $.ajax({\n url: ajax_url,\n type: 'post',\n data: {\n action: 'woo_product_pagination',\n number: nth,\n limit: lmt,\n args: args,\n settings: settings\n },\n // beforeSend\t: function(){\n // \t$(widgetclass+\" .eael-product-grid .products\").html(\"<li style='text-align:center;'>Loading please \" +\n // \t\t\"wait...!</li>\");\n // },\n success: function success(response) {\n $(widgetclass + \" .eael-product-grid .eael-woo-pagination\").html(response);\n }\n });\n });\n $(document).on('click', '.open-popup-link', function (e) {\n e.preventDefault();\n e.stopPropagation();\n var $this = $(this);\n var id = $this.attr('href');\n var popup = $(id);\n var popup_details = popup.children(\".eael-product-popup-details\");\n\n if (popup_details.height() > 400) {\n popup_details.css(\"height\", '75vh');\n } else {\n popup_details.css(\"height\", 'auto');\n } // if($layout_mode === 'masonry') {\n // \tif($(id+\" .woocommerce-product-gallery\").hasClass('eael-new-product')){\n // \t\t// $(id+\" .woocommerce-product-gallery.eael-new-product\").wc_product_gallery({\n // \t\t// \tphotoswipe_enabled:true,\n // \t\t// });\n // \t}\n // }\n\n\n $(id + \" .variations_form\").wc_variation_form();\n popup.addClass(\"eael-product-popup-ready\").removeClass(\"eael-product-modal-removing\");\n });\n $(document).on('keypress', '.eael-product-details-wrap input[type=number]', function (e) {\n var keyValue = e.keyCode || e.which;\n var regex = /^[0-9]+$/;\n var isValid = regex.test(String.fromCharCode(keyValue));\n\n if (!isValid) {\n return false;\n }\n\n return isValid;\n }); // handle add to cart for quick view\n\n $scope.on('click', '.eael-product-popup-details .single_add_to_cart_button', function (e) {\n e.preventDefault();\n var $this = $(this),\n product_id = $(this).val(),\n variation_id = $this.closest('form.cart').find('input[name=\"variation_id\"]').val() || '',\n quantity = $this.closest('form.cart').find('input[name=\"quantity\"]').val(),\n items = $this.closest('form.cart.grouped_form'),\n form = $this.closest('form.cart'),\n product_data = [];\n items = items.serializeArray();\n\n if (form.hasClass('variations_form')) {\n product_id = form.find('input[name=\"product_id\"]').val();\n }\n\n if (items.length > 0) {\n items.forEach(function (item, index) {\n var p_id = parseInt(item.name.replace(/[^\\d.]/g, ''), 10);\n\n if (item.name.indexOf('quantity[') >= 0 && item.value != '' && p_id > 0) {\n product_data[product_data.length] = {\n 'product_id': p_id,\n 'quantity': item.value,\n 'variation_id': 0\n };\n }\n });\n } else {\n product_data[0] = {\n 'product_id': product_id,\n 'quantity': quantity,\n 'variation_id': variation_id\n };\n }\n\n $this.removeClass('eael-addtocart-added');\n $this.addClass('eael-addtocart-loading');\n $.ajax({\n url: localize.ajaxurl,\n type: 'post',\n data: {\n action: 'eael_product_add_to_cart',\n product_data: product_data,\n eael_add_to_cart_nonce: localize.nonce\n },\n success: function success(response) {\n if (response.success) {\n $(document.body).trigger('wc_fragment_refresh');\n $this.removeClass('eael-addtocart-loading');\n $this.addClass('eael-addtocart-added');\n }\n }\n });\n });\n};\n\njQuery(window).on(\"elementor/frontend/init\", function () {\n elementorFrontend.hooks.addAction(\"frontend/element_ready/eicon-woocommerce.default\", ProductGrid);\n});\n\n//# sourceURL=webpack:///./src/js/view/product-grid.js?");
97
 
98
  /***/ })
99
 
93
  /*! no static exports found */
94
  /***/ (function(module, exports) {
95
 
96
+ eval("ea.hooks.addAction(\"init\", \"ea\", function () {\n var productGrid = function productGrid($scope, $) {\n var $wrap = $scope.find(\"#eael-product-grid\"); // cache wrapper\n\n var widgetId = $wrap.data(\"widget-id\");\n var pageId = $wrap.data(\"page-id\");\n var nonce = $wrap.data(\"nonce\");\n var overlay = document.createElement(\"div\");\n overlay.classList.add(\"wcpc-overlay\");\n overlay.setAttribute(\"id\", \"wcpc-overlay\");\n var body = document.getElementsByTagName(\"body\")[0];\n body.appendChild(overlay);\n var overlayNode = document.getElementById(\"wcpc-overlay\");\n var $doc = $(document);\n var loader = false;\n var compareBtn = false;\n var hasCompareIcon = false;\n var compareBtnSpan = false;\n var requestType = false; // compare | remove\n\n var iconBeforeCompare = '<i class=\"fas fa-exchange-alt\"></i>';\n var iconAfterCompare = '<i class=\"fas fa-check-circle\"></i>';\n var modalTemplate = \"\\n <div class=\\\"eael-wcpc-modal\\\">\\n <i title=\\\"Close\\\" class=\\\"close-modal far fa-times-circle\\\"></i>\\n <div class=\\\"modal__content\\\" id=\\\"eael_modal_content\\\">\\n </div>\\n </div>\\n \";\n $(body).append(modalTemplate);\n var $modalContentWraper = $(\"#eael_modal_content\");\n var modal = document.getElementsByClassName(\"eael-wcpc-modal\")[0];\n var ajaxData = [{\n name: \"action\",\n value: \"eael_product_grid\"\n }, {\n name: \"widget_id\",\n value: widgetId\n }, {\n name: \"page_id\",\n value: pageId\n }, {\n name: \"nonce\",\n value: nonce\n }];\n\n var sendData = function sendData(ajaxData, successCb, errorCb, beforeCb, completeCb) {\n $.ajax({\n url: localize.ajaxurl,\n type: \"POST\",\n dataType: \"json\",\n data: ajaxData,\n beforeSend: beforeCb,\n success: successCb,\n error: errorCb,\n complete: completeCb\n });\n };\n\n $doc.on(\"click\", \".eael-wc-compare\", function (e) {\n e.preventDefault();\n e.stopImmediatePropagation();\n requestType = \"compare\";\n compareBtn = $(this);\n compareBtnSpan = compareBtn.find(\".eael-wc-compare-text\");\n\n if (!compareBtnSpan.length) {\n hasCompareIcon = compareBtn.hasClass(\"eael-wc-compare-icon\");\n }\n\n if (!hasCompareIcon) {\n loader = compareBtn.find(\".eael-wc-compare-loader\");\n loader.show();\n }\n\n var product_id = compareBtn.data(\"product-id\");\n var oldProductIds = localStorage.getItem('productIds');\n\n if (oldProductIds) {\n oldProductIds = JSON.parse(oldProductIds);\n oldProductIds.push(product_id);\n } else {\n oldProductIds = [product_id];\n }\n\n ajaxData.push({\n name: \"product_id\",\n value: compareBtn.data(\"product-id\")\n });\n ajaxData.push({\n name: \"product_ids\",\n value: JSON.stringify(oldProductIds)\n });\n sendData(ajaxData, handleSuccess, handleError);\n });\n $doc.on(\"click\", \".close-modal\", function (e) {\n modal.style.visibility = \"hidden\";\n modal.style.opacity = \"0\";\n overlayNode.style.visibility = \"hidden\";\n overlayNode.style.opacity = \"0\";\n });\n $doc.on(\"click\", \".eael-wc-remove\", function (e) {\n e.preventDefault();\n e.stopImmediatePropagation();\n var $rBtn = $(this);\n var productId = $rBtn.data(\"product-id\");\n $rBtn.addClass(\"disable\");\n $rBtn.prop(\"disabled\", true); // prevent additional ajax request\n\n var oldProductIds = localStorage.getItem('productIds');\n\n if (oldProductIds) {\n oldProductIds = JSON.parse(oldProductIds);\n oldProductIds.push(productId);\n } else {\n oldProductIds = [productId];\n }\n\n var rmData = Array.from(ajaxData);\n rmData.push({\n name: \"product_id\",\n value: productId\n });\n rmData.push({\n name: \"remove_product\",\n value: 1\n });\n rmData.push({\n name: \"product_ids\",\n value: JSON.stringify(oldProductIds)\n });\n requestType = \"remove\";\n var compareBtn = $('button[data-product-id=\"' + productId + '\"]');\n compareBtnSpan = compareBtn.find(\".eael-wc-compare-text\");\n\n if (!compareBtnSpan.length) {\n hasCompareIcon = compareBtn.hasClass(\"eael-wc-compare-icon\");\n }\n\n sendData(rmData, handleSuccess, handleError);\n });\n\n function handleSuccess(data) {\n var success = data && data.success;\n\n if (success) {\n $modalContentWraper.html(data.data.compare_table);\n modal.style.visibility = \"visible\";\n modal.style.opacity = \"1\";\n overlayNode.style.visibility = \"visible\";\n overlayNode.style.opacity = \"1\";\n localStorage.setItem('productIds', JSON.stringify(data.data.product_ids));\n }\n\n if (loader) {\n loader.hide();\n }\n\n if (\"compare\" === requestType) {\n if (compareBtnSpan && compareBtnSpan.length) {\n compareBtnSpan.text(localize.i18n.added);\n } else if (hasCompareIcon) {\n compareBtn.html(iconAfterCompare);\n }\n }\n\n if (\"remove\" === requestType) {\n if (compareBtnSpan && compareBtnSpan.length) {\n compareBtnSpan.text(localize.i18n.compare);\n } else if (hasCompareIcon) {\n compareBtn.html(iconBeforeCompare);\n }\n }\n }\n\n function handleError(xhr, err) {\n console.log(err.toString());\n } // pagination\n\n\n $(\".eael-woo-pagination\", $scope).on(\"click\", \"a\", function (e) {\n e.preventDefault();\n var $this = $(this),\n nth = $this.data(\"pnumber\"),\n lmt = $this.data(\"plimit\"),\n ajax_url = localize.ajaxurl,\n args = $this.data(\"args\"),\n settings = $this.data(\"settings\"),\n widgetid = $this.data(\"widgetid\"),\n widgetclass = \".elementor-element-\" + widgetid,\n template_info = $this.data(\"template\");\n $.ajax({\n url: ajax_url,\n type: \"post\",\n data: {\n action: \"woo_product_pagination_product\",\n number: nth,\n limit: lmt,\n args: args,\n templateInfo: template_info,\n settings: settings\n },\n beforeSend: function beforeSend() {\n $(widgetclass).addClass(\"eael-product-loader\");\n },\n success: function success(response) {\n $(widgetclass + \" .eael-product-grid .products\").html(response);\n $(widgetclass + \" .woocommerce-product-gallery\").each(function () {\n $(this).wc_product_gallery();\n });\n },\n complete: function complete() {\n $(widgetclass).removeClass(\"eael-product-loader\");\n }\n });\n $.ajax({\n url: ajax_url,\n type: \"post\",\n data: {\n action: \"woo_product_pagination\",\n number: nth,\n limit: lmt,\n args: args,\n settings: settings\n },\n // beforeSend\t: function(){\n // \t$(widgetclass+\" .eael-product-grid .products\").html(\"<li style='text-align:center;'>Loading please \" +\n // \t\t\"wait...!</li>\");\n // },\n success: function success(response) {\n $(widgetclass + \" .eael-product-grid .eael-woo-pagination\").html(response);\n }\n });\n });\n $(document).on(\"click\", \".open-popup-link\", function (e) {\n e.preventDefault();\n e.stopPropagation();\n var $this = $(this);\n var id = $this.attr(\"href\");\n var popup = $(id);\n var popup_details = popup.children(\".eael-product-popup-details\");\n\n if (popup_details.height() > 400) {\n popup_details.css(\"height\", \"75vh\");\n } else {\n popup_details.css(\"height\", \"auto\");\n }\n\n $(id + \" .variations_form\").wc_variation_form();\n popup.addClass(\"eael-product-popup-ready\").removeClass(\"eael-product-modal-removing\");\n });\n $(document).on(\"keypress\", \".eael-product-details-wrap input[type=number]\", function (e) {\n var keyValue = e.keyCode || e.which;\n var regex = /^[0-9]+$/;\n var isValid = regex.test(String.fromCharCode(keyValue));\n\n if (!isValid) {\n return false;\n }\n\n return isValid;\n }); // handle add to cart for quick view\n\n $scope.on(\"click\", \".eael-product-popup-details .single_add_to_cart_button\", function (e) {\n e.preventDefault();\n var $this = $(this),\n product_id = $(this).val(),\n variation_id = $this.closest(\"form.cart\").find('input[name=\"variation_id\"]').val() || \"\",\n quantity = $this.closest(\"form.cart\").find('input[name=\"quantity\"]').val(),\n items = $this.closest(\"form.cart.grouped_form\"),\n form = $this.closest(\"form.cart\"),\n product_data = [];\n items = items.serializeArray();\n\n if (form.hasClass(\"variations_form\")) {\n product_id = form.find('input[name=\"product_id\"]').val();\n }\n\n if (items.length > 0) {\n items.forEach(function (item, index) {\n var p_id = parseInt(item.name.replace(/[^\\d.]/g, \"\"), 10);\n\n if (item.name.indexOf(\"quantity[\") >= 0 && item.value != \"\" && p_id > 0) {\n product_data[product_data.length] = {\n product_id: p_id,\n quantity: item.value,\n variation_id: 0\n };\n }\n });\n } else {\n product_data[0] = {\n product_id: product_id,\n quantity: quantity,\n variation_id: variation_id\n };\n }\n\n $this.removeClass(\"eael-addtocart-added\");\n $this.addClass(\"eael-addtocart-loading\");\n $.ajax({\n url: localize.ajaxurl,\n type: \"post\",\n data: {\n action: \"eael_product_add_to_cart\",\n product_data: product_data,\n eael_add_to_cart_nonce: localize.nonce\n },\n success: function success(response) {\n if (response.success) {\n $(document.body).trigger(\"wc_fragment_refresh\");\n $this.removeClass(\"eael-addtocart-loading\");\n $this.addClass(\"eael-addtocart-added\");\n }\n }\n });\n });\n $(document).on(\"click\", \".eael-product-popup-close\", function (event) {\n event.stopPropagation();\n $(\".eael-product-popup\").addClass(\"eael-product-modal-removing\").removeClass(\"eael-product-popup-ready\");\n });\n $(document).on(\"click\", function (event) {\n if (event.target.closest(\".eael-product-popup-details\")) return;\n $(\".eael-product-popup.eael-product-zoom-in.eael-product-popup-ready\").addClass(\"eael-product-modal-removing\").removeClass(\"eael-product-popup-ready\");\n });\n\n if (isEditMode) {\n $(\".eael-product-image-wrap .woocommerce-product-gallery\").css(\"opacity\", \"1\");\n }\n };\n\n elementorFrontend.hooks.addAction(\"frontend/element_ready/eicon-woocommerce.default\", productGrid);\n});\n\n//# sourceURL=webpack:///./src/js/view/product-grid.js?");
97
 
98
  /***/ })
99
 
assets/front-end/js/view/product-grid.min.js CHANGED
@@ -1 +1 @@
1
- !function(e){var t={};function a(o){if(t[o])return t[o].exports;var n=t[o]={i:o,l:!1,exports:{}};return e[o].call(n.exports,n,n.exports,a),n.l=!0,n.exports}a.m=e,a.c=t,a.d=function(e,t,o){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(a.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)a.d(o,n,function(t){return e[t]}.bind(null,n));return o},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=16)}({16:function(e,t){var a=function(e,t){t(".eael-woo-pagination",e).on("click","a",(function(e){e.preventDefault();var a=t(this),o=a.data("pnumber"),n=a.data("plimit"),r=localize.ajaxurl,i=a.data("args"),d=a.data("settings"),c=".elementor-element-"+a.data("widgetid"),l=a.data("template");t.ajax({url:r,type:"post",data:{action:"woo_product_pagination_product",number:o,limit:n,args:i,templateInfo:l,settings:d},beforeSend:function(){t(c).addClass("eael-product-loader")},success:function(e){t(c+" .eael-product-grid .products").html(e),t(c+" .woocommerce-product-gallery").each((function(){t(this).wc_product_gallery()}))},complete:function(){t(c).removeClass("eael-product-loader")}}),t.ajax({url:r,type:"post",data:{action:"woo_product_pagination",number:o,limit:n,args:i,settings:d},success:function(e){t(c+" .eael-product-grid .eael-woo-pagination").html(e)}})})),t(document).on("click",".open-popup-link",(function(e){e.preventDefault(),e.stopPropagation();var a=t(this).attr("href"),o=t(a),n=o.children(".eael-product-popup-details");n.height()>400?n.css("height","75vh"):n.css("height","auto"),t(a+" .variations_form").wc_variation_form(),o.addClass("eael-product-popup-ready").removeClass("eael-product-modal-removing")})),t(document).on("keypress",".eael-product-details-wrap input[type=number]",(function(e){var t=e.keyCode||e.which,a=/^[0-9]+$/.test(String.fromCharCode(t));return a||!1})),e.on("click",".eael-product-popup-details .single_add_to_cart_button",(function(e){e.preventDefault();var a=t(this),o=t(this).val(),n=a.closest("form.cart").find('input[name="variation_id"]').val()||"",r=a.closest("form.cart").find('input[name="quantity"]').val(),i=a.closest("form.cart.grouped_form"),d=a.closest("form.cart"),c=[];i=i.serializeArray(),d.hasClass("variations_form")&&(o=d.find('input[name="product_id"]').val()),i.length>0?i.forEach((function(e,t){var a=parseInt(e.name.replace(/[^\d.]/g,""),10);e.name.indexOf("quantity[")>=0&&""!=e.value&&a>0&&(c[c.length]={product_id:a,quantity:e.value,variation_id:0})})):c[0]={product_id:o,quantity:r,variation_id:n},a.removeClass("eael-addtocart-added"),a.addClass("eael-addtocart-loading"),t.ajax({url:localize.ajaxurl,type:"post",data:{action:"eael_product_add_to_cart",product_data:c,eael_add_to_cart_nonce:localize.nonce},success:function(e){e.success&&(t(document.body).trigger("wc_fragment_refresh"),a.removeClass("eael-addtocart-loading"),a.addClass("eael-addtocart-added"))}})}))};jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eicon-woocommerce.default",a)}))}});
1
+ !function(e){var t={};function a(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.m=e,a.c=t,a.d=function(e,t,o){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(a.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)a.d(o,r,function(t){return e[t]}.bind(null,r));return o},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=17)}({17:function(e,t){ea.hooks.addAction("init","ea",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eicon-woocommerce.default",(function(e,t){var a=e.find("#eael-product-grid"),o=a.data("widget-id"),r=a.data("page-id"),n=a.data("nonce"),i=document.createElement("div");i.classList.add("wcpc-overlay"),i.setAttribute("id","wcpc-overlay");var c=document.getElementsByTagName("body")[0];c.appendChild(i);var d=document.getElementById("wcpc-overlay"),l=t(document),s=!1,u=!1,p=!1,m=!1,f=!1;t(c).append('\n <div class="eael-wcpc-modal">\n <i title="Close" class="close-modal far fa-times-circle"></i>\n <div class="modal__content" id="eael_modal_content">\n </div>\n </div>\n ');var v=t("#eael_modal_content"),g=document.getElementsByClassName("eael-wcpc-modal")[0],y=[{name:"action",value:"eael_product_grid"},{name:"widget_id",value:o},{name:"page_id",value:r},{name:"nonce",value:n}],_=function(e,a,o,r,n){t.ajax({url:localize.ajaxurl,type:"POST",dataType:"json",data:e,beforeSend:r,success:a,error:o,complete:n})};function h(e){e&&e.success&&(v.html(e.data.compare_table),g.style.visibility="visible",g.style.opacity="1",d.style.visibility="visible",d.style.opacity="1",localStorage.setItem("productIds",JSON.stringify(e.data.product_ids))),s&&s.hide(),"compare"===f&&(m&&m.length?m.text(localize.i18n.added):p&&u.html('<i class="fas fa-check-circle"></i>')),"remove"===f&&(m&&m.length?m.text(localize.i18n.compare):p&&u.html('<i class="fas fa-exchange-alt"></i>'))}function b(e,t){console.log(t.toString())}l.on("click",".eael-wc-compare",(function(e){e.preventDefault(),e.stopImmediatePropagation(),f="compare",u=t(this),(m=u.find(".eael-wc-compare-text")).length||(p=u.hasClass("eael-wc-compare-icon")),p||(s=u.find(".eael-wc-compare-loader")).show();var a=u.data("product-id"),o=localStorage.getItem("productIds");o?(o=JSON.parse(o)).push(a):o=[a],y.push({name:"product_id",value:u.data("product-id")}),y.push({name:"product_ids",value:JSON.stringify(o)}),_(y,h,b)})),l.on("click",".close-modal",(function(e){g.style.visibility="hidden",g.style.opacity="0",d.style.visibility="hidden",d.style.opacity="0"})),l.on("click",".eael-wc-remove",(function(e){e.preventDefault(),e.stopImmediatePropagation();var a=t(this),o=a.data("product-id");a.addClass("disable"),a.prop("disabled",!0);var r=localStorage.getItem("productIds");r?(r=JSON.parse(r)).push(o):r=[o];var n=Array.from(y);n.push({name:"product_id",value:o}),n.push({name:"remove_product",value:1}),n.push({name:"product_ids",value:JSON.stringify(r)}),f="remove";var i=t('button[data-product-id="'+o+'"]');(m=i.find(".eael-wc-compare-text")).length||(p=i.hasClass("eael-wc-compare-icon")),_(n,h,b)})),t(".eael-woo-pagination",e).on("click","a",(function(e){e.preventDefault();var a=t(this),o=a.data("pnumber"),r=a.data("plimit"),n=localize.ajaxurl,i=a.data("args"),c=a.data("settings"),d=".elementor-element-"+a.data("widgetid"),l=a.data("template");t.ajax({url:n,type:"post",data:{action:"woo_product_pagination_product",number:o,limit:r,args:i,templateInfo:l,settings:c},beforeSend:function(){t(d).addClass("eael-product-loader")},success:function(e){t(d+" .eael-product-grid .products").html(e),t(d+" .woocommerce-product-gallery").each((function(){t(this).wc_product_gallery()}))},complete:function(){t(d).removeClass("eael-product-loader")}}),t.ajax({url:n,type:"post",data:{action:"woo_product_pagination",number:o,limit:r,args:i,settings:c},success:function(e){t(d+" .eael-product-grid .eael-woo-pagination").html(e)}})})),t(document).on("click",".open-popup-link",(function(e){e.preventDefault(),e.stopPropagation();var a=t(this).attr("href"),o=t(a),r=o.children(".eael-product-popup-details");r.height()>400?r.css("height","75vh"):r.css("height","auto"),t(a+" .variations_form").wc_variation_form(),o.addClass("eael-product-popup-ready").removeClass("eael-product-modal-removing")})),t(document).on("keypress",".eael-product-details-wrap input[type=number]",(function(e){var t=e.keyCode||e.which,a=/^[0-9]+$/.test(String.fromCharCode(t));return a||!1})),e.on("click",".eael-product-popup-details .single_add_to_cart_button",(function(e){e.preventDefault();var a=t(this),o=t(this).val(),r=a.closest("form.cart").find('input[name="variation_id"]').val()||"",n=a.closest("form.cart").find('input[name="quantity"]').val(),i=a.closest("form.cart.grouped_form"),c=a.closest("form.cart"),d=[];i=i.serializeArray(),c.hasClass("variations_form")&&(o=c.find('input[name="product_id"]').val()),i.length>0?i.forEach((function(e,t){var a=parseInt(e.name.replace(/[^\d.]/g,""),10);e.name.indexOf("quantity[")>=0&&""!=e.value&&a>0&&(d[d.length]={product_id:a,quantity:e.value,variation_id:0})})):d[0]={product_id:o,quantity:n,variation_id:r},a.removeClass("eael-addtocart-added"),a.addClass("eael-addtocart-loading"),t.ajax({url:localize.ajaxurl,type:"post",data:{action:"eael_product_add_to_cart",product_data:d,eael_add_to_cart_nonce:localize.nonce},success:function(e){e.success&&(t(document.body).trigger("wc_fragment_refresh"),a.removeClass("eael-addtocart-loading"),a.addClass("eael-addtocart-added"))}})})),t(document).on("click",".eael-product-popup-close",(function(e){e.stopPropagation(),t(".eael-product-popup").addClass("eael-product-modal-removing").removeClass("eael-product-popup-ready")})),t(document).on("click",(function(e){e.target.closest(".eael-product-popup-details")||t(".eael-product-popup.eael-product-zoom-in.eael-product-popup-ready").addClass("eael-product-modal-removing").removeClass("eael-product-popup-ready")})),isEditMode&&t(".eael-product-image-wrap .woocommerce-product-gallery").css("opacity","1")}))}))}});
assets/front-end/js/view/progress-bar.min.js CHANGED
@@ -1 +1 @@
1
- !function(e){var r={};function t(n){if(r[n])return r[n].exports;var o=r[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,t),o.l=!0,o.exports}t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var o in e)t.d(n,o,function(r){return e[r]}.bind(null,o));return n},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},t.p="",t(t.s=17)}({17:function(e,r){var t=function(e,r){var t=r(".eael-progressbar",e),n=t.data("layout"),o=t.data("count"),i=t.data("duration");o>100&&(o=100),t.one("inview",(function(){"line"==n?r(".eael-progressbar-line-fill",t).css({width:o+"%"}):"half_circle"==n&&r(".eael-progressbar-circle-half",t).css({transform:"rotate("+1.8*o+"deg)"}),ea.hooks.doAction("progressBar.initValue",t,n,o),r(".eael-progressbar-count",t).prop({counter:0}).animate({counter:o},{duration:i,easing:"linear",step:function(e){if("circle"==n||"circle_fill"==n){var o=3.6*e;r(".eael-progressbar-circle-half-left",t).css({transform:"rotate("+o+"deg)"}),o>180&&(r(".eael-progressbar-circle-pie",t).css({"-webkit-clip-path":"inset(0)","clip-path":"inset(0)"}),r(".eael-progressbar-circle-half-right",t).css({visibility:"visible"}))}r(this).text(Math.ceil(e))}})}))};jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-progress-bar.default",t)}))}});
1
+ !function(e){var r={};function t(n){if(r[n])return r[n].exports;var o=r[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,t),o.l=!0,o.exports}t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var o in e)t.d(n,o,function(r){return e[r]}.bind(null,o));return n},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},t.p="",t(t.s=18)}({18:function(e,r){var t=function(e,r){var t=r(".eael-progressbar",e),n=t.data("layout"),o=t.data("count"),i=t.data("duration");o>100&&(o=100),t.one("inview",(function(){"line"==n?r(".eael-progressbar-line-fill",t).css({width:o+"%"}):"half_circle"==n&&r(".eael-progressbar-circle-half",t).css({transform:"rotate("+1.8*o+"deg)"}),ea.hooks.doAction("progressBar.initValue",t,n,o),r(".eael-progressbar-count",t).prop({counter:0}).animate({counter:o},{duration:i,easing:"linear",step:function(e){if("circle"==n||"circle_fill"==n){var o=3.6*e;r(".eael-progressbar-circle-half-left",t).css({transform:"rotate("+o+"deg)"}),o>180&&(r(".eael-progressbar-circle-pie",t).css({"-webkit-clip-path":"inset(0)","clip-path":"inset(0)"}),r(".eael-progressbar-circle-half-right",t).css({visibility:"visible"}))}r(this).text(Math.ceil(e))}})}))};jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-progress-bar.default",t)}))}});
assets/front-end/js/view/reading-progress.min.js CHANGED
@@ -1 +1 @@
1
- !function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=18)}({18:function(e,t){jQuery(document).ready((function(){jQuery(window).scroll((function(){var e=(document.body.scrollTop||document.documentElement.scrollTop)/(document.documentElement.scrollHeight-document.documentElement.clientHeight)*100;jQuery(".eael-reading-progress-fill").css({width:e+"%"})}))}))}});
1
+ !function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=19)}({19:function(e,t){jQuery(document).ready((function(){jQuery(window).scroll((function(){var e=(document.body.scrollTop||document.documentElement.scrollTop)/(document.documentElement.scrollHeight-document.documentElement.clientHeight)*100;jQuery(".eael-reading-progress-fill").css({width:e+"%"})}))}))}});
assets/front-end/js/view/sticky-video.min.js CHANGED
@@ -1 +1 @@
1
- !function(e){var t={};function i(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,i),r.l=!0,r.exports}i.m=e,i.c=t,i.d=function(e,t,o){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(i.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(o,r,function(t){return e[t]}.bind(null,r));return o},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=19)}({19:function(e,t){var i="",o=0,r=0,a=0,s="off",n=0;function l(e){var t=jQuery(e).parent().height(),i=n*t/100;return jQuery(e).parent().offset().top+i}function c(e,t,i){"top-left"==e&&(jQuery(".eael-sticky-video-player2.out").css("top","40px"),jQuery(".eael-sticky-video-player2.out").css("left","40px")),"top-right"==e&&(jQuery(".eael-sticky-video-player2.out").css("top","40px"),jQuery(".eael-sticky-video-player2.out").css("right","40px")),"bottom-right"==e&&(jQuery(".eael-sticky-video-player2.out").css("bottom","40px"),jQuery(".eael-sticky-video-player2.out").css("right","40px")),"bottom-left"==e&&(jQuery(".eael-sticky-video-player2.out").css("bottom","40px"),jQuery(".eael-sticky-video-player2.out").css("left","40px")),jQuery(".eael-sticky-video-player2.out").css("width",i+"px"),jQuery(".eael-sticky-video-player2.out").css("height",t+"px")}function u(e,t){e.on("play",(function(e){a=l(t),jQuery(".eael-sticky-video-player2").removeAttr("id"),jQuery(".eael-sticky-video-player2").removeClass("out"),t.attr("id","videobox"),s="on",i=t.data("position"),r=t.data("sheight"),o=t.data("swidth")}))}jQuery(window).on("elementor/frontend/init",(function(){isEditMode&&elementor.hooks.addAction("panel/open_editor/widget/eael-sticky-video",(function(e,t,i){var o;t.attributes.settings.on("change:eaelsv_sticky_width",(function(){clearTimeout(o),o=setTimeout((function(){var i=Math.ceil(t.getSetting("eaelsv_sticky_width")/1.78);t.attributes.settings.attributes.eaelsv_sticky_height=i,e.el.querySelector('[data-setting="eaelsv_sticky_height"]').value=i}),250)})),t.attributes.settings.on("change:eaelsv_sticky_height",(function(){clearTimeout(o),o=setTimeout((function(){var i=Math.ceil(1.78*t.getSetting("eaelsv_sticky_height"));t.attributes.settings.attributes.eaelsv_sticky_width=i,e.el.querySelector('[data-setting="eaelsv_sticky_width"]').value=i}),250)}))})),elementorFrontend.hooks.addAction("frontend/element_ready/eael-sticky-video.default",(function(e,t){t(".eaelsv-sticky-player-close",e).hide();var y,d,p,v=e.find(".eael-sticky-video-player2");y=v.data("sticky"),d=v.data("autoplay"),i=v.data("position"),r=v.data("sheight"),o=v.data("swidth"),p=v.data("overlay"),n=v.data("scroll_height"),c(i,r,o);var f=new Plyr("#eaelsv-player-"+e.data("id"));if("no"===p&&"yes"===y&&(a=l(v),v.attr("id","videobox"),s="on",u(f,v)),"yes"===p&&"yes"===d){var h=v.prev();s="off",t(".eael-sticky-video-wrapper > i").hide(),h.css("display","none"),f.play(),"yes"===y&&(a=l(v),v.attr("id","videobox"),s="on",u(f,v))}else if("yes"===p){h=v.prev();s="off",t(h).on("click",(function(){t(".eael-sticky-video-wrapper > i").hide(),t(this).css("display","none"),f.play(),"yes"===y&&(a=l(v),v.attr("id","videobox"),s="on",u(f,v))}))}f.on("pause",(function(e){s="off"})),f.on("play",(function(e){s="on"})),t(".eaelsv-sticky-player-close").on("click",(function(){v.removeClass("out").addClass("in"),t(".eael-sticky-video-player2").removeAttr("style"),s="off"})),v.parent().css("height",v.height()+"px"),t(window).resize((function(){v.parent().css("height",v.height()+"px")}))}))})),jQuery(window).scroll((function(){var e=jQuery(window).scrollTop();jQuery(document).height()-e>jQuery(window).height()+400&&(e>=a?"on"==s&&(jQuery("#videobox").find(".eaelsv-sticky-player-close").css("display","block"),jQuery("#videobox").removeClass("in").addClass("out"),c(i,r,o)):(jQuery(".eaelsv-sticky-player-close").hide(),jQuery("#videobox").removeClass("out").addClass("in"),jQuery(".eael-sticky-video-player2").removeAttr("style")))}))}});
1
+ !function(e){var t={};function i(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,i),r.l=!0,r.exports}i.m=e,i.c=t,i.d=function(e,t,o){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(i.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(o,r,function(t){return e[t]}.bind(null,r));return o},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=20)}({20:function(e,t){var i="",o=0,r=0,a=0,s="off",n=0;function l(e){var t=jQuery(e).parent().height(),i=n*t/100;return jQuery(e).parent().offset().top+i}function c(e,t,i){"top-left"==e&&(jQuery(".eael-sticky-video-player2.out").css("top","40px"),jQuery(".eael-sticky-video-player2.out").css("left","40px")),"top-right"==e&&(jQuery(".eael-sticky-video-player2.out").css("top","40px"),jQuery(".eael-sticky-video-player2.out").css("right","40px")),"bottom-right"==e&&(jQuery(".eael-sticky-video-player2.out").css("bottom","40px"),jQuery(".eael-sticky-video-player2.out").css("right","40px")),"bottom-left"==e&&(jQuery(".eael-sticky-video-player2.out").css("bottom","40px"),jQuery(".eael-sticky-video-player2.out").css("left","40px")),jQuery(".eael-sticky-video-player2.out").css("width",i+"px"),jQuery(".eael-sticky-video-player2.out").css("height",t+"px")}function u(e,t){e.on("play",(function(e){a=l(t),jQuery(".eael-sticky-video-player2").removeAttr("id"),jQuery(".eael-sticky-video-player2").removeClass("out"),t.attr("id","videobox"),s="on",i=t.data("position"),r=t.data("sheight"),o=t.data("swidth")}))}jQuery(window).on("elementor/frontend/init",(function(){isEditMode&&elementor.hooks.addAction("panel/open_editor/widget/eael-sticky-video",(function(e,t,i){var o;t.attributes.settings.on("change:eaelsv_sticky_width",(function(){clearTimeout(o),o=setTimeout((function(){var i=Math.ceil(t.getSetting("eaelsv_sticky_width")/1.78);t.attributes.settings.attributes.eaelsv_sticky_height=i,e.el.querySelector('[data-setting="eaelsv_sticky_height"]').value=i}),250)})),t.attributes.settings.on("change:eaelsv_sticky_height",(function(){clearTimeout(o),o=setTimeout((function(){var i=Math.ceil(1.78*t.getSetting("eaelsv_sticky_height"));t.attributes.settings.attributes.eaelsv_sticky_width=i,e.el.querySelector('[data-setting="eaelsv_sticky_width"]').value=i}),250)}))})),elementorFrontend.hooks.addAction("frontend/element_ready/eael-sticky-video.default",(function(e,t){t(".eaelsv-sticky-player-close",e).hide();var y,d,p,v=e.find(".eael-sticky-video-player2");y=v.data("sticky"),d=v.data("autoplay"),i=v.data("position"),r=v.data("sheight"),o=v.data("swidth"),p=v.data("overlay"),n=v.data("scroll_height"),c(i,r,o);var f=new Plyr("#eaelsv-player-"+e.data("id"));if("no"===p&&"yes"===y&&(a=l(v),v.attr("id","videobox"),s="on",u(f,v)),"yes"===p&&"yes"===d){var h=v.prev();s="off",t(".eael-sticky-video-wrapper > i").hide(),h.css("display","none"),f.play(),"yes"===y&&(a=l(v),v.attr("id","videobox"),s="on",u(f,v))}else if("yes"===p){h=v.prev();s="off",t(h).on("click",(function(){t(".eael-sticky-video-wrapper > i").hide(),t(this).css("display","none"),f.play(),"yes"===y&&(a=l(v),v.attr("id","videobox"),s="on",u(f,v))}))}f.on("pause",(function(e){s="off"})),f.on("play",(function(e){s="on"})),t(".eaelsv-sticky-player-close").on("click",(function(){v.removeClass("out").addClass("in"),t(".eael-sticky-video-player2").removeAttr("style"),s="off"})),v.parent().css("height",v.height()+"px"),t(window).resize((function(){v.parent().css("height",v.height()+"px")}))}))})),jQuery(window).scroll((function(){var e=jQuery(window).scrollTop();jQuery(document).height()-e>jQuery(window).height()+400&&(e>=a?"on"==s&&(jQuery("#videobox").find(".eaelsv-sticky-player-close").css("display","block"),jQuery("#videobox").removeClass("in").addClass("out"),c(i,r,o)):(jQuery(".eaelsv-sticky-player-close").hide(),jQuery("#videobox").removeClass("out").addClass("in"),jQuery(".eael-sticky-video-player2").removeAttr("style")))}))}});
assets/front-end/js/view/table-of-content.min.js CHANGED
@@ -1 +1 @@
1
- !function(e){var t={};function n(a){if(t[a])return t[a].exports;var o=t[a]={i:a,l:!1,exports:{}};return e[a].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,a){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(a,o,function(t){return e[t]}.bind(null,o));return a},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=20)}({20:function(e,t){function n(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var o;o=jQuery,jQuery(document).ready((function(){function e(e,t){var l=document.getElementById("eael-toc-list");if(null===e||void 0===t||!l)return null;for(var i=document.getElementById("eael-toc"),c=void 0!==i.dataset.titleurl?i.dataset.titleurl:"false",s=void 0!==i.dataset.excludeSelector?i.dataset.excludeSelector.replace(/^,|,$/g,""):"",d=[],u=document.querySelectorAll(e),f=0,m=0;m<u.length;m++)d=[].concat(n(d),n(u[m].querySelectorAll(t)));(d=Array.from(new Set(d))).forEach((function(e){a(s,e)||(e.id=f+"-"+r(c,e.textContent),e.classList.add("eael-heading-content"),f++)})),function(e,t,n){var o=t,l=n,i=document.getElementById("eael-toc"),c=void 0!==i.dataset.titleurl?i.dataset.titleurl:"false",s=document.getElementById("eael-toc-list"),d=void 0!==i.dataset.excludeselector?i.dataset.excludeselector.replace(/^,|,$/g,""):"",u="",f=u=o.trim().split(",")[0].substr(1,1),m=s;s.innerHTML="",l.length>0&&document.getElementById("eael-toc").classList.remove("eael-toc-disable");for(var h=0,p=l.length;h<p;++h){var g=l[h];if(!a(d,g)){var y=parseInt(g.tagName.substr(1,1)),v=y-u;if(v>0){var b=m.lastChild;if(b){var C=document.createElement("UL");b.appendChild(C),m=C,u=y}}var w=!1;if(v<0){for(;0!=v++;)m.parentNode.parentNode&&(m=m.parentNode.parentNode);u=y,w=!0}if("UL"!==m.tagName&&(m=s),""!==g.textContent.trim()){var A=document.createElement("LI"),E=document.createElement("A"),S=document.createElement("SPAN");(f===u||w)&&(A.setAttribute("itemscope",""),A.setAttribute("itemtype","http://schema.org/ListItem"),A.setAttribute("itemprop","itemListElement"));var L="#"+h+"-"+r(c,g.textContent);E.className="eael-toc-link",E.setAttribute("itemprop","item"),E.setAttribute("href",L),S.appendChild(document.createTextNode(g.textContent)),E.appendChild(S),A.appendChild(E),m.appendChild(A)}}}}(0,t,d);var h=o("ul.eael-toc-list > li");h.length<1&&document.getElementById("eael-toc").classList.add("eael-toc-disable"),h.each((function(){this.classList.add("eael-first-child")}))}o(document).on("click","ul.eael-toc-list a",(function(e){e.preventDefault(),o(document).off("scroll");var t=this.hash;if(history.pushState("",document.title,window.location.pathname+window.location.search),o(this).parent().is(".eael-highlight-parent.eael-highlight-active"))return window.location.hash=t,!1;o(".eael-highlight-active, .eael-highlight-parent").removeClass("eael-highlight-active eael-highlight-parent"),o(this).closest(".eael-first-child").addClass("eael-highlight-parent"),o(this).parent().addClass("eael-highlight-active"),window.location.hash=t})),window.addEventListener("scroll",(function(e){var n;(n=document.getElementById("eael-toc"))&&(t=void 0!==t?t:200,window.pageYOffset>=t&&!n.classList.contains("eael-toc-disable")?n.classList.add("eael-sticky"):n.classList.remove("eael-sticky"))}));var t=o("#eael-toc").data("stickyscroll");function a(e,t){return o(t).closest(e).length}function r(e,t){return"true"==e&&""!=t?t.toString().toLowerCase().normalize("NFD").trim().replace(/[^a-z0-9 -]/g,"").replace(/\s+/g,"-").replace(/^-+/,"").replace(/-+$/,"").replace(/-+/g,"-"):"eael-table-of-content"}function l(){var e=document.getElementById("eael-toc");if(e&&e.dataset.contentselector)return e.dataset.contentselector;var t=".site-content";return o(".site-content")[0]?t=".site-content":o(".elementor-inner")[0]?t=".elementor-inner":o("#site-content")[0]?t="#site-content":o(".site-main")&&(t=".site-main"),t}o("body").click((function(e){var t=o(e.target),n=o("#eael-toc");n.hasClass("eael-toc-auto-collapse")&&n.hasClass("eael-sticky")&&!n.hasClass("collapsed")&&0===o(t).closest("#eael-toc").length&&n.toggleClass("collapsed")})),o(document).on("click",".eael-toc-close ,.eael-toc-button",(function(e){e.stopPropagation(),o(".eael-toc").toggleClass("collapsed")})),"undefined"!=typeof ea&&ea.hooks.addAction("editMode.init","ea",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/widget",(function(t,n){var a=n("#eael-toc #eael-toc-list");if(a.find("li.eael-first-child").length<1&&a.length>=1){var o=n("#eael-toc").data("eaeltoctag");o&&e(l(),o)}}))}));var i="undefined"!=typeof isEditMode&&isEditMode,c=o("#eael-toc").data("eaeltoctag");""===c||i||e(l(),c)}))}});
1
+ !function(e){var t={};function n(a){if(t[a])return t[a].exports;var o=t[a]={i:a,l:!1,exports:{}};return e[a].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,a){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(a,o,function(t){return e[t]}.bind(null,o));return a},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=21)}({21:function(e,t){function n(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var o;o=jQuery,jQuery(document).ready((function(){function e(e,t){var l=document.getElementById("eael-toc-list");if(null===e||void 0===t||!l)return null;for(var i=document.getElementById("eael-toc"),c=void 0!==i.dataset.titleurl?i.dataset.titleurl:"false",s=void 0!==i.dataset.excludeSelector?i.dataset.excludeSelector.replace(/^,|,$/g,""):"",d=[],u=document.querySelectorAll(e),f=0,m=0;m<u.length;m++)d=[].concat(n(d),n(u[m].querySelectorAll(t)));(d=Array.from(new Set(d))).forEach((function(e){a(s,e)||(e.id=f+"-"+r(c,e.textContent),e.classList.add("eael-heading-content"),f++)})),function(e,t,n){var o=t,l=n,i=document.getElementById("eael-toc"),c=void 0!==i.dataset.titleurl?i.dataset.titleurl:"false",s=document.getElementById("eael-toc-list"),d=void 0!==i.dataset.excludeselector?i.dataset.excludeselector.replace(/^,|,$/g,""):"",u="",f=u=o.trim().split(",")[0].substr(1,1),m=s;s.innerHTML="",l.length>0&&document.getElementById("eael-toc").classList.remove("eael-toc-disable");for(var h=0,p=l.length;h<p;++h){var g=l[h];if(!a(d,g)){var y=parseInt(g.tagName.substr(1,1)),v=y-u;if(v>0){var b=m.lastChild;if(b){var C=document.createElement("UL");b.appendChild(C),m=C,u=y}}var w=!1;if(v<0){for(;0!=v++;)m.parentNode.parentNode&&(m=m.parentNode.parentNode);u=y,w=!0}if("UL"!==m.tagName&&(m=s),""!==g.textContent.trim()){var A=document.createElement("LI"),E=document.createElement("A"),S=document.createElement("SPAN");(f===u||w)&&(A.setAttribute("itemscope",""),A.setAttribute("itemtype","http://schema.org/ListItem"),A.setAttribute("itemprop","itemListElement"));var L="#"+h+"-"+r(c,g.textContent);E.className="eael-toc-link",E.setAttribute("itemprop","item"),E.setAttribute("href",L),S.appendChild(document.createTextNode(g.textContent)),E.appendChild(S),A.appendChild(E),m.appendChild(A)}}}}(0,t,d);var h=o("ul.eael-toc-list > li");h.length<1&&document.getElementById("eael-toc").classList.add("eael-toc-disable"),h.each((function(){this.classList.add("eael-first-child")}))}o(document).on("click","ul.eael-toc-list a",(function(e){e.preventDefault(),o(document).off("scroll");var t=this.hash;if(history.pushState("",document.title,window.location.pathname+window.location.search),o(this).parent().is(".eael-highlight-parent.eael-highlight-active"))return window.location.hash=t,!1;o(".eael-highlight-active, .eael-highlight-parent").removeClass("eael-highlight-active eael-highlight-parent"),o(this).closest(".eael-first-child").addClass("eael-highlight-parent"),o(this).parent().addClass("eael-highlight-active"),window.location.hash=t})),window.addEventListener("scroll",(function(e){var n;(n=document.getElementById("eael-toc"))&&(t=void 0!==t?t:200,window.pageYOffset>=t&&!n.classList.contains("eael-toc-disable")?n.classList.add("eael-sticky"):n.classList.remove("eael-sticky"))}));var t=o("#eael-toc").data("stickyscroll");function a(e,t){return o(t).closest(e).length}function r(e,t){return"true"==e&&""!=t?t.toString().toLowerCase().normalize("NFD").trim().replace(/[^a-z0-9 -]/g,"").replace(/\s+/g,"-").replace(/^-+/,"").replace(/-+$/,"").replace(/-+/g,"-"):"eael-table-of-content"}function l(){var e=document.getElementById("eael-toc");if(e&&e.dataset.contentselector)return e.dataset.contentselector;var t=".site-content";return o(".site-content")[0]?t=".site-content":o(".elementor-inner")[0]?t=".elementor-inner":o("#site-content")[0]?t="#site-content":o(".site-main")&&(t=".site-main"),t}o("body").click((function(e){var t=o(e.target),n=o("#eael-toc");n.hasClass("eael-toc-auto-collapse")&&n.hasClass("eael-sticky")&&!n.hasClass("collapsed")&&0===o(t).closest("#eael-toc").length&&n.toggleClass("collapsed")})),o(document).on("click",".eael-toc-close ,.eael-toc-button",(function(e){e.stopPropagation(),o(".eael-toc").toggleClass("collapsed")})),"undefined"!=typeof ea&&ea.hooks.addAction("editMode.init","ea",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/widget",(function(t,n){var a=n("#eael-toc #eael-toc-list");if(a.find("li.eael-first-child").length<1&&a.length>=1){var o=n("#eael-toc").data("eaeltoctag");o&&e(l(),o)}}))}));var i="undefined"!=typeof isEditMode&&isEditMode,c=o("#eael-toc").data("eaeltoctag");""===c||i||e(l(),c)}))}});
assets/front-end/js/view/twitter-feed.min.js CHANGED
@@ -1 +1 @@
1
- !function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=21)}({21:function(e,t){var r=function(e,t){isEditMode||($gutter=t(".eael-twitter-feed-masonry",e).data("gutter"),$settings={itemSelector:".eael-twitter-feed-item",percentPosition:!0,masonry:{columnWidth:".eael-twitter-feed-item",gutter:$gutter}},$twitter_feed_gallery=t(".eael-twitter-feed-masonry",e).isotope($settings),$twitter_feed_gallery.imagesLoaded().progress((function(){$twitter_feed_gallery.isotope("layout")})))};jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-twitter-feed.default",r)}))}});
1
+ !function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=22)}({22:function(e,t){var r=function(e,t){isEditMode||($gutter=t(".eael-twitter-feed-masonry",e).data("gutter"),$settings={itemSelector:".eael-twitter-feed-item",percentPosition:!0,masonry:{columnWidth:".eael-twitter-feed-item",gutter:$gutter}},$twitter_feed_gallery=t(".eael-twitter-feed-masonry",e).isotope($settings),$twitter_feed_gallery.imagesLoaded().progress((function(){$twitter_feed_gallery.isotope("layout")})))};jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-twitter-feed.default",r)}))}});
assets/front-end/js/view/typeform.min.js CHANGED
@@ -1 +1 @@
1
- !function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=22)}({22:function(e,t){var r=function(e,t){if(typeformEmbed){var r=e.find(".eael-typeform"),n=r.attr("id"),o=r.data("typeform");if(void 0!==n&&void 0!==o){var i=document.getElementById(n);o.url&&typeformEmbed.makeWidget(i,o.url,{hideFooter:o.hideFooter,hideHeaders:o.hideHeaders,opacity:o.opacity})}}};jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-typeform.default",r)}))}});
1
+ !function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=23)}({23:function(e,t){var r=function(e,t){if(typeformEmbed){var r=e.find(".eael-typeform"),n=r.attr("id"),o=r.data("typeform");if(void 0!==n&&void 0!==o){var i=document.getElementById(n);o.url&&typeformEmbed.makeWidget(i,o.url,{hideFooter:o.hideFooter,hideHeaders:o.hideHeaders,opacity:o.opacity})}}};jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-typeform.default",r)}))}});
assets/front-end/js/view/woo-checkout.min.js CHANGED
@@ -1 +1 @@
1
- !function(e){var o={};function t(n){if(o[n])return o[n].exports;var c=o[n]={i:n,l:!1,exports:{}};return e[n].call(c.exports,c,c.exports,t),c.l=!0,c.exports}t.m=e,t.c=o,t.d=function(e,o,n){t.o(e,o)||Object.defineProperty(e,o,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,o){if(1&o&&(e=t(e)),8&o)return e;if(4&o&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&o&&"string"!=typeof e)for(var c in e)t.d(n,c,function(o){return e[o]}.bind(null,c));return n},t.n=function(e){var o=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(o,"a",o),o},t.o=function(e,o){return Object.prototype.hasOwnProperty.call(e,o)},t.p="",t(t.s=23)}({23:function(e,o){var t=function(e,o){function t(){var e=o(".ea-woo-checkout");setTimeout((function(){o(".ea-checkout-review-order-table").addClass("processing").block({message:null,overlayCSS:{background:"#fff",opacity:.6}}),o.ajax({type:"POST",url:localize.ajaxurl,data:{action:"woo_checkout_update_order_review",orderReviewData:e.data("checkout")},success:function(e){o(".ea-checkout-review-order-table").replaceWith(e.order_review),setTimeout((function(){o(".ea-checkout-review-order-table").removeClass("processing").unblock()}),1e5)}})}),2e3)}o.blockUI.defaults.overlayCSS.cursor="default",o(document).on("click",".woocommerce-remove-coupon",(function(e){t()})),o("form.checkout_coupon").submit((function(e){t()})),o(".ea-woo-checkout").on("change",'select.shipping_method, input[name^="shipping_method"], #ship-to-different-address input, .update_totals_on_change select, .update_totals_on_change input[type="radio"], .update_totals_on_change input[type="checkbox"]',(function(){o(document.body).trigger("update_checkout"),t()})),o(document.body).bind("update_checkout",(function(){t()})),o(document.body).on("removed_coupon_in_checkout",(function(){var e=o(".ea-woo-checkout .ms-tabs-content > .woocommerce-message,.ea-woo-checkout .split-tabs-content > .woocommerce-message").remove();o(".ea-woo-checkout .checkout_coupon.woocommerce-form-coupon").before(e)}))};jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-woo-checkout.default",t)}))}});
1
+ !function(e){var o={};function t(n){if(o[n])return o[n].exports;var c=o[n]={i:n,l:!1,exports:{}};return e[n].call(c.exports,c,c.exports,t),c.l=!0,c.exports}t.m=e,t.c=o,t.d=function(e,o,n){t.o(e,o)||Object.defineProperty(e,o,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,o){if(1&o&&(e=t(e)),8&o)return e;if(4&o&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&o&&"string"!=typeof e)for(var c in e)t.d(n,c,function(o){return e[o]}.bind(null,c));return n},t.n=function(e){var o=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(o,"a",o),o},t.o=function(e,o){return Object.prototype.hasOwnProperty.call(e,o)},t.p="",t(t.s=24)}({24:function(e,o){var t=function(e,o){function t(){var e=o(".ea-woo-checkout");setTimeout((function(){o(".ea-checkout-review-order-table").addClass("processing").block({message:null,overlayCSS:{background:"#fff",opacity:.6}}),o.ajax({type:"POST",url:localize.ajaxurl,data:{action:"woo_checkout_update_order_review",orderReviewData:e.data("checkout")},success:function(e){o(".ea-checkout-review-order-table").replaceWith(e.order_review),setTimeout((function(){o(".ea-checkout-review-order-table").removeClass("processing").unblock()}),1e5)}})}),2e3)}o.blockUI.defaults.overlayCSS.cursor="default",o(document).on("click",".woocommerce-remove-coupon",(function(e){t()})),o("form.checkout_coupon").submit((function(e){t()})),o(".ea-woo-checkout").on("change",'select.shipping_method, input[name^="shipping_method"], #ship-to-different-address input, .update_totals_on_change select, .update_totals_on_change input[type="radio"], .update_totals_on_change input[type="checkbox"]',(function(){o(document.body).trigger("update_checkout"),t()})),o(document.body).bind("update_checkout",(function(){t()})),o(document.body).on("removed_coupon_in_checkout",(function(){var e=o(".ea-woo-checkout .ms-tabs-content > .woocommerce-message,.ea-woo-checkout .split-tabs-content > .woocommerce-message").remove();o(".ea-woo-checkout .checkout_coupon.woocommerce-form-coupon").before(e)}))};jQuery(window).on("elementor/frontend/init",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-woo-checkout.default",t)}))}});
assets/front-end/js/view/woo-product-compare.min.js ADDED
@@ -0,0 +1 @@
 
1
+ !function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=25)}({25:function(e,t){ea.hooks.addAction("init","ea",(function(){elementorFrontend.hooks.addAction("frontend/element_ready/eael-woo-product-compare.default",(function(e,t){}))}))}});
config.php CHANGED
@@ -537,6 +537,11 @@ $config = [
537
  ],
538
  ],
539
  'js' => [
 
 
 
 
 
540
  [
541
  'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/lib-view/isotope/isotope.pkgd.min.js',
542
  'type' => 'lib',
@@ -874,6 +879,18 @@ $config = [
874
  true,
875
  ],
876
  ],
 
 
 
 
 
 
 
 
 
 
 
 
877
  ],
878
  'extensions' => [
879
  'promotion' => [
537
  ],
538
  ],
539
  'js' => [
540
+ [
541
+ 'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/lib-view/imagesloaded/imagesloaded.pkgd.min.js',
542
+ 'type' => 'lib',
543
+ 'context' => 'view',
544
+ ],
545
  [
546
  'file' => EAEL_PLUGIN_PATH . 'assets/front-end/js/lib-view/isotope/isotope.pkgd.min.js',
547
  'type' => 'lib',
879
  true,
880
  ],
881
  ],
882
+ 'woo-product-compare' => [
883
+ 'class' => '\Essential_Addons_Elementor\Elements\Woo_Product_Compare',
884
+ 'dependency' => [
885
+ 'css' => [
886
+ [
887
+ 'file' => EAEL_PLUGIN_PATH . 'assets/front-end/css/view/woo-product-compare.min.css',
888
+ 'type' => 'self',
889
+ 'context' => 'view',
890
+ ],
891
+ ],
892
+ ],
893
+ ],
894
  ],
895
  'extensions' => [
896
  'promotion' => [
essential_adons_elementor.php CHANGED
@@ -4,7 +4,7 @@
4
  * Description: The Essential plugin you install after Elementor! Packed with 40+ stunning free elements including Advanced Data Table, Event Calendar, Filterable Gallery, WooCommerce, and many more.
5
  * Plugin URI: https://essential-addons.com/elementor/
6
  * Author: WPDeveloper
7
- * Version: 4.3.9
8
  * Author URI: https://wpdeveloper.net/
9
  * Text Domain: essential-addons-for-elementor-lite
10
  * Domain Path: /languages
@@ -25,7 +25,7 @@ define('EAEL_PLUGIN_FILE', __FILE__);
25
  define('EAEL_PLUGIN_BASENAME', plugin_basename(__FILE__));
26
  define('EAEL_PLUGIN_PATH', trailingslashit(plugin_dir_path(__FILE__)));
27
  define('EAEL_PLUGIN_URL', trailingslashit(plugins_url('/', __FILE__)));
28
- define('EAEL_PLUGIN_VERSION', '4.3.9');
29
  define('EAEL_ASSET_PATH', wp_upload_dir()['basedir'] . '/essential-addons-elementor');
30
  define('EAEL_ASSET_URL', wp_upload_dir()['baseurl'] . '/essential-addons-elementor');
31
  /**
4
  * Description: The Essential plugin you install after Elementor! Packed with 40+ stunning free elements including Advanced Data Table, Event Calendar, Filterable Gallery, WooCommerce, and many more.
5
  * Plugin URI: https://essential-addons.com/elementor/
6
  * Author: WPDeveloper
7
+ * Version: 4.4.0
8
  * Author URI: https://wpdeveloper.net/
9
  * Text Domain: essential-addons-for-elementor-lite
10
  * Domain Path: /languages
25
  define('EAEL_PLUGIN_BASENAME', plugin_basename(__FILE__));
26
  define('EAEL_PLUGIN_PATH', trailingslashit(plugin_dir_path(__FILE__)));
27
  define('EAEL_PLUGIN_URL', trailingslashit(plugins_url('/', __FILE__)));
28
+ define('EAEL_PLUGIN_VERSION', '4.4.0');
29
  define('EAEL_ASSET_PATH', wp_upload_dir()['basedir'] . '/essential-addons-elementor');
30
  define('EAEL_ASSET_URL', wp_upload_dir()['baseurl'] . '/essential-addons-elementor');
31
  /**
includes/Classes/Bootstrap.php CHANGED
@@ -2,23 +2,23 @@
2
 
3
  namespace Essential_Addons_Elementor\Classes;
4
 
5
- use Essential_Addons_Elementor\Classes\WPDeveloper_Core_Installer;
6
-
7
  if (!defined('ABSPATH')) {
8
  exit;
9
  } // Exit if accessed directly
10
 
11
  use Essential_Addons_Elementor\Classes\WPML\Eael_WPML;
12
- use \Essential_Addons_Elementor\Traits\Admin;
13
- use \Essential_Addons_Elementor\Traits\Controls;
14
- use \Essential_Addons_Elementor\Traits\Core;
15
- use \Essential_Addons_Elementor\Traits\Elements;
16
- use \Essential_Addons_Elementor\Traits\Enqueue;
17
- use \Essential_Addons_Elementor\Traits\Facebook_Feed;
18
- use \Essential_Addons_Elementor\Traits\Generator;
19
- use \Essential_Addons_Elementor\Traits\Helper;
20
- use \Essential_Addons_Elementor\Traits\Library;
21
- use \Essential_Addons_Elementor\Traits\Login_Registration;
 
 
22
 
23
  class Bootstrap
24
  {
@@ -31,6 +31,7 @@ class Bootstrap
31
  use Elements;
32
  use Eael_WPML;
33
  use Login_Registration;
 
34
  use Controls;
35
  use Facebook_Feed;
36
 
@@ -158,6 +159,9 @@ class Bootstrap
158
 
159
  add_action('wp_ajax_woo_checkout_update_order_review', [$this, 'woo_checkout_update_order_review']);
160
  add_action('wp_ajax_nopriv_woo_checkout_update_order_review', [$this, 'woo_checkout_update_order_review']);
 
 
 
161
 
162
  //handle select2 ajax search
163
  add_action('wp_ajax_eael_select2_search_post', [$this, 'select2_ajax_posts_filter_autocomplete']);
2
 
3
  namespace Essential_Addons_Elementor\Classes;
4
 
 
 
5
  if (!defined('ABSPATH')) {
6
  exit;
7
  } // Exit if accessed directly
8
 
9
  use Essential_Addons_Elementor\Classes\WPML\Eael_WPML;
10
+ use Essential_Addons_Elementor\Traits\Admin;
11
+ use Essential_Addons_Elementor\Traits\Core;
12
+ use Essential_Addons_Elementor\Traits\Elements;
13
+ use Essential_Addons_Elementor\Traits\Enqueue;
14
+ use Essential_Addons_Elementor\Traits\Generator;
15
+ use Essential_Addons_Elementor\Traits\Helper;
16
+ use Essential_Addons_Elementor\Traits\Library;
17
+ use Essential_Addons_Elementor\Traits\Login_Registration;
18
+ use Essential_Addons_Elementor\Traits\Woo_Product_Comparable;
19
+ use Essential_Addons_Elementor\Traits\Controls;
20
+ use Essential_Addons_Elementor\Traits\Facebook_Feed;
21
+
22
 
23
  class Bootstrap
24
  {
31
  use Elements;
32
  use Eael_WPML;
33
  use Login_Registration;
34
+ use Woo_Product_Comparable;
35
  use Controls;
36
  use Facebook_Feed;
37
 
159
 
160
  add_action('wp_ajax_woo_checkout_update_order_review', [$this, 'woo_checkout_update_order_review']);
161
  add_action('wp_ajax_nopriv_woo_checkout_update_order_review', [$this, 'woo_checkout_update_order_review']);
162
+ // Compare table
163
+ add_action( 'wp_ajax_nopriv_eael_product_grid', [$this, 'get_compare_table']);
164
+ add_action( 'wp_ajax_eael_product_grid', [$this, 'get_compare_table']);
165
 
166
  //handle select2 ajax search
167
  add_action('wp_ajax_eael_select2_search_post', [$this, 'select2_ajax_posts_filter_autocomplete']);
includes/Classes/Helper.php CHANGED
@@ -7,6 +7,7 @@ if (!defined('ABSPATH')) {
7
  } // Exit if accessed directly
8
 
9
  use \Elementor\Controls_Manager;
 
10
 
11
  class Helper
12
  {
@@ -122,7 +123,7 @@ class Helper
122
  } else {
123
  $args['post_type'] = $settings['post_type'];
124
 
125
- if ($args['post_type'] !== 'page') {
126
  $args['tax_query'] = [];
127
 
128
  $taxonomies = get_object_taxonomies($settings['post_type'], 'objects');
@@ -142,7 +143,7 @@ class Helper
142
  if (!empty($args['tax_query'])) {
143
  $args['tax_query']['relation'] = 'AND';
144
  }
145
- }
146
  }
147
 
148
  if (!empty($settings['authors'])) {
@@ -176,7 +177,7 @@ class Helper
176
  'type' => Controls_Manager::CHOOSE,
177
  'options' => [
178
  '1' => [
179
- 'title' => __('', 'essential-addons-for-elementor-lite'),
180
  'icon' => 'fa fa-unlock-alt',
181
  ],
182
  ],
@@ -749,6 +750,48 @@ class Helper
749
  return $data;
750
  }
751
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
752
  /**
753
  * Product grid
754
  */
7
  } // Exit if accessed directly
8
 
9
  use \Elementor\Controls_Manager;
10
+ use Elementor\Plugin;
11
 
12
  class Helper
13
  {
123
  } else {
124
  $args['post_type'] = $settings['post_type'];
125
 
126
+ //if ($args['post_type'] !== 'page') {
127
  $args['tax_query'] = [];
128
 
129
  $taxonomies = get_object_taxonomies($settings['post_type'], 'objects');
143
  if (!empty($args['tax_query'])) {
144
  $args['tax_query']['relation'] = 'AND';
145
  }
146
+ //}
147
  }
148
 
149
  if (!empty($settings['authors'])) {
177
  'type' => Controls_Manager::CHOOSE,
178
  'options' => [
179
  '1' => [
180
+ 'title' => '',
181
  'icon' => 'fa fa-unlock-alt',
182
  ],
183
  ],
750
  return $data;
751
  }
752
 
753
+ public static function eael_get_widget_settings( $page_id, $widget_id ) {
754
+ $document = Plugin::$instance->documents->get( $page_id );
755
+ $settings = [];
756
+ if ( $document ) {
757
+ $elements = Plugin::instance()->documents->get( $page_id )->get_elements_data();
758
+ $widget_data = self::find_element_recursive( $elements, $widget_id );
759
+ if (!empty($widget_data) && is_array($widget_data)) {
760
+ $widget = Plugin::instance()->elements_manager->create_element_instance( $widget_data );
761
+ }
762
+ if ( !empty($widget) ) {
763
+ $settings = $widget->get_settings_for_display();
764
+ }
765
+ }
766
+ return $settings;
767
+ }
768
+
769
+ /**
770
+ * Get Widget data.
771
+ *
772
+ * @param array $elements Element array.
773
+ * @param string $form_id Element ID.
774
+ *
775
+ * @return bool|array
776
+ */
777
+ public static function find_element_recursive( $elements, $form_id ) {
778
+
779
+ foreach ( $elements as $element ) {
780
+ if ( $form_id === $element['id'] ) {
781
+ return $element;
782
+ }
783
+
784
+ if ( ! empty( $element['elements'] ) ) {
785
+ $element = self::find_element_recursive( $element['elements'], $form_id );
786
+
787
+ if ( $element ) {
788
+ return $element;
789
+ }
790
+ }
791
+ }
792
+
793
+ return false;
794
+ }
795
  /**
796
  * Product grid
797
  */
includes/Controls/Select2.php CHANGED
@@ -35,6 +35,7 @@ class Select2 extends Base_Data_Control
35
  {
36
  return [
37
  'multiple' => false,
 
38
  'source_type' => 'post',
39
  ];
40
  }
@@ -50,12 +51,13 @@ class Select2 extends Base_Data_Control
50
  <label for="<?php echo $control_uid; ?>" class="elementor-control-title">{{{data.label }}}</label>
51
  <# } #>
52
  <div class="elementor-control-input-wrapper elementor-control-unit-5">
53
- <select id="<?php echo $control_uid; ?>" class="ea-select2" data-setting="{{ data.name }}"></select>
 
54
  </div>
55
  </div>
56
  <#
57
  ( function( $ ) {
58
- $( document.body ).trigger( 'eael_select2_init',{currentID:currentID,data:data,controlUID:controlUID} );
59
  }( jQuery ) );
60
  #>
61
  <?php
35
  {
36
  return [
37
  'multiple' => false,
38
+ 'source_name' => 'post_type',
39
  'source_type' => 'post',
40
  ];
41
  }
51
  <label for="<?php echo $control_uid; ?>" class="elementor-control-title">{{{data.label }}}</label>
52
  <# } #>
53
  <div class="elementor-control-input-wrapper elementor-control-unit-5">
54
+ <# var multiple = ( data.multiple ) ? 'multiple' : ''; #>
55
+ <select id="<?php echo $control_uid; ?>" {{ multiple }} class="ea-select2" data-setting="{{ data.name }}"></select>
56
  </div>
57
  </div>
58
  <#
59
  ( function( $ ) {
60
+ $( document.body ).trigger( 'eael_select2_init',{currentID:currentID,data:data,controlUID:controlUID,multiple:data.multiple} );
61
  }( jQuery ) );
62
  #>
63
  <?php
includes/Elements/Betterdocs_Category_Box.php CHANGED
@@ -36,7 +36,7 @@ class Betterdocs_Category_Box extends Widget_Base {
36
 
37
  public function get_categories()
38
  {
39
- return ['essential-addons-elementor'];
40
  }
41
 
42
  public function get_icon()
36
 
37
  public function get_categories()
38
  {
39
+ return ['essential-addons-elementor', 'docs-archive'];
40
  }
41
 
42
  public function get_icon()
includes/Elements/Betterdocs_Category_Grid.php CHANGED
@@ -32,7 +32,7 @@ class Betterdocs_Category_Grid extends Widget_Base
32
 
33
  public function get_categories()
34
  {
35
- return ['essential-addons-elementor'];
36
  }
37
 
38
  public function get_icon()
32
 
33
  public function get_categories()
34
  {
35
+ return ['essential-addons-elementor', 'docs-archive'];
36
  }
37
 
38
  public function get_icon()
includes/Elements/Data_Table.php CHANGED
@@ -1141,8 +1141,8 @@ class Data_Table extends Widget_Base {
1141
 
1142
  }
1143
  if( $content_row['eael_data_table_content_row_type'] == 'col' ) {
1144
- $target = $content_row['eael_data_table_content_row_title_link']['is_external'] ? 'target="_blank"' : '';
1145
- $nofollow = $content_row['eael_data_table_content_row_title_link']['nofollow'] ? 'rel="nofollow"' : '';
1146
 
1147
  $table_tr_keys = array_keys( $table_tr );
1148
  $last_key = end( $table_tr_keys );
@@ -1155,7 +1155,7 @@ class Data_Table extends Widget_Base {
1155
  'content_type' => $content_row['eael_data_table_content_type'],
1156
  'template' => $content_row['eael_primary_templates_for_tables'],
1157
  'title' => $tbody_content,
1158
- 'link_url' => $content_row['eael_data_table_content_row_title_link']['url'],
1159
  'link_target' => $target,
1160
  'nofollow' => $nofollow,
1161
  'colspan' => $content_row['eael_data_table_content_row_colspan'],
1141
 
1142
  }
1143
  if( $content_row['eael_data_table_content_row_type'] == 'col' ) {
1144
+ $target = !empty($content_row['eael_data_table_content_row_title_link']['is_external']) ? 'target="_blank"' : '';
1145
+ $nofollow = !empty($content_row['eael_data_table_content_row_title_link']['nofollow']) ? 'rel="nofollow"' : '';
1146
 
1147
  $table_tr_keys = array_keys( $table_tr );
1148
  $last_key = end( $table_tr_keys );
1155
  'content_type' => $content_row['eael_data_table_content_type'],
1156
  'template' => $content_row['eael_primary_templates_for_tables'],
1157
  'title' => $tbody_content,
1158
+ 'link_url' => !empty($content_row['eael_data_table_content_row_title_link']['url'])?$content_row['eael_data_table_content_row_title_link']['url']:'',
1159
  'link_target' => $target,
1160
  'nofollow' => $nofollow,
1161
  'colspan' => $content_row['eael_data_table_content_row_colspan'],
includes/Elements/Dual_Color_Header.php CHANGED
@@ -4,7 +4,7 @@ namespace Essential_Addons_Elementor\Elements;
4
 
5
  // If this file is called directly, abort.
6
  if (!defined('ABSPATH')) {
7
- exit;
8
  }
9
 
10
  use \Elementor\Controls_Manager;
@@ -16,916 +16,916 @@ use \Elementor\Widget_Base;
16
 
17
  class Dual_Color_Header extends Widget_Base
18
  {
19
- public function get_name()
20
- {
21
- return 'eael-dual-color-header';
22
- }
23
-
24
- public function get_title()
25
- {
26
- return esc_html__('Dual Color Heading', 'essential-addons-for-elementor-lite');
27
- }
28
-
29
- public function get_icon()
30
- {
31
- return 'eaicon-dual-color-heading';
32
- }
33
-
34
- public function get_categories()
35
- {
36
- return ['essential-addons-elementor'];
37
- }
38
-
39
- public function get_keywords()
40
- {
41
- return [
42
- 'ea header',
43
- 'ea dual header',
44
- 'ea dual color header',
45
- 'heading',
46
- 'headline',
47
- 'title',
48
- 'animated heading',
49
- 'ea',
50
- 'essential addons',
51
- ];
52
- }
53
-
54
- public function get_custom_help_url()
55
- {
56
- return 'https://essential-addons.com/elementor/docs/dual-color-headline/';
57
- }
58
-
59
- protected function _register_controls()
60
- {
61
- /**
62
- * Dual Color Heading Content Settings
63
- */
64
- $this->start_controls_section(
65
- 'eael_section_dch_content_settings',
66
- [
67
- 'label' => esc_html__('Content Settings', 'essential-addons-for-elementor-lite'),
68
- ]
69
- );
70
-
71
- $this->add_control(
72
- 'eael_dch_type',
73
- [
74
- 'label' => esc_html__('Content Style', 'essential-addons-for-elementor-lite'),
75
- 'type' => Controls_Manager::SELECT,
76
- 'default' => 'dch-default',
77
- 'label_block' => false,
78
- 'options' => [
79
- 'dch-default' => esc_html__('Default', 'essential-addons-for-elementor-lite'),
80
- 'dch-icon-on-top' => esc_html__('Icon on top', 'essential-addons-for-elementor-lite'),
81
- 'dch-icon-subtext-on-top' => esc_html__('Icon &amp; sub-text on top', 'essential-addons-for-elementor-lite'),
82
- 'dch-subtext-on-top' => esc_html__('Sub-text on top', 'essential-addons-for-elementor-lite'),
83
- ],
84
- ]
85
- );
86
-
87
- $this->add_control(
88
- 'eael_show_dch_icon_content',
89
- [
90
- 'label' => __('Show Icon', 'essential-addons-for-elementor-lite'),
91
- 'type' => Controls_Manager::SWITCHER,
92
- 'default' => 'yes',
93
- 'label_on' => __('Show', 'essential-addons-for-elementor-lite'),
94
- 'label_off' => __('Hide', 'essential-addons-for-elementor-lite'),
95
- 'return_value' => 'yes',
96
- ]
97
- );
98
- $this->add_control(
99
- 'eael_show_dch_separator',
100
- [
101
- 'label' => __('Show Separator', 'essential-addons-for-elementor-lite'),
102
- 'type' => Controls_Manager::SWITCHER,
103
- 'label_on' => __('Show', 'essential-addons-for-elementor-lite'),
104
- 'label_off' => __('Hide', 'essential-addons-for-elementor-lite'),
105
- 'return_value' => 'yes',
106
- 'separator' => 'after',
107
- ]
108
- );
109
-
110
- /**
111
- * Condition: 'eael_show_dch_icon_content' => 'yes'
112
- */
113
- $this->add_control(
114
- 'eael_dch_icon_new',
115
- [
116
- 'label' => esc_html__('Icon', 'essential-addons-for-elementor-lite'),
117
- 'type' => Controls_Manager::ICONS,
118
- 'fa4compatibility' => 'eael_dch_icon',
119
- 'default' => [
120
- 'value' => 'fas fa-snowflake',
121
- 'library' => 'fa-solid',
122
- ],
123
- 'condition' => [
124
- 'eael_show_dch_icon_content' => 'yes',
125
- ],
126
- ]
127
- );
128
-
129
- $this->add_control(
130
- 'title_tag',
131
- [
132
- 'label' => __('Title Tag', 'essential-addons-for-elementor-lite'),
133
- 'type' => Controls_Manager::SELECT,
134
- 'default' => 'h2',
135
- 'options' => [
136
- 'h1' => __('H1', 'essential-addons-for-elementor-lite'),
137
- 'h2' => __('H2', 'essential-addons-for-elementor-lite'),
138
- 'h3' => __('H3', 'essential-addons-for-elementor-lite'),
139
- 'h4' => __('H4', 'essential-addons-for-elementor-lite'),
140
- 'h5' => __('H5', 'essential-addons-for-elementor-lite'),
141
- 'h6' => __('H6', 'essential-addons-for-elementor-lite'),
142
- 'span' => __('Span', 'essential-addons-for-elementor-lite'),
143
- 'p' => __('P', 'essential-addons-for-elementor-lite'),
144
- 'div' => __('Div', 'essential-addons-for-elementor-lite'),
145
- ],
146
- ]
147
- );
148
-
149
- $this->add_control(
150
- 'eael_dch_first_title',
151
- [
152
- 'label' => esc_html__('Title ( First Part )', 'essential-addons-for-elementor-lite'),
153
- 'type' => Controls_Manager::TEXT,
154
- 'label_block' => true,
155
- 'default' => esc_html__('Dual Heading', 'essential-addons-for-elementor-lite'),
156
- 'dynamic' => ['action' => true],
157
- ]
158
- );
159
-
160
- $this->add_control(
161
- 'eael_dch_last_title',
162
- [
163
- 'label' => esc_html__('Title ( Last Part )', 'essential-addons-for-elementor-lite'),
164
- 'type' => Controls_Manager::TEXT,
165
- 'label_block' => true,
166
- 'default' => esc_html__('Example', 'essential-addons-for-elementor-lite'),
167
- 'dynamic' => ['action' => true],
168
- ]
169
- );
170
-
171
- $this->add_control(
172
- 'eael_dch_subtext',
173
- [
174
- 'label' => esc_html__('Sub Text', 'essential-addons-for-elementor-lite'),
175
- 'type' => Controls_Manager::WYSIWYG,
176
- 'label_block' => true,
177
- 'default' => esc_html__('Insert a meaningful line to evaluate the headline.', 'essential-addons-for-elementor-lite'),
178
- ]
179
- );
180
-
181
- $this->add_responsive_control(
182
- 'eael_dch_content_alignment',
183
- [
184
- 'label' => esc_html__('Alignment', 'essential-addons-for-elementor-lite'),
185
- 'type' => Controls_Manager::CHOOSE,
186
- 'label_block' => true,
187
- 'options' => [
188
- 'left' => [
189
- 'title' => esc_html__('Left', 'essential-addons-for-elementor-lite'),
190
- 'icon' => 'fa fa-align-left',
191
- ],
192
- 'center' => [
193
- 'title' => esc_html__('Center', 'essential-addons-for-elementor-lite'),
194
- 'icon' => 'fa fa-align-center',
195
- ],
196
- 'right' => [
197
- 'title' => esc_html__('Right', 'essential-addons-for-elementor-lite'),
198
- 'icon' => 'fa fa-align-right',
199
- ],
200
- ],
201
- 'default' => 'center',
202
- 'prefix_class' => 'eael-dual-header-content%s-align-',
203
- ]
204
- );
205
-
206
- $this->end_controls_section();
207
-
208
- if (!apply_filters('eael/pro_enabled', false)) {
209
- $this->start_controls_section(
210
- 'eael_section_pro',
211
- [
212
- 'label' => __('Go Premium for More Features', 'essential-addons-for-elementor-lite'),
213
- ]
214
- );
215
-
216
- $this->add_control(
217
- 'eael_control_get_pro',
218
- [
219
- 'label' => __('Unlock more possibilities', 'essential-addons-for-elementor-lite'),
220
- 'type' => Controls_Manager::CHOOSE,
221
- 'options' => [
222
- '1' => [
223
- 'title' => __('', 'essential-addons-for-elementor-lite'),
224
- 'icon' => 'fa fa-unlock-alt',
225
- ],
226
- ],
227
- 'default' => '1',
228
- 'description' => '<span class="pro-feature"> Get the <a href="https://wpdeveloper.net/in/upgrade-essential-addons-elementor" target="_blank">Pro version</a> for more stunning elements and customization options.</span>',
229
- ]
230
- );
231
-
232
- $this->end_controls_section();
233
- }
234
-
235
- /**
236
- * -------------------------------------------
237
- * Tab Content ( Seperator )
238
- * -------------------------------------------
239
- */
240
- $this->start_controls_section(
241
- 'eael_section_dch_separator_settings',
242
- [
243
- 'label' => __('Separator', 'essential-addons-for-elementor-lite'),
244
- 'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
245
- 'condition' => [
246
- 'eael_show_dch_separator' => 'yes',
247
- ],
248
- ]
249
- );
250
-
251
- $this->add_control(
252
- 'eael_dch_separator_position',
253
- [
254
- 'label' => __('Separator Position', 'essential-addons-for-elementor-lite'),
255
- 'type' => \Elementor\Controls_Manager::SELECT,
256
- 'default' => 'after_title',
257
- 'options' => [
258
- 'before_title' => __('Before Title', 'essential-addons-for-elementor-lite'),
259
- 'after_title' => __('After Title', 'essential-addons-for-elementor-lite'),
260
- ],
261
- ]
262
- );
263
- $this->add_control(
264
- 'eael_dch_separator_type',
265
- [
266
- 'label' => __('Separator Type', 'essential-addons-for-elementor-lite'),
267
- 'type' => \Elementor\Controls_Manager::SELECT,
268
- 'default' => 'line',
269
- 'options' => [
270
- 'line' => __('Line', 'essential-addons-for-elementor-lite'),
271
- 'icon' => __('Icon', 'essential-addons-for-elementor-lite'),
272
- ],
273
- ]
274
- );
275
- $this->add_control(
276
- 'eael_dch_separator_icon',
277
- [
278
- 'label' => __('Icon', 'text-domain'),
279
- 'type' => \Elementor\Controls_Manager::ICONS,
280
- 'default' => [
281
- 'value' => 'fas fa-star',
282
- 'library' => 'solid',
283
- ],
284
- 'condition' => [
285
- 'eael_dch_separator_type' => 'icon',
286
- ],
287
- ]
288
- );
289
-
290
- $this->end_controls_section();
291
-
292
- /**
293
- * -------------------------------------------
294
- * Tab Style ( Dual Heading Style )
295
- * -------------------------------------------
296
- */
297
- $this->start_controls_section(
298
- 'eael_section_dch_style_settings',
299
- [
300
- 'label' => esc_html__('Dual Heading Style', 'essential-addons-for-elementor-lite'),
301
- 'tab' => Controls_Manager::TAB_STYLE,
302
- ]
303
- );
304
-
305
- $this->add_control(
306
- 'eael_dch_bg_color',
307
- [
308
- 'label' => esc_html__('Background Color', 'essential-addons-for-elementor-lite'),
309
- 'type' => Controls_Manager::COLOR,
310
- 'default' => '',
311
- 'selectors' => [
312
- '{{WRAPPER}} .eael-dual-header' => 'background-color: {{VALUE}};',
313
- ],
314
- ]
315
- );
316
-
317
- $this->add_responsive_control(
318
- 'eael_dch_container_padding',
319
- [
320
- 'label' => esc_html__('Padding', 'essential-addons-for-elementor-lite'),
321
- 'type' => Controls_Manager::DIMENSIONS,
322
- 'size_units' => ['px', 'em', '%'],
323
- 'selectors' => [
324
- '{{WRAPPER}} .eael-dual-header' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
325
- ],
326
- ]
327
- );
328
-
329
- $this->add_responsive_control(
330
- 'eael_dch_container_margin',
331
- [
332
- 'label' => esc_html__('Margin', 'essential-addons-for-elementor-lite'),
333
- 'type' => Controls_Manager::DIMENSIONS,
334
- 'size_units' => ['px', 'em', '%'],
335
- 'selectors' => [
336
- '{{WRAPPER}} .eael-dual-header' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
337
- ],
338
- ]
339
- );
340
-
341
- $this->add_group_control(
342
- Group_Control_Border::get_type(),
343
- [
344
- 'name' => 'eael_dch_border',
345
- 'label' => esc_html__('Border', 'essential-addons-for-elementor-lite'),
346
- 'selector' => '{{WRAPPER}} .eael-dual-header',
347
- ]
348
- );
349
-
350
- $this->add_control(
351
- 'eael_dch_border_radius',
352
- [
353
- 'label' => esc_html__('Border Radius', 'essential-addons-for-elementor-lite'),
354
- 'type' => Controls_Manager::SLIDER,
355
- 'range' => [
356
- 'px' => [
357
- 'max' => 500,
358
- ],
359
- ],
360
- 'selectors' => [
361
- '{{WRAPPER}} .eael-dual-header' => 'border-radius: {{SIZE}}px;',
362
- ],
363
- ]
364
- );
365
-
366
- $this->add_group_control(
367
- Group_Control_Box_Shadow::get_type(),
368
- [
369
- 'name' => 'eael_dch_shadow',
370
- 'selector' => '{{WRAPPER}} .eael-dual-header',
371
- ]
372
- );
373
-
374
- $this->end_controls_section();
375
-
376
- /**
377
- * -------------------------------------------
378
- * Tab Style (Icon Style)
379
- * -------------------------------------------
380
- */
381
- $this->start_controls_section(
382
- 'eael_section_dch_icon_style_settings',
383
- [
384
- 'label' => esc_html__('Icon Style', 'essential-addons-for-elementor-lite'),
385
- 'tab' => Controls_Manager::TAB_STYLE,
386
- 'condition' => [
387
- 'eael_show_dch_icon_content' => 'yes',
388
- ],
389
- ]
390
- );
391
-
392
- $this->add_control(
393
- 'eael_dch_icon_size',
394
- [
395
- 'label' => __('Icon Size', 'essential-addons-for-elementor-lite'),
396
- 'type' => Controls_Manager::SLIDER,
397
- 'default' => [
398
- 'size' => 36,
399
- ],
400
- 'range' => [
401
- 'px' => [
402
- 'min' => 20,
403
- 'max' => 500,
404
- 'step' => 1,
405
- ],
406
- ],
407
- 'selectors' => [
408
- '{{WRAPPER}} .eael-dual-header i' => 'font-size: {{SIZE}}{{UNIT}};',
409
- '{{WRAPPER}} .eael-dual-header img' => 'height: {{SIZE}}{{UNIT}}; width: {{SIZE}}{{UNIT}};',
410
- ],
411
- ]
412
- );
413
-
414
- $this->add_control(
415
- 'eael_dch_icon_color',
416
- [
417
- 'label' => esc_html__('Icon Color', 'essential-addons-for-elementor-lite'),
418
- 'type' => Controls_Manager::COLOR,
419
- 'default' => '#4d4d4d',
420
- 'selectors' => [
421
- '{{WRAPPER}} .eael-dual-header i' => 'color: {{VALUE}};',
422
- ],
423
- ]
424
- );
425
-
426
- $this->end_controls_section();
427
-
428
- /**
429
- * -------------------------------------------
430
- * Tab Style (Title Style)
431
- * -------------------------------------------
432
- */
433
- $this->start_controls_section(
434
- 'eael_section_dch_title_style_settings',
435
- [
436
- 'label' => esc_html__('Color &amp; Typography', 'essential-addons-for-elementor-lite'),
437
- 'tab' => Controls_Manager::TAB_STYLE,
438
- ]
439
- );
440
-
441
- $this->add_control(
442
- 'eael_dch_title_heading',
443
- [
444
- 'label' => esc_html__('Title Style', 'essential-addons-for-elementor-lite'),
445
- 'type' => Controls_Manager::HEADING,
446
- ]
447
- );
448
-
449
- $this->add_control(
450
- 'eael_dch_base_title_color',
451
- [
452
- 'label' => esc_html__('Main Color', 'essential-addons-for-elementor-lite'),
453
- 'type' => Controls_Manager::COLOR,
454
- 'default' => '#4d4d4d',
455
- 'selectors' => [
456
- '{{WRAPPER}} .eael-dual-header .title' => 'color: {{VALUE}};',
457
- ],
458
- ]
459
- );
460
-
461
- $this->add_control(
462
- 'eael_dch_dual_color_selector',
463
- [
464
- 'label' => esc_html__('Dual Color', 'essential-addons-for-elementor-lite'),
465
- 'type' => \Elementor\Controls_Manager::CHOOSE,
466
- 'options' => [
467
- 'solid-color' => [
468
- 'title' => __('Color', 'essential-addons-for-elementor-lite'),
469
- 'icon' => 'eicon-paint-brush',
470
- ],
471
- 'gradient-color' => [
472
- 'title' => __('Gradient', 'essential-addons-for-elementor-lite'),
473
- 'icon' => 'eicon-barcode',
474
- ],
475
- ],
476
- 'toggle' => true,
477
- 'default' => 'solid-color',
478
- ]
479
- );
480
-
481
- $this->add_control(
482
- 'eael_dch_dual_title_color',
483
- [
484
- 'label' => esc_html__('Solid Color', 'essential-addons-for-elementor-lite'),
485
- 'type' => Controls_Manager::COLOR,
486
- 'default' => '#9401D9',
487
- 'selectors' => [
488
- '{{WRAPPER}} .eael-dual-header .title span.lead' => 'color: {{VALUE}};',
489
- ],
490
- 'condition' => [
491
- 'eael_dch_dual_color_selector' => 'solid-color'
492
- ],
493
- ]
494
- );
495
-
496
- $this->add_group_control(
497
- Group_Control_Background::get_type(),
498
- [
499
- 'name' => 'eael_dch_dual_title_color_gradient',
500
- 'types' => ['gradient'],
501
- 'fields_options' => [
502
- 'background' => [
503
- 'label' => _x( 'Gradient Color', 'Text Shadow Control', 'elementor' ),
504
- 'toggle' => false,
505
- 'default' => 'gradient',
506
- ],
507
- 'color' => [
508
- 'default' => '#062ACA',
509
- ],
510
- 'color_b' => [
511
- 'default' => '#9401D9',
512
- ]
513
- ],
514
- 'selector' => '{{WRAPPER}} .eael-dual-header .title span.lead',
515
- 'condition' => [
516
- 'eael_dch_dual_color_selector' => 'gradient-color'
517
- ],
518
- ]
519
- );
520
-
521
- $this->add_group_control(
522
- Group_Control_Typography::get_type(),
523
- [
524
- 'name' => 'eael_dch_first_title_typography',
525
- 'selector' => '{{WRAPPER}} .eael-dual-header .title, {{WRAPPER}} .eael-dual-header .title span',
526
- ]
527
- );
528
-
529
- $this->add_control(
530
- 'eael_dch_sub_title_heading',
531
- [
532
- 'label' => esc_html__('Sub-title Style ', 'essential-addons-for-elementor-lite'),
533
- 'type' => Controls_Manager::HEADING,
534
- 'separator' => 'before',
535
- ]
536
- );
537
-
538
- $this->add_control(
539
- 'eael_dch_subtext_color',
540
- [
541
- 'label' => esc_html__('Color', 'essential-addons-for-elementor-lite'),
542
- 'type' => Controls_Manager::COLOR,
543
- 'default' => '#4d4d4d',
544
- 'selectors' => [
545
- '{{WRAPPER}} .eael-dual-header .subtext' => 'color: {{VALUE}};',
546
- ],
547
- ]
548
- );
549
-
550
- $this->add_group_control(
551
- Group_Control_Typography::get_type(),
552
- [
553
- 'name' => 'eael_dch_subtext_typography',
554
- 'selector' => '{{WRAPPER}} .eael-dual-header .subtext',
555
- ]
556
- );
557
-
558
- $this->end_controls_section();
559
-
560
- /**
561
- * -------------------------------------------
562
- * Tab Style (Separator)
563
- * -------------------------------------------
564
- */
565
- $this->start_controls_section(
566
- 'eael_section_dch_separator_style_settings',
567
- [
568
- 'label' => esc_html__('Separator', 'essential-addons-for-elementor-lite'),
569
- 'tab' => Controls_Manager::TAB_STYLE,
570
- 'condition' => [
571
- 'eael_show_dch_separator' => 'yes',
572
- ],
573
- ]
574
- );
575
- $this->add_control(
576
- 'eael_section_dch_separator_alignment',
577
- [
578
- 'label' => __('Alignment', 'essential-addons-for-elementor-lite'),
579
- 'type' => \Elementor\Controls_Manager::CHOOSE,
580
- 'options' => [
581
- 'flex-start' => [
582
- 'title' => __('Flex Start', 'essential-addons-for-elementor-lite'),
583
- 'icon' => 'fa fa-align-left',
584
- ],
585
- 'center' => [
586
- 'title' => __('Center', 'essential-addons-for-elementor-lite'),
587
- 'icon' => 'fa fa-align-center',
588
- ],
589
- 'flex-end' => [
590
- 'title' => __('Flex End', 'essential-addons-for-elementor-lite'),
591
- 'icon' => 'fa fa-align-right',
592
- ],
593
- ],
594
- 'default' => 'center',
595
- 'toggle' => true,
596
- 'selectors' => [
597
- '{{WRAPPER}} .eael-dch-separator-wrap' => 'justify-content: {{VALUE}}',
598
- ],
599
- ]
600
- );
601
- $this->add_control(
602
- 'eael_section_dch_separator_distance',
603
- [
604
- 'label' => __('Distance Between Lines', 'essential-addons-for-elementor-lite'),
605
- 'type' => Controls_Manager::SLIDER,
606
- 'size_units' => ['px', '%'],
607
- 'range' => [
608
- 'px' => [
609
- 'min' => 0,
610
- 'max' => 1000,
611
- 'step' => 5,
612
- ],
613
- '%' => [
614
- 'min' => 0,
615
- 'max' => 100,
616
- ],
617
- ],
618
- 'selectors' => [
619
- '{{WRAPPER}} .eael-dch-separator-wrap .separator-one' => 'margin-right: {{SIZE}}{{UNIT}};',
620
- '{{WRAPPER}} .eael-dch-separator-wrap .separator-two' => 'margin-left: {{SIZE}}{{UNIT}};',
621
- ],
622
- 'condition' => [
623
- 'eael_dch_separator_type' => 'line',
624
- ],
625
- ]
626
- );
627
- $this->add_control(
628
- 'eael_section_dch_separator_margin',
629
- [
630
- 'label' => __('Margin', 'essential-addons-for-elementor-lite'),
631
- 'type' => Controls_Manager::DIMENSIONS,
632
- 'size_units' => ['px', '%', 'em'],
633
- 'selectors' => [
634
- '{{WRAPPER}} .eael-dch-separator-wrap' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
635
- ],
636
- ]
637
- );
638
- $this->add_control(
639
- 'title_color',
640
- [
641
- 'label' => __('Color', 'essential-addons-for-elementor-lite'),
642
- 'type' => \Elementor\Controls_Manager::COLOR,
643
- 'scheme' => [
644
- 'type' => \Elementor\Scheme_Color::get_type(),
645
- 'value' => \Elementor\Scheme_Color::COLOR_1,
646
- ],
647
- 'selectors' => [
648
- '{{WRAPPER}} .eael-dch-separator-wrap i' => 'color: {{VALUE}}',
649
- ],
650
- 'condition' => [
651
- 'eael_dch_separator_type' => 'icon',
652
- ],
653
- ]
654
- );
655
-
656
- // line left & right Tabs
657
- $this->start_controls_tabs(
658
- 'eael_dch_separator_tabs',
659
- [
660
- 'condition' => [
661
- 'eael_dch_separator_type' => 'line',
662
- ],
663
- ]
664
- );
665
-
666
- $this->start_controls_tab(
667
- 'eael_dch_separator_left_tab',
668
- [
669
- 'label' => __('Left Line', 'essential-addons-for-elementor-lite'),
670
- ]
671
- );
672
-
673
- // line left style
674
- $this->add_control(
675
- 'eael_dch_separator_left_width',
676
- [
677
- 'label' => __('Width', 'essential-addons-for-elementor-lite'),
678
- 'type' => Controls_Manager::SLIDER,
679
- 'size_units' => ['px', '%'],
680
- 'range' => [
681
- 'px' => [
682
- 'min' => 0,
683
- 'max' => 1000,
684
- 'step' => 5,
685
- ],
686
- '%' => [
687
- 'min' => 0,
688
- 'max' => 100,
689
- ],
690
- ],
691
- 'default' => [
692
- 'unit' => '%',
693
- 'size' => 15,
694
- ],
695
- 'selectors' => [
696
- '{{WRAPPER}} .eael-dch-separator-wrap .separator-one' => 'width: {{SIZE}}{{UNIT}};',
697
- ],
698
- ]
699
- );
700
- $this->add_control(
701
- 'eael_dch_separator_left_height',
702
- [
703
- 'label' => __('Height', 'essential-addons-for-elementor-lite'),
704
- 'type' => Controls_Manager::SLIDER,
705
- 'size_units' => ['px', '%'],
706
- 'range' => [
707
- 'px' => [
708
- 'min' => 0,
709
- 'max' => 1000,
710
- 'step' => 5,
711
- ],
712
- '%' => [
713
- 'min' => 0,
714
- 'max' => 100,
715
- ],
716
- ],
717
- 'default' => [
718
- 'unit' => 'px',
719
- 'size' => 5,
720
- ],
721
- 'selectors' => [
722
- '{{WRAPPER}} .eael-dch-separator-wrap .separator-one' => 'height: {{SIZE}}{{UNIT}};',
723
- ],
724
- ]
725
- );
726
- $this->add_control(
727
- 'eael_dch_separator_left_radius',
728
- [
729
- 'label' => __('Radius', 'essential-addons-for-elementor-lite'),
730
- 'type' => Controls_Manager::DIMENSIONS,
731
- 'size_units' => ['px', '%', 'em'],
732
- 'selectors' => [
733
- '{{WRAPPER}} .eael-dch-separator-wrap .separator-one' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
734
- ],
735
- ]
736
- );
737
- $this->add_group_control(
738
- \Elementor\Group_Control_Background::get_type(),
739
- [
740
- 'name' => 'eael_dch_separator_left_bg',
741
- 'label' => __('Background', 'essential-addons-for-elementor-lite'),
742
- 'types' => ['classic', 'gradient'],
743
- 'selector' => '{{WRAPPER}} .eael-dch-separator-wrap .separator-one',
744
- ]
745
- );
746
- $this->end_controls_tab();
747
- // line right style
748
- $this->start_controls_tab(
749
- 'eael_dch_separator_right_tab',
750
- [
751
- 'label' => __('Right Line', 'essential-addons-for-elementor-lite'),
752
- ]
753
- );
754
- $this->add_control(
755
- 'eael_dch_separator_right_width',
756
- [
757
- 'label' => __('Width', 'essential-addons-for-elementor-lite'),
758
- 'type' => Controls_Manager::SLIDER,
759
- 'size_units' => ['px', '%'],
760
- 'range' => [
761
- 'px' => [
762
- 'min' => 0,
763
- 'max' => 1000,
764
- 'step' => 5,
765
- ],
766
- '%' => [
767
- 'min' => 0,
768
- 'max' => 100,
769
- ],
770
- ],
771
- 'default' => [
772
- 'unit' => '%',
773
- 'size' => 15,
774
- ],
775
- 'selectors' => [
776
- '{{WRAPPER}} .eael-dch-separator-wrap .separator-two' => 'width: {{SIZE}}{{UNIT}};',
777
- ],
778
- ]
779
- );
780
- $this->add_control(
781
- 'eael_dch_separator_right_height',
782
- [
783
- 'label' => __('Height', 'essential-addons-for-elementor-lite'),
784
- 'type' => Controls_Manager::SLIDER,
785
- 'size_units' => ['px', '%'],
786
- 'range' => [
787
- 'px' => [
788
- 'min' => 0,
789
- 'max' => 1000,
790
- 'step' => 5,
791
- ],
792
- '%' => [
793
- 'min' => 0,
794
- 'max' => 100,
795
- ],
796
- ],
797
- 'default' => [
798
- 'unit' => 'px',
799
- 'size' => 5,
800
- ],
801
- 'selectors' => [
802
- '{{WRAPPER}} .eael-dch-separator-wrap .separator-two' => 'height: {{SIZE}}{{UNIT}};',
803
- ],
804
- ]
805
- );
806
- $this->add_control(
807
- 'eael_dch_separator_right_radius',
808
- [
809
- 'label' => __('Radius', 'essential-addons-for-elementor-lite'),
810
- 'type' => Controls_Manager::DIMENSIONS,
811
- 'size_units' => ['px', '%', 'em'],
812
- 'selectors' => [
813
- '{{WRAPPER}} .eael-dch-separator-wrap .separator-two' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
814
- ],
815
- ]
816
- );
817
- $this->add_group_control(
818
- \Elementor\Group_Control_Background::get_type(),
819
- [
820
- 'name' => 'eael_dch_separator_right_bg',
821
- 'label' => __('Background', 'essential-addons-for-elementor-lite'),
822
- 'types' => ['classic', 'gradient'],
823
- 'selector' => '{{WRAPPER}} .eael-dch-separator-wrap .separator-two',
824
- ]
825
- );
826
-
827
- $this->end_controls_tab();
828
- $this->end_controls_tabs();
829
-
830
- $this->end_controls_section();
831
- }
832
-
833
- protected function render()
834
- {
835
- $settings = $this->get_settings_for_display();
836
- $icon_migrated = isset($settings['__fa4_migrated']['eael_dch_icon_new']);
837
- $icon_is_new = empty($settings['eael_dch_icon']);
838
- // separator
839
- $separator_markup = '<div class="eael-dch-separator-wrap">';
840
- if ($settings['eael_dch_separator_type'] == 'icon') {
841
- $separator_markup .= '<i class="' . esc_attr($settings['eael_dch_separator_icon']['value']) . '"></i>';
842
- } else {
843
- $separator_markup .= '<span class="separator-one"></span>
844
  <span class="separator-two"></span>';
845
- }
846
- $separator_markup .= '</div>'; ?>
847
 
848
- <?php if ('dch-default' == $settings['eael_dch_type']) : ?>
849
  <div class="eael-dual-header">
850
- <?php echo ($settings['eael_dch_separator_position'] === 'before_title' ? $separator_markup : ''); ?>
851
  <<?php echo $settings['title_tag']; ?> class="title"><span class="lead <?php echo $settings['eael_dch_dual_color_selector']; ?>"><?php esc_html_e
852
- ($settings['eael_dch_first_title'], 'essential-addons-for-elementor-lite'); ?></span> <span><?php esc_html_e($settings['eael_dch_last_title'], 'essential-addons-for-elementor-lite'); ?></span></<?php echo $settings['title_tag']; ?>>
853
- <?php echo ($settings['eael_dch_separator_position'] === 'after_title' ? $separator_markup : ''); ?>
854
  <span class="subtext"><?php echo $settings['eael_dch_subtext']; ?></span>
855
- <?php if ('yes' == $settings['eael_show_dch_icon_content']) : ?>
856
- <?php if ($icon_is_new || $icon_migrated) { ?>
857
- <?php if (isset($settings['eael_dch_icon_new']['value']['url'])) : ?>
858
  <img src="<?php echo esc_attr($settings['eael_dch_icon_new']['value']['url']); ?>" alt="<?php echo esc_attr(get_post_meta($settings['eael_dch_icon_new']['value']['id'], '_wp_attachment_image_alt', true)); ?>" />
859
- <?php else : ?>
860
  <i class="<?php echo esc_attr($settings['eael_dch_icon_new']['value']); ?>"></i>
861
- <?php endif; ?>
862
- <?php } else { ?>
863
  <i class="<?php echo esc_attr($settings['eael_dch_icon']); ?>"></i>
864
- <?php } ?>
865
- <?php endif; ?>
866
  </div>
867
- <?php endif; ?>
868
 
869
- <?php if ('dch-icon-on-top' == $settings['eael_dch_type']) : ?>
870
  <div class="eael-dual-header">
871
- <?php if ('yes' == $settings['eael_show_dch_icon_content']) : ?>
872
- <?php if ($icon_is_new || $icon_migrated) { ?>
873
- <?php if (isset($settings['eael_dch_icon_new']['value']['url'])) { ?>
874
  <img src="<?php echo esc_attr($settings['eael_dch_icon_new']['value']['url']); ?>" alt="<?php echo esc_attr(get_post_meta($settings['eael_dch_icon_new']['value']['id'], '_wp_attachment_image_alt', true)); ?>" />
875
- <?php } else { ?>
876
  <i class="<?php echo esc_attr($settings['eael_dch_icon_new']['value']); ?>"></i>
877
- <?php } ?>
878
- <?php } else { ?>
879
  <i class="<?php echo esc_attr($settings['eael_dch_icon']); ?>"></i>
880
- <?php } ?>
881
- <?php endif; ?>
882
- <?php echo ($settings['eael_dch_separator_position'] === 'before_title' ? $separator_markup : ''); ?>
883
  <<?php echo $settings['title_tag']; ?> class="title"><span class="lead <?php echo $settings['eael_dch_dual_color_selector']; ?>"><?php esc_html_e($settings['eael_dch_first_title'], 'essential-addons-for-elementor-lite'); ?></span> <span><?php esc_html_e($settings['eael_dch_last_title'], 'essential-addons-for-elementor-lite'); ?></span></<?php echo $settings['title_tag']; ?>>
884
- <?php echo ($settings['eael_dch_separator_position'] === 'after_title' ? $separator_markup : ''); ?>
885
  <span class="subtext"><?php echo $settings['eael_dch_subtext']; ?></span>
886
  </div>
887
- <?php endif; ?>
888
 
889
- <?php if ('dch-icon-subtext-on-top' == $settings['eael_dch_type']) : ?>
890
  <div class="eael-dual-header">
891
- <?php if ('yes' == $settings['eael_show_dch_icon_content']) : ?>
892
- <?php if ($icon_is_new || $icon_migrated) { ?>
893
- <?php if (isset($settings['eael_dch_icon_new']['value']['url'])) { ?>
894
  <img src="<?php echo esc_attr($settings['eael_dch_icon_new']['value']['url']); ?>" alt="<?php echo esc_attr(get_post_meta($settings['eael_dch_icon_new']['value']['id'], '_wp_attachment_image_alt', true)); ?>" />
895
- <?php } else { ?>
896
  <i class="<?php echo esc_attr($settings['eael_dch_icon_new']['value']); ?>"></i>
897
- <?php } ?>
898
- <?php } else { ?>
899
  <i class="<?php echo esc_attr($settings['eael_dch_icon']); ?>"></i>
900
- <?php } ?>
901
- <?php endif; ?>
902
  <span class="subtext"><?php echo $settings['eael_dch_subtext']; ?></span>
903
- <?php echo ($settings['eael_dch_separator_position'] === 'before_title' ? $separator_markup : ''); ?>
904
  <<?php echo $settings['title_tag']; ?> class="title"><span class="lead <?php echo $settings['eael_dch_dual_color_selector']; ?>"><?php esc_html_e($settings['eael_dch_first_title'], 'essential-addons-for-elementor-lite'); ?></span> <span><?php esc_html_e($settings['eael_dch_last_title'], 'essential-addons-for-elementor-lite'); ?></span></<?php echo $settings['title_tag']; ?>>
905
- <?php echo ($settings['eael_dch_separator_position'] === 'after_title' ? $separator_markup : ''); ?>
906
  </div>
907
- <?php endif; ?>
908
 
909
- <?php if ('dch-subtext-on-top' == $settings['eael_dch_type']) : ?>
910
  <div class="eael-dual-header">
911
  <span class="subtext"><?php echo $settings['eael_dch_subtext']; ?></span>
912
- <?php echo ($settings['eael_dch_separator_position'] === 'before_title' ? $separator_markup : ''); ?>
913
  <<?php echo $settings['title_tag']; ?> class="title"><span class="lead <?php echo $settings['eael_dch_dual_color_selector']; ?>"><?php esc_html_e($settings['eael_dch_first_title'], 'essential-addons-for-elementor-lite'); ?></span> <span><?php esc_html_e($settings['eael_dch_last_title'], 'essential-addons-for-elementor-lite'); ?></span></<?php echo $settings['title_tag']; ?>>
914
- <?php echo ($settings['eael_dch_separator_position'] === 'after_title' ? $separator_markup : ''); ?>
915
- <?php if ('yes' == $settings['eael_show_dch_icon_content']) : ?>
916
- <?php if ($icon_is_new || $icon_migrated) { ?>
917
- <?php if (isset($settings['eael_dch_icon_new']['value']['url'])) { ?>
918
  <img src="<?php echo esc_attr($settings['eael_dch_icon_new']['value']['url']); ?>" alt="<?php echo esc_attr(get_post_meta($settings['eael_dch_icon_new']['value']['id'], '_wp_attachment_image_alt', true)); ?>" />
919
- <?php } else { ?>
920
  <i class="<?php echo esc_attr($settings['eael_dch_icon_new']['value']); ?>"></i>
921
- <?php } ?>
922
- <?php } else { ?>
923
  <i class="<?php echo esc_attr($settings['eael_dch_icon']); ?>"></i>
924
- <?php } ?>
925
- <?php endif; ?>
926
  </div>
927
- <?php endif; ?>
928
 
929
- <?php
930
- }
931
  }
4
 
5
  // If this file is called directly, abort.
6
  if (!defined('ABSPATH')) {
7
+ exit;
8
  }
9
 
10
  use \Elementor\Controls_Manager;
16
 
17
  class Dual_Color_Header extends Widget_Base
18
  {
19
+ public function get_name()
20
+ {
21
+ return 'eael-dual-color-header';
22
+ }
23
+
24
+ public function get_title()
25
+ {
26
+ return esc_html__('Dual Color Heading', 'essential-addons-for-elementor-lite');
27
+ }
28
+
29
+ public function get_icon()
30
+ {
31
+ return 'eaicon-dual-color-heading';
32
+ }
33
+
34
+ public function get_categories()
35
+ {
36
+ return ['essential-addons-elementor'];
37
+ }
38
+
39
+ public function get_keywords()
40
+ {
41
+ return [
42
+ 'ea header',
43
+ 'ea dual header',
44
+ 'ea dual color header',
45
+ 'heading',
46
+ 'headline',
47
+ 'title',
48
+ 'animated heading',
49
+ 'ea',
50
+ 'essential addons',
51
+ ];
52
+ }
53
+
54
+ public function get_custom_help_url()
55
+ {
56
+ return 'https://essential-addons.com/elementor/docs/dual-color-headline/';
57
+ }
58
+
59
+ protected function _register_controls()
60
+ {
61
+ /**
62
+ * Dual Color Heading Content Settings
63
+ */
64
+ $this->start_controls_section(
65
+ 'eael_section_dch_content_settings',
66
+ [
67
+ 'label' => esc_html__('Content Settings', 'essential-addons-for-elementor-lite'),
68
+ ]
69
+ );
70
+
71
+ $this->add_control(
72
+ 'eael_dch_type',
73
+ [
74
+ 'label' => esc_html__('Content Style', 'essential-addons-for-elementor-lite'),
75
+ 'type' => Controls_Manager::SELECT,
76
+ 'default' => 'dch-default',
77
+ 'label_block' => false,
78
+ 'options' => [
79
+ 'dch-default' => esc_html__('Default', 'essential-addons-for-elementor-lite'),
80
+ 'dch-icon-on-top' => esc_html__('Icon on top', 'essential-addons-for-elementor-lite'),
81
+ 'dch-icon-subtext-on-top' => esc_html__('Icon &amp; sub-text on top', 'essential-addons-for-elementor-lite'),
82
+ 'dch-subtext-on-top' => esc_html__('Sub-text on top', 'essential-addons-for-elementor-lite'),
83
+ ],
84
+ ]
85
+ );
86
+
87
+ $this->add_control(
88
+ 'eael_show_dch_icon_content',
89
+ [
90
+ 'label' => __('Show Icon', 'essential-addons-for-elementor-lite'),
91
+ 'type' => Controls_Manager::SWITCHER,
92
+ 'default' => 'yes',
93
+ 'label_on' => __('Show', 'essential-addons-for-elementor-lite'),
94
+ 'label_off' => __('Hide', 'essential-addons-for-elementor-lite'),
95
+ 'return_value' => 'yes',
96
+ ]
97
+ );
98
+ $this->add_control(
99
+ 'eael_show_dch_separator',
100
+ [
101
+ 'label' => __('Show Separator', 'essential-addons-for-elementor-lite'),
102
+ 'type' => Controls_Manager::SWITCHER,
103
+ 'label_on' => __('Show', 'essential-addons-for-elementor-lite'),
104
+ 'label_off' => __('Hide', 'essential-addons-for-elementor-lite'),
105
+ 'return_value' => 'yes',
106
+ 'separator' => 'after',
107
+ ]
108
+ );
109
+
110
+ /**
111
+ * Condition: 'eael_show_dch_icon_content' => 'yes'
112
+ */
113
+ $this->add_control(
114
+ 'eael_dch_icon_new',
115
+ [
116
+ 'label' => esc_html__('Icon', 'essential-addons-for-elementor-lite'),
117
+ 'type' => Controls_Manager::ICONS,
118
+ 'fa4compatibility' => 'eael_dch_icon',
119
+ 'default' => [
120
+ 'value' => 'fas fa-snowflake',
121
+ 'library' => 'fa-solid',
122
+ ],
123
+ 'condition' => [
124
+ 'eael_show_dch_icon_content' => 'yes',
125
+ ],
126
+ ]
127
+ );
128
+
129
+ $this->add_control(
130
+ 'title_tag',
131
+ [
132
+ 'label' => __('Title Tag', 'essential-addons-for-elementor-lite'),
133
+ 'type' => Controls_Manager::SELECT,
134
+ 'default' => 'h2',
135
+ 'options' => [
136
+ 'h1' => __('H1', 'essential-addons-for-elementor-lite'),
137
+ 'h2' => __('H2', 'essential-addons-for-elementor-lite'),
138
+ 'h3' => __('H3', 'essential-addons-for-elementor-lite'),
139
+ 'h4' => __('H4', 'essential-addons-for-elementor-lite'),
140
+ 'h5' => __('H5', 'essential-addons-for-elementor-lite'),
141
+ 'h6' => __('H6', 'essential-addons-for-elementor-lite'),
142
+ 'span' => __('Span', 'essential-addons-for-elementor-lite'),
143
+ 'p' => __('P', 'essential-addons-for-elementor-lite'),
144
+ 'div' => __('Div', 'essential-addons-for-elementor-lite'),
145
+ ],
146
+ ]
147
+ );
148
+
149
+ $this->add_control(
150
+ 'eael_dch_first_title',
151
+ [
152
+ 'label' => esc_html__('Title ( First Part )', 'essential-addons-for-elementor-lite'),
153
+ 'type' => Controls_Manager::TEXT,
154
+ 'label_block' => true,
155
+ 'default' => esc_html__('Dual Heading', 'essential-addons-for-elementor-lite'),
156
+ 'dynamic' => ['action' => true],
157
+ ]
158
+ );
159
+
160
+ $this->add_control(
161
+ 'eael_dch_last_title',
162
+ [
163
+ 'label' => esc_html__('Title ( Last Part )', 'essential-addons-for-elementor-lite'),
164
+ 'type' => Controls_Manager::TEXT,
165
+ 'label_block' => true,
166
+ 'default' => esc_html__('Example', 'essential-addons-for-elementor-lite'),
167
+ 'dynamic' => ['action' => true],
168
+ ]
169
+ );
170
+
171
+ $this->add_control(
172
+ 'eael_dch_subtext',
173
+ [
174
+ 'label' => esc_html__('Sub Text', 'essential-addons-for-elementor-lite'),
175
+ 'type' => Controls_Manager::WYSIWYG,
176
+ 'label_block' => true,
177
+ 'default' => esc_html__('Insert a meaningful line to evaluate the headline.', 'essential-addons-for-elementor-lite'),
178
+ ]
179
+ );
180
+
181
+ $this->add_responsive_control(
182
+ 'eael_dch_content_alignment',
183
+ [
184
+ 'label' => esc_html__('Alignment', 'essential-addons-for-elementor-lite'),
185
+ 'type' => Controls_Manager::CHOOSE,
186
+ 'label_block' => true,
187
+ 'options' => [
188
+ 'left' => [
189
+ 'title' => esc_html__('Left', 'essential-addons-for-elementor-lite'),
190
+ 'icon' => 'fa fa-align-left',
191
+ ],
192
+ 'center' => [
193
+ 'title' => esc_html__('Center', 'essential-addons-for-elementor-lite'),
194
+ 'icon' => 'fa fa-align-center',
195
+ ],
196
+ 'right' => [
197
+ 'title' => esc_html__('Right', 'essential-addons-for-elementor-lite'),
198
+ 'icon' => 'fa fa-align-right',
199
+ ],
200
+ ],
201
+ 'default' => 'center',
202
+ 'prefix_class' => 'eael-dual-header-content%s-align-',
203
+ ]
204
+ );
205
+
206
+ $this->end_controls_section();
207
+
208
+ if (!apply_filters('eael/pro_enabled', false)) {
209
+ $this->start_controls_section(
210
+ 'eael_section_pro',
211
+ [
212
+ 'label' => __('Go Premium for More Features', 'essential-addons-for-elementor-lite'),
213
+ ]
214
+ );
215
+
216
+ $this->add_control(
217
+ 'eael_control_get_pro',
218
+ [
219
+ 'label' => __('Unlock more possibilities', 'essential-addons-for-elementor-lite'),
220
+ 'type' => Controls_Manager::CHOOSE,
221
+ 'options' => [
222
+ '1' => [
223
+ 'title' => '',
224
+ 'icon' => 'fa fa-unlock-alt',
225
+ ],
226
+ ],
227
+ 'default' => '1',
228
+ 'description' => '<span class="pro-feature"> Get the <a href="https://wpdeveloper.net/in/upgrade-essential-addons-elementor" target="_blank">Pro version</a> for more stunning elements and customization options.</span>',
229
+ ]
230
+ );
231
+
232
+ $this->end_controls_section();
233
+ }
234
+
235
+ /**
236
+ * -------------------------------------------
237
+ * Tab Content ( Seperator )
238
+ * -------------------------------------------
239
+ */
240
+ $this->start_controls_section(
241
+ 'eael_section_dch_separator_settings',
242
+ [
243
+ 'label' => __('Separator', 'essential-addons-for-elementor-lite'),
244
+ 'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
245
+ 'condition' => [
246
+ 'eael_show_dch_separator' => 'yes',
247
+ ],
248
+ ]
249
+ );
250
+
251
+ $this->add_control(
252
+ 'eael_dch_separator_position',
253
+ [
254
+ 'label' => __('Separator Position', 'essential-addons-for-elementor-lite'),
255
+ 'type' => \Elementor\Controls_Manager::SELECT,
256
+ 'default' => 'after_title',
257
+ 'options' => [
258
+ 'before_title' => __('Before Title', 'essential-addons-for-elementor-lite'),
259
+ 'after_title' => __('After Title', 'essential-addons-for-elementor-lite'),
260
+ ],
261
+ ]
262
+ );
263
+ $this->add_control(
264
+ 'eael_dch_separator_type',
265
+ [
266
+ 'label' => __('Separator Type', 'essential-addons-for-elementor-lite'),
267
+ 'type' => \Elementor\Controls_Manager::SELECT,
268
+ 'default' => 'line',
269
+ 'options' => [
270
+ 'line' => __('Line', 'essential-addons-for-elementor-lite'),
271
+ 'icon' => __('Icon', 'essential-addons-for-elementor-lite'),
272
+ ],
273
+ ]
274
+ );
275
+ $this->add_control(
276
+ 'eael_dch_separator_icon',
277
+ [
278
+ 'label' => __('Icon', 'text-domain'),
279
+ 'type' => \Elementor\Controls_Manager::ICONS,
280
+ 'default' => [
281
+ 'value' => 'fas fa-star',
282
+ 'library' => 'solid',
283
+ ],
284
+ 'condition' => [
285
+ 'eael_dch_separator_type' => 'icon',
286
+ ],
287
+ ]
288
+ );
289
+
290
+ $this->end_controls_section();
291
+
292
+ /**
293
+ * -------------------------------------------
294
+ * Tab Style ( Dual Heading Style )
295
+ * -------------------------------------------
296
+ */
297
+ $this->start_controls_section(
298
+ 'eael_section_dch_style_settings',
299
+ [
300
+ 'label' => esc_html__('Dual Heading Style', 'essential-addons-for-elementor-lite'),
301
+ 'tab' => Controls_Manager::TAB_STYLE,
302
+ ]
303
+ );
304
+
305
+ $this->add_control(
306
+ 'eael_dch_bg_color',
307
+ [
308
+ 'label' => esc_html__('Background Color', 'essential-addons-for-elementor-lite'),
309
+ 'type' => Controls_Manager::COLOR,
310
+ 'default' => '',
311
+ 'selectors' => [
312
+ '{{WRAPPER}} .eael-dual-header' => 'background-color: {{VALUE}};',
313
+ ],
314
+ ]
315
+ );
316
+
317
+ $this->add_responsive_control(
318
+ 'eael_dch_container_padding',
319
+ [
320
+ 'label' => esc_html__('Padding', 'essential-addons-for-elementor-lite'),
321
+ 'type' => Controls_Manager::DIMENSIONS,
322
+ 'size_units' => ['px', 'em', '%'],
323
+ 'selectors' => [
324
+ '{{WRAPPER}} .eael-dual-header' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
325
+ ],
326
+ ]
327
+ );
328
+
329
+ $this->add_responsive_control(
330
+ 'eael_dch_container_margin',
331
+ [
332
+ 'label' => esc_html__('Margin', 'essential-addons-for-elementor-lite'),
333
+ 'type' => Controls_Manager::DIMENSIONS,
334
+ 'size_units' => ['px', 'em', '%'],
335
+ 'selectors' => [
336
+ '{{WRAPPER}} .eael-dual-header' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
337
+ ],
338
+ ]
339
+ );
340
+
341
+ $this->add_group_control(
342
+ Group_Control_Border::get_type(),
343
+ [
344
+ 'name' => 'eael_dch_border',
345
+ 'label' => esc_html__('Border', 'essential-addons-for-elementor-lite'),
346
+ 'selector' => '{{WRAPPER}} .eael-dual-header',
347
+ ]
348
+ );
349
+
350
+ $this->add_control(
351
+ 'eael_dch_border_radius',
352
+ [
353
+ 'label' => esc_html__('Border Radius', 'essential-addons-for-elementor-lite'),
354
+ 'type' => Controls_Manager::SLIDER,
355
+ 'range' => [
356
+ 'px' => [
357
+ 'max' => 500,
358
+ ],
359
+ ],
360
+ 'selectors' => [
361
+ '{{WRAPPER}} .eael-dual-header' => 'border-radius: {{SIZE}}px;',
362
+ ],
363
+ ]
364
+ );
365
+
366
+ $this->add_group_control(
367
+ Group_Control_Box_Shadow::get_type(),
368
+ [
369
+ 'name' => 'eael_dch_shadow',
370
+ 'selector' => '{{WRAPPER}} .eael-dual-header',
371
+ ]
372
+ );
373
+
374
+ $this->end_controls_section();
375
+
376
+ /**
377
+ * -------------------------------------------
378
+ * Tab Style (Icon Style)
379
+ * -------------------------------------------
380
+ */
381
+ $this->start_controls_section(
382
+ 'eael_section_dch_icon_style_settings',
383
+ [
384
+ 'label' => esc_html__('Icon Style', 'essential-addons-for-elementor-lite'),
385
+ 'tab' => Controls_Manager::TAB_STYLE,
386
+ 'condition' => [
387
+ 'eael_show_dch_icon_content' => 'yes',
388
+ ],
389
+ ]
390
+ );
391
+
392
+ $this->add_control(
393
+ 'eael_dch_icon_size',
394
+ [
395
+ 'label' => __('Icon Size', 'essential-addons-for-elementor-lite'),
396
+ 'type' => Controls_Manager::SLIDER,
397
+ 'default' => [
398
+ 'size' => 36,
399
+ ],
400
+ 'range' => [
401
+ 'px' => [
402
+ 'min' => 20,
403
+ 'max' => 500,
404
+ 'step' => 1,
405
+ ],
406
+ ],
407
+ 'selectors' => [
408
+ '{{WRAPPER}} .eael-dual-header i' => 'font-size: {{SIZE}}{{UNIT}};',
409
+ '{{WRAPPER}} .eael-dual-header img' => 'height: {{SIZE}}{{UNIT}}; width: {{SIZE}}{{UNIT}};',
410
+ ],
411
+ ]
412
+ );
413
+
414
+ $this->add_control(
415
+ 'eael_dch_icon_color',
416
+ [
417
+ 'label' => esc_html__('Icon Color', 'essential-addons-for-elementor-lite'),
418
+ 'type' => Controls_Manager::COLOR,
419
+ 'default' => '#4d4d4d',
420
+ 'selectors' => [
421
+ '{{WRAPPER}} .eael-dual-header i' => 'color: {{VALUE}};',
422
+ ],
423
+ ]
424
+ );
425
+
426
+ $this->end_controls_section();
427
+
428
+ /**
429
+ * -------------------------------------------
430
+ * Tab Style (Title Style)
431
+ * -------------------------------------------
432
+ */
433
+ $this->start_controls_section(
434
+ 'eael_section_dch_title_style_settings',
435
+ [
436
+ 'label' => esc_html__('Color &amp; Typography', 'essential-addons-for-elementor-lite'),
437
+ 'tab' => Controls_Manager::TAB_STYLE,
438
+ ]
439
+ );
440
+
441
+ $this->add_control(
442
+ 'eael_dch_title_heading',
443
+ [
444
+ 'label' => esc_html__('Title Style', 'essential-addons-for-elementor-lite'),
445
+ 'type' => Controls_Manager::HEADING,
446
+ ]
447
+ );
448
+
449
+ $this->add_control(
450
+ 'eael_dch_base_title_color',
451
+ [
452
+ 'label' => esc_html__('Main Color', 'essential-addons-for-elementor-lite'),
453
+ 'type' => Controls_Manager::COLOR,
454
+ 'default' => '#4d4d4d',
455
+ 'selectors' => [
456
+ '{{WRAPPER}} .eael-dual-header .title' => 'color: {{VALUE}};',
457
+ ],
458
+ ]
459
+ );
460
+
461
+ $this->add_control(
462
+ 'eael_dch_dual_color_selector',
463
+ [
464
+ 'label' => esc_html__('Dual Color', 'essential-addons-for-elementor-lite'),
465
+ 'type' => \Elementor\Controls_Manager::CHOOSE,
466
+ 'options' => [
467
+ 'solid-color' => [
468
+ 'title' => __('Color', 'essential-addons-for-elementor-lite'),
469
+ 'icon' => 'eicon-paint-brush',
470
+ ],
471
+ 'gradient-color' => [
472
+ 'title' => __('Gradient', 'essential-addons-for-elementor-lite'),
473
+ 'icon' => 'eicon-barcode',
474
+ ],
475
+ ],
476
+ 'toggle' => true,
477
+ 'default' => 'solid-color',
478
+ ]
479
+ );
480
+
481
+ $this->add_control(
482
+ 'eael_dch_dual_title_color',
483
+ [
484
+ 'label' => esc_html__('Solid Color', 'essential-addons-for-elementor-lite'),
485
+ 'type' => Controls_Manager::COLOR,
486
+ 'default' => '#9401D9',
487
+ 'selectors' => [
488
+ '{{WRAPPER}} .eael-dual-header .title span.lead' => 'color: {{VALUE}};',
489
+ ],
490
+ 'condition' => [
491
+ 'eael_dch_dual_color_selector' => 'solid-color'
492
+ ],
493
+ ]
494
+ );
495
+
496
+ $this->add_group_control(
497
+ Group_Control_Background::get_type(),
498
+ [
499
+ 'name' => 'eael_dch_dual_title_color_gradient',
500
+ 'types' => ['gradient'],
501
+ 'fields_options' => [
502
+ 'background' => [
503
+ 'label' => _x( 'Gradient Color', 'Text Shadow Control', 'elementor' ),
504
+ 'toggle' => false,
505
+ 'default' => 'gradient',
506
+ ],
507
+ 'color' => [
508
+ 'default' => '#062ACA',
509
+ ],
510
+ 'color_b' => [
511
+ 'default' => '#9401D9',
512
+ ]
513
+ ],
514
+ 'selector' => '{{WRAPPER}} .eael-dual-header .title span.lead',
515
+ 'condition' => [
516
+ 'eael_dch_dual_color_selector' => 'gradient-color'
517
+ ],
518
+ ]
519
+ );
520
+
521
+ $this->add_group_control(
522
+ Group_Control_Typography::get_type(),
523
+ [
524
+ 'name' => 'eael_dch_first_title_typography',
525
+ 'selector' => '{{WRAPPER}} .eael-dual-header .title, {{WRAPPER}} .eael-dual-header .title span',
526
+ ]
527
+ );
528
+
529
+ $this->add_control(
530
+ 'eael_dch_sub_title_heading',
531
+ [
532
+ 'label' => esc_html__('Sub-title Style ', 'essential-addons-for-elementor-lite'),
533
+ 'type' => Controls_Manager::HEADING,
534
+ 'separator' => 'before',
535
+ ]
536
+ );
537
+
538
+ $this->add_control(
539
+ 'eael_dch_subtext_color',
540
+ [
541
+ 'label' => esc_html__('Color', 'essential-addons-for-elementor-lite'),
542
+ 'type' => Controls_Manager::COLOR,
543
+ 'default' => '#4d4d4d',
544
+ 'selectors' => [
545
+ '{{WRAPPER}} .eael-dual-header .subtext' => 'color: {{VALUE}};',
546
+ ],
547
+ ]
548
+ );
549
+
550
+ $this->add_group_control(
551
+ Group_Control_Typography::get_type(),
552
+ [
553
+ 'name' => 'eael_dch_subtext_typography',
554
+ 'selector' => '{{WRAPPER}} .eael-dual-header .subtext',
555
+ ]
556
+ );
557
+
558
+ $this->end_controls_section();
559
+
560
+ /**
561
+ * -------------------------------------------
562
+ * Tab Style (Separator)
563
+ * -------------------------------------------
564
+ */
565
+ $this->start_controls_section(
566
+ 'eael_section_dch_separator_style_settings',
567
+ [
568
+ 'label' => esc_html__('Separator', 'essential-addons-for-elementor-lite'),
569
+ 'tab' => Controls_Manager::TAB_STYLE,
570
+ 'condition' => [
571
+ 'eael_show_dch_separator' => 'yes',
572
+ ],
573
+ ]
574
+ );
575
+ $this->add_control(
576
+ 'eael_section_dch_separator_alignment',
577
+ [
578
+ 'label' => __('Alignment', 'essential-addons-for-elementor-lite'),
579
+ 'type' => \Elementor\Controls_Manager::CHOOSE,
580
+ 'options' => [
581
+ 'flex-start' => [
582
+ 'title' => __('Flex Start', 'essential-addons-for-elementor-lite'),
583
+ 'icon' => 'fa fa-align-left',
584
+ ],
585
+ 'center' => [
586
+ 'title' => __('Center', 'essential-addons-for-elementor-lite'),
587
+ 'icon' => 'fa fa-align-center',
588
+ ],
589
+ 'flex-end' => [
590
+ 'title' => __('Flex End', 'essential-addons-for-elementor-lite'),
591
+ 'icon' => 'fa fa-align-right',
592
+ ],
593
+ ],
594
+ 'default' => 'center',
595
+ 'toggle' => true,
596
+ 'selectors' => [
597
+ '{{WRAPPER}} .eael-dch-separator-wrap' => 'justify-content: {{VALUE}}',
598
+ ],
599
+ ]
600
+ );
601
+ $this->add_control(
602
+ 'eael_section_dch_separator_distance',
603
+ [
604
+ 'label' => __('Distance Between Lines', 'essential-addons-for-elementor-lite'),
605
+ 'type' => Controls_Manager::SLIDER,
606
+ 'size_units' => ['px', '%'],
607
+ 'range' => [
608
+ 'px' => [
609
+ 'min' => 0,
610
+ 'max' => 1000,
611
+ 'step' => 5,
612
+ ],
613
+ '%' => [
614
+ 'min' => 0,
615
+ 'max' => 100,
616
+ ],
617
+ ],
618
+ 'selectors' => [
619
+ '{{WRAPPER}} .eael-dch-separator-wrap .separator-one' => 'margin-right: {{SIZE}}{{UNIT}};',
620
+ '{{WRAPPER}} .eael-dch-separator-wrap .separator-two' => 'margin-left: {{SIZE}}{{UNIT}};',
621
+ ],
622
+ 'condition' => [
623
+ 'eael_dch_separator_type' => 'line',
624
+ ],
625
+ ]
626
+ );
627
+ $this->add_control(
628
+ 'eael_section_dch_separator_margin',
629
+ [
630
+ 'label' => __('Margin', 'essential-addons-for-elementor-lite'),
631
+ 'type' => Controls_Manager::DIMENSIONS,
632
+ 'size_units' => ['px', '%', 'em'],
633
+ 'selectors' => [
634
+ '{{WRAPPER}} .eael-dch-separator-wrap' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
635
+ ],
636
+ ]
637
+ );
638
+ $this->add_control(
639
+ 'title_color',
640
+ [
641
+ 'label' => __('Color', 'essential-addons-for-elementor-lite'),
642
+ 'type' => \Elementor\Controls_Manager::COLOR,
643
+ 'scheme' => [
644
+ 'type' => \Elementor\Scheme_Color::get_type(),
645
+ 'value' => \Elementor\Scheme_Color::COLOR_1,
646
+ ],
647
+ 'selectors' => [
648
+ '{{WRAPPER}} .eael-dch-separator-wrap i' => 'color: {{VALUE}}',
649
+ ],
650
+ 'condition' => [
651
+ 'eael_dch_separator_type' => 'icon',
652
+ ],
653
+ ]
654
+ );
655
+
656
+ // line left & right Tabs
657
+ $this->start_controls_tabs(
658
+ 'eael_dch_separator_tabs',
659
+ [
660
+ 'condition' => [
661
+ 'eael_dch_separator_type' => 'line',
662
+ ],
663
+ ]
664
+ );
665
+
666
+ $this->start_controls_tab(
667
+ 'eael_dch_separator_left_tab',
668
+ [
669
+ 'label' => __('Left Line', 'essential-addons-for-elementor-lite'),
670
+ ]
671
+ );
672
+
673
+ // line left style
674
+ $this->add_control(
675
+ 'eael_dch_separator_left_width',
676
+ [
677
+ 'label' => __('Width', 'essential-addons-for-elementor-lite'),
678
+ 'type' => Controls_Manager::SLIDER,
679
+ 'size_units' => ['px', '%'],
680
+ 'range' => [
681
+ 'px' => [
682
+ 'min' => 0,
683
+ 'max' => 1000,
684
+ 'step' => 5,
685
+ ],
686
+ '%' => [
687
+ 'min' => 0,
688
+ 'max' => 100,
689
+ ],
690
+ ],
691
+ 'default' => [
692
+ 'unit' => '%',
693
+ 'size' => 15,
694
+ ],
695
+ 'selectors' => [
696
+ '{{WRAPPER}} .eael-dch-separator-wrap .separator-one' => 'width: {{SIZE}}{{UNIT}};',
697
+ ],
698
+ ]
699
+ );
700
+ $this->add_control(
701
+ 'eael_dch_separator_left_height',
702
+ [
703
+ 'label' => __('Height', 'essential-addons-for-elementor-lite'),
704
+ 'type' => Controls_Manager::SLIDER,
705
+ 'size_units' => ['px', '%'],
706
+ 'range' => [
707
+ 'px' => [
708
+ 'min' => 0,
709
+ 'max' => 1000,
710
+ 'step' => 5,
711
+ ],
712
+ '%' => [
713
+ 'min' => 0,
714
+ 'max' => 100,
715
+ ],
716
+ ],
717
+ 'default' => [
718
+ 'unit' => 'px',
719
+ 'size' => 5,
720
+ ],
721
+ 'selectors' => [
722
+ '{{WRAPPER}} .eael-dch-separator-wrap .separator-one' => 'height: {{SIZE}}{{UNIT}};',
723
+ ],
724
+ ]
725
+ );
726
+ $this->add_control(
727
+ 'eael_dch_separator_left_radius',
728
+ [
729
+ 'label' => __('Radius', 'essential-addons-for-elementor-lite'),
730
+ 'type' => Controls_Manager::DIMENSIONS,
731
+ 'size_units' => ['px', '%', 'em'],
732
+ 'selectors' => [
733
+ '{{WRAPPER}} .eael-dch-separator-wrap .separator-one' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
734
+ ],
735
+ ]
736
+ );
737
+ $this->add_group_control(
738
+ \Elementor\Group_Control_Background::get_type(),
739
+ [
740
+ 'name' => 'eael_dch_separator_left_bg',
741
+ 'label' => __('Background', 'essential-addons-for-elementor-lite'),
742
+ 'types' => ['classic', 'gradient'],
743
+ 'selector' => '{{WRAPPER}} .eael-dch-separator-wrap .separator-one',
744
+ ]
745
+ );
746
+ $this->end_controls_tab();
747
+ // line right style
748
+ $this->start_controls_tab(
749
+ 'eael_dch_separator_right_tab',
750
+ [
751
+ 'label' => __('Right Line', 'essential-addons-for-elementor-lite'),
752
+ ]
753
+ );
754
+ $this->add_control(
755
+ 'eael_dch_separator_right_width',
756
+ [
757
+ 'label' => __('Width', 'essential-addons-for-elementor-lite'),
758
+ 'type' => Controls_Manager::SLIDER,
759
+ 'size_units' => ['px', '%'],
760
+ 'range' => [
761
+ 'px' => [
762
+ 'min' => 0,
763
+ 'max' => 1000,
764
+ 'step' => 5,
765
+ ],
766
+ '%' => [
767
+ 'min' => 0,
768
+ 'max' => 100,
769
+ ],
770
+ ],
771
+ 'default' => [
772
+ 'unit' => '%',
773
+ 'size' => 15,
774
+ ],
775
+ 'selectors' => [
776
+ '{{WRAPPER}} .eael-dch-separator-wrap .separator-two' => 'width: {{SIZE}}{{UNIT}};',
777
+ ],
778
+ ]
779
+ );
780
+ $this->add_control(
781
+ 'eael_dch_separator_right_height',
782
+ [
783
+ 'label' => __('Height', 'essential-addons-for-elementor-lite'),
784
+ 'type' => Controls_Manager::SLIDER,
785
+ 'size_units' => ['px', '%'],
786
+ 'range' => [
787
+ 'px' => [
788
+ 'min' => 0,
789
+ 'max' => 1000,
790
+ 'step' => 5,
791
+ ],
792
+ '%' => [
793
+ 'min' => 0,
794
+ 'max' => 100,
795
+ ],
796
+ ],
797
+ 'default' => [
798
+ 'unit' => 'px',
799
+ 'size' => 5,
800
+ ],
801
+ 'selectors' => [
802
+ '{{WRAPPER}} .eael-dch-separator-wrap .separator-two' => 'height: {{SIZE}}{{UNIT}};',
803
+ ],
804
+ ]
805
+ );
806
+ $this->add_control(
807
+ 'eael_dch_separator_right_radius',
808
+ [
809
+ 'label' => __('Radius', 'essential-addons-for-elementor-lite'),
810
+ 'type' => Controls_Manager::DIMENSIONS,
811
+ 'size_units' => ['px', '%', 'em'],
812
+ 'selectors' => [
813
+ '{{WRAPPER}} .eael-dch-separator-wrap .separator-two' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
814
+ ],
815
+ ]
816
+ );
817
+ $this->add_group_control(
818
+ \Elementor\Group_Control_Background::get_type(),
819
+ [
820
+ 'name' => 'eael_dch_separator_right_bg',
821
+ 'label' => __('Background', 'essential-addons-for-elementor-lite'),
822
+ 'types' => ['classic', 'gradient'],
823
+ 'selector' => '{{WRAPPER}} .eael-dch-separator-wrap .separator-two',
824
+ ]
825
+ );
826
+
827
+ $this->end_controls_tab();
828
+ $this->end_controls_tabs();
829
+
830
+ $this->end_controls_section();
831
+ }
832
+
833
+ protected function render()
834
+ {
835
+ $settings = $this->get_settings_for_display();
836
+ $icon_migrated = isset($settings['__fa4_migrated']['eael_dch_icon_new']);
837
+ $icon_is_new = empty($settings['eael_dch_icon']);
838
+ // separator
839
+ $separator_markup = '<div class="eael-dch-separator-wrap">';
840
+ if ($settings['eael_dch_separator_type'] == 'icon') {
841
+ $separator_markup .= '<i class="' . esc_attr($settings['eael_dch_separator_icon']['value']) . '"></i>';
842
+ } else {
843
+ $separator_markup .= '<span class="separator-one"></span>
844
  <span class="separator-two"></span>';
845
+ }
846
+ $separator_markup .= '</div>'; ?>
847
 
848
+ <?php if ('dch-default' == $settings['eael_dch_type']) : ?>
849
  <div class="eael-dual-header">
850
+ <?php echo ($settings['eael_dch_separator_position'] === 'before_title' ? $separator_markup : ''); ?>
851
  <<?php echo $settings['title_tag']; ?> class="title"><span class="lead <?php echo $settings['eael_dch_dual_color_selector']; ?>"><?php esc_html_e
852
+ ($settings['eael_dch_first_title'], 'essential-addons-for-elementor-lite'); ?></span> <span><?php esc_html_e($settings['eael_dch_last_title'], 'essential-addons-for-elementor-lite'); ?></span></<?php echo $settings['title_tag']; ?>>
853
+ <?php echo ($settings['eael_dch_separator_position'] === 'after_title' ? $separator_markup : ''); ?>
854
  <span class="subtext"><?php echo $settings['eael_dch_subtext']; ?></span>
855
+ <?php if ('yes' == $settings['eael_show_dch_icon_content']) : ?>
856
+ <?php if ($icon_is_new || $icon_migrated) { ?>
857
+ <?php if (isset($settings['eael_dch_icon_new']['value']['url'])) : ?>
858
  <img src="<?php echo esc_attr($settings['eael_dch_icon_new']['value']['url']); ?>" alt="<?php echo esc_attr(get_post_meta($settings['eael_dch_icon_new']['value']['id'], '_wp_attachment_image_alt', true)); ?>" />
859
+ <?php else : ?>
860
  <i class="<?php echo esc_attr($settings['eael_dch_icon_new']['value']); ?>"></i>
861
+ <?php endif; ?>
862
+ <?php } else { ?>
863
  <i class="<?php echo esc_attr($settings['eael_dch_icon']); ?>"></i>
864
+ <?php } ?>
865
+ <?php endif; ?>
866
  </div>
867
+ <?php endif; ?>
868
 
869
+ <?php if ('dch-icon-on-top' == $settings['eael_dch_type']) : ?>
870
  <div class="eael-dual-header">
871
+ <?php if ('yes' == $settings['eael_show_dch_icon_content']) : ?>
872
+ <?php if ($icon_is_new || $icon_migrated) { ?>
873
+ <?php if (isset($settings['eael_dch_icon_new']['value']['url'])) { ?>
874
  <img src="<?php echo esc_attr($settings['eael_dch_icon_new']['value']['url']); ?>" alt="<?php echo esc_attr(get_post_meta($settings['eael_dch_icon_new']['value']['id'], '_wp_attachment_image_alt', true)); ?>" />
875
+ <?php } else { ?>
876
  <i class="<?php echo esc_attr($settings['eael_dch_icon_new']['value']); ?>"></i>
877
+ <?php } ?>
878
+ <?php } else { ?>
879
  <i class="<?php echo esc_attr($settings['eael_dch_icon']); ?>"></i>
880
+ <?php } ?>
881
+ <?php endif; ?>
882
+ <?php echo ($settings['eael_dch_separator_position'] === 'before_title' ? $separator_markup : ''); ?>
883
  <<?php echo $settings['title_tag']; ?> class="title"><span class="lead <?php echo $settings['eael_dch_dual_color_selector']; ?>"><?php esc_html_e($settings['eael_dch_first_title'], 'essential-addons-for-elementor-lite'); ?></span> <span><?php esc_html_e($settings['eael_dch_last_title'], 'essential-addons-for-elementor-lite'); ?></span></<?php echo $settings['title_tag']; ?>>
884
+ <?php echo ($settings['eael_dch_separator_position'] === 'after_title' ? $separator_markup : ''); ?>
885
  <span class="subtext"><?php echo $settings['eael_dch_subtext']; ?></span>
886
  </div>
887
+ <?php endif; ?>
888
 
889
+ <?php if ('dch-icon-subtext-on-top' == $settings['eael_dch_type']) : ?>
890
  <div class="eael-dual-header">
891
+ <?php if ('yes' == $settings['eael_show_dch_icon_content']) : ?>
892
+ <?php if ($icon_is_new || $icon_migrated) { ?>
893
+ <?php if (isset($settings['eael_dch_icon_new']['value']['url'])) { ?>
894
  <img src="<?php echo esc_attr($settings['eael_dch_icon_new']['value']['url']); ?>" alt="<?php echo esc_attr(get_post_meta($settings['eael_dch_icon_new']['value']['id'], '_wp_attachment_image_alt', true)); ?>" />
895
+ <?php } else { ?>
896
  <i class="<?php echo esc_attr($settings['eael_dch_icon_new']['value']); ?>"></i>
897
+ <?php } ?>
898
+ <?php } else { ?>
899
  <i class="<?php echo esc_attr($settings['eael_dch_icon']); ?>"></i>
900
+ <?php } ?>
901
+ <?php endif; ?>
902
  <span class="subtext"><?php echo $settings['eael_dch_subtext']; ?></span>
903
+ <?php echo ($settings['eael_dch_separator_position'] === 'before_title' ? $separator_markup : ''); ?>
904
  <<?php echo $settings['title_tag']; ?> class="title"><span class="lead <?php echo $settings['eael_dch_dual_color_selector']; ?>"><?php esc_html_e($settings['eael_dch_first_title'], 'essential-addons-for-elementor-lite'); ?></span> <span><?php esc_html_e($settings['eael_dch_last_title'], 'essential-addons-for-elementor-lite'); ?></span></<?php echo $settings['title_tag']; ?>>
905
+ <?php echo ($settings['eael_dch_separator_position'] === 'after_title' ? $separator_markup : ''); ?>
906
  </div>
907
+ <?php endif; ?>
908
 
909
+ <?php if ('dch-subtext-on-top' == $settings['eael_dch_type']) : ?>
910
  <div class="eael-dual-header">
911
  <span class="subtext"><?php echo $settings['eael_dch_subtext']; ?></span>
912
+ <?php echo ($settings['eael_dch_separator_position'] === 'before_title' ? $separator_markup : ''); ?>
913
  <<?php echo $settings['title_tag']; ?> class="title"><span class="lead <?php echo $settings['eael_dch_dual_color_selector']; ?>"><?php esc_html_e($settings['eael_dch_first_title'], 'essential-addons-for-elementor-lite'); ?></span> <span><?php esc_html_e($settings['eael_dch_last_title'], 'essential-addons-for-elementor-lite'); ?></span></<?php echo $settings['title_tag']; ?>>
914
+ <?php echo ($settings['eael_dch_separator_position'] === 'after_title' ? $separator_markup : ''); ?>
915
+ <?php if ('yes' == $settings['eael_show_dch_icon_content']) : ?>
916
+ <?php if ($icon_is_new || $icon_migrated) { ?>
917
+ <?php if (isset($settings['eael_dch_icon_new']['value']['url'])) { ?>
918
  <img src="<?php echo esc_attr($settings['eael_dch_icon_new']['value']['url']); ?>" alt="<?php echo esc_attr(get_post_meta($settings['eael_dch_icon_new']['value']['id'], '_wp_attachment_image_alt', true)); ?>" />
919
+ <?php } else { ?>
920
  <i class="<?php echo esc_attr($settings['eael_dch_icon_new']['value']); ?>"></i>
921
+ <?php } ?>
922
+ <?php } else { ?>
923
  <i class="<?php echo esc_attr($settings['eael_dch_icon']); ?>"></i>
924
+ <?php } ?>
925
+ <?php endif; ?>
926
  </div>
927
+ <?php endif; ?>
928
 
929
+ <?php
930
+ }
931
  }
includes/Elements/Facebook_Feed.php CHANGED
@@ -5,6 +5,7 @@ namespace Essential_Addons_Elementor\Elements;
5
  use \Elementor\Controls_Manager;
6
  use \Elementor\Group_Control_Border;
7
  use \Elementor\Group_Control_Typography;
 
8
  use \Elementor\Scheme_Typography;
9
  use \Elementor\Widget_Base;
10
  use \Essential_Addons_Elementor\Classes\Controls;
@@ -85,9 +86,9 @@ class Facebook_Feed extends Widget_Base
85
  $this->add_control(
86
  'eael_facebook_feed_page_id',
87
  [
88
- 'label' => esc_html__('Page ID', 'essential-addons-for-elementor-lite'),
89
- 'type' => Controls_Manager::TEXT,
90
- 'dynamic' => [ 'active' => true ],
91
  'label_block' => true,
92
  'default' => '',
93
  'description' => __('<a href="https://findmyfbid.com/" class="eael-btn" target="_blank">Find Your Page ID</a>', 'essential-addons-for-elementor-lite'),
@@ -97,8 +98,8 @@ class Facebook_Feed extends Widget_Base
97
  $this->add_control(
98
  'eael_facebook_feed_access_token',
99
  [
100
- 'label' => esc_html__('Access Token', 'essential-addons-for-elementor-lite'),
101
- 'type' => Controls_Manager::TEXT,
102
  'label_block' => true,
103
  'default' => '',
104
  'description' => __('<a href="https://essential-addons.com/elementor/docs/facebook-feed/" class="eael-btn" target="_blank">Get Access Token</a>', 'essential-addons-for-elementor-lite'),
@@ -117,10 +118,10 @@ class Facebook_Feed extends Widget_Base
117
  $this->add_control(
118
  'eael_facebook_feed_sort_by',
119
  [
120
- 'label' => esc_html__('Sort By', 'essential-addons-for-elementor-lite'),
121
- 'type' => Controls_Manager::SELECT,
122
  'options' => [
123
- 'most-recent' => esc_html__('Newest', 'essential-addons-for-elementor-lite'),
124
  'least-recent' => esc_html__('Oldest', 'essential-addons-for-elementor-lite'),
125
  ],
126
  'default' => 'most-recent',
@@ -130,12 +131,12 @@ class Facebook_Feed extends Widget_Base
130
  $this->add_control(
131
  'eael_facebook_feed_image_count',
132
  [
133
- 'label' => esc_html__('Max Visible Items', 'essential-addons-for-elementor-lite'),
134
- 'type' => Controls_Manager::SLIDER,
135
  'default' => [
136
  'size' => 12,
137
  ],
138
- 'range' => [
139
  'px' => [
140
  'min' => 1,
141
  'max' => 100,
@@ -157,17 +158,17 @@ class Facebook_Feed extends Widget_Base
157
  'eael_facebook_feed_layout_heading',
158
  [
159
  'label' => __('Layout Settings', 'essential-addons-for-elementor-lite'),
160
- 'type' => Controls_Manager::HEADING,
161
  ]
162
  );
163
 
164
  $this->add_control(
165
  'eael_facebook_feed_layout',
166
  [
167
- 'label' => esc_html__('Layout', 'essential-addons-for-elementor-lite'),
168
- 'type' => Controls_Manager::SELECT,
169
  'options' => [
170
- 'card' => esc_html__('Card', 'essential-addons-for-elementor-lite'),
171
  'overlay' => esc_html__('Overlay', 'essential-addons-for-elementor-lite'),
172
  ],
173
  'default' => 'card',
@@ -177,8 +178,8 @@ class Facebook_Feed extends Widget_Base
177
  $this->add_control(
178
  'eael_facebook_feed_columns',
179
  [
180
- 'label' => esc_html__('Columns', 'essential-addons-for-elementor-lite'),
181
- 'type' => Controls_Manager::SELECT,
182
  'default' => 'eael-col-3',
183
  'options' => [
184
  'eael-col-1' => esc_html__('1', 'essential-addons-for-elementor-lite'),
@@ -195,18 +196,18 @@ class Facebook_Feed extends Widget_Base
195
  'eael_facebook_feed_content_heading',
196
  [
197
  'label' => __('Content Settings', 'essential-addons-for-elementor-lite'),
198
- 'type' => Controls_Manager::HEADING,
199
  ]
200
  );
201
 
202
  $this->add_control(
203
  'eael_facebook_feed_message',
204
  [
205
- 'label' => esc_html__('Display Message', 'essential-addons-for-elementor-lite'),
206
- 'type' => Controls_Manager::SWITCHER,
207
  'return_value' => 'yes',
208
- 'default' => 'yes',
209
- 'condition' => [
210
  'eael_facebook_feed_layout' => 'card',
211
  ],
212
  ]
@@ -215,21 +216,21 @@ class Facebook_Feed extends Widget_Base
215
  $this->add_control(
216
  'eael_facebook_feed_message_max_length',
217
  [
218
- 'label' => esc_html__('Max Message Length', 'essential-addons-for-elementor-lite'),
219
- 'type' => Controls_Manager::SLIDER,
220
  'size_units' => ['px'],
221
- 'range' => [
222
  'px' => [
223
  'min' => 10,
224
  'max' => 100,
225
  ],
226
  ],
227
- 'default' => [
228
  'unit' => 'px',
229
  'size' => 10,
230
  ],
231
- 'condition' => [
232
- 'eael_facebook_feed_layout' => 'card',
233
  'eael_facebook_feed_message' => 'yes',
234
  ],
235
  ]
@@ -238,31 +239,31 @@ class Facebook_Feed extends Widget_Base
238
  $this->add_control(
239
  'eael_facebook_feed_likes',
240
  [
241
- 'label' => esc_html__('Display Like', 'essential-addons-for-elementor-lite'),
242
- 'type' => Controls_Manager::SWITCHER,
243
  'return_value' => 'yes',
244
- 'default' => 'yes',
245
  ]
246
  );
247
 
248
  $this->add_control(
249
  'eael_facebook_feed_comments',
250
  [
251
- 'label' => esc_html__('Display Comments', 'essential-addons-for-elementor-lite'),
252
- 'type' => Controls_Manager::SWITCHER,
253
  'return_value' => 'yes',
254
- 'default' => 'yes',
255
  ]
256
  );
257
 
258
  $this->add_control(
259
  'eael_facebook_feed_date',
260
  [
261
- 'label' => esc_html__('Display Date', 'essential-addons-for-elementor-lite'),
262
- 'type' => Controls_Manager::SWITCHER,
263
  'return_value' => 'yes',
264
- 'default' => 'yes',
265
- 'condition' => [
266
  'eael_facebook_feed_layout' => 'card',
267
  ],
268
  ]
@@ -271,10 +272,10 @@ class Facebook_Feed extends Widget_Base
271
  $this->add_control(
272
  'eael_facebook_feed_link_target',
273
  [
274
- 'label' => esc_html__('Open link in new window', 'essential-addons-for-elementor-lite'),
275
- 'type' => Controls_Manager::SWITCHER,
276
  'return_value' => 'yes',
277
- 'default' => 'yes',
278
  ]
279
  );
280
 
@@ -282,32 +283,32 @@ class Facebook_Feed extends Widget_Base
282
  'eael_facebook_feed_preview_heading',
283
  [
284
  'label' => __('Preview Content Settings', 'essential-addons-for-elementor-lite'),
285
- 'type' => Controls_Manager::HEADING,
286
  ]
287
  );
288
 
289
  $this->add_control(
290
  'eael_facebook_feed_is_show_preview_content',
291
  [
292
- 'label' => __('Show Preview Content', 'essential-addons-for-elementor-lite'),
293
- 'type' => \Elementor\Controls_Manager::SWITCHER,
294
- 'label_on' => __('Show', 'essential-addons-for-elementor-lite'),
295
- 'label_off' => __('Hide', 'essential-addons-for-elementor-lite'),
296
  'return_value' => 'yes',
297
- 'default' => 'yes',
298
  ]
299
  );
300
 
301
  $this->add_control(
302
  'eael_facebook_feed_is_show_preview_thumbnail',
303
  [
304
- 'label' => __('Show Preview Thumbnail', 'essential-addons-for-elementor-lite'),
305
- 'type' => \Elementor\Controls_Manager::SWITCHER,
306
- 'label_on' => __('Show', 'essential-addons-for-elementor-lite'),
307
- 'label_off' => __('Hide', 'essential-addons-for-elementor-lite'),
308
  'return_value' => 'yes',
309
- 'default' => 'yes',
310
- 'condition' => [
311
  'eael_facebook_feed_is_show_preview_content' => 'yes',
312
  ],
313
  ]
@@ -316,13 +317,13 @@ class Facebook_Feed extends Widget_Base
316
  $this->add_control(
317
  'eael_facebook_feed_is_show_preview_host',
318
  [
319
- 'label' => __('Show Preview Host Name', 'essential-addons-for-elementor-lite'),
320
- 'type' => \Elementor\Controls_Manager::SWITCHER,
321
- 'label_on' => __('Show', 'essential-addons-for-elementor-lite'),
322
- 'label_off' => __('Hide', 'essential-addons-for-elementor-lite'),
323
  'return_value' => 'yes',
324
- 'default' => 'yes',
325
- 'condition' => [
326
  'eael_facebook_feed_is_show_preview_content' => 'yes',
327
  ],
328
  ]
@@ -331,13 +332,13 @@ class Facebook_Feed extends Widget_Base
331
  $this->add_control(
332
  'eael_facebook_feed_is_show_preview_title',
333
  [
334
- 'label' => __('Show Preview Title', 'essential-addons-for-elementor-lite'),
335
- 'type' => \Elementor\Controls_Manager::SWITCHER,
336
- 'label_on' => __('Show', 'essential-addons-for-elementor-lite'),
337
- 'label_off' => __('Hide', 'essential-addons-for-elementor-lite'),
338
  'return_value' => 'yes',
339
- 'default' => 'yes',
340
- 'condition' => [
341
  'eael_facebook_feed_is_show_preview_content' => 'yes',
342
  ],
343
  ]
@@ -346,13 +347,13 @@ class Facebook_Feed extends Widget_Base
346
  $this->add_control(
347
  'eael_facebook_feed_is_show_preview_description',
348
  [
349
- 'label' => __('Show Preview Description', 'essential-addons-for-elementor-lite'),
350
- 'type' => \Elementor\Controls_Manager::SWITCHER,
351
- 'label_on' => __('Show', 'essential-addons-for-elementor-lite'),
352
- 'label_off' => __('Hide', 'essential-addons-for-elementor-lite'),
353
  'return_value' => 'yes',
354
- 'default' => 'yes',
355
- 'condition' => [
356
  'eael_facebook_feed_is_show_preview_content' => 'yes',
357
  ],
358
  ]
@@ -362,23 +363,23 @@ class Facebook_Feed extends Widget_Base
362
  'show_load_more_heading',
363
  [
364
  'label' => __('Pagination', 'essential-addons-for-elementor-lite'),
365
- 'type' => Controls_Manager::HEADING,
366
  ]
367
  );
368
 
369
  $this->add_control(
370
  'show_load_more',
371
  [
372
- 'label' => __('Show Load More', 'essential-addons-for-elementor-lite'),
373
- 'type' => Controls_Manager::CHOOSE,
374
  'options' => [
375
  'yes' => [
376
  'title' => __('Yes', 'essential-addons-for-elementor-lite'),
377
- 'icon' => 'fa fa-check',
378
  ],
379
- 'no' => [
380
  'title' => __('No', 'essential-addons-for-elementor-lite'),
381
- 'icon' => 'fa fa-ban',
382
  ],
383
  ],
384
  'default' => 'no',
@@ -388,12 +389,12 @@ class Facebook_Feed extends Widget_Base
388
  $this->add_control(
389
  'loadmore_text',
390
  [
391
- 'label' => __('Label', 'essential-addons-for-elementor-lite'),
392
- 'type' => Controls_Manager::TEXT,
393
- 'dynamic' => ['active' => true],
394
- 'default' => __('Load More', 'essential-addons-for-elementor-lite'),
395
  'condition' => [
396
- 'show_load_more' => 'yes',
397
  ],
398
  ]
399
  );
@@ -404,7 +405,7 @@ class Facebook_Feed extends Widget_Base
404
  'eael_section_facebook_feed_styles_general',
405
  [
406
  'label' => esc_html__('Feed Item Styles', 'essential-addons-for-elementor-lite'),
407
- 'tab' => Controls_Manager::TAB_STYLE,
408
  ]
409
  );
410
 
@@ -412,10 +413,10 @@ class Facebook_Feed extends Widget_Base
412
  $this->add_control(
413
  'eael_facebook_feed_is_gradient_bg',
414
  [
415
- 'label' => __('Use Gradient Background?', 'essential-addons-for-elementor-lite'),
416
- 'type' => \Elementor\Controls_Manager::SWITCHER,
417
- 'label_on' => __('Show', 'essential-addons-for-elementor-lite'),
418
- 'label_off' => __('Hide', 'essential-addons-for-elementor-lite'),
419
  'return_value' => 'yes',
420
  ]
421
  );
@@ -423,10 +424,10 @@ class Facebook_Feed extends Widget_Base
423
  $this->add_responsive_control(
424
  'eael_facebook_feed_spacing',
425
  [
426
- 'label' => esc_html__('Space Between Items', 'essential-addons-for-elementor-lite'),
427
- 'type' => Controls_Manager::DIMENSIONS,
428
  'size_units' => ['px', '%', 'em'],
429
- 'selectors' => [
430
  '{{WRAPPER}} .eael-facebook-feed-item-inner' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
431
  ],
432
  ]
@@ -435,23 +436,23 @@ class Facebook_Feed extends Widget_Base
435
  $this->add_group_control(
436
  Group_Control_Border::get_type(),
437
  [
438
- 'name' => 'eael_facebook_feed_box_border',
439
- 'label' => esc_html__('Border', 'essential-addons-for-elementor-lite'),
440
- 'selector' => '{{WRAPPER}} .eael-facebook-feed-item-inner',
441
  'fields_options' => [
442
  'border' => [
443
  'default' => 'solid',
444
  ],
445
- 'width' => [
446
  'default' => [
447
- 'top' => '1',
448
- 'right' => '1',
449
- 'bottom' => '1',
450
- 'left' => '1',
451
  'isLinked' => false,
452
  ],
453
  ],
454
- 'color' => [
455
  'default' => '#eee',
456
  ],
457
  ],
@@ -461,8 +462,8 @@ class Facebook_Feed extends Widget_Base
461
  $this->add_control(
462
  'eael_facebook_feed_box_border_radius',
463
  [
464
- 'label' => esc_html__('Border Radius', 'essential-addons-for-elementor-lite'),
465
- 'type' => Controls_Manager::DIMENSIONS,
466
  'selectors' => [
467
  '{{WRAPPER}} .eael-facebook-feed-item-inner, {{WRAPPER}} .eael-facebook-feed-item-inner .eael-facebook-feed-item-overlay' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
468
  ],
@@ -472,12 +473,12 @@ class Facebook_Feed extends Widget_Base
472
  $this->add_group_control(
473
  \Elementor\Group_Control_Background::get_type(),
474
  [
475
- 'name' => 'eael_facebook_feed_gradient_background',
476
- 'label' => __('Background', 'essential-addons-for-elementor-lite'),
477
- 'types' => ['classic', 'gradient'],
478
- 'selector' => '{{WRAPPER}} .eael-facebook-feed-item-inner',
479
  'condition' => [
480
- 'eael_facebook_feed_layout' => 'card',
481
  'eael_facebook_feed_is_gradient_bg' => 'yes',
482
  ],
483
  ]
@@ -486,14 +487,14 @@ class Facebook_Feed extends Widget_Base
486
  $this->add_control(
487
  'eael_facebook_feed_background',
488
  [
489
- 'label' => esc_html__('Background', 'essential-addons-for-elementor-lite'),
490
- 'type' => Controls_Manager::COLOR,
491
- 'default' => '#ffffff',
492
  'selectors' => [
493
  '{{WRAPPER}} .eael-facebook-feed-item-inner' => 'background-color: {{VALUE}};',
494
  ],
495
  'condition' => [
496
- 'eael_facebook_feed_layout' => 'card',
497
  'eael_facebook_feed_is_gradient_bg' => '',
498
  ],
499
  ]
@@ -502,8 +503,8 @@ class Facebook_Feed extends Widget_Base
502
  $this->add_group_control(
503
  \Elementor\Group_Control_Box_Shadow::get_type(),
504
  [
505
- 'name' => 'eael_facebook_feed_shadow',
506
- 'label' => __('Shadow', 'essential-addons-for-elementor-lite'),
507
  'selector' => '{{WRAPPER}} .eael-facebook-feed-item-inner',
508
  ]
509
  );
@@ -511,8 +512,8 @@ class Facebook_Feed extends Widget_Base
511
  $this->add_control(
512
  'eael_facebook_feed_thumbnail_style',
513
  [
514
- 'label' => __('Thumbnail Style', 'essential-addons-for-elementor-lite'),
515
- 'type' => Controls_Manager::HEADING,
516
  'condition' => [
517
  'eael_facebook_feed_layout' => 'card',
518
  ],
@@ -521,10 +522,10 @@ class Facebook_Feed extends Widget_Base
521
  $this->add_control(
522
  'eael_facebook_feed_thumbnail_border_radius',
523
  [
524
- 'label' => __('Border Radius', 'essential-addons-for-elementor-lite'),
525
- 'type' => Controls_Manager::DIMENSIONS,
526
  'size_units' => ['px', '%', 'em'],
527
- 'selectors' => [
528
  '{{WRAPPER}} .eael-facebook-feed-item .eael-facebook-feed-img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
529
  ],
530
  ]
@@ -533,8 +534,8 @@ class Facebook_Feed extends Widget_Base
533
  $this->add_control(
534
  'eael_facebook_feed_header_style',
535
  [
536
- 'label' => __('Header Style', 'essential-addons-for-elementor-lite'),
537
- 'type' => Controls_Manager::HEADING,
538
  'condition' => [
539
  'eael_facebook_feed_layout' => 'card',
540
  ],
@@ -544,12 +545,12 @@ class Facebook_Feed extends Widget_Base
544
  $this->add_control(
545
  'eael_facebook_feed_header_layout',
546
  [
547
- 'label' => __('Header Layout', 'essential-addons-for-elementor-lite'),
548
- 'type' => \Elementor\Controls_Manager::SELECT,
549
  'default' => 'default',
550
  'options' => [
551
  'default' => __('Default Layout', 'essential-addons-for-elementor-lite'),
552
- 'two' => __('Layout Two', 'essential-addons-for-elementor-lite'),
553
  ],
554
  'condition' => [
555
  'eael_facebook_feed_layout' => 'card',
@@ -560,12 +561,12 @@ class Facebook_Feed extends Widget_Base
560
  $this->add_group_control(
561
  \Elementor\Group_Control_Background::get_type(),
562
  [
563
- 'name' => 'eael_facebook_feed_header_gradient_background',
564
- 'label' => __('Background', 'essential-addons-for-elementor-lite'),
565
- 'types' => ['classic', 'gradient'],
566
- 'selector' => '{{WRAPPER}} .eael-facebook-feed-item-header',
567
  'condition' => [
568
- 'eael_facebook_feed_layout' => 'card',
569
  'eael_facebook_feed_is_gradient_bg' => 'yes',
570
  ],
571
  ]
@@ -574,14 +575,14 @@ class Facebook_Feed extends Widget_Base
574
  $this->add_control(
575
  'eael_facebook_feed_header_background',
576
  [
577
- 'label' => esc_html__('Background', 'essential-addons-for-elementor-lite'),
578
- 'type' => Controls_Manager::COLOR,
579
- 'default' => '#f2f6fd',
580
  'selectors' => [
581
  '{{WRAPPER}} .eael-facebook-feed-item-header' => 'background-color: {{VALUE}};',
582
  ],
583
  'condition' => [
584
- 'eael_facebook_feed_layout' => 'card',
585
  'eael_facebook_feed_is_gradient_bg' => '',
586
  ],
587
  ]
@@ -590,13 +591,13 @@ class Facebook_Feed extends Widget_Base
590
  $this->add_control(
591
  'eael_facebook_feed_header_spacing',
592
  [
593
- 'label' => esc_html__('Padding', 'essential-addons-for-elementor-lite'),
594
- 'type' => Controls_Manager::DIMENSIONS,
595
  'size_units' => ['px', '%', 'em'],
596
- 'selectors' => [
597
  '{{WRAPPER}} .eael-facebook-feed-item-header' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
598
  ],
599
- 'condition' => [
600
  'eael_facebook_feed_layout' => 'card',
601
  ],
602
  ]
@@ -605,8 +606,8 @@ class Facebook_Feed extends Widget_Base
605
  $this->add_control(
606
  'eael_facebook_feed_content_style',
607
  [
608
- 'label' => __('Content Style', 'essential-addons-for-elementor-lite'),
609
- 'type' => Controls_Manager::HEADING,
610
  'condition' => [
611
  'eael_facebook_feed_layout' => 'card',
612
  ],
@@ -616,13 +617,13 @@ class Facebook_Feed extends Widget_Base
616
  $this->add_control(
617
  'eael_facebook_feed_content_spacing',
618
  [
619
- 'label' => esc_html__('Padding', 'essential-addons-for-elementor-lite'),
620
- 'type' => Controls_Manager::DIMENSIONS,
621
  'size_units' => ['px', '%', 'em'],
622
- 'selectors' => [
623
  '{{WRAPPER}} .eael-facebook-feed-item-content' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
624
  ],
625
- 'condition' => [
626
  'eael_facebook_feed_layout' => 'card',
627
  ],
628
  ]
@@ -631,14 +632,14 @@ class Facebook_Feed extends Widget_Base
631
  $this->add_control(
632
  'eael_facebook_feed_content_preview_spacing',
633
  [
634
- 'label' => esc_html__('Preview Padding', 'essential-addons-for-elementor-lite'),
635
- 'type' => Controls_Manager::DIMENSIONS,
636
  'size_units' => ['px', '%', 'em'],
637
- 'selectors' => [
638
- '{{WRAPPER}} .eael-facebook-feed-preview-wrap' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
639
  '{{WRAPPER}} .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview' => 'padding-left: 0; padding-right: 0;',
640
  ],
641
- 'condition' => [
642
  'eael_facebook_feed_layout' => 'card',
643
  ],
644
  ]
@@ -647,8 +648,8 @@ class Facebook_Feed extends Widget_Base
647
  $this->add_control(
648
  'eael_facebook_feed_footer_style',
649
  [
650
- 'label' => __('Footer Style', 'essential-addons-for-elementor-lite'),
651
- 'type' => Controls_Manager::HEADING,
652
  'condition' => [
653
  'eael_facebook_feed_layout' => 'card',
654
  ],
@@ -658,12 +659,12 @@ class Facebook_Feed extends Widget_Base
658
  $this->add_group_control(
659
  \Elementor\Group_Control_Background::get_type(),
660
  [
661
- 'name' => 'eael_facebook_feed_footer_gradient_background',
662
- 'label' => __('Background', 'essential-addons-for-elementor-lite'),
663
- 'types' => ['classic', 'gradient'],
664
- 'selector' => '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-footer',
665
  'condition' => [
666
- 'eael_facebook_feed_layout' => 'card',
667
  'eael_facebook_feed_is_gradient_bg' => 'yes',
668
  ],
669
  ]
@@ -672,14 +673,14 @@ class Facebook_Feed extends Widget_Base
672
  $this->add_control(
673
  'eael_facebook_feed_footer_background',
674
  [
675
- 'label' => esc_html__('Background', 'essential-addons-for-elementor-lite'),
676
- 'type' => Controls_Manager::COLOR,
677
- 'default' => '#f2f6fd',
678
  'selectors' => [
679
  '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-footer' => 'background-color: {{VALUE}};',
680
  ],
681
  'condition' => [
682
- 'eael_facebook_feed_layout' => 'card',
683
  'eael_facebook_feed_is_gradient_bg' => '',
684
  ],
685
  ]
@@ -688,13 +689,13 @@ class Facebook_Feed extends Widget_Base
688
  $this->add_control(
689
  'eael_facebook_feed_footer_spacing',
690
  [
691
- 'label' => esc_html__('Padding', 'essential-addons-for-elementor-lite'),
692
- 'type' => Controls_Manager::DIMENSIONS,
693
  'size_units' => ['px', '%', 'em'],
694
- 'selectors' => [
695
  '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-footer' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
696
  ],
697
- 'condition' => [
698
  'eael_facebook_feed_layout' => 'card',
699
  ],
700
  ]
@@ -707,14 +708,14 @@ class Facebook_Feed extends Widget_Base
707
  'eael_section_facebook_feed_hover_style',
708
  [
709
  'label' => esc_html__('Feed Item Hover Styles', 'essential-addons-for-elementor-lite'),
710
- 'tab' => Controls_Manager::TAB_STYLE,
711
  ]
712
  );
713
  $this->add_control(
714
  'eael_section_facebook_feed_hover_border_color',
715
  [
716
- 'label' => __('Border Color', 'essential-addons-for-elementor-lite'),
717
- 'type' => \Elementor\Controls_Manager::COLOR,
718
  'selectors' => [
719
  '{{WRAPPER}} .eael-facebook-feed-item-inner:hover' => 'border-color: {{VALUE}}',
720
  ],
@@ -723,16 +724,16 @@ class Facebook_Feed extends Widget_Base
723
  $this->add_group_control(
724
  \Elementor\Group_Control_Box_Shadow::get_type(),
725
  [
726
- 'name' => 'eael_section_facebook_feed_hover_shadow',
727
- 'label' => __('Box Shadow', 'plugin-domain'),
728
  'selector' => '{{WRAPPER}} .eael-facebook-feed-item-inner:hover',
729
  ]
730
  );
731
  $this->add_control(
732
  'eael_section_facebook_feed_hover_header_style',
733
  [
734
- 'label' => __('Header Style', 'essential-addons-for-elementor-lite'),
735
- 'type' => Controls_Manager::HEADING,
736
  'condition' => [
737
  'eael_facebook_feed_layout' => 'card',
738
  ],
@@ -742,10 +743,10 @@ class Facebook_Feed extends Widget_Base
742
  $this->add_group_control(
743
  \Elementor\Group_Control_Background::get_type(),
744
  [
745
- 'name' => 'eael_section_facebook_feed_hover_header_background',
746
- 'label' => __('Background', 'essential-addons-for-elementor-lite'),
747
- 'types' => ['classic', 'gradient'],
748
- 'selector' => '{{WRAPPER}} .eael-facebook-feed-item:hover .eael-facebook-feed-item-header',
749
  'condition' => [
750
  'eael_facebook_feed_layout' => 'card',
751
  ],
@@ -754,11 +755,11 @@ class Facebook_Feed extends Widget_Base
754
  $this->add_control(
755
  'eael_section_facebook_feed_hover_header_color',
756
  [
757
- 'label' => __('Color', 'essential-addons-for-elementor-lite'),
758
- 'type' => \Elementor\Controls_Manager::COLOR,
759
  'selectors' => [
760
  '{{WRAPPER}} .eael-facebook-feed-item:hover .eael-facebook-feed-item-inner .eael-facebook-feed-item-header .eael-facebook-feed-item-user .eael-facebook-feed-username' => 'color: {{VALUE}} !important',
761
- '{{WRAPPER}} .eael-facebook-feed-item:hover .eael-facebook-feed-item-inner .eael-facebook-feed-item-header .eael-facebook-feed-post-time' => 'color: {{VALUE}} !important',
762
  ],
763
  'condition' => [
764
  'eael_facebook_feed_layout' => 'card',
@@ -769,8 +770,8 @@ class Facebook_Feed extends Widget_Base
769
  $this->add_control(
770
  'eael_section_facebook_feed_hover_content_style',
771
  [
772
- 'label' => __('Content Style', 'essential-addons-for-elementor-lite'),
773
- 'type' => Controls_Manager::HEADING,
774
  'condition' => [
775
  'eael_facebook_feed_layout' => 'card',
776
  ],
@@ -780,10 +781,10 @@ class Facebook_Feed extends Widget_Base
780
  $this->add_group_control(
781
  \Elementor\Group_Control_Background::get_type(),
782
  [
783
- 'name' => 'eael_section_facebook_feed_hover_content_background',
784
- 'label' => __('Background', 'essential-addons-for-elementor-lite'),
785
- 'types' => ['classic', 'gradient'],
786
- 'selector' => '{{WRAPPER}} .eael-facebook-feed-item:hover .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap',
787
  'condition' => [
788
  'eael_facebook_feed_layout' => 'card',
789
  ],
@@ -792,13 +793,13 @@ class Facebook_Feed extends Widget_Base
792
  $this->add_control(
793
  'eael_section_facebook_feed_hover_content_color',
794
  [
795
- 'label' => __('Color', 'essential-addons-for-elementor-lite'),
796
- 'type' => \Elementor\Controls_Manager::COLOR,
797
  'selectors' => [
798
  '{{WRAPPER}} .eael-facebook-feed-item:hover .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview .eael-facebook-feed-url-description' => 'color: {{VALUE}} !important',
799
- '{{WRAPPER}} .eael-facebook-feed-item:hover .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview .eael-facebook-feed-url-title' => 'color: {{VALUE}} !important',
800
- '{{WRAPPER}} .eael-facebook-feed-item:hover .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview .eael-facebook-feed-url-host' => 'color: {{VALUE}} !important',
801
- '{{WRAPPER}} .eael-facebook-feed-item:hover .eael-facebook-feed-item-inner .eael-facebook-feed-item-content .eael-facebook-feed-message' => 'color: {{VALUE}} !important',
802
  ],
803
  'condition' => [
804
  'eael_facebook_feed_layout' => 'card',
@@ -809,8 +810,8 @@ class Facebook_Feed extends Widget_Base
809
  $this->add_control(
810
  'eael_section_facebook_feed_hover_footer_style',
811
  [
812
- 'label' => __('Footer Style', 'essential-addons-for-elementor-lite'),
813
- 'type' => Controls_Manager::HEADING,
814
  'condition' => [
815
  'eael_facebook_feed_layout' => 'card',
816
  ],
@@ -820,10 +821,10 @@ class Facebook_Feed extends Widget_Base
820
  $this->add_group_control(
821
  \Elementor\Group_Control_Background::get_type(),
822
  [
823
- 'name' => 'eael_section_facebook_feed_hover_footer_background',
824
- 'label' => __('Background', 'essential-addons-for-elementor-lite'),
825
- 'types' => ['classic', 'gradient'],
826
- 'selector' => '{{WRAPPER}} .eael-facebook-feed-item:hover .eael-facebook-feed-item-inner .eael-facebook-feed-item-footer',
827
  'condition' => [
828
  'eael_facebook_feed_layout' => 'card',
829
  ],
@@ -832,8 +833,8 @@ class Facebook_Feed extends Widget_Base
832
  $this->add_control(
833
  'eael_section_facebook_feed_hover_footer_color',
834
  [
835
- 'label' => __('Color', 'essential-addons-for-elementor-lite'),
836
- 'type' => \Elementor\Controls_Manager::COLOR,
837
  'selectors' => [
838
  '{{WRAPPER}} .eael-facebook-feed-item:hover .eael-facebook-feed-item-inner .eael-facebook-feed-item-footer' => 'color: {{VALUE}}',
839
  ],
@@ -850,15 +851,15 @@ class Facebook_Feed extends Widget_Base
850
  'eael_section_facebook_feed_styles_content',
851
  [
852
  'label' => esc_html__('Color &amp; Typography', 'essential-addons-for-elementor-lite'),
853
- 'tab' => Controls_Manager::TAB_STYLE,
854
  ]
855
  );
856
 
857
  $this->add_control(
858
  'eael_facebook_feed_styles_page_name_heading',
859
  [
860
- 'label' => __('Page Name', 'essential-addons-for-elementor-lite'),
861
- 'type' => Controls_Manager::HEADING,
862
  'condition' => [
863
  'eael_facebook_feed_layout' => 'card',
864
  ],
@@ -868,9 +869,9 @@ class Facebook_Feed extends Widget_Base
868
  $this->add_group_control(
869
  Group_Control_Typography::get_type(),
870
  [
871
- 'name' => 'eael_facebook_feed_page_name_typography',
872
- 'scheme' => Scheme_Typography::TYPOGRAPHY_2,
873
- 'selector' => '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-header .eael-facebook-feed-item-user .eael-facebook-feed-username',
874
  'condition' => [
875
  'eael_facebook_feed_layout' => 'card',
876
  ],
@@ -880,9 +881,9 @@ class Facebook_Feed extends Widget_Base
880
  $this->add_control(
881
  'eael_facebook_feed_page_name_color',
882
  [
883
- 'label' => esc_html__('Color', 'essential-addons-for-elementor-lite'),
884
- 'type' => Controls_Manager::COLOR,
885
- 'default' => '#365899',
886
  'selectors' => [
887
  '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-header .eael-facebook-feed-item-user .eael-facebook-feed-username' => 'color: {{VALUE}};',
888
  ],
@@ -895,8 +896,8 @@ class Facebook_Feed extends Widget_Base
895
  $this->add_control(
896
  'eael_facebook_feed_styles_date_heading',
897
  [
898
- 'label' => __('Date', 'essential-addons-for-elementor-lite'),
899
- 'type' => Controls_Manager::HEADING,
900
  'condition' => [
901
  'eael_facebook_feed_layout' => 'card',
902
  ],
@@ -906,9 +907,9 @@ class Facebook_Feed extends Widget_Base
906
  $this->add_group_control(
907
  Group_Control_Typography::get_type(),
908
  [
909
- 'name' => 'eael_facebook_feed_date_typography',
910
- 'scheme' => Scheme_Typography::TYPOGRAPHY_2,
911
- 'selector' => '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-header .eael-facebook-feed-post-time',
912
  'condition' => [
913
  'eael_facebook_feed_layout' => 'card',
914
  ],
@@ -918,9 +919,9 @@ class Facebook_Feed extends Widget_Base
918
  $this->add_control(
919
  'eael_facebook_feed_date_color',
920
  [
921
- 'label' => esc_html__('Color', 'essential-addons-for-elementor-lite'),
922
- 'type' => Controls_Manager::COLOR,
923
- 'default' => '#707070',
924
  'selectors' => [
925
  '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-header .eael-facebook-feed-post-time' => 'color: {{VALUE}};',
926
  ],
@@ -933,8 +934,8 @@ class Facebook_Feed extends Widget_Base
933
  $this->add_control(
934
  'eael_facebook_feed_styles_message_heading',
935
  [
936
- 'label' => __('Content', 'essential-addons-for-elementor-lite'),
937
- 'type' => Controls_Manager::HEADING,
938
  'condition' => [
939
  'eael_facebook_feed_layout' => 'card',
940
  ],
@@ -944,9 +945,9 @@ class Facebook_Feed extends Widget_Base
944
  $this->add_group_control(
945
  Group_Control_Typography::get_type(),
946
  [
947
- 'name' => 'eael_facebook_feed_message_typography',
948
- 'scheme' => Scheme_Typography::TYPOGRAPHY_2,
949
- 'selector' => '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-content .eael-facebook-feed-message',
950
  'condition' => [
951
  'eael_facebook_feed_layout' => 'card',
952
  ],
@@ -956,9 +957,9 @@ class Facebook_Feed extends Widget_Base
956
  $this->add_control(
957
  'eael_facebook_feed_message_color',
958
  [
959
- 'label' => esc_html__('Color', 'essential-addons-for-elementor-lite'),
960
- 'type' => Controls_Manager::COLOR,
961
- 'default' => '#707070',
962
  'selectors' => [
963
  '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-content .eael-facebook-feed-message' => 'color: {{VALUE}};',
964
  ],
@@ -971,9 +972,9 @@ class Facebook_Feed extends Widget_Base
971
  $this->add_control(
972
  'eael_facebook_feed_message_link_color',
973
  [
974
- 'label' => esc_html__('Link Color', 'essential-addons-for-elementor-lite'),
975
- 'type' => Controls_Manager::COLOR,
976
- 'default' => '#365899',
977
  'selectors' => [
978
  '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-content .eael-facebook-feed-message a' => 'color: {{VALUE}};',
979
  ],
@@ -986,8 +987,8 @@ class Facebook_Feed extends Widget_Base
986
  $this->add_control(
987
  'eael_facebook_feed_styles_preview_host_heading',
988
  [
989
- 'label' => __('Preview Host', 'essential-addons-for-elementor-lite'),
990
- 'type' => Controls_Manager::HEADING,
991
  'condition' => [
992
  'eael_facebook_feed_layout' => 'card',
993
  ],
@@ -997,9 +998,9 @@ class Facebook_Feed extends Widget_Base
997
  $this->add_group_control(
998
  Group_Control_Typography::get_type(),
999
  [
1000
- 'name' => 'eael_facebook_feed_preview_host_typography',
1001
- 'scheme' => Scheme_Typography::TYPOGRAPHY_2,
1002
- 'selector' => '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview .eael-facebook-feed-url-host',
1003
  'condition' => [
1004
  'eael_facebook_feed_layout' => 'card',
1005
  ],
@@ -1009,9 +1010,9 @@ class Facebook_Feed extends Widget_Base
1009
  $this->add_control(
1010
  'eael_facebook_feed_preview_host_color',
1011
  [
1012
- 'label' => esc_html__('Color', 'essential-addons-for-elementor-lite'),
1013
- 'type' => Controls_Manager::COLOR,
1014
- 'default' => '#707070',
1015
  'selectors' => [
1016
  '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview .eael-facebook-feed-url-host' => 'color: {{VALUE}};',
1017
  ],
@@ -1024,8 +1025,8 @@ class Facebook_Feed extends Widget_Base
1024
  $this->add_control(
1025
  'eael_facebook_feed_styles_preview_title_heading',
1026
  [
1027
- 'label' => __('Preview Title', 'essential-addons-for-elementor-lite'),
1028
- 'type' => Controls_Manager::HEADING,
1029
  'condition' => [
1030
  'eael_facebook_feed_layout' => 'card',
1031
  ],
@@ -1035,9 +1036,9 @@ class Facebook_Feed extends Widget_Base
1035
  $this->add_group_control(
1036
  Group_Control_Typography::get_type(),
1037
  [
1038
- 'name' => 'eael_facebook_feed_preview_title_typography',
1039
- 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
1040
- 'selector' => '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview .eael-facebook-feed-url-title',
1041
  'condition' => [
1042
  'eael_facebook_feed_layout' => 'card',
1043
  ],
@@ -1047,9 +1048,9 @@ class Facebook_Feed extends Widget_Base
1047
  $this->add_control(
1048
  'eael_facebook_feed_preview_title_color',
1049
  [
1050
- 'label' => esc_html__('Color', 'essential-addons-for-elementor-lite'),
1051
- 'type' => Controls_Manager::COLOR,
1052
- 'default' => '#333333',
1053
  'selectors' => [
1054
  '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview .eael-facebook-feed-url-title' => 'color: {{VALUE}};',
1055
  ],
@@ -1062,8 +1063,8 @@ class Facebook_Feed extends Widget_Base
1062
  $this->add_control(
1063
  'eael_facebook_feed_styles_preview_desc_heading',
1064
  [
1065
- 'label' => __('Preview Description', 'essential-addons-for-elementor-lite'),
1066
- 'type' => Controls_Manager::HEADING,
1067
  'condition' => [
1068
  'eael_facebook_feed_layout' => 'card',
1069
  ],
@@ -1073,9 +1074,9 @@ class Facebook_Feed extends Widget_Base
1073
  $this->add_group_control(
1074
  Group_Control_Typography::get_type(),
1075
  [
1076
- 'name' => 'eael_facebook_feed_preview_desc_typography',
1077
- 'scheme' => Scheme_Typography::TYPOGRAPHY_2,
1078
- 'selector' => '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview .eael-facebook-feed-url-description',
1079
  'condition' => [
1080
  'eael_facebook_feed_layout' => 'card',
1081
  ],
@@ -1085,9 +1086,9 @@ class Facebook_Feed extends Widget_Base
1085
  $this->add_control(
1086
  'eael_facebook_feed_preview_desc_color',
1087
  [
1088
- 'label' => esc_html__('Color', 'essential-addons-for-elementor-lite'),
1089
- 'type' => Controls_Manager::COLOR,
1090
- 'default' => '#707070',
1091
  'selectors' => [
1092
  '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview .eael-facebook-feed-url-description' => 'color: {{VALUE}};',
1093
  ],
@@ -1101,15 +1102,15 @@ class Facebook_Feed extends Widget_Base
1101
  'eael_facebook_feed_styles_likes_conmments_heading',
1102
  [
1103
  'label' => __('Likes & Comments', 'essential-addons-for-elementor-lite'),
1104
- 'type' => Controls_Manager::HEADING,
1105
  ]
1106
  );
1107
 
1108
  $this->add_group_control(
1109
  Group_Control_Typography::get_type(),
1110
  [
1111
- 'name' => 'eael_facebook_feed_likes_conmments_typography',
1112
- 'scheme' => Scheme_Typography::TYPOGRAPHY_2,
1113
  'selector' => '{{WRAPPER}} .eael-facebook-feed-overlay .eael-facebook-feed-item .eael-facebook-feed-item-overlay, {{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-footer',
1114
  ]
1115
  );
@@ -1117,13 +1118,13 @@ class Facebook_Feed extends Widget_Base
1117
  $this->add_control(
1118
  'eael_facebook_feed_likes_conmments_color',
1119
  [
1120
- 'label' => esc_html__('Color', 'essential-addons-for-elementor-lite'),
1121
- 'type' => Controls_Manager::COLOR,
1122
- 'default' => '#707070',
1123
  'selectors' => [
1124
  '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-footer' => 'color: {{VALUE}};',
1125
- '{{WRAPPER}} .eael-facebook-feed-overlay .eael-facebook-feed-item .eael-facebook-feed-item-overlay' => 'color: {{VALUE}};',
1126
- '{{WRAPPER}} .eael-facebook-feed-overlay .eael-facebook-feed-item .eael-facebook-feed-item-overlay i' => 'color: {{VALUE}};',
1127
  ],
1128
  ]
1129
  );
@@ -1131,9 +1132,9 @@ class Facebook_Feed extends Widget_Base
1131
  $this->add_control(
1132
  'eael_facebook_feed_overlay_color',
1133
  [
1134
- 'label' => esc_html__('Overlay Color', 'essential-addons-for-elementor-lite'),
1135
- 'type' => Controls_Manager::COLOR,
1136
- 'default' => 'rgba(86,20,213,0.8)',
1137
  'selectors' => [
1138
  '{{WRAPPER}} .eael-facebook-feed-overlay .eael-facebook-feed-item .eael-facebook-feed-item-overlay' => 'background-color: {{VALUE}};',
1139
  ],
@@ -1148,42 +1149,45 @@ class Facebook_Feed extends Widget_Base
1148
  do_action('eael/controls/load_more_button_style', $this);
1149
  }
1150
 
1151
- protected function render()
1152
- {
1153
  $settings = $this->get_settings_for_display();
1154
- $classes = implode(' ', [
1155
- $settings['eael_facebook_feed_columns'],
1156
- "eael-facebook-feed-{$settings['eael_facebook_feed_layout']}",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1157
  ]);
1158
- $settings_var = [
1159
- 'eael_facebook_feed_page_id' => $settings['eael_facebook_feed_page_id'],
1160
- 'eael_facebook_feed_access_token' => $settings['eael_facebook_feed_access_token'],
1161
- 'eael_facebook_feed_image_count' => $settings['eael_facebook_feed_image_count'],
1162
- 'eael_facebook_feed_sort_by' => $settings['eael_facebook_feed_sort_by'],
1163
- 'eael_facebook_feed_layout' => $settings['eael_facebook_feed_layout'],
1164
- 'eael_facebook_feed_message' => $settings['eael_facebook_feed_message'],
1165
- 'eael_facebook_feed_message_max_length' => $settings['eael_facebook_feed_message_max_length'],
1166
- 'eael_facebook_feed_date' => $settings['eael_facebook_feed_date'],
1167
- 'eael_facebook_feed_likes' => $settings['eael_facebook_feed_likes'],
1168
- 'eael_facebook_feed_comments' => $settings['eael_facebook_feed_comments'],
1169
- 'eael_facebook_feed_link_target' => $settings['eael_facebook_feed_link_target'],
1170
- ];
1171
 
1172
- echo '<div id="eael-facebook-feed-' . esc_attr($this->get_id()) . '" class="eael-facebook-feed ' . $classes . '">
1173
- ' . $this->facebook_feed_render_items() . '
 
1174
  </div>
1175
- <div class="clearfix"></div>';
1176
-
1177
- if (($settings['show_load_more'] == 'yes')) {
1178
- echo '<div class="eael-load-more-button-wrap">
1179
- <button class="eael-load-more-button" id="eael-load-more-btn-' . $this->get_id() . '" data-settings="' . http_build_query($settings_var) . '" data-page="1" data-loadmore-text="' . $settings['loadmore_text'] . '">
1180
  <div class="eael-btn-loader button__loader"></div>
1181
- <span>' . $settings['loadmore_text'] . '</span>
1182
  </button>
1183
- </div>';
 
1184
  }
1185
 
1186
- if (\Elementor\Plugin::instance()->editor->is_edit_mode()) {
1187
  echo '<script type="text/javascript">
1188
  jQuery(document).ready(function($) {
1189
  $(".eael-facebook-feed").each(function() {
5
  use \Elementor\Controls_Manager;
6
  use \Elementor\Group_Control_Border;
7
  use \Elementor\Group_Control_Typography;
8
+ use Elementor\Plugin;
9
  use \Elementor\Scheme_Typography;
10
  use \Elementor\Widget_Base;
11
  use \Essential_Addons_Elementor\Classes\Controls;
86
  $this->add_control(
87
  'eael_facebook_feed_page_id',
88
  [
89
+ 'label' => esc_html__('Page ID', 'essential-addons-for-elementor-lite'),
90
+ 'type' => Controls_Manager::TEXT,
91
+ 'dynamic' => ['active' => true],
92
  'label_block' => true,
93
  'default' => '',
94
  'description' => __('<a href="https://findmyfbid.com/" class="eael-btn" target="_blank">Find Your Page ID</a>', 'essential-addons-for-elementor-lite'),
98
  $this->add_control(
99
  'eael_facebook_feed_access_token',
100
  [
101
+ 'label' => esc_html__('Access Token', 'essential-addons-for-elementor-lite'),
102
+ 'type' => Controls_Manager::TEXT,
103
  'label_block' => true,
104
  'default' => '',
105
  'description' => __('<a href="https://essential-addons.com/elementor/docs/facebook-feed/" class="eael-btn" target="_blank">Get Access Token</a>', 'essential-addons-for-elementor-lite'),
118
  $this->add_control(
119
  'eael_facebook_feed_sort_by',
120
  [
121
+ 'label' => esc_html__('Sort By', 'essential-addons-for-elementor-lite'),
122
+ 'type' => Controls_Manager::SELECT,
123
  'options' => [
124
+ 'most-recent' => esc_html__('Newest', 'essential-addons-for-elementor-lite'),
125
  'least-recent' => esc_html__('Oldest', 'essential-addons-for-elementor-lite'),
126
  ],
127
  'default' => 'most-recent',
131
  $this->add_control(
132
  'eael_facebook_feed_image_count',
133
  [
134
+ 'label' => esc_html__('Max Visible Items', 'essential-addons-for-elementor-lite'),
135
+ 'type' => Controls_Manager::SLIDER,
136
  'default' => [
137
  'size' => 12,
138
  ],
139
+ 'range' => [
140
  'px' => [
141
  'min' => 1,
142
  'max' => 100,
158
  'eael_facebook_feed_layout_heading',
159
  [
160
  'label' => __('Layout Settings', 'essential-addons-for-elementor-lite'),
161
+ 'type' => Controls_Manager::HEADING,
162
  ]
163
  );
164
 
165
  $this->add_control(
166
  'eael_facebook_feed_layout',
167
  [
168
+ 'label' => esc_html__('Layout', 'essential-addons-for-elementor-lite'),
169
+ 'type' => Controls_Manager::SELECT,
170
  'options' => [
171
+ 'card' => esc_html__('Card', 'essential-addons-for-elementor-lite'),
172
  'overlay' => esc_html__('Overlay', 'essential-addons-for-elementor-lite'),
173
  ],
174
  'default' => 'card',
178
  $this->add_control(
179
  'eael_facebook_feed_columns',
180
  [
181
+ 'label' => esc_html__('Columns', 'essential-addons-for-elementor-lite'),
182
+ 'type' => Controls_Manager::SELECT,
183
  'default' => 'eael-col-3',
184
  'options' => [
185
  'eael-col-1' => esc_html__('1', 'essential-addons-for-elementor-lite'),
196
  'eael_facebook_feed_content_heading',
197
  [
198
  'label' => __('Content Settings', 'essential-addons-for-elementor-lite'),
199
+ 'type' => Controls_Manager::HEADING,
200
  ]
201
  );
202
 
203
  $this->add_control(
204
  'eael_facebook_feed_message',
205
  [
206
+ 'label' => esc_html__('Display Message', 'essential-addons-for-elementor-lite'),
207
+ 'type' => Controls_Manager::SWITCHER,
208
  'return_value' => 'yes',
209
+ 'default' => 'yes',
210
+ 'condition' => [
211
  'eael_facebook_feed_layout' => 'card',
212
  ],
213
  ]
216
  $this->add_control(
217
  'eael_facebook_feed_message_max_length',
218
  [
219
+ 'label' => esc_html__('Max Message Length', 'essential-addons-for-elementor-lite'),
220
+ 'type' => Controls_Manager::SLIDER,
221
  'size_units' => ['px'],
222
+ 'range' => [
223
  'px' => [
224
  'min' => 10,
225
  'max' => 100,
226
  ],
227
  ],
228
+ 'default' => [
229
  'unit' => 'px',
230
  'size' => 10,
231
  ],
232
+ 'condition' => [
233
+ 'eael_facebook_feed_layout' => 'card',
234
  'eael_facebook_feed_message' => 'yes',
235
  ],
236
  ]
239
  $this->add_control(
240
  'eael_facebook_feed_likes',
241
  [
242
+ 'label' => esc_html__('Display Like', 'essential-addons-for-elementor-lite'),
243
+ 'type' => Controls_Manager::SWITCHER,
244
  'return_value' => 'yes',
245
+ 'default' => 'yes',
246
  ]
247
  );
248
 
249
  $this->add_control(
250
  'eael_facebook_feed_comments',
251
  [
252
+ 'label' => esc_html__('Display Comments', 'essential-addons-for-elementor-lite'),
253
+ 'type' => Controls_Manager::SWITCHER,
254
  'return_value' => 'yes',
255
+ 'default' => 'yes',
256
  ]
257
  );
258
 
259
  $this->add_control(
260
  'eael_facebook_feed_date',
261
  [
262
+ 'label' => esc_html__('Display Date', 'essential-addons-for-elementor-lite'),
263
+ 'type' => Controls_Manager::SWITCHER,
264
  'return_value' => 'yes',
265
+ 'default' => 'yes',
266
+ 'condition' => [
267
  'eael_facebook_feed_layout' => 'card',
268
  ],
269
  ]
272
  $this->add_control(
273
  'eael_facebook_feed_link_target',
274
  [
275
+ 'label' => esc_html__('Open link in new window', 'essential-addons-for-elementor-lite'),
276
+ 'type' => Controls_Manager::SWITCHER,
277
  'return_value' => 'yes',
278
+ 'default' => 'yes',
279
  ]
280
  );
281
 
283
  'eael_facebook_feed_preview_heading',
284
  [
285
  'label' => __('Preview Content Settings', 'essential-addons-for-elementor-lite'),
286
+ 'type' => Controls_Manager::HEADING,
287
  ]
288
  );
289
 
290
  $this->add_control(
291
  'eael_facebook_feed_is_show_preview_content',
292
  [
293
+ 'label' => __('Show Preview Content', 'essential-addons-for-elementor-lite'),
294
+ 'type' => \Elementor\Controls_Manager::SWITCHER,
295
+ 'label_on' => __('Show', 'essential-addons-for-elementor-lite'),
296
+ 'label_off' => __('Hide', 'essential-addons-for-elementor-lite'),
297
  'return_value' => 'yes',
298
+ 'default' => 'yes',
299
  ]
300
  );
301
 
302
  $this->add_control(
303
  'eael_facebook_feed_is_show_preview_thumbnail',
304
  [
305
+ 'label' => __('Show Preview Thumbnail', 'essential-addons-for-elementor-lite'),
306
+ 'type' => \Elementor\Controls_Manager::SWITCHER,
307
+ 'label_on' => __('Show', 'essential-addons-for-elementor-lite'),
308
+ 'label_off' => __('Hide', 'essential-addons-for-elementor-lite'),
309
  'return_value' => 'yes',
310
+ 'default' => 'yes',
311
+ 'condition' => [
312
  'eael_facebook_feed_is_show_preview_content' => 'yes',
313
  ],
314
  ]
317
  $this->add_control(
318
  'eael_facebook_feed_is_show_preview_host',
319
  [
320
+ 'label' => __('Show Preview Host Name', 'essential-addons-for-elementor-lite'),
321
+ 'type' => \Elementor\Controls_Manager::SWITCHER,
322
+ 'label_on' => __('Show', 'essential-addons-for-elementor-lite'),
323
+ 'label_off' => __('Hide', 'essential-addons-for-elementor-lite'),
324
  'return_value' => 'yes',
325
+ 'default' => 'yes',
326
+ 'condition' => [
327
  'eael_facebook_feed_is_show_preview_content' => 'yes',
328
  ],
329
  ]
332
  $this->add_control(
333
  'eael_facebook_feed_is_show_preview_title',
334
  [
335
+ 'label' => __('Show Preview Title', 'essential-addons-for-elementor-lite'),
336
+ 'type' => \Elementor\Controls_Manager::SWITCHER,
337
+ 'label_on' => __('Show', 'essential-addons-for-elementor-lite'),
338
+ 'label_off' => __('Hide', 'essential-addons-for-elementor-lite'),
339
  'return_value' => 'yes',
340
+ 'default' => 'yes',
341
+ 'condition' => [
342
  'eael_facebook_feed_is_show_preview_content' => 'yes',
343
  ],
344
  ]
347
  $this->add_control(
348
  'eael_facebook_feed_is_show_preview_description',
349
  [
350
+ 'label' => __('Show Preview Description', 'essential-addons-for-elementor-lite'),
351
+ 'type' => \Elementor\Controls_Manager::SWITCHER,
352
+ 'label_on' => __('Show', 'essential-addons-for-elementor-lite'),
353
+ 'label_off' => __('Hide', 'essential-addons-for-elementor-lite'),
354
  'return_value' => 'yes',
355
+ 'default' => 'yes',
356
+ 'condition' => [
357
  'eael_facebook_feed_is_show_preview_content' => 'yes',
358
  ],
359
  ]
363
  'show_load_more_heading',
364
  [
365
  'label' => __('Pagination', 'essential-addons-for-elementor-lite'),
366
+ 'type' => Controls_Manager::HEADING,
367
  ]
368
  );
369
 
370
  $this->add_control(
371
  'show_load_more',
372
  [
373
+ 'label' => __('Show Load More', 'essential-addons-for-elementor-lite'),
374
+ 'type' => Controls_Manager::CHOOSE,
375
  'options' => [
376
  'yes' => [
377
  'title' => __('Yes', 'essential-addons-for-elementor-lite'),
378
+ 'icon' => 'fa fa-check',
379
  ],
380
+ 'no' => [
381
  'title' => __('No', 'essential-addons-for-elementor-lite'),
382
+ 'icon' => 'fa fa-ban',
383
  ],
384
  ],
385
  'default' => 'no',
389
  $this->add_control(
390
  'loadmore_text',
391
  [
392
+ 'label' => __('Label', 'essential-addons-for-elementor-lite'),
393
+ 'type' => Controls_Manager::TEXT,
394
+ 'dynamic' => ['active' => true],
395
+ 'default' => __('Load More', 'essential-addons-for-elementor-lite'),
396
  'condition' => [
397
+ 'show_load_more' => ['yes', '1', 'true'],
398
  ],
399
  ]
400
  );
405
  'eael_section_facebook_feed_styles_general',
406
  [
407
  'label' => esc_html__('Feed Item Styles', 'essential-addons-for-elementor-lite'),
408
+ 'tab' => Controls_Manager::TAB_STYLE,
409
  ]
410
  );
411
 
413
  $this->add_control(
414
  'eael_facebook_feed_is_gradient_bg',
415
  [
416
+ 'label' => __('Use Gradient Background?', 'essential-addons-for-elementor-lite'),
417
+ 'type' => \Elementor\Controls_Manager::SWITCHER,
418
+ 'label_on' => __('Show', 'essential-addons-for-elementor-lite'),
419
+ 'label_off' => __('Hide', 'essential-addons-for-elementor-lite'),
420
  'return_value' => 'yes',
421
  ]
422
  );
424
  $this->add_responsive_control(
425
  'eael_facebook_feed_spacing',
426
  [
427
+ 'label' => esc_html__('Space Between Items', 'essential-addons-for-elementor-lite'),
428
+ 'type' => Controls_Manager::DIMENSIONS,
429
  'size_units' => ['px', '%', 'em'],
430
+ 'selectors' => [
431
  '{{WRAPPER}} .eael-facebook-feed-item-inner' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
432
  ],
433
  ]
436
  $this->add_group_control(
437
  Group_Control_Border::get_type(),
438
  [
439
+ 'name' => 'eael_facebook_feed_box_border',
440
+ 'label' => esc_html__('Border', 'essential-addons-for-elementor-lite'),
441
+ 'selector' => '{{WRAPPER}} .eael-facebook-feed-item-inner',
442
  'fields_options' => [
443
  'border' => [
444
  'default' => 'solid',
445
  ],
446
+ 'width' => [
447
  'default' => [
448
+ 'top' => '1',
449
+ 'right' => '1',
450
+ 'bottom' => '1',
451
+ 'left' => '1',
452
  'isLinked' => false,
453
  ],
454
  ],
455
+ 'color' => [
456
  'default' => '#eee',
457
  ],
458
  ],
462
  $this->add_control(
463
  'eael_facebook_feed_box_border_radius',
464
  [
465
+ 'label' => esc_html__('Border Radius', 'essential-addons-for-elementor-lite'),
466
+ 'type' => Controls_Manager::DIMENSIONS,
467
  'selectors' => [
468
  '{{WRAPPER}} .eael-facebook-feed-item-inner, {{WRAPPER}} .eael-facebook-feed-item-inner .eael-facebook-feed-item-overlay' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
469
  ],
473
  $this->add_group_control(
474
  \Elementor\Group_Control_Background::get_type(),
475
  [
476
+ 'name' => 'eael_facebook_feed_gradient_background',
477
+ 'label' => __('Background', 'essential-addons-for-elementor-lite'),
478
+ 'types' => ['classic', 'gradient'],
479
+ 'selector' => '{{WRAPPER}} .eael-facebook-feed-item-inner',
480
  'condition' => [
481
+ 'eael_facebook_feed_layout' => 'card',
482
  'eael_facebook_feed_is_gradient_bg' => 'yes',
483
  ],
484
  ]
487
  $this->add_control(
488
  'eael_facebook_feed_background',
489
  [
490
+ 'label' => esc_html__('Background', 'essential-addons-for-elementor-lite'),
491
+ 'type' => Controls_Manager::COLOR,
492
+ 'default' => '#ffffff',
493
  'selectors' => [
494
  '{{WRAPPER}} .eael-facebook-feed-item-inner' => 'background-color: {{VALUE}};',
495
  ],
496
  'condition' => [
497
+ 'eael_facebook_feed_layout' => 'card',
498
  'eael_facebook_feed_is_gradient_bg' => '',
499
  ],
500
  ]
503
  $this->add_group_control(
504
  \Elementor\Group_Control_Box_Shadow::get_type(),
505
  [
506
+ 'name' => 'eael_facebook_feed_shadow',
507
+ 'label' => __('Shadow', 'essential-addons-for-elementor-lite'),
508
  'selector' => '{{WRAPPER}} .eael-facebook-feed-item-inner',
509
  ]
510
  );
512
  $this->add_control(
513
  'eael_facebook_feed_thumbnail_style',
514
  [
515
+ 'label' => __('Thumbnail Style', 'essential-addons-for-elementor-lite'),
516
+ 'type' => Controls_Manager::HEADING,
517
  'condition' => [
518
  'eael_facebook_feed_layout' => 'card',
519
  ],
522
  $this->add_control(
523
  'eael_facebook_feed_thumbnail_border_radius',
524
  [
525
+ 'label' => __('Border Radius', 'essential-addons-for-elementor-lite'),
526
+ 'type' => Controls_Manager::DIMENSIONS,
527
  'size_units' => ['px', '%', 'em'],
528
+ 'selectors' => [
529
  '{{WRAPPER}} .eael-facebook-feed-item .eael-facebook-feed-img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
530
  ],
531
  ]
534
  $this->add_control(
535
  'eael_facebook_feed_header_style',
536
  [
537
+ 'label' => __('Header Style', 'essential-addons-for-elementor-lite'),
538
+ 'type' => Controls_Manager::HEADING,
539
  'condition' => [
540
  'eael_facebook_feed_layout' => 'card',
541
  ],
545
  $this->add_control(
546
  'eael_facebook_feed_header_layout',
547
  [
548
+ 'label' => __('Header Layout', 'essential-addons-for-elementor-lite'),
549
+ 'type' => \Elementor\Controls_Manager::SELECT,
550
  'default' => 'default',
551
  'options' => [
552
  'default' => __('Default Layout', 'essential-addons-for-elementor-lite'),
553
+ 'two' => __('Layout Two', 'essential-addons-for-elementor-lite'),
554
  ],
555
  'condition' => [
556
  'eael_facebook_feed_layout' => 'card',
561
  $this->add_group_control(
562
  \Elementor\Group_Control_Background::get_type(),
563
  [
564
+ 'name' => 'eael_facebook_feed_header_gradient_background',
565
+ 'label' => __('Background', 'essential-addons-for-elementor-lite'),
566
+ 'types' => ['classic', 'gradient'],
567
+ 'selector' => '{{WRAPPER}} .eael-facebook-feed-item-header',
568
  'condition' => [
569
+ 'eael_facebook_feed_layout' => 'card',
570
  'eael_facebook_feed_is_gradient_bg' => 'yes',
571
  ],
572
  ]
575
  $this->add_control(
576
  'eael_facebook_feed_header_background',
577
  [
578
+ 'label' => esc_html__('Background', 'essential-addons-for-elementor-lite'),
579
+ 'type' => Controls_Manager::COLOR,
580
+ 'default' => '#f2f6fd',
581
  'selectors' => [
582
  '{{WRAPPER}} .eael-facebook-feed-item-header' => 'background-color: {{VALUE}};',
583
  ],
584
  'condition' => [
585
+ 'eael_facebook_feed_layout' => 'card',
586
  'eael_facebook_feed_is_gradient_bg' => '',
587
  ],
588
  ]
591
  $this->add_control(
592
  'eael_facebook_feed_header_spacing',
593
  [
594
+ 'label' => esc_html__('Padding', 'essential-addons-for-elementor-lite'),
595
+ 'type' => Controls_Manager::DIMENSIONS,
596
  'size_units' => ['px', '%', 'em'],
597
+ 'selectors' => [
598
  '{{WRAPPER}} .eael-facebook-feed-item-header' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
599
  ],
600
+ 'condition' => [
601
  'eael_facebook_feed_layout' => 'card',
602
  ],
603
  ]
606
  $this->add_control(
607
  'eael_facebook_feed_content_style',
608
  [
609
+ 'label' => __('Content Style', 'essential-addons-for-elementor-lite'),
610
+ 'type' => Controls_Manager::HEADING,
611
  'condition' => [
612
  'eael_facebook_feed_layout' => 'card',
613
  ],
617
  $this->add_control(
618
  'eael_facebook_feed_content_spacing',
619
  [
620
+ 'label' => esc_html__('Padding', 'essential-addons-for-elementor-lite'),
621
+ 'type' => Controls_Manager::DIMENSIONS,
622
  'size_units' => ['px', '%', 'em'],
623
+ 'selectors' => [
624
  '{{WRAPPER}} .eael-facebook-feed-item-content' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
625
  ],
626
+ 'condition' => [
627
  'eael_facebook_feed_layout' => 'card',
628
  ],
629
  ]
632
  $this->add_control(
633
  'eael_facebook_feed_content_preview_spacing',
634
  [
635
+ 'label' => esc_html__('Preview Padding', 'essential-addons-for-elementor-lite'),
636
+ 'type' => Controls_Manager::DIMENSIONS,
637
  'size_units' => ['px', '%', 'em'],
638
+ 'selectors' => [
639
+ '{{WRAPPER}} .eael-facebook-feed-preview-wrap' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
640
  '{{WRAPPER}} .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview' => 'padding-left: 0; padding-right: 0;',
641
  ],
642
+ 'condition' => [
643
  'eael_facebook_feed_layout' => 'card',
644
  ],
645
  ]
648
  $this->add_control(
649
  'eael_facebook_feed_footer_style',
650
  [
651
+ 'label' => __('Footer Style', 'essential-addons-for-elementor-lite'),
652
+ 'type' => Controls_Manager::HEADING,
653
  'condition' => [
654
  'eael_facebook_feed_layout' => 'card',
655
  ],
659
  $this->add_group_control(
660
  \Elementor\Group_Control_Background::get_type(),
661
  [
662
+ 'name' => 'eael_facebook_feed_footer_gradient_background',
663
+ 'label' => __('Background', 'essential-addons-for-elementor-lite'),
664
+ 'types' => ['classic', 'gradient'],
665
+ 'selector' => '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-footer',
666
  'condition' => [
667
+ 'eael_facebook_feed_layout' => 'card',
668
  'eael_facebook_feed_is_gradient_bg' => 'yes',
669
  ],
670
  ]
673
  $this->add_control(
674
  'eael_facebook_feed_footer_background',
675
  [
676
+ 'label' => esc_html__('Background', 'essential-addons-for-elementor-lite'),
677
+ 'type' => Controls_Manager::COLOR,
678
+ 'default' => '#f2f6fd',
679
  'selectors' => [
680
  '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-footer' => 'background-color: {{VALUE}};',
681
  ],
682
  'condition' => [
683
+ 'eael_facebook_feed_layout' => 'card',
684
  'eael_facebook_feed_is_gradient_bg' => '',
685
  ],
686
  ]
689
  $this->add_control(
690
  'eael_facebook_feed_footer_spacing',
691
  [
692
+ 'label' => esc_html__('Padding', 'essential-addons-for-elementor-lite'),
693
+ 'type' => Controls_Manager::DIMENSIONS,
694
  'size_units' => ['px', '%', 'em'],
695
+ 'selectors' => [
696
  '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-footer' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
697
  ],
698
+ 'condition' => [
699
  'eael_facebook_feed_layout' => 'card',
700
  ],
701
  ]
708
  'eael_section_facebook_feed_hover_style',
709
  [
710
  'label' => esc_html__('Feed Item Hover Styles', 'essential-addons-for-elementor-lite'),
711
+ 'tab' => Controls_Manager::TAB_STYLE,
712
  ]
713
  );
714
  $this->add_control(
715
  'eael_section_facebook_feed_hover_border_color',
716
  [
717
+ 'label' => __('Border Color', 'essential-addons-for-elementor-lite'),
718
+ 'type' => \Elementor\Controls_Manager::COLOR,
719
  'selectors' => [
720
  '{{WRAPPER}} .eael-facebook-feed-item-inner:hover' => 'border-color: {{VALUE}}',
721
  ],
724
  $this->add_group_control(
725
  \Elementor\Group_Control_Box_Shadow::get_type(),
726
  [
727
+ 'name' => 'eael_section_facebook_feed_hover_shadow',
728
+ 'label' => __('Box Shadow', 'plugin-domain'),
729
  'selector' => '{{WRAPPER}} .eael-facebook-feed-item-inner:hover',
730
  ]
731
  );
732
  $this->add_control(
733
  'eael_section_facebook_feed_hover_header_style',
734
  [
735
+ 'label' => __('Header Style', 'essential-addons-for-elementor-lite'),
736
+ 'type' => Controls_Manager::HEADING,
737
  'condition' => [
738
  'eael_facebook_feed_layout' => 'card',
739
  ],
743
  $this->add_group_control(
744
  \Elementor\Group_Control_Background::get_type(),
745
  [
746
+ 'name' => 'eael_section_facebook_feed_hover_header_background',
747
+ 'label' => __('Background', 'essential-addons-for-elementor-lite'),
748
+ 'types' => ['classic', 'gradient'],
749
+ 'selector' => '{{WRAPPER}} .eael-facebook-feed-item:hover .eael-facebook-feed-item-header',
750
  'condition' => [
751
  'eael_facebook_feed_layout' => 'card',
752
  ],
755
  $this->add_control(
756
  'eael_section_facebook_feed_hover_header_color',
757
  [
758
+ 'label' => __('Color', 'essential-addons-for-elementor-lite'),
759
+ 'type' => \Elementor\Controls_Manager::COLOR,
760
  'selectors' => [
761
  '{{WRAPPER}} .eael-facebook-feed-item:hover .eael-facebook-feed-item-inner .eael-facebook-feed-item-header .eael-facebook-feed-item-user .eael-facebook-feed-username' => 'color: {{VALUE}} !important',
762
+ '{{WRAPPER}} .eael-facebook-feed-item:hover .eael-facebook-feed-item-inner .eael-facebook-feed-item-header .eael-facebook-feed-post-time' => 'color: {{VALUE}} !important',
763
  ],
764
  'condition' => [
765
  'eael_facebook_feed_layout' => 'card',
770
  $this->add_control(
771
  'eael_section_facebook_feed_hover_content_style',
772
  [
773
+ 'label' => __('Content Style', 'essential-addons-for-elementor-lite'),
774
+ 'type' => Controls_Manager::HEADING,
775
  'condition' => [
776
  'eael_facebook_feed_layout' => 'card',
777
  ],
781
  $this->add_group_control(
782
  \Elementor\Group_Control_Background::get_type(),
783
  [
784
+ 'name' => 'eael_section_facebook_feed_hover_content_background',
785
+ 'label' => __('Background', 'essential-addons-for-elementor-lite'),
786
+ 'types' => ['classic', 'gradient'],
787
+ 'selector' => '{{WRAPPER}} .eael-facebook-feed-item:hover .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap',
788
  'condition' => [
789
  'eael_facebook_feed_layout' => 'card',
790
  ],
793
  $this->add_control(
794
  'eael_section_facebook_feed_hover_content_color',
795
  [
796
+ 'label' => __('Color', 'essential-addons-for-elementor-lite'),
797
+ 'type' => \Elementor\Controls_Manager::COLOR,
798
  'selectors' => [
799
  '{{WRAPPER}} .eael-facebook-feed-item:hover .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview .eael-facebook-feed-url-description' => 'color: {{VALUE}} !important',
800
+ '{{WRAPPER}} .eael-facebook-feed-item:hover .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview .eael-facebook-feed-url-title' => 'color: {{VALUE}} !important',
801
+ '{{WRAPPER}} .eael-facebook-feed-item:hover .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview .eael-facebook-feed-url-host' => 'color: {{VALUE}} !important',
802
+ '{{WRAPPER}} .eael-facebook-feed-item:hover .eael-facebook-feed-item-inner .eael-facebook-feed-item-content .eael-facebook-feed-message' => 'color: {{VALUE}} !important',
803
  ],
804
  'condition' => [
805
  'eael_facebook_feed_layout' => 'card',
810
  $this->add_control(
811
  'eael_section_facebook_feed_hover_footer_style',
812
  [
813
+ 'label' => __('Footer Style', 'essential-addons-for-elementor-lite'),
814
+ 'type' => Controls_Manager::HEADING,
815
  'condition' => [
816
  'eael_facebook_feed_layout' => 'card',
817
  ],
821
  $this->add_group_control(
822
  \Elementor\Group_Control_Background::get_type(),
823
  [
824
+ 'name' => 'eael_section_facebook_feed_hover_footer_background',
825
+ 'label' => __('Background', 'essential-addons-for-elementor-lite'),
826
+ 'types' => ['classic', 'gradient'],
827
+ 'selector' => '{{WRAPPER}} .eael-facebook-feed-item:hover .eael-facebook-feed-item-inner .eael-facebook-feed-item-footer',
828
  'condition' => [
829
  'eael_facebook_feed_layout' => 'card',
830
  ],
833
  $this->add_control(
834
  'eael_section_facebook_feed_hover_footer_color',
835
  [
836
+ 'label' => __('Color', 'essential-addons-for-elementor-lite'),
837
+ 'type' => \Elementor\Controls_Manager::COLOR,
838
  'selectors' => [
839
  '{{WRAPPER}} .eael-facebook-feed-item:hover .eael-facebook-feed-item-inner .eael-facebook-feed-item-footer' => 'color: {{VALUE}}',
840
  ],
851
  'eael_section_facebook_feed_styles_content',
852
  [
853
  'label' => esc_html__('Color &amp; Typography', 'essential-addons-for-elementor-lite'),
854
+ 'tab' => Controls_Manager::TAB_STYLE,
855
  ]
856
  );
857
 
858
  $this->add_control(
859
  'eael_facebook_feed_styles_page_name_heading',
860
  [
861
+ 'label' => __('Page Name', 'essential-addons-for-elementor-lite'),
862
+ 'type' => Controls_Manager::HEADING,
863
  'condition' => [
864
  'eael_facebook_feed_layout' => 'card',
865
  ],
869
  $this->add_group_control(
870
  Group_Control_Typography::get_type(),
871
  [
872
+ 'name' => 'eael_facebook_feed_page_name_typography',
873
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_2,
874
+ 'selector' => '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-header .eael-facebook-feed-item-user .eael-facebook-feed-username',
875
  'condition' => [
876
  'eael_facebook_feed_layout' => 'card',
877
  ],
881
  $this->add_control(
882
  'eael_facebook_feed_page_name_color',
883
  [
884
+ 'label' => esc_html__('Color', 'essential-addons-for-elementor-lite'),
885
+ 'type' => Controls_Manager::COLOR,
886
+ 'default' => '#365899',
887
  'selectors' => [
888
  '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-header .eael-facebook-feed-item-user .eael-facebook-feed-username' => 'color: {{VALUE}};',
889
  ],
896
  $this->add_control(
897
  'eael_facebook_feed_styles_date_heading',
898
  [
899
+ 'label' => __('Date', 'essential-addons-for-elementor-lite'),
900
+ 'type' => Controls_Manager::HEADING,
901
  'condition' => [
902
  'eael_facebook_feed_layout' => 'card',
903
  ],
907
  $this->add_group_control(
908
  Group_Control_Typography::get_type(),
909
  [
910
+ 'name' => 'eael_facebook_feed_date_typography',
911
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_2,
912
+ 'selector' => '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-header .eael-facebook-feed-post-time',
913
  'condition' => [
914
  'eael_facebook_feed_layout' => 'card',
915
  ],
919
  $this->add_control(
920
  'eael_facebook_feed_date_color',
921
  [
922
+ 'label' => esc_html__('Color', 'essential-addons-for-elementor-lite'),
923
+ 'type' => Controls_Manager::COLOR,
924
+ 'default' => '#707070',
925
  'selectors' => [
926
  '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-header .eael-facebook-feed-post-time' => 'color: {{VALUE}};',
927
  ],
934
  $this->add_control(
935
  'eael_facebook_feed_styles_message_heading',
936
  [
937
+ 'label' => __('Content', 'essential-addons-for-elementor-lite'),
938
+ 'type' => Controls_Manager::HEADING,
939
  'condition' => [
940
  'eael_facebook_feed_layout' => 'card',
941
  ],
945
  $this->add_group_control(
946
  Group_Control_Typography::get_type(),
947
  [
948
+ 'name' => 'eael_facebook_feed_message_typography',
949
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_2,
950
+ 'selector' => '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-content .eael-facebook-feed-message',
951
  'condition' => [
952
  'eael_facebook_feed_layout' => 'card',
953
  ],
957
  $this->add_control(
958
  'eael_facebook_feed_message_color',
959
  [
960
+ 'label' => esc_html__('Color', 'essential-addons-for-elementor-lite'),
961
+ 'type' => Controls_Manager::COLOR,
962
+ 'default' => '#707070',
963
  'selectors' => [
964
  '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-content .eael-facebook-feed-message' => 'color: {{VALUE}};',
965
  ],
972
  $this->add_control(
973
  'eael_facebook_feed_message_link_color',
974
  [
975
+ 'label' => esc_html__('Link Color', 'essential-addons-for-elementor-lite'),
976
+ 'type' => Controls_Manager::COLOR,
977
+ 'default' => '#365899',
978
  'selectors' => [
979
  '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-content .eael-facebook-feed-message a' => 'color: {{VALUE}};',
980
  ],
987
  $this->add_control(
988
  'eael_facebook_feed_styles_preview_host_heading',
989
  [
990
+ 'label' => __('Preview Host', 'essential-addons-for-elementor-lite'),
991
+ 'type' => Controls_Manager::HEADING,
992
  'condition' => [
993
  'eael_facebook_feed_layout' => 'card',
994
  ],
998
  $this->add_group_control(
999
  Group_Control_Typography::get_type(),
1000
  [
1001
+ 'name' => 'eael_facebook_feed_preview_host_typography',
1002
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_2,
1003
+ 'selector' => '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview .eael-facebook-feed-url-host',
1004
  'condition' => [
1005
  'eael_facebook_feed_layout' => 'card',
1006
  ],
1010
  $this->add_control(
1011
  'eael_facebook_feed_preview_host_color',
1012
  [
1013
+ 'label' => esc_html__('Color', 'essential-addons-for-elementor-lite'),
1014
+ 'type' => Controls_Manager::COLOR,
1015
+ 'default' => '#707070',
1016
  'selectors' => [
1017
  '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview .eael-facebook-feed-url-host' => 'color: {{VALUE}};',
1018
  ],
1025
  $this->add_control(
1026
  'eael_facebook_feed_styles_preview_title_heading',
1027
  [
1028
+ 'label' => __('Preview Title', 'essential-addons-for-elementor-lite'),
1029
+ 'type' => Controls_Manager::HEADING,
1030
  'condition' => [
1031
  'eael_facebook_feed_layout' => 'card',
1032
  ],
1036
  $this->add_group_control(
1037
  Group_Control_Typography::get_type(),
1038
  [
1039
+ 'name' => 'eael_facebook_feed_preview_title_typography',
1040
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
1041
+ 'selector' => '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview .eael-facebook-feed-url-title',
1042
  'condition' => [
1043
  'eael_facebook_feed_layout' => 'card',
1044
  ],
1048
  $this->add_control(
1049
  'eael_facebook_feed_preview_title_color',
1050
  [
1051
+ 'label' => esc_html__('Color', 'essential-addons-for-elementor-lite'),
1052
+ 'type' => Controls_Manager::COLOR,
1053
+ 'default' => '#333333',
1054
  'selectors' => [
1055
  '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview .eael-facebook-feed-url-title' => 'color: {{VALUE}};',
1056
  ],
1063
  $this->add_control(
1064
  'eael_facebook_feed_styles_preview_desc_heading',
1065
  [
1066
+ 'label' => __('Preview Description', 'essential-addons-for-elementor-lite'),
1067
+ 'type' => Controls_Manager::HEADING,
1068
  'condition' => [
1069
  'eael_facebook_feed_layout' => 'card',
1070
  ],
1074
  $this->add_group_control(
1075
  Group_Control_Typography::get_type(),
1076
  [
1077
+ 'name' => 'eael_facebook_feed_preview_desc_typography',
1078
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_2,
1079
+ 'selector' => '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview .eael-facebook-feed-url-description',
1080
  'condition' => [
1081
  'eael_facebook_feed_layout' => 'card',
1082
  ],
1086
  $this->add_control(
1087
  'eael_facebook_feed_preview_desc_color',
1088
  [
1089
+ 'label' => esc_html__('Color', 'essential-addons-for-elementor-lite'),
1090
+ 'type' => Controls_Manager::COLOR,
1091
+ 'default' => '#707070',
1092
  'selectors' => [
1093
  '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-preview-wrap .eael-facebook-feed-url-preview .eael-facebook-feed-url-description' => 'color: {{VALUE}};',
1094
  ],
1102
  'eael_facebook_feed_styles_likes_conmments_heading',
1103
  [
1104
  'label' => __('Likes & Comments', 'essential-addons-for-elementor-lite'),
1105
+ 'type' => Controls_Manager::HEADING,
1106
  ]
1107
  );
1108
 
1109
  $this->add_group_control(
1110
  Group_Control_Typography::get_type(),
1111
  [
1112
+ 'name' => 'eael_facebook_feed_likes_conmments_typography',
1113
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_2,
1114
  'selector' => '{{WRAPPER}} .eael-facebook-feed-overlay .eael-facebook-feed-item .eael-facebook-feed-item-overlay, {{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-footer',
1115
  ]
1116
  );
1118
  $this->add_control(
1119
  'eael_facebook_feed_likes_conmments_color',
1120
  [
1121
+ 'label' => esc_html__('Color', 'essential-addons-for-elementor-lite'),
1122
+ 'type' => Controls_Manager::COLOR,
1123
+ 'default' => '#707070',
1124
  'selectors' => [
1125
  '{{WRAPPER}} .eael-facebook-feed-card .eael-facebook-feed-item .eael-facebook-feed-item-inner .eael-facebook-feed-item-footer' => 'color: {{VALUE}};',
1126
+ '{{WRAPPER}} .eael-facebook-feed-overlay .eael-facebook-feed-item .eael-facebook-feed-item-overlay' => 'color: {{VALUE}};',
1127
+ '{{WRAPPER}} .eael-facebook-feed-overlay .eael-facebook-feed-item .eael-facebook-feed-item-overlay i' => 'color: {{VALUE}};',
1128
  ],
1129
  ]
1130
  );
1132
  $this->add_control(
1133
  'eael_facebook_feed_overlay_color',
1134
  [
1135
+ 'label' => esc_html__('Overlay Color', 'essential-addons-for-elementor-lite'),
1136
+ 'type' => Controls_Manager::COLOR,
1137
+ 'default' => 'rgba(86,20,213,0.8)',
1138
  'selectors' => [
1139
  '{{WRAPPER}} .eael-facebook-feed-overlay .eael-facebook-feed-item .eael-facebook-feed-item-overlay' => 'background-color: {{VALUE}};',
1140
  ],
1149
  do_action('eael/controls/load_more_button_style', $this);
1150
  }
1151
 
1152
+ protected function render(){
 
1153
  $settings = $this->get_settings_for_display();
1154
+ $post_id = 0;
1155
+ if (Plugin::$instance->documents->get_current()) {
1156
+ $post_id = Plugin::$instance->documents->get_current()->get_main_id();
1157
+ }
1158
+ $this->add_render_attribute('fb-wrap', [
1159
+ 'class' => [
1160
+ "eael-facebook-feed",
1161
+ $settings['eael_facebook_feed_columns'],
1162
+ "eael-facebook-feed-{$settings['eael_facebook_feed_layout']}",
1163
+ ],
1164
+ 'id' => 'eael-facebook-feed-' . esc_attr($this->get_id()),
1165
+ ]);
1166
+ $this->add_render_attribute('load-more', [
1167
+ 'class' => "eael-load-more-button",
1168
+ 'id' => "eael-load-more-btn-" . $this->get_id(),
1169
+ 'data-widget-id' => $this->get_id(),
1170
+ 'data-post-id' => $post_id,
1171
+ 'data-page' => 1,
1172
  ]);
 
 
 
 
 
 
 
 
 
 
 
 
 
1173
 
1174
+ ?>
1175
+ <div <?php $this->print_render_attribute_string('fb-wrap'); ?>>
1176
+ <?php echo $this->facebook_feed_render_items($settings); ?>
1177
  </div>
1178
+ <div class="clearfix"></div>
1179
+ <?php
1180
+ if (($settings['show_load_more'] == 'yes')) { ?>
1181
+ <div class="eael-load-more-button-wrap">
1182
+ <button <?php $this->print_render_attribute_string('load-more'); ?>>
1183
  <div class="eael-btn-loader button__loader"></div>
1184
+ <span><?php echo esc_html($settings['loadmore_text']); ?></span>
1185
  </button>
1186
+ </div>
1187
+ <?php
1188
  }
1189
 
1190
+ if (Plugin::instance()->editor->is_edit_mode()) {
1191
  echo '<script type="text/javascript">
1192
  jQuery(document).ready(function($) {
1193
  $(".eael-facebook-feed").each(function() {
includes/Elements/Filterable_Gallery.php CHANGED
@@ -3187,9 +3187,12 @@ class Filterable_Gallery extends Widget_Base
3187
  $html .= '</a>';
3188
  }
3189
 
 
 
 
3190
 
3191
  $html .= '</div></div>';
3192
-
3193
  $gallery_markup[] = $html;
3194
  }
3195
 
3187
  $html .= '</a>';
3188
  }
3189
 
3190
+ if ($settings['eael_section_fg_full_image_clickable']) {
3191
+ $html .= '</a>';
3192
+ }
3193
 
3194
  $html .= '</div></div>';
3195
+
3196
  $gallery_markup[] = $html;
3197
  }
3198
 
includes/Elements/Flip_Box.php CHANGED
@@ -734,7 +734,7 @@ class Flip_Box extends Widget_Base
734
  'type' => Controls_Manager::CHOOSE,
735
  'options' => [
736
  '1' => [
737
- 'title' => __('', 'essential-addons-for-elementor-lite'),
738
  'icon' => 'fa fa-unlock-alt',
739
  ],
740
  ],
734
  'type' => Controls_Manager::CHOOSE,
735
  'options' => [
736
  '1' => [
737
+ 'title' => '',
738
  'icon' => 'fa fa-unlock-alt',
739
  ],
740
  ],
includes/Elements/Info_Box.php CHANGED
@@ -500,8 +500,8 @@ class Info_Box extends Widget_Base
500
  'type' => Controls_Manager::CHOOSE,
501
  'options' => [
502
  '1' => [
503
- 'title' => __('', 'essential-addons-for-elementor-lite'),
504
- 'icon' => 'fa fa-unlock-alt',
505
  ],
506
  ],
507
  'default' => '1',
@@ -676,10 +676,9 @@ class Info_Box extends Widget_Base
676
  'default' => 'full',
677
  'condition' => [
678
  'eael_infobox_image[url]!' => '',
679
- ],
680
- 'condition' => [
681
  'eael_infobox_img_or_icon' => 'img',
682
  ],
 
683
  ]
684
  );
685
 
@@ -1496,12 +1495,10 @@ class Info_Box extends Widget_Base
1496
  $this->end_controls_section();
1497
  }
1498
 
1499
- /**
1500
- * This function is responsible for rendering divs and contents
1501
- * for infobox before partial.
1502
- *
1503
- * @param $settings
1504
- */
1505
  protected function eael_infobox_before()
1506
  {
1507
  $settings = $this->get_settings_for_display();
@@ -1527,12 +1524,10 @@ class Info_Box extends Widget_Base
1527
  echo ob_get_clean();
1528
  }
1529
 
1530
- /**
1531
- * This function is rendering closing divs and tags
1532
- * of before partial for infobox.
1533
- *
1534
- * @param $settings
1535
- */
1536
  protected function eael_infobox_after()
1537
  {
1538
  $settings = $this->get_settings_for_display();
@@ -1541,11 +1536,9 @@ if ('yes' == $settings['eael_show_infobox_clickable']): ?></a><?php endif;
1541
  echo ob_get_clean();
1542
  }
1543
 
1544
- /**
1545
- * This function is rendering appropriate icon for infobox.
1546
- *
1547
- * @param $settings
1548
- */
1549
  protected function render_infobox_icon()
1550
  {
1551
  $settings = $this->get_settings_for_display();
@@ -1556,9 +1549,10 @@ if ('yes' == $settings['eael_show_infobox_clickable']): ?></a><?php endif;
1556
 
1557
  $infobox_image = $this->get_settings('eael_infobox_image');
1558
  $infobox_image_url = Group_Control_Image_Size::get_attachment_image_src($infobox_image['id'], 'thumbnail', $settings);
1559
- if (empty($infobox_image_url)): $infobox_image_url = $infobox_image['url'];
1560
- else:$infobox_image_url = $infobox_image_url;
1561
- endif;
 
1562
  $infobox_icon_migrated = isset($settings['__fa4_migrated']['eael_infobox_icon_new']);
1563
  $infobox_icon_is_new = empty($settings['eael_infobox_icon']);
1564
 
@@ -1586,7 +1580,7 @@ if ('yes' == $settings['eael_show_infobox_clickable']): ?></a><?php endif;
1586
  }
1587
 
1588
  if ($infobox_icon_is_new || $infobox_icon_migrated) {
1589
- $icon = $settings['eael_infobox_icon_new']['value'];
1590
 
1591
  if (isset($icon['url'])) {
1592
  $this->add_render_attribute('icon_or_image', [
@@ -1645,7 +1639,7 @@ echo ob_get_clean();
1645
  <?php if (!empty($settings['eael_infobox_text'])): ?>
1646
  <p><?php echo $settings['eael_infobox_text']; ?></p>
1647
  <?php endif;?>
1648
- <?php $this->render_infobox_button($this->get_settings_for_display());?>
1649
  <?php elseif ('template' === $settings['eael_infobox_text_type']):
1650
  if (!empty($settings['eael_primary_templates'])) {
1651
  echo Plugin::$instance->frontend->get_builder_content($settings['eael_primary_templates'], true);
@@ -1658,11 +1652,9 @@ echo ob_get_clean();
1658
  echo ob_get_clean();
1659
  }
1660
 
1661
- /**
1662
- * This function rendering infobox button
1663
- *
1664
- * @param $settings
1665
- */
1666
  protected function render_infobox_button()
1667
  {
1668
  $settings = $this->get_settings_for_display();
500
  'type' => Controls_Manager::CHOOSE,
501
  'options' => [
502
  '1' => [
503
+ 'title' => '',
504
+ 'icon' => 'fa fa-unlock-alt',
505
  ],
506
  ],
507
  'default' => '1',
676
  'default' => 'full',
677
  'condition' => [
678
  'eael_infobox_image[url]!' => '',
 
 
679
  'eael_infobox_img_or_icon' => 'img',
680
  ],
681
+
682
  ]
683
  );
684
 
1495
  $this->end_controls_section();
1496
  }
1497
 
1498
+ /**
1499
+ * This function is responsible for rendering divs and contents
1500
+ * for infobox before partial.
1501
+ */
 
 
1502
  protected function eael_infobox_before()
1503
  {
1504
  $settings = $this->get_settings_for_display();
1524
  echo ob_get_clean();
1525
  }
1526
 
1527
+ /**
1528
+ * This function is rendering closing divs and tags
1529
+ * of before partial for infobox.
1530
+ */
 
 
1531
  protected function eael_infobox_after()
1532
  {
1533
  $settings = $this->get_settings_for_display();
1536
  echo ob_get_clean();
1537
  }
1538
 
1539
+ /**
1540
+ * This function is rendering appropriate icon for infobox.
1541
+ */
 
 
1542
  protected function render_infobox_icon()
1543
  {
1544
  $settings = $this->get_settings_for_display();
1549
 
1550
  $infobox_image = $this->get_settings('eael_infobox_image');
1551
  $infobox_image_url = Group_Control_Image_Size::get_attachment_image_src($infobox_image['id'], 'thumbnail', $settings);
1552
+ if (empty($infobox_image_url)){
1553
+ $infobox_image_url = $infobox_image['url'];
1554
+ }
1555
+
1556
  $infobox_icon_migrated = isset($settings['__fa4_migrated']['eael_infobox_icon_new']);
1557
  $infobox_icon_is_new = empty($settings['eael_infobox_icon']);
1558
 
1580
  }
1581
 
1582
  if ($infobox_icon_is_new || $infobox_icon_migrated) {
1583
+ $icon = $this->get_settings('eael_infobox_icon_new')['value'];
1584
 
1585
  if (isset($icon['url'])) {
1586
  $this->add_render_attribute('icon_or_image', [
1639
  <?php if (!empty($settings['eael_infobox_text'])): ?>
1640
  <p><?php echo $settings['eael_infobox_text']; ?></p>
1641
  <?php endif;?>
1642
+ <?php $this->render_infobox_button();?>
1643
  <?php elseif ('template' === $settings['eael_infobox_text_type']):
1644
  if (!empty($settings['eael_primary_templates'])) {
1645
  echo Plugin::$instance->frontend->get_builder_content($settings['eael_primary_templates'], true);
1652
  echo ob_get_clean();
1653
  }
1654
 
1655
+ /**
1656
+ * This function rendering infobox button
1657
+ */
 
 
1658
  protected function render_infobox_button()
1659
  {
1660
  $settings = $this->get_settings_for_display();
includes/Elements/Login_Register.php CHANGED
@@ -322,7 +322,25 @@ class Login_Register extends Widget_Base {
322
  'show_lost_password' => 'yes',
323
  ],
324
  ] );
325
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
326
  if ( $this->user_can_register ) {
327
  $this->add_control( 'reg_hr', [
328
  'type' => Controls_Manager::DIVIDER,
@@ -596,14 +614,6 @@ class Login_Register extends Widget_Base {
596
  'separator' => 'before',
597
  ] );
598
 
599
- $this->add_control( 'login_show_remember_me', [
600
- 'label' => __( 'Remember Me Checkbox', 'essential-addons-for-elementor-lite' ),
601
- 'type' => Controls_Manager::SWITCHER,
602
- 'default' => 'yes',
603
- 'label_off' => __( 'Hide', 'essential-addons-for-elementor-lite' ),
604
- 'label_on' => __( 'Show', 'essential-addons-for-elementor-lite' ),
605
- ] );
606
-
607
  $this->add_control( 'password_toggle', [
608
  'label' => __( 'Password Visibility Icon', 'essential-addons-for-elementor-lite' ),
609
  'type' => Controls_Manager::SWITCHER,
@@ -764,23 +774,6 @@ class Login_Register extends Widget_Base {
764
  ],
765
  'separator' => 'after',
766
  ] );
767
- // @todo; in future
768
- //$this->add_control( 'redirect_after_logout', [
769
- // 'label' => __( 'Redirect After Logout', 'essential-addons-for-elementor-lite' ),
770
- // 'type' => Controls_Manager::SWITCHER,
771
- //] );
772
- //
773
- //$this->add_control( 'redirect_logout_url', [
774
- // 'type' => Controls_Manager::URL,
775
- // 'show_label' => false,
776
- // 'show_external' => false,
777
- // 'placeholder' => __( 'https://your-link.com', 'essential-addons-for-elementor-lite' ),
778
- // 'description' => __( 'Please note that only your current domain is allowed here to keep your site secure.', 'essential-addons-for-elementor-lite' ),
779
- // 'condition' => [
780
- // 'redirect_after_logout' => 'yes',
781
- // ],
782
- // 'separator' => 'after',
783
- //] );
784
 
785
  $this->end_controls_section();
786
  }
@@ -2448,12 +2441,13 @@ class Login_Register extends Widget_Base {
2448
  'eael_form_field_po_toggle' => 'yes',
2449
  ],
2450
  ] );
2451
- $this->add_control( 'eael_form_rm_fields_heading', [
 
2452
  'type' => Controls_Manager::HEADING,
2453
- 'label' => __( 'Remember Me Field', 'essential-addons-for-elementor-lite' ),
2454
  'separator' => 'before',
2455
  ] );
2456
- $this->add_responsive_control( "eael_form_rm_field_margin", [
2457
  'label' => __( 'Margin', 'essential-addons-for-elementor-lite' ),
2458
  'type' => Controls_Manager::DIMENSIONS,
2459
  'size_units' => [
@@ -2462,13 +2456,13 @@ class Login_Register extends Widget_Base {
2462
  '%',
2463
  ],
2464
  'selectors' => [
2465
- "{{WRAPPER}} .lr-form-wrapper .eael-forever-forget" => $this->apply_dim( 'margin' ),
2466
  ],
2467
  'condition' => [
2468
  'eael_form_field_po_toggle' => 'yes',
2469
  ],
2470
  ] );
2471
- $this->add_responsive_control( "eael_form_rm_field_padding", [
2472
  'label' => __( 'Padding', 'essential-addons-for-elementor-lite' ),
2473
  'type' => Controls_Manager::DIMENSIONS,
2474
  'size_units' => [
@@ -2477,7 +2471,7 @@ class Login_Register extends Widget_Base {
2477
  '%',
2478
  ],
2479
  'selectors' => [
2480
- "{{WRAPPER}} .lr-form-wrapper .eael-forever-forget" => $this->apply_dim( 'padding' ),
2481
  ],
2482
  'condition' => [
2483
  'eael_form_field_po_toggle' => 'yes',
@@ -2911,6 +2905,136 @@ class Login_Register extends Widget_Base {
2911
 
2912
  $this->end_popover();
2913
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2914
  $this->end_controls_section();
2915
  }
2916
 
@@ -3639,6 +3763,8 @@ class Login_Register extends Widget_Base {
3639
  $btn_text = ! empty( $this->ds['login_button_text'] ) ? $this->ds['login_button_text'] : '';
3640
  $show_logout_link = ( ! empty( $this->ds['show_log_out_message'] ) && 'yes' === $this->ds['show_log_out_message'] );
3641
  $show_rememberme = ( ! empty( $this->ds['login_show_remember_me'] ) && 'yes' === $this->ds['login_show_remember_me'] );
 
 
3642
  $show_pv_icon = ( ! empty( $this->ds['password_toggle'] ) && 'yes' === $this->ds['password_toggle'] );
3643
 
3644
  //Loss password
@@ -3733,14 +3859,15 @@ class Login_Register extends Widget_Base {
3733
  </div>
3734
  </div>
3735
  <div class="eael-forever-forget eael-lr-form-group">
3736
- <?php if ( $show_rememberme ) { ?>
3737
  <p class="forget-menot">
3738
  <input name="eael-rememberme"
3739
  type="checkbox"
3740
  id="rememberme"
 
3741
  value="forever">
3742
  <label for="rememberme"
3743
- class="eael-checkbox-label check-rememberme"><?php esc_html_e( 'Remember Me', 'essential-addons-for-elementor-lite' ); ?></label>
3744
  </p>
3745
  <?php }
3746
  if ( $show_lp ) {
@@ -4125,6 +4252,7 @@ class Login_Register extends Widget_Base {
4125
  value="1">
4126
  <input type="checkbox"
4127
  name="eael_accept_tnc"
 
4128
  value="1"
4129
  id="eael_accept_tnc">
4130
  <label for="eael_accept_tnc"
@@ -4149,7 +4277,7 @@ class Login_Register extends Widget_Base {
4149
 
4150
  protected function print_login_validation_errors() {
4151
  $error_key = 'eael_login_error_' . $this->get_id();
4152
- if ( $login_error = apply_filters( 'eael/login-register/login-error-message', get_transient( $error_key ) ) ) {
4153
  do_action( 'eael/login-register/before-showing-login-error', $login_error, $this );
4154
  ?>
4155
  <p class="eael-form-msg invalid">
@@ -4158,7 +4286,7 @@ class Login_Register extends Widget_Base {
4158
  <?php
4159
  do_action( 'eael/login-register/after-showing-login-error', $login_error, $this );
4160
 
4161
- delete_transient( $error_key );
4162
  }
4163
  }
4164
 
@@ -4227,8 +4355,8 @@ class Login_Register extends Widget_Base {
4227
  }
4228
 
4229
  protected function print_validation_message() {
4230
- $errors = get_transient( 'eael_register_errors_' . $this->get_id() );
4231
- $success = get_transient( 'eael_register_success_' . $this->get_id() );
4232
  if ( empty( $errors ) && empty( $success ) ) {
4233
  return;
4234
  }
@@ -4256,7 +4384,7 @@ class Login_Register extends Widget_Base {
4256
  </ol>
4257
  </div>
4258
  <?php
4259
- delete_transient( 'eael_register_errors_' . $this->get_id() );
4260
  }
4261
 
4262
  protected function print_registration_success_message( $success ) {
@@ -4265,7 +4393,7 @@ class Login_Register extends Widget_Base {
4265
  $message = '<p class="eael-form-msg valid">' . esc_html( $this->get_settings_for_display( 'success_register' ) ) . '</p>';
4266
  echo apply_filters( 'eael/login-register/registration-success-msg', $message, $success );
4267
 
4268
- delete_transient( 'eael_register_success_' . $this->get_id() );
4269
 
4270
  return true; // it will help in case we wanna know if error is printed.
4271
  }
322
  'show_lost_password' => 'yes',
323
  ],
324
  ] );
325
+ $this->add_control( 'login_show_remember_me', [
326
+ 'label' => __( 'Remember Me Field', 'essential-addons-for-elementor-lite' ),
327
+ 'type' => Controls_Manager::SWITCHER,
328
+ 'default' => 'yes',
329
+ 'label_off' => __( 'Hide', 'essential-addons-for-elementor-lite' ),
330
+ 'label_on' => __( 'Show', 'essential-addons-for-elementor-lite' ),
331
+ ] );
332
+ $this->add_control( 'remember_text', [
333
+ 'label' => __( 'Remember Me Field Text', 'essential-addons-for-elementor-lite' ),
334
+ 'label_block' => true,
335
+ 'type' => Controls_Manager::TEXT,
336
+ 'dynamic' => [
337
+ 'active' => true,
338
+ ],
339
+ 'default' => __( 'Remember Me', 'essential-addons-for-elementor-lite' ),
340
+ 'condition' => [
341
+ 'login_show_remember_me' => 'yes',
342
+ ],
343
+ ] );
344
  if ( $this->user_can_register ) {
345
  $this->add_control( 'reg_hr', [
346
  'type' => Controls_Manager::DIVIDER,
614
  'separator' => 'before',
615
  ] );
616
 
 
 
 
 
 
 
 
 
617
  $this->add_control( 'password_toggle', [
618
  'label' => __( 'Password Visibility Icon', 'essential-addons-for-elementor-lite' ),
619
  'type' => Controls_Manager::SWITCHER,
774
  ],
775
  'separator' => 'after',
776
  ] );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
777
 
778
  $this->end_controls_section();
779
  }
2441
  'eael_form_field_po_toggle' => 'yes',
2442
  ],
2443
  ] );
2444
+
2445
+ $this->add_control( 'eael_form_tc_fields_heading', [
2446
  'type' => Controls_Manager::HEADING,
2447
+ 'label' => __( 'Terms & Condition Field', 'essential-addons-for-elementor-lite' ),
2448
  'separator' => 'before',
2449
  ] );
2450
+ $this->add_responsive_control( "eael_form_tc_field_margin", [
2451
  'label' => __( 'Margin', 'essential-addons-for-elementor-lite' ),
2452
  'type' => Controls_Manager::DIMENSIONS,
2453
  'size_units' => [
2456
  '%',
2457
  ],
2458
  'selectors' => [
2459
+ "{{WRAPPER}} .lr-form-wrapper .eael_accept_tnc_wrap" => $this->apply_dim( 'margin' ),
2460
  ],
2461
  'condition' => [
2462
  'eael_form_field_po_toggle' => 'yes',
2463
  ],
2464
  ] );
2465
+ $this->add_responsive_control( "eael_form_tc_field_padding", [
2466
  'label' => __( 'Padding', 'essential-addons-for-elementor-lite' ),
2467
  'type' => Controls_Manager::DIMENSIONS,
2468
  'size_units' => [
2471
  '%',
2472
  ],
2473
  'selectors' => [
2474
+ "{{WRAPPER}} .lr-form-wrapper .eael_accept_tnc_wrap" => $this->apply_dim( 'padding' ),
2475
  ],
2476
  'condition' => [
2477
  'eael_form_field_po_toggle' => 'yes',
2905
 
2906
  $this->end_popover();
2907
 
2908
+ //Remember Me Style
2909
+ $this->add_control( 'eael_form_rm_fields_heading', [
2910
+ 'type' => Controls_Manager::HEADING,
2911
+ 'label' => __( 'Remember Me Field', 'essential-addons-for-elementor-lite' ),
2912
+ 'separator' => 'before',
2913
+ ] );
2914
+ $this->add_control( 'remember_me_style_pot', [
2915
+ 'label' => __( 'Remember Me Style', 'essential-addons-for-elementor-lite' ),
2916
+ 'type' => Controls_Manager::POPOVER_TOGGLE,
2917
+ 'label_off' => __( 'Default', 'essential-addons-for-elementor-lite' ),
2918
+ 'label_on' => __( 'Custom', 'essential-addons-for-elementor-lite' ),
2919
+ 'return_value' => 'yes',
2920
+ 'condition' => [
2921
+ 'login_show_remember_me' => 'yes',
2922
+ ],
2923
+ ] );
2924
+
2925
+ $this->start_popover();
2926
+ $this->add_control( 'remember_me_style', [
2927
+ 'label' => __( 'Style', 'essential-addons-for-elementor-lite' ),
2928
+ 'type' => Controls_Manager::SELECT,
2929
+ 'default' => 'lr-checkbox',
2930
+ 'options' => [
2931
+ 'lr-checkbox' => __( 'Checkbox', 'essential-addons-for-elementor-lite' ),
2932
+ 'lr-toggle' => __( 'Toggle', 'essential-addons-for-elementor-lite' ),
2933
+ ],
2934
+ 'condition' => [
2935
+ 'remember_me_style_pot' => 'yes',
2936
+ ],
2937
+ 'separator' => 'before',
2938
+ ] );
2939
+
2940
+ $this->add_responsive_control( "eael_form_rm_field_margin", [
2941
+ 'label' => __( 'Container Margin', 'essential-addons-for-elementor-lite' ),
2942
+ 'type' => Controls_Manager::DIMENSIONS,
2943
+ 'size_units' => [
2944
+ 'px',
2945
+ 'em',
2946
+ '%',
2947
+ ],
2948
+ 'selectors' => [
2949
+ "{{WRAPPER}} .lr-form-wrapper .eael-forever-forget" => $this->apply_dim( 'margin' ),
2950
+ ],
2951
+ 'condition' => [
2952
+ 'remember_me_style_pot' => 'yes',
2953
+ ],
2954
+ ] );
2955
+ $this->add_responsive_control( "eael_form_rm_field_padding", [
2956
+ 'label' => __( 'Container Padding', 'essential-addons-for-elementor-lite' ),
2957
+ 'type' => Controls_Manager::DIMENSIONS,
2958
+ 'size_units' => [
2959
+ 'px',
2960
+ 'em',
2961
+ '%',
2962
+ ],
2963
+ 'selectors' => [
2964
+ "{{WRAPPER}} .lr-form-wrapper .eael-forever-forget" => $this->apply_dim( 'padding' ),
2965
+ ],
2966
+ 'condition' => [
2967
+ 'remember_me_style_pot' => 'yes',
2968
+ ],
2969
+ ] );
2970
+ $this->add_responsive_control( "eael_form_rm_lbl_margin", [
2971
+ 'label' => __( 'Label Margin', 'essential-addons-for-elementor-lite' ),
2972
+ 'type' => Controls_Manager::DIMENSIONS,
2973
+ 'size_units' => [
2974
+ 'px',
2975
+ 'em',
2976
+ '%',
2977
+ ],
2978
+ 'selectors' => [
2979
+ "{{WRAPPER}} .lr-form-wrapper .forget-menot" => $this->apply_dim( 'margin' ),
2980
+ ],
2981
+ 'condition' => [
2982
+ 'remember_me_style_pot' => 'yes',
2983
+ ],
2984
+ ] );
2985
+ $this->add_responsive_control( "eael_form_rm_lbl_padding", [
2986
+ 'label' => __( 'Label Padding', 'essential-addons-for-elementor-lite' ),
2987
+ 'type' => Controls_Manager::DIMENSIONS,
2988
+ 'size_units' => [
2989
+ 'px',
2990
+ 'em',
2991
+ '%',
2992
+ ],
2993
+ 'selectors' => [
2994
+ "{{WRAPPER}} .lr-form-wrapper .forget-menot" => $this->apply_dim( 'padding' ),
2995
+ ],
2996
+ 'condition' => [
2997
+ 'remember_me_style_pot' => 'yes',
2998
+ ],
2999
+ ] );
3000
+
3001
+ $this->add_control( 'eael_rm_label_color', [
3002
+ 'label' => __( 'Text Color', 'essential-addons-for-elementor-lite' ),
3003
+ 'type' => Controls_Manager::COLOR,
3004
+ 'selectors' => [
3005
+ "{{WRAPPER}} .lr-form-wrapper .forget-menot" => 'color: {{VALUE}};',
3006
+ ],
3007
+ 'condition' => [
3008
+ 'remember_me_style_pot' => 'yes',
3009
+ ],
3010
+ ] );
3011
+ $this->add_control( 'eael_rm_label_bg_color', [
3012
+ 'label' => __( 'Text Background', 'essential-addons-for-elementor-lite' ),
3013
+ 'type' => Controls_Manager::COLOR,
3014
+ 'default' => '#ffffff',
3015
+ 'selectors' => [
3016
+ "{{WRAPPER}} .lr-form-wrapper .forget-menot" => 'background-color: {{VALUE}};',
3017
+ ],
3018
+ 'condition' => [
3019
+ 'remember_me_style_pot' => 'yes',
3020
+ ],
3021
+ ] );
3022
+ $this->add_control( 'eael_rm_checkbox_color', [
3023
+ 'label' => __( 'Checkbox | Toggle Color', 'essential-addons-for-elementor-lite' ),
3024
+ 'type' => Controls_Manager::COLOR,
3025
+ 'selectors' => [
3026
+ "{{WRAPPER}} .lr-form-wrapper .forget-menot input[type=checkbox]:checked" => 'border-color: {{VALUE}};background: {{VALUE}};',
3027
+ ],
3028
+ 'condition' => [
3029
+ 'remember_me_style_pot' => 'yes',
3030
+ ],
3031
+ ] );
3032
+ $this->end_popover();
3033
+ $this->add_group_control( Group_Control_Typography::get_type(), [
3034
+ 'label' => __( 'Remember Me Typography', 'essential-addons-for-elementor-lite' ),
3035
+ 'name' => "eael_rm_label_typography",
3036
+ 'selector' => "{{WRAPPER}} .lr-form-wrapper .forget-menot",
3037
+ ] );
3038
  $this->end_controls_section();
3039
  }
3040
 
3763
  $btn_text = ! empty( $this->ds['login_button_text'] ) ? $this->ds['login_button_text'] : '';
3764
  $show_logout_link = ( ! empty( $this->ds['show_log_out_message'] ) && 'yes' === $this->ds['show_log_out_message'] );
3765
  $show_rememberme = ( ! empty( $this->ds['login_show_remember_me'] ) && 'yes' === $this->ds['login_show_remember_me'] );
3766
+ $remember_text = isset( $this->ds['remember_text'] ) ? $this->ds['remember_text'] : esc_html__( 'Remember Me', 'essential-addons-for-elementor-lite');
3767
+ $rm_type = ! empty( $this->ds['remember_me_style'] ) ? $this->ds['remember_me_style'] : '';
3768
  $show_pv_icon = ( ! empty( $this->ds['password_toggle'] ) && 'yes' === $this->ds['password_toggle'] );
3769
 
3770
  //Loss password
3859
  </div>
3860
  </div>
3861
  <div class="eael-forever-forget eael-lr-form-group">
3862
+ <?php if ( $show_rememberme && !empty( $remember_text )) { ?>
3863
  <p class="forget-menot">
3864
  <input name="eael-rememberme"
3865
  type="checkbox"
3866
  id="rememberme"
3867
+ class="remember-me <?php echo esc_attr( $rm_type ); ?>"
3868
  value="forever">
3869
  <label for="rememberme"
3870
+ class="eael-checkbox-label rememberme"><?php echo esc_html( $remember_text ); ?></label>
3871
  </p>
3872
  <?php }
3873
  if ( $show_lp ) {
4252
  value="1">
4253
  <input type="checkbox"
4254
  name="eael_accept_tnc"
4255
+ class="eael_accept_tnc lr-toggle"
4256
  value="1"
4257
  id="eael_accept_tnc">
4258
  <label for="eael_accept_tnc"
4277
 
4278
  protected function print_login_validation_errors() {
4279
  $error_key = 'eael_login_error_' . $this->get_id();
4280
+ if ( $login_error = apply_filters( 'eael/login-register/login-error-message', get_option( $error_key ) ) ) {
4281
  do_action( 'eael/login-register/before-showing-login-error', $login_error, $this );
4282
  ?>
4283
  <p class="eael-form-msg invalid">
4286
  <?php
4287
  do_action( 'eael/login-register/after-showing-login-error', $login_error, $this );
4288
 
4289
+ delete_option( $error_key );
4290
  }
4291
  }
4292
 
4355
  }
4356
 
4357
  protected function print_validation_message() {
4358
+ $errors = get_option( 'eael_register_errors_' . $this->get_id() );
4359
+ $success = get_option( 'eael_register_success_' . $this->get_id() );
4360
  if ( empty( $errors ) && empty( $success ) ) {
4361
  return;
4362
  }
4384
  </ol>
4385
  </div>
4386
  <?php
4387
+ delete_option( 'eael_register_errors_' . $this->get_id() );
4388
  }
4389
 
4390
  protected function print_registration_success_message( $success ) {
4393
  $message = '<p class="eael-form-msg valid">' . esc_html( $this->get_settings_for_display( 'success_register' ) ) . '</p>';
4394
  echo apply_filters( 'eael/login-register/registration-success-msg', $message, $success );
4395
 
4396
+ delete_option( 'eael_register_success_' . $this->get_id() );
4397
 
4398
  return true; // it will help in case we wanna know if error is printed.
4399
  }
includes/Elements/Post_Grid.php CHANGED
@@ -14,13 +14,12 @@ use \Elementor\Group_Control_Box_Shadow;
14
  use \Elementor\Group_Control_Typography;
15
  use \Elementor\Scheme_Typography;
16
  use \Elementor\Widget_Base;
17
- use \Essential_Addons_Elementor\Classes\Controls;
18
- use \Essential_Addons_Elementor\Classes\Helper;
19
 
20
  class Post_Grid extends Widget_Base
21
  {
22
- use \Essential_Addons_Elementor\Traits\Template_Query;
23
-
24
  public function get_name()
25
  {
26
  return 'eael-post-grid';
@@ -998,44 +997,10 @@ class Post_Grid extends Widget_Base
998
 
999
  protected function render()
1000
  {
1001
- $settings = $this->get_settings_for_display();
1002
- $settings = Helper::fix_old_query($settings);
1003
- $args = Helper::get_query_args($settings);
1004
- $args = Helper::get_dynamic_args($settings, $args);
1005
-
1006
- $settings_arry = [
1007
- 'eael_show_image' => $settings['eael_show_image'],
1008
- 'image_size' => $settings['image_size'],
1009
- 'eael_show_title' => $settings['eael_show_title'],
1010
- 'eael_show_excerpt' => $settings['eael_show_excerpt'],
1011
- 'eael_show_meta' => $settings['eael_show_meta'],
1012
- 'meta_position' => $settings['meta_position'],
1013
- 'eael_excerpt_length' => intval($settings['eael_excerpt_length'], 10),
1014
- 'eael_post_grid_hover_animation' => $settings['eael_post_grid_hover_animation'],
1015
- 'eael_post_grid_bg_hover_icon_new' => $settings['eael_post_grid_bg_hover_icon_new'],
1016
- 'eael_show_read_more_button' => $settings['eael_show_read_more_button'],
1017
- 'read_more_button_text' => $settings['read_more_button_text'],
1018
- 'read_more_button_text' => $settings['read_more_button_text'],
1019
- 'show_load_more' => $settings['show_load_more'],
1020
- 'show_load_more_text' => $settings['show_load_more_text'],
1021
- 'excerpt_expanison_indicator' => $settings['excerpt_expanison_indicator'],
1022
- 'layout_mode' => $settings['layout_mode'],
1023
- 'orderby' => $settings['orderby'],
1024
- 'eael_show_post_terms' => $settings['eael_show_post_terms'],
1025
- 'eael_post_terms' => $settings['eael_post_terms'],
1026
- 'eael_post_terms_max_length' => $settings['eael_post_terms_max_length'],
1027
- 'eael_show_avatar' => $settings['eael_show_avatar'],
1028
- 'eael_show_author' => $settings['eael_show_author'],
1029
- 'eael_show_date' => $settings['eael_show_date'],
1030
- 'title_link_nofollow' => $settings['title_link_nofollow'],
1031
- 'title_link_target_blank' => $settings['title_link_target_blank'],
1032
- 'read_more_link_nofollow' => $settings['read_more_link_nofollow'],
1033
- 'read_more_link_target_blank' => $settings['read_more_link_target_blank'],
1034
- 'image_link_nofollow' => $settings['image_link_nofollow'],
1035
- 'image_link_target_blank' => $settings['image_link_target_blank'],
1036
- 'eael_title_length' => $settings['eael_title_length'],
1037
- 'eael_post_grid_preset_style' => $settings['eael_post_grid_preset_style']
1038
- ];
1039
 
1040
  $this->add_render_attribute(
1041
  'post_grid_wrapper',
@@ -1062,39 +1027,30 @@ class Post_Grid extends Widget_Base
1062
  echo '<div ' . $this->get_render_attribute_string( 'post_grid_wrapper' ) . '>
1063
  <div ' . $this->get_render_attribute_string( 'post_grid_container' ) . ' data-layout-mode="' . $settings["layout_mode"] . '">';
1064
 
1065
- $template = $this->get_template($settings['eael_dynamic_template_Layout']);
1066
- if(file_exists($template)){
1067
- $query = new \WP_Query( $args );
1068
 
1069
- if ( $query->have_posts() ) {
1070
 
1071
- while ( $query->have_posts() ) {
1072
- $query->the_post();
1073
- include($template);
1074
- }
1075
- }else {
1076
- _e('<p class="no-posts-found">No posts found!</p>', 'essential-addons-for-elementor-lite');
1077
- }
1078
- wp_reset_postdata();
1079
- } else {
1080
- _e('<p class="no-posts-found">No Layout Found!</p>', 'essential-addons-for-elementor-lite');
1081
  }
 
 
 
 
 
 
 
1082
 
1083
 
1084
- echo '</div>
1085
  <div class="clearfix"></div>
1086
  </div>';
1087
 
1088
- if ('yes' == $settings['show_load_more']) {
1089
- if ($args['posts_per_page'] != '-1') {
1090
- echo '<div class="eael-load-more-button-wrap">
1091
- <button class="eael-load-more-button" id="eael-load-more-btn-' . $this->get_id() . '" data-widget="' . $this->get_id() . '" data-template='.json_encode([ 'dir' => 'free', 'file_name' => $settings['eael_dynamic_template_Layout'], 'name' => $this->process_directory_name() ], 1).' data-class="' . get_class($this) . '" data-args="' . http_build_query($args) . '" data-settings="' . http_build_query($settings_arry) . '" data-layout="' . $settings['layout_mode'] . '" data-page="1">
1092
- <div class="eael-btn-loader button__loader"></div>
1093
- <span>' . esc_html__($settings['show_load_more_text'], 'essential-addons-for-elementor-lite') . '</span>
1094
- </button>
1095
- </div>';
1096
- }
1097
- }
1098
 
1099
  if (Plugin::instance()->editor->is_edit_mode()) {?>
1100
  <script type="text/javascript">
@@ -1127,4 +1083,4 @@ class Post_Grid extends Widget_Base
1127
  <?php
1128
  }
1129
  }
1130
- }
14
  use \Elementor\Group_Control_Typography;
15
  use \Elementor\Scheme_Typography;
16
  use \Elementor\Widget_Base;
17
+ use Essential_Addons_Elementor\Classes\Helper as HelperClass;
18
+ use Essential_Addons_Elementor\Traits\Helper;
19
 
20
  class Post_Grid extends Widget_Base
21
  {
22
+ use Helper;
 
23
  public function get_name()
24
  {
25
  return 'eael-post-grid';
997
 
998
  protected function render()
999
  {
1000
+ $settings = $this->get_settings();
1001
+ $settings = HelperClass::fix_old_query($settings);
1002
+ $args = HelperClass::get_query_args($settings);
1003
+ $args = HelperClass::get_dynamic_args($settings, $args);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1004
 
1005
  $this->add_render_attribute(
1006
  'post_grid_wrapper',
1027
  echo '<div ' . $this->get_render_attribute_string( 'post_grid_wrapper' ) . '>
1028
  <div ' . $this->get_render_attribute_string( 'post_grid_container' ) . ' data-layout-mode="' . $settings["layout_mode"] . '">';
1029
 
1030
+ $template = $this->get_template($settings['eael_dynamic_template_Layout']);
1031
+ if(file_exists($template)){
1032
+ $query = new \WP_Query( $args );
1033
 
1034
+ if ( $query->have_posts() ) {
1035
 
1036
+ while ( $query->have_posts() ) {
1037
+ $query->the_post();
1038
+ include($template);
 
 
 
 
 
 
 
1039
  }
1040
+ }else {
1041
+ _e('<p class="no-posts-found">No posts found!</p>', 'essential-addons-for-elementor-lite');
1042
+ }
1043
+ wp_reset_postdata();
1044
+ } else {
1045
+ _e('<p class="no-posts-found">No Layout Found!</p>', 'essential-addons-for-elementor-lite');
1046
+ }
1047
 
1048
 
1049
+ echo '</div>
1050
  <div class="clearfix"></div>
1051
  </div>';
1052
 
1053
+ $this->print_load_more_button($settings, $args);
 
 
 
 
 
 
 
 
 
1054
 
1055
  if (Plugin::instance()->editor->is_edit_mode()) {?>
1056
  <script type="text/javascript">
1083
  <?php
1084
  }
1085
  }
1086
+ }
includes/Elements/Post_Timeline.php CHANGED
@@ -8,16 +8,15 @@ if (!defined('ABSPATH')) {
8
  }
9
 
10
  use \Elementor\Controls_Manager;
 
11
  use \Elementor\Group_Control_Typography;
12
- use \Elementor\Scheme_Typography;
13
  use \Elementor\Widget_Base;
14
- use \Essential_Addons_Elementor\Classes\Helper;
15
- use \Essential_Addons_Elementor\Classes\Controls;
16
 
17
  class Post_Timeline extends Widget_Base
18
  {
19
- use \Essential_Addons_Elementor\Traits\Template_Query;
20
-
21
  public function get_name()
22
  {
23
  return 'eael-post-timeline';
@@ -70,7 +69,7 @@ class Post_Timeline extends Widget_Base
70
  do_action('eael/controls/layout', $this);
71
 
72
  if (!apply_filters('eael/pro_enabled', false)) {
73
- Helper::go_premium($this);
74
  }
75
 
76
  $this->start_controls_section(
@@ -347,7 +346,9 @@ class Post_Timeline extends Widget_Base
347
  [
348
  'name' => 'eael_timeline_title_typography',
349
  'label' => __('Title Typography', 'essential-addons-for-elementor-lite'),
350
- 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
 
 
351
  'selector' => '{{WRAPPER}} .eael-timeline-post-title h2',
352
  ]
353
  );
@@ -407,7 +408,9 @@ class Post_Timeline extends Widget_Base
407
  [
408
  'name' => 'eael_timeline_excerpt_typography',
409
  'label' => __('Excerpt Typography', 'essential-addons-for-elementor-lite'),
410
- 'scheme' => Scheme_Typography::TYPOGRAPHY_3,
 
 
411
  'selector' => '{{WRAPPER}} .eael-timeline-post-excerpt p',
412
  ]
413
  );
@@ -421,20 +424,11 @@ class Post_Timeline extends Widget_Base
421
  protected function render()
422
  {
423
  $settings = $this->get_settings_for_display();
424
- $settings = Helper::fix_old_query($settings);
425
- $args = Helper::get_query_args($settings);
426
- $args = Helper::get_dynamic_args($settings, $args);
427
-
428
- $settings = [
429
- 'eael_show_image' => $settings['eael_show_image'],
430
- 'image_size' => $settings['image_size'],
431
- 'eael_show_title' => $settings['eael_show_title'],
432
- 'eael_show_excerpt' => $settings['eael_show_excerpt'],
433
- 'eael_excerpt_length' => $settings['eael_excerpt_length'],
434
- 'show_load_more' => $settings['show_load_more'],
435
- 'show_load_more_text' => $settings['show_load_more_text'],
436
- 'expanison_indicator' => $settings['excerpt_expanison_indicator'],
437
- ];
438
 
439
  $this->add_render_attribute(
440
  'eael_post_timeline_wrapper',
@@ -469,21 +463,9 @@ class Post_Timeline extends Widget_Base
469
  } else {
470
  _e('<p class="no-posts-found">No layout found!</p>', 'essential-addons-for-elementor-lite');
471
  }
472
-
473
-
474
-
475
  echo '</div>
476
  </div>';
477
 
478
- if ('yes' == $settings['show_load_more']) {
479
- if ($args['posts_per_page'] != '-1') {
480
- echo '<div class="eael-load-more-button-wrap">
481
- <button class="eael-load-more-button" id="eael-load-more-btn-' . $this->get_id() . '" data-template='.json_encode([ 'dir' => 'free', 'file_name' => $this->get_settings('eael_dynamic_template_Layout'), 'name' => $this->process_directory_name() ], 1).' data-widget="' . $this->get_id() . '" data-class="' . get_class($this) . '" data-args="' . http_build_query($args) . '" data-settings="' . http_build_query($settings) . '" data-page="1">
482
- <div class="eael-btn-loader button__loader"></div>
483
- <span>' . esc_html__($settings['show_load_more_text'], 'essential-addons-for-elementor-lite') . '</span>
484
- </button>
485
- </div>';
486
- }
487
- }
488
  }
489
  }
8
  }
9
 
10
  use \Elementor\Controls_Manager;
11
+ use Elementor\Core\Kits\Documents\Tabs\Global_Typography;
12
  use \Elementor\Group_Control_Typography;
 
13
  use \Elementor\Widget_Base;
14
+ use \Essential_Addons_Elementor\Classes\Helper as HelperClass;
15
+ use Essential_Addons_Elementor\Traits\Helper;
16
 
17
  class Post_Timeline extends Widget_Base
18
  {
19
+ use Helper;
 
20
  public function get_name()
21
  {
22
  return 'eael-post-timeline';
69
  do_action('eael/controls/layout', $this);
70
 
71
  if (!apply_filters('eael/pro_enabled', false)) {
72
+ HelperClass::go_premium($this);
73
  }
74
 
75
  $this->start_controls_section(
346
  [
347
  'name' => 'eael_timeline_title_typography',
348
  'label' => __('Title Typography', 'essential-addons-for-elementor-lite'),
349
+ 'global' => [
350
+ 'default' => Global_Typography::TYPOGRAPHY_PRIMARY,
351
+ ],
352
  'selector' => '{{WRAPPER}} .eael-timeline-post-title h2',
353
  ]
354
  );
408
  [
409
  'name' => 'eael_timeline_excerpt_typography',
410
  'label' => __('Excerpt Typography', 'essential-addons-for-elementor-lite'),
411
+ 'global' => [
412
+ 'default' => Global_Typography::TYPOGRAPHY_TEXT,
413
+ ],
414
  'selector' => '{{WRAPPER}} .eael-timeline-post-excerpt p',
415
  ]
416
  );
424
  protected function render()
425
  {
426
  $settings = $this->get_settings_for_display();
427
+ $settings = HelperClass::fix_old_query($settings);
428
+ $args = HelperClass::get_query_args($settings);
429
+ $args = HelperClass::get_dynamic_args($settings, $args);
430
+
431
+ $settings ['expanison_indicator'] = $settings['excerpt_expanison_indicator'];
 
 
 
 
 
 
 
 
 
432
 
433
  $this->add_render_attribute(
434
  'eael_post_timeline_wrapper',
463
  } else {
464
  _e('<p class="no-posts-found">No layout found!</p>', 'essential-addons-for-elementor-lite');
465
  }
 
 
 
466
  echo '</div>
467
  </div>';
468
 
469
+ $this->print_load_more_button($settings, $args, 'free');
 
 
 
 
 
 
 
 
 
470
  }
471
  }
includes/Elements/Product_Grid.php CHANGED
@@ -4,23 +4,27 @@ namespace Essential_Addons_Elementor\Elements;
4
 
5
  // If this file is called directly, abort.
6
  if (!defined('ABSPATH')) {
7
- exit;
8
  }
9
 
10
- use \Elementor\Controls_Manager;
11
- use \Elementor\Group_Control_Background;
12
- use \Elementor\Group_Control_Border;
13
- use \Elementor\Group_Control_Box_Shadow;
14
- use \Elementor\Group_Control_Image_Size;
15
- use \Elementor\Group_Control_Typography;
16
- use \Elementor\Widget_Base;
17
-
18
- use \Essential_Addons_Elementor\Classes\Helper;
19
- use \Essential_Addons_Elementor\Classes\Controls;
20
-
21
- class Product_Grid extends Widget_Base {
22
-
23
- use \Essential_Addons_Elementor\Traits\Template_Query;
 
 
 
 
24
 
25
  private $is_show_custom_add_to_cart = false;
26
  private $simple_add_to_cart_button_text;
@@ -28,13 +32,10 @@ class Product_Grid extends Widget_Base {
28
  private $grouped_add_to_cart_button_text;
29
  private $external_add_to_cart_button_text;
30
  private $default_add_to_cart_button_text;
31
-
32
- public function __construct($data = [], $args = null)
33
- {
34
- parent::__construct($data, $args);
35
-
36
- add_filter('woocommerce_product_add_to_cart_text', [$this, 'add_to_cart_button_custom_text']);
37
- }
38
 
39
  public function get_name()
40
  {
@@ -98,331 +99,356 @@ class Product_Grid extends Widget_Base {
98
  {
99
  if ($this->is_show_custom_add_to_cart) {
100
  global $product;
101
-
102
  switch ($product->get_type()) {
103
  case 'external':
104
  return $this->external_add_to_cart_button_text;
105
- break;
106
  case 'grouped':
107
  return $this->grouped_add_to_cart_button_text;
108
- break;
109
  case 'simple':
110
  return $this->simple_add_to_cart_button_text;
111
- break;
112
  case 'variable':
113
  return $this->variable_add_to_cart_button_text;
114
- break;
115
  default:
116
  return $this->default_add_to_cart_button_text;
117
  }
118
  }
 
119
  return $default;
120
  }
121
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
122
  protected function _register_controls()
123
  {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
124
 
125
- // Content Controls
126
- $this->start_controls_section(
127
- 'eael_section_product_grid_layouts',
128
- [
129
- 'label' => esc_html__( 'Layouts', 'essential-addons-for-elementor-lite' ),
130
- ]
131
- );
132
- $this->add_control(
133
- 'eael_product_grid_layout',
134
- [
135
- 'label' => esc_html__( 'Layout', 'essential-addons-for-elementor-lite' ),
136
- 'type' => Controls_Manager::SELECT,
137
- 'default' => 'masonry',
138
- 'options' => [
139
- 'grid' => esc_html__( 'Grid', 'essential-addons-for-elementor-lite' ),
140
- 'list' => esc_html__( 'List', 'essential-addons-for-elementor-lite' ),
141
- 'masonry' => esc_html__( 'Masonry', 'essential-addons-for-elementor-lite' ),
142
- ]
143
- ]
144
- );
145
-
146
- $this->add_control(
147
- 'eael_product_grid_style_preset',
148
- [
149
- 'label' => esc_html__( 'Style Preset', 'essential-addons-for-elementor-lite' ),
150
- 'type' => Controls_Manager::SELECT,
151
- 'default' => 'eael-product-simple',
152
- 'options' => [
153
- 'eael-product-default' => esc_html__( 'Default', 'essential-addons-for-elementor-lite' ),
154
- 'eael-product-simple' => esc_html__( 'Simple Style', 'essential-addons-for-elementor-lite' ),
155
- 'eael-product-reveal' => esc_html__( 'Reveal Style', 'essential-addons-for-elementor-lite' ),
156
- 'eael-product-overlay' => esc_html__( 'Overlay Style', 'essential-addons-for-elementor-lite' ),
157
- 'eael-product-preset-5' => esc_html__( 'Preset 5', 'essential-addons-for-elementor-lite' ),
158
- 'eael-product-preset-6' => esc_html__( 'Preset 6', 'essential-addons-for-elementor-lite' ),
159
- 'eael-product-preset-7' => esc_html__( 'Preset 7', 'essential-addons-for-elementor-lite' ),
160
- 'eael-product-preset-8' => esc_html__( 'Preset 8', 'essential-addons-for-elementor-lite' ),
161
- ],
162
- 'condition' => [
163
- 'eael_product_grid_layout' => [ 'grid', 'masonry'],
164
- ],
165
- ]
166
- );
167
-
168
- $this->add_control(
169
- 'eael_product_list_style_preset',
170
- [
171
- 'label' => esc_html__( 'Style Preset', 'essential-addons-for-elementor-lite' ),
172
- 'type' => Controls_Manager::SELECT,
173
- 'default' => 'eael-product-list-preset-1',
174
- 'options' => [
175
- 'eael-product-list-preset-1' => esc_html__( 'Preset 1', 'essential-addons-for-elementor-lite' ),
176
- 'eael-product-list-preset-2' => esc_html__( 'Preset 2', 'essential-addons-for-elementor-lite' ),
177
- 'eael-product-list-preset-3' => esc_html__( 'Preset 3', 'essential-addons-for-elementor-lite' ),
178
- 'eael-product-list-preset-4' => esc_html__( 'Preset 4', 'essential-addons-for-elementor-lite' ),
179
- ],
180
- 'condition' => [
181
- 'eael_product_grid_layout' => [ 'list' ],
182
- ],
183
- ]
184
- );
185
-
186
- $this->add_responsive_control(
187
- 'eael_product_grid_column',
188
- [
189
- 'label' => esc_html__( 'Columns', 'essential-addons-for-elementor-lite' ),
190
- 'type' => Controls_Manager::SELECT,
191
- 'default' => '4',
192
- 'options' => [
193
- '1' => esc_html__( '1', 'essential-addons-for-elementor-lite' ),
194
- '2' => esc_html__( '2', 'essential-addons-for-elementor-lite' ),
195
- '3' => esc_html__( '3', 'essential-addons-for-elementor-lite' ),
196
- '4' => esc_html__( '4', 'essential-addons-for-elementor-lite' ),
197
- '5' => esc_html__( '5', 'essential-addons-for-elementor-lite' ),
198
- '6' => esc_html__( '6', 'essential-addons-for-elementor-lite' ),
199
- ],
200
- 'toggle' => true,
201
- 'prefix_class' => 'eael-product-grid-column%s-',
202
- 'condition' => [
203
- 'eael_product_grid_layout!' => 'list',
204
- ],
205
- ]
206
- );
207
-
208
- $this->add_responsive_control(
209
- 'eael_product_list_column',
210
- [
211
- 'label' => esc_html__( 'Columns', 'essential-addons-for-elementor-lite' ),
212
- 'type' => Controls_Manager::SELECT,
213
- 'default' => '2',
214
- 'options' => [
215
- '1' => esc_html__( '1', 'essential-addons-for-elementor-lite' ),
216
- '2' => esc_html__( '2', 'essential-addons-for-elementor-lite' ),
217
- ],
218
- 'toggle' => true,
219
- 'prefix_class' => 'eael-product-list-column%s-',
220
- 'condition' => [
221
- 'eael_product_grid_layout' => 'list',
222
- ],
223
- ]
224
- );
225
-
226
- $this->end_controls_section();
227
-
228
- // Product Settings
229
  $this->start_controls_section(
230
- 'eael_section_product_grid_settings',
231
  [
232
- 'label' => esc_html__('Product Settings', 'essential-addons-for-elementor-lite'),
233
  ]
234
  );
235
-
236
- if (!apply_filters('eael/is_plugin_active', 'woocommerce/woocommerce.php')) {
237
- $this->add_control(
238
- 'ea_product_grid_woo_required',
239
- [
240
- 'type' => Controls_Manager::RAW_HTML,
241
- 'raw' => __('<strong>WooCommerce</strong> is not installed/activated on your site. Please install and activate <a href="plugin-install.php?s=woocommerce&tab=search&type=term" target="_blank">WooCommerce</a> first.', 'essential-addons-for-elementor-lite'),
242
- 'content_classes' => 'eael-warning',
 
 
243
  ]
244
- );
245
- }
246
 
247
  $this->add_control(
248
- 'eael_product_grid_product_filter',
249
  [
250
- 'label' => esc_html__('Filter By', 'essential-addons-for-elementor-lite'),
251
- 'type' => Controls_Manager::SELECT,
252
- 'default' => 'recent-products',
253
  'options' => [
254
- 'recent-products' => esc_html__('Recent Products', 'essential-addons-for-elementor-lite'),
255
- 'featured-products' => esc_html__('Featured Products', 'essential-addons-for-elementor-lite'),
256
- 'best-selling-products' => esc_html__('Best Selling Products', 'essential-addons-for-elementor-lite'),
257
- 'sale-products' => esc_html__('Sale Products', 'essential-addons-for-elementor-lite'),
258
- 'top-products' => esc_html__('Top Rated Products', 'essential-addons-for-elementor-lite'),
 
 
 
 
 
 
259
  ],
260
  ]
261
  );
262
 
263
  $this->add_control(
264
- 'orderby',
265
  [
266
- 'label' => __('Order By', 'essential-addons-for-elementor-lite'),
267
  'type' => Controls_Manager::SELECT,
 
268
  'options' => [
269
- 'ID' => __('Product ID', 'essential-addons-for-elementor-lite'),
270
- 'title' => __('Product Title', 'essential-addons-for-elementor-lite'),
271
- '_price' => __('Price', 'essential-addons-for-elementor-lite'),
272
- '_sku' => __('SKU', 'essential-addons-for-elementor-lite'),
273
- 'date' => __('Date', 'essential-addons-for-elementor-lite'),
274
- 'modified' => __('Last Modified Date', 'essential-addons-for-elementor-lite'),
275
- 'parent' => __('Parent Id', 'essential-addons-for-elementor-lite'),
276
- 'rand' => __('Random', 'essential-addons-for-elementor-lite'),
277
- 'menu_order' => __('Menu Order', 'essential-addons-for-elementor-lite'),
278
  ],
279
- 'default' => 'date',
280
-
281
  ]
282
  );
283
 
284
- $this->add_control(
285
- 'order',
286
  [
287
- 'label' => __('Order', 'essential-addons-for-elementor-lite'),
288
  'type' => Controls_Manager::SELECT,
 
289
  'options' => [
290
- 'asc' => 'Ascending',
291
- 'desc' => 'Descending',
 
 
 
 
292
  ],
293
- 'default' => 'desc',
 
 
 
 
 
 
294
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
295
  ]
296
  );
297
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
298
  $this->add_control(
299
- 'eael_product_grid_products_count',
300
  [
301
- 'label' => __('Products Count', 'essential-addons-for-elementor-lite'),
302
- 'type' => Controls_Manager::NUMBER,
303
- 'default' => 4,
304
- 'min' => 1,
305
- 'max' => 1000,
306
- 'step' => 1,
307
  ]
308
  );
309
 
 
 
 
 
 
 
 
 
 
 
 
310
  $this->add_control(
311
- 'product_offset',
312
  [
313
- 'label' => __('Offset', 'essential-addons-for-elementor-lite'),
314
- 'type' => Controls_Manager::NUMBER,
315
- 'default' => 0,
 
 
 
 
316
  ]
317
  );
318
-
319
  $this->add_control(
320
- 'eael_product_grid_categories',
321
  [
322
- 'label' => esc_html__('Product Categories', 'essential-addons-for-elementor-lite'),
323
- 'type' => Controls_Manager::SELECT2,
324
- 'label_block' => true,
325
- 'multiple' => true,
326
- 'options' => Helper::get_terms_list('product_cat', 'slug'),
 
 
327
  ]
328
  );
329
-
330
  $this->add_control(
331
- 'eael_dynamic_template_Layout',
332
  [
333
- 'label' => esc_html__('Layout', 'essential-addons-for-elementor-lite'),
334
- 'type' => Controls_Manager::SELECT,
335
- 'default' => 'default',
336
- 'options' => $this->get_template_list_for_dropdown(),
 
 
 
337
  ]
338
  );
339
 
340
  $this->add_control(
341
- 'eael_product_grid_rating',
342
  [
343
- 'label' => esc_html__('Show Product Rating?', 'essential-addons-for-elementor-lite'),
344
- 'type' => Controls_Manager::SWITCHER,
345
- 'return_value' => 'yes',
346
- 'default' => 'yes',
347
- 'condition' => [
348
- 'eael_product_grid_style_preset!' => ['eael-product-preset-8'],
349
- ],
350
- ]
351
- );
352
-
353
- $this->add_control(
354
- 'eael_product_grid_price',
355
- [
356
- 'label' => esc_html__( 'Show Product Price?', 'essential-addons-for-elementor-lite' ),
357
- 'type' => Controls_Manager::SWITCHER,
358
- 'return_value' => 'yes',
359
- 'default' => 'yes',
360
- 'condition' => [
361
- 'eael_product_grid_style_preset!' => 'eael-product-default',
362
- ],
363
- ]
364
- );
365
- $this->add_control(
366
- 'eael_product_grid_excerpt',
367
- [
368
- 'label' => esc_html__( 'Short Description?', 'essential-addons-for-elementor-lite' ),
369
- 'type' => Controls_Manager::SWITCHER,
370
- 'return_value' => 'yes',
371
- 'default' => 'yes',
372
- 'condition' => [
373
- 'eael_product_grid_layout' => 'list',
374
- ],
375
- ]
376
- );
377
- $this->add_control(
378
- 'eael_product_grid_excerpt_length',
379
- [
380
- 'label' => __('Excerpt Words', 'essential-addons-elementor'),
381
- 'type' => Controls_Manager::NUMBER,
382
- 'default' => '10',
383
- 'condition' => [
384
- 'eael_product_grid_excerpt' => 'yes',
385
- 'eael_product_grid_layout' => 'list',
386
- ],
387
- ]
388
- );
389
-
390
- $this->add_control(
391
- 'eael_product_grid_excerpt_expanison_indicator',
392
- [
393
- 'label' => esc_html__('Expanison Indicator', 'essential-addons-elementor'),
394
- 'type' => Controls_Manager::TEXT,
395
- 'label_block' => false,
396
- 'default' => esc_html__('...', 'essential-addons-elementor'),
397
- 'condition' => [
398
- 'eael_product_grid_excerpt' => 'yes',
399
- 'eael_product_grid_layout' => 'list',
400
- ],
401
- ]
402
- );
403
-
404
- $this->add_group_control(
405
- Group_Control_Image_Size::get_type(),
406
- [
407
- 'name' => 'eael_product_grid_image_size',
408
- 'exclude' => ['custom'],
409
- 'default' => 'medium',
410
- 'label_block' => true,
411
- ]
412
- );
413
-
414
- $this->end_controls_section();
415
-
416
- /**
417
- * Badges Controls!
418
- */
419
- $this->eael_product_badges();
420
 
421
- /**
422
- * -------------------------------
423
- * Section => Add To Cart
424
- * -------------------------------
425
- */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
426
  $this->start_controls_section(
427
  'eael_product_grid_add_to_cart_section',
428
  [
@@ -433,24 +459,24 @@ class Product_Grid extends Widget_Base {
433
  $this->add_control(
434
  'show_add_to_cart_custom_text',
435
  [
436
- 'label' => __('Show Add to cart custom text', 'essential-addons-for-elementor-lite'),
437
- 'type' => Controls_Manager::SWITCHER,
438
- 'label_on' => __('Show', 'essential-addons-for-elementor-lite'),
439
- 'label_off' => __('Hide', 'essential-addons-for-elementor-lite'),
440
  'return_value' => 'true',
441
- 'default' => '',
442
  ]
443
  );
444
 
445
  $this->add_control(
446
  'add_to_cart_simple_product_button_text',
447
  [
448
- 'label' => esc_html__('Simple Product', 'essential-addons-for-elementor-lite'),
449
- 'type' => Controls_Manager::TEXT,
450
- 'dynamic' => [ 'active' => true ],
451
  'label_block' => false,
452
- 'default' => esc_html__('Buy Now', 'essential-addons-for-elementor-lite'),
453
- 'condition' => [
454
  'show_add_to_cart_custom_text' => 'true',
455
  ],
456
  ]
@@ -458,12 +484,12 @@ class Product_Grid extends Widget_Base {
458
  $this->add_control(
459
  'add_to_cart_variable_product_button_text',
460
  [
461
- 'label' => esc_html__('Variable Product', 'essential-addons-for-elementor-lite'),
462
- 'type' => Controls_Manager::TEXT,
463
- 'dynamic' => [ 'active' => true ],
464
  'label_block' => false,
465
- 'default' => esc_html__('Select options', 'essential-addons-for-elementor-lite'),
466
- 'condition' => [
467
  'show_add_to_cart_custom_text' => 'true',
468
  ],
469
  ]
@@ -471,12 +497,12 @@ class Product_Grid extends Widget_Base {
471
  $this->add_control(
472
  'add_to_cart_grouped_product_button_text',
473
  [
474
- 'label' => esc_html__('Grouped Product', 'essential-addons-for-elementor-lite'),
475
- 'type' => Controls_Manager::TEXT,
476
- 'dynamic' => [ 'active' => true ],
477
  'label_block' => false,
478
- 'default' => esc_html__('View products', 'essential-addons-for-elementor-lite'),
479
- 'condition' => [
480
  'show_add_to_cart_custom_text' => 'true',
481
  ],
482
  ]
@@ -484,12 +510,12 @@ class Product_Grid extends Widget_Base {
484
  $this->add_control(
485
  'add_to_cart_external_product_button_text',
486
  [
487
- 'label' => esc_html__('External Product', 'essential-addons-for-elementor-lite'),
488
- 'type' => Controls_Manager::TEXT,
489
- 'dynamic' => [ 'active' => true ],
490
  'label_block' => false,
491
- 'default' => esc_html__('Buy Now', 'essential-addons-for-elementor-lite'),
492
- 'condition' => [
493
  'show_add_to_cart_custom_text' => 'true',
494
  ],
495
  ]
@@ -497,76 +523,72 @@ class Product_Grid extends Widget_Base {
497
  $this->add_control(
498
  'add_to_cart_default_product_button_text',
499
  [
500
- 'label' => esc_html__('Default Product', 'essential-addons-for-elementor-lite'),
501
- 'type' => Controls_Manager::TEXT,
502
- 'dynamic' => [ 'active' => true ],
503
  'label_block' => false,
504
- 'default' => esc_html__('Read More', 'essential-addons-for-elementor-lite'),
505
- 'condition' => [
506
  'show_add_to_cart_custom_text' => 'true',
507
  ],
508
  ]
509
  );
510
 
511
  $this->end_controls_section(); # end of section 'add to cart'
 
512
 
513
- /**
514
- * -------------------------------
515
- * Section => Load More
516
- * -------------------------------
517
- */
518
- $this->start_controls_section(
519
- 'eael_product_grid_load_more_section',
520
- [
521
- 'label' => esc_html__('Load More', 'essential-addons-for-elementor-lite'),
522
- 'condition' => [
523
- 'eael_product_grid_layout' => 'masonry',
524
- ],
525
- ]
526
- );
527
-
528
- $this->add_control(
529
- 'show_load_more',
530
- [
531
- 'label' => __('Show Load More', 'essential-addons-for-elementor-lite'),
532
- 'type' => Controls_Manager::SWITCHER,
533
- 'label_on' => __('Show', 'essential-addons-for-elementor-lite'),
534
- 'label_off' => __('Hide', 'essential-addons-for-elementor-lite'),
535
- 'return_value' => 'true',
536
- 'default' => '',
537
- ]
538
- );
539
-
540
- $this->add_control(
541
- 'show_load_more_text',
542
- [
543
- 'label' => esc_html__('Label Text', 'essential-addons-for-elementor-lite'),
544
- 'type' => Controls_Manager::TEXT,
545
- 'dynamic' => [
546
- 'active' => true,
547
- ],
548
- 'label_block' => false,
549
- 'default' => esc_html__('Load More', 'essential-addons-for-elementor-lite'),
550
- 'condition' => [
551
- 'show_load_more' => 'true',
552
  ],
553
- ]
554
- );
555
-
556
- $this->end_controls_section(); # end of section 'Load More'
557
-
558
- /**
559
- * -------------------------------
560
- * Section => Pagination
561
- * -------------------------------
562
- */
563
- $this->eael_product_pagination();
 
 
 
 
 
 
 
 
 
 
 
 
 
564
 
 
 
565
  $this->start_controls_section(
566
  'eael_product_grid_styles',
567
  [
568
  'label' => esc_html__('Products', 'essential-addons-for-elementor-lite'),
569
- 'tab' => Controls_Manager::TAB_STYLE,
570
  ]
571
  );
572
 
@@ -592,906 +614,1991 @@ class Product_Grid extends Widget_Base {
592
  'default' => 'center',
593
  'toggle' => true,
594
  'selectors' => [
595
- '{{WRAPPER}} .eael-product-grid:not(.list) .woocommerce ul.products li.product' => 'text-align: {{VALUE}};',
596
- ],
597
- 'conditions' => [
598
- 'relation' => 'and',
599
- 'terms' => [
600
- [
601
- 'name' => 'eael_product_grid_layout',
602
- 'operator' => '!=',
603
- 'value' => [
604
- 'list',
605
- ],
606
- ],
607
- [
608
- 'name' => 'eael_product_grid_style_preset',
609
- 'operator' => 'in',
610
- 'value' => [
611
- 'eael-product-default',
612
- 'eael-product-simple',
613
- 'eael-product-reveal',
614
- 'eael-product-overlay',
615
- ]
616
- ],
617
- ],
618
- ],
619
  ]
620
  );
621
 
622
  $this->add_control(
623
  'eael_product_grid_background_color',
624
  [
625
- 'label' => esc_html__('Content Background Color', 'essential-addons-for-elementor-lite'),
626
- 'type' => Controls_Manager::COLOR,
627
- 'default' => '#fff',
628
- 'selectors' => [
629
- '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product, {{WRAPPER}} .eael-product-grid .icons-wrap.block-box-style' => 'background-color: {{VALUE}};',
630
- '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product.eael-product-list-preset-4 .product-details-wrap' => 'background-color: {{VALUE}};',
631
- '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product.eael-product-list-preset-3, {{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product.eael-product-list-preset-4'
632
- => 'background-color: transparent;',
633
- ],
634
- 'conditions' => [
635
- 'relation' => 'and',
636
- 'terms' => [
637
- [
638
- 'name' => 'eael_product_grid_layout',
639
- 'operator' => 'in',
640
- 'value' => [
641
- 'grid',
642
- 'list',
643
- 'masonry',
644
- ],
645
- ],
646
- [
647
- 'name' => 'eael_product_list_style_preset',
648
- 'operator' => '!=',
649
- 'value' => [
650
- 'eael-product-list-preset-3',
651
- ]
652
- ],
653
- ],
654
- ],
655
- ]
656
- );
657
-
658
- $this->add_control(
659
- 'eael_product_grid_border_color',
660
- [
661
- 'label' => esc_html__( 'Border Color', 'essential-addons-for-elementor-lite' ),
662
- 'type' => Controls_Manager::COLOR,
663
- 'default' => '#ada8a8',
664
- 'selectors' => [
665
- '{{WRAPPER}} .eael-product-grid .price-wrap, {{WRAPPER}} .eael-product-grid .title-wrap' => 'border-color: {{VALUE}};',
666
- ],
667
- 'conditions' => [
668
- 'relation' => 'and',
669
- 'terms' => [
670
- [
671
- 'name' => 'eael_product_grid_layout',
672
- 'operator' => '!in',
673
- 'value' => [
674
- 'grid',
675
- 'masonry',
676
- ],
677
- ],
678
- [
679
- 'name' => 'eael_product_list_style_preset',
680
- 'operator' => '==',
681
- 'value' => 'eael-product-list-preset-3',
682
- ],
683
- ],
684
- ],
685
- ]
686
- );
687
-
688
- $this->add_control(
689
- 'eael_peoduct_grid_padding',
690
- [
691
- 'label' => __('Padding', 'essential-addons-for-elementor-lite'),
692
- 'type' => Controls_Manager::DIMENSIONS,
693
- 'size_units' => ['px', '%', 'em'],
694
- 'selectors' => [
695
- '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
696
- ],
697
- 'conditions' => [
698
- 'relation' => 'and',
699
- 'terms' => [
700
- [
701
- 'name' => 'eael_product_grid_layout',
702
- 'operator' => '!=',
703
- 'value' => [
704
- 'list',
705
- ],
706
- ],
707
- [
708
- 'name' => 'eael_product_grid_style_preset',
709
- 'operator' => 'in',
710
- 'value' => [
711
- 'eael-product-default',
712
- 'eael-product-simple',
713
- 'eael-product-reveal',
714
- 'eael-product-overlay',
715
- ]
716
- ],
717
- ],
718
- ],
719
- ]
720
- );
721
-
722
- $this->start_controls_tabs( 'eael_product_grid_tabs', [
723
- 'conditions' => [
724
- 'relation' => 'or',
725
- 'terms' => [
726
- [
727
- 'name' => 'eael_product_grid_layout',
728
- 'operator' => 'in',
729
- 'value' => [
730
- 'grid',
731
- 'mesonry',
732
- ]
733
- ],
734
- [
735
- 'name' => 'eael_product_list_style_preset',
736
- 'operator' => '!in',
737
- 'value' => [
738
- 'eael-product-list-preset-3',
739
- 'eael-product-list-preset-4',
740
- ]
741
- ]
742
- ]
743
- ],
744
- ] );
745
-
746
- $this->start_controls_tab( 'eael_product_grid_tabs_normal', [ 'label' => esc_html__( 'Normal', 'essential-addons-for-elementor-lite' ) ] );
747
 
748
  $this->add_group_control(
749
  Group_Control_Border::get_type(),
750
  [
751
- 'name' => 'eael_peoduct_grid_border',
752
  'fields_options' => [
753
  'border' => [
754
  'default' => 'solid',
755
  ],
756
- 'width' => [
757
  'default' => [
758
- 'top' => '1',
759
- 'right' => '1',
760
- 'bottom' => '1',
761
- 'left' => '1',
762
  'isLinked' => false,
763
  ],
764
  ],
765
- 'color' => [
766
  'default' => '#eee',
767
  ],
768
  ],
769
  'selector' => '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product',
770
- 'condition' => [
771
- 'eael_product_grid_style_preset' => [
772
- 'eael-product-default',
773
- 'eael-product-simple',
774
- 'eael-product-overlay',
775
- 'eael-product-preset-5',
776
- 'eael-product-preset-6',
777
- 'eael-product-preset-7',
778
- 'eael-product-preset-8',
779
- ]
780
- ],
781
- ]
782
- );
783
-
784
- $this->add_group_control(
785
- \Elementor\Group_Control_Box_Shadow::get_type(),
786
- [
787
- 'name' => 'eael_peoduct_grid_shadow',
788
- 'label' => __('Box Shadow', 'essential-addons-for-elementor-lite'),
789
- 'selector' => '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product',
790
- ]
791
- );
792
-
793
-
794
- $this->end_controls_tab();
795
-
796
- $this->start_controls_tab( 'eael_product_grid_hover_styles', [ 'label' => esc_html__( 'Hover', 'essential-addons-for-elementor-lite' ) ] );
797
-
798
- $this->add_control(
799
- 'eael_product_grid_hover_border_color',
800
- [
801
- 'label' => esc_html__( 'Border Color', 'essential-addons-for-elementor-lite' ),
802
- 'type' => Controls_Manager::COLOR,
803
- 'default' => '',
804
- 'selectors' => [
805
- '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product:hover' => 'border-color: {{VALUE}};',
806
- ],
807
- 'condition' => [
808
- 'eael_peoduct_grid_border_border!' => '',
809
- ],
810
- ]
811
- );
812
- $this->add_group_control(
813
- Group_Control_Box_Shadow::get_type(),
814
- [
815
- 'name' => 'eael_product_grid_box_shadow_hover',
816
- 'label' => __('Box Shadow', 'essential-addons-for-elementor-lite'),
817
- 'selector' => '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product:hover',
818
- ]
819
- );
820
-
821
- $this->end_controls_tab();
822
-
823
- $this->end_controls_tabs();
824
-
825
- $this->add_control(
826
- 'eael_peoduct_grid_border_radius',
827
- [
828
- 'label' => esc_html__('Border Radius', 'essential-addons-for-elementor-lite'),
829
- 'type' => Controls_Manager::DIMENSIONS,
830
- 'selectors' => [
831
- '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
832
- '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product woocommerce-loop-product__link img' => 'border-radius: {{TOP}}px {{RIGHT}}px 0 0;',
833
- '{{WRAPPER}} .eael-product-grid.list .woocommerce ul.products li.product .woocommerce-loop-product__link img' => 'border-radius: {{TOP}}px 0 0 {{LEFT}}px;',
834
- ],
835
- ]
836
- );
837
-
838
- $this->add_responsive_control(
839
- 'eael_product_grid_image_width',
840
- [
841
- 'label' => esc_html__('Image Width(%)', 'essential-addons-for-elementor-lite'),
842
- 'type' => Controls_Manager::SLIDER,
843
- 'range' => [
844
- '%' => [
845
- 'max' => 50,
846
- ],
847
- ],
848
- 'selectors' => [
849
- '{{WRAPPER}} .eael-product-grid.list .eael-product-wrap .product-image-wrap' => 'width: {{SIZE}}%;',
850
- ],
851
- 'condition' => [
852
- 'eael_product_grid_layout' => 'list',
853
- ],
854
- 'separator' => 'before',
855
- ]
856
- );
857
-
858
- $this->add_control(
859
- 'eael_product_grid_details_heading',
860
- [
861
- 'label' => __( 'Product Details', 'essential-addons-for-elementor-lite' ),
862
- 'type' => Controls_Manager::HEADING,
863
- 'separator' => 'before',
864
- 'conditions' => [
865
- 'relation' => 'and',
866
- 'terms' => [
867
- [
868
- 'name' => 'eael_product_grid_layout',
869
- 'operator' => 'in',
870
- 'value' => [
871
- 'grid',
872
- 'list',
873
- 'masonry',
874
- ],
875
- ],
876
- [
877
- 'name' => 'eael_product_grid_style_preset',
878
- 'operator' => '!in',
879
- 'value' => [
880
- 'eael-product-default',
881
- 'eael-product-simple',
882
- 'eael-product-reveal',
883
- 'eael-product-overlay',
884
- ]
885
- ],
886
- ],
887
- ],
888
- ]
889
- );
890
-
891
- $this->add_responsive_control(
892
- 'eael_product_grid_details_alignment',
893
- [
894
- 'label' => __('Alignment', 'essential-addons-for-elementor-lite'),
895
- 'type' => Controls_Manager::CHOOSE,
896
- 'options' => [
897
- 'left' => [
898
- 'title' => __('Left', 'essential-addons-for-elementor-lite'),
899
- 'icon' => 'fa fa-align-left',
900
- ],
901
- 'center' => [
902
- 'title' => __('Center', 'essential-addons-for-elementor-lite'),
903
- 'icon' => 'fa fa-align-center',
904
- ],
905
- 'right' => [
906
- 'title' => __('Right', 'essential-addons-for-elementor-lite'),
907
- 'icon' => 'fa fa-align-right',
908
- ],
909
- ],
910
- 'default' => 'center',
911
- 'selectors' => [
912
- '{{WRAPPER}} .eael-product-grid .product-details-wrap' => 'text-align: {{VALUE}};',
913
- ],
914
- 'conditions' => [
915
- 'relation' => 'and',
916
- 'terms' => [
917
- [
918
- 'name' => 'eael_product_grid_layout',
919
- 'operator' => '!=',
920
- 'value' => [
921
- 'list',
922
- ],
923
- ],
924
- [
925
- 'name' => 'eael_product_grid_style_preset',
926
- 'operator' => '!in',
927
- 'value' => [
928
- 'eael-product-default',
929
- 'eael-product-simple',
930
- 'eael-product-reveal',
931
- 'eael-product-overlay',
932
- ]
933
- ],
934
- ],
935
- ],
936
- ]
937
- );
938
-
939
- $this->add_responsive_control(
940
- 'eael_product_grid_inner_padding',
941
- [
942
- 'label' => __('Padding', 'essential-addons-for-elementor-lite'),
943
- 'type' => Controls_Manager::DIMENSIONS,
944
- 'size_units' => ['px', '%'],
945
- 'range' => [
946
- 'px' => [
947
- 'min' => 0,
948
- 'max' => 100,
949
- 'step' => 1,
950
- ],
951
- '%' => [
952
- 'min' => 0,
953
- 'max' => 100,
954
- ],
955
- ],
956
- 'default' => [
957
- 'top' => '15',
958
- 'right' => '15',
959
- 'bottom' => '15',
960
- 'left' => '15',
961
- 'unit' => 'px',
962
- 'isLinked' => true,
963
- ],
964
- 'selectors' => [
965
- '{{WRAPPER}} .eael-product-grid.grid .eael-product-wrap .product-details-wrap, {{WRAPPER}} .eael-product-grid.masonry .eael-product-wrap .product-details-wrap' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
966
- ],
967
- 'conditions' => [
968
- 'relation' => 'and',
969
- 'terms' => [
970
- [
971
- 'name' => 'eael_product_grid_layout',
972
- 'operator' => '!=',
973
- 'value' => [
974
- 'list',
975
- ],
976
- ],
977
- [
978
- 'name' => 'eael_product_grid_style_preset',
979
- 'operator' => '!in',
980
- 'value' => [
981
- 'eael-product-default',
982
- 'eael-product-simple',
983
- 'eael-product-reveal',
984
- 'eael-product-overlay',
985
- ]
986
- ],
987
- ],
988
- ],
989
- ]
990
- );
991
-
992
- $this->add_responsive_control(
993
- 'eael_product_list_padding',
994
- [
995
- 'label' => esc_html__('Padding (PX)', 'essential-addons-for-elementor-lite'),
996
- 'type' => Controls_Manager::SLIDER,
997
- 'range' => [
998
- 'px' => [
999
- 'max' => 100,
1000
- ],
1001
- ],
1002
- 'selectors' => [
1003
- '{{WRAPPER}} .eael-product-grid.list .eael-product-list-preset-1 .eael-product-wrap .product-details-wrap, {{WRAPPER}} .eael-product-grid.list .eael-product-list-preset-4 .eael-product-wrap .product-details-wrap' => 'padding: {{SIZE}}px;',
1004
- '{{WRAPPER}} .eael-product-grid.list .eael-product-list-preset-2 .eael-product-wrap' => 'padding: {{SIZE}}px;',
1005
- '{{WRAPPER}} .eael-product-grid.list .eael-product-list-preset-2 .eael-product-wrap .product-details-wrap' => 'padding: 0 0 0 {{SIZE}}px;',
1006
- '{{WRAPPER}} .eael-product-grid.list .eael-product-list-preset-3 .eael-product-wrap .product-details-wrap' => 'padding: 0 0 0 {{SIZE}}px;',
1007
- ],
1008
- 'condition' => [
1009
- 'eael_product_grid_layout' => 'list',
1010
- ],
1011
- ]
1012
- );
1013
-
1014
- $this->add_responsive_control(
1015
- 'eael_product_list_content_width',
1016
- [
1017
- 'label' => esc_html__('Width (%)', 'essential-addons-for-elementor-lite'),
1018
- 'type' => Controls_Manager::SLIDER,
1019
- 'range' => [
1020
- '%' => [
1021
- 'max' => 100,
1022
- ],
1023
- ],
1024
- 'selectors' => [
1025
- '{{WRAPPER}} .eael-product-grid.list .eael-product-wrap .product-details-wrap' => 'width: {{SIZE}}%;',
1026
- ],
1027
- 'condition' => [
1028
- 'eael_product_grid_layout' => 'list',
1029
- ],
1030
- ]
1031
- );
1032
-
1033
- $this->end_controls_section();
1034
-
1035
- $this->start_controls_section(
1036
- 'eael_section_product_grid_typography',
1037
- [
1038
- 'label' => esc_html__('Color &amp; Typography', 'essential-addons-for-elementor-lite'),
1039
- 'tab' => Controls_Manager::TAB_STYLE,
1040
  ]
1041
  );
1042
 
1043
- $this->add_control(
1044
- 'eael_product_grid_product_title_heading',
1045
  [
1046
- 'label' => __('Product Title', 'essential-addons-for-elementor-lite'),
1047
- 'type' => Controls_Manager::HEADING,
 
1048
  ]
1049
  );
1050
 
1051
- $this->add_control(
1052
- 'eael_product_grid_product_title_color',
1053
- [
1054
- 'label' => esc_html__('Product Title Color', 'essential-addons-for-elementor-lite'),
1055
- 'type' => Controls_Manager::COLOR,
1056
- 'default' => '#272727',
1057
- 'selectors' => [
1058
- '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product .woocommerce-loop-product__title, {{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product .eael-product-title h2' => 'color: {{VALUE}};',
1059
- ],
1060
- ]
1061
- );
1062
 
1063
- $this->add_group_control(
1064
- Group_Control_Typography::get_type(),
1065
- [
1066
- 'name' => 'eael_product_grid_product_title_typography',
1067
- 'selector' => '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product .woocommerce-loop-product__title, {{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product .eael-product-title h2',
1068
- ]
1069
- );
1070
 
1071
- $this->add_control(
1072
- 'eael_product_grid_product_price_heading',
1073
- [
1074
- 'label' => __('Product Price', 'essential-addons-for-elementor-lite'),
1075
- 'type' => Controls_Manager::HEADING,
1076
- ]
1077
- );
1078
 
1079
  $this->add_control(
1080
- 'eael_product_grid_product_price_color',
1081
  [
1082
- 'label' => esc_html__('Product Price Color', 'essential-addons-for-elementor-lite'),
1083
- 'type' => Controls_Manager::COLOR,
1084
- 'default' => '#272727',
1085
  'selectors' => [
1086
- '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product .price, {{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product .eael-product-price' => 'color: {{VALUE}};',
1087
- ],
 
 
 
1088
  ]
1089
  );
1090
-
1091
  $this->add_group_control(
1092
- Group_Control_Typography::get_type(),
1093
  [
1094
- 'name' => 'eael_product_grid_product_price_typography',
1095
- 'selector' => '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product .price',
 
1096
  ]
1097
  );
1098
 
1099
- $this->add_control(
1100
- 'eael_product_grid_product_rating_heading',
1101
- [
1102
- 'label' => __('Star Rating', 'essential-addons-for-elementor-lite'),
1103
- 'type' => Controls_Manager::HEADING,
1104
- ]
1105
- );
1106
 
1107
- $this->add_control(
1108
- 'eael_product_grid_product_rating_color',
1109
- [
1110
- 'label' => esc_html__('Rating Color', 'essential-addons-for-elementor-lite'),
1111
- 'type' => Controls_Manager::COLOR,
1112
- 'default' => '#f2b01e',
1113
- 'selectors' => [
1114
- '{{WRAPPER}} .eael-product-grid .woocommerce .star-rating::before' => 'color: {{VALUE}};',
1115
- '{{WRAPPER}} .eael-product-grid .woocommerce .star-rating span::before' => 'color: {{VALUE}};',
1116
- ],
1117
- ]
1118
- );
1119
-
1120
- $this->add_group_control(
1121
- Group_Control_Typography::get_type(),
1122
- [
1123
- 'name' => 'eael_product_grid_product_rating_typography',
1124
- 'selector' => '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product .star-rating',
1125
- 'conditions' => [
1126
- 'relation' => 'or',
1127
- 'terms' => [
1128
- [
1129
- 'name' => 'eael_product_grid_style_preset',
1130
- 'operator' => '!in',
1131
- 'value' => [
1132
- 'eael-product-preset-5',
1133
- 'eael-product-preset-6',
1134
- 'eael-product-preset-7',
1135
- 'eael-product-preset-8',
1136
- ],
1137
- ],
1138
- [
1139
- 'name' => 'eael_product_grid_layout',
1140
- 'operator' => '!==',
1141
- 'value' => 'list'
1142
- ]
1143
- ],
1144
- ],
1145
- ]
1146
- );
1147
-
1148
- $this->add_responsive_control(
1149
- 'eael_product_grid_product_rating_size',
1150
- [
1151
- 'label' => esc_html__('Icon Size', 'essential-addons-for-elementor-lite'),
1152
- 'type' => Controls_Manager::SLIDER,
1153
- 'range' => [
1154
- 'px' => [
1155
- 'max' => 50,
1156
- ],
1157
- ],
1158
- 'default' => [
1159
- 'size' => 15,
1160
- ],
1161
- 'selectors' => [
1162
- '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product .star-rating' => 'font-size: {{SIZE}}px!important;',
1163
- ],
1164
- 'conditions' => [
1165
- 'relation' => 'or',
1166
- 'terms' => [
1167
- [
1168
- 'name' => 'eael_product_grid_style_preset',
1169
- 'operator' => 'in',
1170
- 'value' => [
1171
- 'eael-product-preset-5',
1172
- 'eael-product-preset-6',
1173
- 'eael-product-preset-7',
1174
- ],
1175
- ],
1176
- [
1177
- 'name' => 'eael_product_grid_layout',
1178
- 'operator' => '==',
1179
- 'value' => 'list'
1180
- ]
1181
- ],
1182
- ],
1183
- ]
1184
- );
1185
-
1186
- $this->add_control(
1187
- 'eael_product_grid_product_desc_heading',
1188
- [
1189
- 'label' => __( 'Product Description', 'essential-addons-for-elementor-lite' ),
1190
- 'type' => Controls_Manager::HEADING,
1191
- 'condition' => [
1192
- 'eael_product_grid_layout' => 'list',
1193
- 'eael_product_grid_excerpt' => 'yes',
1194
- ],
1195
- ]
1196
- );
1197
-
1198
- $this->add_control(
1199
- 'eael_product_grid_product_desc_color',
1200
- [
1201
- 'label' => esc_html__( 'Color', 'essential-addons-for-elementor-lite' ),
1202
- 'type' => Controls_Manager::COLOR,
1203
- 'default' => '#272727',
1204
- 'selectors' => [
1205
- '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product .eael-product-excerpt' => 'color: {{VALUE}};',
1206
- ],
1207
- 'condition' => [
1208
- 'eael_product_grid_layout' => 'list',
1209
- 'eael_product_grid_excerpt' => 'yes',
1210
- ],
1211
- ]
1212
- );
1213
-
1214
- $this->add_group_control(
1215
- Group_Control_Typography::get_type(),
1216
- [
1217
- 'name' => 'eael_product_grid_product_desc_typography',
1218
- 'selector' => '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product .eael-product-excerpt',
1219
- 'condition' => [
1220
- 'eael_product_grid_layout' => 'list',
1221
- 'eael_product_grid_excerpt' => 'yes',
1222
- ],
1223
- ]
1224
- );
1225
-
1226
- $this->add_control(
1227
- 'eael_product_grid_sale_badge_heading',
1228
- [
1229
- 'label' => __('Sale Badge', 'essential-addons-for-elementor-lite'),
1230
- 'type' => Controls_Manager::HEADING,
1231
- ]
1232
- );
1233
-
1234
- $this->add_control(
1235
- 'eael_product_grid_sale_badge_color',
1236
- [
1237
- 'label' => esc_html__('Sale Badge Color', 'essential-addons-for-elementor-lite'),
1238
- 'type' => Controls_Manager::COLOR,
1239
- 'default' => '#fff',
1240
- 'selectors' => [
1241
- '{{WRAPPER}} .woocommerce ul.products li.product .onsale, {{WRAPPER}} .woocommerce ul.products li.product .eael-onsale' => 'color: {{VALUE}};',
1242
- ],
1243
- ]
1244
- );
1245
-
1246
- $this->add_control(
1247
- 'eael_product_grid_sale_badge_background',
1248
- [
1249
- 'label' => esc_html__('Sale Badge Background', 'essential-addons-for-elementor-lite'),
1250
- 'type' => Controls_Manager::COLOR,
1251
- 'default' => '#ff2a13',
1252
- 'selectors' => [
1253
- '{{WRAPPER}} .woocommerce ul.products li.product .onsale, {{WRAPPER}} .woocommerce ul.products li.product .eael-onsale' => 'background-color: {{VALUE}};',
1254
- '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product .price ins, {{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product .eael-product-price ins' => 'color: {{VALUE}};',
1255
- '{{WRAPPER}} .woocommerce ul.products li.product .eael-onsale:not(.outofstock).sale-preset-4:after' => 'border-left-color: {{VALUE}}; border-right-color: {{VALUE}};',
1256
- ],
1257
- ]
1258
- );
1259
-
1260
- $this->add_group_control(
1261
- Group_Control_Typography::get_type(),
1262
- [
1263
- 'name' => 'eael_product_grid_sale_badge_typography',
1264
- 'selector' => '{{WRAPPER}} .woocommerce ul.products li.product .onsale, {{WRAPPER}} .woocommerce ul.products li.product .eael-onsale:not(.outofstock)',
1265
- ]
1266
- );
1267
 
1268
- // stock out badge
1269
  $this->add_control(
1270
- 'eael_product_grid_stock_out_badge_heading',
1271
  [
1272
- 'label' => __('Stock Out Badge', 'essential-addons-for-elementor-lite'),
1273
- 'type' => Controls_Manager::HEADING,
 
 
 
 
 
1274
  ]
1275
  );
1276
 
1277
- $this->add_control(
1278
- 'eael_product_grid_stock_out_badge_color',
1279
  [
1280
- 'label' => esc_html__('Stock Out Badge Color', 'essential-addons-for-elementor-lite'),
1281
- 'type' => Controls_Manager::COLOR,
1282
- 'default' => '#fff',
 
 
 
 
1283
  'selectors' => [
1284
- '{{WRAPPER}} .woocommerce ul.products li.product .outofstock-badge, {{WRAPPER}} .woocommerce ul.products li.product .eael-onsale.outofstock' => 'color: {{VALUE}};',
1285
- ],
 
 
 
 
1286
  ]
1287
  );
1288
 
1289
  $this->add_control(
1290
- 'eael_product_grid_stock_out_badge_background',
1291
  [
1292
- 'label' => esc_html__('Stock Out Badge Background', 'essential-addons-for-elementor-lite'),
1293
- 'type' => Controls_Manager::COLOR,
1294
- 'default' => '#ff2a13',
1295
- 'selectors' => [
1296
- '{{WRAPPER}} .woocommerce ul.products li.product .outofstock-badge, {{WRAPPER}} .woocommerce ul.products li.product .eael-onsale.outofstock' => 'background-color: {{VALUE}};',
1297
- '{{WRAPPER}} .woocommerce ul.products li.product .eael-onsale.outofstock.sale-preset-4:after' => 'border-left-color: {{VALUE}}; border-right-color: {{VALUE}};',
1298
- ],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1299
  ]
1300
  );
1301
 
1302
- $this->add_group_control(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1303
  Group_Control_Typography::get_type(),
1304
  [
1305
- 'name' => 'eael_product_grid_stock_out_badge_typography',
1306
- 'selector' => '{{WRAPPER}} .woocommerce ul.products li.product .outofstock-badge, {{WRAPPER}} .woocommerce ul.products li.product .eael-onsale.outofstock',
1307
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1308
  );
1309
 
1310
- $this->end_controls_section();
 
 
 
 
 
 
 
 
1311
 
1312
- // add to cart button
1313
- $this->start_controls_section(
1314
- 'eael_section_product_grid_add_to_cart_styles',
1315
  [
1316
- 'label' => esc_html__('Add to Cart Button Styles', 'essential-addons-for-elementor-lite'),
1317
- 'tab' => Controls_Manager::TAB_STYLE,
1318
- 'condition' => [
1319
- 'eael_product_grid_style_preset!' => [
1320
- 'eael-product-preset-5',
1321
- 'eael-product-preset-6',
1322
- 'eael-product-preset-7',
1323
- 'eael-product-preset-8',
1324
- ],
1325
- 'eael_product_grid_layout!' => 'list',
1326
- ],
1327
  ]
1328
  );
1329
 
1330
  $this->add_control(
1331
- 'eael_product_grid_add_to_cart_padding',
1332
  [
1333
- 'label' => __('Padding', 'essential-addons-for-elementor-lite'),
1334
- 'type' => Controls_Manager::DIMENSIONS,
1335
- 'size_units' => ['px', '%', 'em'],
1336
  'selectors' => [
1337
- '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.add_to_cart_button,
1338
- {{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link,
1339
- {{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1340
- ],
1341
- ]
1342
- );
1343
-
1344
- $this->add_control(
1345
- 'eael_product_grid_add_to_cart_radius',
1346
- [
1347
- 'label' => __('Radius', 'essential-addons-for-elementor-lite'),
1348
- 'type' => Controls_Manager::DIMENSIONS,
1349
- 'size_units' => ['px', '%', 'em'],
1350
- 'selectors' => [
1351
- '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.add_to_cart_button,
1352
- {{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link,
1353
- {{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1354
- ],
1355
- ]
1356
- );
1357
- $this->add_control(
1358
- 'eael_product_grid_add_to_cart_is_gradient_bg',
1359
- [
1360
- 'label' => __('Use Gradient Background', 'essential-addons-for-elementor-lite'),
1361
- 'type' => \Elementor\Controls_Manager::SWITCHER,
1362
- 'label_on' => __('Show', 'essential-addons-for-elementor-lite'),
1363
- 'label_off' => __('Hide', 'essential-addons-for-elementor-lite'),
1364
- 'return_value' => 'yes',
1365
- ]
1366
- );
1367
-
1368
- $this->start_controls_tabs( 'eael_product_grid_add_to_cart_style_tabs' );
1369
-
1370
- $this->start_controls_tab('normal', ['label' => esc_html__('Normal', 'essential-addons-for-elementor-lite')]);
1371
-
1372
- $this->add_control(
1373
- 'eael_product_grid_add_to_cart_color',
1374
- [
1375
- 'label' => esc_html__( 'Button Color', 'essential-addons-for-elementor-lite' ),
1376
- 'type' => Controls_Manager::COLOR,
1377
- 'default' => '#fff',
1378
- 'selectors' => [
1379
- '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.add_to_cart_button' => 'color: {{VALUE}};',
1380
- '{{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link' => 'color: {{VALUE}};',
1381
- '{{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart' => 'color: {{VALUE}};',
1382
- ],
1383
- ]
1384
- );
1385
-
1386
- $this->add_group_control(
1387
- \Elementor\Group_Control_Background::get_type(),
1388
- [
1389
- 'name' => 'eael_product_grid_add_to_cart_gradient_background',
1390
- 'label' => __('Background', 'essential-addons-for-elementor-lite'),
1391
- 'types' => ['classic', 'gradient'],
1392
- 'selector' => '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.add_to_cart_button,
1393
- {{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link,
1394
- {{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart',
1395
- 'condition' => [
1396
- 'eael_product_grid_add_to_cart_is_gradient_bg' => 'yes'
1397
- ]
1398
- ]
1399
- );
1400
-
1401
- $this->add_control(
1402
- 'eael_product_grid_add_to_cart_background',
1403
- [
1404
- 'label' => esc_html__('Background', 'essential-addons-for-elementor-lite'),
1405
- 'type' => Controls_Manager::COLOR,
1406
- 'default' => '#333',
1407
- 'selectors' => [
1408
- '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.add_to_cart_button' => 'background-color: {{VALUE}};',
1409
- '{{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link' => 'background-color: {{VALUE}};',
1410
- '{{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart' => 'background-color: {{VALUE}};',
1411
- ],
1412
- 'condition' => [
1413
- 'eael_product_grid_add_to_cart_is_gradient_bg' => ''
1414
- ]
1415
- ]
1416
- );
1417
-
1418
- $this->add_group_control(
1419
- Group_Control_Border::get_type(),
1420
- [
1421
- 'name' => 'eael_product_grid_add_to_cart_border',
1422
- 'selector' => '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.add_to_cart_button, {{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link, {{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart',
1423
- ]
1424
- );
1425
-
1426
- $this->add_group_control(
1427
- Group_Control_Typography::get_type(),
1428
- [
1429
- 'name' => 'eael_product_grid_add_to_cart_typography',
1430
- 'selector' => '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.add_to_cart_button',
1431
- 'condition' => [
1432
- 'eael_product_grid_style_preset' => ['eael-product-default', 'eael-product-simple'],
1433
- ],
1434
- ]
1435
- );
1436
-
1437
- $this->end_controls_tab();
1438
-
1439
- $this->start_controls_tab('eael_product_grid_add_to_cart_hover_styles', ['label' => esc_html__('Hover', 'essential-addons-for-elementor-lite')]);
1440
-
1441
- $this->add_control(
1442
- 'eael_product_grid_add_to_cart_hover_color',
1443
- [
1444
- 'label' => esc_html__( 'Button Color', 'essential-addons-for-elementor-lite' ),
1445
- 'type' => Controls_Manager::COLOR,
1446
- 'default' => '#fff',
1447
- 'selectors' => [
1448
- '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.add_to_cart_button:hover' => 'color: {{VALUE}};',
1449
- '{{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:hover' => 'color: {{VALUE}};',
1450
- '{{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:hover' => 'color: {{VALUE}};',
1451
- ],
1452
- ]
1453
- );
1454
- $this->add_group_control(
1455
- \Elementor\Group_Control_Background::get_type(),
1456
- [
1457
- 'name' => 'eael_product_grid_add_to_cart_hover_gradient_background',
1458
- 'label' => __('Background', 'essential-addons-for-elementor-lite'),
1459
- 'types' => ['classic', 'gradient'],
1460
- 'selector' => '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.add_to_cart_button:hover,
1461
- {{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:hover,
1462
- {{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:hover',
1463
- 'condition' => [
1464
- 'eael_product_grid_add_to_cart_is_gradient_bg' => 'yes'
1465
- ]
1466
  ]
1467
  );
 
1468
  $this->add_control(
1469
- 'eael_product_grid_add_to_cart_hover_background',
1470
  [
1471
- 'label' => esc_html__('Background', 'essential-addons-for-elementor-lite'),
1472
- 'type' => Controls_Manager::COLOR,
1473
- 'default' => '#333',
1474
  'selectors' => [
1475
- '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.add_to_cart_button:hover' => 'background-color: {{VALUE}};',
1476
- '{{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:hover' => 'background-color: {{VALUE}};',
1477
- '{{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:hover' => 'background-color: {{VALUE}};',
1478
- ],
1479
- 'condition' => [
1480
- 'eael_product_grid_add_to_cart_is_gradient_bg' => '',
1481
- ],
1482
  ]
1483
  );
1484
 
1485
  $this->add_control(
1486
- 'eael_product_grid_add_to_cart_hover_border_color',
1487
  [
1488
- 'label' => esc_html__('Border Color', 'essential-addons-for-elementor-lite'),
1489
- 'type' => Controls_Manager::COLOR,
1490
- 'default' => '',
1491
  'selectors' => [
1492
- '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.add_to_cart_button:hover' => 'border-color: {{VALUE}};',
1493
- '{{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:hover' => 'border-color: {{VALUE}};',
1494
- '{{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:hover' => 'border-color: {{VALUE}};',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1495
  ],
1496
  ]
1497
  );
@@ -1500,1353 +2607,258 @@ class Product_Grid extends Widget_Base {
1500
 
1501
  $this->end_controls_tabs();
1502
 
1503
- $this->end_controls_section();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1504
 
1505
- /**
1506
- * Action Button Controls!
1507
- */
1508
- $this->eael_product_action_buttons();
 
 
 
 
 
 
1509
 
1510
- /**
1511
- * Action Button Style Controls!
1512
- */
1513
- $this->eael_product_action_buttons_style();
 
 
 
 
 
 
1514
 
1515
- /**
1516
- * Load More Button Style Controls!
1517
- */
1518
- do_action('eael/controls/load_more_button_style', $this);
1519
-
1520
- /**
1521
- * Pagination Style Controls!
1522
- */
1523
- $this->eael_product_pagination_style();
1524
-
1525
- /**
1526
- * Pagination Style Controls!
1527
- */
1528
- $this->eael_product_view_popup_style();
1529
-
1530
- }
1531
-
1532
- protected function eael_product_badges(){
1533
- $this->start_controls_section(
1534
- 'eael_section_product_badges',
1535
- [
1536
- 'label' => esc_html__( 'Sale / Stock Out Badge', 'essential-addons-for-elementor-lite' ),
1537
- 'conditions' => [
1538
- 'relation' => 'and',
1539
- 'terms' => [
1540
- [
1541
- 'name' => 'eael_product_grid_layout',
1542
- 'operator' => '!=',
1543
- 'value' => [
1544
- 'grid',
1545
- 'list',
1546
- 'masonry',
1547
- ],
1548
- ],
1549
- [
1550
- 'name' => 'eael_product_grid_style_preset',
1551
- 'operator' => '!in',
1552
- 'value' => [
1553
- 'eael-product-default',
1554
- 'eael-product-simple',
1555
- 'eael-product-reveal',
1556
- 'eael-product-overlay',
1557
- ]
1558
- ],
1559
- ],
1560
- ],
1561
- ]
1562
- );
1563
- $this->add_control(
1564
- 'eael_product_sale_badge_preset',
1565
- [
1566
- 'label' => esc_html__( 'Style Preset', 'essential-addons-for-elementor-lite' ),
1567
- 'type' => Controls_Manager::SELECT,
1568
- 'default' => 'sale-preset-1',
1569
- 'options' => [
1570
- 'sale-preset-1' => esc_html__( 'Preset 1', 'essential-addons-for-elementor-lite' ),
1571
- 'sale-preset-2' => esc_html__( 'Preset 2', 'essential-addons-for-elementor-lite' ),
1572
- 'sale-preset-3' => esc_html__( 'Preset 3', 'essential-addons-for-elementor-lite' ),
1573
- 'sale-preset-4' => esc_html__( 'Preset 4', 'essential-addons-for-elementor-lite' ),
1574
- 'sale-preset-5' => esc_html__( 'Preset 5', 'essential-addons-for-elementor-lite' ),
1575
-
1576
- ]
1577
- ]
1578
- );
1579
-
1580
- $this->add_responsive_control(
1581
- 'eael_product_sale_badge_alignment',
1582
- [
1583
- 'label' => __('Alignment', 'essential-addons-for-elementor-lite'),
1584
- 'type' => Controls_Manager::CHOOSE,
1585
- 'options' => [
1586
- 'left' => [
1587
- 'title' => __('Left', 'essential-addons-for-elementor-lite'),
1588
- 'icon' => 'fa fa-align-left',
1589
- ],
1590
- 'right' => [
1591
- 'title' => __('Right', 'essential-addons-for-elementor-lite'),
1592
- 'icon' => 'fa fa-align-right',
1593
- ],
1594
- ],
1595
- 'condition' => [
1596
- 'eael_product_grid_layout!' => 'list',
1597
- ],
1598
- ]
1599
- );
1600
-
1601
- $this->end_controls_section();
1602
- }
1603
-
1604
- protected function eael_product_action_buttons(){
1605
- $this->start_controls_section(
1606
- 'eael_section_product_action_buttons',
1607
- [
1608
- 'label' => esc_html__( 'Buttons', 'essential-addons-for-elementor-lite' ),
1609
- 'conditions' => [
1610
- 'relation' => 'or',
1611
- 'terms' => [
1612
- [
1613
- 'name' => 'eael_product_grid_style_preset',
1614
- 'operator' => 'in',
1615
- 'value' => [
1616
- 'eael-product-preset-5',
1617
- 'eael-product-preset-6',
1618
- 'eael-product-preset-7',
1619
- 'eael-product-preset-8',
1620
- ],
1621
- ],
1622
- [
1623
- 'name' => 'eael_product_grid_layout',
1624
- 'operator' => '==',
1625
- 'value' => 'list'
1626
- ]
1627
- ],
1628
- ],
1629
- ]
1630
- );
1631
-
1632
- $this->add_control(
1633
- 'eael_product_grid_quick_view',
1634
- [
1635
- 'label' => esc_html__( 'Show Quick view?', 'essential-addons-for-elementor-lite' ),
1636
- 'type' => Controls_Manager::SWITCHER,
1637
- 'return_value' => 'yes',
1638
- 'default' => 'yes',
1639
- 'separator' => 'after',
1640
- ]
1641
- );
1642
-
1643
- $this->add_control(
1644
- 'eael_product_action_buttons_preset',
1645
- [
1646
- 'label' => esc_html__( 'Style Preset', 'essential-addons-for-elementor-lite' ),
1647
- 'type' => Controls_Manager::SELECT,
1648
- 'default' => 'details-block-style',
1649
- 'options' => [
1650
- 'details-block-style' => esc_html__( 'Preset 1', 'essential-addons-for-elementor-lite' ),
1651
- 'details-block-style-2' => esc_html__( 'Preset 2', 'essential-addons-for-elementor-lite' ),
1652
- ],
1653
- 'condition' => [
1654
- 'eael_product_grid_layout' => 'list',
1655
- ],
1656
- ]
1657
- );
1658
-
1659
- $this->end_controls_section();
1660
- }
1661
-
1662
- protected function eael_product_action_buttons_style(){
1663
- $this->start_controls_section(
1664
- 'eael_section_product_grid_buttons_styles',
1665
- [
1666
- 'label' => esc_html__( 'Button', 'essential-addons-for-elementor-lite' ),
1667
- 'tab' => Controls_Manager::TAB_STYLE,
1668
- 'conditions' => [
1669
- 'relation' => 'or',
1670
- 'terms' => [
1671
- [
1672
- 'name' => 'eael_product_grid_style_preset',
1673
- 'operator' => 'in',
1674
- 'value' => [
1675
- 'eael-product-preset-5',
1676
- 'eael-product-preset-6',
1677
- 'eael-product-preset-7',
1678
- 'eael-product-preset-8',
1679
- ],
1680
- ],
1681
- [
1682
- 'name' => 'eael_product_grid_layout',
1683
- 'operator' => '==',
1684
- 'value' => 'list'
1685
- ]
1686
- ],
1687
- ],
1688
- ]
1689
- );
1690
-
1691
- $this->add_control(
1692
- 'eael_product_grid_buttons_preset5_background',
1693
- [
1694
- 'label' => esc_html__( 'Background Color', 'essential-addons-for-elementor-lite' ),
1695
- 'type' => Controls_Manager::COLOR,
1696
- 'default' => '#8040FF',
1697
- 'selectors' => [
1698
- '{{WRAPPER}} .eael-product-grid .eael-product-wrap .icons-wrap.block-style' => 'background: {{VALUE}};',
1699
- ],
1700
- 'conditions' => [
1701
- 'relation' => 'and',
1702
- 'terms' => [
1703
- [
1704
- 'name' => 'eael_product_grid_layout',
1705
- 'operator' => 'in',
1706
- 'value' => [
1707
- 'grid',
1708
- 'masonry',
1709
- ],
1710
- ],
1711
- [
1712
- 'name' => 'eael_product_grid_style_preset',
1713
- 'operator' => '==',
1714
- 'value' => 'eael-product-preset-5',
1715
- ],
1716
- ],
1717
- ],
1718
- ]
1719
- );
1720
-
1721
- $this->add_control(
1722
- 'eael_product_grid_buttons_icon_size',
1723
- [
1724
- 'label' => esc_html__('Icons Size', 'essential-addons-for-elementor-lite'),
1725
- 'type' => Controls_Manager::SLIDER,
1726
- 'range' => [
1727
- 'px' => [
1728
- 'max' => 50,
1729
- ],
1730
- ],
1731
- 'default' => [
1732
- 'size' => 18,
1733
- ],
1734
- 'selectors' => [
1735
- '{{WRAPPER}} .eael-product-grid.list .eael-product-wrap .icons-wrap li a i' => 'font-size: {{SIZE}}px;',
1736
- ],
1737
- 'condition' => [
1738
- 'eael_product_grid_layout' => 'list',
1739
- ],
1740
- ]
1741
- );
1742
-
1743
-
1744
-
1745
- $this->add_group_control(
1746
- Group_Control_Typography::get_type(),
1747
- [
1748
- 'name' => 'eael_product_grid_buttons_typography',
1749
- 'selector' => '{{WRAPPER}} .eael-product-grid .icons-wrap li.add-to-cart a',
1750
- ]
1751
- );
1752
-
1753
- $this->add_control(
1754
- 'eael_product_grid_buttons_preset5_border_color',
1755
- [
1756
- 'label' => esc_html__( 'Border Color', 'essential-addons-for-elementor-lite' ),
1757
- 'type' => Controls_Manager::COLOR,
1758
- 'default' => '#fff',
1759
- 'selectors' => [
1760
- '{{WRAPPER}} .eael-product-grid .icons-wrap.block-style li' => 'border-color: {{VALUE}};',
1761
- ],
1762
- 'conditions' => [
1763
- 'relation' => 'and',
1764
- 'terms' => [
1765
- [
1766
- 'name' => 'eael_product_grid_layout',
1767
- 'operator' => 'in',
1768
- 'value' => [
1769
- 'grid',
1770
- 'masonry',
1771
- ],
1772
- ],
1773
- [
1774
- 'name' => 'eael_product_grid_style_preset',
1775
- 'operator' => '==',
1776
- 'value' => 'eael-product-preset-5',
1777
- ],
1778
- ],
1779
- ],
1780
- ]
1781
- );
1782
-
1783
- $this->start_controls_tabs( 'eael_product_grid_buttons_style_tabs' );
1784
-
1785
- $this->start_controls_tab( 'eael_product_grid_buttons_style_tabs_normal', [ 'label' => esc_html__( 'Normal', 'essential-addons-for-elementor-lite' ) ] );
1786
-
1787
- $this->add_control(
1788
- 'eael_product_grid_buttons_color',
1789
- [
1790
- 'label' => esc_html__( 'Color', 'essential-addons-for-elementor-lite' ),
1791
- 'type' => Controls_Manager::COLOR,
1792
- 'default' => '#fff',
1793
- 'selectors' => [
1794
- '{{WRAPPER}} .eael-product-grid .eael-product-wrap .icons-wrap li a' => 'color: {{VALUE}};',
1795
- ],
1796
- ]
1797
- );
1798
-
1799
- $this->add_control(
1800
- 'eael_product_grid_buttons_background',
1801
- [
1802
- 'label' => esc_html__( 'Background Color', 'essential-addons-for-elementor-lite' ),
1803
- 'type' => Controls_Manager::COLOR,
1804
- 'default' => '#8040FF',
1805
- 'selectors' => [
1806
- '{{WRAPPER}} .eael-product-grid .eael-product-wrap .icons-wrap li a' => 'background-color: {{VALUE}};',
1807
- ],
1808
- 'conditions' => [
1809
- 'relation' => 'or',
1810
- 'terms' => [
1811
- [
1812
- 'name' => 'eael_product_grid_style_preset',
1813
- 'operator' => '!==',
1814
- 'value' => 'eael-product-preset-5'
1815
- ],
1816
- [
1817
- 'name' => 'eael_product_grid_layout',
1818
- 'operator' => '==',
1819
- 'value' => 'list'
1820
- ]
1821
- ],
1822
- ],
1823
- ]
1824
- );
1825
-
1826
- $this->add_group_control(
1827
- Group_Control_Border::get_type(),
1828
- [
1829
- 'name' => 'eael_product_grid_buttons_border',
1830
- 'selector' => '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.add_to_cart_button, {{WRAPPER}} .eael-product-grid .eael-product-wrap .icons-wrap li a',
1831
- 'conditions' => [
1832
- 'relation' => 'or',
1833
- 'terms' => [
1834
- [
1835
- 'name' => 'eael_product_grid_style_preset',
1836
- 'operator' => '!==',
1837
- 'value' => 'eael-product-preset-5'
1838
- ],
1839
- [
1840
- 'name' => 'eael_product_action_buttons_preset',
1841
- 'operator' => '==',
1842
- 'value' => 'details-block-style-2'
1843
- ]
1844
- ],
1845
- ],
1846
- ]
1847
- );
1848
- $this->add_control(
1849
- 'eael_product_grid_buttons_border_radius',
1850
- [
1851
- 'label' => esc_html__('Border Radius', 'essential-addons-for-elementor-lite'),
1852
- 'type' => Controls_Manager::SLIDER,
1853
- 'range' => [
1854
- 'px' => [
1855
- 'max' => 100,
1856
- ],
1857
- ],
1858
- 'default' => [
1859
- 'size' => 3,
1860
- ],
1861
- 'selectors' => [
1862
- '{{WRAPPER}} .eael-product-grid .eael-product-wrap .icons-wrap:not(.details-block-style-2) li a' => 'border-radius: {{SIZE}}px;',
1863
- '{{WRAPPER}} .eael-product-grid .eael-product-wrap .icons-wrap.details-block-style-2 li:only-child a' => 'border-radius: {{SIZE}}px!important;',
1864
- '{{WRAPPER}} .eael-product-grid .eael-product-wrap .icons-wrap.details-block-style-2 li:first-child a' => 'border-radius: {{SIZE}}px 0 0 {{SIZE}}px;',
1865
- '{{WRAPPER}} .eael-product-grid .eael-product-wrap .icons-wrap.details-block-style-2 li:last-child a' => 'border-radius: 0 {{SIZE}}px {{SIZE}}px 0;',
1866
- ],
1867
- ]
1868
- );
1869
-
1870
- $this->add_control(
1871
- 'eael_product_grid_buttons_top_spacing',
1872
- [
1873
- 'label' => esc_html__('Top Spacing', 'essential-addons-for-elementor-lite'),
1874
- 'type' => Controls_Manager::SLIDER,
1875
- 'range' => [
1876
- 'px' => [
1877
- 'max' => 100,
1878
- ],
1879
- ],
1880
- 'selectors' => [
1881
- '{{WRAPPER}} .eael-product-grid .eael-product-wrap .icons-wrap' => 'margin-top: {{SIZE}}px;',
1882
- ],
1883
- 'condition' => [
1884
- 'eael_product_grid_layout' => 'list',
1885
- ],
1886
- ]
1887
- );
1888
-
1889
- $this->end_controls_tab();
1890
-
1891
- $this->start_controls_tab( 'eael_product_grid_buttons_hover_styles', [ 'label' => esc_html__( 'Hover', 'essential-addons-for-elementor-lite' ) ] );
1892
-
1893
- $this->add_control(
1894
- 'eael_product_grid_buttons_hover_color',
1895
- [
1896
- 'label' => esc_html__( 'Color', 'essential-addons-for-elementor-lite' ),
1897
- 'type' => Controls_Manager::COLOR,
1898
- 'default' => '#F5EAFF',
1899
- 'selectors' => [
1900
- '{{WRAPPER}} .eael-product-grid .eael-product-wrap .icons-wrap li a:hover' => 'color: {{VALUE}};',
1901
- ],
1902
- ]
1903
- );
1904
-
1905
- $this->add_control(
1906
- 'eael_product_grid_buttons_hover_background',
1907
- [
1908
- 'label' => esc_html__( 'Background Color', 'essential-addons-for-elementor-lite' ),
1909
- 'type' => Controls_Manager::COLOR,
1910
- 'default' => '#333',
1911
- 'selectors' => [
1912
- '{{WRAPPER}} .eael-product-grid .eael-product-wrap .icons-wrap li a:hover' => 'background-color: {{VALUE}};',
1913
- ],
1914
- 'conditions' => [
1915
- 'relation' => 'or',
1916
- 'terms' => [
1917
- [
1918
- 'name' => 'eael_product_grid_style_preset',
1919
- 'operator' => '!==',
1920
- 'value' => 'eael-product-preset-5'
1921
- ],
1922
- [
1923
- 'name' => 'eael_product_action_buttons_preset',
1924
- 'operator' => '!==',
1925
- 'value' => 'details-block-style-2'
1926
- ]
1927
- ]
1928
- ],
1929
- ]
1930
- );
1931
-
1932
- $this->add_control(
1933
- 'eael_product_grid_buttons_hover_border_color',
1934
- [
1935
- 'label' => esc_html__( 'Border Color', 'essential-addons-for-elementor-lite' ),
1936
- 'type' => Controls_Manager::COLOR,
1937
- 'default' => '',
1938
- 'selectors' => [
1939
- '{{WRAPPER}} .eael-product-grid .eael-product-wrap .icons-wrap li a:hover' => 'border-color: {{VALUE}};',
1940
- ],
1941
- 'condition' => [
1942
- 'eael_product_grid_buttons_border_border!' => '',
1943
- 'eael_product_grid_style_preset!' => 'eael-product-preset-5',
1944
- ],
1945
- ]
1946
- );
1947
-
1948
- $this->end_controls_tab();
1949
-
1950
- $this->end_controls_tabs();
1951
-
1952
- $this->end_controls_section();
1953
- }
1954
-
1955
- protected function eael_product_pagination() {
1956
-
1957
- $this->start_controls_section(
1958
- 'eael_product_grid_pagination_section',
1959
- [
1960
- 'label' => __( 'Pagination', 'essential-addons-for-elementor-lite' ),
1961
- 'tab' => Controls_Manager::TAB_CONTENT,
1962
- 'condition' => [
1963
- 'eael_product_grid_layout' => ['grid', 'list'],
1964
- ],
1965
- ]
1966
- );
1967
-
1968
- $this->add_control(
1969
- 'show_pagination',
1970
- [
1971
- 'label' => __( 'Show pagination', 'essential-addons-for-elementor-lite' ),
1972
- 'type' => Controls_Manager::SWITCHER,
1973
- 'label_on' => __( 'Show', 'essential-addons-for-elementor-lite' ),
1974
- 'label_off' => __( 'Hide', 'essential-addons-for-elementor-lite' ),
1975
- 'return_value' => 'true',
1976
- 'default' => '',
1977
- ]
1978
- );
1979
-
1980
- $this->add_control(
1981
- 'pagination_prev_label',
1982
- [
1983
- 'label' => __( 'Previous Label', 'essential-addons-for-elementor-lite' ),
1984
- 'default' => __( '←', 'essential-addons-for-elementor-lite' ),
1985
- 'condition' => [
1986
- 'show_pagination' => 'true',
1987
- ]
1988
- ]
1989
- );
1990
-
1991
- $this->add_control(
1992
- 'pagination_next_label',
1993
- [
1994
- 'label' => __( 'Next Label', 'essential-addons-for-elementor-lite' ),
1995
- 'default' => __( '→', 'essential-addons-for-elementor-lite' ),
1996
- 'condition' => [
1997
- 'show_pagination' => 'true',
1998
- ]
1999
- ]
2000
- );
2001
-
2002
- $this->end_controls_section();
2003
- }
2004
-
2005
- protected function eael_product_pagination_style()
2006
- {
2007
- $this->start_controls_section(
2008
- 'eael_section_product_pagination_style',
2009
- [
2010
- 'label' => __('Pagination', 'essential-addons-for-elementor-lite'),
2011
- 'tab' => Controls_Manager::TAB_STYLE,
2012
- 'condition' =>[
2013
- 'show_pagination' => 'true',
2014
- 'eael_product_grid_layout' => ['grid', 'list'],
2015
- ],
2016
- ]
2017
- );
2018
-
2019
- $this->add_responsive_control(
2020
- 'eael_product_grid_pagination_alignment',
2021
- [
2022
- 'label' => __('Alignment', 'essential-addons-for-elementor-lite'),
2023
- 'type' => Controls_Manager::CHOOSE,
2024
- 'options' => [
2025
- 'left' => [
2026
- 'title' => __('Left', 'essential-addons-for-elementor-lite'),
2027
- 'icon' => 'fa fa-align-left',
2028
- ],
2029
- 'center' => [
2030
- 'title' => __('Center', 'essential-addons-for-elementor-lite'),
2031
- 'icon' => 'fa fa-align-center',
2032
- ],
2033
- 'right' => [
2034
- 'title' => __('Right', 'essential-addons-for-elementor-lite'),
2035
- 'icon' => 'fa fa-align-right',
2036
- ],
2037
- ],
2038
- 'default' => 'center',
2039
- 'selectors' => [
2040
- '{{WRAPPER}} .eael-woo-pagination' => 'text-align: {{VALUE}};',
2041
- ],
2042
- ]
2043
- );
2044
-
2045
- $this->add_responsive_control(
2046
- 'eael_product_grid_pagination_top_spacing',
2047
- [
2048
- 'label' => esc_html__('Top Spacing', 'essential-addons-for-elementor-lite'),
2049
- 'type' => Controls_Manager::SLIDER,
2050
- 'range' => [
2051
- 'px' => [
2052
- 'max' => 100,
2053
- ],
2054
- ],
2055
- 'default' => [
2056
- 'size' => 15,
2057
- ],
2058
- 'selectors' => [
2059
- '{{WRAPPER}} .eael-woo-pagination' => 'margin-top: {{SIZE}}px;',
2060
- ],
2061
- ]
2062
- );
2063
-
2064
- $this->add_group_control(
2065
- Group_Control_Typography::get_type(),
2066
- [
2067
- 'name' => 'eael_product_grid_pagination_typography',
2068
- 'selector' => '{{WRAPPER}} .eael-woo-pagination',
2069
- ]
2070
- );
2071
-
2072
- $this->start_controls_tabs('eael_product_grid_pagination_tabs');
2073
-
2074
- // Normal State Tab
2075
- $this->start_controls_tab('eael_product_grid_pagination_normal', ['label' => esc_html__('Normal', 'essential-addons-for-elementor-lite')]);
2076
-
2077
- $this->add_control(
2078
- 'eael_product_grid_pagination_normal_text_color',
2079
- [
2080
- 'label' => esc_html__('Text Color', 'essential-addons-for-elementor-lite'),
2081
- 'type' => Controls_Manager::COLOR,
2082
- 'default' => '#2F436C',
2083
- 'selectors' => [
2084
- '{{WRAPPER}} .eael-woo-pagination a' => 'color: {{VALUE}};',
2085
- ],
2086
- ]
2087
- );
2088
-
2089
- $this->add_control(
2090
- 'eael_product_grid_pagination_normal_bg_color',
2091
- [
2092
- 'label' => esc_html__('Background Color', 'essential-addons-for-elementor-lite'),
2093
- 'type' => Controls_Manager::COLOR,
2094
- 'default' => '#fff',
2095
- 'selectors' => [
2096
- '{{WRAPPER}} .eael-woo-pagination a' => 'background: {{VALUE}};',
2097
- ],
2098
- ]
2099
- );
2100
-
2101
- $this->add_group_control(
2102
- Group_Control_Border::get_type(),
2103
- [
2104
- 'name' => 'eael_product_grid_pagination_normal_border',
2105
- 'label' => esc_html__('Border', 'essential-addons-for-elementor-lite'),
2106
- 'selector' => '{{WRAPPER}} .eael-woo-pagination a, {{WRAPPER}} .eael-woo-pagination span',
2107
- ]
2108
- );
2109
-
2110
- $this->end_controls_tab();
2111
-
2112
- // Hover State Tab
2113
- $this->start_controls_tab('eael_product_grid_pagination_hover', ['label' => esc_html__('Hover', 'essential-addons-for-elementor-lite')]);
2114
-
2115
- $this->add_control(
2116
- 'eael_product_grid_pagination_hover_text_color',
2117
- [
2118
- 'label' => esc_html__('Text Color', 'essential-addons-for-elementor-lite'),
2119
- 'type' => Controls_Manager::COLOR,
2120
- 'default' => '#fff',
2121
- 'selectors' => [
2122
- '{{WRAPPER}} .eael-woo-pagination a:hover' => 'color: {{VALUE}};',
2123
- ],
2124
- ]
2125
- );
2126
-
2127
- $this->add_control(
2128
- 'eael_product_grid_pagination_hover_bg_color',
2129
- [
2130
- 'label' => esc_html__('Background Color', 'essential-addons-for-elementor-lite'),
2131
- 'type' => Controls_Manager::COLOR,
2132
- 'default' => '#8040FF',
2133
- 'selectors' => [
2134
- '{{WRAPPER}} .eael-woo-pagination a:hover' => 'background: {{VALUE}};',
2135
- ],
2136
- ]
2137
- );
2138
-
2139
- $this->add_control(
2140
- 'eael_product_grid_pagination_hover_border_color',
2141
- [
2142
- 'label' => esc_html__('Border Color', 'essential-addons-for-elementor-lite'),
2143
- 'type' => Controls_Manager::COLOR,
2144
- 'default' => '',
2145
- 'selectors' => [
2146
- '{{WRAPPER}} .eael-woo-pagination a:hover' => 'border-color: {{VALUE}};',
2147
- ],
2148
- 'condition' => [
2149
- 'eael_product_grid_pagination_normal_border_border!' => '',
2150
- ]
2151
- ]
2152
-
2153
- );
2154
- $this->end_controls_tab();
2155
-
2156
- // Active State Tab
2157
- $this->start_controls_tab('eael_product_grid_pagination_active', ['label' => esc_html__('Active', 'essential-addons-for-elementor-lite')]);
2158
-
2159
- $this->add_control(
2160
- 'eael_product_grid_pagination_hover_text_active',
2161
- [
2162
- 'label' => esc_html__('Text Color', 'essential-addons-for-elementor-lite'),
2163
- 'type' => Controls_Manager::COLOR,
2164
- 'default' => '#fff',
2165
- 'selectors' => [
2166
- '{{WRAPPER}} .eael-woo-pagination .current' => 'color: {{VALUE}};',
2167
- ],
2168
- ]
2169
- );
2170
-
2171
- $this->add_control(
2172
- 'eael_product_grid_pagination_active_bg_color',
2173
- [
2174
- 'label' => esc_html__('Background Color', 'essential-addons-for-elementor-lite'),
2175
- 'type' => Controls_Manager::COLOR,
2176
- 'default' => '#8040FF',
2177
- 'selectors' => [
2178
- '{{WRAPPER}} .eael-woo-pagination .current' => 'background: {{VALUE}};',
2179
- ],
2180
- ]
2181
- );
2182
-
2183
- $this->add_control(
2184
- 'eael_product_grid_pagination_active_border_color',
2185
- [
2186
- 'label' => esc_html__('Border Color', 'essential-addons-for-elementor-lite'),
2187
- 'type' => Controls_Manager::COLOR,
2188
- 'default' => '',
2189
- 'selectors' => [
2190
- '{{WRAPPER}} .eael-woo-pagination .current' => 'border-color: {{VALUE}};',
2191
- ],
2192
- 'condition' => [
2193
- 'eael_product_grid_pagination_normal_border_border!' => '',
2194
- ]
2195
- ]
2196
-
2197
- );
2198
- $this->end_controls_tab();
2199
-
2200
- $this->end_controls_tabs();
2201
-
2202
- $this->add_control(
2203
- 'eael_product_grid_pagination_border_radius',
2204
- [
2205
- 'label' => esc_html__('Border Radius', 'essential-addons-for-elementor-lite'),
2206
- 'type' => Controls_Manager::SLIDER,
2207
- 'range' => [
2208
- 'px' => [
2209
- 'max' => 100,
2210
- ],
2211
- ],
2212
- 'selectors' => [
2213
- '{{WRAPPER}} .eael-woo-pagination li > *' => 'border-radius: {{SIZE}}px;',
2214
- ],
2215
- ]
2216
- );
2217
-
2218
- // Pagination Loader
2219
- $this->add_control(
2220
- 'eael_product_pagination_loader',
2221
- [
2222
- 'label' => __('Loader', 'essential-addons-for-elementor-lite'),
2223
- 'type' => Controls_Manager::HEADING,
2224
- 'separator' => 'before',
2225
- ]
2226
- );
2227
-
2228
- $this->add_control(
2229
- 'eael_product_pagination_loader_color',
2230
- [
2231
- 'label' => __('Color', 'essential-addons-for-elementor-lite'),
2232
- 'type' => Controls_Manager::COLOR,
2233
- 'default' => '#000',
2234
- 'selectors' => [
2235
- '{{WRAPPER}}.eael-product-loader::after' => 'border-left-color: {{VALUE}};',
2236
- ],
2237
- ]
2238
- );
2239
-
2240
- $this->end_controls_section();
2241
- }
2242
-
2243
- protected function eael_product_view_popup_style(){
2244
- $this->start_controls_section(
2245
- 'eael_product_popup',
2246
- [
2247
- 'label' => __('Popup', 'essential-addons-for-elementor-lite'),
2248
- 'tab' => Controls_Manager::TAB_STYLE,
2249
- ]
2250
- );
2251
-
2252
- $this->add_control(
2253
- 'eael_product_popup_title',
2254
- [
2255
- 'label' => __('Title', 'essential-addons-for-elementor-lite'),
2256
- 'type' => Controls_Manager::HEADING,
2257
- ]
2258
- );
2259
-
2260
- $this->add_group_control(
2261
- Group_Control_Typography::get_type(),
2262
- [
2263
- 'name' => 'eael_product_popup_title_typography',
2264
- 'label' => __('Typography', 'essential-addons-for-elementor-lite'),
2265
- 'selector' => '{{WRAPPER}} .eael-product-popup.woocommerce div.product .product_title',
2266
- ]
2267
- );
2268
-
2269
- $this->add_control(
2270
- 'eael_product_popup_title_color',
2271
- [
2272
- 'label' => __('Title Color', 'essential-addons-for-elementor-lite'),
2273
- 'type' => Controls_Manager::COLOR,
2274
- 'default' => '#252525',
2275
- 'selectors' => [
2276
- '{{WRAPPER}} .eael-product-popup h1.product_title.entry-title' => 'color: {{VALUE}};',
2277
- ],
2278
- ]
2279
- );
2280
-
2281
- $this->add_control(
2282
- 'eael_product_popup_price',
2283
- [
2284
- 'label' => __('Price', 'essential-addons-for-elementor-lite'),
2285
- 'type' => Controls_Manager::HEADING,
2286
- 'separator' => 'before',
2287
- ]
2288
- );
2289
-
2290
- $this->add_group_control(
2291
- Group_Control_Typography::get_type(),
2292
- [
2293
- 'name' => 'eael_product_popup_price_typography',
2294
- 'label' => __('Typography', 'essential-addons-for-elementor-lite'),
2295
- 'selector' => '{{WRAPPER}} .eael-product-popup.woocommerce div.product .price',
2296
- ]
2297
- );
2298
-
2299
- $this->add_control(
2300
- 'eael_product_popup_price_color',
2301
- [
2302
- 'label' => __('Price Color', 'essential-addons-for-elementor-lite'),
2303
- 'type' => Controls_Manager::COLOR,
2304
- 'default' => '#0242e4',
2305
- 'selectors' => [
2306
- '{{WRAPPER}} .eael-product-popup.woocommerce div.product .price' => 'color: {{VALUE}}!important;',
2307
- ],
2308
- ]
2309
- );
2310
-
2311
- $this->add_control(
2312
- 'eael_product_popup_sale_price_color',
2313
- [
2314
- 'label' => __('Sale Price Color', 'essential-addons-for-elementor-lite'),
2315
- 'type' => Controls_Manager::COLOR,
2316
- 'default' => '#ff2a13',
2317
- 'selectors' => [
2318
- '{{WRAPPER}} .eael-product-popup.woocommerce div.product .price ins' => 'color: {{VALUE}}!important;',
2319
- ],
2320
- ]
2321
- );
2322
-
2323
- $this->add_control(
2324
- 'eael_product_popup_content',
2325
- [
2326
- 'label' => __('Content', 'essential-addons-for-elementor-lite'),
2327
- 'type' => Controls_Manager::HEADING,
2328
- 'separator' => 'before',
2329
- ]
2330
- );
2331
-
2332
- $this->add_group_control(
2333
- Group_Control_Typography::get_type(),
2334
- [
2335
- 'name' => 'eael_product_popup_content_typography',
2336
- 'label' => __('Typography', 'essential-addons-for-elementor-lite'),
2337
- 'selector' => '{{WRAPPER}} .eael-product-popup.woocommerce div.product .woocommerce-product-details__short-description',
2338
- ]
2339
- );
2340
-
2341
- $this->add_control(
2342
- 'eael_product_popup_content_color',
2343
- [
2344
- 'label' => __('Content Color', 'essential-addons-for-elementor-lite'),
2345
- 'type' => Controls_Manager::COLOR,
2346
- 'default' => '#707070',
2347
- 'selectors' => [
2348
- '{{WRAPPER}} .eael-product-popup .woocommerce-product-details__short-description' => 'color: {{VALUE}};',
2349
- ],
2350
- ]
2351
- );
2352
-
2353
- $this->add_control(
2354
- 'eael_product_popup_review_link_color',
2355
- [
2356
- 'label' => __('Review Link Color', 'essential-addons-for-elementor-lite'),
2357
- 'type' => Controls_Manager::COLOR,
2358
- 'default' => '#ccc',
2359
- 'selectors' => [
2360
- '{{WRAPPER}} .eael-product-popup .product_meta a.woocommerce-review-link, {{WRAPPER}} .eael-product-popup .product_meta a' => 'color: {{VALUE}};',
2361
- ],
2362
- ]
2363
- );
2364
- $this->add_control(
2365
- 'eael_product_popup_review_link_hover',
2366
- [
2367
- 'label' => __('Review Link Hover', 'essential-addons-for-elementor-lite'),
2368
- 'type' => Controls_Manager::COLOR,
2369
- 'default' => '#ccc',
2370
- 'selectors' => [
2371
- '{{WRAPPER}} .eael-product-popup .product_meta a.woocommerce-review-link:hover, {{WRAPPER}} .eael-product-popup .product_meta a:hover' => 'color: {{VALUE}};',
2372
- ],
2373
- ]
2374
- );
2375
-
2376
- $this->add_control(
2377
- 'eael_product_popup_table_border_color',
2378
- [
2379
- 'label' => __('Border Color', 'essential-addons-for-elementor-lite'),
2380
- 'type' => Controls_Manager::COLOR,
2381
- 'default' => '#ccc',
2382
- 'selectors' => [
2383
- '{{WRAPPER}} .eael-product-popup.woocommerce div.product table tbody tr, {{WRAPPER}} .eael-product-popup.woocommerce div.product .product_meta' => 'border-color: {{VALUE}};',
2384
- ],
2385
- ]
2386
- );
2387
-
2388
- // Sale
2389
- $this->add_control(
2390
- 'eael_product_popup_sale_style',
2391
- [
2392
- 'label' => __('Sale', 'essential-addons-for-elementor-lite'),
2393
- 'type' => Controls_Manager::HEADING,
2394
- 'separator' => 'before',
2395
- ]
2396
- );
2397
-
2398
- $this->add_group_control(
2399
- Group_Control_Typography::get_type(),
2400
- [
2401
- 'name' => 'eael_product_popup_sale_typo',
2402
- 'label' => __('Typography', 'essential-addons-for-elementor-lite'),
2403
- 'selector' => '{{WRAPPER}} .eael-product-popup .eael-onsale',
2404
- ]
2405
- );
2406
- $this->add_control(
2407
- 'eael_product_popup_sale_color',
2408
- [
2409
- 'label' => __('Color', 'essential-addons-for-elementor-lite'),
2410
- 'type' => Controls_Manager::COLOR,
2411
- 'selectors' => [
2412
- '{{WRAPPER}} .eael-product-popup .eael-onsale' => 'color: {{VALUE}}!important;',
2413
- ],
2414
- ]
2415
- );
2416
- $this->add_control(
2417
- 'eael_product_popup_sale_bg_color',
2418
- [
2419
- 'label' => __('Background Color', 'essential-addons-for-elementor-lite'),
2420
- 'type' => Controls_Manager::COLOR,
2421
- 'selectors' => [
2422
- '{{WRAPPER}} .eael-product-popup .eael-onsale' => 'background-color: {{VALUE}}!important;',
2423
- ],
2424
- ]
2425
- );
2426
-
2427
- // Quantity
2428
- $this->add_control(
2429
- 'eael_product_popup_quantity',
2430
- [
2431
- 'label' => __('Quantity', 'essential-addons-for-elementor-lite'),
2432
- 'type' => Controls_Manager::HEADING,
2433
- 'separator' => 'before',
2434
- ]
2435
- );
2436
-
2437
- $this->add_group_control(
2438
- Group_Control_Typography::get_type(),
2439
- [
2440
- 'name' => 'eael_product_popup_quantity_typo',
2441
- 'label' => __('Typography', 'essential-addons-for-elementor-lite'),
2442
- 'selector' => '{{WRAPPER}} .eael-product-popup.woocommerce div.product form.cart div.quantity .qty, {{WRAPPER}} .eael-product-popup.woocommerce div.product form.cart div.quantity > a',
2443
- ]
2444
- );
2445
-
2446
- $this->add_control(
2447
- 'eael_product_popup_quantity_color',
2448
- [
2449
- 'label' => esc_html__( 'Color', 'essential-addons-for-elementor-lite' ),
2450
- 'type' => Controls_Manager::COLOR,
2451
- 'default' => '#000',
2452
- 'selectors' => [
2453
- '{{WRAPPER}} .eael-product-popup.woocommerce div.product form.cart div.quantity .qty, {{WRAPPER}} .eael-product-popup.woocommerce div.product form.cart div.quantity > a, {{WRAPPER}} .eael-product-popup.woocommerce div.product form.cart div.quantity > .button' => 'color: {{VALUE}};',
2454
- ],
2455
- ]
2456
- );
2457
-
2458
- $this->add_control(
2459
- 'eael_product_popup_quantity_bg_color',
2460
- [
2461
- 'label' => esc_html__( 'Background Color', 'essential-addons-for-elementor-lite' ),
2462
- 'type' => Controls_Manager::COLOR,
2463
- 'default' => '#fff',
2464
- 'selectors' => [
2465
- '{{WRAPPER}} .eael-product-popup.woocommerce div.product form.cart div.quantity .qty, {{WRAPPER}} .eael-product-popup.woocommerce div.product form.cart div.quantity > a, {{WRAPPER}} .eael-product-popup.woocommerce div.product form.cart div.quantity > .button' => 'background-color: {{VALUE}};',
2466
- ],
2467
- ]
2468
- );
2469
-
2470
- $this->add_control(
2471
- 'eael_product_popup_quantity_border_color',
2472
- [
2473
- 'label' => esc_html__( 'Border Color', 'essential-addons-for-elementor-lite' ),
2474
- 'type' => Controls_Manager::COLOR,
2475
- 'default' => '#000',
2476
- 'selectors' => [
2477
- '{{WRAPPER}} .eael-product-popup.woocommerce div.product form.cart div.quantity .qty, {{WRAPPER}} .eael-product-popup.woocommerce div.product form.cart div.quantity > a, {{WRAPPER}} .eael-product-popup.woocommerce div.product form.cart div.quantity > .button' => 'border-color: {{VALUE}};',
2478
- // OceanWP
2479
- '{{WRAPPER}} .eael-product-popup.woocommerce div.product form.cart div.quantity .qty:focus' => 'border-color: {{VALUE}};',
2480
- ],
2481
- ]
2482
- );
2483
-
2484
- // Cart Button
2485
- $this->add_control(
2486
- 'eael_product_popup_cart_button',
2487
- [
2488
- 'label' => __('Cart Button', 'essential-addons-for-elementor-lite'),
2489
- 'type' => Controls_Manager::HEADING,
2490
- 'separator' => 'before',
2491
- ]
2492
- );
2493
-
2494
- $this->add_group_control(
2495
- Group_Control_Typography::get_type(),
2496
- [
2497
- 'name' => 'eael_product_popup_cart_button_typo',
2498
- 'label' => __('Typography', 'essential-addons-for-elementor-lite'),
2499
- 'selector' => '{{WRAPPER}} .eael-product-popup.woocommerce .button, .eael-product-popup.woocommerce button.button.alt',
2500
- ]
2501
- );
2502
-
2503
- $this->start_controls_tabs( 'eael_product_popup_cart_button_style_tabs' );
2504
-
2505
- $this->start_controls_tab( 'eael_product_popup_cart_button_style_tabs_normal', [ 'label' => esc_html__( 'Normal', 'essential-addons-for-elementor-lite' ) ] );
2506
-
2507
- $this->add_control(
2508
- 'eael_product_popup_cart_button_color',
2509
- [
2510
- 'label' => esc_html__( 'Color', 'essential-addons-for-elementor-lite' ),
2511
- 'type' => Controls_Manager::COLOR,
2512
- 'default' => '#fff',
2513
- 'selectors' => [
2514
- '{{WRAPPER}} .eael-product-popup.woocommerce .button, .eael-product-popup.woocommerce button.button.alt' => 'color: {{VALUE}};',
2515
- ],
2516
- ]
2517
- );
2518
-
2519
- $this->add_control(
2520
- 'eael_product_popup_cart_button_background',
2521
- [
2522
- 'label' => esc_html__( 'Background Color', 'essential-addons-for-elementor-lite' ),
2523
- 'type' => Controls_Manager::COLOR,
2524
- 'default' => '#8040FF',
2525
- 'selectors' => [
2526
- '{{WRAPPER}} .eael-product-popup.woocommerce .button, .eael-product-popup.woocommerce button.button.alt' => 'background-color: {{VALUE}};',
2527
- ],
2528
- ]
2529
- );
2530
-
2531
- $this->add_group_control(
2532
- Group_Control_Border::get_type(),
2533
- [
2534
- 'name' => 'eael_product_popup_cart_button_border',
2535
- 'selector' => '{{WRAPPER}} .eael-product-popup.woocommerce .button, .eael-product-popup.woocommerce button.button.alt',
2536
- ]
2537
- );
2538
- $this->add_control(
2539
- 'eael_product_popup_cart_button_border_radius',
2540
- [
2541
- 'label' => esc_html__('Border Radius', 'essential-addons-for-elementor-lite'),
2542
- 'type' => Controls_Manager::SLIDER,
2543
- 'range' => [
2544
- 'px' => [
2545
- 'max' => 100,
2546
- ],
2547
- ],
2548
- 'selectors' => [
2549
- '{{WRAPPER}} .eael-product-popup.woocommerce .button, .eael-product-popup.woocommerce button.button.alt' => 'border-radius: {{SIZE}}px;',
2550
- ],
2551
- ]
2552
- );
2553
-
2554
- $this->end_controls_tab();
2555
-
2556
- $this->start_controls_tab( 'eael_product_popup_cart_button_hover_styles', [ 'label' => esc_html__( 'Hover', 'essential-addons-for-elementor-lite' ) ] );
2557
-
2558
- $this->add_control(
2559
- 'eael_product_popup_cart_button_hover_color',
2560
- [
2561
- 'label' => esc_html__( 'Color', 'essential-addons-for-elementor-lite' ),
2562
- 'type' => Controls_Manager::COLOR,
2563
- 'default' => '#F5EAFF',
2564
- 'selectors' => [
2565
- '{{WRAPPER}} .eael-product-popup.woocommerce .button:hover, .eael-product-popup.woocommerce button.button.alt:hover' => 'color: {{VALUE}};',
2566
- ],
2567
- ]
2568
- );
2569
-
2570
- $this->add_control(
2571
- 'eael_product_popup_cart_button_hover_background',
2572
- [
2573
- 'label' => esc_html__( 'Background Color', 'essential-addons-for-elementor-lite' ),
2574
- 'type' => Controls_Manager::COLOR,
2575
- 'default' => '#F12DE0',
2576
- 'selectors' => [
2577
- '{{WRAPPER}} .eael-product-popup.woocommerce .button:hover, .eael-product-popup.woocommerce button.button.alt:hover' => 'background-color: {{VALUE}};',
2578
- ],
2579
- ]
2580
- );
2581
-
2582
- $this->add_control(
2583
- 'eael_product_popup_cart_button_hover_border_color',
2584
- [
2585
- 'label' => esc_html__( 'Border Color', 'essential-addons-for-elementor-lite' ),
2586
- 'type' => Controls_Manager::COLOR,
2587
- 'default' => '',
2588
- 'selectors' => [
2589
- '{{WRAPPER}} .eael-product-popup.woocommerce .button:hover, .eael-product-popup.woocommerce button.button.alt:hover' => 'border-color: {{VALUE}};',
2590
- ],
2591
- 'condition' => [
2592
- 'eael_product_popup_cart_button_border_border!' => '',
2593
- ],
2594
- ]
2595
- );
2596
-
2597
- $this->end_controls_tab();
2598
-
2599
- $this->end_controls_tabs();
2600
-
2601
- // SKU
2602
- $this->add_control(
2603
- 'eael_product_popup_sku_style',
2604
- [
2605
- 'label' => __('SKU', 'essential-addons-for-elementor-lite'),
2606
- 'type' => Controls_Manager::HEADING,
2607
- 'separator' => 'before',
2608
- ]
2609
- );
2610
-
2611
- $this->add_group_control(
2612
- Group_Control_Typography::get_type(),
2613
- [
2614
- 'name' => 'eael_product_popup_sku_typo',
2615
- 'label' => __('Typography', 'essential-addons-for-elementor-lite'),
2616
- 'selector' => '{{WRAPPER}} .eael-product-popup.woocommerce .product_meta',
2617
- ]
2618
- );
2619
- $this->add_control(
2620
- 'eael_product_popup_sku_title_color',
2621
- [
2622
- 'label' => __('Title Color', 'essential-addons-for-elementor-lite'),
2623
- 'type' => Controls_Manager::COLOR,
2624
- 'selectors' => [
2625
- '{{WRAPPER}} .eael-product-popup.woocommerce .product_meta' => 'color: {{VALUE}};',
2626
- ],
2627
- ]
2628
- );
2629
- $this->add_control(
2630
- 'eael_product_popup_sku_content_color',
2631
- [
2632
- 'label' => __('Content Color', 'essential-addons-for-elementor-lite'),
2633
- 'type' => Controls_Manager::COLOR,
2634
- 'selectors' => [
2635
- '{{WRAPPER}} .eael-product-popup.woocommerce .product_meta .sku, .eael-product-popup.woocommerce .product_meta a' => 'color: {{VALUE}};',
2636
- ],
2637
- ]
2638
- );
2639
- $this->add_control(
2640
- 'eael_product_popup_sku_hover_color',
2641
- [
2642
- 'label' => __('Hover Color', 'essential-addons-for-elementor-lite'),
2643
- 'type' => Controls_Manager::COLOR,
2644
- 'selectors' => [
2645
- '{{WRAPPER}} .eael-product-popup.woocommerce .product_meta a:hover' => 'color: {{VALUE}};',
2646
- ],
2647
- ]
2648
- );
2649
-
2650
- $this->add_control(
2651
- 'eael_product_popup_close_button_style',
2652
- [
2653
- 'label' => __(' Close Button', 'essential-addons-for-elementor-lite'),
2654
- 'type' => Controls_Manager::HEADING,
2655
- 'separator' => 'before',
2656
- ]
2657
- );
2658
-
2659
- $this->add_responsive_control(
2660
- 'eael_product_popup_close_button_icon_size',
2661
- [
2662
- 'label' => __('Icon Size', 'essential-addons-for-elementor-lite'),
2663
- 'type' => Controls_Manager::SLIDER,
2664
- 'size_units' => ['px', 'em', '%'],
2665
- 'range' => [
2666
- 'px' => [
2667
- 'min' => 0,
2668
- 'max' => 100,
2669
- ],
2670
- 'em' => [
2671
- 'min' => 0,
2672
- 'max' => 100,
2673
- ],
2674
- '%' => [
2675
- 'min' => 0,
2676
- 'max' => 100,
2677
- ],
2678
- ],
2679
- 'selectors' => [
2680
- '{{WRAPPER}} .eael-product-popup button.eael-product-popup-close' => 'font-size: {{SIZE}}{{UNIT}};',
2681
- ],
2682
- ]
2683
- );
2684
-
2685
- $this->add_responsive_control(
2686
- 'eael_product_popup_close_button_size',
2687
- [
2688
- 'label' => __('Button Size', 'essential-addons-for-elementor-lite'),
2689
- 'type' => Controls_Manager::SLIDER,
2690
- 'size_units' => ['px', 'em', '%'],
2691
- 'range' => [
2692
- 'px' => [
2693
- 'min' => 0,
2694
- 'max' => 100,
2695
- ],
2696
- 'em' => [
2697
- 'min' => 0,
2698
- 'max' => 100,
2699
- ],
2700
- '%' => [
2701
- 'min' => 0,
2702
- 'max' => 100,
2703
- ],
2704
- ],
2705
- 'selectors' => [
2706
- '{{WRAPPER}} .eael-product-popup button.eael-product-popup-close' => 'max-width: {{SIZE}}{{UNIT}}; width: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}}; min-height: {{SIZE}}{{UNIT}}',
2707
- ],
2708
- ]
2709
- );
2710
-
2711
- $this->add_control(
2712
- 'eael_product_popup_close_button_color',
2713
- [
2714
- 'label' => __('Color', 'essential-addons-for-elementor-lite'),
2715
- 'type' => Controls_Manager::COLOR,
2716
- 'selectors' => [
2717
- '{{WRAPPER}} .eael-product-popup button.eael-product-popup-close' => 'color: {{VALUE}}!important;',
2718
- ],
2719
- ]
2720
- );
2721
-
2722
- $this->add_control(
2723
- 'eael_product_popup_close_button_bg',
2724
- [
2725
- 'label' => __('Background', 'essential-addons-for-elementor-lite'),
2726
- 'type' => Controls_Manager::COLOR,
2727
- 'selectors' => [
2728
- '{{WRAPPER}} .eael-product-popup button.eael-product-popup-close' => 'background-color: {{VALUE}}!important;',
2729
- ],
2730
- ]
2731
- );
2732
-
2733
- $this->add_control(
2734
- 'eael_product_popup_close_button_border_radius',
2735
- [
2736
- 'label' => __('Border Radius', 'essential-addons-for-elementor-lite'),
2737
- 'type' => Controls_Manager::SLIDER,
2738
- 'size_units' => ['px', '%'],
2739
- 'range' => [
2740
- 'px' => [
2741
- 'min' => 0,
2742
- 'max' => 100,
2743
- 'step' => 1,
2744
- ],
2745
- '%' => [
2746
- 'min' => 0,
2747
- 'max' => 100,
2748
- ],
2749
- ],
2750
- 'selectors' => [
2751
- '{{WRAPPER}} .eael-product-popup button.eael-product-popup-close' => 'border-radius: {{SIZE}}{{UNIT}};',
2752
- ],
2753
- ]
2754
- );
2755
-
2756
- $this->add_group_control(
2757
- Group_Control_Box_Shadow::get_type(),
2758
- [
2759
- 'name' => 'eael_product_popup_close_button_box_shadow',
2760
- 'label' => __('Box Shadow', 'essential-addons-for-elementor-lite'),
2761
- 'selector' => '{{WRAPPER}} .eael-product-popup button.eael-product-popup-close',
2762
- ]
2763
- );
2764
-
2765
- $this->add_responsive_control(
2766
- 'eael_product_popup_border_radius',
2767
- [
2768
- 'label' => esc_html__('Border Radius', 'essential-addons-for-elementor-lite'),
2769
- 'type' => Controls_Manager::DIMENSIONS,
2770
- 'size_units' => ['px', '%'],
2771
- 'selectors' => [
2772
- '{{WRAPPER}} .eael-product-popup .eael-product-popup-details' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2773
- ],
2774
- 'separator' => 'before',
2775
- ]
2776
- );
2777
-
2778
- $this->add_group_control(
2779
- Group_Control_Background::get_type(),
2780
- [
2781
- 'name' => 'eael_product_popup_background',
2782
- 'label' => __('Background', 'essential-addons-for-elementor-lite'),
2783
- 'types' => ['classic', 'gradient'],
2784
- 'selector' => '{{WRAPPER}} .eael-product-popup .eael-product-popup-details',
2785
- 'exclude' => [
2786
- 'image',
2787
- ],
2788
- ]
2789
- );
2790
-
2791
- $this->add_group_control(
2792
- Group_Control_Box_Shadow::get_type(),
2793
- [
2794
- 'name' => 'eael_product_popup_box_shadow',
2795
- 'label' => __('Box Shadow', 'essential-addons-for-elementor-lite'),
2796
- 'selector' => '{{WRAPPER}} .eael-product-popup .eael-product-popup-details',
2797
- ]
2798
- );
2799
-
2800
- $this->end_controls_section();
2801
- }
2802
 
2803
  protected function render()
2804
  {
2805
- $settings = $this->get_settings_for_display();
2806
- if (!apply_filters('eael/is_plugin_active', 'woocommerce/woocommerce.php')) {
2807
  return;
2808
  }
2809
-
 
 
 
 
2810
  $args = [
2811
- 'post_type' => 'product',
2812
  'posts_per_page' => $settings['eael_product_grid_products_count'] ?: 4,
2813
- 'order' => (isset($settings['order']) ? $settings['order'] : 'desc'),
2814
- 'offset' => $settings['product_offset'],
2815
- 'tax_query' => [
2816
- 'relation' => 'AND',
2817
- [
2818
- 'taxonomy' => 'product_visibility',
2819
- 'field' => 'name',
2820
- 'terms' => ['exclude-from-search', 'exclude-from-catalog'],
2821
- 'operator' => 'NOT IN',
2822
- ],
2823
- ],
2824
  ];
2825
  // price & sku filter
2826
  if ($settings['orderby'] == '_price') {
2827
- $args['orderby'] = 'meta_value_num';
2828
  $args['meta_key'] = '_price';
2829
  } else if ($settings['orderby'] == '_sku') {
2830
- $args['orderby'] = 'meta_value_num';
2831
  $args['meta_key'] = '_sku';
2832
  } else {
2833
- $args['orderby'] = (isset($settings['orderby']) ? $settings['orderby'] : 'date');
2834
  }
2835
 
2836
  if (!empty($settings['eael_product_grid_categories'])) {
2837
  $args['tax_query'] = [
2838
  [
2839
  'taxonomy' => 'product_cat',
2840
- 'field' => 'slug',
2841
- 'terms' => $settings['eael_product_grid_categories'],
2842
  'operator' => 'IN',
2843
  ],
2844
  ];
2845
- }
2846
 
2847
- if ( 'true' == $settings['show_load_more'] ) {
2848
- $args ['offset'] = $settings['product_offset'];
2849
- }
2850
 
2851
  $args['meta_query'] = ['relation' => 'AND'];
2852
 
@@ -2861,23 +2873,23 @@ class Product_Grid extends Widget_Base {
2861
  $args['tax_query'] = [
2862
  'relation' => 'AND',
2863
  [
2864
- 'taxonomy' => 'product_visibility',
2865
- 'field' => 'name',
2866
- 'terms' => 'featured',
2867
- ],
2868
- [
2869
- 'taxonomy' => 'product_visibility',
2870
- 'field' => 'name',
2871
- 'terms' => ['exclude-from-search', 'exclude-from-catalog'],
2872
- 'operator' => 'NOT IN',
2873
- ],
2874
  ];
2875
 
2876
  if ($settings['eael_product_grid_categories']) {
2877
  $args['tax_query'][] = [
2878
  'taxonomy' => 'product_cat',
2879
- 'field' => 'slug',
2880
- 'terms' => $settings['eael_product_grid_categories'],
2881
  ];
2882
  }
2883
  } else if ($settings['eael_product_grid_product_filter'] == 'best-selling-products') {
@@ -2888,49 +2900,23 @@ class Product_Grid extends Widget_Base {
2888
  $args['meta_query'][] = [
2889
  'relation' => 'OR',
2890
  [
2891
- 'key' => '_sale_price',
2892
- 'value' => 0,
2893
  'compare' => '>',
2894
- 'type' => 'numeric',
2895
  ], [
2896
- 'key' => '_min_variation_sale_price',
2897
- 'value' => 0,
2898
  'compare' => '>',
2899
- 'type' => 'numeric',
2900
  ],
2901
  ];
2902
  } else if ($settings['eael_product_grid_product_filter'] == 'top-products') {
2903
  $args['meta_key'] = '_wc_average_rating';
2904
  $args['orderby'] = 'meta_value_num';
2905
  $args['order'] = 'DESC';
2906
- }
2907
-
2908
- $widget_id = $this->get_id();
2909
- $settings['eael_widget_id'] = $widget_id;
2910
 
2911
- $render_settings = [
2912
- 'eael_product_grid_style_preset' => $settings['eael_product_grid_style_preset'],
2913
- 'eael_product_grid_rating' => $settings['eael_product_grid_rating'],
2914
- 'eael_product_grid_column' => $settings['eael_product_grid_column'],
2915
- 'show_load_more' => $settings['show_load_more'],
2916
- 'show_load_more_text' => $settings['show_load_more_text'],
2917
- 'show_pagination' => $settings['show_pagination'],
2918
- 'pagination_prev_label' => $settings['pagination_prev_label'],
2919
- 'pagination_next_label' => $settings['pagination_next_label'],
2920
- 'eael_product_grid_products_count' => $settings['eael_product_grid_products_count'],
2921
- 'eael_product_list_style_preset' => $settings['eael_product_list_style_preset'],
2922
- 'eael_product_grid_excerpt' => $settings['eael_product_grid_excerpt'],
2923
- 'eael_product_grid_excerpt_length' => $settings['eael_product_grid_excerpt_length'],
2924
- 'eael_product_grid_excerpt_expanison_indicator' => $settings['eael_product_grid_excerpt_expanison_indicator'],
2925
- // 'eael_product_grid_image_size' => $settings['eael_product_grid_image_size'],
2926
- 'eael_product_sale_badge_preset' => $settings['eael_product_sale_badge_preset'],
2927
- 'eael_product_sale_badge_alignment' => $settings['eael_product_sale_badge_alignment'],
2928
- 'eael_product_action_buttons_preset' => $settings['eael_product_action_buttons_preset'],
2929
- 'eael_product_grid_quick_view' => $settings['eael_product_grid_quick_view'],
2930
- 'eael_product_grid_price' => $settings['eael_product_grid_price'],
2931
- 'eael_product_grid_categories' => $settings['eael_product_grid_categories'],
2932
- 'eael_widget_id' => $widget_id,
2933
- ];
2934
 
2935
  $this->is_show_custom_add_to_cart = boolval($settings['show_add_to_cart_custom_text']);
2936
  $this->simple_add_to_cart_button_text = $settings['add_to_cart_simple_product_button_text'];
@@ -2939,86 +2925,87 @@ class Product_Grid extends Widget_Base {
2939
  $this->external_add_to_cart_button_text = $settings['add_to_cart_external_product_button_text'];
2940
  $this->default_add_to_cart_button_text = $settings['add_to_cart_default_product_button_text'];
2941
 
2942
- echo '<div class="eael-product-grid ' . $settings['eael_product_grid_style_preset'] . ' ' . $settings['eael_product_grid_layout'] . '">';
2943
- echo '<div class="woocommerce">';
2944
-
2945
- echo do_action( 'eael_woo_before_product_loop' );
2946
-
2947
- echo '<ul class="products" data-layout-mode="' . $settings["eael_product_grid_layout"] . '">';
2948
-
2949
- $template = $this->get_template( $settings[ 'eael_dynamic_template_Layout' ] );
2950
- if ( file_exists( $template ) ) {
2951
- $query = new \WP_Query( $args );
2952
- if ( $query->have_posts() ) {
2953
- while ( $query->have_posts() ) {
2954
- $query->the_post();
2955
- include( $template );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2956
  }
2957
-
2958
  } else {
2959
- _e( '<p class="no-posts-found">No posts found!</p>', 'essential-addons-for-elementor-lite' );
 
 
 
 
2960
  }
2961
- wp_reset_postdata();
2962
- } else {
2963
- _e( '<p class="no-posts-found">No layout found!</p>', 'essential-addons-for-elementor-lite' );
2964
- }
2965
 
2966
- echo '</ul>';
2967
-
2968
- if ( 'true' == $settings['show_pagination'] ) {
2969
- $settings['eael_widget_name'] = $this->get_name();
2970
- echo Helper::eael_pagination($args, $settings);
2971
- }
2972
-
2973
- if ( 'true' == $settings['show_load_more'] ) {
2974
- if ( $args['posts_per_page'] != '-1' ) {
2975
- echo '<div class="eael-load-more-button-wrap">
2976
- <button class="eael-load-more-button" id="eael-load-more-btn-' . $this->get_id() . '" data-template='.json_encode([ 'dir' => 'free', 'file_name' => $settings['eael_dynamic_template_Layout'], 'name' => $this->process_directory_name() ], 1).' data-widget="' . $this->get_id() . '" data-class="' . get_class( $this ) . '" data-args="' . http_build_query( $args ) . '" data-settings="' . http_build_query( $settings ) . '" data-layout="masonry" data-page="1">
2977
- <div class="eael-btn-loader button__loader"></div>
2978
- <span>' . esc_html__($settings['show_load_more_text'], 'essential-addons-for-elementor-lite') . '</span>
2979
- </button>
2980
- </div>';
2981
- }
2982
- }
2983
-
2984
- echo '</div>
2985
- </div>';
2986
-
2987
- ?>
2988
- <script type="text/javascript">
2989
  jQuery(document).ready(function($) {
2990
- jQuery(".eael-product-grid").each(function() {
2991
- var $scope = jQuery(".elementor-element-<?php echo $this->get_id(); ?>"),
2992
- $products = $(this).find( '.products' );
2993
- $layout_mode = $products.data('layout-mode');
2994
- if($layout_mode === 'masonry') {
2995
- // init isotope
2996
- var $isotope_products = $products.isotope({
2997
- itemSelector: "li.product",
2998
- layoutMode: $layout_mode,
2999
- percentPosition: true
3000
- });
3001
- // $isotope_products.imagesLoaded().progress(function() {
3002
- // $isotope_products.isotope("layout");
3003
- // });
3004
- $('li.product', $products).resize(function() {
3005
- $isotope_products.isotope('layout');
3006
- });
3007
- }
3008
- $(document).on("click", '.eael-product-popup-close', function (event) {
3009
- event.stopPropagation();
3010
- $('.eael-product-popup').addClass("eael-product-modal-removing").removeClass("eael-product-popup-ready");
3011
  });
3012
- $(document).on('click', function (event) {
3013
- if (event.target.closest(".eael-product-popup-details")) return;
3014
- $('.eael-product-popup.eael-product-zoom-in.eael-product-popup-ready').addClass("eael-product-modal-removing").removeClass("eael-product-popup-ready");
 
 
 
 
3015
  });
3016
- });
3017
- if(isEditMode){
3018
- $(".eael-product-image-wrap .woocommerce-product-gallery").css("opacity","1");
3019
  }
3020
  });
3021
- </script>
3022
- <?php
3023
- }
3024
- }
 
 
 
 
4
 
5
  // If this file is called directly, abort.
6
  if (!defined('ABSPATH')) {
7
+ exit;
8
  }
9
 
10
+ use Elementor\Controls_Manager;
11
+ use Elementor\Group_Control_Background;
12
+ use Elementor\Group_Control_Border;
13
+ use Elementor\Group_Control_Box_Shadow;
14
+ use Elementor\Group_Control_Image_Size;
15
+ use Elementor\Group_Control_Typography;
16
+ use Elementor\Plugin;
17
+ use Elementor\Widget_Base;
18
+ use Essential_Addons_Elementor\Classes\Helper as HelperClass;
19
+ use Essential_Addons_Elementor\Template\Content\Product_Grid as Product_Grid_Trait;
20
+ use Essential_Addons_Elementor\Traits\Helper;
21
+ use Essential_Addons_Elementor\Traits\Woo_Product_Comparable;
22
+
23
+ class Product_Grid extends Widget_Base
24
+ {
25
+ use Woo_Product_Comparable;
26
+ use Helper;
27
+ use Product_Grid_Trait;
28
 
29
  private $is_show_custom_add_to_cart = false;
30
  private $simple_add_to_cart_button_text;
32
  private $grouped_add_to_cart_button_text;
33
  private $external_add_to_cart_button_text;
34
  private $default_add_to_cart_button_text;
35
+ /**
36
+ * @var int
37
+ */
38
+ protected $page_id;
 
 
 
39
 
40
  public function get_name()
41
  {
99
  {
100
  if ($this->is_show_custom_add_to_cart) {
101
  global $product;
 
102
  switch ($product->get_type()) {
103
  case 'external':
104
  return $this->external_add_to_cart_button_text;
 
105
  case 'grouped':
106
  return $this->grouped_add_to_cart_button_text;
 
107
  case 'simple':
108
  return $this->simple_add_to_cart_button_text;
 
109
  case 'variable':
110
  return $this->variable_add_to_cart_button_text;
 
111
  default:
112
  return $this->default_add_to_cart_button_text;
113
  }
114
  }
115
+
116
  return $default;
117
  }
118
 
119
+ protected function eael_get_product_orderby_options()
120
+ {
121
+ return apply_filters('eael/product-grid/orderby-options', [
122
+ 'ID' => __('Product ID', 'essential-addons-for-elementor-lite'),
123
+ 'title' => __('Product Title', 'essential-addons-for-elementor-lite'),
124
+ '_price' => __('Price', 'essential-addons-for-elementor-lite'),
125
+ '_sku' => __('SKU', 'essential-addons-for-elementor-lite'),
126
+ 'date' => __('Date', 'essential-addons-for-elementor-lite'),
127
+ 'modified' => __('Last Modified Date', 'essential-addons-for-elementor-lite'),
128
+ 'parent' => __('Parent Id', 'essential-addons-for-elementor-lite'),
129
+ 'rand' => __('Random', 'essential-addons-for-elementor-lite'),
130
+ 'menu_order' => __('Menu Order', 'essential-addons-for-elementor-lite'),
131
+ ]);
132
+ }
133
+
134
+ protected function eael_get_product_filterby_options()
135
+ {
136
+ return apply_filters('eael/product-grid/filterby-options', [
137
+ 'recent-products' => esc_html__('Recent Products', 'essential-addons-for-elementor-lite'),
138
+ 'featured-products' => esc_html__('Featured Products', 'essential-addons-for-elementor-lite'),
139
+ 'best-selling-products' => esc_html__('Best Selling Products', 'essential-addons-for-elementor-lite'),
140
+ 'sale-products' => esc_html__('Sale Products', 'essential-addons-for-elementor-lite'),
141
+ 'top-products' => esc_html__('Top Rated Products', 'essential-addons-for-elementor-lite'),
142
+ ]);
143
+ }
144
+
145
  protected function _register_controls()
146
  {
147
+ $this->init_content_wc_notice_controls();
148
+ if (!function_exists('WC')) {
149
+ return;
150
+ }
151
+ // Content Controls
152
+ $this->init_content_layout_controls();
153
+ $this->init_content_product_settings_controls();
154
+ $this->eael_product_badges();
155
+ $this->init_content_addtocart_controls();
156
+ $this->init_content_load_more_controls();
157
+ $this->eael_product_pagination();
158
+ // Product Compare
159
+ $this->init_content_product_compare_controls();
160
+ $this->init_content_table_settings_controls();
161
+
162
+ // Style Controls---------------
163
+ $this->init_style_product_controls();
164
+ $this->init_style_color_typography_controls();
165
+ $this->init_style_addtocart_controls();
166
+ $this->eael_product_action_buttons();
167
+ $this->eael_product_action_buttons_style();
168
+ /**
169
+ * Load More Button Style Controls!
170
+ */
171
+ do_action('eael/controls/load_more_button_style', $this);
172
+ /**
173
+ * Pagination Style Controls!
174
+ */
175
+ $this->eael_product_pagination_style();
176
+
177
+ /**
178
+ * Pagination Style Controls!
179
+ */
180
+ $this->eael_product_view_popup_style();
181
+ // Product Compare Table Style
182
+ $container_class = '.eael-wcpc-modal';
183
+ $table = ".eael-wcpc-modal .eael-wcpc-wrapper table";
184
+ $table_title = ".eael-wcpc-modal .eael-wcpc-wrapper .wcpc-title";
185
+ $table_title_wrap = ".eael-wcpc-modal .eael-wcpc-wrapper .first-th";
186
+ $compare_btn_condition = [
187
+ 'eael_product_grid_style_preset!' => [
188
+ 'eael-product-preset-5',
189
+ 'eael-product-preset-6',
190
+ 'eael-product-preset-7',
191
+ 'eael-product-preset-8',
192
+ ],
193
+ 'eael_product_grid_layout!' => 'list',
194
+ ];
195
+ $this->init_style_compare_button_controls($compare_btn_condition);
196
+ $this->init_style_content_controls(compact('container_class'));
197
+ $this->init_style_table_controls(compact('table', 'table_title', 'table_title_wrap'));
198
+ $this->init_style_close_button_controls();
199
+ }
200
 
201
+ protected function init_content_layout_controls()
202
+ {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
203
  $this->start_controls_section(
204
+ 'eael_section_product_grid_layouts',
205
  [
206
+ 'label' => esc_html__('Layouts', 'essential-addons-for-elementor-lite'),
207
  ]
208
  );
209
+ $this->add_control(
210
+ 'eael_product_grid_layout',
211
+ [
212
+ 'label' => esc_html__('Layout', 'essential-addons-for-elementor-lite'),
213
+ 'type' => Controls_Manager::SELECT,
214
+ 'default' => 'masonry',
215
+ 'options' => [
216
+ 'grid' => esc_html__('Grid', 'essential-addons-for-elementor-lite'),
217
+ 'list' => esc_html__('List', 'essential-addons-for-elementor-lite'),
218
+ 'masonry' => esc_html__('Masonry', 'essential-addons-for-elementor-lite'),
219
  ]
220
+ ]
221
+ );
222
 
223
  $this->add_control(
224
+ 'eael_product_grid_style_preset',
225
  [
226
+ 'label' => esc_html__('Style Preset', 'essential-addons-for-elementor-lite'),
227
+ 'type' => Controls_Manager::SELECT,
228
+ 'default' => 'eael-product-simple',
229
  'options' => [
230
+ 'eael-product-default' => esc_html__('Default', 'essential-addons-for-elementor-lite'),
231
+ 'eael-product-simple' => esc_html__('Simple Style', 'essential-addons-for-elementor-lite'),
232
+ 'eael-product-reveal' => esc_html__('Reveal Style', 'essential-addons-for-elementor-lite'),
233
+ 'eael-product-overlay' => esc_html__('Overlay Style', 'essential-addons-for-elementor-lite'),
234
+ 'eael-product-preset-5' => esc_html__('Preset 5', 'essential-addons-for-elementor-lite'),
235
+ 'eael-product-preset-6' => esc_html__('Preset 6', 'essential-addons-for-elementor-lite'),
236
+ 'eael-product-preset-7' => esc_html__('Preset 7', 'essential-addons-for-elementor-lite'),
237
+ 'eael-product-preset-8' => esc_html__('Preset 8', 'essential-addons-for-elementor-lite'),
238
+ ],
239
+ 'condition' => [
240
+ 'eael_product_grid_layout' => ['grid', 'masonry'],
241
  ],
242
  ]
243
  );
244
 
245
  $this->add_control(
246
+ 'eael_product_list_style_preset',
247
  [
248
+ 'label' => esc_html__('Style Preset', 'essential-addons-for-elementor-lite'),
249
  'type' => Controls_Manager::SELECT,
250
+ 'default' => 'eael-product-list-preset-1',
251
  'options' => [
252
+ 'eael-product-list-preset-1' => esc_html__('Preset 1', 'essential-addons-for-elementor-lite'),
253
+ 'eael-product-list-preset-2' => esc_html__('Preset 2', 'essential-addons-for-elementor-lite'),
254
+ 'eael-product-list-preset-3' => esc_html__('Preset 3', 'essential-addons-for-elementor-lite'),
255
+ 'eael-product-list-preset-4' => esc_html__('Preset 4', 'essential-addons-for-elementor-lite'),
256
+ ],
257
+ 'condition' => [
258
+ 'eael_product_grid_layout' => ['list'],
 
 
259
  ],
 
 
260
  ]
261
  );
262
 
263
+ $this->add_responsive_control(
264
+ 'eael_product_grid_column',
265
  [
266
+ 'label' => esc_html__('Columns', 'essential-addons-for-elementor-lite'),
267
  'type' => Controls_Manager::SELECT,
268
+ 'default' => '4',
269
  'options' => [
270
+ '1' => esc_html__('1', 'essential-addons-for-elementor-lite'),
271
+ '2' => esc_html__('2', 'essential-addons-for-elementor-lite'),
272
+ '3' => esc_html__('3', 'essential-addons-for-elementor-lite'),
273
+ '4' => esc_html__('4', 'essential-addons-for-elementor-lite'),
274
+ '5' => esc_html__('5', 'essential-addons-for-elementor-lite'),
275
+ '6' => esc_html__('6', 'essential-addons-for-elementor-lite'),
276
  ],
277
+ 'toggle' => true,
278
+ 'prefix_class' => 'eael-product-grid-column%s-',
279
+ 'condition' => [
280
+ 'eael_product_grid_layout!' => 'list',
281
+ ],
282
+ ]
283
+ );
284
 
285
+ $this->add_responsive_control(
286
+ 'eael_product_list_column',
287
+ [
288
+ 'label' => esc_html__('Columns', 'essential-addons-for-elementor-lite'),
289
+ 'type' => Controls_Manager::SELECT,
290
+ 'default' => '2',
291
+ 'options' => [
292
+ '1' => esc_html__('1', 'essential-addons-for-elementor-lite'),
293
+ '2' => esc_html__('2', 'essential-addons-for-elementor-lite'),
294
+ ],
295
+ 'toggle' => true,
296
+ 'prefix_class' => 'eael-product-list-column%s-',
297
+ 'condition' => [
298
+ 'eael_product_grid_layout' => 'list',
299
+ ],
300
  ]
301
  );
302
 
303
+ $this->end_controls_section();
304
+ }
305
+
306
+ protected function init_content_product_settings_controls()
307
+ {
308
+ $this->start_controls_section('eael_section_product_grid_settings', [
309
+ 'label' => esc_html__('Product Settings', 'essential-addons-for-elementor-lite'),
310
+ ]);
311
+
312
+ $this->add_control('eael_product_grid_product_filter', [
313
+ 'label' => esc_html__('Filter By', 'essential-addons-for-elementor-lite'),
314
+ 'type' => Controls_Manager::SELECT,
315
+ 'default' => 'recent-products',
316
+ 'options' => $this->eael_get_product_filterby_options(),
317
+ ]);
318
+
319
+ $this->add_control('orderby', [
320
+ 'label' => __('Order By', 'essential-addons-for-elementor-lite'),
321
+ 'type' => Controls_Manager::SELECT,
322
+ 'options' => $this->eael_get_product_orderby_options(),
323
+ 'default' => 'date',
324
+
325
+ ]);
326
+
327
+ $this->add_control('order', [
328
+ 'label' => __('Order', 'essential-addons-for-elementor-lite'),
329
+ 'type' => Controls_Manager::SELECT,
330
+ 'options' => [
331
+ 'asc' => 'Ascending',
332
+ 'desc' => 'Descending',
333
+ ],
334
+ 'default' => 'desc',
335
+
336
+ ]);
337
+
338
+ $this->add_control('eael_product_grid_products_count', [
339
+ 'label' => __('Products Count', 'essential-addons-for-elementor-lite'),
340
+ 'type' => Controls_Manager::NUMBER,
341
+ 'default' => 4,
342
+ 'min' => 1,
343
+ 'max' => 1000,
344
+ 'step' => 1,
345
+ ]);
346
+
347
+ $this->add_control('product_offset', [
348
+ 'label' => __('Offset', 'essential-addons-for-elementor-lite'),
349
+ 'type' => Controls_Manager::NUMBER,
350
+ 'default' => 0,
351
+ ]);
352
+
353
+ $this->add_control('eael_product_grid_categories', [
354
+ 'label' => esc_html__('Product Categories', 'essential-addons-for-elementor-lite'),
355
+ 'type' => Controls_Manager::SELECT2,
356
+ 'label_block' => true,
357
+ 'multiple' => true,
358
+ 'options' => HelperClass::get_terms_list('product_cat', 'slug'),
359
+ ]);
360
  $this->add_control(
361
+ 'eael_dynamic_template_Layout',
362
  [
363
+ 'label' => esc_html__('Layout', 'essential-addons-for-elementor-lite'),
364
+ 'type' => Controls_Manager::SELECT,
365
+ 'default' => 'default',
366
+ 'options' => $this->get_template_list_for_dropdown(),
 
 
367
  ]
368
  );
369
 
370
+ $this->add_control('eael_product_grid_rating', [
371
+ 'label' => esc_html__('Show Product Rating?', 'essential-addons-for-elementor-lite'),
372
+ 'type' => Controls_Manager::SWITCHER,
373
+ 'return_value' => 'yes',
374
+ 'default' => 'yes',
375
+ 'condition' => [
376
+ 'eael_product_grid_style_preset!' => ['eael-product-preset-8'],
377
+ ],
378
+
379
+ ]);
380
+
381
  $this->add_control(
382
+ 'eael_product_grid_price',
383
  [
384
+ 'label' => esc_html__('Show Product Price?', 'essential-addons-for-elementor-lite'),
385
+ 'type' => Controls_Manager::SWITCHER,
386
+ 'return_value' => 'yes',
387
+ 'default' => 'yes',
388
+ 'condition' => [
389
+ 'eael_product_grid_style_preset!' => 'eael-product-default',
390
+ ],
391
  ]
392
  );
 
393
  $this->add_control(
394
+ 'eael_product_grid_excerpt',
395
  [
396
+ 'label' => esc_html__('Short Description?', 'essential-addons-for-elementor-lite'),
397
+ 'type' => Controls_Manager::SWITCHER,
398
+ 'return_value' => 'yes',
399
+ 'default' => 'yes',
400
+ 'condition' => [
401
+ 'eael_product_grid_layout' => 'list',
402
+ ],
403
  ]
404
  );
 
405
  $this->add_control(
406
+ 'eael_product_grid_excerpt_length',
407
  [
408
+ 'label' => __('Excerpt Words', 'essential-addons-for-elementor-lite'),
409
+ 'type' => Controls_Manager::NUMBER,
410
+ 'default' => '10',
411
+ 'condition' => [
412
+ 'eael_product_grid_excerpt' => 'yes',
413
+ 'eael_product_grid_layout' => 'list',
414
+ ],
415
  ]
416
  );
417
 
418
  $this->add_control(
419
+ 'eael_product_grid_excerpt_expanison_indicator',
420
  [
421
+ 'label' => esc_html__('Expansion Indicator', 'essential-addons-for-elementor-lite'),
422
+ 'type' => Controls_Manager::TEXT,
423
+ 'label_block' => false,
424
+ 'default' => '...',
425
+ 'condition' => [
426
+ 'eael_product_grid_excerpt' => 'yes',
427
+ 'eael_product_grid_layout' => 'list',
428
+ ],
429
+ ]
430
+ );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
431
 
432
+ $this->add_group_control(
433
+ Group_Control_Image_Size::get_type(),
434
+ [
435
+ 'name' => 'eael_product_grid_image_size',
436
+ 'exclude' => ['custom'],
437
+ 'default' => 'medium',
438
+ 'label_block' => true,
439
+ ]
440
+ );
441
+
442
+ $this->add_control('show_compare', [
443
+ 'label' => esc_html__('Show Product Compare?', 'essential-addons-for-elementor-lite'),
444
+ 'type' => Controls_Manager::SWITCHER,
445
+ ]);
446
+
447
+ $this->end_controls_section();
448
+ }
449
+
450
+ protected function init_content_addtocart_controls()
451
+ {
452
  $this->start_controls_section(
453
  'eael_product_grid_add_to_cart_section',
454
  [
459
  $this->add_control(
460
  'show_add_to_cart_custom_text',
461
  [
462
+ 'label' => __('Show Add to cart custom text', 'essential-addons-for-elementor-lite'),
463
+ 'type' => Controls_Manager::SWITCHER,
464
+ 'label_on' => __('Show', 'essential-addons-for-elementor-lite'),
465
+ 'label_off' => __('Hide', 'essential-addons-for-elementor-lite'),
466
  'return_value' => 'true',
467
+ 'default' => '',
468
  ]
469
  );
470
 
471
  $this->add_control(
472
  'add_to_cart_simple_product_button_text',
473
  [
474
+ 'label' => esc_html__('Simple Product', 'essential-addons-for-elementor-lite'),
475
+ 'type' => Controls_Manager::TEXT,
476
+ 'dynamic' => ['active' => true],
477
  'label_block' => false,
478
+ 'default' => esc_html__('Buy Now', 'essential-addons-for-elementor-lite'),
479
+ 'condition' => [
480
  'show_add_to_cart_custom_text' => 'true',
481
  ],
482
  ]
484
  $this->add_control(
485
  'add_to_cart_variable_product_button_text',
486
  [
487
+ 'label' => esc_html__('Variable Product', 'essential-addons-for-elementor-lite'),
488
+ 'type' => Controls_Manager::TEXT,
489
+ 'dynamic' => ['active' => true],
490
  'label_block' => false,
491
+ 'default' => esc_html__('Select options', 'essential-addons-for-elementor-lite'),
492
+ 'condition' => [
493
  'show_add_to_cart_custom_text' => 'true',
494
  ],
495
  ]
497
  $this->add_control(
498
  'add_to_cart_grouped_product_button_text',
499
  [
500
+ 'label' => esc_html__('Grouped Product', 'essential-addons-for-elementor-lite'),
501
+ 'type' => Controls_Manager::TEXT,
502
+ 'dynamic' => ['active' => true],
503
  'label_block' => false,
504
+ 'default' => esc_html__('View products', 'essential-addons-for-elementor-lite'),
505
+ 'condition' => [
506
  'show_add_to_cart_custom_text' => 'true',
507
  ],
508
  ]
510
  $this->add_control(
511
  'add_to_cart_external_product_button_text',
512
  [
513
+ 'label' => esc_html__('External Product', 'essential-addons-for-elementor-lite'),
514
+ 'type' => Controls_Manager::TEXT,
515
+ 'dynamic' => ['active' => true],
516
  'label_block' => false,
517
+ 'default' => esc_html__('Buy Now', 'essential-addons-for-elementor-lite'),
518
+ 'condition' => [
519
  'show_add_to_cart_custom_text' => 'true',
520
  ],
521
  ]
523
  $this->add_control(
524
  'add_to_cart_default_product_button_text',
525
  [
526
+ 'label' => esc_html__('Default Product', 'essential-addons-for-elementor-lite'),
527
+ 'type' => Controls_Manager::TEXT,
528
+ 'dynamic' => ['active' => true],
529
  'label_block' => false,
530
+ 'default' => esc_html__('Read More', 'essential-addons-for-elementor-lite'),
531
+ 'condition' => [
532
  'show_add_to_cart_custom_text' => 'true',
533
  ],
534
  ]
535
  );
536
 
537
  $this->end_controls_section(); # end of section 'add to cart'
538
+ }
539
 
540
+ protected function init_content_load_more_controls()
541
+ {
542
+ $this->start_controls_section('eael_product_grid_load_more_section', [
543
+ 'label' => esc_html__('Load More', 'essential-addons-for-elementor-lite'),
544
+ 'conditions' => [
545
+ 'relation' => 'or',
546
+ 'terms' => [
547
+ [
548
+ 'name' => 'eael_product_grid_layout',
549
+ 'operator' => 'in',
550
+ 'value' => [
551
+ 'masonry',
552
+ ],
553
+ ],
554
+ [
555
+ 'name' => 'show_pagination',
556
+ 'operator' => '!=',
557
+ 'value' => 'true'
558
+ ],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
559
  ],
560
+ ],
561
+ ]);
562
+
563
+ $this->add_control('show_load_more', [
564
+ 'label' => __('Show Load More', 'essential-addons-for-elementor-lite'),
565
+ 'type' => Controls_Manager::SWITCHER,
566
+ 'label_on' => __('Show', 'essential-addons-for-elementor-lite'),
567
+ 'label_off' => __('Hide', 'essential-addons-for-elementor-lite'),
568
+ 'return_value' => 'true',
569
+ 'default' => '',
570
+ ]);
571
+
572
+ $this->add_control('show_load_more_text', [
573
+ 'label' => esc_html__('Label Text', 'essential-addons-for-elementor-lite'),
574
+ 'type' => Controls_Manager::TEXT,
575
+ 'label_block' => false,
576
+ 'default' => esc_html__('Load More', 'essential-addons-for-elementor-lite'),
577
+ 'condition' => [
578
+ 'show_load_more' => ['yes', '1', 'true'],
579
+ ],
580
+ ]);
581
+
582
+ $this->end_controls_section(); # end of section 'Load More'
583
+ }
584
 
585
+ protected function init_style_product_controls()
586
+ {
587
  $this->start_controls_section(
588
  'eael_product_grid_styles',
589
  [
590
  'label' => esc_html__('Products', 'essential-addons-for-elementor-lite'),
591
+ 'tab' => Controls_Manager::TAB_STYLE,
592
  ]
593
  );
594
 
614
  'default' => 'center',
615
  'toggle' => true,
616
  'selectors' => [
617
+ '{{WRAPPER}} .eael-product-grid:not(.list) .woocommerce ul.products li.product' => 'text-align: {{VALUE}};',
618
+ ],
619
+ 'conditions' => [
620
+ 'relation' => 'and',
621
+ 'terms' => [
622
+ [
623
+ 'name' => 'eael_product_grid_layout',
624
+ 'operator' => '!=',
625
+ 'value' => [
626
+ 'list',
627
+ ],
628
+ ],
629
+ [
630
+ 'name' => 'eael_product_grid_style_preset',
631
+ 'operator' => 'in',
632
+ 'value' => [
633
+ 'eael-product-default',
634
+ 'eael-product-simple',
635
+ 'eael-product-reveal',
636
+ 'eael-product-overlay',
637
+ ]
638
+ ],
639
+ ],
640
+ ],
641
  ]
642
  );
643
 
644
  $this->add_control(
645
  'eael_product_grid_background_color',
646
  [
647
+ 'label' => esc_html__('Content Background Color', 'essential-addons-for-elementor-lite'),
648
+ 'type' => Controls_Manager::COLOR,
649
+ 'default' => '#fff',
650
+ 'selectors' => [
651
+ '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product, {{WRAPPER}} .eael-product-grid .icons-wrap.block-box-style' => 'background-color: {{VALUE}};',
652
+ '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product.eael-product-list-preset-4 .product-details-wrap' => 'background-color: {{VALUE}};',
653
+ '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product.eael-product-list-preset-3, {{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product.eael-product-list-preset-4'
654
+ => 'background-color: transparent;',
655
+ ],
656
+ 'conditions' => [
657
+ 'relation' => 'and',
658
+ 'terms' => [
659
+ [
660
+ 'name' => 'eael_product_grid_layout',
661
+ 'operator' => 'in',
662
+ 'value' => [
663
+ 'grid',
664
+ 'list',
665
+ 'masonry',
666
+ ],
667
+ ],
668
+ [
669
+ 'name' => 'eael_product_list_style_preset',
670
+ 'operator' => '!=',
671
+ 'value' => [
672
+ 'eael-product-list-preset-3',
673
+ ]
674
+ ],
675
+ ],
676
+ ],
677
+ ]
678
+ );
679
+
680
+ $this->add_control(
681
+ 'eael_product_grid_border_color',
682
+ [
683
+ 'label' => esc_html__('Border Color', 'essential-addons-for-elementor-lite'),
684
+ 'type' => Controls_Manager::COLOR,
685
+ 'default' => '#ada8a8',
686
+ 'selectors' => [
687
+ '{{WRAPPER}} .eael-product-grid .price-wrap, {{WRAPPER}} .eael-product-grid .title-wrap' => 'border-color: {{VALUE}};',
688
+ ],
689
+ 'conditions' => [
690
+ 'relation' => 'and',
691
+ 'terms' => [
692
+ [
693
+ 'name' => 'eael_product_grid_layout',
694
+ 'operator' => '!in',
695
+ 'value' => [
696
+ 'grid',
697
+ 'masonry',
698
+ ],
699
+ ],
700
+ [
701
+ 'name' => 'eael_product_list_style_preset',
702
+ 'operator' => '==',
703
+ 'value' => 'eael-product-list-preset-3',
704
+ ],
705
+ ],
706
+ ],
707
+ ]
708
+ );
709
+
710
+ $this->add_control(
711
+ 'eael_peoduct_grid_padding',
712
+ [
713
+ 'label' => __('Padding', 'essential-addons-for-elementor-lite'),
714
+ 'type' => Controls_Manager::DIMENSIONS,
715
+ 'size_units' => ['px', '%', 'em'],
716
+ 'selectors' => [
717
+ '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
718
+ ],
719
+ 'conditions' => [
720
+ 'relation' => 'and',
721
+ 'terms' => [
722
+ [
723
+ 'name' => 'eael_product_grid_layout',
724
+ 'operator' => '!=',
725
+ 'value' => [
726
+ 'list',
727
+ ],
728
+ ],
729
+ [
730
+ 'name' => 'eael_product_grid_style_preset',
731
+ 'operator' => 'in',
732
+ 'value' => [
733
+ 'eael-product-default',
734
+ 'eael-product-simple',
735
+ 'eael-product-reveal',
736
+ 'eael-product-overlay',
737
+ ]
738
+ ],
739
+ ],
740
+ ],
741
+ ]
742
+ );
743
+
744
+ $this->start_controls_tabs('eael_product_grid_tabs', [
745
+ 'conditions' => [
746
+ 'relation' => 'or',
747
+ 'terms' => [
748
+ [
749
+ 'name' => 'eael_product_grid_layout',
750
+ 'operator' => 'in',
751
+ 'value' => [
752
+ 'grid',
753
+ 'mesonry',
754
+ ]
755
+ ],
756
+ [
757
+ 'name' => 'eael_product_list_style_preset',
758
+ 'operator' => '!in',
759
+ 'value' => [
760
+ 'eael-product-list-preset-3',
761
+ 'eael-product-list-preset-4',
762
+ ]
763
+ ]
764
+ ]
765
+ ],
766
+ ]);
767
+
768
+ $this->start_controls_tab('eael_product_grid_tabs_normal', ['label' => esc_html__('Normal', 'essential-addons-for-elementor-lite')]);
769
 
770
  $this->add_group_control(
771
  Group_Control_Border::get_type(),
772
  [
773
+ 'name' => 'eael_peoduct_grid_border',
774
  'fields_options' => [
775
  'border' => [
776
  'default' => 'solid',
777
  ],
778
+ 'width' => [
779
  'default' => [
780
+ 'top' => '1',
781
+ 'right' => '1',
782
+ 'bottom' => '1',
783
+ 'left' => '1',
784
  'isLinked' => false,
785
  ],
786
  ],
787
+ 'color' => [
788
  'default' => '#eee',
789
  ],
790
  ],
791
  'selector' => '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product',
792
+ 'condition' => [
793
+ 'eael_product_grid_style_preset' => [
794
+ 'eael-product-default',
795
+ 'eael-product-simple',
796
+ 'eael-product-overlay',
797
+ 'eael-product-preset-5',
798
+ 'eael-product-preset-6',
799
+ 'eael-product-preset-7',
800
+ 'eael-product-preset-8',
801
+ ]
802
+ ],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
803
  ]
804
  );
805
 
806
+ $this->add_group_control(
807
+ \Elementor\Group_Control_Box_Shadow::get_type(),
808
  [
809
+ 'name' => 'eael_peoduct_grid_shadow',
810
+ 'label' => __('Box Shadow', 'essential-addons-for-elementor-lite'),
811
+ 'selector' => '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product',
812
  ]
813
  );
814
 
 
 
 
 
 
 
 
 
 
 
 
815
 
816
+ $this->end_controls_tab();
 
 
 
 
 
 
817
 
818
+ $this->start_controls_tab('eael_product_grid_hover_styles', ['label' => esc_html__('Hover', 'essential-addons-for-elementor-lite')]);
 
 
 
 
 
 
819
 
820
  $this->add_control(
821
+ 'eael_product_grid_hover_border_color',
822
  [
823
+ 'label' => esc_html__('Border Color', 'essential-addons-for-elementor-lite'),
824
+ 'type' => Controls_Manager::COLOR,
825
+ 'default' => '',
826
  'selectors' => [
827
+ '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product:hover' => 'border-color: {{VALUE}};',
828
+ ],
829
+ 'condition' => [
830
+ 'eael_peoduct_grid_border_border!' => '',
831
+ ],
832
  ]
833
  );
 
834
  $this->add_group_control(
835
+ Group_Control_Box_Shadow::get_type(),
836
  [
837
+ 'name' => 'eael_product_grid_box_shadow_hover',
838
+ 'label' => __('Box Shadow', 'essential-addons-for-elementor-lite'),
839
+ 'selector' => '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product:hover',
840
  ]
841
  );
842
 
843
+ $this->end_controls_tab();
 
 
 
 
 
 
844
 
845
+ $this->end_controls_tabs();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
846
 
 
847
  $this->add_control(
848
+ 'eael_peoduct_grid_border_radius',
849
  [
850
+ 'label' => esc_html__('Border Radius', 'essential-addons-for-elementor-lite'),
851
+ 'type' => Controls_Manager::DIMENSIONS,
852
+ 'selectors' => [
853
+ '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product' => 'border-radius: {{TOP}}px {{RIGHT}}px {{BOTTOM}}px {{LEFT}}px;',
854
+ '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product woocommerce-loop-product__link img' => 'border-radius: {{TOP}}px {{RIGHT}}px 0 0;',
855
+ '{{WRAPPER}} .eael-product-grid.list .woocommerce ul.products li.product .woocommerce-loop-product__link img' => 'border-radius: {{TOP}}px 0 0 {{LEFT}}px;',
856
+ ],
857
  ]
858
  );
859
 
860
+ $this->add_responsive_control(
861
+ 'eael_product_grid_image_width',
862
  [
863
+ 'label' => esc_html__('Image Width(%)', 'essential-addons-for-elementor-lite'),
864
+ 'type' => Controls_Manager::SLIDER,
865
+ 'range' => [
866
+ '%' => [
867
+ 'max' => 50,
868
+ ],
869
+ ],
870
  'selectors' => [
871
+ '{{WRAPPER}} .eael-product-grid.list .eael-product-wrap .product-image-wrap' => 'width: {{SIZE}}%;',
872
+ ],
873
+ 'condition' => [
874
+ 'eael_product_grid_layout' => 'list',
875
+ ],
876
+ 'separator' => 'before',
877
  ]
878
  );
879
 
880
  $this->add_control(
881
+ 'eael_product_grid_details_heading',
882
  [
883
+ 'label' => __('Product Details', 'essential-addons-for-elementor-lite'),
884
+ 'type' => Controls_Manager::HEADING,
885
+ 'separator' => 'before',
886
+ 'conditions' => [
887
+ 'relation' => 'and',
888
+ 'terms' => [
889
+ [
890
+ 'name' => 'eael_product_grid_layout',
891
+ 'operator' => 'in',
892
+ 'value' => [
893
+ 'grid',
894
+ 'list',
895
+ 'masonry',
896
+ ],
897
+ ],
898
+ [
899
+ 'name' => 'eael_product_grid_style_preset',
900
+ 'operator' => '!in',
901
+ 'value' => [
902
+ 'eael-product-default',
903
+ 'eael-product-simple',
904
+ 'eael-product-reveal',
905
+ 'eael-product-overlay',
906
+ ]
907
+ ],
908
+ ],
909
+ ],
910
  ]
911
  );
912
 
913
+ $this->add_responsive_control(
914
+ 'eael_product_grid_details_alignment',
915
+ [
916
+ 'label' => __('Alignment', 'essential-addons-for-elementor-lite'),
917
+ 'type' => Controls_Manager::CHOOSE,
918
+ 'options' => [
919
+ 'left' => [
920
+ 'title' => __('Left', 'essential-addons-for-elementor-lite'),
921
+ 'icon' => 'fa fa-align-left',
922
+ ],
923
+ 'center' => [
924
+ 'title' => __('Center', 'essential-addons-for-elementor-lite'),
925
+ 'icon' => 'fa fa-align-center',
926
+ ],
927
+ 'right' => [
928
+ 'title' => __('Right', 'essential-addons-for-elementor-lite'),
929
+ 'icon' => 'fa fa-align-right',
930
+ ],
931
+ ],
932
+ 'default' => 'center',
933
+ 'selectors' => [
934
+ '{{WRAPPER}} .eael-product-grid .product-details-wrap' => 'text-align: {{VALUE}};',
935
+ ],
936
+ 'conditions' => [
937
+ 'relation' => 'and',
938
+ 'terms' => [
939
+ [
940
+ 'name' => 'eael_product_grid_layout',
941
+ 'operator' => '!=',
942
+ 'value' => [
943
+ 'list',
944
+ ],
945
+ ],
946
+ [
947
+ 'name' => 'eael_product_grid_style_preset',
948
+ 'operator' => '!in',
949
+ 'value' => [
950
+ 'eael-product-default',
951
+ 'eael-product-simple',
952
+ 'eael-product-reveal',
953
+ 'eael-product-overlay',
954
+ ]
955
+ ],
956
+ ],
957
+ ],
958
+ ]
959
+ );
960
+
961
+ $this->add_responsive_control(
962
+ 'eael_product_grid_inner_padding',
963
+ [
964
+ 'label' => __('Padding', 'essential-addons-for-elementor-lite'),
965
+ 'type' => Controls_Manager::DIMENSIONS,
966
+ 'size_units' => ['px', '%'],
967
+ 'range' => [
968
+ 'px' => [
969
+ 'min' => 0,
970
+ 'max' => 100,
971
+ 'step' => 1,
972
+ ],
973
+ '%' => [
974
+ 'min' => 0,
975
+ 'max' => 100,
976
+ ],
977
+ ],
978
+ 'default' => [
979
+ 'top' => '15',
980
+ 'right' => '15',
981
+ 'bottom' => '15',
982
+ 'left' => '15',
983
+ 'unit' => 'px',
984
+ 'isLinked' => true,
985
+ ],
986
+ 'selectors' => [
987
+ '{{WRAPPER}} .eael-product-grid.grid .eael-product-wrap .product-details-wrap, {{WRAPPER}} .eael-product-grid.masonry .eael-product-wrap .product-details-wrap' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
988
+ ],
989
+ 'conditions' => [
990
+ 'relation' => 'and',
991
+ 'terms' => [
992
+ [
993
+ 'name' => 'eael_product_grid_layout',
994
+ 'operator' => '!=',
995
+ 'value' => [
996
+ 'list',
997
+ ],
998
+ ],
999
+ [
1000
+ 'name' => 'eael_product_grid_style_preset',
1001
+ 'operator' => '!in',
1002
+ 'value' => [
1003
+ 'eael-product-default',
1004
+ 'eael-product-simple',
1005
+ 'eael-product-reveal',
1006
+ 'eael-product-overlay',
1007
+ ]
1008
+ ],
1009
+ ],
1010
+ ],
1011
+ ]
1012
+ );
1013
+
1014
+ $this->add_responsive_control(
1015
+ 'eael_product_list_padding',
1016
+ [
1017
+ 'label' => esc_html__('Padding (PX)', 'essential-addons-for-elementor-lite'),
1018
+ 'type' => Controls_Manager::SLIDER,
1019
+ 'range' => [
1020
+ 'px' => [
1021
+ 'max' => 100,
1022
+ ],
1023
+ ],
1024
+ 'selectors' => [
1025
+ '{{WRAPPER}} .eael-product-grid.list .eael-product-list-preset-1 .eael-product-wrap .product-details-wrap, {{WRAPPER}} .eael-product-grid.list .eael-product-list-preset-4 .eael-product-wrap .product-details-wrap' => 'padding: {{SIZE}}px;',
1026
+ '{{WRAPPER}} .eael-product-grid.list .eael-product-list-preset-2 .eael-product-wrap' => 'padding: {{SIZE}}px;',
1027
+ '{{WRAPPER}} .eael-product-grid.list .eael-product-list-preset-2 .eael-product-wrap .product-details-wrap' => 'padding: 0 0 0 {{SIZE}}px;',
1028
+ '{{WRAPPER}} .eael-product-grid.list .eael-product-list-preset-3 .eael-product-wrap .product-details-wrap' => 'padding: 0 0 0 {{SIZE}}px;',
1029
+ ],
1030
+ 'condition' => [
1031
+ 'eael_product_grid_layout' => 'list',
1032
+ ],
1033
+ ]
1034
+ );
1035
+
1036
+ $this->add_responsive_control(
1037
+ 'eael_product_list_content_width',
1038
+ [
1039
+ 'label' => esc_html__('Width (%)', 'essential-addons-for-elementor-lite'),
1040
+ 'type' => Controls_Manager::SLIDER,
1041
+ 'range' => [
1042
+ '%' => [
1043
+ 'max' => 100,
1044
+ ],
1045
+ ],
1046
+ 'selectors' => [
1047
+ '{{WRAPPER}} .eael-product-grid.list .eael-product-wrap .product-details-wrap' => 'width: {{SIZE}}%;',
1048
+ ],
1049
+ 'condition' => [
1050
+ 'eael_product_grid_layout' => 'list',
1051
+ ],
1052
+ ]
1053
+ );
1054
+
1055
+ $this->end_controls_section();
1056
+ }
1057
+
1058
+ protected function init_style_color_typography_controls()
1059
+ {
1060
+
1061
+ $this->start_controls_section(
1062
+ 'eael_section_product_grid_typography',
1063
+ [
1064
+ 'label' => esc_html__('Color &amp; Typography', 'essential-addons-for-elementor-lite'),
1065
+ 'tab' => Controls_Manager::TAB_STYLE,
1066
+ ]
1067
+ );
1068
+
1069
+ $this->add_control(
1070
+ 'eael_product_grid_product_title_heading',
1071
+ [
1072
+ 'label' => __('Product Title', 'essential-addons-for-elementor-lite'),
1073
+ 'type' => Controls_Manager::HEADING,
1074
+ ]
1075
+ );
1076
+
1077
+ $this->add_control(
1078
+ 'eael_product_grid_product_title_color',
1079
+ [
1080
+ 'label' => esc_html__('Product Title Color', 'essential-addons-for-elementor-lite'),
1081
+ 'type' => Controls_Manager::COLOR,
1082
+ 'default' => '#272727',
1083
+ 'selectors' => [
1084
+ '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product .woocommerce-loop-product__title, {{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product .eael-product-title h2' => 'color: {{VALUE}};',
1085
+ ],
1086
+ ]
1087
+ );
1088
+
1089
+ $this->add_group_control(
1090
+ Group_Control_Typography::get_type(),
1091
+ [
1092
+ 'name' => 'eael_product_grid_product_title_typography',
1093
+ 'selector' => '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product .woocommerce-loop-product__title, {{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product .eael-product-title h2',
1094
+ ]
1095
+ );
1096
+
1097
+ $this->add_control(
1098
+ 'eael_product_grid_product_price_heading',
1099
+ [
1100
+ 'label' => __('Product Price', 'essential-addons-for-elementor-lite'),
1101
+ 'type' => Controls_Manager::HEADING,
1102
+ ]
1103
+ );
1104
+
1105
+ $this->add_control(
1106
+ 'eael_product_grid_product_price_color',
1107
+ [
1108
+ 'label' => esc_html__('Product Price Color', 'essential-addons-for-elementor-lite'),
1109
+ 'type' => Controls_Manager::COLOR,
1110
+ 'default' => '#272727',
1111
+ 'selectors' => [
1112
+ '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product .price, {{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product .eael-product-price' => 'color: {{VALUE}};',
1113
+ ],
1114
+ ]
1115
+ );
1116
+
1117
+ $this->add_group_control(
1118
+ Group_Control_Typography::get_type(),
1119
+ [
1120
+ 'name' => 'eael_product_grid_product_price_typography',
1121
+ 'selector' => '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product .price',
1122
+ ]
1123
+ );
1124
+
1125
+ $this->add_control(
1126
+ 'eael_product_grid_product_rating_heading',
1127
+ [
1128
+ 'label' => __('Star Rating', 'essential-addons-for-elementor-lite'),
1129
+ 'type' => Controls_Manager::HEADING,
1130
+ ]
1131
+ );
1132
+
1133
+ $this->add_control(
1134
+ 'eael_product_grid_product_rating_color',
1135
+ [
1136
+ 'label' => esc_html__('Rating Color', 'essential-addons-for-elementor-lite'),
1137
+ 'type' => Controls_Manager::COLOR,
1138
+ 'default' => '#f2b01e',
1139
+ 'selectors' => [
1140
+ '{{WRAPPER}} .eael-product-grid .woocommerce .star-rating::before' => 'color: {{VALUE}};',
1141
+ '{{WRAPPER}} .eael-product-grid .woocommerce .star-rating span::before' => 'color: {{VALUE}};',
1142
+ ],
1143
+ ]
1144
+ );
1145
+
1146
+ $this->add_group_control(
1147
+ Group_Control_Typography::get_type(),
1148
+ [
1149
+ 'name' => 'eael_product_grid_product_rating_typography',
1150
+ 'selector' => '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product .star-rating',
1151
+ 'conditions' => [
1152
+ 'relation' => 'or',
1153
+ 'terms' => [
1154
+ [
1155
+ 'name' => 'eael_product_grid_style_preset',
1156
+ 'operator' => '!in',
1157
+ 'value' => [
1158
+ 'eael-product-preset-5',
1159
+ 'eael-product-preset-6',
1160
+ 'eael-product-preset-7',
1161
+ 'eael-product-preset-8',
1162
+ ],
1163
+ ],
1164
+ [
1165
+ 'name' => 'eael_product_grid_layout',
1166
+ 'operator' => '!==',
1167
+ 'value' => 'list'
1168
+ ]
1169
+ ],
1170
+ ],
1171
+ ]
1172
+ );
1173
+
1174
+ $this->add_responsive_control(
1175
+ 'eael_product_grid_product_rating_size',
1176
+ [
1177
+ 'label' => esc_html__('Icon Size', 'essential-addons-for-elementor-lite'),
1178
+ 'type' => Controls_Manager::SLIDER,
1179
+ 'range' => [
1180
+ 'px' => [
1181
+ 'max' => 50,
1182
+ ],
1183
+ ],
1184
+ 'default' => [
1185
+ 'size' => 15,
1186
+ ],
1187
+ 'selectors' => [
1188
+ '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product .star-rating' => 'font-size: {{SIZE}}px!important;',
1189
+ ],
1190
+ 'conditions' => [
1191
+ 'relation' => 'or',
1192
+ 'terms' => [
1193
+ [
1194
+ 'name' => 'eael_product_grid_style_preset',
1195
+ 'operator' => 'in',
1196
+ 'value' => [
1197
+ 'eael-product-preset-5',
1198
+ 'eael-product-preset-6',
1199
+ 'eael-product-preset-7',
1200
+ ],
1201
+ ],
1202
+ [
1203
+ 'name' => 'eael_product_grid_layout',
1204
+ 'operator' => '==',
1205
+ 'value' => 'list'
1206
+ ]
1207
+ ],
1208
+ ],
1209
+ ]
1210
+ );
1211
+
1212
+ $this->add_control(
1213
+ 'eael_product_grid_product_desc_heading',
1214
+ [
1215
+ 'label' => __('Product Description', 'essential-addons-for-elementor-lite'),
1216
+ 'type' => Controls_Manager::HEADING,
1217
+ 'condition' => [
1218
+ 'eael_product_grid_layout' => 'list',
1219
+ 'eael_product_grid_excerpt' => 'yes',
1220
+ ],
1221
+ ]
1222
+ );
1223
+
1224
+ $this->add_control(
1225
+ 'eael_product_grid_product_desc_color',
1226
+ [
1227
+ 'label' => esc_html__('Color', 'essential-addons-for-elementor-lite'),
1228
+ 'type' => Controls_Manager::COLOR,
1229
+ 'default' => '#272727',
1230
+ 'selectors' => [
1231
+ '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product .eael-product-excerpt' => 'color: {{VALUE}};',
1232
+ ],
1233
+ 'condition' => [
1234
+ 'eael_product_grid_layout' => 'list',
1235
+ 'eael_product_grid_excerpt' => 'yes',
1236
+ ],
1237
+ ]
1238
+ );
1239
+
1240
+ $this->add_group_control(
1241
+ Group_Control_Typography::get_type(),
1242
+ [
1243
+ 'name' => 'eael_product_grid_product_desc_typography',
1244
+ 'selector' => '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product .eael-product-excerpt',
1245
+ 'condition' => [
1246
+ 'eael_product_grid_layout' => 'list',
1247
+ 'eael_product_grid_excerpt' => 'yes',
1248
+ ],
1249
+ ]
1250
+ );
1251
+
1252
+ $this->add_control(
1253
+ 'eael_product_grid_sale_badge_heading',
1254
+ [
1255
+ 'label' => __('Sale Badge', 'essential-addons-for-elementor-lite'),
1256
+ 'type' => Controls_Manager::HEADING,
1257
+ ]
1258
+ );
1259
+
1260
+ $this->add_control(
1261
+ 'eael_product_grid_sale_badge_color',
1262
+ [
1263
+ 'label' => esc_html__('Sale Badge Color', 'essential-addons-for-elementor-lite'),
1264
+ 'type' => Controls_Manager::COLOR,
1265
+ 'default' => '#fff',
1266
+ 'selectors' => [
1267
+ '{{WRAPPER}} .woocommerce ul.products li.product .onsale, {{WRAPPER}} .woocommerce ul.products li.product .eael-onsale' => 'color: {{VALUE}};',
1268
+ ],
1269
+ ]
1270
+ );
1271
+
1272
+ $this->add_control(
1273
+ 'eael_product_grid_sale_badge_background',
1274
+ [
1275
+ 'label' => esc_html__('Sale Badge Background', 'essential-addons-for-elementor-lite'),
1276
+ 'type' => Controls_Manager::COLOR,
1277
+ 'default' => '#ff2a13',
1278
+ 'selectors' => [
1279
+ '{{WRAPPER}} .woocommerce ul.products li.product .onsale, {{WRAPPER}} .woocommerce ul.products li.product .eael-onsale' => 'background-color: {{VALUE}};',
1280
+ '{{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product .price ins, {{WRAPPER}} .eael-product-grid .woocommerce ul.products li.product .eael-product-price ins' => 'color: {{VALUE}};',
1281
+ '{{WRAPPER}} .woocommerce ul.products li.product .eael-onsale:not(.outofstock).sale-preset-4:after' => 'border-left-color: {{VALUE}}; border-right-color: {{VALUE}};',
1282
+ ],
1283
+ ]
1284
+ );
1285
+
1286
+ $this->add_group_control(
1287
+ Group_Control_Typography::get_type(),
1288
+ [
1289
+ 'name' => 'eael_product_grid_sale_badge_typography',
1290
+ 'selector' => '{{WRAPPER}} .woocommerce ul.products li.product .onsale, {{WRAPPER}} .woocommerce ul.products li.product .eael-onsale:not(.outofstock)',
1291
+ ]
1292
+ );
1293
+
1294
+ // stock out badge
1295
+ $this->add_control(
1296
+ 'eael_product_grid_stock_out_badge_heading',
1297
+ [
1298
+ 'label' => __('Stock Out Badge', 'essential-addons-for-elementor-lite'),
1299
+ 'type' => Controls_Manager::HEADING,
1300
+ ]
1301
+ );
1302
+
1303
+ $this->add_control(
1304
+ 'eael_product_grid_stock_out_badge_color',
1305
+ [
1306
+ 'label' => esc_html__('Stock Out Badge Color', 'essential-addons-for-elementor-lite'),
1307
+ 'type' => Controls_Manager::COLOR,
1308
+ 'default' => '#fff',
1309
+ 'selectors' => [
1310
+ '{{WRAPPER}} .woocommerce ul.products li.product .outofstock-badge, {{WRAPPER}} .woocommerce ul.products li.product .eael-onsale.outofstock' => 'color: {{VALUE}};',
1311
+ ],
1312
+ ]
1313
+ );
1314
+
1315
+ $this->add_control(
1316
+ 'eael_product_grid_stock_out_badge_background',
1317
+ [
1318
+ 'label' => esc_html__('Stock Out Badge Background', 'essential-addons-for-elementor-lite'),
1319
+ 'type' => Controls_Manager::COLOR,
1320
+ 'default' => '#ff2a13',
1321
+ 'selectors' => [
1322
+ '{{WRAPPER}} .woocommerce ul.products li.product .outofstock-badge, {{WRAPPER}} .woocommerce ul.products li.product .eael-onsale.outofstock' => 'background-color: {{VALUE}};',
1323
+ '{{WRAPPER}} .woocommerce ul.products li.product .eael-onsale.outofstock.sale-preset-4:after' => 'border-left-color: {{VALUE}}; border-right-color: {{VALUE}};',
1324
+ ],
1325
+ ]
1326
+ );
1327
+
1328
+ $this->add_group_control(
1329
+ Group_Control_Typography::get_type(),
1330
+ [
1331
+ 'name' => 'eael_product_grid_stock_out_badge_typography',
1332
+ 'selector' => '{{WRAPPER}} .woocommerce ul.products li.product .outofstock-badge, {{WRAPPER}} .woocommerce ul.products li.product .eael-onsale.outofstock',
1333
+ ]
1334
+ );
1335
+
1336
+ $this->end_controls_section();
1337
+ }
1338
+
1339
+ protected function init_style_addtocart_controls()
1340
+ {
1341
+ // add to cart button
1342
+ $this->start_controls_section(
1343
+ 'eael_section_product_grid_add_to_cart_styles',
1344
+ [
1345
+ 'label' => esc_html__('Add to Cart Button Styles', 'essential-addons-for-elementor-lite'),
1346
+ 'tab' => Controls_Manager::TAB_STYLE,
1347
+ 'condition' => [
1348
+ 'eael_product_grid_style_preset!' => [
1349
+ 'eael-product-preset-5',
1350
+ 'eael-product-preset-6',
1351
+ 'eael-product-preset-7',
1352
+ 'eael-product-preset-8',
1353
+ ],
1354
+ 'eael_product_grid_layout!' => 'list',
1355
+ ],
1356
+ ]
1357
+ );
1358
+
1359
+ $this->add_control(
1360
+ 'eael_product_grid_add_to_cart_padding',
1361
+ [
1362
+ 'label' => __('Padding', 'essential-addons-for-elementor-lite'),
1363
+ 'type' => Controls_Manager::DIMENSIONS,
1364
+ 'size_units' => ['px', '%', 'em'],
1365
+ 'selectors' => [
1366
+ '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.add_to_cart_button,
1367
+ {{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link,
1368
+ {{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1369
+ ],
1370
+ ]
1371
+ );
1372
+
1373
+ $this->add_control(
1374
+ 'eael_product_grid_add_to_cart_radius',
1375
+ [
1376
+ 'label' => __('Radius', 'essential-addons-for-elementor-lite'),
1377
+ 'type' => Controls_Manager::DIMENSIONS,
1378
+ 'size_units' => ['px', '%', 'em'],
1379
+ 'selectors' => [
1380
+ '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.add_to_cart_button,
1381
+ {{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link,
1382
+ {{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1383
+ ],
1384
+ ]
1385
+ );
1386
+ $this->add_control(
1387
+ 'eael_product_grid_add_to_cart_is_gradient_bg',
1388
+ [
1389
+ 'label' => __('Use Gradient Background', 'essential-addons-for-elementor-lite'),
1390
+ 'type' => \Elementor\Controls_Manager::SWITCHER,
1391
+ 'label_on' => __('Show', 'essential-addons-for-elementor-lite'),
1392
+ 'label_off' => __('Hide', 'essential-addons-for-elementor-lite'),
1393
+ 'return_value' => 'yes',
1394
+ ]
1395
+ );
1396
+
1397
+ $this->start_controls_tabs('eael_product_grid_add_to_cart_style_tabs');
1398
+
1399
+ $this->start_controls_tab('normal', ['label' => esc_html__('Normal', 'essential-addons-for-elementor-lite')]);
1400
+
1401
+ $this->add_control(
1402
+ 'eael_product_grid_add_to_cart_color',
1403
+ [
1404
+ 'label' => esc_html__('Button Color', 'essential-addons-for-elementor-lite'),
1405
+ 'type' => Controls_Manager::COLOR,
1406
+ 'default' => '#fff',
1407
+ 'selectors' => [
1408
+ '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.add_to_cart_button' => 'color: {{VALUE}};',
1409
+ '{{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link' => 'color: {{VALUE}};',
1410
+ '{{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart' => 'color: {{VALUE}};',
1411
+ ],
1412
+ ]
1413
+ );
1414
+
1415
+ $this->add_group_control(
1416
+ \Elementor\Group_Control_Background::get_type(),
1417
+ [
1418
+ 'name' => 'eael_product_grid_add_to_cart_gradient_background',
1419
+ 'label' => __('Background', 'essential-addons-for-elementor-lite'),
1420
+ 'types' => ['classic', 'gradient'],
1421
+ 'selector' => '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.add_to_cart_button,
1422
+ {{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link,
1423
+ {{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart',
1424
+ 'condition' => [
1425
+ 'eael_product_grid_add_to_cart_is_gradient_bg' => 'yes'
1426
+ ]
1427
+ ]
1428
+ );
1429
+
1430
+ $this->add_control(
1431
+ 'eael_product_grid_add_to_cart_background',
1432
+ [
1433
+ 'label' => esc_html__('Background', 'essential-addons-for-elementor-lite'),
1434
+ 'type' => Controls_Manager::COLOR,
1435
+ 'default' => '#333',
1436
+ 'selectors' => [
1437
+ '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.add_to_cart_button' => 'background-color: {{VALUE}};',
1438
+ '{{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link' => 'background-color: {{VALUE}};',
1439
+ '{{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart' => 'background-color: {{VALUE}};',
1440
+ ],
1441
+ 'condition' => [
1442
+ 'eael_product_grid_add_to_cart_is_gradient_bg' => ''
1443
+ ]
1444
+ ]
1445
+ );
1446
+
1447
+ $this->add_group_control(
1448
+ Group_Control_Border::get_type(),
1449
+ [
1450
+ 'name' => 'eael_product_grid_add_to_cart_border',
1451
+ 'selector' => '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.add_to_cart_button, {{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link, {{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart',
1452
+ ]
1453
+ );
1454
+
1455
+ $this->add_group_control(
1456
+ Group_Control_Typography::get_type(),
1457
+ [
1458
+ 'name' => 'eael_product_grid_add_to_cart_typography',
1459
+ 'selector' => '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.add_to_cart_button',
1460
+ 'condition' => [
1461
+ 'eael_product_grid_style_preset' => ['eael-product-default', 'eael-product-simple'],
1462
+ ],
1463
+ ]
1464
+ );
1465
+
1466
+ $this->end_controls_tab();
1467
+
1468
+ $this->start_controls_tab('eael_product_grid_add_to_cart_hover_styles', ['label' => esc_html__('Hover', 'essential-addons-for-elementor-lite')]);
1469
+
1470
+ $this->add_control(
1471
+ 'eael_product_grid_add_to_cart_hover_color',
1472
+ [
1473
+ 'label' => esc_html__('Button Color', 'essential-addons-for-elementor-lite'),
1474
+ 'type' => Controls_Manager::COLOR,
1475
+ 'default' => '#fff',
1476
+ 'selectors' => [
1477
+ '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.add_to_cart_button:hover' => 'color: {{VALUE}};',
1478
+ '{{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:hover' => 'color: {{VALUE}};',
1479
+ '{{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:hover' => 'color: {{VALUE}};',
1480
+ ],
1481
+ ]
1482
+ );
1483
+ $this->add_group_control(
1484
+ \Elementor\Group_Control_Background::get_type(),
1485
+ [
1486
+ 'name' => 'eael_product_grid_add_to_cart_hover_gradient_background',
1487
+ 'label' => __('Background', 'essential-addons-for-elementor-lite'),
1488
+ 'types' => ['classic', 'gradient'],
1489
+ 'selector' => '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.add_to_cart_button:hover,
1490
+ {{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:hover,
1491
+ {{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:hover',
1492
+ 'condition' => [
1493
+ 'eael_product_grid_add_to_cart_is_gradient_bg' => 'yes'
1494
+ ]
1495
+ ]
1496
+ );
1497
+ $this->add_control(
1498
+ 'eael_product_grid_add_to_cart_hover_background',
1499
+ [
1500
+ 'label' => esc_html__('Background', 'essential-addons-for-elementor-lite'),
1501
+ 'type' => Controls_Manager::COLOR,
1502
+ 'default' => '#333',
1503
+ 'selectors' => [
1504
+ '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.add_to_cart_button:hover' => 'background-color: {{VALUE}};',
1505
+ '{{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:hover' => 'background-color: {{VALUE}};',
1506
+ '{{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:hover' => 'background-color: {{VALUE}};',
1507
+ ],
1508
+ 'condition' => [
1509
+ 'eael_product_grid_add_to_cart_is_gradient_bg' => '',
1510
+ ],
1511
+ ]
1512
+ );
1513
+
1514
+ $this->add_control(
1515
+ 'eael_product_grid_add_to_cart_hover_border_color',
1516
+ [
1517
+ 'label' => esc_html__('Border Color', 'essential-addons-for-elementor-lite'),
1518
+ 'type' => Controls_Manager::COLOR,
1519
+ 'default' => '',
1520
+ 'selectors' => [
1521
+ '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.add_to_cart_button:hover' => 'border-color: {{VALUE}};',
1522
+ '{{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:hover' => 'border-color: {{VALUE}};',
1523
+ '{{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .added_to_cart:hover' => 'border-color: {{VALUE}};',
1524
+ ],
1525
+ ]
1526
+ );
1527
+
1528
+ $this->end_controls_tab();
1529
+
1530
+ $this->end_controls_tabs();
1531
+
1532
+ $this->end_controls_section();
1533
+ }
1534
+
1535
+ protected function eael_product_badges()
1536
+ {
1537
+ $this->start_controls_section(
1538
+ 'eael_section_product_badges',
1539
+ [
1540
+ 'label' => esc_html__('Sale / Stock Out Badge', 'essential-addons-for-elementor-lite'),
1541
+ 'conditions' => [
1542
+ 'relation' => 'and',
1543
+ 'terms' => [
1544
+ [
1545
+ 'name' => 'eael_product_grid_layout',
1546
+ 'operator' => '!=',
1547
+ 'value' => [
1548
+ 'grid',
1549
+ 'list',
1550
+ 'masonry',
1551
+ ],
1552
+ ],
1553
+ [
1554
+ 'name' => 'eael_product_grid_style_preset',
1555
+ 'operator' => '!in',
1556
+ 'value' => [
1557
+ 'eael-product-default',
1558
+ 'eael-product-simple',
1559
+ 'eael-product-reveal',
1560
+ 'eael-product-overlay',
1561
+ ]
1562
+ ],
1563
+ ],
1564
+ ],
1565
+ ]
1566
+ );
1567
+ $this->add_control(
1568
+ 'eael_product_sale_badge_preset',
1569
+ [
1570
+ 'label' => esc_html__('Style Preset', 'essential-addons-for-elementor-lite'),
1571
+ 'type' => Controls_Manager::SELECT,
1572
+ 'default' => 'sale-preset-1',
1573
+ 'options' => [
1574
+ 'sale-preset-1' => esc_html__('Preset 1', 'essential-addons-for-elementor-lite'),
1575
+ 'sale-preset-2' => esc_html__('Preset 2', 'essential-addons-for-elementor-lite'),
1576
+ 'sale-preset-3' => esc_html__('Preset 3', 'essential-addons-for-elementor-lite'),
1577
+ 'sale-preset-4' => esc_html__('Preset 4', 'essential-addons-for-elementor-lite'),
1578
+ 'sale-preset-5' => esc_html__('Preset 5', 'essential-addons-for-elementor-lite'),
1579
+
1580
+ ]
1581
+ ]
1582
+ );
1583
+
1584
+ $this->add_control(
1585
+ 'eael_product_sale_badge_alignment',
1586
+ [
1587
+ 'label' => __('Alignment', 'essential-addons-for-elementor-lite'),
1588
+ 'type' => Controls_Manager::CHOOSE,
1589
+ 'options' => [
1590
+ 'left' => [
1591
+ 'title' => __('Left', 'essential-addons-for-elementor-lite'),
1592
+ 'icon' => 'fa fa-align-left',
1593
+ ],
1594
+ 'right' => [
1595
+ 'title' => __('Right', 'essential-addons-for-elementor-lite'),
1596
+ 'icon' => 'fa fa-align-right',
1597
+ ],
1598
+ ],
1599
+ 'condition' => [
1600
+ 'eael_product_grid_layout!' => 'list',
1601
+ ],
1602
+ ]
1603
+ );
1604
+
1605
+ $this->end_controls_section();
1606
+ }
1607
+
1608
+ protected function eael_product_action_buttons()
1609
+ {
1610
+ $this->start_controls_section(
1611
+ 'eael_section_product_action_buttons',
1612
+ [
1613
+ 'label' => esc_html__('Buttons', 'essential-addons-for-elementor-lite'),
1614
+ 'conditions' => [
1615
+ 'relation' => 'or',
1616
+ 'terms' => [
1617
+ [
1618
+ 'name' => 'eael_product_grid_style_preset',
1619
+ 'operator' => 'in',
1620
+ 'value' => [
1621
+ 'eael-product-preset-5',
1622
+ 'eael-product-preset-6',
1623
+ 'eael-product-preset-7',
1624
+ 'eael-product-preset-8',
1625
+ ],
1626
+ ],
1627
+ [
1628
+ 'name' => 'eael_product_grid_layout',
1629
+ 'operator' => '==',
1630
+ 'value' => 'list'
1631
+ ]
1632
+ ],
1633
+ ],
1634
+ ]
1635
+ );
1636
+
1637
+ $this->add_control(
1638
+ 'eael_product_grid_quick_view',
1639
+ [
1640
+ 'label' => esc_html__('Show Quick view?', 'essential-addons-for-elementor-lite'),
1641
+ 'type' => Controls_Manager::SWITCHER,
1642
+ 'return_value' => 'yes',
1643
+ 'default' => 'yes',
1644
+ 'separator' => 'after',
1645
+ ]
1646
+ );
1647
+
1648
+ $this->add_control(
1649
+ 'eael_product_action_buttons_preset',
1650
+ [
1651
+ 'label' => esc_html__('Style Preset', 'essential-addons-for-elementor-lite'),
1652
+ 'type' => Controls_Manager::SELECT,
1653
+ 'default' => 'details-block-style',
1654
+ 'options' => [
1655
+ 'details-block-style' => esc_html__('Preset 1', 'essential-addons-for-elementor-lite'),
1656
+ 'details-block-style-2' => esc_html__('Preset 2', 'essential-addons-for-elementor-lite'),
1657
+ ],
1658
+ 'condition' => [
1659
+ 'eael_product_grid_layout' => 'list',
1660
+ ],
1661
+ ]
1662
+ );
1663
+
1664
+ $this->end_controls_section();
1665
+ }
1666
+
1667
+ protected function eael_product_action_buttons_style()
1668
+ {
1669
+ $this->start_controls_section(
1670
+ 'eael_section_product_grid_buttons_styles',
1671
+ [
1672
+ 'label' => esc_html__('Button', 'essential-addons-for-elementor-lite'),
1673
+ 'tab' => Controls_Manager::TAB_STYLE,
1674
+ 'conditions' => [
1675
+ 'relation' => 'or',
1676
+ 'terms' => [
1677
+ [
1678
+ 'name' => 'eael_product_grid_style_preset',
1679
+ 'operator' => 'in',
1680
+ 'value' => [
1681
+ 'eael-product-preset-5',
1682
+ 'eael-product-preset-6',
1683
+ 'eael-product-preset-7',
1684
+ 'eael-product-preset-8',
1685
+ ],
1686
+ ],
1687
+ [
1688
+ 'name' => 'eael_product_grid_layout',
1689
+ 'operator' => '==',
1690
+ 'value' => 'list'
1691
+ ]
1692
+ ],
1693
+ ],
1694
+ ]
1695
+ );
1696
+
1697
+ $this->add_control(
1698
+ 'eael_product_grid_buttons_preset5_background',
1699
+ [
1700
+ 'label' => esc_html__('Background Color', 'essential-addons-for-elementor-lite'),
1701
+ 'type' => Controls_Manager::COLOR,
1702
+ 'default' => '#8040FF',
1703
+ 'selectors' => [
1704
+ '{{WRAPPER}} .eael-product-grid .eael-product-wrap .icons-wrap.block-style' => 'background: {{VALUE}};',
1705
+ ],
1706
+ 'conditions' => [
1707
+ 'relation' => 'and',
1708
+ 'terms' => [
1709
+ [
1710
+ 'name' => 'eael_product_grid_layout',
1711
+ 'operator' => 'in',
1712
+ 'value' => [
1713
+ 'grid',
1714
+ 'masonry',
1715
+ ],
1716
+ ],
1717
+ [
1718
+ 'name' => 'eael_product_grid_style_preset',
1719
+ 'operator' => '==',
1720
+ 'value' => 'eael-product-preset-5',
1721
+ ],
1722
+ ],
1723
+ ],
1724
+ ]
1725
+ );
1726
+
1727
+ $this->add_control(
1728
+ 'eael_product_grid_buttons_icon_size',
1729
+ [
1730
+ 'label' => esc_html__('Icons Size', 'essential-addons-for-elementor-lite'),
1731
+ 'type' => Controls_Manager::SLIDER,
1732
+ 'range' => [
1733
+ 'px' => [
1734
+ 'max' => 50,
1735
+ ],
1736
+ ],
1737
+ 'default' => [
1738
+ 'size' => 18,
1739
+ ],
1740
+ 'selectors' => [
1741
+ '{{WRAPPER}} .eael-product-grid.list .eael-product-wrap .icons-wrap li a i' => 'font-size: {{SIZE}}px;',
1742
+ ],
1743
+ 'condition' => [
1744
+ 'eael_product_grid_layout' => 'list',
1745
+ ],
1746
+ ]
1747
+ );
1748
+
1749
+
1750
+ $this->add_group_control(
1751
+ Group_Control_Typography::get_type(),
1752
+ [
1753
+ 'name' => 'eael_product_grid_buttons_typography',
1754
+ 'selector' => '{{WRAPPER}} .eael-product-grid .icons-wrap li.add-to-cart a',
1755
+ ]
1756
+ );
1757
+
1758
+ $this->add_control(
1759
+ 'eael_product_grid_buttons_preset5_border_color',
1760
+ [
1761
+ 'label' => esc_html__('Border Color', 'essential-addons-for-elementor-lite'),
1762
+ 'type' => Controls_Manager::COLOR,
1763
+ 'default' => '#fff',
1764
+ 'selectors' => [
1765
+ '{{WRAPPER}} .eael-product-grid .icons-wrap.block-style li' => 'border-color: {{VALUE}};',
1766
+ ],
1767
+ 'conditions' => [
1768
+ 'relation' => 'and',
1769
+ 'terms' => [
1770
+ [
1771
+ 'name' => 'eael_product_grid_layout',
1772
+ 'operator' => 'in',
1773
+ 'value' => [
1774
+ 'grid',
1775
+ 'masonry',
1776
+ ],
1777
+ ],
1778
+ [
1779
+ 'name' => 'eael_product_grid_style_preset',
1780
+ 'operator' => '==',
1781
+ 'value' => 'eael-product-preset-5',
1782
+ ],
1783
+ ],
1784
+ ],
1785
+ ]
1786
+ );
1787
+
1788
+ $this->start_controls_tabs('eael_product_grid_buttons_style_tabs');
1789
+
1790
+ $this->start_controls_tab('eael_product_grid_buttons_style_tabs_normal', ['label' => esc_html__('Normal', 'essential-addons-for-elementor-lite')]);
1791
+
1792
+ $this->add_control(
1793
+ 'eael_product_grid_buttons_color',
1794
+ [
1795
+ 'label' => esc_html__('Color', 'essential-addons-for-elementor-lite'),
1796
+ 'type' => Controls_Manager::COLOR,
1797
+ 'default' => '#fff',
1798
+ 'selectors' => [
1799
+ '{{WRAPPER}} .eael-product-grid .eael-product-wrap .icons-wrap li a' => 'color: {{VALUE}};',
1800
+ '{{WRAPPER}} .eael-compare-icon' => 'fill: {{VALUE}};',
1801
+ ],
1802
+ ]
1803
+ );
1804
+
1805
+ $this->add_control(
1806
+ 'eael_product_grid_buttons_background',
1807
+ [
1808
+ 'label' => esc_html__('Background Color', 'essential-addons-for-elementor-lite'),
1809
+ 'type' => Controls_Manager::COLOR,
1810
+ 'default' => '#8040FF',
1811
+ 'selectors' => [
1812
+ '{{WRAPPER}} .eael-product-grid .eael-product-wrap .icons-wrap li a' => 'background-color: {{VALUE}};',
1813
+ ],
1814
+ 'conditions' => [
1815
+ 'relation' => 'or',
1816
+ 'terms' => [
1817
+ [
1818
+ 'name' => 'eael_product_grid_style_preset',
1819
+ 'operator' => '!==',
1820
+ 'value' => 'eael-product-preset-5'
1821
+ ],
1822
+ [
1823
+ 'name' => 'eael_product_grid_layout',
1824
+ 'operator' => '==',
1825
+ 'value' => 'list'
1826
+ ]
1827
+ ],
1828
+ ],
1829
+ ]
1830
+ );
1831
+
1832
+ $this->add_group_control(
1833
+ Group_Control_Border::get_type(),
1834
+ [
1835
+ 'name' => 'eael_product_grid_buttons_border',
1836
+ 'selector' => '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.add_to_cart_button, {{WRAPPER}} .eael-product-grid .eael-product-wrap .icons-wrap li a',
1837
+ 'conditions' => [
1838
+ 'relation' => 'or',
1839
+ 'terms' => [
1840
+ [
1841
+ 'name' => 'eael_product_grid_style_preset',
1842
+ 'operator' => '!==',
1843
+ 'value' => 'eael-product-preset-5'
1844
+ ],
1845
+ [
1846
+ 'name' => 'eael_product_action_buttons_preset',
1847
+ 'operator' => '==',
1848
+ 'value' => 'details-block-style-2'
1849
+ ]
1850
+ ],
1851
+ ],
1852
+ ]
1853
+ );
1854
+ $this->add_control(
1855
+ 'eael_product_grid_buttons_border_radius',
1856
+ [
1857
+ 'label' => esc_html__('Border Radius', 'essential-addons-for-elementor-lite'),
1858
+ 'type' => Controls_Manager::SLIDER,
1859
+ 'range' => [
1860
+ 'px' => [
1861
+ 'max' => 100,
1862
+ ],
1863
+ ],
1864
+ 'default' => [
1865
+ 'size' => 3,
1866
+ ],
1867
+ 'selectors' => [
1868
+ '{{WRAPPER}} .eael-product-grid .eael-product-wrap .icons-wrap:not(.details-block-style-2) li a' => 'border-radius: {{SIZE}}px;',
1869
+ '{{WRAPPER}} .eael-product-grid .eael-product-wrap .icons-wrap.details-block-style-2 li:only-child a' => 'border-radius: {{SIZE}}px!important;',
1870
+ '{{WRAPPER}} .eael-product-grid .eael-product-wrap .icons-wrap.details-block-style-2 li:first-child a' => 'border-radius: {{SIZE}}px 0 0 {{SIZE}}px;',
1871
+ '{{WRAPPER}} .eael-product-grid .eael-product-wrap .icons-wrap.details-block-style-2 li:last-child a' => 'border-radius: 0 {{SIZE}}px {{SIZE}}px 0;',
1872
+ ],
1873
+ ]
1874
+ );
1875
+
1876
+ $this->add_control(
1877
+ 'eael_product_grid_buttons_top_spacing',
1878
+ [
1879
+ 'label' => esc_html__('Top Spacing', 'essential-addons-for-elementor-lite'),
1880
+ 'type' => Controls_Manager::SLIDER,
1881
+ 'range' => [
1882
+ 'px' => [
1883
+ 'max' => 100,
1884
+ ],
1885
+ ],
1886
+ 'selectors' => [
1887
+ '{{WRAPPER}} .eael-product-grid .eael-product-wrap .icons-wrap' => 'margin-top: {{SIZE}}px;',
1888
+ ],
1889
+ 'condition' => [
1890
+ 'eael_product_grid_layout' => 'list',
1891
+ ],
1892
+ ]
1893
+ );
1894
+
1895
+ $this->end_controls_tab();
1896
+
1897
+ $this->start_controls_tab('eael_product_grid_buttons_hover_styles', ['label' => esc_html__('Hover', 'essential-addons-for-elementor-lite')]);
1898
+
1899
+ $this->add_control(
1900
+ 'eael_product_grid_buttons_hover_color',
1901
+ [
1902
+ 'label' => esc_html__('Color', 'essential-addons-for-elementor-lite'),
1903
+ 'type' => Controls_Manager::COLOR,
1904
+ 'default' => '#F5EAFF',
1905
+ 'selectors' => [
1906
+ '{{WRAPPER}} .eael-product-grid .eael-product-wrap .icons-wrap li a:hover' => 'color: {{VALUE}};',
1907
+ ],
1908
+ ]
1909
+ );
1910
+
1911
+ $this->add_control(
1912
+ 'eael_product_grid_buttons_hover_background',
1913
+ [
1914
+ 'label' => esc_html__('Background Color', 'essential-addons-for-elementor-lite'),
1915
+ 'type' => Controls_Manager::COLOR,
1916
+ 'default' => '#333',
1917
+ 'selectors' => [
1918
+ '{{WRAPPER}} .eael-product-grid .eael-product-wrap .icons-wrap li a:hover' => 'background-color: {{VALUE}};',
1919
+ ],
1920
+ 'conditions' => [
1921
+ 'relation' => 'or',
1922
+ 'terms' => [
1923
+ [
1924
+ 'name' => 'eael_product_grid_style_preset',
1925
+ 'operator' => '!==',
1926
+ 'value' => 'eael-product-preset-5'
1927
+ ],
1928
+ [
1929
+ 'name' => 'eael_product_action_buttons_preset',
1930
+ 'operator' => '!==',
1931
+ 'value' => 'details-block-style-2'
1932
+ ]
1933
+ ]
1934
+ ],
1935
+ ]
1936
+ );
1937
+
1938
+ $this->add_control(
1939
+ 'eael_product_grid_buttons_hover_border_color',
1940
+ [
1941
+ 'label' => esc_html__('Border Color', 'essential-addons-for-elementor-lite'),
1942
+ 'type' => Controls_Manager::COLOR,
1943
+ 'default' => '',
1944
+ 'selectors' => [
1945
+ '{{WRAPPER}} .eael-product-grid .eael-product-wrap .icons-wrap li a:hover' => 'border-color: {{VALUE}};',
1946
+ ],
1947
+ 'condition' => [
1948
+ 'eael_product_grid_buttons_border_border!' => '',
1949
+ 'eael_product_grid_style_preset!' => 'eael-product-preset-5',
1950
+ ],
1951
+ ]
1952
+ );
1953
+
1954
+ $this->end_controls_tab();
1955
+
1956
+ $this->end_controls_tabs();
1957
+
1958
+ $this->end_controls_section();
1959
+ }
1960
+
1961
+ protected function eael_product_pagination()
1962
+ {
1963
+
1964
+ $this->start_controls_section(
1965
+ 'eael_product_grid_pagination_section',
1966
+ [
1967
+ 'label' => __('Pagination', 'essential-addons-for-elementor-lite'),
1968
+ 'tab' => Controls_Manager::TAB_CONTENT,
1969
+ 'condition' => [
1970
+ 'eael_product_grid_layout' => ['grid', 'list'],
1971
+ 'show_load_more!' => 'true'
1972
+ ],
1973
+ ]
1974
+ );
1975
+
1976
+ $this->add_control(
1977
+ 'show_pagination',
1978
+ [
1979
+ 'label' => __('Show pagination', 'essential-addons-for-elementor-lite'),
1980
+ 'type' => Controls_Manager::SWITCHER,
1981
+ 'label_on' => __('Show', 'essential-addons-for-elementor-lite'),
1982
+ 'label_off' => __('Hide', 'essential-addons-for-elementor-lite'),
1983
+ 'return_value' => 'true',
1984
+ 'default' => '',
1985
+ ]
1986
+ );
1987
+
1988
+ $this->add_control(
1989
+ 'pagination_prev_label',
1990
+ [
1991
+ 'label' => __('Previous Label', 'essential-addons-for-elementor-lite'),
1992
+ 'default' => __('←', 'essential-addons-for-elementor-lite'),
1993
+ 'condition' => [
1994
+ 'show_pagination' => 'true',
1995
+ ]
1996
+ ]
1997
+ );
1998
+
1999
+ $this->add_control(
2000
+ 'pagination_next_label',
2001
+ [
2002
+ 'label' => __('Next Label', 'essential-addons-for-elementor-lite'),
2003
+ 'default' => __('→', 'essential-addons-for-elementor-lite'),
2004
+ 'condition' => [
2005
+ 'show_pagination' => 'true',
2006
+ ]
2007
+ ]
2008
+ );
2009
+
2010
+ $this->end_controls_section();
2011
+ }
2012
+
2013
+ protected function eael_product_pagination_style()
2014
+ {
2015
+ $this->start_controls_section(
2016
+ 'eael_section_product_pagination_style',
2017
+ [
2018
+ 'label' => __('Pagination', 'essential-addons-for-elementor-lite'),
2019
+ 'tab' => Controls_Manager::TAB_STYLE,
2020
+ 'condition' => [
2021
+ 'show_pagination' => 'true',
2022
+ 'eael_product_grid_layout' => ['grid', 'list'],
2023
+ ],
2024
+ ]
2025
+ );
2026
+
2027
+ $this->add_responsive_control(
2028
+ 'eael_product_grid_pagination_alignment',
2029
+ [
2030
+ 'label' => __('Alignment', 'essential-addons-for-elementor-lite'),
2031
+ 'type' => Controls_Manager::CHOOSE,
2032
+ 'options' => [
2033
+ 'left' => [
2034
+ 'title' => __('Left', 'essential-addons-for-elementor-lite'),
2035
+ 'icon' => 'fa fa-align-left',
2036
+ ],
2037
+ 'center' => [
2038
+ 'title' => __('Center', 'essential-addons-for-elementor-lite'),
2039
+ 'icon' => 'fa fa-align-center',
2040
+ ],
2041
+ 'right' => [
2042
+ 'title' => __('Right', 'essential-addons-for-elementor-lite'),
2043
+ 'icon' => 'fa fa-align-right',
2044
+ ],
2045
+ ],
2046
+ 'default' => 'center',
2047
+ 'selectors' => [
2048
+ '{{WRAPPER}} .eael-woo-pagination' => 'text-align: {{VALUE}};',
2049
+ ],
2050
+ ]
2051
+ );
2052
+
2053
+ $this->add_responsive_control(
2054
+ 'eael_product_grid_pagination_top_spacing',
2055
+ [
2056
+ 'label' => esc_html__('Top Spacing', 'essential-addons-for-elementor-lite'),
2057
+ 'type' => Controls_Manager::SLIDER,
2058
+ 'range' => [
2059
+ 'px' => [
2060
+ 'max' => 100,
2061
+ ],
2062
+ ],
2063
+ 'default' => [
2064
+ 'size' => 15,
2065
+ ],
2066
+ 'selectors' => [
2067
+ '{{WRAPPER}} .eael-woo-pagination' => 'margin-top: {{SIZE}}px;',
2068
+ ],
2069
+ ]
2070
+ );
2071
+
2072
+ $this->add_group_control(
2073
+ Group_Control_Typography::get_type(),
2074
+ [
2075
+ 'name' => 'eael_product_grid_pagination_typography',
2076
+ 'selector' => '{{WRAPPER}} .eael-woo-pagination',
2077
+ ]
2078
+ );
2079
+
2080
+ $this->start_controls_tabs('eael_product_grid_pagination_tabs');
2081
+
2082
+ // Normal State Tab
2083
+ $this->start_controls_tab('eael_product_grid_pagination_normal', ['label' => esc_html__('Normal', 'essential-addons-for-elementor-lite')]);
2084
+
2085
+ $this->add_control(
2086
+ 'eael_product_grid_pagination_normal_text_color',
2087
+ [
2088
+ 'label' => esc_html__('Text Color', 'essential-addons-for-elementor-lite'),
2089
+ 'type' => Controls_Manager::COLOR,
2090
+ 'default' => '#2F436C',
2091
+ 'selectors' => [
2092
+ '{{WRAPPER}} .eael-woo-pagination a' => 'color: {{VALUE}};',
2093
+ ],
2094
+ ]
2095
+ );
2096
+
2097
+ $this->add_control(
2098
+ 'eael_product_grid_pagination_normal_bg_color',
2099
+ [
2100
+ 'label' => esc_html__('Background Color', 'essential-addons-for-elementor-lite'),
2101
+ 'type' => Controls_Manager::COLOR,
2102
+ 'default' => '#fff',
2103
+ 'selectors' => [
2104
+ '{{WRAPPER}} .eael-woo-pagination a' => 'background: {{VALUE}};',
2105
+ ],
2106
+ ]
2107
+ );
2108
+
2109
+ $this->add_group_control(
2110
+ Group_Control_Border::get_type(),
2111
+ [
2112
+ 'name' => 'eael_product_grid_pagination_normal_border',
2113
+ 'label' => esc_html__('Border', 'essential-addons-for-elementor-lite'),
2114
+ 'selector' => '{{WRAPPER}} .eael-woo-pagination a, {{WRAPPER}} .eael-woo-pagination span',
2115
+ ]
2116
+ );
2117
+
2118
+ $this->end_controls_tab();
2119
+
2120
+ // Hover State Tab
2121
+ $this->start_controls_tab('eael_product_grid_pagination_hover', ['label' => esc_html__('Hover', 'essential-addons-for-elementor-lite')]);
2122
+
2123
+ $this->add_control(
2124
+ 'eael_product_grid_pagination_hover_text_color',
2125
+ [
2126
+ 'label' => esc_html__('Text Color', 'essential-addons-for-elementor-lite'),
2127
+ 'type' => Controls_Manager::COLOR,
2128
+ 'default' => '#fff',
2129
+ 'selectors' => [
2130
+ '{{WRAPPER}} .eael-woo-pagination a:hover' => 'color: {{VALUE}};',
2131
+ ],
2132
+ ]
2133
+ );
2134
+
2135
+ $this->add_control(
2136
+ 'eael_product_grid_pagination_hover_bg_color',
2137
+ [
2138
+ 'label' => esc_html__('Background Color', 'essential-addons-for-elementor-lite'),
2139
+ 'type' => Controls_Manager::COLOR,
2140
+ 'default' => '#8040FF',
2141
+ 'selectors' => [
2142
+ '{{WRAPPER}} .eael-woo-pagination a:hover' => 'background: {{VALUE}};',
2143
+ ],
2144
+ ]
2145
+ );
2146
+
2147
+ $this->add_control(
2148
+ 'eael_product_grid_pagination_hover_border_color',
2149
+ [
2150
+ 'label' => esc_html__('Border Color', 'essential-addons-for-elementor-lite'),
2151
+ 'type' => Controls_Manager::COLOR,
2152
+ 'default' => '',
2153
+ 'selectors' => [
2154
+ '{{WRAPPER}} .eael-woo-pagination a:hover' => 'border-color: {{VALUE}};',
2155
+ ],
2156
+ 'condition' => [
2157
+ 'eael_product_grid_pagination_normal_border_border!' => '',
2158
+ ]
2159
+ ]
2160
+
2161
+ );
2162
+ $this->end_controls_tab();
2163
+
2164
+ // Active State Tab
2165
+ $this->start_controls_tab('eael_product_grid_pagination_active', ['label' => esc_html__('Active', 'essential-addons-for-elementor-lite')]);
2166
+
2167
+ $this->add_control(
2168
+ 'eael_product_grid_pagination_hover_text_active',
2169
+ [
2170
+ 'label' => esc_html__('Text Color', 'essential-addons-for-elementor-lite'),
2171
+ 'type' => Controls_Manager::COLOR,
2172
+ 'default' => '#fff',
2173
+ 'selectors' => [
2174
+ '{{WRAPPER}} .eael-woo-pagination .current' => 'color: {{VALUE}};',
2175
+ ],
2176
+ ]
2177
+ );
2178
+
2179
+ $this->add_control(
2180
+ 'eael_product_grid_pagination_active_bg_color',
2181
+ [
2182
+ 'label' => esc_html__('Background Color', 'essential-addons-for-elementor-lite'),
2183
+ 'type' => Controls_Manager::COLOR,
2184
+ 'default' => '#8040FF',
2185
+ 'selectors' => [
2186
+ '{{WRAPPER}} .eael-woo-pagination .current' => 'background: {{VALUE}};',
2187
+ ],
2188
+ ]
2189
+ );
2190
+
2191
+ $this->add_control(
2192
+ 'eael_product_grid_pagination_active_border_color',
2193
+ [
2194
+ 'label' => esc_html__('Border Color', 'essential-addons-for-elementor-lite'),
2195
+ 'type' => Controls_Manager::COLOR,
2196
+ 'default' => '',
2197
+ 'selectors' => [
2198
+ '{{WRAPPER}} .eael-woo-pagination .current' => 'border-color: {{VALUE}};',
2199
+ ],
2200
+ 'condition' => [
2201
+ 'eael_product_grid_pagination_normal_border_border!' => '',
2202
+ ]
2203
+ ]
2204
+
2205
+ );
2206
+ $this->end_controls_tab();
2207
+
2208
+ $this->end_controls_tabs();
2209
+
2210
+ $this->add_control(
2211
+ 'eael_product_grid_pagination_border_radius',
2212
+ [
2213
+ 'label' => esc_html__('Border Radius', 'essential-addons-for-elementor-lite'),
2214
+ 'type' => Controls_Manager::SLIDER,
2215
+ 'range' => [
2216
+ 'px' => [
2217
+ 'max' => 100,
2218
+ ],
2219
+ ],
2220
+ 'selectors' => [
2221
+ '{{WRAPPER}} .eael-woo-pagination li > *' => 'border-radius: {{SIZE}}px;',
2222
+ ],
2223
+ ]
2224
+ );
2225
+
2226
+ // Pagination Loader
2227
+ $this->add_control(
2228
+ 'eael_product_pagination_loader',
2229
+ [
2230
+ 'label' => __('Loader', 'essential-addons-for-elementor-lite'),
2231
+ 'type' => Controls_Manager::HEADING,
2232
+ 'separator' => 'before',
2233
+ ]
2234
+ );
2235
+
2236
+ $this->add_control(
2237
+ 'eael_product_pagination_loader_color',
2238
+ [
2239
+ 'label' => __('Color', 'essential-addons-for-elementor-lite'),
2240
+ 'type' => Controls_Manager::COLOR,
2241
+ 'default' => '#000',
2242
+ 'selectors' => [
2243
+ '{{WRAPPER}}.eael-product-loader::after' => 'border-left-color: {{VALUE}};',
2244
+ ],
2245
+ ]
2246
+ );
2247
+
2248
+ $this->end_controls_section();
2249
+ }
2250
+
2251
+ protected function eael_product_view_popup_style()
2252
+ {
2253
+ $this->start_controls_section(
2254
+ 'eael_product_popup',
2255
+ [
2256
+ 'label' => __('Popup', 'essential-addons-for-elementor-lite'),
2257
+ 'tab' => Controls_Manager::TAB_STYLE,
2258
+ ]
2259
+ );
2260
+
2261
+ $this->add_control(
2262
+ 'eael_product_popup_title',
2263
+ [
2264
+ 'label' => __('Title', 'essential-addons-for-elementor-lite'),
2265
+ 'type' => Controls_Manager::HEADING,
2266
+ ]
2267
+ );
2268
+
2269
+ $this->add_group_control(
2270
+ Group_Control_Typography::get_type(),
2271
+ [
2272
+ 'name' => 'eael_product_popup_title_typography',
2273
+ 'label' => __('Typography', 'essential-addons-for-elementor-lite'),
2274
+ 'selector' => '{{WRAPPER}} .eael-product-popup.woocommerce div.product .product_title',
2275
+ ]
2276
+ );
2277
+
2278
+ $this->add_control(
2279
+ 'eael_product_popup_title_color',
2280
+ [
2281
+ 'label' => __('Title Color', 'essential-addons-for-elementor-lite'),
2282
+ 'type' => Controls_Manager::COLOR,
2283
+ 'default' => '#252525',
2284
+ 'selectors' => [
2285
+ '{{WRAPPER}} .eael-product-popup h1.product_title.entry-title' => 'color: {{VALUE}};',
2286
+ ],
2287
+ ]
2288
+ );
2289
+
2290
+ $this->add_control(
2291
+ 'eael_product_popup_price',
2292
+ [
2293
+ 'label' => __('Price', 'essential-addons-for-elementor-lite'),
2294
+ 'type' => Controls_Manager::HEADING,
2295
+ 'separator' => 'before',
2296
+ ]
2297
+ );
2298
+
2299
+ $this->add_group_control(
2300
+ Group_Control_Typography::get_type(),
2301
+ [
2302
+ 'name' => 'eael_product_popup_price_typography',
2303
+ 'label' => __('Typography', 'essential-addons-for-elementor-lite'),
2304
+ 'selector' => '{{WRAPPER}} .eael-product-popup.woocommerce div.product .price',
2305
+ ]
2306
+ );
2307
+
2308
+ $this->add_control(
2309
+ 'eael_product_popup_price_color',
2310
+ [
2311
+ 'label' => __('Price Color', 'essential-addons-for-elementor-lite'),
2312
+ 'type' => Controls_Manager::COLOR,
2313
+ 'default' => '#0242e4',
2314
+ 'selectors' => [
2315
+ '{{WRAPPER}} .eael-product-popup.woocommerce div.product .price' => 'color: {{VALUE}}!important;',
2316
+ ],
2317
+ ]
2318
+ );
2319
+
2320
+ $this->add_control(
2321
+ 'eael_product_popup_sale_price_color',
2322
+ [
2323
+ 'label' => __('Sale Price Color', 'essential-addons-for-elementor-lite'),
2324
+ 'type' => Controls_Manager::COLOR,
2325
+ 'default' => '#ff2a13',
2326
+ 'selectors' => [
2327
+ '{{WRAPPER}} .eael-product-popup.woocommerce div.product .price ins' => 'color: {{VALUE}}!important;',
2328
+ ],
2329
+ ]
2330
+ );
2331
+
2332
+ $this->add_control(
2333
+ 'eael_product_popup_content',
2334
+ [
2335
+ 'label' => __('Content', 'essential-addons-for-elementor-lite'),
2336
+ 'type' => Controls_Manager::HEADING,
2337
+ 'separator' => 'before',
2338
+ ]
2339
+ );
2340
+
2341
+ $this->add_group_control(
2342
+ Group_Control_Typography::get_type(),
2343
+ [
2344
+ 'name' => 'eael_product_popup_content_typography',
2345
+ 'label' => __('Typography', 'essential-addons-for-elementor-lite'),
2346
+ 'selector' => '{{WRAPPER}} .eael-product-popup.woocommerce div.product .woocommerce-product-details__short-description',
2347
+ ]
2348
+ );
2349
+
2350
+ $this->add_control(
2351
+ 'eael_product_popup_content_color',
2352
+ [
2353
+ 'label' => __('Content Color', 'essential-addons-for-elementor-lite'),
2354
+ 'type' => Controls_Manager::COLOR,
2355
+ 'default' => '#707070',
2356
+ 'selectors' => [
2357
+ '{{WRAPPER}} .eael-product-popup .woocommerce-product-details__short-description' => 'color: {{VALUE}};',
2358
+ ],
2359
+ ]
2360
+ );
2361
+
2362
+ $this->add_control(
2363
+ 'eael_product_popup_review_link_color',
2364
+ [
2365
+ 'label' => __('Review Link Color', 'essential-addons-for-elementor-lite'),
2366
+ 'type' => Controls_Manager::COLOR,
2367
+ 'default' => '#ccc',
2368
+ 'selectors' => [
2369
+ '{{WRAPPER}} .eael-product-popup .product_meta a.woocommerce-review-link, {{WRAPPER}} .eael-product-popup .product_meta a' => 'color: {{VALUE}};',
2370
+ ],
2371
+ ]
2372
+ );
2373
+ $this->add_control(
2374
+ 'eael_product_popup_review_link_hover',
2375
+ [
2376
+ 'label' => __('Review Link Hover', 'essential-addons-for-elementor-lite'),
2377
+ 'type' => Controls_Manager::COLOR,
2378
+ 'default' => '#ccc',
2379
+ 'selectors' => [
2380
+ '{{WRAPPER}} .eael-product-popup .product_meta a.woocommerce-review-link:hover, {{WRAPPER}} .eael-product-popup .product_meta a:hover' => 'color: {{VALUE}};',
2381
+ ],
2382
+ ]
2383
+ );
2384
+
2385
+ $this->add_control(
2386
+ 'eael_product_popup_table_border_color',
2387
+ [
2388
+ 'label' => __('Border Color', 'essential-addons-for-elementor-lite'),
2389
+ 'type' => Controls_Manager::COLOR,
2390
+ 'default' => '#ccc',
2391
+ 'selectors' => [
2392
+ '{{WRAPPER}} .eael-product-popup.woocommerce div.product table tbody tr, {{WRAPPER}} .eael-product-popup.woocommerce div.product .product_meta' => 'border-color: {{VALUE}};',
2393
+ ],
2394
+ ]
2395
+ );
2396
+
2397
+ // Sale
2398
+ $this->add_control(
2399
+ 'eael_product_popup_sale_style',
2400
+ [
2401
+ 'label' => __('Sale', 'essential-addons-for-elementor-lite'),
2402
+ 'type' => Controls_Manager::HEADING,
2403
+ 'separator' => 'before',
2404
+ ]
2405
+ );
2406
+
2407
+ $this->add_group_control(
2408
  Group_Control_Typography::get_type(),
2409
  [
2410
+ 'name' => 'eael_product_popup_sale_typo',
2411
+ 'label' => __('Typography', 'essential-addons-for-elementor-lite'),
2412
+ 'selector' => '{{WRAPPER}} .eael-product-popup .eael-onsale',
2413
+ ]
2414
+ );
2415
+ $this->add_control(
2416
+ 'eael_product_popup_sale_color',
2417
+ [
2418
+ 'label' => __('Color', 'essential-addons-for-elementor-lite'),
2419
+ 'type' => Controls_Manager::COLOR,
2420
+ 'selectors' => [
2421
+ '{{WRAPPER}} .eael-product-popup .eael-onsale' => 'color: {{VALUE}}!important;',
2422
+ ],
2423
+ ]
2424
+ );
2425
+ $this->add_control(
2426
+ 'eael_product_popup_sale_bg_color',
2427
+ [
2428
+ 'label' => __('Background Color', 'essential-addons-for-elementor-lite'),
2429
+ 'type' => Controls_Manager::COLOR,
2430
+ 'selectors' => [
2431
+ '{{WRAPPER}} .eael-product-popup .eael-onsale' => 'background-color: {{VALUE}}!important;',
2432
+ ],
2433
+ ]
2434
  );
2435
 
2436
+ // Quantity
2437
+ $this->add_control(
2438
+ 'eael_product_popup_quantity',
2439
+ [
2440
+ 'label' => __('Quantity', 'essential-addons-for-elementor-lite'),
2441
+ 'type' => Controls_Manager::HEADING,
2442
+ 'separator' => 'before',
2443
+ ]
2444
+ );
2445
 
2446
+ $this->add_group_control(
2447
+ Group_Control_Typography::get_type(),
 
2448
  [
2449
+ 'name' => 'eael_product_popup_quantity_typo',
2450
+ 'label' => __('Typography', 'essential-addons-for-elementor-lite'),
2451
+ 'selector' => '{{WRAPPER}} .eael-product-popup.woocommerce div.product form.cart div.quantity .qty, {{WRAPPER}} .eael-product-popup.woocommerce div.product form.cart div.quantity > a',
 
 
 
 
 
 
 
 
2452
  ]
2453
  );
2454
 
2455
  $this->add_control(
2456
+ 'eael_product_popup_quantity_color',
2457
  [
2458
+ 'label' => esc_html__('Color', 'essential-addons-for-elementor-lite'),
2459
+ 'type' => Controls_Manager::COLOR,
2460
+ 'default' => '#000',
2461
  'selectors' => [
2462
+ '{{WRAPPER}} .eael-product-popup.woocommerce div.product form.cart div.quantity .qty, {{WRAPPER}} .eael-product-popup.woocommerce div.product form.cart div.quantity > a, {{WRAPPER}} .eael-product-popup.woocommerce div.product form.cart div.quantity > .button' => 'color: {{VALUE}};',
2463
+ ],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2464
  ]
2465
  );
2466
+
2467
  $this->add_control(
2468
+ 'eael_product_popup_quantity_bg_color',
2469
  [
2470
+ 'label' => esc_html__('Background Color', 'essential-addons-for-elementor-lite'),
2471
+ 'type' => Controls_Manager::COLOR,
2472
+ 'default' => '#fff',
2473
  'selectors' => [
2474
+ '{{WRAPPER}} .eael-product-popup.woocommerce div.product form.cart div.quantity .qty, {{WRAPPER}} .eael-product-popup.woocommerce div.product form.cart div.quantity > a, {{WRAPPER}} .eael-product-popup.woocommerce div.product form.cart div.quantity > .button' => 'background-color: {{VALUE}};',
2475
+ ],
 
 
 
 
 
2476
  ]
2477
  );
2478
 
2479
  $this->add_control(
2480
+ 'eael_product_popup_quantity_border_color',
2481
  [
2482
+ 'label' => esc_html__('Border Color', 'essential-addons-for-elementor-lite'),
2483
+ 'type' => Controls_Manager::COLOR,
2484
+ 'default' => '#000',
2485
  'selectors' => [
2486
+ '{{WRAPPER}} .eael-product-popup.woocommerce div.product form.cart div.quantity .qty, {{WRAPPER}} .eael-product-popup.woocommerce div.product form.cart div.quantity > a, {{WRAPPER}} .eael-product-popup.woocommerce div.product form.cart div.quantity > .button' => 'border-color: {{VALUE}};',
2487
+ // OceanWP
2488
+ '{{WRAPPER}} .eael-product-popup.woocommerce div.product form.cart div.quantity .qty:focus' => 'border-color: {{VALUE}};',
2489
+ ],
2490
+ ]
2491
+ );
2492
+
2493
+ // Cart Button
2494
+ $this->add_control(
2495
+ 'eael_product_popup_cart_button',
2496
+ [
2497
+ 'label' => __('Cart Button', 'essential-addons-for-elementor-lite'),
2498
+ 'type' => Controls_Manager::HEADING,
2499
+ 'separator' => 'before',
2500
+ ]
2501
+ );
2502
+
2503
+ $this->add_group_control(
2504
+ Group_Control_Typography::get_type(),
2505
+ [
2506
+ 'name' => 'eael_product_popup_cart_button_typo',
2507
+ 'label' => __('Typography', 'essential-addons-for-elementor-lite'),
2508
+ 'selector' => '{{WRAPPER}} .eael-product-popup.woocommerce .button, .eael-product-popup.woocommerce button.button.alt',
2509
+ ]
2510
+ );
2511
+
2512
+ $this->start_controls_tabs('eael_product_popup_cart_button_style_tabs');
2513
+
2514
+ $this->start_controls_tab('eael_product_popup_cart_button_style_tabs_normal', ['label' => esc_html__('Normal', 'essential-addons-for-elementor-lite')]);
2515
+
2516
+ $this->add_control(
2517
+ 'eael_product_popup_cart_button_color',
2518
+ [
2519
+ 'label' => esc_html__('Color', 'essential-addons-for-elementor-lite'),
2520
+ 'type' => Controls_Manager::COLOR,
2521
+ 'default' => '#fff',
2522
+ 'selectors' => [
2523
+ '{{WRAPPER}} .eael-product-popup.woocommerce .button, .eael-product-popup.woocommerce button.button.alt' => 'color: {{VALUE}};',
2524
+ ],
2525
+ ]
2526
+ );
2527
+
2528
+ $this->add_control(
2529
+ 'eael_product_popup_cart_button_background',
2530
+ [
2531
+ 'label' => esc_html__('Background Color', 'essential-addons-for-elementor-lite'),
2532
+ 'type' => Controls_Manager::COLOR,
2533
+ 'default' => '#8040FF',
2534
+ 'selectors' => [
2535
+ '{{WRAPPER}} .eael-product-popup.woocommerce .button, .eael-product-popup.woocommerce button.button.alt' => 'background-color: {{VALUE}};',
2536
+ ],
2537
+ ]
2538
+ );
2539
+
2540
+ $this->add_group_control(
2541
+ Group_Control_Border::get_type(),
2542
+ [
2543
+ 'name' => 'eael_product_popup_cart_button_border',
2544
+ 'selector' => '{{WRAPPER}} .eael-product-popup.woocommerce .button, .eael-product-popup.woocommerce button.button.alt',
2545
+ ]
2546
+ );
2547
+ $this->add_control(
2548
+ 'eael_product_popup_cart_button_border_radius',
2549
+ [
2550
+ 'label' => esc_html__('Border Radius', 'essential-addons-for-elementor-lite'),
2551
+ 'type' => Controls_Manager::SLIDER,
2552
+ 'range' => [
2553
+ 'px' => [
2554
+ 'max' => 100,
2555
+ ],
2556
+ ],
2557
+ 'selectors' => [
2558
+ '{{WRAPPER}} .eael-product-popup.woocommerce .button, .eael-product-popup.woocommerce button.button.alt' => 'border-radius: {{SIZE}}px;',
2559
+ ],
2560
+ ]
2561
+ );
2562
+
2563
+ $this->end_controls_tab();
2564
+
2565
+ $this->start_controls_tab('eael_product_popup_cart_button_hover_styles', ['label' => esc_html__('Hover', 'essential-addons-for-elementor-lite')]);
2566
+
2567
+ $this->add_control(
2568
+ 'eael_product_popup_cart_button_hover_color',
2569
+ [
2570
+ 'label' => esc_html__('Color', 'essential-addons-for-elementor-lite'),
2571
+ 'type' => Controls_Manager::COLOR,
2572
+ 'default' => '#F5EAFF',
2573
+ 'selectors' => [
2574
+ '{{WRAPPER}} .eael-product-popup.woocommerce .button:hover, .eael-product-popup.woocommerce button.button.alt:hover' => 'color: {{VALUE}};',
2575
+ ],
2576
+ ]
2577
+ );
2578
+
2579
+ $this->add_control(
2580
+ 'eael_product_popup_cart_button_hover_background',
2581
+ [
2582
+ 'label' => esc_html__('Background Color', 'essential-addons-for-elementor-lite'),
2583
+ 'type' => Controls_Manager::COLOR,
2584
+ 'default' => '#F12DE0',
2585
+ 'selectors' => [
2586
+ '{{WRAPPER}} .eael-product-popup.woocommerce .button:hover, .eael-product-popup.woocommerce button.button.alt:hover' => 'background-color: {{VALUE}};',
2587
+ ],
2588
+ ]
2589
+ );
2590
+
2591
+ $this->add_control(
2592
+ 'eael_product_popup_cart_button_hover_border_color',
2593
+ [
2594
+ 'label' => esc_html__('Border Color', 'essential-addons-for-elementor-lite'),
2595
+ 'type' => Controls_Manager::COLOR,
2596
+ 'default' => '',
2597
+ 'selectors' => [
2598
+ '{{WRAPPER}} .eael-product-popup.woocommerce .button:hover, .eael-product-popup.woocommerce button.button.alt:hover' => 'border-color: {{VALUE}};',
2599
+ ],
2600
+ 'condition' => [
2601
+ 'eael_product_popup_cart_button_border_border!' => '',
2602
  ],
2603
  ]
2604
  );
2607
 
2608
  $this->end_controls_tabs();
2609
 
2610
+ // SKU
2611
+ $this->add_control(
2612
+ 'eael_product_popup_sku_style',
2613
+ [
2614
+ 'label' => __('SKU', 'essential-addons-for-elementor-lite'),
2615
+ 'type' => Controls_Manager::HEADING,
2616
+ 'separator' => 'before',
2617
+ ]
2618
+ );
2619
+
2620
+ $this->add_group_control(
2621
+ Group_Control_Typography::get_type(),
2622
+ [
2623
+ 'name' => 'eael_product_popup_sku_typo',
2624
+ 'label' => __('Typography', 'essential-addons-for-elementor-lite'),
2625
+ 'selector' => '{{WRAPPER}} .eael-product-popup.woocommerce .product_meta',
2626
+ ]
2627
+ );
2628
+ $this->add_control(
2629
+ 'eael_product_popup_sku_title_color',
2630
+ [
2631
+ 'label' => __('Title Color', 'essential-addons-for-elementor-lite'),
2632
+ 'type' => Controls_Manager::COLOR,
2633
+ 'selectors' => [
2634
+ '{{WRAPPER}} .eael-product-popup.woocommerce .product_meta' => 'color: {{VALUE}};',
2635
+ ],
2636
+ ]
2637
+ );
2638
+ $this->add_control(
2639
+ 'eael_product_popup_sku_content_color',
2640
+ [
2641
+ 'label' => __('Content Color', 'essential-addons-for-elementor-lite'),
2642
+ 'type' => Controls_Manager::COLOR,
2643
+ 'selectors' => [
2644
+ '{{WRAPPER}} .eael-product-popup.woocommerce .product_meta .sku, .eael-product-popup.woocommerce .product_meta a' => 'color: {{VALUE}};',
2645
+ ],
2646
+ ]
2647
+ );
2648
+ $this->add_control(
2649
+ 'eael_product_popup_sku_hover_color',
2650
+ [
2651
+ 'label' => __('Hover Color', 'essential-addons-for-elementor-lite'),
2652
+ 'type' => Controls_Manager::COLOR,
2653
+ 'selectors' => [
2654
+ '{{WRAPPER}} .eael-product-popup.woocommerce .product_meta a:hover' => 'color: {{VALUE}};',
2655
+ ],
2656
+ ]
2657
+ );
2658
+
2659
+ $this->add_control(
2660
+ 'eael_product_popup_close_button_style',
2661
+ [
2662
+ 'label' => __(' Close Button', 'essential-addons-for-elementor-lite'),
2663
+ 'type' => Controls_Manager::HEADING,
2664
+ 'separator' => 'before',
2665
+ ]
2666
+ );
2667
+
2668
+ $this->add_responsive_control(
2669
+ 'eael_product_popup_close_button_icon_size',
2670
+ [
2671
+ 'label' => __('Icon Size', 'essential-addons-for-elementor-lite'),
2672
+ 'type' => Controls_Manager::SLIDER,
2673
+ 'size_units' => ['px', 'em', '%'],
2674
+ 'range' => [
2675
+ 'px' => [
2676
+ 'min' => 0,
2677
+ 'max' => 100,
2678
+ ],
2679
+ 'em' => [
2680
+ 'min' => 0,
2681
+ 'max' => 100,
2682
+ ],
2683
+ '%' => [
2684
+ 'min' => 0,
2685
+ 'max' => 100,
2686
+ ],
2687
+ ],
2688
+ 'selectors' => [
2689
+ '{{WRAPPER}} .eael-product-popup button.eael-product-popup-close' => 'font-size: {{SIZE}}{{UNIT}};',
2690
+ ],
2691
+ ]
2692
+ );
2693
+
2694
+ $this->add_responsive_control(
2695
+ 'eael_product_popup_close_button_size',
2696
+ [
2697
+ 'label' => __('Button Size', 'essential-addons-for-elementor-lite'),
2698
+ 'type' => Controls_Manager::SLIDER,
2699
+ 'size_units' => ['px', 'em', '%'],
2700
+ 'range' => [
2701
+ 'px' => [
2702
+ 'min' => 0,
2703
+ 'max' => 100,
2704
+ ],
2705
+ 'em' => [
2706
+ 'min' => 0,
2707
+ 'max' => 100,
2708
+ ],
2709
+ '%' => [
2710
+ 'min' => 0,
2711
+ 'max' => 100,
2712
+ ],
2713
+ ],
2714
+ 'selectors' => [
2715
+ '{{WRAPPER}} .eael-product-popup button.eael-product-popup-close' => 'max-width: {{SIZE}}{{UNIT}}; width: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}}; min-height: {{SIZE}}{{UNIT}}',
2716
+ ],
2717
+ ]
2718
+ );
2719
 
2720
+ $this->add_control(
2721
+ 'eael_product_popup_close_button_color',
2722
+ [
2723
+ 'label' => __('Color', 'essential-addons-for-elementor-lite'),
2724
+ 'type' => Controls_Manager::COLOR,
2725
+ 'selectors' => [
2726
+ '{{WRAPPER}} .eael-product-popup button.eael-product-popup-close' => 'color: {{VALUE}}!important;',
2727
+ ],
2728
+ ]
2729
+ );
2730
 
2731
+ $this->add_control(
2732
+ 'eael_product_popup_close_button_bg',
2733
+ [
2734
+ 'label' => __('Background', 'essential-addons-for-elementor-lite'),
2735
+ 'type' => Controls_Manager::COLOR,
2736
+ 'selectors' => [
2737
+ '{{WRAPPER}} .eael-product-popup button.eael-product-popup-close' => 'background-color: {{VALUE}}!important;',
2738
+ ],
2739
+ ]
2740
+ );
2741
 
2742
+ $this->add_control(
2743
+ 'eael_product_popup_close_button_border_radius',
2744
+ [
2745
+ 'label' => __('Border Radius', 'essential-addons-for-elementor-lite'),
2746
+ 'type' => Controls_Manager::SLIDER,
2747
+ 'size_units' => ['px', '%'],
2748
+ 'range' => [
2749
+ 'px' => [
2750
+ 'min' => 0,
2751
+ 'max' => 100,
2752
+ 'step' => 1,
2753
+ ],
2754
+ '%' => [
2755
+ 'min' => 0,
2756
+ 'max' => 100,
2757
+ ],
2758
+ ],
2759
+ 'selectors' => [
2760
+ '{{WRAPPER}} .eael-product-popup button.eael-product-popup-close' => 'border-radius: {{SIZE}}{{UNIT}};',
2761
+ ],
2762
+ ]
2763
+ );
2764
+
2765
+ $this->add_group_control(
2766
+ Group_Control_Box_Shadow::get_type(),
2767
+ [
2768
+ 'name' => 'eael_product_popup_close_button_box_shadow',
2769
+ 'label' => __('Box Shadow', 'essential-addons-for-elementor-lite'),
2770
+ 'selector' => '{{WRAPPER}} .eael-product-popup button.eael-product-popup-close',
2771
+ ]
2772
+ );
2773
+
2774
+ $this->add_responsive_control(
2775
+ 'eael_product_popup_border_radius',
2776
+ [
2777
+ 'label' => esc_html__('Border Radius', 'essential-addons-for-elementor-lite'),
2778
+ 'type' => Controls_Manager::DIMENSIONS,
2779
+ 'size_units' => ['px', '%'],
2780
+ 'selectors' => [
2781
+ '{{WRAPPER}} .eael-product-popup .eael-product-popup-details' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
2782
+ ],
2783
+ 'separator' => 'before',
2784
+ ]
2785
+ );
2786
+
2787
+ $this->add_group_control(
2788
+ Group_Control_Background::get_type(),
2789
+ [
2790
+ 'name' => 'eael_product_popup_background',
2791
+ 'label' => __('Background', 'essential-addons-for-elementor-lite'),
2792
+ 'types' => ['classic', 'gradient'],
2793
+ 'selector' => '{{WRAPPER}} .eael-product-popup .eael-product-popup-details',
2794
+ 'exclude' => [
2795
+ 'image',
2796
+ ],
2797
+ ]
2798
+ );
2799
+
2800
+ $this->add_group_control(
2801
+ Group_Control_Box_Shadow::get_type(),
2802
+ [
2803
+ 'name' => 'eael_product_popup_box_shadow',
2804
+ 'label' => __('Box Shadow', 'essential-addons-for-elementor-lite'),
2805
+ 'selector' => '{{WRAPPER}} .eael-product-popup .eael-product-popup-details',
2806
+ ]
2807
+ );
2808
+
2809
+ $this->end_controls_section();
2810
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2811
 
2812
  protected function render()
2813
  {
2814
+ if (!function_exists('WC')) {
 
2815
  return;
2816
  }
2817
+ $settings = $this->get_settings_for_display();
2818
+ // normalize for load more fix
2819
+ $settings['layout_mode'] = $settings["eael_product_grid_layout"];
2820
+ $widget_id = $this->get_id();
2821
+ $settings['eael_widget_id'] = $widget_id;
2822
  $args = [
2823
+ 'post_type' => 'product',
2824
  'posts_per_page' => $settings['eael_product_grid_products_count'] ?: 4,
2825
+ 'order' => (isset($settings['order']) ? $settings['order'] : 'desc'),
2826
+ 'offset' => $settings['product_offset'],
2827
+ 'tax_query' => [
2828
+ 'relation' => 'AND',
2829
+ [
2830
+ 'taxonomy' => 'product_visibility',
2831
+ 'field' => 'name',
2832
+ 'terms' => ['exclude-from-search', 'exclude-from-catalog'],
2833
+ 'operator' => 'NOT IN',
2834
+ ],
2835
+ ],
2836
  ];
2837
  // price & sku filter
2838
  if ($settings['orderby'] == '_price') {
2839
+ $args['orderby'] = 'meta_value_num';
2840
  $args['meta_key'] = '_price';
2841
  } else if ($settings['orderby'] == '_sku') {
2842
+ $args['orderby'] = 'meta_value_num';
2843
  $args['meta_key'] = '_sku';
2844
  } else {
2845
+ $args['orderby'] = (isset($settings['orderby']) ? $settings['orderby'] : 'date');
2846
  }
2847
 
2848
  if (!empty($settings['eael_product_grid_categories'])) {
2849
  $args['tax_query'] = [
2850
  [
2851
  'taxonomy' => 'product_cat',
2852
+ 'field' => 'slug',
2853
+ 'terms' => $settings['eael_product_grid_categories'],
2854
  'operator' => 'IN',
2855
  ],
2856
  ];
2857
+ }
2858
 
2859
+ if ('true' == $settings['show_load_more']) {
2860
+ $args ['offset'] = $settings['product_offset'];
2861
+ }
2862
 
2863
  $args['meta_query'] = ['relation' => 'AND'];
2864
 
2873
  $args['tax_query'] = [
2874
  'relation' => 'AND',
2875
  [
2876
+ 'taxonomy' => 'product_visibility',
2877
+ 'field' => 'name',
2878
+ 'terms' => 'featured',
2879
+ ],
2880
+ [
2881
+ 'taxonomy' => 'product_visibility',
2882
+ 'field' => 'name',
2883
+ 'terms' => ['exclude-from-search', 'exclude-from-catalog'],
2884
+ 'operator' => 'NOT IN',
2885
+ ],
2886
  ];
2887
 
2888
  if ($settings['eael_product_grid_categories']) {
2889
  $args['tax_query'][] = [
2890
  'taxonomy' => 'product_cat',
2891
+ 'field' => 'slug',
2892
+ 'terms' => $settings['eael_product_grid_categories'],
2893
  ];
2894
  }
2895
  } else if ($settings['eael_product_grid_product_filter'] == 'best-selling-products') {
2900
  $args['meta_query'][] = [
2901
  'relation' => 'OR',
2902
  [
2903
+ 'key' => '_sale_price',
2904
+ 'value' => 0,
2905
  'compare' => '>',
2906
+ 'type' => 'numeric',
2907
  ], [
2908
+ 'key' => '_min_variation_sale_price',
2909
+ 'value' => 0,
2910
  'compare' => '>',
2911
+ 'type' => 'numeric',
2912
  ],
2913
  ];
2914
  } else if ($settings['eael_product_grid_product_filter'] == 'top-products') {
2915
  $args['meta_key'] = '_wc_average_rating';
2916
  $args['orderby'] = 'meta_value_num';
2917
  $args['order'] = 'DESC';
2918
+ }
 
 
 
2919
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2920
 
2921
  $this->is_show_custom_add_to_cart = boolval($settings['show_add_to_cart_custom_text']);
2922
  $this->simple_add_to_cart_button_text = $settings['add_to_cart_simple_product_button_text'];
2925
  $this->external_add_to_cart_button_text = $settings['add_to_cart_external_product_button_text'];
2926
  $this->default_add_to_cart_button_text = $settings['add_to_cart_default_product_button_text'];
2927
 
2928
+ if (Plugin::$instance->documents->get_current()) {
2929
+ $this->page_id = Plugin::$instance->documents->get_current()->get_main_id();
2930
+ }
2931
+ // render dom
2932
+ $this->add_render_attribute('wrap', [
2933
+ 'class' => [
2934
+ "eael-product-grid",
2935
+ $settings['eael_product_grid_style_preset'],
2936
+ $settings['eael_product_grid_layout']
2937
+ ],
2938
+ 'id' => 'eael-product-grid',
2939
+ 'data-widget-id' => $widget_id,
2940
+ 'data-page-id' => $this->page_id,
2941
+ 'data-nonce' => wp_create_nonce('eael_product_grid'),
2942
+ ]);
2943
+
2944
+ add_filter('woocommerce_product_add_to_cart_text', [
2945
+ $this,
2946
+ 'add_to_cart_button_custom_text',
2947
+ ]);
2948
+ ?>
2949
+
2950
+ <div <?php $this->print_render_attribute_string('wrap'); ?> >
2951
+ <div class="woocommerce">
2952
+ <?php
2953
+ do_action( 'eael_woo_before_product_loop' );
2954
+ $template = $this->get_template($settings['eael_dynamic_template_Layout']);
2955
+ if (file_exists($template)) {
2956
+ $query = new \WP_Query($args);
2957
+ if ($query->have_posts()) {
2958
+ echo '<ul class="products" data-layout-mode="' . $settings["eael_product_grid_layout"] . '">';
2959
+ while ($query->have_posts()) {
2960
+ $query->the_post();
2961
+ include($template);
2962
+ }
2963
+ wp_reset_postdata();
2964
+ echo '</ul>';
2965
+ } else {
2966
+ _e('<p class="no-posts-found">No posts found!</p>', 'essential-addons-for-elementor-lite');
2967
  }
 
2968
  } else {
2969
+ _e('<p class="no-posts-found">No layout found!</p>', 'essential-addons-for-elementor-lite');
2970
+ }
2971
+ if ( 'true' == $settings['show_pagination'] ) {
2972
+ $settings['eael_widget_name'] = $this->get_name();
2973
+ echo HelperClass::eael_pagination($args, $settings);
2974
  }
 
 
 
 
2975
 
2976
+
2977
+ $this->print_load_more_button($settings, $args);
2978
+ ?>
2979
+ </div>
2980
+ </div>
2981
+ <script type="text/javascript">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2982
  jQuery(document).ready(function($) {
2983
+ var $scope = jQuery(".elementor-element-<?php echo $this->get_id(); ?>");
2984
+ var $products = $('.products', $scope);
2985
+ var $layout_mode = $products.data('layout-mode');
2986
+
2987
+ if ($layout_mode === 'masonry') {
2988
+ // init isotope
2989
+ var $isotope_products = $products.isotope({
2990
+ itemSelector: "li.product",
2991
+ layoutMode: $layout_mode,
2992
+ percentPosition: true
 
 
 
 
 
 
 
 
 
 
 
2993
  });
2994
+
2995
+ $isotope_products.imagesLoaded().progress( function() {
2996
+ $isotope_products.isotope('layout');
2997
+ })
2998
+
2999
+ $(window).on('resize', function() {
3000
+ $isotope_products.isotope('layout');
3001
  });
 
 
 
3002
  }
3003
  });
3004
+ </script>
3005
+ <?php
3006
+ remove_filter('woocommerce_product_add_to_cart_text', [
3007
+ $this,
3008
+ 'add_to_cart_button_custom_text',
3009
+ ]);
3010
+ }
3011
+ }
includes/Elements/Woo_Checkout.php CHANGED
@@ -436,7 +436,20 @@ class Woo_Checkout extends Widget_Base {
436
  'active' => true,
437
  ],
438
  ]
439
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
440
  $this->add_control(
441
  'ea_woo_checkout_login_link_text',
442
  [
436
  'active' => true,
437
  ],
438
  ]
439
+ );
440
+
441
+ $this->add_control(
442
+ 'ea_woo_checkout_login_message',
443
+ [
444
+ 'label' => __( 'Message', 'essential-addons-for-elementor-lite' ),
445
+ 'type' => Controls_Manager::TEXTAREA,
446
+ 'default' => __( 'If you have shopped with us before, please enter your details below. If you are a new customer, please proceed to the Billing section.', 'essential-addons-for-elementor-lite' ),
447
+ 'dynamic' => [
448
+ 'active' => true,
449
+ ],
450
+ ]
451
+ );
452
+
453
  $this->add_control(
454
  'ea_woo_checkout_login_link_text',
455
  [
includes/Elements/Woo_Product_Compare.php ADDED
@@ -0,0 +1,111 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Essential_Addons_Elementor\Elements;
4
+
5
+ use Elementor\Controls_Manager;
6
+ use Elementor\Widget_Base;
7
+ use Essential_Addons_Elementor\Traits\Woo_Product_Comparable;
8
+
9
+ if ( ! defined( 'ABSPATH' ) ) {
10
+ exit;
11
+ } // Exit if accessed directly
12
+
13
+ /**
14
+ * Class Woo_Product_Compare
15
+ * @package namespace Essential_Addons_Elementor\Pro\Elements;
16
+ */
17
+ class Woo_Product_Compare extends Widget_Base {
18
+ use Woo_Product_Comparable;
19
+
20
+ protected $products_list = [];
21
+ protected $remove_action = 'eael-wcpc-remove-product';
22
+
23
+ /**
24
+ * @inheritDoc
25
+ */
26
+ public function get_name() {
27
+ return 'eael-woo-product-compare';
28
+ }
29
+
30
+ /**
31
+ * @inheritDoc
32
+ */
33
+ public function get_title() {
34
+ return esc_html__( 'Woo Product Compare', 'essential-addons-for-elementor-lite' );
35
+ }
36
+
37
+ /**
38
+ * @inheritDoc
39
+ */
40
+ public function get_icon() {
41
+ return 'eaicon-product-compare';
42
+ }
43
+
44
+ /**
45
+ * @inheritDoc
46
+ */
47
+ public function get_keywords() {
48
+ return [
49
+ 'woocommerce product compare',
50
+ 'woocommerce product comparison',
51
+ 'product compare',
52
+ 'product comparison',
53
+ 'products compare',
54
+ 'products comparison',
55
+ 'wc',
56
+ 'woocommerce',
57
+ 'products',
58
+ 'compare',
59
+ 'comparison',
60
+ 'ea',
61
+ 'essential addons',
62
+ ];
63
+ }
64
+
65
+ public function get_custom_help_url() {
66
+ return 'https://essential-addons.com/elementor/docs/woo-product-compare/';
67
+ }
68
+
69
+ /**
70
+ * @inheritDoc
71
+ */
72
+ public function get_categories() {
73
+ return [ 'essential-addons-for-elementor-lite' ];
74
+ }
75
+
76
+ /**
77
+ * @inheritDoc
78
+ */
79
+ protected function _register_controls() {
80
+ $this->init_content_wc_notice_controls();
81
+ if ( ! function_exists( 'WC' ) ) {
82
+ return;
83
+ }
84
+
85
+ /*----Content Tab----*/
86
+ do_action( 'eael/wcpc/before-content-controls', $this );
87
+ $this->init_content_product_compare_controls();
88
+ $this->init_content_table_settings_controls();
89
+ do_action( 'eael/wcpc/after-content-controls', $this );
90
+
91
+ /*----Style Tab----*/
92
+ do_action( 'eael/wcpc/before-style-controls', $this );
93
+ $this->init_style_content_controls();
94
+ $this->init_style_table_controls();
95
+ do_action( 'eael/wcpc/after-style-controls', $this );
96
+
97
+ }
98
+
99
+ protected function render() {
100
+ if ( ! function_exists( 'WC' ) ) {
101
+ return;
102
+ }
103
+ $ds = $this->get_settings_for_display();
104
+ $product_ids = $this->get_settings_for_display( 'product_ids' );
105
+ $products = $this->get_products_list( $product_ids );
106
+ $fields = $this->fields();
107
+
108
+ $this->render_compare_table( compact( 'products', 'fields', 'ds' ) );
109
+ }
110
+
111
+ }
includes/Template/Content/Product_Grid.php ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Essential_Addons_Elementor\Template\Content;
4
+
5
+ if ( ! defined( 'ABSPATH' ) ) {
6
+ exit;
7
+ } // Exit if accessed directly
8
+
9
+ trait Product_Grid {
10
+ public static function render_template_( $args, $settings ) {
11
+ $query = new \WP_Query( $args );
12
+ ob_start();
13
+ if ( $query->have_posts() ) {
14
+ while ( $query->have_posts() ) {
15
+ $query->the_post();
16
+ $product = wc_get_product( get_the_ID() );
17
+ if ( $settings['eael_product_grid_style_preset'] == 'eael-product-simple' || $settings['eael_product_grid_style_preset'] == 'eael-product-reveal' ) { ?>
18
+ <li class="product">
19
+ <a href="<?php echo esc_url( $product->get_permalink() ); ?>" class="woocommerce-LoopProduct-link woocommerce-loop-product__link">
20
+ <?php echo wp_kses_post( $product->get_image( 'woocommerce_thumbnail' )); ?>
21
+ <h2 class="woocommerce-loop-product__title"> <?php echo esc_html( $product->get_title()); ?> </h2>
22
+ <?php
23
+ if ( $settings['eael_product_grid_rating'] == 'yes' ) {
24
+ echo wp_kses_post( wc_get_rating_html( $product->get_average_rating(), $product->get_rating_count() ));
25
+ }
26
+ if ( ! $product->managing_stock() && ! $product->is_in_stock() ) {
27
+ printf( '<span class="outofstock-badge">%s</span>', __( 'Stock <br/> Out', 'essential-addons-for-elementor-lite' ) );
28
+ } elseif ( $product->is_on_sale() ) {
29
+ printf( '<span class="onsale">%s</span>', __( 'Sale!', 'essential-addons-for-elementor-lite' ) );
30
+ }
31
+ ?>
32
+ <span class="price"><?php echo wp_kses_post( $product->get_price_html()); ?></span>
33
+ </a>
34
+ <?php
35
+ woocommerce_template_loop_add_to_cart();
36
+ if ( isset( $settings['show_compare']) && 'yes' === $settings['show_compare'] ) {
37
+ self::print_compare_button( $product->get_id() );
38
+ }
39
+ ?>
40
+ </li>
41
+ <?php
42
+ } else if ( $settings['eael_product_grid_style_preset'] == 'eael-product-overlay' ) {
43
+ ?>
44
+ <li class="product">
45
+ <div class="overlay">
46
+ <?php echo $product->get_image( 'woocommerce_thumbnail' ); ?>
47
+ <div class="button-wrap clearfix">
48
+ <a href="<?php echo esc_url( $product->get_permalink()); ?>" class="product-link"><span class="fas fa-link"></span></a>';
49
+ <?php
50
+ woocommerce_template_loop_add_to_cart();
51
+ if ( isset( $settings['show_compare']) && 'yes' === $settings['show_compare'] ) {
52
+ self::print_compare_button( $product->get_id(), 'icon' );
53
+ }
54
+ ?>
55
+ </div>
56
+ </div>
57
+ <h2 class="woocommerce-loop-product__title"><?php echo esc_html( $product->get_title()); ?></h2>
58
+ <?php
59
+ if ($settings['eael_product_grid_rating'] === 'yes') {
60
+ echo wc_get_rating_html( $product->get_average_rating(), $product->get_rating_count() );
61
+ }
62
+ if ($product->is_on_sale()){
63
+ printf( '<span class="onsale">%s</span>', __( 'Sale!', 'essential-addons-for-elementor-lite' ));
64
+ }
65
+ ?>
66
+ <span class="price"> <?php echo $product->get_price_html(); ?> </span>
67
+ </li>
68
+ <?php
69
+ } else {
70
+ if ( isset( $settings['show_compare']) && 'yes' === $settings['show_compare'] ) {
71
+ add_action( 'woocommerce_after_shop_loop_item', function (){
72
+ global $product;
73
+ if (!$product) return;
74
+ self::print_compare_button( $product->get_id() );
75
+ });
76
+ }
77
+
78
+ wc_get_template_part( 'content', 'product' );
79
+ }
80
+ }
81
+ } else {
82
+ printf( '<p class="no-posts-found">%</p>', __( 'No products found!', 'essential-addons-for-elementor-lite' ) );
83
+
84
+ }
85
+
86
+ wp_reset_postdata();
87
+ ?>
88
+ <?php
89
+ return ob_get_clean();
90
+ }
91
+ }
includes/Template/Eicon-Woocommerce/default.php CHANGED
@@ -6,287 +6,399 @@ use \Essential_Addons_Elementor\Classes\Helper;
6
  * Template Name: Default
7
  */
8
 
9
- if (!defined('ABSPATH')) {
 
 
10
  exit;
11
  } // Exit if accessed directly
12
 
13
- $product = wc_get_product(get_the_ID());
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
 
15
- if ($settings['eael_product_grid_style_preset'] == 'eael-product-simple' || $settings['eael_product_grid_style_preset'] == 'eael-product-reveal') {
16
- echo '<li class="product">
17
- <a href="' . $product->get_permalink() . '" class="woocommerce-LoopProduct-link woocommerce-loop-product__link">
18
- ' . $product->get_image('woocommerce_thumbnail') . '
19
- <h2 class="woocommerce-loop-product__title">' . $product->get_title() . '</h2>
20
- ' . ($settings['eael_product_grid_rating'] != 'yes' ? '' : wc_get_rating_html($product->get_average_rating(), $product->get_rating_count())) . '
21
- '.( ! $product->managing_stock() && ! $product->is_in_stock() ? '<span class="outofstock-badge">'.__('Stock ', 'essential-addons-for-elementor-lite'). '<br />' . __('Out', 'essential-addons-for-elementor-lite').'</span>' : ($product->is_on_sale() ? '<span class="onsale">' . __('Sale!', 'essential-addons-for-elementor-lite') . '</span>' : '') ).'
22
- <span class="price">' . $product->get_price_html() . '</span>
23
- </a>';
 
 
 
 
 
 
 
 
 
24
  woocommerce_template_loop_add_to_cart();
25
- echo '</li>';
26
- } else if ($settings['eael_product_grid_style_preset'] == 'eael-product-overlay') {
27
- echo '<li class="product">
 
 
 
 
 
 
28
  <div class="overlay">
29
- ' . $product->get_image('woocommerce_thumbnail') . '
30
  <div class="button-wrap clearfix">
31
- <a href="' . $product->get_permalink() . '" class="product-link"><span class="fas fa-link"></span></a>';
 
32
  woocommerce_template_loop_add_to_cart();
33
- echo '</div>
 
 
 
 
34
  </div>
35
- <h2 class="woocommerce-loop-product__title">' . $product->get_title() . '</h2>
36
- ' . ($settings['eael_product_grid_rating'] != 'yes' ? '' : wc_get_rating_html($product->get_average_rating(), $product->get_rating_count())) . '
37
- ' . ($product->is_on_sale() ? '<span class="onsale">' . __('Sale!', 'essential-addons-for-elementor-lite') . '</span>' : '') . '
38
- <span class="price">' . $product->get_price_html() . '</span>
39
- </li>';
40
- } else if (($settings['eael_product_grid_style_preset'] == 'eael-product-preset-5') || ($settings['eael_product_grid_style_preset'] == 'eael-product-preset-6') || ($settings['eael_product_grid_style_preset'] == 'eael-product-preset-7')) {
41
- if ( true === wc_get_loop_product_visibility( $product->get_id() ) || $product->is_visible() ) {
42
- ?>
43
- <li <?php post_class( 'product' ); ?>>
44
- <div class="eael-product-wrap">
45
- <div class="product-image-wrap">
46
- <div class="image-wrap">
47
- <?php
48
- echo ( ! $product->managing_stock() && ! $product->is_in_stock() ? '<span class="eael-onsale outofstock '.$settings['eael_product_sale_badge_preset'].' '.$settings['eael_product_sale_badge_alignment'].'">'.__('Stock ', 'essential-addons-for-elementor-lite'). '<br />' . __('Out', 'essential-addons-for-elementor-lite').'</span>' : ($product->is_on_sale() ? '<span class="eael-onsale '.$settings['eael_product_sale_badge_preset'].' '.$settings['eael_product_sale_badge_alignment'].'">' . __('Sale!', 'essential-addons-for-elementor-lite') . '</span>' : '') );
49
- echo $product->get_image($settings['eael_product_grid_image_size_size']);
50
- ?>
51
- </div>
52
- <div class="image-hover-wrap">
53
- <?php if($settings['eael_product_grid_style_preset'] == 'eael-product-preset-5'){?>
54
- <ul class="icons-wrap block-style">
55
- <?php if( $settings['eael_product_grid_quick_view'] == true ){?>
56
- <li class="eael-product-quick-view">
57
- <a href="#eaproduct<?php echo $settings['eael_widget_id'].$product->get_id(); ?>"
58
- class="open-popup-link">
59
- <i class="fas fa-eye"></i>
60
- </a>
61
- </li>
62
- <?php } ?>
63
- <li class="add-to-cart"><?php woocommerce_template_loop_add_to_cart();
64
- ?></li>
65
- <li class="view-details"><?php echo '<a href="' . $product->get_permalink() . '"><i class="fas fa-link"></i></a>'; ?></li>
66
- </ul>
67
- <?php } elseif ($settings['eael_product_grid_style_preset'] == 'eael-product-preset-7') { ?>
68
- <ul class="icons-wrap block-box-style">
69
- <li class="add-to-cart"><?php
70
- woocommerce_template_loop_add_to_cart(); ?></li>
71
- <?php if( $settings['eael_product_grid_quick_view'] == true ){?>
72
- <li class="eael-product-quick-view">
73
- <a href="#eaproduct<?php echo $settings['eael_widget_id'].$product->get_id(); ?>"
74
- class="open-popup-link">
75
- <i class="fas fa-eye"></i>
76
- </a>
77
- </li>
78
- <?php } ?>
79
- <li class="view-details"><?php echo '<a href="' . $product->get_permalink
80
- () . '"><i class="fas fa-link"></i></a>'; ?></li>
81
- </ul>
82
- <?php } else { ?>
83
- <ul class="icons-wrap box-style">
84
- <li class="add-to-cart"><?php
85
- woocommerce_template_loop_add_to_cart(); ?></li>
86
- <?php if( $settings['eael_product_grid_quick_view'] == true ){?>
87
- <li class="eael-product-quick-view">
88
- <a href="#eaproduct<?php echo $settings['eael_widget_id'].$product->get_id(); ?>"
89
- class="open-popup-link">
90
- <i class="fas fa-eye"></i>
91
- </a>
92
- </li>
93
- <?php } ?>
94
- <li class="view-details" title="Details"><?php echo '<a href="' . $product->get_permalink
95
- () . '"><i class="fas fa-link"></i></a>'; ?></li>
96
- </ul>
97
- <?php }
98
- if( $settings['eael_product_grid_quick_view'] == true ){
99
- Helper::eael_product_quick_view( $product, $settings, $settings['eael_widget_id'] );
100
- }
101
- ?>
102
- </div>
103
- </div>
104
- <div class="product-details-wrap">
105
- <?php
106
- if(($settings['eael_product_grid_style_preset'] == 'eael-product-preset-7') && ( $settings['eael_product_grid_price'] == true)){
107
- echo '<div class="eael-product-price">'.$product->get_price_html().'</div>';
108
- }
109
- echo ($settings['eael_product_grid_rating'] != 'yes' ? '' : wc_get_rating_html
110
- ($product->get_average_rating(), $product->get_rating_count())); ?>
111
- <div class="eael-product-title"><h2><?php echo $product->get_title(); ?></h2></div>
112
- <?php if(($settings['eael_product_grid_style_preset'] != 'eael-product-preset-7') && ( $settings['eael_product_grid_price'] == true)){
113
- echo '<div class="eael-product-price">'.$product->get_price_html().'</div>';
114
- }?>
115
- </div>
116
- </div>
117
- </li>
118
- <?php
119
- }
120
- } else if ($settings['eael_product_grid_style_preset'] == 'eael-product-preset-8') {
121
- if ( true === wc_get_loop_product_visibility( $product->get_id() ) || $product->is_visible() ) {
122
- ?>
123
- <li <?php post_class( 'product' ); ?>>
124
- <div class="eael-product-wrap">
125
- <div class="product-image-wrap">
126
- <div class="image-wrap">
127
- <?php
128
- echo '<a href="' . $product->get_permalink() . '" class="woocommerce-LoopProduct-link woocommerce-loop-product__link">';
129
- echo ( ! $product->managing_stock() && ! $product->is_in_stock() ? '<span class="eael-onsale outofstock '.$settings['eael_product_sale_badge_preset'].' '.$settings['eael_product_sale_badge_alignment'].'">'.__('Stock ', 'essential-addons-for-elementor-lite'). '<br />' . __('Out', 'essential-addons-for-elementor-lite').'</span>' : ($product->is_on_sale() ? '<span class="eael-onsale '.$settings['eael_product_sale_badge_preset'].' '.$settings['eael_product_sale_badge_alignment'].'">' . __('Sale!', 'essential-addons-for-elementor-lite') . '</span>' : '') );
130
- echo $product->get_image($settings['eael_product_grid_image_size_size']);
131
- echo '</a>';
132
- ?>
133
- </div>
134
- <div class="image-hover-wrap">
135
- <ul class="icons-wrap over-box-style">
136
- <li class="add-to-cart"><?php
137
- woocommerce_template_loop_add_to_cart(); ?></li>
138
- <?php if( $settings['eael_product_grid_quick_view'] == true ){?>
139
- <li class="eael-product-quick-view">
140
- <a href="#eaproduct<?php echo $settings['eael_widget_id'].$product->get_id(); ?>"
141
- class="open-popup-link">
142
- <i class="fas fa-eye"></i>
143
- </a>
144
- </li>
145
- <?php } ?>
146
- </ul>
147
- <?php
148
- if( $settings['eael_product_grid_quick_view'] == true ){
149
- Helper::eael_product_quick_view( $product, $settings, $settings['eael_widget_id'] );
150
- }
151
- ?>
152
- </div>
153
- </div>
154
- <div class="product-details-wrap">
155
- <?php
156
- if ( $settings['eael_product_grid_price'] == true) {
157
- echo '<div class="eael-product-price">'.$product->get_price_html().'</div>';
158
- }
159
- ?>
160
- <div class="eael-product-title">
161
- <?php
162
- echo '<a href="' . $product->get_permalink() . '" class="woocommerce-LoopProduct-link woocommerce-loop-product__link">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
163
  <h2>'. $product->get_title() .'</h2></a>';
164
- ?>
165
- </div>
166
- </div>
167
- </div>
168
- </li>
169
- <?php
170
- }
171
- } else if(($settings['eael_product_list_style_preset'] == 'eael-product-list-preset-1') ||
172
- ($settings['eael_product_list_style_preset'] == 'eael-product-list-preset-2') ||
173
- ($settings['eael_product_list_style_preset'] == 'eael-product-list-preset-3') ||
174
- ($settings['eael_product_list_style_preset'] == 'eael-product-list-preset-4')) {
175
- if ( true === wc_get_loop_product_visibility( $product->get_id() ) || $product->is_visible() ) {
176
- ?>
177
- <li class="product <?php echo $settings['eael_product_list_style_preset'];?>">
178
- <div class="eael-product-wrap">
179
- <div class="product-image-wrap">
180
- <div class="image-wrap">
181
- <?php
182
- echo '<a href="' . $product->get_permalink() . '" class="woocommerce-LoopProduct-link woocommerce-loop-product__link">';
183
- echo ( ! $product->managing_stock() && ! $product->is_in_stock() ? '<span class="eael-onsale outofstock '.$settings['eael_product_sale_badge_preset'].' '.$settings['eael_product_sale_badge_alignment'].'">'.__('Stock ', 'essential-addons-for-elementor-lite'). '<br />' . __('Out', 'essential-addons-for-elementor-lite').'</span>' : ($product->is_on_sale() ? '<span class="eael-onsale '.$settings['eael_product_sale_badge_preset'].' '.$settings['eael_product_sale_badge_alignment'].'">' . __('Sale!', 'essential-addons-for-elementor-lite') . '</span>' : '') );
184
- echo $product->get_image($settings['eael_product_grid_image_size_size']);
185
- echo '</a>';
186
- ?>
187
- </div>
188
- </div>
189
- <div class="product-details-wrap">
190
- <?php
191
- if ($settings['eael_product_list_style_preset'] == 'eael-product-list-preset-2') {
192
- echo '<div class="eael-product-title">
193
  <a href="' . $product->get_permalink() . '" class="woocommerce-LoopProduct-link woocommerce-loop-product__link">
194
  <h2>'. $product->get_title() .'</h2>
195
  </a>
196
  </div>';
197
- if ( ($settings['eael_product_grid_excerpt'] == true) && has_excerpt() ) {
198
- echo '<div class="eael-product-excerpt">';
199
- echo '<p>' . wp_trim_words(strip_shortcodes(get_the_excerpt() ? get_the_excerpt() :
200
- get_the_content()), $settings['eael_product_grid_excerpt_length'], $settings['eael_product_grid_excerpt_expanison_indicator']) . '</p>';
201
- echo '</div>';
202
- }
203
- if ( $settings['eael_product_grid_price'] == true) {
204
- echo '<div class="eael-product-price">'.$product->get_price_html().'</div>';
205
- }
206
- echo ($settings['eael_product_grid_rating'] != 'yes' ? '' : wc_get_rating_html
207
- ($product->get_average_rating(), $product->get_rating_count()));
208
- } elseif ($settings['eael_product_list_style_preset'] == 'eael-product-list-preset-3') {
209
- echo '<div class="price-wrap">'.
210
- ( $settings['eael_product_grid_price'] != 'yes' ? '' : '<div class="eael-product-price">'.$product->get_price_html().'</div>').
211
 
212
- ($settings['eael_product_grid_rating'] != 'yes' ? '' : wc_get_rating_html
213
- ($product->get_average_rating(), $product->get_rating_count())).
214
- '</div>
 
 
 
 
 
 
 
 
 
 
 
 
215
  <div class="title-wrap">
216
  <div class="eael-product-title">
217
  <a href="' . $product->get_permalink() . '" class="woocommerce-LoopProduct-link woocommerce-loop-product__link">
218
  <h2>'. $product->get_title() .'</h2>
219
  </a>
220
  </div>';
221
- if ( ($settings['eael_product_grid_excerpt'] == true) && has_excerpt() ) {
222
- echo '<div class="eael-product-excerpt">';
223
- echo '<p>' . wp_trim_words(strip_shortcodes(get_the_excerpt() ? get_the_excerpt() :
224
- get_the_content()), $settings['eael_product_grid_excerpt_length'], $settings['eael_product_grid_excerpt_expanison_indicator']) . '</p>';
225
- echo '</div>';
226
- };
227
- echo '</div>';
228
- } elseif ($settings['eael_product_list_style_preset'] == 'eael-product-list-preset-4') {
229
- echo ($settings['eael_product_grid_rating'] != 'yes' ? '' : wc_get_rating_html
230
- ($product->get_average_rating(), $product->get_rating_count())).
231
- '<div class="eael-product-title">
 
 
 
 
232
  <a href="' . $product->get_permalink() . '" class="woocommerce-LoopProduct-link woocommerce-loop-product__link">
233
  <h2>'. $product->get_title() .'</h2>
234
  </a>
235
  </div>';
236
- if ( ($settings['eael_product_grid_excerpt'] == true) && has_excerpt() ) {
237
- echo '<div class="eael-product-excerpt">';
238
- echo '<p>' . wp_trim_words(strip_shortcodes(get_the_excerpt() ? get_the_excerpt() :
239
- get_the_content()), $settings['eael_product_grid_excerpt_length'], $settings['eael_product_grid_excerpt_expanison_indicator']) . '</p>';
240
- echo '</div>';
241
- }
242
- if ( $settings['eael_product_grid_price'] == true) {
243
- echo '<div class="eael-product-price">'.$product->get_price_html().'</div>';
244
- }
245
 
246
- } else {
247
- echo '<div class="eael-product-title">
248
  <a href="' . $product->get_permalink() . '" class="woocommerce-LoopProduct-link woocommerce-loop-product__link">
249
  <h2>'. $product->get_title() .'</h2>
250
  </a>
251
  </div>
252
- <div class="eael-product-price">'.$product->get_price_html().'</div>'.
253
- ($settings['eael_product_grid_rating'] != 'yes' ? '' : wc_get_rating_html
254
- ($product->get_average_rating(), $product->get_rating_count()));
255
- if ( ($settings['eael_product_grid_excerpt'] == true) && has_excerpt() ) {
256
- echo '<div class="eael-product-excerpt">';
257
- echo '<p>' . wp_trim_words(strip_shortcodes(get_the_excerpt() ? get_the_excerpt() :
258
- get_the_content()), $settings['eael_product_grid_excerpt_length'], $settings['eael_product_grid_excerpt_expanison_indicator']) . '</p>';
259
- echo '</div>';
260
- };
261
- }
262
- ?>
 
 
 
263
 
264
- <ul class="icons-wrap <?php echo $settings['eael_product_action_buttons_preset'] ;?>">
265
- <li class="add-to-cart"><?php
266
- woocommerce_template_loop_add_to_cart(); ?></li>
267
- <?php if( $settings['eael_product_grid_quick_view'] == true ){?>
268
- <li class="eael-product-quick-view">
269
- <a href="#eaproduct<?php echo $settings['eael_widget_id'].$product->get_id(); ?>"
270
- class="open-popup-link">
271
- <i class="fas fa-eye"></i>
272
- </a>
273
- </li>
274
- <?php } ?>
275
- </ul>
276
- <?php
277
- if( $settings['eael_product_grid_quick_view'] == true ){
278
- Helper::eael_product_quick_view( $product, $settings, $settings['eael_widget_id'] );
279
- }
280
- ?>
281
- </div>
282
- </div>
283
- </li>
284
- <?php
285
- }
 
 
 
 
 
 
 
 
 
286
  }else {
287
  if($settings['eael_product_grid_rating']!='yes'){
288
- remove_action('woocommerce_after_shop_loop_item_title','woocommerce_template_loop_rating',5);
 
 
 
 
 
 
289
  }
290
 
291
- wc_get_template_part('content', 'product');
292
- }
 
 
 
 
 
 
 
6
  * Template Name: Default
7
  */
8
 
9
+ use Essential_Addons_Elementor\Elements\Product_Grid;
10
+
11
+ if ( ! defined( 'ABSPATH' ) ) {
12
  exit;
13
  } // Exit if accessed directly
14
 
15
+ $product = wc_get_product( get_the_ID() );
16
+ if ( ! $product ) {
17
+ error_log( '$product not found in ' . __FILE__ );
18
+ return;
19
+ }
20
+ $should_print_compare_btn = isset( $settings['show_compare'] ) && 'yes' === $settings['show_compare'];
21
+ // Improvement
22
+ $grid_style_preset = isset($settings['eael_product_grid_style_preset']) ? $settings['eael_product_grid_style_preset'] : '';
23
+ $list_style_preset = isset($settings['eael_product_list_style_preset']) ? $settings['eael_product_list_style_preset'] : '';
24
+ $sale_badge_align = isset( $settings['eael_product_sale_badge_alignment'] ) ? $settings['eael_product_sale_badge_alignment'] : '';
25
+ $sale_badge_preset = isset($settings['eael_product_sale_badge_preset']) ? $settings['eael_product_sale_badge_preset'] : '';
26
+ // should print vars
27
+ $should_print_rating = isset( $settings['eael_product_grid_rating'] ) && 'yes' === $settings['eael_product_grid_rating'];
28
+ $should_print_quick_view = isset( $settings['eael_product_grid_quick_view'] ) && 'yes' === $settings['eael_product_grid_quick_view'];
29
+ $should_print_price = isset( $settings['eael_product_grid_price'] ) && 'yes' === $settings['eael_product_grid_price'];
30
+ $should_print_excerpt = isset( $settings['eael_product_grid_excerpt'] ) && ('yes' === $settings['eael_product_grid_excerpt'] && has_excerpt());
31
+ $widget_id = isset($settings['eael_widget_id']) ? $settings['eael_widget_id'] : null;
32
 
33
+ if ( $grid_style_preset == 'eael-product-simple' || $grid_style_preset == 'eael-product-reveal' ) { ?>
34
+ <li class="product">
35
+ <a href="<?php echo esc_url( $product->get_permalink() ); ?>" class="woocommerce-LoopProduct-link woocommerce-loop-product__link">
36
+ <?php echo wp_kses_post( $product->get_image( 'woocommerce_thumbnail', ['loading' => 'eager'] ) ); ?>
37
+ <h2 class="woocommerce-loop-product__title"> <?php echo esc_html( $product->get_title() ); ?> </h2>
38
+ <?php
39
+ if ( $should_print_rating ) {
40
+ echo wp_kses_post( wc_get_rating_html( $product->get_average_rating(), $product->get_rating_count() ) );
41
+ }
42
+ if ( ! $product->managing_stock() && ! $product->is_in_stock() ) {
43
+ printf( '<span class="outofstock-badge">%s</span>', __( 'Stock <br/> Out', 'essential-addons-for-elementor-lite' ) );
44
+ } elseif ( $product->is_on_sale() ) {
45
+ printf( '<span class="onsale">%s</span>', __( 'Sale!', 'essential-addons-for-elementor-lite' ) );
46
+ }
47
+ ?>
48
+ <span class="price"><?php echo wp_kses_post( $product->get_price_html() ); ?></span>
49
+ </a>
50
+ <?php
51
  woocommerce_template_loop_add_to_cart();
52
+ if ( $should_print_compare_btn ) {
53
+ Product_Grid::print_compare_button( $product->get_id() );
54
+ }
55
+ ?>
56
+ </li>
57
+ <?php
58
+ } else if ( $grid_style_preset == 'eael-product-overlay' ) {
59
+ ?>
60
+ <li class="product">
61
  <div class="overlay">
62
+ <?php echo $product->get_image( 'woocommerce_thumbnail', ['loading' => 'eager'] ); ?>
63
  <div class="button-wrap clearfix">
64
+ <a href="<?php echo esc_url( $product->get_permalink() ); ?>" class="product-link"><span class="fas fa-link"></span></a>';
65
+ <?php
66
  woocommerce_template_loop_add_to_cart();
67
+ if ( $should_print_compare_btn ) {
68
+ Product_Grid::print_compare_button( $product->get_id(), 'icon' );
69
+ }
70
+ ?>
71
+ </div>
72
  </div>
73
+ <h2 class="woocommerce-loop-product__title"><?php echo esc_html( $product->get_title() ); ?></h2>
74
+ <?php
75
+ if ( $should_print_rating ) {
76
+ echo wc_get_rating_html( $product->get_average_rating(), $product->get_rating_count() );
77
+ }
78
+ if ( $product->is_on_sale() ) {
79
+ printf( '<span class="onsale">%s</span>', __( 'Sale!', 'essential-addons-for-elementor-lite' ) );
80
+ }
81
+ ?>
82
+ <span class="price"> <?php echo $product->get_price_html(); ?> </span>
83
+ </li>
84
+ <?php
85
+ } else if (($grid_style_preset == 'eael-product-preset-5') || ($grid_style_preset == 'eael-product-preset-6') || ($grid_style_preset == 'eael-product-preset-7')) {
86
+ if ( true === wc_get_loop_product_visibility( $product->get_id() ) || $product->is_visible() ) {
87
+ ?>
88
+ <li <?php post_class( 'product' ); ?>>
89
+ <div class="eael-product-wrap">
90
+ <div class="product-image-wrap">
91
+ <div class="image-wrap">
92
+ <?php
93
+ echo ( ! $product->managing_stock() && ! $product->is_in_stock() ? '<span class="eael-onsale outofstock '.$sale_badge_preset.' '.$sale_badge_align.'">'.__('Stock ', 'essential-addons-for-elementor-lite'). '<br />' . __('Out', 'essential-addons-for-elementor-lite').'</span>' : ($product->is_on_sale() ? '<span class="eael-onsale '.$sale_badge_preset.' '.$sale_badge_align.'">' . __('Sale!', 'essential-addons-for-elementor-lite') . '</span>' : '') );
94
+ echo $product->get_image($settings['eael_product_grid_image_size_size'], ['loading' => 'eager']);
95
+ ?>
96
+ </div>
97
+ <div class="image-hover-wrap">
98
+ <?php if($grid_style_preset == 'eael-product-preset-5'){ ?>
99
+ <ul class="icons-wrap block-style">
100
+ <?php if( $should_print_quick_view ){?>
101
+ <li class="eael-product-quick-view">
102
+ <a href="#eaproduct<?php echo $widget_id.$product->get_id(); ?>"
103
+ class="open-popup-link">
104
+ <i class="fas fa-eye"></i>
105
+ </a>
106
+ </li>
107
+ <?php } ?>
108
+ <?php
109
+ if ( $should_print_compare_btn ) {
110
+ echo '<li class="add-to-compare">';
111
+ Product_Grid::print_compare_button( $product->get_id(), 'icon' );
112
+ echo '</li>';
113
+ }
114
+ ?>
115
+ <li class="add-to-cart"><?php woocommerce_template_loop_add_to_cart();
116
+ ?></li>
117
+ <li class="view-details"><?php echo '<a href="' . $product->get_permalink() . '"><i class="fas fa-link"></i></a>'; ?></li>
118
+
119
+ </ul>
120
+ <?php } elseif ($grid_style_preset == 'eael-product-preset-7') { ?>
121
+ <ul class="icons-wrap block-box-style">
122
+ <li class="add-to-cart"><?php
123
+ woocommerce_template_loop_add_to_cart(); ?></li>
124
+ <?php
125
+ if ( $should_print_compare_btn ) {
126
+ echo '<li class="add-to-compare">';
127
+ Product_Grid::print_compare_button( $product->get_id(), 'icon' );
128
+ echo '</li>';
129
+ }
130
+ ?>
131
+ <?php if( $should_print_quick_view ){?>
132
+ <li class="eael-product-quick-view">
133
+ <a href="#eaproduct<?php echo $widget_id.$product->get_id(); ?>"
134
+ class="open-popup-link">
135
+ <i class="fas fa-eye"></i>
136
+ </a>
137
+ </li>
138
+ <?php } ?>
139
+ <li class="view-details"><?php echo '<a href="' . $product->get_permalink
140
+ () . '"><i class="fas fa-link"></i></a>'; ?></li>
141
+ </ul>
142
+ <?php } else { ?>
143
+ <ul class="icons-wrap box-style">
144
+ <li class="add-to-cart"><?php
145
+ woocommerce_template_loop_add_to_cart(); ?></li>
146
+ <?php
147
+ if ( $should_print_compare_btn ) {
148
+ echo '<li class="add-to-compare">';
149
+ Product_Grid::print_compare_button( $product->get_id(), 'icon' );
150
+ echo '</li>';
151
+ }
152
+ ?>
153
+ <?php if( $should_print_quick_view ){?>
154
+ <li class="eael-product-quick-view">
155
+ <a href="#eaproduct<?php echo $widget_id.$product->get_id(); ?>"
156
+ class="open-popup-link">
157
+ <i class="fas fa-eye"></i>
158
+ </a>
159
+ </li>
160
+ <?php } ?>
161
+ <li class="view-details" title="Details"><?php echo '<a href="' . $product->get_permalink() . '"><i class="fas fa-link"></i></a>'; ?></li>
162
+ </ul>
163
+ <?php }
164
+ if( $should_print_quick_view ){
165
+ Helper::eael_product_quick_view( $product, $settings, $widget_id );
166
+ }
167
+ ?>
168
+ </div>
169
+ </div>
170
+ <div class="product-details-wrap">
171
+ <?php
172
+ if(($grid_style_preset == 'eael-product-preset-7') && $should_print_price ){
173
+ echo '<div class="eael-product-price">'.$product->get_price_html().'</div>';
174
+ }
175
+
176
+ if ($should_print_rating) {
177
+ echo wc_get_rating_html
178
+ ($product->get_average_rating(), $product->get_rating_count());
179
+ }
180
+ ?>
181
+ <div class="eael-product-title"><h2><?php echo $product->get_title(); ?></h2></div>
182
+ <?php if(($grid_style_preset != 'eael-product-preset-7') && $should_print_price ){
183
+ echo '<div class="eael-product-price">'.$product->get_price_html().'</div>';
184
+ }?>
185
+ </div>
186
+ </div>
187
+ </li>
188
+ <?php
189
+ }
190
+ } else if ($grid_style_preset == 'eael-product-preset-8') {
191
+ if ( true === wc_get_loop_product_visibility( $product->get_id() ) || $product->is_visible() ) {
192
+ ?>
193
+ <li <?php post_class( 'product' ); ?>>
194
+ <div class="eael-product-wrap">
195
+ <div class="product-image-wrap">
196
+ <div class="image-wrap">
197
+ <?php
198
+ echo '<a href="' . $product->get_permalink() . '" class="woocommerce-LoopProduct-link woocommerce-loop-product__link">';
199
+ echo ( ! $product->managing_stock() && ! $product->is_in_stock() ? '<span class="eael-onsale outofstock '.$sale_badge_preset.' '.$sale_badge_align.'">'.__('Stock ', 'essential-addons-for-elementor-lite'). '<br />' . __('Out', 'essential-addons-for-elementor-lite').'</span>' : ($product->is_on_sale() ? '<span class="eael-onsale '.$sale_badge_preset.' '.$sale_badge_align.'">' . __('Sale!', 'essential-addons-for-elementor-lite') . '</span>' : '') );
200
+ echo $product->get_image($settings['eael_product_grid_image_size_size'], ['loading' => 'eager']);
201
+ echo '</a>';
202
+ ?>
203
+ </div>
204
+ <div class="image-hover-wrap">
205
+ <ul class="icons-wrap over-box-style">
206
+ <li class="add-to-cart"><?php
207
+ woocommerce_template_loop_add_to_cart(); ?></li>
208
+ <?php
209
+ if ( $should_print_compare_btn ) {
210
+ echo '<li class="add-to-compare">';
211
+ Product_Grid::print_compare_button( $product->get_id(), 'icon' );
212
+ echo '</li>';
213
+ }
214
+ ?>
215
+ <?php if( $should_print_quick_view ){?>
216
+ <li class="eael-product-quick-view">
217
+ <a href="#eaproduct<?php echo $widget_id.$product->get_id(); ?>"
218
+ class="open-popup-link">
219
+ <i class="fas fa-eye"></i>
220
+ </a>
221
+ </li>
222
+ <?php } ?>
223
+ </ul>
224
+ <?php
225
+ if( $should_print_quick_view ){
226
+ Helper::eael_product_quick_view( $product, $settings, $widget_id );
227
+ }
228
+ ?>
229
+ </div>
230
+ </div>
231
+ <div class="product-details-wrap">
232
+ <?php
233
+ if ( $should_print_price ) {
234
+ echo '<div class="eael-product-price">'.$product->get_price_html().'</div>';
235
+ }
236
+ ?>
237
+ <div class="eael-product-title">
238
+ <?php
239
+ echo '<a href="' . $product->get_permalink() . '" class="woocommerce-LoopProduct-link woocommerce-loop-product__link">
240
  <h2>'. $product->get_title() .'</h2></a>';
241
+ ?>
242
+ </div>
243
+ </div>
244
+ </div>
245
+ </li>
246
+ <?php
247
+ }
248
+ } else if(($list_style_preset == 'eael-product-list-preset-1') ||
249
+ ($list_style_preset == 'eael-product-list-preset-2') ||
250
+ ($list_style_preset == 'eael-product-list-preset-3') ||
251
+ ($list_style_preset == 'eael-product-list-preset-4')) {
252
+ if ( true === wc_get_loop_product_visibility( $product->get_id() ) || $product->is_visible() ) {
253
+ ?>
254
+ <li class="product <?php echo $list_style_preset;?>">
255
+ <div class="eael-product-wrap">
256
+ <div class="product-image-wrap">
257
+ <div class="image-wrap">
258
+ <?php
259
+ echo '<a href="' . $product->get_permalink() . '" class="woocommerce-LoopProduct-link woocommerce-loop-product__link">';
260
+ echo ( ! $product->managing_stock() && ! $product->is_in_stock() ? '<span class="eael-onsale outofstock '.$sale_badge_preset.' '.$sale_badge_align.'">'.__('Stock ', 'essential-addons-for-elementor-lite'). '<br />' . __('Out', 'essential-addons-for-elementor-lite').'</span>' : ($product->is_on_sale() ? '<span class="eael-onsale '.$sale_badge_preset.' '.$sale_badge_align.'">' . __('Sale!', 'essential-addons-for-elementor-lite') . '</span>' : '') );
261
+ echo $product->get_image($settings['eael_product_grid_image_size_size'], ['loading' => 'eager']);
262
+ echo '</a>';
263
+ ?>
264
+ </div>
265
+ </div>
266
+ <div class="product-details-wrap">
267
+ <?php
268
+ if ($list_style_preset == 'eael-product-list-preset-2') {
269
+ echo '<div class="eael-product-title">
270
  <a href="' . $product->get_permalink() . '" class="woocommerce-LoopProduct-link woocommerce-loop-product__link">
271
  <h2>'. $product->get_title() .'</h2>
272
  </a>
273
  </div>';
274
+ if ( $should_print_excerpt ) {
275
+ echo '<div class="eael-product-excerpt">';
276
+ echo '<p>' . wp_trim_words(strip_shortcodes(get_the_excerpt()), $settings['eael_product_grid_excerpt_length'], $settings['eael_product_grid_excerpt_expanison_indicator']) . '</p>';
277
+ echo '</div>';
278
+ }
279
+ if ( $should_print_price ) {
280
+ echo '<div class="eael-product-price">'.$product->get_price_html().'</div>';
281
+ }
 
 
 
 
 
 
282
 
283
+ if ($should_print_rating) {
284
+ echo wc_get_rating_html
285
+ ($product->get_average_rating(), $product->get_rating_count());
286
+ }
287
+
288
+ } elseif ($list_style_preset == 'eael-product-list-preset-3') {
289
+ echo '<div class="price-wrap">';
290
+ if ($should_print_price) {
291
+ echo '<div class="eael-product-price">'.$product->get_price_html().'</div>';
292
+ }
293
+ if ($should_print_rating) {
294
+ echo wc_get_rating_html
295
+ ($product->get_average_rating(), $product->get_rating_count());
296
+ }
297
+ echo '</div>
298
  <div class="title-wrap">
299
  <div class="eael-product-title">
300
  <a href="' . $product->get_permalink() . '" class="woocommerce-LoopProduct-link woocommerce-loop-product__link">
301
  <h2>'. $product->get_title() .'</h2>
302
  </a>
303
  </div>';
304
+ if ( $should_print_excerpt ) {
305
+ echo '<div class="eael-product-excerpt">';
306
+ echo '<p>' . wp_trim_words(strip_shortcodes(get_the_excerpt() ? get_the_excerpt() :
307
+ get_the_content()), $settings['eael_product_grid_excerpt_length'], $settings['eael_product_grid_excerpt_expanison_indicator']) . '</p>';
308
+ echo '</div>';
309
+ }
310
+ echo '</div>';
311
+ } elseif ($list_style_preset == 'eael-product-list-preset-4') {
312
+
313
+ if ($should_print_rating) {
314
+ echo wc_get_rating_html
315
+ ($product->get_average_rating(), $product->get_rating_count());
316
+ }
317
+
318
+ echo '<div class="eael-product-title">
319
  <a href="' . $product->get_permalink() . '" class="woocommerce-LoopProduct-link woocommerce-loop-product__link">
320
  <h2>'. $product->get_title() .'</h2>
321
  </a>
322
  </div>';
323
+ if ( $should_print_excerpt ) {
324
+ echo '<div class="eael-product-excerpt">';
325
+ echo '<p>' . wp_trim_words(strip_shortcodes(get_the_excerpt() ? get_the_excerpt() :
326
+ get_the_content()), $settings['eael_product_grid_excerpt_length'], $settings['eael_product_grid_excerpt_expanison_indicator']) . '</p>';
327
+ echo '</div>';
328
+ }
329
+ if ( $should_print_price ) {
330
+ echo '<div class="eael-product-price">'.$product->get_price_html().'</div>';
331
+ }
332
 
333
+ } else {
334
+ echo '<div class="eael-product-title">
335
  <a href="' . $product->get_permalink() . '" class="woocommerce-LoopProduct-link woocommerce-loop-product__link">
336
  <h2>'. $product->get_title() .'</h2>
337
  </a>
338
  </div>
339
+ <div class="eael-product-price">'.$product->get_price_html().'</div>';
340
+ if ($should_print_rating) {
341
+ echo wc_get_rating_html
342
+ ($product->get_average_rating(), $product->get_rating_count());
343
+ }
344
+
345
+ if ( $should_print_excerpt ) {
346
+ echo '<div class="eael-product-excerpt">';
347
+ echo '<p>' . wp_trim_words(strip_shortcodes(get_the_excerpt() ? get_the_excerpt() :
348
+ get_the_content()), $settings['eael_product_grid_excerpt_length'], $settings['eael_product_grid_excerpt_expanison_indicator']) . '</p>';
349
+ echo '</div>';
350
+ };
351
+ }
352
+ ?>
353
 
354
+ <ul class="icons-wrap <?php echo $settings['eael_product_action_buttons_preset'] ;?>">
355
+ <?php
356
+ if ( $should_print_compare_btn ) {
357
+ echo '<li class="add-to-compare">';
358
+ Product_Grid::print_compare_button( $product->get_id(), 'icon' );
359
+ echo '</li>';
360
+ }
361
+ ?>
362
+ <li class="add-to-cart"><?php
363
+ woocommerce_template_loop_add_to_cart(); ?></li>
364
+
365
+ <?php
366
+ if( $should_print_quick_view ){?>
367
+ <li class="eael-product-quick-view">
368
+ <a href="#eaproduct<?php echo $widget_id.$product->get_id(); ?>"
369
+ class="open-popup-link">
370
+ <i class="fas fa-eye"></i>
371
+ </a>
372
+ </li>
373
+ <?php } ?>
374
+ </ul>
375
+ <?php
376
+ if( $should_print_quick_view ){
377
+ Helper::eael_product_quick_view( $product, $settings, $widget_id );
378
+ }
379
+ ?>
380
+ </div>
381
+ </div>
382
+ </li>
383
+ <?php
384
+ }
385
  }else {
386
  if($settings['eael_product_grid_rating']!='yes'){
387
+ remove_action('woocommerce_after_shop_loop_item_title','woocommerce_template_loop_rating',5);
388
+ }
389
+ if ( $should_print_compare_btn ) {
390
+ add_action( 'woocommerce_after_shop_loop_item', [
391
+ '\Essential_Addons_Elementor\Elements\Product_Grid',
392
+ 'print_compare_button',
393
+ ] );
394
  }
395
 
396
+ wc_get_template_part( 'content', 'product' );
397
+
398
+ if ( $should_print_compare_btn ) {
399
+ remove_action( 'woocommerce_after_shop_loop_item', [
400
+ '\Essential_Addons_Elementor\Elements\Product_Grid',
401
+ 'print_compare_button',
402
+ ] );
403
+ }
404
+ }
includes/Template/Woocommerce/Checkout/Woo_Checkout_Helper.php CHANGED
@@ -309,8 +309,9 @@ trait Woo_Checkout_Helper {
309
  <?php wc_print_notice( apply_filters( 'woocommerce_checkout_login_message', $settings['ea_woo_checkout_login_title'] ) . ' <a href="#" class="showlogin">' . $settings['ea_woo_checkout_login_link_text'] . '</a>', 'notice' ); ?>
310
  </div>
311
 
312
- <?php
313
- $message = esc_html__( 'If you have shopped with us before, please enter your details below. If you are a new customer, please proceed to the Billing section.', 'essential-addons-for-elementor-lite' );
 
314
  $redirect = wc_get_checkout_url();
315
  $hidden = true;
316
  ?>
309
  <?php wc_print_notice( apply_filters( 'woocommerce_checkout_login_message', $settings['ea_woo_checkout_login_title'] ) . ' <a href="#" class="showlogin">' . $settings['ea_woo_checkout_login_link_text'] . '</a>', 'notice' ); ?>
310
  </div>
311
 
312
+ <?php
313
+ $message = $settings['ea_woo_checkout_login_message'];
314
+
315
  $redirect = wc_get_checkout_url();
316
  $hidden = true;
317
  ?>
includes/Traits/Controls.php CHANGED
@@ -596,7 +596,6 @@ trait Controls
596
  'center' => esc_html__('Center', 'essential-addons-for-elementor-lite'),
597
  'right' => esc_html__('Left', 'essential-addons-for-elementor-lite'),
598
  ],
599
- 'default' => 'center',
600
  ]
601
  );
602
 
@@ -610,7 +609,6 @@ trait Controls
610
  'inside' => esc_html__('Inside', 'essential-addons-for-elementor-lite'),
611
  'outside' => esc_html__('Outside', 'essential-addons-for-elementor-lite'),
612
  ],
613
- 'default' => 'inside',
614
  'condition' => [
615
  'content_timeline_layout!' => 'center',
616
  ],
@@ -639,7 +637,7 @@ trait Controls
639
  'label_block' => false,
640
  'default' => esc_html__('Load More', 'essential-addons-for-elementor-lite'),
641
  'condition' => [
642
- 'show_load_more' => 'yes',
643
  ],
644
  ]
645
  );
596
  'center' => esc_html__('Center', 'essential-addons-for-elementor-lite'),
597
  'right' => esc_html__('Left', 'essential-addons-for-elementor-lite'),
598
  ],
 
599
  ]
600
  );
601
 
609
  'inside' => esc_html__('Inside', 'essential-addons-for-elementor-lite'),
610
  'outside' => esc_html__('Outside', 'essential-addons-for-elementor-lite'),
611
  ],
 
612
  'condition' => [
613
  'content_timeline_layout!' => 'center',
614
  ],
637
  'label_block' => false,
638
  'default' => esc_html__('Load More', 'essential-addons-for-elementor-lite'),
639
  'condition' => [
640
+ 'show_load_more' => ['yes', '1', 'true'],
641
  ],
642
  ]
643
  );
includes/Traits/Enqueue.php CHANGED
@@ -67,7 +67,8 @@ trait Enqueue
67
  if ($this->uid === null) {
68
  return;
69
  }
70
-
 
71
  // register fontawesome as fallback
72
  wp_register_style(
73
  'font-awesome-5-all',
@@ -124,6 +125,11 @@ trait Enqueue
124
  $this->localize_objects = apply_filters('eael/localize_objects', [
125
  'ajaxurl' => admin_url('admin-ajax.php'),
126
  'nonce' => wp_create_nonce('essential-addons-elementor'),
 
 
 
 
 
127
  ]);
128
 
129
  // edit mode
@@ -184,6 +190,7 @@ trait Enqueue
184
 
185
  // view mode
186
  if ($this->is_preview_mode()) {
 
187
  if ($this->request_requires_update) {
188
  $elements = $this->get_settings();
189
  $tmp_uid = $this->get_temp_uid();
@@ -195,7 +202,6 @@ trait Enqueue
195
  if (empty($elements)) {
196
  return;
197
  }
198
-
199
  // run hook before enqueue styles
200
  do_action('eael/before_enqueue_styles', $elements);
201
 
67
  if ($this->uid === null) {
68
  return;
69
  }
70
+ //fix asset loading issue if no custom elementor css is not used.
71
+ $this->loaded_templates[] = get_the_ID();
72
  // register fontawesome as fallback
73
  wp_register_style(
74
  'font-awesome-5-all',
125
  $this->localize_objects = apply_filters('eael/localize_objects', [
126
  'ajaxurl' => admin_url('admin-ajax.php'),
127
  'nonce' => wp_create_nonce('essential-addons-elementor'),
128
+ 'i18n' => [
129
+ 'added' => __('Added ', 'essential-addons-for-elementor-lite'),
130
+ 'compare' => __('Compare', 'essential-addons-for-elementor-lite'),
131
+ 'loading' => esc_html__('Loading...', 'essential-addons-for-elementor-lite')
132
+ ],
133
  ]);
134
 
135
  // edit mode
190
 
191
  // view mode
192
  if ($this->is_preview_mode()) {
193
+
194
  if ($this->request_requires_update) {
195
  $elements = $this->get_settings();
196
  $tmp_uid = $this->get_temp_uid();
202
  if (empty($elements)) {
203
  return;
204
  }
 
205
  // run hook before enqueue styles
206
  do_action('eael/before_enqueue_styles', $elements);
207
 
includes/Traits/Facebook_Feed.php CHANGED
@@ -5,28 +5,51 @@ namespace Essential_Addons_Elementor\Traits;
5
  if (!defined('ABSPATH')) {
6
  exit;
7
  } // Exit if accessed directly
 
8
 
9
  trait Facebook_Feed
10
  {
11
  /**
12
  * Facebook Feed
13
  *
 
 
14
  * @since 3.4.0
15
  */
16
- public function facebook_feed_render_items()
17
  {
18
  // check if ajax request
19
  if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'facebook_feed_load_more') {
 
20
  // check ajax referer
21
  check_ajax_referer('essential-addons-elementor', 'security');
22
 
23
  // init vars
24
- $page = $_REQUEST['page'];
25
- parse_str($_REQUEST['settings'], $settings);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
  } else {
27
  // init vars
28
  $page = 0;
29
- $settings = $this->get_settings_for_display();
30
  }
31
 
32
  $html = '';
@@ -61,12 +84,12 @@ trait Facebook_Feed
61
  $facebook_data = array_reverse($facebook_data);
62
  break;
63
  }
64
-
65
  $items = array_splice($facebook_data, ($page * $settings['eael_facebook_feed_image_count']['size']), $settings['eael_facebook_feed_image_count']['size']);
66
-
67
  foreach ($items as $item) {
68
- $message = wp_trim_words((isset($item['message']) ? $item['message'] : (isset($item['story']) ? $item['story'] : '')), $settings['eael_facebook_feed_message_max_length']['size'], '...');
69
- $photo = (isset($item['full_picture']) ? $item['full_picture'] : '');
 
 
70
  $likes = (isset($item['reactions']) ? $item['reactions']['summary']['total_count'] : 0);
71
  $comments = (isset($item['comments']) ? $item['comments']['summary']['total_count'] : 0);
72
 
@@ -159,10 +182,25 @@ trait Facebook_Feed
159
  }
160
 
161
  if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'facebook_feed_load_more') {
162
- wp_send_json([
163
  'num_pages' => ceil(count($facebook_data) / $settings['eael_facebook_feed_image_count']['size']),
164
  'html' => $html,
165
- ]);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
166
  }
167
 
168
  return $html;
5
  if (!defined('ABSPATH')) {
6
  exit;
7
  } // Exit if accessed directly
8
+ use \Essential_Addons_Elementor\Classes\Helper as HelperClass;
9
 
10
  trait Facebook_Feed
11
  {
12
  /**
13
  * Facebook Feed
14
  *
15
+ * @param array $settings optional widget's settings
16
+ * @return false|string|void
17
  * @since 3.4.0
18
  */
19
+ public function facebook_feed_render_items($settings = [])
20
  {
21
  // check if ajax request
22
  if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'facebook_feed_load_more') {
23
+ $ajax = wp_doing_ajax();
24
  // check ajax referer
25
  check_ajax_referer('essential-addons-elementor', 'security');
26
 
27
  // init vars
28
+ $page = isset($_POST['page']) ? intval($_REQUEST['page'], 10) : 0;
29
+ if (!empty($_POST['post_id'])) {
30
+ $post_id = intval($_POST['post_id'], 10);
31
+ } else {
32
+ $err_msg = __('Post ID is missing', 'essential-addons-for-elementor-lite');
33
+ if ($ajax) {
34
+ wp_send_json_error($err_msg);
35
+ }
36
+ return false;
37
+ }
38
+ if (!empty($_POST['widget_id'])) {
39
+ $widget_id = sanitize_text_field($_POST['widget_id']);
40
+ } else {
41
+ $err_msg = __('Widget ID is missing', 'essential-addons-for-elementor-lite');
42
+ if ($ajax) {
43
+ wp_send_json_error($err_msg);
44
+ }
45
+ return false;
46
+ }
47
+ $settings = HelperClass::eael_get_widget_settings($post_id, $widget_id);
48
+
49
  } else {
50
  // init vars
51
  $page = 0;
52
+ $settings = !empty($settings) ? $settings : $this->get_settings_for_display();
53
  }
54
 
55
  $html = '';
84
  $facebook_data = array_reverse($facebook_data);
85
  break;
86
  }
 
87
  $items = array_splice($facebook_data, ($page * $settings['eael_facebook_feed_image_count']['size']), $settings['eael_facebook_feed_image_count']['size']);
 
88
  foreach ($items as $item) {
89
+ $t = 'eael_facebook_feed_message_max_length'; // short it
90
+ $limit = isset($settings[$t]) && isset($settings[$t]['size']) ? $settings[$t]['size']: null;
91
+ $message = wp_trim_words((isset($item['message']) ? $item['message'] : (isset($item['story']) ? $item['story'] : '')), $limit, '...');
92
+ $photo = (isset($item['full_picture']) ? esc_url($item['full_picture']) : '');
93
  $likes = (isset($item['reactions']) ? $item['reactions']['summary']['total_count'] : 0);
94
  $comments = (isset($item['comments']) ? $item['comments']['summary']['total_count'] : 0);
95
 
182
  }
183
 
184
  if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'facebook_feed_load_more') {
185
+ $data = [
186
  'num_pages' => ceil(count($facebook_data) / $settings['eael_facebook_feed_image_count']['size']),
187
  'html' => $html,
188
+ ];
189
+ while (ob_get_status()) {
190
+ ob_end_clean();
191
+ }
192
+ if (function_exists('gzencode')) {
193
+ $response = gzencode(wp_json_encode($data));
194
+ header('Content-Type: application/json; charset=utf-8');
195
+ header('Content-Encoding: gzip');
196
+ header('Content-Length: ' . strlen($response));
197
+
198
+ echo $response;
199
+ } else {
200
+ wp_send_json($data);
201
+ }
202
+ wp_die();
203
+
204
  }
205
 
206
  return $html;
includes/Traits/Helper.php CHANGED
@@ -6,12 +6,13 @@ if ( !defined( 'ABSPATH' ) ) {
6
  exit;
7
  } // Exit if accessed directly
8
 
 
9
  use \Essential_Addons_Elementor\Classes\Helper as HelperClass;
10
  use \Essential_Addons_Elementor\Elements\Woo_Checkout;
11
 
12
  trait Helper
13
  {
14
- use \Essential_Addons_Elementor\Traits\Template_Query;
15
  /**
16
  * This function is responsible for get the post data.
17
  * It will return HTML markup with AJAX call and with normal call.
@@ -19,81 +20,149 @@ trait Helper
19
  * @return string of an html markup with AJAX call.
20
  * @return array of content and found posts count without AJAX call.
21
  */
22
- public function ajax_load_more() {
23
- parse_str( $_REQUEST[ 'args' ], $args );
24
- parse_str( $_REQUEST[ 'settings' ], $settings );
25
-
26
- $html = '';
27
- $class = '\\' . str_replace( '\\\\', '\\', $_REQUEST[ 'class' ] );
28
- $args[ 'offset' ] = (int)$args[ 'offset' ] + ( ( (int)$_REQUEST[ 'page' ] - 1 ) * (int)$args[ 'posts_per_page' ] );
29
-
30
- if ( isset( $_REQUEST[ 'taxonomy' ] ) && $_REQUEST[ 'taxonomy' ][ 'taxonomy' ] != 'all' ) {
31
- $args[ 'tax_query' ] = [
32
- $_REQUEST[ 'taxonomy' ],
33
- ];
34
- }
35
 
36
- if ( $class == '\Essential_Addons_Elementor\Elements\Post_Grid' && $settings[ 'orderby' ] === 'rand' ) {
37
- $args[ 'post__not_in' ] = array_unique( $_REQUEST[ 'post__not_in' ] );
38
- }
 
 
 
 
39
 
40
- $template_info = $_REQUEST[ 'template_info' ];
 
 
 
 
 
 
 
 
41
 
42
- if ( $template_info ) {
43
- if ( $template_info[ 'dir' ] === 'free' ) {
44
- $file_path = EAEL_PLUGIN_PATH;
45
- }
 
 
 
 
 
46
 
47
- if ( $template_info[ 'dir' ] === 'pro' ) {
48
- $file_path = EAEL_PRO_PLUGIN_PATH;
49
- }
 
 
 
 
 
50
 
51
- $file_path = sprintf(
52
- '%sincludes/Template/%s/%s.php',
53
- $file_path,
54
- $template_info[ 'name' ],
55
- $template_info[ 'file_name' ]
56
- );
57
-
58
- if ( $file_path ) {
59
- $query = new \WP_Query( $args );
60
-
61
- $iterator = 0;
62
-
63
- if ( $query->have_posts() ) {
64
- if ( $class === '\Essential_Addons_Elementor\Elements\Product_Grid' && boolval( $settings[ 'show_add_to_cart_custom_text' ] ) ) {
65
-
66
- $add_to_cart_text = [
67
- 'add_to_cart_simple_product_button_text' => $settings[ 'add_to_cart_simple_product_button_text' ],
68
- 'add_to_cart_variable_product_button_text' => $settings[ 'add_to_cart_variable_product_button_text' ],
69
- 'add_to_cart_grouped_product_button_text' => $settings[ 'add_to_cart_grouped_product_button_text' ],
70
- 'add_to_cart_external_product_button_text' => $settings[ 'add_to_cart_external_product_button_text' ],
71
- 'add_to_cart_default_product_button_text' => $settings[ 'add_to_cart_default_product_button_text' ],
72
- ];
73
- $this->change_add_to_cart_text($add_to_cart_text);
74
- }
75
 
76
- if ( $class === '\Essential_Addons_Elementor\Pro\Elements\Post_List' ) {
77
- // $html .= '<div class="eael-post-list-posts-wrap">';
78
- }
79
 
80
- while ( $query->have_posts() ) {
81
- $query->the_post();
 
 
 
 
 
 
 
 
 
 
 
 
 
82
 
83
- $html .= HelperClass::include_with_variable( $file_path, [ 'settings' => $settings, 'iterator' => $iterator ] );
84
- $iterator++;
85
- }
86
- if ( $class === '\Essential_Addons_Elementor\Pro\Elements\Post_List' ) {
87
- // $html .= '</div>';
88
- }
89
- }
90
- }
91
- }
92
 
93
- echo $html;
94
- wp_die();
95
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
96
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97
  /**
98
  * Woo Checkout
99
  */
@@ -320,12 +389,34 @@ trait Helper
320
 
321
  public function select2_ajax_posts_filter_autocomplete() {
322
  $post_type = 'post';
 
 
323
  if ( !empty( $_GET[ 'post_type' ] ) ) {
324
  $post_type = sanitize_text_field( $_GET[ 'post_type' ] );
325
  }
 
 
 
 
 
326
  $search = !empty( $_GET[ 'term' ] ) ? sanitize_text_field( $_GET[ 'term' ] ) : '';
327
- $results = [];
328
- $post_list = HelperClass::get_query_post_list( $post_type, 10, $search );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
329
  if ( !empty( $post_list ) ) {
330
  foreach ( $post_list as $key => $item ) {
331
  $results[] = [ 'text' => $item, 'id' => $key ];
@@ -335,19 +426,108 @@ trait Helper
335
  }
336
 
337
  public function select2_ajax_get_posts_value_titles() {
338
- if ( empty( $_POST[ 'id' ] ) ) {
339
  wp_send_json_error( [] );
340
  }
341
- $id = sanitize_text_field( $_POST[ 'id' ] );
342
- $post_info = get_post( $id );
343
- if ( $post_info ) {
344
- wp_send_json_success( [ 'id' => $id, 'text' => $post_info->post_title ] );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
345
  } else {
346
  wp_send_json_error( [] );
347
  }
348
  }
349
 
350
- public function eael_product_grid_script(){
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
351
  if ( version_compare( WC()->version, '3.0.0', '>=' ) ) {
352
  if ( current_theme_supports( 'wc-product-gallery-zoom' ) ) {
353
  wp_enqueue_script( 'zoom' );
@@ -556,5 +736,5 @@ trait Helper
556
  }
557
  } );
558
  }
559
-
560
  }
 
6
  exit;
7
  } // Exit if accessed directly
8
 
9
+ use Elementor\Plugin;
10
  use \Essential_Addons_Elementor\Classes\Helper as HelperClass;
11
  use \Essential_Addons_Elementor\Elements\Woo_Checkout;
12
 
13
  trait Helper
14
  {
15
+ use Template_Query;
16
  /**
17
  * This function is responsible for get the post data.
18
  * It will return HTML markup with AJAX call and with normal call.
20
  * @return string of an html markup with AJAX call.
21
  * @return array of content and found posts count without AJAX call.
22
  */
23
+ public function ajax_load_more()
24
+ {
25
+ $ajax = wp_doing_ajax();
26
+
27
+ parse_str($_REQUEST['args'], $args);
28
+ if ( empty( $_POST['nonce'] ) ) {
29
+ $err_msg = __( 'Insecure form submitted without security token', 'essential-addons-for-elementor-lite' );
30
+ if ( $ajax ) {
31
+ wp_send_json_error( $err_msg );
32
+ }
33
+ return false;
34
+ }
 
35
 
36
+ if ( ! wp_verify_nonce( $_POST['nonce'], 'load_more' ) ) {
37
+ $err_msg = __( 'Security token did not match', 'essential-addons-for-elementor-lite' );
38
+ if ( $ajax ) {
39
+ wp_send_json_error( $err_msg );
40
+ }
41
+ return false;
42
+ }
43
 
44
+ if ( ! empty( $_POST['page_id'] ) ) {
45
+ $page_id = intval( $_POST['page_id'], 10 );
46
+ } else {
47
+ $err_msg = __( 'Page ID is missing', 'essential-addons-for-elementor-lite' );
48
+ if ( $ajax ) {
49
+ wp_send_json_error( $err_msg );
50
+ }
51
+ return false;
52
+ }
53
 
54
+ if ( ! empty( $_POST['widget_id'] ) ) {
55
+ $widget_id = sanitize_text_field( $_POST['widget_id'] );
56
+ } else {
57
+ $err_msg = __( 'Widget ID is missing', 'essential-addons-for-elementor-lite' );
58
+ if ( $ajax ) {
59
+ wp_send_json_error( $err_msg );
60
+ }
61
+ return false;
62
+ }
63
 
64
+ $settings = HelperClass::eael_get_widget_settings($page_id, $widget_id);
65
+ if (empty($settings)) {
66
+ wp_send_json_error(['message' => __('Widget settings are not found. Did you save the widget before using load more??', 'essential-addons-for-elementor-lite')]);
67
+ }
68
+ $settings['eael_widget_id'] = $widget_id;
69
+ $html = '';
70
+ $class = '\\' . str_replace( '\\\\', '\\', $_REQUEST[ 'class' ] );
71
+ $args[ 'offset' ] = (int)$args[ 'offset' ] + ( ( (int)$_REQUEST[ 'page' ] - 1 ) * (int)$args[ 'posts_per_page' ] );
72
 
73
+ if ( isset( $_REQUEST[ 'taxonomy' ] ) && isset($_REQUEST[ 'taxonomy' ][ 'taxonomy' ]) && $_REQUEST[ 'taxonomy' ][ 'taxonomy' ] != 'all' ) {
74
+ $args[ 'tax_query' ] = [
75
+ $_REQUEST[ 'taxonomy' ],
76
+ ];
77
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
78
 
79
+ if ( $class == '\Essential_Addons_Elementor\Elements\Post_Grid' && $settings[ 'orderby' ] === 'rand' ) {
80
+ $args[ 'post__not_in' ] = array_unique( $_REQUEST[ 'post__not_in' ] );
81
+ }
82
 
83
+ // ensure control name compatibility to old code if it is post block
84
+ if ($class === '\Essential_Addons_Elementor\Pro\Elements\Post_Block' ) {
85
+ $settings ['post_block_hover_animation'] = $settings['eael_post_block_hover_animation'];
86
+ $settings ['show_read_more_button'] = $settings['eael_show_read_more_button'];
87
+ $settings ['eael_post_block_bg_hover_icon'] = (isset($settings['__fa4_migrated']['eael_post_block_bg_hover_icon_new']) || empty($settings['eael_post_block_bg_hover_icon'])) ? $settings['eael_post_block_bg_hover_icon_new']['value'] : $settings['eael_post_block_bg_hover_icon'];
88
+ $settings ['expanison_indicator'] = $settings['excerpt_expanison_indicator'];
89
+ }
90
+ if ( $class === '\Essential_Addons_Elementor\Elements\Post_Timeline' ) {
91
+ $settings ['expanison_indicator'] = $settings['excerpt_expanison_indicator'];
92
+ }
93
+ if ($class === '\Essential_Addons_Elementor\Pro\Elements\Dynamic_Filterable_Gallery' ) {
94
+ $settings['eael_section_fg_zoom_icon'] = (isset($settings['__fa4_migrated']['eael_section_fg_zoom_icon_new']) || empty($settings['eael_section_fg_zoom_icon']) ? $settings['eael_section_fg_zoom_icon_new']['value'] : $settings['eael_section_fg_zoom_icon']);
95
+ $settings['eael_section_fg_link_icon'] = (isset($settings['__fa4_migrated']['eael_section_fg_link_icon_new']) || empty($settings['eael_section_fg_link_icon']) ? $settings['eael_section_fg_link_icon_new']['value'] : $settings['eael_section_fg_link_icon']);
96
+ $settings['show_load_more_text'] = $settings['eael_fg_loadmore_btn_text'];
97
+ $settings['layout_mode'] = isset($settings['layout_mode']) ? $settings['layout_mode'] : 'masonry';
98
 
99
+ }
 
 
 
 
 
 
 
 
100
 
101
+ $template_info = $_REQUEST['template_info'];
102
+
103
+
104
+ if ( $template_info ) {
105
+ if ( $template_info[ 'dir' ] === 'free' ) {
106
+ $file_path = EAEL_PLUGIN_PATH;
107
+ }
108
+
109
+ if ( $template_info[ 'dir' ] === 'pro' ) {
110
+ $file_path = EAEL_PRO_PLUGIN_PATH;
111
+ }
112
+
113
+ $file_path = sprintf(
114
+ '%sincludes/Template/%s/%s.php',
115
+ $file_path,
116
+ $template_info[ 'name' ],
117
+ $template_info[ 'file_name' ]
118
+ );
119
+
120
+ if ( $file_path ) {
121
+ $query = new \WP_Query( $args );
122
+
123
+ $iterator = 0;
124
 
125
+ if ( $query->have_posts() ) {
126
+ if ( $class === '\Essential_Addons_Elementor\Elements\Product_Grid' && boolval( $settings[ 'show_add_to_cart_custom_text' ] ) ) {
127
+
128
+ $add_to_cart_text = [
129
+ 'add_to_cart_simple_product_button_text' => $settings[ 'add_to_cart_simple_product_button_text' ],
130
+ 'add_to_cart_variable_product_button_text' => $settings[ 'add_to_cart_variable_product_button_text' ],
131
+ 'add_to_cart_grouped_product_button_text' => $settings[ 'add_to_cart_grouped_product_button_text' ],
132
+ 'add_to_cart_external_product_button_text' => $settings[ 'add_to_cart_external_product_button_text' ],
133
+ 'add_to_cart_default_product_button_text' => $settings[ 'add_to_cart_default_product_button_text' ],
134
+ ];
135
+ $this->change_add_to_cart_text($add_to_cart_text);
136
+ }
137
+
138
+
139
+ while ( $query->have_posts() ) {
140
+ $query->the_post();
141
+
142
+ $html .= HelperClass::include_with_variable( $file_path, [ 'settings' => $settings, 'iterator' => $iterator ] );
143
+ $iterator++;
144
+ }
145
+ }
146
+ }
147
+ }
148
+
149
+
150
+ while ( ob_get_status() ) {
151
+ ob_end_clean();
152
+ }
153
+ if (function_exists( 'gzencode' ) ) {
154
+ $response = gzencode( wp_json_encode( $html ) );
155
+
156
+ header( 'Content-Type: application/json; charset=utf-8' );
157
+ header( 'Content-Encoding: gzip' );
158
+ header( 'Content-Length: ' . strlen( $response ) );
159
+
160
+ echo $response;
161
+ } else {
162
+ echo $html;
163
+ }
164
+ wp_die();
165
+ }
166
  /**
167
  * Woo Checkout
168
  */
389
 
390
  public function select2_ajax_posts_filter_autocomplete() {
391
  $post_type = 'post';
392
+ $source_name = 'post_type';
393
+
394
  if ( !empty( $_GET[ 'post_type' ] ) ) {
395
  $post_type = sanitize_text_field( $_GET[ 'post_type' ] );
396
  }
397
+
398
+ if ( !empty( $_GET[ 'source_name' ] ) ) {
399
+ $source_name = sanitize_text_field( $_GET[ 'source_name' ] );
400
+ }
401
+
402
  $search = !empty( $_GET[ 'term' ] ) ? sanitize_text_field( $_GET[ 'term' ] ) : '';
403
+ $results = $post_list = [];
404
+ switch($source_name){
405
+ case 'taxonomy':
406
+ $post_list = wp_list_pluck( get_terms( $post_type,
407
+ [
408
+ 'hide_empty' => false,
409
+ 'orderby' => 'name',
410
+ 'order' => 'ASC',
411
+ 'search' => $search,
412
+ 'number' => '5',
413
+ ]
414
+ ), 'name', 'term_id' );
415
+ break;
416
+ default:
417
+ $post_list = HelperClass::get_query_post_list( $post_type, 10, $search );
418
+ }
419
+
420
  if ( !empty( $post_list ) ) {
421
  foreach ( $post_list as $key => $item ) {
422
  $results[] = [ 'text' => $item, 'id' => $key ];
426
  }
427
 
428
  public function select2_ajax_get_posts_value_titles() {
429
+ if ( empty( array_filter($_POST[ 'id' ]) ) ) {
430
  wp_send_json_error( [] );
431
  }
432
+ $ids = array_map('intval',$_POST[ 'id' ]);
433
+ $source_name = !empty( $_POST[ 'source_name' ] ) ? sanitize_text_field( $_POST[ 'source_name' ] ) : '';
434
+
435
+ switch ( $source_name ) {
436
+ case 'taxonomy':
437
+ $response = wp_list_pluck( get_terms( sanitize_text_field( $_POST[ 'post_type' ] ),
438
+ [
439
+ 'hide_empty' => false,
440
+ 'orderby' => 'name',
441
+ 'order' => 'ASC',
442
+ 'include' => implode( ',', $ids ),
443
+ ]
444
+ ), 'name', 'term_id' );
445
+ break;
446
+ default:
447
+ $post_info = get_posts( [ 'post_type' => sanitize_text_field( $_POST[ 'post_type' ] ), 'include' => implode( ',', $ids ) ] );
448
+ $response = wp_list_pluck( $post_info, 'post_title', 'ID' );
449
+ }
450
+
451
+ if ( !empty( $response ) ) {
452
+ wp_send_json_success( [ 'results' => $response ] );
453
  } else {
454
  wp_send_json_error( [] );
455
  }
456
  }
457
 
458
+ /**
459
+ * It returns the widget settings provided the page id and widget id
460
+ * @param int $page_id Page ID where the widget is used
461
+ * @param string $widget_id the id of the widget whose settings we want to fetch
462
+ *
463
+ * @return array
464
+ */
465
+ public function eael_get_widget_settings( $page_id, $widget_id ) {
466
+ $document = Plugin::$instance->documents->get( $page_id );
467
+ $settings = [];
468
+ if ( $document ) {
469
+ $elements = Plugin::instance()->documents->get( $page_id )->get_elements_data();
470
+ $widget_data = $this->find_element_recursive( $elements, $widget_id );
471
+ if(!empty($widget_data)) {
472
+ $widget = Plugin::instance()->elements_manager->create_element_instance( $widget_data );
473
+ if ( $widget ) {
474
+ $settings = $widget->get_settings_for_display();
475
+ }
476
+ }
477
+ }
478
+ return $settings;
479
+ }
480
+ /**
481
+ * It store data temporarily for 5 mins by default
482
+ *
483
+ * @param $name
484
+ * @param $data
485
+ * @param int $time time in seconds. Default is 300s = 5 minutes
486
+ *
487
+ * @return bool it returns true if the data saved, otherwise, false returned.
488
+ */
489
+ public function eael_set_transient( $name, $data, $time = 300 ) {
490
+ $time = !empty( $time ) ? (int) $time : ( 5 * MINUTE_IN_SECONDS );
491
+ return set_transient( $name, $data, $time );
492
+ }
493
+ public function print_load_more_button($settings, $args, $plugin_type = 'free')
494
+ {
495
+ //@TODO; not all widget's settings contain posts_per_page name exactly, so adjust the settings before passing here or run a migration and make all settings key generalize for load more feature.
496
+ if (!isset($this->page_id)) {
497
+ if ( Plugin::$instance->documents->get_current() ) {
498
+ $this->page_id = Plugin::$instance->documents->get_current()->get_main_id();
499
+ }else{
500
+ $this->page_id = null;
501
+ }
502
+ }
503
+ $this->add_render_attribute('load-more', [
504
+ 'class' => "eael-load-more-button",
505
+ 'id' => "eael-load-more-btn-" . $this->get_id(),
506
+ 'data-widget-id' => $this->get_id(),
507
+ 'data-widget' => $this->get_id(),
508
+ 'data-page-id' => $this->page_id,
509
+ 'data-nonce' => wp_create_nonce( 'load_more' ),
510
+ 'data-template' => json_encode([
511
+ 'dir' => $plugin_type,
512
+ 'file_name' => $settings['eael_dynamic_template_Layout'],
513
+ 'name' => $this->process_directory_name() ],
514
+ 1),
515
+ 'data-class' => get_class( $this ),
516
+ 'data-layout' => isset($settings['layout_mode']) ? $settings['layout_mode'] : "",
517
+ 'data-page' => 1,
518
+ 'data-args' => http_build_query( $args ),
519
+ ]);
520
+ if ( ('true' == $settings['show_load_more'] || 1 == $settings['show_load_more'] || 'yes' == $settings['show_load_more']) && $args['posts_per_page'] != '-1' ) { ?>
521
+ <div class="eael-load-more-button-wrap">
522
+ <button <?php $this->print_render_attribute_string( 'load-more' ); ?>>
523
+ <div class="eael-btn-loader button__loader"></div>
524
+ <span><?php echo esc_html($settings['show_load_more_text']) ?></span>
525
+ </button>
526
+ </div>
527
+ <?php }
528
+ }
529
+
530
+ public function eael_product_grid_script(){
531
  if ( version_compare( WC()->version, '3.0.0', '>=' ) ) {
532
  if ( current_theme_supports( 'wc-product-gallery-zoom' ) ) {
533
  wp_enqueue_script( 'zoom' );
736
  }
737
  } );
738
  }
 
739
  }
740
+
includes/Traits/Login_Registration.php CHANGED
@@ -47,7 +47,6 @@ trait Login_Registration {
47
  */
48
  public function log_user_in() {
49
  $ajax = wp_doing_ajax();
50
-
51
  // before even thinking about login, check security and exit early if something is not right.
52
  $page_id = 0;
53
  if ( ! empty( $_POST['page_id'] ) ) {
@@ -62,13 +61,17 @@ trait Login_Registration {
62
  } else {
63
  $err_msg = __( 'Widget ID is missing', 'essential-addons-for-elementor-lite' );
64
  }
 
65
  if (!empty( $err_msg )){
66
  if ( $ajax ) {
67
  wp_send_json_error( $err_msg );
68
  }
69
- $this->set_transient( 'eael_login_error_' . $widget_id, $err_msg );
70
 
71
- return false;
 
 
 
72
  }
73
 
74
 
@@ -77,9 +80,12 @@ trait Login_Registration {
77
  if ( $ajax ) {
78
  wp_send_json_error( $err_msg );
79
  }
80
- $this->set_transient( 'eael_login_error_' . $widget_id, $err_msg );
81
 
82
- return false;
 
 
 
83
  }
84
 
85
  if ( ! wp_verify_nonce( $_POST['eael-login-nonce'], 'eael-login-action' ) ) {
@@ -87,9 +93,12 @@ trait Login_Registration {
87
  if ( $ajax ) {
88
  wp_send_json_error( $err_msg );
89
  }
90
- $this->set_transient( 'eael_login_error_' . $widget_id, $err_msg );
91
 
92
- return false;
 
 
 
93
  }
94
  $settings = $this->lr_get_widget_settings( $page_id, $widget_id);
95
 
@@ -98,9 +107,12 @@ trait Login_Registration {
98
  if ( $ajax ) {
99
  wp_send_json_error( $err_msg );
100
  }
101
- $this->set_transient( 'eael_login_error_' . $widget_id, $err_msg );
102
 
103
- return false;
 
 
 
104
  }
105
 
106
  do_action( 'eael/login-register/before-login' );
@@ -111,9 +123,12 @@ trait Login_Registration {
111
  if ( $ajax ) {
112
  wp_send_json_error( $err_msg );
113
  }
114
- $this->set_transient( 'eael_login_error_' . $widget_id, $err_msg );
115
 
116
- return false; // vail early if recaptcha failed
 
 
 
117
  }
118
 
119
  $user_login = ! empty( $_POST['eael-user-login'] ) ? sanitize_text_field( $_POST['eael-user-login'] ) : '';
@@ -135,7 +150,7 @@ trait Login_Registration {
135
  $err_msg = '';
136
  if ( isset( $user_data->errors['invalid_email'][0] ) ) {
137
  $err_msg = isset( $settings['err_email'] ) ? $settings['err_email'] : __( 'Invalid Email. Please check your email or try again with your username.', 'essential-addons-for-elementor-lite' );
138
- } elseif ( isset( $user_data->errors['invalid_username'][0] ) || isset( $user_data->errors['incorrect_password'][0] ) || isset( $user_data->errors['empty_password'][0] ) ) {
139
  $err_msg = isset( $settings['err_username'] ) ? $settings['err_username'] : __( 'Invalid Username. Please check your username or try again with your email.', 'essential-addons-for-elementor-lite' );
140
 
141
  } elseif ( isset( $user_data->errors['incorrect_password'][0] ) || isset( $user_data->errors['empty_password'][0] ) ) {
@@ -146,8 +161,7 @@ trait Login_Registration {
146
  if ( $ajax ) {
147
  wp_send_json_error( $err_msg );
148
  }
149
-
150
- $this->set_transient( 'eael_login_error_' . $widget_id, $err_msg );
151
  } else {
152
  wp_set_current_user( $user_data->ID, $user_login );
153
  do_action( 'wp_login', $user_data->user_login, $user_data );
@@ -168,6 +182,10 @@ trait Login_Registration {
168
  exit();
169
  }
170
  }
 
 
 
 
171
  }
172
 
173
  /**
@@ -182,26 +200,45 @@ trait Login_Registration {
182
  wp_send_json_error( __( 'Insecure form submitted without security token', 'essential-addons-for-elementor-lite' ) );
183
  }
184
 
185
- return false;
 
 
 
186
  }
187
  if ( ! wp_verify_nonce( $_POST['eael-register-nonce'], 'eael-register-action' ) ) {
188
  if ( $ajax ) {
189
  wp_send_json_error( __( 'Security token did not match', 'essential-addons-for-elementor-lite' ) );
190
  }
191
 
192
- return false;
 
 
 
193
  }
194
  $page_id = $widget_id = 0;
195
- if ( ! empty( $_POST['page_id'] ) ) {
196
- $page_id = intval( $_POST['page_id'], 10 );
197
- } else {
198
- $errors['page_id'] = __( 'Page ID is missing', 'essential-addons-for-elementor-lite' );
199
- }
200
- if ( ! empty( $_POST['widget_id'] ) ) {
201
- $widget_id = sanitize_text_field( $_POST['widget_id'] );
202
- } else {
203
- $errors['widget_id'] = __( 'Widget ID is missing', 'essential-addons-for-elementor-lite' );
204
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
205
 
206
 
207
 
@@ -214,7 +251,10 @@ trait Login_Registration {
214
  wp_send_json_error( $err_msg );
215
  }
216
 
217
- return false;
 
 
 
218
  }
219
 
220
  do_action( 'eael/login-register/before-register' );
@@ -232,8 +272,8 @@ trait Login_Registration {
232
  wp_send_json_error( $errors['registration'] );
233
  }
234
 
235
- $this->set_transient( 'eael_register_errors', $errors );
236
- wp_safe_redirect( site_url( 'wp-login.php?registration=disabled' ) );
237
  exit();
238
  }
239
  // prepare vars and flag errors
@@ -253,7 +293,6 @@ trait Login_Registration {
253
  }
254
  } else {
255
  $errors['email'] = isset( $settings['err_email_missing'] ) ? $settings['err_email_missing'] : __( 'Email is missing or Invalid', 'essential-addons-for-elementor-lite' );
256
- //@todo; maybe it is good to abort here?? as email is most important. or continue to collect all other errors.
257
  }
258
 
259
  // if user provided user name, validate & sanitize it
@@ -265,7 +304,6 @@ trait Login_Registration {
265
  $errors['user_name'] = isset( $settings['err_username_used'] ) ? $settings['err_username_used'] : __( 'The username already registered.', 'essential-addons-for-elementor-lite' );
266
 
267
  }
268
- //@TODO; Maybe it is good to add a check for filtering out blacklisted usernames later here.
269
  } else {
270
  // user has not provided username, so generate one from the provided email.
271
  if ( empty( $errors['email'] ) && isset( $email ) ) {
@@ -298,7 +336,7 @@ trait Login_Registration {
298
  $err_msg .= '</ol>';
299
  wp_send_json_error( $err_msg );
300
  }
301
- $this->set_transient( 'eael_register_errors_' . $widget_id, $errors );
302
  wp_safe_redirect( esc_url( $url ) );
303
  exit();
304
  }
@@ -380,7 +418,7 @@ trait Login_Registration {
380
  if ( $ajax ) {
381
  wp_send_json_error( $errors['user_create'] );
382
  }
383
- $this->set_transient( 'eael_register_errors_' . $widget_id, $errors );
384
  wp_safe_redirect( esc_url( $url ) );
385
  exit();
386
  }
@@ -412,8 +450,8 @@ trait Login_Registration {
412
  wp_new_user_notification( $user_id, null, $admin_or_both );
413
 
414
  // success & handle after registration action as defined by user in the widget
415
- if ( ! $ajax ) {
416
- $this->set_transient( 'eael_register_success_' . $widget_id, 1 );
417
  }
418
 
419
 
@@ -428,7 +466,7 @@ trait Login_Registration {
428
  'user_password' => $password,
429
  'remember' => true,
430
  ] );
431
-
432
 
433
  if ( $ajax ) {
434
  if ( in_array( 'redirect', $register_actions ) ) {
@@ -457,6 +495,11 @@ trait Login_Registration {
457
  exit();
458
  }
459
 
 
 
 
 
 
460
  }
461
 
462
  public function generate_username_from_email( $email, $suffix = '' ) {
@@ -540,7 +583,7 @@ trait Login_Registration {
540
  }
541
 
542
  /**
543
- * It store data temporarily
544
  *
545
  * @param $name
546
  * @param $data
@@ -551,7 +594,7 @@ trait Login_Registration {
551
  public function set_transient( $name, $data, $time = 300 ) {
552
  $time = empty( $time ) ? (int) $time : ( 5 * MINUTE_IN_SECONDS );
553
 
554
- return set_transient( $name, $data, time() + $time );
555
  }
556
 
557
  /**
@@ -684,11 +727,21 @@ trait Login_Registration {
684
  if ( $document ) {
685
  $elements = Plugin::instance()->documents->get( $page_id )->get_elements_data();
686
  $widget_data = $this->find_element_recursive( $elements, $widget_id );
687
- $widget = Plugin::instance()->elements_manager->create_element_instance( $widget_data );
688
- if ( $widget ) {
689
- $settings = $widget->get_settings_for_display();
690
- }
 
 
 
 
691
  }
692
  return $settings;
693
  }
 
 
 
 
 
 
694
  }
47
  */
48
  public function log_user_in() {
49
  $ajax = wp_doing_ajax();
 
50
  // before even thinking about login, check security and exit early if something is not right.
51
  $page_id = 0;
52
  if ( ! empty( $_POST['page_id'] ) ) {
61
  } else {
62
  $err_msg = __( 'Widget ID is missing', 'essential-addons-for-elementor-lite' );
63
  }
64
+
65
  if (!empty( $err_msg )){
66
  if ( $ajax ) {
67
  wp_send_json_error( $err_msg );
68
  }
69
+ update_option( 'eael_login_error_' . $widget_id, $err_msg, false );
70
 
71
+ if (isset($_SERVER['HTTP_REFERER'])) {
72
+ wp_safe_redirect($_SERVER['HTTP_REFERER']);
73
+ exit();
74
+ }
75
  }
76
 
77
 
80
  if ( $ajax ) {
81
  wp_send_json_error( $err_msg );
82
  }
83
+ update_option( 'eael_login_error_' . $widget_id, $err_msg, false );
84
 
85
+ if (isset($_SERVER['HTTP_REFERER'])) {
86
+ wp_safe_redirect($_SERVER['HTTP_REFERER']);
87
+ exit();
88
+ }
89
  }
90
 
91
  if ( ! wp_verify_nonce( $_POST['eael-login-nonce'], 'eael-login-action' ) ) {
93
  if ( $ajax ) {
94
  wp_send_json_error( $err_msg );
95
  }
96
+ update_option( 'eael_login_error_' . $widget_id, $err_msg, false );
97
 
98
+ if (isset($_SERVER['HTTP_REFERER'])) {
99
+ wp_safe_redirect($_SERVER['HTTP_REFERER']);
100
+ exit();
101
+ }
102
  }
103
  $settings = $this->lr_get_widget_settings( $page_id, $widget_id);
104
 
107
  if ( $ajax ) {
108
  wp_send_json_error( $err_msg );
109
  }
110
+ update_option( 'eael_login_error_' . $widget_id, $err_msg, false );
111
 
112
+ if (isset($_SERVER['HTTP_REFERER'])) {
113
+ wp_safe_redirect($_SERVER['HTTP_REFERER']);
114
+ exit();
115
+ }
116
  }
117
 
118
  do_action( 'eael/login-register/before-login' );
123
  if ( $ajax ) {
124
  wp_send_json_error( $err_msg );
125
  }
126
+ update_option( 'eael_login_error_' . $widget_id, $err_msg, false );
127
 
128
+ if (isset($_SERVER['HTTP_REFERER'])) {
129
+ wp_safe_redirect($_SERVER['HTTP_REFERER']);
130
+ exit();
131
+ } // vail early if recaptcha failed
132
  }
133
 
134
  $user_login = ! empty( $_POST['eael-user-login'] ) ? sanitize_text_field( $_POST['eael-user-login'] ) : '';
150
  $err_msg = '';
151
  if ( isset( $user_data->errors['invalid_email'][0] ) ) {
152
  $err_msg = isset( $settings['err_email'] ) ? $settings['err_email'] : __( 'Invalid Email. Please check your email or try again with your username.', 'essential-addons-for-elementor-lite' );
153
+ } elseif ( isset( $user_data->errors['invalid_username'][0] )) {
154
  $err_msg = isset( $settings['err_username'] ) ? $settings['err_username'] : __( 'Invalid Username. Please check your username or try again with your email.', 'essential-addons-for-elementor-lite' );
155
 
156
  } elseif ( isset( $user_data->errors['incorrect_password'][0] ) || isset( $user_data->errors['empty_password'][0] ) ) {
161
  if ( $ajax ) {
162
  wp_send_json_error( $err_msg );
163
  }
164
+ update_option( 'eael_login_error_' . $widget_id, $err_msg, false );
 
165
  } else {
166
  wp_set_current_user( $user_data->ID, $user_login );
167
  do_action( 'wp_login', $user_data->user_login, $user_data );
182
  exit();
183
  }
184
  }
185
+ if (isset($_SERVER['HTTP_REFERER'])) {
186
+ wp_safe_redirect($_SERVER['HTTP_REFERER']);
187
+ exit();
188
+ }
189
  }
190
 
191
  /**
200
  wp_send_json_error( __( 'Insecure form submitted without security token', 'essential-addons-for-elementor-lite' ) );
201
  }
202
 
203
+ if (isset($_SERVER['HTTP_REFERER'])) {
204
+ wp_safe_redirect($_SERVER['HTTP_REFERER']);
205
+ exit();
206
+ }
207
  }
208
  if ( ! wp_verify_nonce( $_POST['eael-register-nonce'], 'eael-register-action' ) ) {
209
  if ( $ajax ) {
210
  wp_send_json_error( __( 'Security token did not match', 'essential-addons-for-elementor-lite' ) );
211
  }
212
 
213
+ if (isset($_SERVER['HTTP_REFERER'])) {
214
+ wp_safe_redirect($_SERVER['HTTP_REFERER']);
215
+ exit();
216
+ }
217
  }
218
  $page_id = $widget_id = 0;
219
+ if ( ! empty( $_POST['page_id'] ) ) {
220
+ $page_id = intval( $_POST['page_id'] );
221
+ } else {
222
+ $err_msg = __( 'Page ID is missing', 'essential-addons-for-elementor-lite' );
223
+ }
224
+ if ( ! empty( $_POST['widget_id'] ) ) {
225
+ $widget_id = sanitize_text_field( $_POST['widget_id'] );
226
+ } else {
227
+ $err_msg = __( 'Widget ID is missing', 'essential-addons-for-elementor-lite' );
228
+ }
229
+
230
+ if (!empty( $err_msg )){
231
+ if ( $ajax ) {
232
+ wp_send_json_error( $err_msg );
233
+ }
234
+ update_option( 'eael_register_errors_' . $widget_id, $err_msg, false );
235
+
236
+ if (isset($_SERVER['HTTP_REFERER'])) {
237
+ wp_safe_redirect($_SERVER['HTTP_REFERER']);
238
+ exit();
239
+ }
240
+ return false;
241
+ }
242
 
243
 
244
 
251
  wp_send_json_error( $err_msg );
252
  }
253
 
254
+ if (isset($_SERVER['HTTP_REFERER'])) {
255
+ wp_safe_redirect($_SERVER['HTTP_REFERER']);
256
+ exit();
257
+ }
258
  }
259
 
260
  do_action( 'eael/login-register/before-register' );
272
  wp_send_json_error( $errors['registration'] );
273
  }
274
 
275
+ //update_option( 'eael_register_errors_' . $widget_id, $errors, false );// if we redirect to other page, we dont need to save value
276
+ wp_safe_redirect( site_url( 'wp-login.php?registration=disabled' ) );
277
  exit();
278
  }
279
  // prepare vars and flag errors
293
  }
294
  } else {
295
  $errors['email'] = isset( $settings['err_email_missing'] ) ? $settings['err_email_missing'] : __( 'Email is missing or Invalid', 'essential-addons-for-elementor-lite' );
 
296
  }
297
 
298
  // if user provided user name, validate & sanitize it
304
  $errors['user_name'] = isset( $settings['err_username_used'] ) ? $settings['err_username_used'] : __( 'The username already registered.', 'essential-addons-for-elementor-lite' );
305
 
306
  }
 
307
  } else {
308
  // user has not provided username, so generate one from the provided email.
309
  if ( empty( $errors['email'] ) && isset( $email ) ) {
336
  $err_msg .= '</ol>';
337
  wp_send_json_error( $err_msg );
338
  }
339
+ update_option( 'eael_register_errors_' . $widget_id, $errors, false );
340
  wp_safe_redirect( esc_url( $url ) );
341
  exit();
342
  }
418
  if ( $ajax ) {
419
  wp_send_json_error( $errors['user_create'] );
420
  }
421
+ update_option( 'eael_register_errors_' . $widget_id, $errors, false );
422
  wp_safe_redirect( esc_url( $url ) );
423
  exit();
424
  }
450
  wp_new_user_notification( $user_id, null, $admin_or_both );
451
 
452
  // success & handle after registration action as defined by user in the widget
453
+ if ( ! $ajax && !in_array( 'redirect', $register_actions ) ) {
454
+ update_option( 'eael_register_success_' . $widget_id, 1, false );
455
  }
456
 
457
 
466
  'user_password' => $password,
467
  'remember' => true,
468
  ] );
469
+ $this->delete_registration_options($widget_id);
470
 
471
  if ( $ajax ) {
472
  if ( in_array( 'redirect', $register_actions ) ) {
495
  exit();
496
  }
497
 
498
+ if (isset($_SERVER['HTTP_REFERER'])) {
499
+ wp_safe_redirect($_SERVER['HTTP_REFERER']);
500
+ exit();
501
+ }
502
+
503
  }
504
 
505
  public function generate_username_from_email( $email, $suffix = '' ) {
583
  }
584
 
585
  /**
586
+ * It store data temporarily,5 minutes by default
587
  *
588
  * @param $name
589
  * @param $data
594
  public function set_transient( $name, $data, $time = 300 ) {
595
  $time = empty( $time ) ? (int) $time : ( 5 * MINUTE_IN_SECONDS );
596
 
597
+ return set_transient( $name, $data, $time );
598
  }
599
 
600
  /**
727
  if ( $document ) {
728
  $elements = Plugin::instance()->documents->get( $page_id )->get_elements_data();
729
  $widget_data = $this->find_element_recursive( $elements, $widget_id );
730
+
731
+ if(!empty($widget_data)) {
732
+ $widget = Plugin::instance()->elements_manager->create_element_instance( $widget_data );
733
+ if ( $widget ) {
734
+ $settings = $widget->get_settings_for_display();
735
+ }
736
+ }
737
+
738
  }
739
  return $settings;
740
  }
741
+
742
+ public function delete_registration_options($widget_id)
743
+ {
744
+ delete_option('eael_register_success_' . $widget_id);
745
+ delete_option('eael_register_errors_' . $widget_id);
746
+ }
747
  }
includes/Traits/Template_Query.php CHANGED
@@ -166,8 +166,9 @@ trait Template_Query {
166
  public function get_template_list_for_dropdown()
167
  {
168
  $files = [];
169
- if ($this->get_template_files()) {
170
- foreach ($this->get_template_files() as $key => $handler) {
 
171
  foreach ($handler as $handle) {
172
  if (strpos($handle, '.php') !== false) {
173
 
166
  public function get_template_list_for_dropdown()
167
  {
168
  $files = [];
169
+ $templates = $this->get_template_files();
170
+ if (!empty( $templates)) {
171
+ foreach ($templates as $key => $handler) {
172
  foreach ($handler as $handle) {
173
  if (strpos($handle, '.php') !== false) {
174
 
includes/Traits/Woo_Product_Comparable.php ADDED
@@ -0,0 +1,2310 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Essential_Addons_Elementor\Traits;
4
+
5
+ use Elementor\Controls_Manager;
6
+ use Elementor\Group_Control_Background;
7
+ use Elementor\Group_Control_Border;
8
+ use Elementor\Group_Control_Box_Shadow;
9
+ use Elementor\Group_Control_Typography;
10
+ use Elementor\Icons_Manager;
11
+ use Elementor\Repeater;
12
+ use WC_Product;
13
+
14
+ if ( ! defined( 'ABSPATH' ) ) {
15
+ exit();
16
+ }
17
+
18
+ trait Woo_Product_Comparable {
19
+ public function get_style_depends() {
20
+ return [
21
+ 'font-awesome-5-all',
22
+ 'font-awesome-4-shim',
23
+ ];
24
+ }
25
+
26
+ public function get_script_depends() {
27
+ return [
28
+ 'font-awesome-4-shim',
29
+ ];
30
+ }
31
+
32
+ /**
33
+ * Get an array of field types.
34
+ * @return array
35
+ */
36
+ public static function get_field_types() {
37
+ return apply_filters( 'eael/wcpc/default-fields', [
38
+ 'image' => __( 'Image', 'essential-addons-for-elementor-lite' ),
39
+ 'title' => __( 'Title', 'essential-addons-for-elementor-lite' ),
40
+ 'price' => __( 'Price', 'essential-addons-for-elementor-lite' ),
41
+ 'add-to-cart' => __( 'Add to cart', 'essential-addons-for-elementor-lite' ),
42
+ 'description' => __( 'Description', 'essential-addons-for-elementor-lite' ),
43
+ 'sku' => __( 'SKU', 'essential-addons-for-elementor-lite' ),
44
+ 'stock' => __( 'Availability', 'essential-addons-for-elementor-lite' ),
45
+ 'weight' => __( 'weight', 'essential-addons-for-elementor-lite' ),
46
+ 'dimension' => __( 'Dimension', 'essential-addons-for-elementor-lite' ),
47
+ 'pa_color' => __( 'Color', 'essential-addons-for-elementor-lite' ),
48
+ 'pa_size' => __( 'Size', 'essential-addons-for-elementor-lite' ),
49
+ ] );
50
+ }
51
+
52
+ public static function get_themes() {
53
+ return apply_filters( 'eael/wcpc/default-themes', [
54
+ '' => __( 'Theme Default', 'essential-addons-for-elementor-lite' ),
55
+ 'theme-1' => __( 'Theme 1', 'essential-addons-for-elementor-lite' ),
56
+ 'theme-2' => __( 'Theme 2', 'essential-addons-for-elementor-lite' ),
57
+ 'theme-3' => __( 'Theme 3', 'essential-addons-for-elementor-lite' ),
58
+ 'theme-4' => __( 'Theme 4', 'essential-addons-for-elementor-lite' ),
59
+ 'theme-5' => __( 'Theme 5', 'essential-addons-for-elementor-lite' ),
60
+ 'theme-6' => __( 'Theme 6', 'essential-addons-for-elementor-lite' ),
61
+ ] );
62
+ }
63
+
64
+ /**
65
+ * Get default fields value for the repeater's default value
66
+ */
67
+ public static function get_default_rf_fields() {
68
+ return apply_filters( 'eael/wcpc/default-rf-fields', [
69
+ [
70
+ 'field_type' => 'image',
71
+ 'field_label' => __( 'Image', 'essential-addons-for-elementor-lite' ),
72
+ ],
73
+ [
74
+ 'field_type' => 'title',
75
+ 'field_label' => __( 'Title', 'essential-addons-for-elementor-lite' ),
76
+ ],
77
+ [
78
+ 'field_type' => 'price',
79
+ 'field_label' => __( 'Price', 'essential-addons-for-elementor-lite' ),
80
+ ],
81
+ [
82
+ 'field_type' => 'description',
83
+ 'field_label' => __( 'Description', 'essential-addons-for-elementor-lite' ),
84
+ ],
85
+ [
86
+ 'field_type' => 'add-to-cart',
87
+ 'field_label' => __( 'Add to cart', 'essential-addons-for-elementor-lite' ),
88
+ ],
89
+ [
90
+ 'field_type' => 'sku',
91
+ 'field_label' => __( 'SKU', 'essential-addons-for-elementor-lite' ),
92
+ ],
93
+ [
94
+ 'field_type' => 'stock',
95
+ 'field_label' => __( 'Availability', 'essential-addons-for-elementor-lite' ),
96
+ ],
97
+ [
98
+ 'field_type' => 'weight',
99
+ 'field_label' => __( 'Weight', 'essential-addons-for-elementor-lite' ),
100
+ ],
101
+ [
102
+ 'field_type' => 'dimension',
103
+ 'field_label' => __( 'Dimension', 'essential-addons-for-elementor-lite' ),
104
+ ],
105
+ [
106
+ 'field_type' => 'pa_color',
107
+ 'field_label' => __( 'Color', 'essential-addons-for-elementor-lite' ),
108
+ ],
109
+ [
110
+ 'field_type' => 'pa_size',
111
+ 'field_label' => __( 'Size', 'essential-addons-for-elementor-lite' ),
112
+ ],
113
+ ] );
114
+ }
115
+
116
+ protected function init_content_wc_notice_controls() {
117
+ if ( ! function_exists( 'WC' ) ) {
118
+ $this->start_controls_section( 'eael_global_warning', [
119
+ 'label' => __( 'Warning!', 'essential-addons-for-elementor-lite' ),
120
+ ] );
121
+ $this->add_control( 'eael_global_warning_text', [
122
+ 'type' => Controls_Manager::RAW_HTML,
123
+ 'raw' => __( '<strong>WooCommerce</strong> is not installed/activated on your site. Please install and activate <a href="plugin-install.php?s=woocommerce&tab=search&type=term" target="_blank">WooCommerce</a> first.', 'essential-addons-for-elementor-lite' ),
124
+ 'content_classes' => 'eael-warning',
125
+ ] );
126
+ $this->end_controls_section();
127
+
128
+ return;
129
+ }
130
+ }
131
+
132
+ public function init_content_product_compare_controls() {
133
+ $sec_args = [
134
+ 'label' => __( 'Product Compare', 'essential-addons-for-elementor-lite' ),
135
+ ];
136
+ if ( 'eael-woo-product-compare' !== $this->get_name() ) {
137
+ $sec_args['condition'] = [
138
+ 'show_compare' => 'yes',
139
+ ];
140
+ }
141
+
142
+ $this->start_controls_section( 'section_content_content', $sec_args );
143
+ if ( 'eael-woo-product-compare' === $this->get_name() ) {
144
+ // we need the following hidden control to make the trait condition universal
145
+ $this->add_control( 'show_compare', [
146
+ 'label' => esc_html__( 'Show Product Compare?', 'essential-addons-for-elementor-lite' ),
147
+ 'type' => Controls_Manager::HIDDEN,
148
+ 'default' => 'yes',
149
+ ] );
150
+
151
+ $this->add_control( "product_ids", [
152
+ 'label' => __( 'Products', 'essential-addons-for-elementor-lite' ),
153
+ 'description' => __( 'Enter Product IDs separated by a comma', 'essential-addons-for-elementor-lite' ),
154
+ 'type' => 'eael-select2',
155
+ 'label_block' => true,
156
+ 'multiple' => true,
157
+ 'source_type' => 'product',
158
+ 'source_name' => 'post_type',
159
+ 'placeholder' => __( 'Search by Product Name', 'essential-addons-for-elementor-lite' ),
160
+ ] );
161
+
162
+ $this->add_control( "highlighted_product_id", [
163
+ 'label' => __( 'Highlighted Product', 'essential-addons-for-elementor-lite' ),
164
+ 'type' => 'eael-select2',
165
+ 'label_block' => true,
166
+ 'source_type' => 'product',
167
+ 'source_name' => 'post_type',
168
+ 'description' => __( 'Enter any ID from the Product IDs used above', 'essential-addons-for-elementor-lite' ),
169
+ 'condition' => [
170
+ 'theme' => [
171
+ 'theme-3',
172
+ 'theme-4',
173
+ ],
174
+ ],
175
+ ] );
176
+ }
177
+ $this->add_control( 'theme', [
178
+ 'label' => __( 'Presets', 'essential-addons-for-elementor-lite' ),
179
+ 'type' => Controls_Manager::SELECT,
180
+ 'options' => $this->get_themes(),
181
+ 'default' => '',
182
+ ] );
183
+ $this->add_control( "ribbon", [
184
+ 'label' => __( 'Ribbon Text', 'essential-addons-for-elementor-lite' ),
185
+ 'type' => Controls_Manager::TEXT,
186
+ 'placeholder' => __( 'eg. New', 'essential-addons-for-elementor-lite' ),
187
+ 'default' => __( 'New', 'essential-addons-for-elementor-lite' ),
188
+ 'condition' => [
189
+ 'theme' => 'theme-4',
190
+ ],
191
+ ] );
192
+ $this->end_controls_section();
193
+ }
194
+
195
+ public function init_content_table_settings_controls() {
196
+ $this->start_controls_section( 'section_content_table', [
197
+ 'label' => __( 'Compare Table Settings', 'essential-addons-for-elementor-lite' ),
198
+ 'condition' => [
199
+ 'show_compare' => 'yes',
200
+ ],
201
+ ] );
202
+ $this->add_control( "table_title", [
203
+ 'label' => __( 'Table Title', 'essential-addons-for-elementor-lite' ),
204
+ 'type' => Controls_Manager::TEXT,
205
+ 'default' => __( 'Compare Products', 'essential-addons-for-elementor-lite' ),
206
+ 'placeholder' => __( 'Compare Products', 'essential-addons-for-elementor-lite' ),
207
+ ] );
208
+ $this->add_control(
209
+ 'table_title_tag',
210
+ [
211
+ 'label' => __( 'Table Title HTML Tag', 'essential-addons-for-elementor-lite' ),
212
+ 'type' => Controls_Manager::SELECT,
213
+ 'options' => [
214
+ 'h1' => 'H1',
215
+ 'h2' => 'H2',
216
+ 'h3' => 'H3',
217
+ 'h4' => 'H4',
218
+ 'h5' => 'H5',
219
+ 'h6' => 'H6',
220
+ 'div' => 'div',
221
+ 'span' => 'span',
222
+ 'p' => 'p',
223
+ ],
224
+ 'default' => 'h1',
225
+ ]
226
+ );
227
+ $repeater = new Repeater();
228
+ $repeater->add_control( 'field_type', [
229
+ 'label' => __( 'Type', 'essential-addons-for-elementor-lite' ),
230
+ 'type' => Controls_Manager::SELECT,
231
+ 'options' => $this->get_field_types(),
232
+ 'default' => 'title',
233
+ ] );
234
+ $repeater->add_control( 'field_label', [
235
+ 'label' => __( 'Label', 'essential-addons-for-elementor-lite' ),
236
+ 'type' => Controls_Manager::TEXT,
237
+ 'dynamic' => [
238
+ 'active' => true,
239
+ ],
240
+ ] );
241
+ $this->add_control( 'fields', [
242
+ 'label' => __( 'Fields to show', 'essential-addons-for-elementor-lite' ),
243
+ 'description' => __( 'Select the fields to show in the comparison table', 'essential-addons-for-elementor-lite' ),
244
+ 'type' => Controls_Manager::REPEATER,
245
+ 'fields' => apply_filters( 'eael/wcpc/rf-fields', $repeater->get_controls() ),
246
+ 'default' => $this->get_default_rf_fields(),
247
+ 'title_field' => '{{{ field_label }}}',
248
+ ] );
249
+ $this->add_control( 'repeat_price', [
250
+ 'label' => __( 'Repeat "Price" field', 'essential-addons-for-elementor-lite' ),
251
+ 'description' => __( 'Repeat the "Price" field at the end of the table', 'essential-addons-for-elementor-lite' ),
252
+ 'type' => Controls_Manager::SWITCHER,
253
+ 'default' => 'yes',
254
+ ] );
255
+ $this->add_control( 'repeat_add_to_cart', [
256
+ 'label' => __( 'Repeat "Add to cart" field', 'essential-addons-for-elementor-lite' ),
257
+ 'description' => __( 'Repeat the "Add to cart" field at the end of the table', 'essential-addons-for-elementor-lite' ),
258
+ 'type' => Controls_Manager::SWITCHER,
259
+ ] );
260
+ $this->add_control( 'linkable_img', [
261
+ 'label' => __( 'Make Product Image Linkable', 'essential-addons-for-elementor-lite' ),
262
+ 'description' => __( 'You can link the product image to product details page', 'essential-addons-for-elementor-lite' ),
263
+ 'type' => Controls_Manager::SWITCHER,
264
+ ] );
265
+ $this->add_control( 'field_icon', [
266
+ 'label' => __( 'Fields Icon', 'elementor' ),
267
+ 'type' => Controls_Manager::ICONS,
268
+ ] );
269
+ if ( 'eicon-woocommerce' === $this->get_name()) {
270
+ $this->add_control( "no_products_found_text", [
271
+ 'label' => __( 'Text for "No products are found to compare"', 'essential-addons-for-elementor-lite' ),
272
+ 'default' => __( 'No products are added to Compare. Please add products to compare.', 'essential-addons-for-elementor-lite' ),
273
+ 'type' => Controls_Manager::TEXTAREA,
274
+ 'label_block' => true,
275
+ 'placeholder' => __( 'Eg. No products are added to Compare.', 'essential-addons-for-elementor-lite' ),
276
+ ] );
277
+ }
278
+
279
+ $this->end_controls_section();
280
+ }
281
+
282
+ public function init_style_content_controls( $css_classes = [] ) {
283
+ extract( $css_classes );
284
+
285
+ $this->start_controls_section( 'section_style_general', [
286
+ 'label' => __( 'Compare Table General', 'essential-addons-for-elementor-lite' ),
287
+ 'tab' => Controls_Manager::TAB_STYLE,
288
+ 'condition' => [
289
+ 'show_compare' => 'yes',
290
+ ],
291
+ ] );
292
+ $container_class = ! empty( $container_class ) ? $container_class : '{{WRAPPER}} .eael-wcpc-wrapper';
293
+ $this->add_responsive_control( "eael_container_width", [
294
+ 'label' => esc_html__( 'Width', 'essential-addons-for-elementor-lite' ),
295
+ 'type' => Controls_Manager::SLIDER,
296
+ 'size_units' => [
297
+ 'px',
298
+ 'rem',
299
+ '%',
300
+ ],
301
+ 'range' => [
302
+ 'px' => [
303
+ 'min' => 0,
304
+ 'max' => 1920,
305
+ 'step' => 5,
306
+ ],
307
+ 'rem' => [
308
+ 'min' => 0,
309
+ 'max' => 20,
310
+ 'step' => .5,
311
+ ],
312
+ '%' => [
313
+ 'min' => 0,
314
+ 'max' => 100,
315
+ ],
316
+ ],
317
+ 'desktop' => [
318
+ 'unit' => '%',
319
+ 'size' => 100,
320
+ ],
321
+ 'selectors' => [
322
+ $container_class => 'width: {{SIZE}}{{UNIT}}; overflow-x:scroll',
323
+ ],
324
+
325
+ ] );
326
+ $this->add_responsive_control( "eael_container_margin", [
327
+ 'label' => __( 'Margin', 'essential-addons-for-elementor-lite' ),
328
+ 'type' => Controls_Manager::DIMENSIONS,
329
+ 'size_units' => [
330
+ 'px',
331
+ 'em',
332
+ '%',
333
+ ],
334
+ 'selectors' => [
335
+ $container_class => $this->apply_dim( 'margin' ),
336
+ ],
337
+ ] );
338
+ $this->add_responsive_control( "eael_container_padding", [
339
+ 'label' => __( 'Padding', 'essential-addons-for-elementor-lite' ),
340
+ 'type' => Controls_Manager::DIMENSIONS,
341
+ 'size_units' => [
342
+ 'px',
343
+ 'em',
344
+ '%',
345
+ ],
346
+ 'selectors' => [
347
+ $container_class => $this->apply_dim( 'padding' ),
348
+ ],
349
+ ] );
350
+ $this->add_group_control( Group_Control_Border::get_type(), [
351
+ 'name' => "eael_container_border",
352
+ 'selector' => $container_class,
353
+ ] );
354
+ $this->add_control( "eael_container_border_radius", [
355
+ 'label' => __( 'Border Radius', 'essential-addons-for-elementor-lite' ),
356
+ 'type' => Controls_Manager::DIMENSIONS,
357
+ 'size_units' => [
358
+ 'px',
359
+ '%',
360
+ ],
361
+ 'selectors' => [
362
+ $container_class => $this->apply_dim( 'border-radius' ),
363
+ ],
364
+ ] );
365
+ $this->add_group_control( Group_Control_Background::get_type(), [
366
+ 'name' => "eael_container_bg_color",
367
+ 'label' => __( 'Background Color', 'essential-addons-for-elementor-lite' ),
368
+ 'types' => [
369
+ 'classic',
370
+ 'gradient',
371
+ ],
372
+ 'selector' => $container_class,
373
+ ] );
374
+ $this->add_group_control( Group_Control_Box_Shadow::get_type(), [
375
+ 'label' => __( 'Container Box Shadow', 'essential-addons-for-elementor-lite' ),
376
+ 'name' => 'eael_container_shadow',
377
+ 'selector' => $container_class,
378
+ 'exclude' => [
379
+ 'box_shadow_position',
380
+ ],
381
+ ] );
382
+ $this->end_controls_section();
383
+ }
384
+
385
+ public function init_style_table_controls( $css_classes = [] ) {
386
+ extract( $css_classes );
387
+ $table = isset( $table ) ? $table : "{{WRAPPER}} .eael-wcpc-wrapper table";
388
+ $table_title = isset( $table_title ) ? $table_title : "{{WRAPPER}} .eael-wcpc-wrapper .wcpc-title";
389
+ $table_title_wrap = isset( $table_title_wrap ) ? $table_title_wrap : "{{WRAPPER}} .eael-wcpc-wrapper .first-th";
390
+
391
+ $this->start_controls_section( 'section_style_table', [
392
+ 'label' => __( 'Table Style', 'essential-addons-for-elementor-lite' ),
393
+ 'tab' => Controls_Manager::TAB_STYLE,
394
+ 'condition' => [
395
+ 'show_compare' => 'yes',
396
+ ],
397
+ ] );
398
+ $this->add_control( 'separate_col_style', [
399
+ 'label' => __( 'Style Content Column Separately', 'essential-addons-for-elementor-lite' ),
400
+ 'type' => Controls_Manager::SWITCHER,
401
+ ] );
402
+ //-------Table Style--------
403
+ $this->add_control( 'table_style_pot', [
404
+ 'label' => __( 'Table Style', 'essential-addons-for-elementor-lite' ),
405
+ 'type' => Controls_Manager::POPOVER_TOGGLE,
406
+ 'label_off' => __( 'Default', 'essential-addons-for-elementor-lite' ),
407
+ 'label_on' => __( 'Custom', 'essential-addons-for-elementor-lite' ),
408
+ 'return_value' => 'yes',
409
+ ] );
410
+ $this->start_popover();
411
+ $this->add_responsive_control( "table_width", [
412
+ 'label' => esc_html__( 'Table Width', 'essential-addons-for-elementor-lite' ),
413
+ 'type' => Controls_Manager::SLIDER,
414
+ 'size_units' => [
415
+ 'px',
416
+ 'rem',
417
+ '%',
418
+ ],
419
+ 'range' => [
420
+ '%' => [
421
+ 'min' => 0,
422
+ 'max' => 100,
423
+ ],
424
+ 'px' => [
425
+ 'min' => 0,
426
+ 'max' => 2000,
427
+ ],
428
+ ],
429
+ 'desktop' => [
430
+ 'unit' => '%',
431
+ 'size' => 100,
432
+ ],
433
+ 'selectors' => [
434
+ $table => 'width: {{SIZE}}{{UNIT}}; max-width: none',
435
+ ],
436
+ 'condition' => [
437
+ 'table_style_pot' => 'yes',
438
+ ],
439
+
440
+ ] );
441
+ $this->add_responsive_control( "table_margin", [
442
+ 'label' => __( 'Table Margin', 'essential-addons-for-elementor-lite' ),
443
+ 'type' => Controls_Manager::DIMENSIONS,
444
+ 'size_units' => [
445
+ 'px',
446
+ 'em',
447
+ '%',
448
+ ],
449
+ 'selectors' => [
450
+ $table => $this->apply_dim( 'margin' ),
451
+ ],
452
+ 'condition' => [
453
+ 'table_style_pot' => 'yes',
454
+ ],
455
+ ] );
456
+ // $this->add_responsive_control( "table_padding", [
457
+ // 'label' => __( 'Table Padding', 'essential-addons-for-elementor-lite' ),
458
+ // 'type' => Controls_Manager::DIMENSIONS,
459
+ // 'size_units' => [
460
+ // 'px',
461
+ // 'em',
462
+ // '%',
463
+ // ],
464
+ // 'selectors' => [
465
+ // $table => 'border-spacing:0; '.$this->apply_dim( 'padding' ),
466
+ // ],
467
+ // 'condition' => [
468
+ // 'table_style_pot' => 'yes',
469
+ // ],
470
+ // ] );
471
+ $this->add_group_control( Group_Control_Background::get_type(), [
472
+ 'name' => "table_bg_color",
473
+ 'label' => __( 'Background Color', 'essential-addons-for-elementor-lite' ),
474
+ 'types' => [
475
+ 'classic',
476
+ 'gradient',
477
+ ],
478
+ 'exclude' => [ 'image' ],
479
+ 'selector' => $table,
480
+ 'condition' => [
481
+ 'table_style_pot' => 'yes',
482
+ ],
483
+ ] );
484
+ $this->add_control( 'tbl_brd_heading', [
485
+ 'label' => __( 'Table Border', 'essential-addons-for-elementor-lite' ),
486
+ 'type' => Controls_Manager::HEADING,
487
+ 'separator' => 'before',
488
+ 'condition' => [
489
+ 'table_style_pot' => 'yes',
490
+ ],
491
+ ] );
492
+ $this->add_group_control( Group_Control_Border::get_type(), [
493
+ 'name' => "tbl_border",
494
+ 'selector' => $table,
495
+ 'condition' => [
496
+ 'table_style_pot' => 'yes',
497
+ ],
498
+ ] );
499
+ $this->add_control( "tbl_border_radius", [
500
+ 'label' => __( 'Border Radius', 'essential-addons-for-elementor-lite' ),
501
+ 'type' => Controls_Manager::DIMENSIONS,
502
+ 'size_units' => [
503
+ 'px',
504
+ '%',
505
+ ],
506
+ 'selectors' => [
507
+ $table => $this->apply_dim( 'border-radius' ) .'border-collapse:initial; overflow:hidden;',
508
+ ],
509
+ 'condition' => [
510
+ 'table_style_pot' => 'yes',
511
+ 'tbl_border_border!' => '',
512
+ ],
513
+ ] );
514
+ $this->end_popover();
515
+
516
+ //-------Table Title Style--------
517
+ $this->add_control( 'tbl_ttl_style_pot', [
518
+ 'label' => __( 'Table Title Style', 'essential-addons-for-elementor-lite' ),
519
+ 'type' => Controls_Manager::POPOVER_TOGGLE,
520
+ 'label_off' => __( 'Default', 'essential-addons-for-elementor-lite' ),
521
+ 'label_on' => __( 'Custom', 'essential-addons-for-elementor-lite' ),
522
+ 'return_value' => 'yes',
523
+ 'condition' => [ 'table_title!' => '' ],
524
+ ] );
525
+ $this->start_popover();
526
+ $this->add_control( 'tbl_title_color', [
527
+ 'label' => __( 'Table Title Text Color', 'essential-addons-for-elementor-lite' ),
528
+ 'type' => Controls_Manager::COLOR,
529
+ 'separator' => 'before',
530
+ 'selectors' => [ $table_title => 'color:{{VALUE}}' ],
531
+ 'condition' => [ 'tbl_ttl_style_pot' => 'yes' ],
532
+ ] );
533
+ $this->add_control( 'tbl_title_bg', [
534
+ 'label' => __( 'Table Title Background', 'essential-addons-for-elementor-lite' ),
535
+ 'type' => Controls_Manager::COLOR,
536
+ 'selectors' => [ $table_title_wrap => 'background-color:{{VALUE}}' ],
537
+ 'condition' => [ 'tbl_ttl_style_pot' => 'yes' ],
538
+ ] );
539
+ $this->add_responsive_control( "table_title_padding", [
540
+ 'label' => __( 'Table Title Padding', 'essential-addons-for-elementor-lite' ),
541
+ 'type' => Controls_Manager::DIMENSIONS,
542
+ 'size_units' => [
543
+ 'px',
544
+ 'em',
545
+ '%',
546
+ ],
547
+ 'selectors' => [
548
+ $table_title => $this->apply_dim( 'padding' ),
549
+ ],
550
+ 'condition' => [ 'tbl_ttl_style_pot' => 'yes' ],
551
+ ] );
552
+ $this->add_control( 'tbl_title_brd_heading', [
553
+ 'label' => __( 'Table Title Border', 'essential-addons-for-elementor-lite' ),
554
+ 'type' => Controls_Manager::HEADING,
555
+ 'separator' => 'before',
556
+ 'condition' => [ 'tbl_ttl_style_pot' => 'yes' ],
557
+ ] );
558
+ $this->add_group_control( Group_Control_Border::get_type(), [
559
+ 'name' => "tbl_title_cell_border",
560
+ 'selector' => $table_title_wrap,
561
+ 'condition' => [ 'tbl_ttl_style_pot' => 'yes' ],
562
+ ] );
563
+
564
+ $this->end_popover();
565
+ $this->add_group_control( Group_Control_Typography::get_type(), [
566
+ 'name' => "tbl_title_text_typo",
567
+ 'label' => __( 'Table Title Typography', 'essential-addons-for-elementor-lite' ),
568
+ 'selector' => $table_title,
569
+ 'condition' => [ 'table_title!' => '' ],
570
+ ] );
571
+ $this->add_control( 'title_row_typ_separator', [
572
+ 'type' => Controls_Manager::DIVIDER,
573
+ ] );
574
+ $this->init_style_table_common_style( $table );
575
+ $this->end_controls_section();
576
+
577
+ $this->init_style_header_column_style();
578
+ foreach ( range( 0, 2 ) as $column ) {
579
+ $this->init_style_product_column_style( $column, $table );
580
+ }
581
+
582
+ $this->init_style_icon_controls( $table );
583
+ $this->init_style_price_controls( $table );
584
+ }
585
+
586
+ public function init_style_table_common_style( $tbl = '' ) {
587
+ $tbl = ! empty( $tbl ) ? $tbl : "{{WRAPPER}} .eael-wcpc-wrapper table";
588
+ $td = "{$tbl} td";
589
+ $th = "{$tbl} tr:not(.image):not(.title) th:not(.first-th)"; // if we do not need to give title row weight, then remove :not(.title)
590
+
591
+ $img_class = "{$tbl} tr.image td";
592
+ $img = "{$tbl} tr.image td img";
593
+ $title_row = "{$tbl} tr.title th, {$tbl} tr.title td";
594
+ $btn = "{$tbl} a.button";
595
+ $btn_hover = "{$tbl} a.button:hover";
596
+ $tr_even = "{$tbl} tr:nth-child(even):not(.image):not(.title) th, {$tbl} tr:nth-child(even):not(.image):not(.title) td";
597
+ $tr_odd = "{$tbl} tr:nth-child(odd):not(.image):not(.title) th, {$tbl} tr:nth-child(odd):not(.image):not(.title) td";
598
+
599
+ $this->add_group_control( Group_Control_Typography::get_type(), [
600
+ 'name' => "title_row_typo",
601
+ 'label' => __( 'Product Title Row Typography', 'essential-addons-for-elementor-lite' ),
602
+ 'selector' => $title_row,
603
+ 'condition' => [
604
+ 'separate_col_style!' => 'yes',
605
+ ],
606
+ ] );
607
+ // common columns
608
+ $this->add_control( 'common_th_style_pot', [
609
+ 'label' => __( 'Header Column Style', 'essential-addons-for-elementor-lite' ),
610
+ 'type' => Controls_Manager::POPOVER_TOGGLE,
611
+ 'label_off' => __( 'Default', 'essential-addons-for-elementor-lite' ),
612
+ 'label_on' => __( 'Custom', 'essential-addons-for-elementor-lite' ),
613
+ 'return_value' => 'yes',
614
+ 'separator' => 'before',
615
+ 'condition' => [ 'separate_col_style!' => 'yes' ],
616
+ ] );
617
+ $this->start_popover();
618
+ $this->add_responsive_control( "table_gen_th_width", [
619
+ 'label' => esc_html__( 'Header Column Width', 'essential-addons-for-elementor-lite' ),
620
+ 'type' => Controls_Manager::SLIDER,
621
+ 'size_units' => [
622
+ 'px',
623
+ 'rem',
624
+ '%',
625
+ ],
626
+ 'range' => [
627
+ 'px' => [
628
+ 'min' => 0,
629
+ 'max' => 550,
630
+ 'step' => 5,
631
+ ],
632
+ 'rem' => [
633
+ 'min' => 0,
634
+ 'max' => 10,
635
+ 'step' => .5,
636
+ ],
637
+ '%' => [
638
+ 'min' => 0,
639
+ 'max' => 100,
640
+ ],
641
+ ],
642
+ 'selectors' => [
643
+ $th => 'width: {{SIZE}}{{UNIT}};',
644
+ ],
645
+ 'condition' => [ 'common_th_style_pot' => 'yes' ],
646
+ ] );
647
+ $this->add_responsive_control( "table_gen_th_padding", [
648
+ 'label' => __( 'Header Column Padding', 'essential-addons-for-elementor-lite' ),
649
+ 'type' => Controls_Manager::DIMENSIONS,
650
+ 'size_units' => [
651
+ 'px',
652
+ 'em',
653
+ '%',
654
+ ],
655
+ 'selectors' => [
656
+ $th => $this->apply_dim( 'padding' ),
657
+ ],
658
+ 'condition' => [ 'common_th_style_pot' => 'yes' ],
659
+ ] );
660
+ $this->add_group_control( Group_Control_Border::get_type(), [
661
+ 'name' => "common_h_col_border",
662
+ 'label' => __( 'Header border', 'essential-addons-for-elementor-lite' ),
663
+ 'selector' => $th,
664
+ 'condition' => [ 'common_th_style_pot' => 'yes' ],
665
+ ] );
666
+
667
+ $this->end_popover();
668
+ $this->add_group_control( Group_Control_Typography::get_type(), [
669
+ 'name' => "tbl_gen_th_typo",
670
+ 'label' => __( 'Header Column Typography', 'essential-addons-for-elementor-lite' ),
671
+ 'selector' => $th,
672
+ 'condition' => [
673
+ 'separate_col_style!' => 'yes',
674
+ ],
675
+ ] );
676
+ // Product column
677
+ $this->add_control( 'common_td_style_pot', [
678
+ 'label' => __( 'Product Column Style', 'essential-addons-for-elementor-lite' ),
679
+ 'type' => Controls_Manager::POPOVER_TOGGLE,
680
+ 'label_off' => __( 'Default', 'essential-addons-for-elementor-lite' ),
681
+ 'label_on' => __( 'Custom', 'essential-addons-for-elementor-lite' ),
682
+ 'return_value' => 'yes',
683
+ 'separator' => 'before',
684
+ 'condition' => [ 'separate_col_style!' => 'yes' ],
685
+ ] );
686
+ $this->start_popover();
687
+ $this->add_responsive_control( "table_gen_td_width", [
688
+ 'label' => esc_html__( 'Product Column Width', 'essential-addons-for-elementor-lite' ),
689
+ 'type' => Controls_Manager::SLIDER,
690
+ 'size_units' => [
691
+ 'px',
692
+ 'rem',
693
+ '%',
694
+ ],
695
+ 'range' => [
696
+ 'px' => [
697
+ 'min' => 0,
698
+ 'max' => 550,
699
+ 'step' => 5,
700
+ ],
701
+ 'rem' => [
702
+ 'min' => 0,
703
+ 'max' => 10,
704
+ 'step' => .5,
705
+ ],
706
+ '%' => [
707
+ 'min' => 0,
708
+ 'max' => 100,
709
+ ],
710
+ ],
711
+ 'selectors' => [
712
+ $td => 'width: {{SIZE}}{{UNIT}};',
713
+ ],
714
+ 'condition' => [ 'common_td_style_pot' => 'yes' ],
715
+ ] );
716
+ $this->add_responsive_control( "table_gen_td_padding", [
717
+ 'label' => __( 'Product Column Padding', 'essential-addons-for-elementor-lite' ),
718
+ 'type' => Controls_Manager::DIMENSIONS,
719
+ 'size_units' => [
720
+ 'px',
721
+ 'em',
722
+ '%',
723
+ ],
724
+ 'selectors' => [
725
+ $td => $this->apply_dim( 'padding' ),
726
+ ],
727
+ 'condition' => [ 'common_td_style_pot' => 'yes' ],
728
+ ] );
729
+ $this->add_responsive_control( "table_gen_img_td_padding", [
730
+ 'label' => __( 'Product Image Box Padding', 'essential-addons-for-elementor-lite' ),
731
+ 'type' => Controls_Manager::DIMENSIONS,
732
+ 'size_units' => [
733
+ 'px',
734
+ 'em',
735
+ '%',
736
+ ],
737
+ 'selectors' => [
738
+ $img_class => $this->apply_dim( 'padding' ),
739
+ ],
740
+ 'condition' => [ 'common_td_style_pot' => 'yes' ],
741
+ ] );
742
+ $this->add_responsive_control( "table_gen_img_padding", [
743
+ 'label' => __( 'Product Image Padding', 'essential-addons-for-elementor-lite' ),
744
+ 'type' => Controls_Manager::DIMENSIONS,
745
+ 'size_units' => [
746
+ 'px',
747
+ 'em',
748
+ '%',
749
+ ],
750
+ 'selectors' => [
751
+ $img => $this->apply_dim( 'padding' ),
752
+ ],
753
+ 'condition' => [ 'common_td_style_pot' => 'yes' ],
754
+ ] );
755
+ $this->add_group_control( Group_Control_Border::get_type(), [
756
+ 'name' => "common_td_col_border",
757
+ 'label' => __( 'Product column border', 'essential-addons-for-elementor-lite' ),
758
+ 'selector' => $td,
759
+ 'condition' => [ 'common_td_style_pot' => 'yes' ],
760
+ ] );
761
+
762
+ $this->add_control( 'common_img_col_brd_heading', [
763
+ 'label' => __( 'Product Image Box Border', 'essential-addons-for-elementor-lite' ),
764
+ 'type' => Controls_Manager::HEADING,
765
+ 'separator' => 'before',
766
+ 'condition' => [ 'common_td_style_pot' => 'yes' ],
767
+ ] );
768
+ $this->add_group_control( Group_Control_Border::get_type(), [
769
+ 'name' => "common_img_col_border",
770
+ 'label' => __( 'Image Box border', 'essential-addons-for-elementor-lite' ),
771
+ 'selector' => $img_class,
772
+ 'condition' => [ 'common_td_style_pot' => 'yes' ],
773
+ ] );
774
+ $this->add_control( 'common_img_brd_heading', [
775
+ 'label' => __( 'Product Image Border', 'essential-addons-for-elementor-lite' ),
776
+ 'type' => Controls_Manager::HEADING,
777
+ 'separator' => 'before',
778
+ 'condition' => [ 'common_td_style_pot' => 'yes' ],
779
+ ] );
780
+ $this->add_group_control( Group_Control_Border::get_type(), [
781
+ 'name' => "common_img_border",
782
+ 'label' => __( 'Product Image border', 'essential-addons-for-elementor-lite' ),
783
+ 'selector' => $img_class . ' img',
784
+ 'condition' => [ 'common_td_style_pot' => 'yes' ],
785
+ ] );
786
+ $this->add_control( "common_img_border_radius", [
787
+ 'label' => __( 'Image Border Radius', 'essential-addons-for-elementor-lite' ),
788
+ 'type' => Controls_Manager::DIMENSIONS,
789
+ 'size_units' => [
790
+ 'px',
791
+ '%',
792
+ ],
793
+ 'selectors' => [
794
+ $img_class . ' img' => $this->apply_dim( 'border-radius' ),
795
+ ],
796
+ 'condition' => [
797
+ 'common_td_style_pot' => 'yes',
798
+ ],
799
+
800
+ ] );
801
+ $this->end_popover();
802
+ $this->add_group_control( Group_Control_Typography::get_type(), [
803
+ 'name' => "tbl_gen_td_typo",
804
+ 'label' => __( 'Product Column Typography', 'essential-addons-for-elementor-lite' ),
805
+ 'selector' => $td,
806
+ 'condition' => [ 'separate_col_style!' => 'yes' ],
807
+ ] );
808
+
809
+ // Colors
810
+ $this->add_control( 'common_colors_heading', [
811
+ 'label' => __( 'Colors', 'essential-addons-for-elementor-lite' ),
812
+ 'type' => Controls_Manager::HEADING,
813
+ 'separator' => 'before',
814
+ 'condition' => [
815
+ 'separate_col_style!' => 'yes',
816
+ ],
817
+ ] );
818
+ $this->start_controls_tabs( "tabs_table_common_style", [
819
+ 'condition' => [
820
+ 'separate_col_style!' => 'yes',
821
+ ],
822
+ ] );
823
+ /*-----NORMAL state------ */
824
+ $this->start_controls_tab( "tab_table_common_style_normal", [
825
+ 'label' => __( 'Normal', 'essential-addons-for-elementor-lite' ),
826
+ 'condition' => [
827
+ 'separate_col_style!' => 'yes',
828
+ ],
829
+ ] );
830
+ $this->add_group_control( Group_Control_Background::get_type(), [
831
+ 'name' => "image_bg",
832
+ 'label' => __( 'Image Background', 'essential-addons-for-elementor-lite' ),
833
+ 'types' => [
834
+ 'classic',
835
+ 'gradient',
836
+ ],
837
+ 'selector' => $img_class,
838
+ ] );
839
+ $this->add_control( "common_column_color_heading", [
840
+ 'label' => __( 'Columns', 'essential-addons-for-elementor-lite' ),
841
+ 'type' => Controls_Manager::HEADING,
842
+ 'separator' => 'before',
843
+ ] );
844
+ $this->add_control( 'common_h_col_bg', [
845
+ 'label' => __( 'Header Background', 'essential-addons-for-elementor-lite' ),
846
+ 'type' => Controls_Manager::COLOR,
847
+ 'selectors' => [ $th => 'background-color:{{VALUE}}' ],
848
+ ] );
849
+ $this->add_control( 'common_h_col_color', [
850
+ 'label' => __( 'Header Text Color', 'essential-addons-for-elementor-lite' ),
851
+ 'type' => Controls_Manager::COLOR,
852
+ 'selectors' => [ $th => 'color:{{VALUE}}' ],
853
+ ] );
854
+ $this->add_control( 'common_td_col_bg', [
855
+ 'label' => __( 'Product Column Background', 'essential-addons-for-elementor-lite' ),
856
+ 'type' => Controls_Manager::COLOR,
857
+ 'selectors' => [ $td => 'background-color:{{VALUE}}' ],
858
+ ] );
859
+ $this->add_control( 'common_td_col_color', [
860
+ 'label' => __( 'Product Column Text Color', 'essential-addons-for-elementor-lite' ),
861
+ 'type' => Controls_Manager::COLOR,
862
+ 'selectors' => [ $td => 'color:{{VALUE}}' ],
863
+ ] );
864
+
865
+ $this->add_control( "common_buttons_color_heading", [
866
+ 'label' => __( 'Buttons', 'essential-addons-for-elementor-lite' ),
867
+ 'type' => Controls_Manager::HEADING,
868
+ 'separator' => 'before',
869
+ ] );
870
+ $this->add_control( 'btn_color', [
871
+ 'label' => __( 'Button Text Color', 'essential-addons-for-elementor-lite' ),
872
+ 'type' => Controls_Manager::COLOR,
873
+ 'selectors' => [ $btn => 'color:{{VALUE}}' ],
874
+ ] );
875
+ $this->add_control( 'btn_bg_color', [
876
+ 'label' => __( 'Button Background Color', 'essential-addons-for-elementor-lite' ),
877
+ 'type' => Controls_Manager::COLOR,
878
+ 'selectors' => [ $btn => 'background:{{VALUE}}' ],
879
+ ] );
880
+ $this->add_control( "common_even_odd_clr_heading", [
881
+ 'label' => __( 'Even & Odd Rows', 'essential-addons-for-elementor-lite' ),
882
+ 'type' => Controls_Manager::HEADING,
883
+ 'separator' => 'before',
884
+ ] );
885
+ $this->add_control( 'common_tr_even_bg', [
886
+ 'label' => __( 'Even Row Background', 'essential-addons-for-elementor-lite' ),
887
+ 'type' => Controls_Manager::COLOR,
888
+ 'selectors' => [ $tr_even => 'background-color:{{VALUE}}' ],
889
+ ] );
890
+ $this->add_control( 'common_tr_even_color', [
891
+ 'label' => __( 'Even Row Text Color', 'essential-addons-for-elementor-lite' ),
892
+ 'type' => Controls_Manager::COLOR,
893
+ 'selectors' => [ $tr_even => 'color:{{VALUE}}' ],
894
+ ] );
895
+ $this->add_control( 'common_tr_odd_bg', [
896
+ 'label' => __( 'Odd Row Background', 'essential-addons-for-elementor-lite' ),
897
+ 'type' => Controls_Manager::COLOR,
898
+ 'selectors' => [ $tr_odd => 'background-color:{{VALUE}}' ],
899
+ ] );
900
+ $this->add_control( 'common_tr_odd_color', [
901
+ 'label' => __( 'Odd Row Text Color', 'essential-addons-for-elementor-lite' ),
902
+ 'type' => Controls_Manager::COLOR,
903
+ 'selectors' => [ $tr_odd => 'color:{{VALUE}}' ],
904
+ ] );
905
+ $this->add_control( "title_row_color_heading", [
906
+ 'label' => __( 'Title Row', 'essential-addons-for-elementor-lite' ),
907
+ 'type' => Controls_Manager::HEADING,
908
+ 'separator' => 'before',
909
+ ] );
910
+ $this->add_control( 'common_title_row_bg', [
911
+ 'label' => __( 'Title Row Background', 'essential-addons-for-elementor-lite' ),
912
+ 'type' => Controls_Manager::COLOR,
913
+ 'selectors' => [ $title_row => 'background-color:{{VALUE}}', ],
914
+ ] );
915
+ $this->add_control( 'common_title_row_color', [
916
+ 'label' => __( 'Title Row Text Color', 'essential-addons-for-elementor-lite' ),
917
+ 'type' => Controls_Manager::COLOR,
918
+ 'selectors' => [ $title_row => 'color:{{VALUE}}' ],
919
+ ] );
920
+ $this->end_controls_tab();
921
+
922
+
923
+ /*-----HOVER state------ */
924
+ $this->start_controls_tab( "tab_table_common_style_hover", [
925
+ 'label' => __( 'Hover', 'essential-addons-for-elementor-lite' ),
926
+ ] );
927
+ $this->add_control( 'btn_color_hover', [
928
+ 'label' => __( 'Button Text Color', 'essential-addons-for-elementor-lite' ),
929
+ 'type' => Controls_Manager::COLOR,
930
+ 'selectors' => [ $btn_hover => 'color:{{VALUE}}' ],
931
+ ] );
932
+ $this->add_control( 'btn_bg_color_hover', [
933
+ 'label' => __( 'Button Background Color', 'essential-addons-for-elementor-lite' ),
934
+ 'type' => Controls_Manager::COLOR,
935
+ 'selectors' => [ $btn_hover => 'background:{{VALUE}}' ],
936
+ ] );
937
+ $this->end_controls_tab();
938
+ $this->end_controls_tabs();
939
+ }
940
+
941
+ public function init_style_header_column_style( $tbl = '' ) {
942
+ $tbl = ! empty( $tbl ) ? $tbl : "{{WRAPPER}} .eael-wcpc-wrapper table";
943
+ $h_col = "{$tbl} tr:not(.image):not(.title) th:not(.first-th)";
944
+ $title_th = "{$tbl} tr.title th";
945
+ $tr_even = "{$tbl} tr:nth-child(even):not(.image):not(.title) th, {$tbl} tr:nth-child(even):not(.image):not(.title) td";
946
+ $tr_odd = "{$tbl} tr:nth-child(odd):not(.image):not(.title) th, {$tbl} tr:nth-child(odd):not(.image):not(.title) td";
947
+ $this->start_controls_section( 'section_style_h_clm', [
948
+ 'label' => __( 'Header Column', 'essential-addons-for-elementor-lite' ),
949
+ 'tab' => Controls_Manager::TAB_STYLE,
950
+ 'condition' => [
951
+ 'separate_col_style' => 'yes',
952
+ 'show_compare' => 'yes',
953
+ ],
954
+ ] );
955
+ $this->add_responsive_control( "h_col_width", [
956
+ 'label' => esc_html__( 'Width', 'essential-addons-for-elementor-lite' ),
957
+ 'type' => Controls_Manager::SLIDER,
958
+ 'size_units' => [
959
+ 'px',
960
+ 'rem',
961
+ '%',
962
+ ],
963
+ 'range' => [
964
+ 'px' => [
965
+ 'min' => 0,
966
+ 'max' => 550,
967
+ 'step' => 5,
968
+ ],
969
+ 'rem' => [
970
+ 'min' => 0,
971
+ 'max' => 10,
972
+ 'step' => .5,
973
+ ],
974
+ '%' => [
975
+ 'min' => 0,
976
+ 'max' => 100,
977
+ ],
978
+ ],
979
+ 'selectors' => [
980
+ $h_col => 'width: {{SIZE}}{{UNIT}};',
981
+ ],
982
+ ] );
983
+ $this->add_responsive_control( "h_col_padding", [
984
+ 'label' => __( 'Padding', 'essential-addons-for-elementor-lite' ),
985
+ 'type' => Controls_Manager::DIMENSIONS,
986
+ 'size_units' => [
987
+ 'px',
988
+ 'em',
989
+ '%',
990
+ ],
991
+ 'selectors' => [
992
+ $h_col => $this->apply_dim( 'padding' ),
993
+ ],
994
+ ] );
995
+ $this->add_control( 'h_col_clr_heading', [
996
+ 'label' => __( 'Colors', 'essential-addons-for-elementor-lite' ),
997
+ 'type' => Controls_Manager::HEADING,
998
+ ] );
999
+ $this->add_control( 'title_h_col_bg', [
1000
+ 'label' => __( 'Title Background', 'essential-addons-for-elementor-lite' ),
1001
+ 'type' => Controls_Manager::COLOR,
1002
+ 'selectors' => [ $title_th => 'background-color:{{VALUE}}' ],
1003
+ ] );
1004
+ $this->add_control( 'title_h_col_color', [
1005
+ 'label' => __( 'Title Color', 'essential-addons-for-elementor-lite' ),
1006
+ 'type' => Controls_Manager::COLOR,
1007
+ 'selectors' => [ $title_th => 'color:{{VALUE}}' ],
1008
+ ] );
1009
+ $this->add_control( 'h_col_bg', [
1010
+ 'label' => __( 'Column Background Color', 'essential-addons-for-elementor-lite' ),
1011
+ 'type' => Controls_Manager::COLOR,
1012
+ 'selectors' => [ $h_col => 'background-color:{{VALUE}}' ],
1013
+ ] );
1014
+ $this->add_control( 'h_col_color', [
1015
+ 'label' => __( 'Column Text Color', 'essential-addons-for-elementor-lite' ),
1016
+ 'type' => Controls_Manager::COLOR,
1017
+ 'selectors' => [ $h_col => 'color:{{VALUE}}' ],
1018
+ ] );
1019
+ $this->add_control( "h_rows_clr_heading", [
1020
+ 'label' => __( 'Rows', 'essential-addons-for-elementor-lite' ),
1021
+ 'type' => Controls_Manager::HEADING,
1022
+ 'separator' => 'before',
1023
+ ] );
1024
+ $this->add_control( 'tr_even_bg', [
1025
+ 'label' => __( 'Even Row Background', 'essential-addons-for-elementor-lite' ),
1026
+ 'type' => Controls_Manager::COLOR,
1027
+ 'selectors' => [ $tr_even => 'background-color:{{VALUE}}' ],
1028
+ 'separator' => 'before',
1029
+ ] );
1030
+ $this->add_control( 'tr_even_color', [
1031
+ 'label' => __( 'Even Row Text Color', 'essential-addons-for-elementor-lite' ),
1032
+ 'type' => Controls_Manager::COLOR,
1033
+ 'selectors' => [ $tr_even => 'color:{{VALUE}}' ],
1034
+ ] );
1035
+ $this->add_control( 'tr_odd_bg', [
1036
+ 'label' => __( 'Odd Row Background', 'essential-addons-for-elementor-lite' ),
1037
+ 'type' => Controls_Manager::COLOR,
1038
+ 'selectors' => [ $tr_odd => 'background-color:{{VALUE}}' ],
1039
+ ] );
1040
+ $this->add_control( 'tr_odd_color', [
1041
+ 'label' => __( 'Odd Row Text Color', 'essential-addons-for-elementor-lite' ),
1042
+ 'type' => Controls_Manager::COLOR,
1043
+ 'selectors' => [ $tr_odd => 'color:{{VALUE}}' ],
1044
+ ] );
1045
+ $this->add_control( 'title_border_heading', [
1046
+ 'label' => __( 'Title Border', 'essential-addons-for-elementor-lite' ),
1047
+ 'type' => Controls_Manager::HEADING,
1048
+ 'separator' => 'before',
1049
+ ] );
1050
+ $this->add_group_control( Group_Control_Border::get_type(), [
1051
+ 'name' => "title_h_col_border",
1052
+ 'selector' => $title_th,
1053
+ ] );
1054
+ $this->add_control( 'h_border_heading', [
1055
+ 'label' => __( 'Header Border', 'essential-addons-for-elementor-lite' ),
1056
+ 'type' => Controls_Manager::HEADING,
1057
+ 'separator' => 'before',
1058
+ ] );
1059
+ $this->add_group_control( Group_Control_Border::get_type(), [
1060
+ 'name' => "h_col_border",
1061
+ 'selector' => $h_col,
1062
+ ] );
1063
+ $this->add_control( 'h_typo_heading', [
1064
+ 'label' => __( 'Typography', 'essential-addons-for-elementor-lite' ),
1065
+ 'type' => Controls_Manager::HEADING,
1066
+ 'separator' => 'before',
1067
+ ] );
1068
+ $this->add_group_control( Group_Control_Typography::get_type(), [
1069
+ 'name' => "title_h_col_typo",
1070
+ 'label' => __( 'Title', 'essential-addons-for-elementor-lite' ),
1071
+ 'selector' => $title_th,
1072
+ ] );
1073
+ $this->add_group_control( Group_Control_Typography::get_type(), [
1074
+ 'name' => "h_col_typo",
1075
+ 'label' => __( 'Header', 'essential-addons-for-elementor-lite' ),
1076
+ 'selector' => $h_col,
1077
+ ] );
1078
+ $this->end_controls_section();
1079
+ }
1080
+
1081
+ public function init_style_product_column_style( $column_number, $tbl = '' ) {
1082
+ $tbl = ! empty( $tbl ) ? $tbl : "{{WRAPPER}} .eael-wcpc-wrapper table";
1083
+
1084
+ $title_number = 1 + $column_number; // first column number is 0, so title number will start from 1 in the loop.
1085
+ $pfx = "col{$column_number}";
1086
+ // New selectors
1087
+ $column_class = "{$tbl} td:nth-of-type(3n+{$title_number})";
1088
+ $title_row = "{$tbl} tr.title td:nth-of-type(3n+{$title_number})";
1089
+ $tr_even = "{$tbl} tr:nth-of-type(even):not(.image):not(.title) td:nth-of-type(3n+{$title_number})";
1090
+ $tr_odd = "{$tbl} tr:nth-of-type(odd):not(.image):not(.title) td:nth-of-type(3n+{$title_number})";
1091
+ $btn = "{$tbl} td:nth-of-type(3n+{$title_number}) a.button";
1092
+ $btn_hover = "{$btn}:hover";
1093
+ $img_td = "{$tbl} tr.image td:nth-of-type(3n+{$title_number})";
1094
+ $img = "{$img_td} img";
1095
+
1096
+ $this->start_controls_section( 'section_style_' . $pfx, [
1097
+ 'label' => sprintf( __( 'Product Column %d', 'essential-addons-for-elementor-lite' ), $title_number ),
1098
+ 'tab' => Controls_Manager::TAB_STYLE,
1099
+ 'condition' => [
1100
+ 'separate_col_style' => 'yes',
1101
+ 'show_compare' => 'yes',
1102
+ ],
1103
+ ] );
1104
+ $this->add_responsive_control( "{$pfx}_width", [
1105
+ 'label' => esc_html__( 'Width', 'essential-addons-for-elementor-lite' ),
1106
+ 'type' => Controls_Manager::SLIDER,
1107
+ 'size_units' => [
1108
+ 'px',
1109
+ 'rem',
1110
+ '%',
1111
+ ],
1112
+ 'range' => [
1113
+ 'px' => [
1114
+ 'min' => 0,
1115
+ 'max' => 550,
1116
+ 'step' => 5,
1117
+ ],
1118
+ 'rem' => [
1119
+ 'min' => 0,
1120
+ 'max' => 10,
1121
+ 'step' => .5,
1122
+ ],
1123
+ '%' => [
1124
+ 'min' => 0,
1125
+ 'max' => 100,
1126
+ ],
1127
+ ],
1128
+ 'selectors' => [
1129
+ $column_class => 'width: {{SIZE}}{{UNIT}};',
1130
+ ],
1131
+ ] );
1132
+ $this->add_responsive_control( "{$pfx}_padding", [
1133
+ 'label' => __( 'Padding', 'essential-addons-for-elementor-lite' ),
1134
+ 'type' => Controls_Manager::DIMENSIONS,
1135
+ 'size_units' => [
1136
+ 'px',
1137
+ 'em',
1138
+ '%',
1139
+ ],
1140
+ 'selectors' => [
1141
+ $column_class => $this->apply_dim( 'padding' ),
1142
+ ],
1143
+ ] );
1144
+ $this->add_group_control( Group_Control_Border::get_type(), [
1145
+ 'name' => "{$pfx}_border",
1146
+ 'selector' => $column_class,
1147
+ ] );
1148
+ $this->add_control( "{$pfx}_img_col_brd_heading", [
1149
+ 'label' => __( 'Product Image Box Border', 'essential-addons-for-elementor-lite' ),
1150
+ 'type' => Controls_Manager::HEADING,
1151
+ 'separator' => 'before',
1152
+ ] );
1153
+ $this->add_group_control( Group_Control_Border::get_type(), [
1154
+ 'name' => "{$pfx}_img_col_border",
1155
+ 'label' => __( 'Image Box border', 'essential-addons-for-elementor-lite' ),
1156
+ 'selector' => $img_td,
1157
+ ] );
1158
+ $this->add_control( "{$pfx}_img_brd_heading", [
1159
+ 'label' => __( 'Product Image Border', 'essential-addons-for-elementor-lite' ),
1160
+ 'type' => Controls_Manager::HEADING,
1161
+ 'separator' => 'before',
1162
+ ] );
1163
+ $this->add_group_control( Group_Control_Border::get_type(), [
1164
+ 'name' => "{$pfx}_img_border",
1165
+ 'label' => __( 'Product Image border', 'essential-addons-for-elementor-lite' ),
1166
+ 'selector' => $img,
1167
+ ] );
1168
+ $this->add_control( "{$pfx}_img_border_radius", [
1169
+ 'label' => __( 'Image Border Radius', 'essential-addons-for-elementor-lite' ),
1170
+ 'type' => Controls_Manager::DIMENSIONS,
1171
+ 'size_units' => [
1172
+ 'px',
1173
+ '%',
1174
+ ],
1175
+ 'selectors' => [
1176
+ $img => $this->apply_dim( 'border-radius' ),
1177
+ ],
1178
+ ] );
1179
+
1180
+ //Typography
1181
+ $this->add_control( "{$pfx}_typo_heading", [
1182
+ 'label' => __( 'Typography', 'essential-addons-for-elementor-lite' ),
1183
+ 'type' => Controls_Manager::HEADING,
1184
+ 'separator' => 'before',
1185
+ ] );
1186
+ $this->add_group_control( Group_Control_Typography::get_type(), [
1187
+ 'name' => "{$pfx}_title_typo",
1188
+ 'label' => sprintf( __( 'Title', 'essential-addons-for-elementor-lite' ), $title_number ),
1189
+ 'selector' => $title_row,
1190
+ ] );
1191
+ $this->add_group_control( Group_Control_Typography::get_type(), [
1192
+ 'name' => "{$pfx}_text_typo",
1193
+ 'label' => sprintf( __( 'Text', 'essential-addons-for-elementor-lite' ), $title_number ),
1194
+ 'selector' => $column_class,
1195
+ ] );
1196
+ $this->add_group_control( Group_Control_Typography::get_type(), [
1197
+ 'name' => "{$pfx}_btn_typo",
1198
+ 'label' => sprintf( __( 'Button', 'essential-addons-for-elementor-lite' ), $title_number ),
1199
+ 'selector' => $btn,
1200
+ ] );
1201
+
1202
+ //COLORS
1203
+ $this->add_control( "{$pfx}_clr_heading", [
1204
+ 'label' => __( 'Colors', 'essential-addons-for-elementor-lite' ),
1205
+ 'type' => Controls_Manager::HEADING,
1206
+ 'separator' => 'before',
1207
+ ] );
1208
+ $this->start_controls_tabs( "{$pfx}_tabs_style" );
1209
+ /*-----NORMAL state------ */
1210
+ $this->start_controls_tab( "{$pfx}_tab_style_normal", [
1211
+ 'label' => __( 'Normal', 'essential-addons-for-elementor-lite' ),
1212
+ ] );
1213
+ $this->add_group_control( Group_Control_Background::get_type(), [
1214
+ 'name' => "{$pfx}_img_bg",
1215
+ 'label' => __( 'Image Background', 'essential-addons-for-elementor-lite' ),
1216
+ 'types' => [
1217
+ 'classic',
1218
+ 'gradient',
1219
+ ],
1220
+ 'selector' => $img_td,
1221
+ 'exclude' => [ 'image' ],
1222
+ ] );
1223
+ $this->add_control( "{$pfx}_title_bg", [
1224
+ 'label' => __( 'Title Background', 'essential-addons-for-elementor-lite' ),
1225
+ 'type' => Controls_Manager::COLOR,
1226
+ 'selectors' => [ $title_row => 'background-color:{{VALUE}}', ],
1227
+ 'condition' => [
1228
+ 'theme' => [
1229
+ 'theme-1',
1230
+ 'theme-2',
1231
+ 'theme-5',
1232
+ ],
1233
+ ],
1234
+ ] );
1235
+ $this->add_control( "{$pfx}_title_color", [
1236
+ 'label' => __( 'Title Color', 'essential-addons-for-elementor-lite' ),
1237
+ 'type' => Controls_Manager::COLOR,
1238
+ 'selectors' => [ $title_row => 'color:{{VALUE}}' ],
1239
+ 'condition' => [
1240
+ 'theme' => [
1241
+ 'theme-1',
1242
+ 'theme-2',
1243
+ 'theme-5',
1244
+ ],
1245
+ ],
1246
+ ] );
1247
+ $this->add_control( "{$pfx}_button_clr_heading", [
1248
+ 'label' => __( 'Button', 'essential-addons-for-elementor-lite' ),
1249
+ 'type' => Controls_Manager::HEADING,
1250
+ 'separator' => 'before',
1251
+ ] );
1252
+ $this->add_control( "{$pfx}_btn_color", [
1253
+ 'label' => __( 'Button Text Color', 'essential-addons-for-elementor-lite' ),
1254
+ 'type' => Controls_Manager::COLOR,
1255
+ 'selectors' => [ $btn => 'color:{{VALUE}}' ],
1256
+ 'separator' => 'before',
1257
+ ] );
1258
+ $this->add_control( "{$pfx}_btn_bg", [
1259
+ 'label' => __( 'Button Background', 'essential-addons-for-elementor-lite' ),
1260
+ 'type' => Controls_Manager::COLOR,
1261
+ 'selectors' => [ $btn => 'background-color:{{VALUE}}' ],
1262
+ ] );
1263
+ $this->add_control( "{$pfx}_rows_clr_heading", [
1264
+ 'label' => __( 'Rows', 'essential-addons-for-elementor-lite' ),
1265
+ 'type' => Controls_Manager::HEADING,
1266
+ 'separator' => 'before',
1267
+ ] );
1268
+ $this->add_control( "{$pfx}_tr_even_bg", [
1269
+ 'label' => __( 'Even Row Background', 'essential-addons-for-elementor-lite' ),
1270
+ 'type' => Controls_Manager::COLOR,
1271
+ 'selectors' => [ $tr_even => 'background-color:{{VALUE}}' ],
1272
+ 'separator' => 'before',
1273
+ ] );
1274
+ $this->add_control( "{$pfx}_tr_even_color", [
1275
+ 'label' => __( 'Even Row Text Color', 'essential-addons-for-elementor-lite' ),
1276
+ 'type' => Controls_Manager::COLOR,
1277
+ 'selectors' => [ $tr_even => 'color:{{VALUE}}' ],
1278
+ ] );
1279
+ $this->add_control( "{$pfx}_tr_odd_bg", [
1280
+ 'label' => __( 'Odd Row Background', 'essential-addons-for-elementor-lite' ),
1281
+ 'type' => Controls_Manager::COLOR,
1282
+ 'selectors' => [ $tr_odd => 'background-color:{{VALUE}}' ],
1283
+ ] );
1284
+ $this->add_control( "{$pfx}_tr_odd_color", [
1285
+ 'label' => __( 'Odd Row Text Color', 'essential-addons-for-elementor-lite' ),
1286
+ 'type' => Controls_Manager::COLOR,
1287
+ 'selectors' => [ $tr_odd => 'color:{{VALUE}}' ],
1288
+ ] );
1289
+ $this->end_controls_tab();
1290
+ /*-----HOVER state------ */
1291
+ $this->start_controls_tab( "{$pfx}_tab_style_hover", [
1292
+ 'label' => __( 'Hover', 'essential-addons-for-elementor-lite' ),
1293
+ ] );
1294
+ $this->add_control( "{$pfx}_btn_color_hover", [
1295
+ 'label' => __( 'Button Text Color', 'essential-addons-for-elementor-lite' ),
1296
+ 'type' => Controls_Manager::COLOR,
1297
+ 'selectors' => [ $btn_hover => 'color:{{VALUE}}' ],
1298
+ ] );
1299
+ $this->add_control( "{$pfx}_btn_bg_hover", [
1300
+ 'label' => __( 'Button Background', 'essential-addons-for-elementor-lite' ),
1301
+ 'type' => Controls_Manager::COLOR,
1302
+ 'selectors' => [ $btn_hover => 'background-color:{{VALUE}}' ],
1303
+ ] );
1304
+ $this->end_controls_tab();
1305
+ $this->end_controls_tabs();
1306
+
1307
+ $this->end_controls_section();
1308
+ }
1309
+
1310
+ public function init_style_close_button_controls()
1311
+ {
1312
+ $this->start_controls_section( 'section_style_cm_close_btn', [
1313
+ 'label' => __( 'Compare Modal Close Button', 'essential-addons-for-elementor-lite' ),
1314
+ 'tab' => Controls_Manager::TAB_STYLE,
1315
+ 'condition' => [
1316
+ 'show_compare' => 'yes',
1317
+ ],
1318
+ ] );
1319
+
1320
+ $this->add_control(
1321
+ 'eael_cm_close_btn_style',
1322
+ [
1323
+ 'label' => __(' Close Button', 'essential-addons-for-elementor-lite'),
1324
+ 'type' => Controls_Manager::HEADING,
1325
+ 'separator' => 'before',
1326
+ ]
1327
+ );
1328
+
1329
+ $this->add_responsive_control(
1330
+ 'eael_cm_close_btn_icon_size',
1331
+ [
1332
+ 'label' => __('Icon Size', 'essential-addons-for-elementor-lite'),
1333
+ 'type' => Controls_Manager::SLIDER,
1334
+ 'size_units' => ['px', 'em', '%'],
1335
+ 'range' => [
1336
+ 'px' => [
1337
+ 'min' => 0,
1338
+ 'max' => 100,
1339
+ ],
1340
+ 'em' => [
1341
+ 'min' => 0,
1342
+ 'max' => 100,
1343
+ ],
1344
+ '%' => [
1345
+ 'min' => 0,
1346
+ 'max' => 100,
1347
+ ],
1348
+ ],
1349
+ 'selectors' => [
1350
+ '.eael-wcpc-modal .close-modal' => 'font-size: {{SIZE}}{{UNIT}};',
1351
+ ],
1352
+ ]
1353
+ );
1354
+
1355
+
1356
+ $this->add_control(
1357
+ 'eael_cm_close_btn_color',
1358
+ [
1359
+ 'label' => __('Color', 'essential-addons-for-elementor-lite'),
1360
+ 'type' => Controls_Manager::COLOR,
1361
+ 'selectors' => [
1362
+ '.eael-wcpc-modal .close-modal' => 'color: {{VALUE}}!important;',
1363
+ ],
1364
+ ]
1365
+ );
1366
+
1367
+ $this->add_control(
1368
+ 'eael_cm_close_btn_bg',
1369
+ [
1370
+ 'label' => __('Background', 'essential-addons-for-elementor-lite'),
1371
+ 'type' => Controls_Manager::COLOR,
1372
+ 'selectors' => [
1373
+ '.eael-wcpc-modal .close-modal' => 'background-color: {{VALUE}}!important;',
1374
+ ],
1375
+ ]
1376
+ );
1377
+
1378
+ $this->add_control(
1379
+ 'eael_cm_close_btn_border_radius',
1380
+ [
1381
+ 'label' => __('Border Radius', 'essential-addons-for-elementor-lite'),
1382
+ 'type' => Controls_Manager::SLIDER,
1383
+ 'size_units' => ['px', '%'],
1384
+ 'range' => [
1385
+ 'px' => [
1386
+ 'min' => 0,
1387
+ 'max' => 100,
1388
+ 'step' => 1,
1389
+ ],
1390
+ '%' => [
1391
+ 'min' => 0,
1392
+ 'max' => 100,
1393
+ ],
1394
+ ],
1395
+ 'selectors' => [
1396
+ '.eael-wcpc-modal .close-modal' => 'border-radius: {{SIZE}}{{UNIT}};',
1397
+ ],
1398
+ ]
1399
+ );
1400
+
1401
+ $this->add_group_control(
1402
+ Group_Control_Box_Shadow::get_type(),
1403
+ [
1404
+ 'name' => 'eael_cm_close_btn_box_shadow',
1405
+ 'label' => __('Box Shadow', 'essential-addons-for-elementor-lite'),
1406
+ 'selector' => '.eael-wcpc-modal .close-modal',
1407
+ ]
1408
+ );
1409
+ $this->end_controls_section();
1410
+
1411
+
1412
+ }
1413
+ public function init_style_icon_controls( $tbl = '' ) {
1414
+ $icon = "{$tbl} .elementor-icon";
1415
+ $this->start_controls_section( 'section_style_icon', [
1416
+ 'label' => __( 'Fields Icon', 'essential-addons-for-elementor-lite' ),
1417
+ 'tab' => Controls_Manager::TAB_STYLE,
1418
+ 'condition' => [
1419
+ 'field_icon[value]!' => '',
1420
+ 'show_compare' => 'yes',
1421
+ ],
1422
+ ] );
1423
+ $this->add_responsive_control( "field_icon_size", [
1424
+ 'label' => esc_html__( 'Size', 'essential-addons-for-elementor-lite' ),
1425
+ 'type' => Controls_Manager::SLIDER,
1426
+ 'size_units' => [
1427
+ 'px',
1428
+ 'rem',
1429
+ '%',
1430
+ ],
1431
+ 'range' => [
1432
+ 'px' => [
1433
+ 'min' => 0,
1434
+ 'max' => 550,
1435
+ 'step' => 5,
1436
+ ],
1437
+ 'rem' => [
1438
+ 'min' => 0,
1439
+ 'max' => 10,
1440
+ 'step' => .5,
1441
+ ],
1442
+ ],
1443
+ 'selectors' => [
1444
+ $icon => 'font-size: {{SIZE}}{{UNIT}};',
1445
+ ],
1446
+ ] );
1447
+
1448
+ $this->add_responsive_control( "field_icon_size_margin", [
1449
+ 'label' => __( 'Margin', 'essential-addons-for-elementor-lite' ),
1450
+ 'type' => Controls_Manager::DIMENSIONS,
1451
+ 'size_units' => [
1452
+ 'px',
1453
+ 'rem',
1454
+ ],
1455
+ 'selectors' => [
1456
+ $icon => $this->apply_dim( 'margin' ),
1457
+ ],
1458
+ ] );
1459
+ $this->add_responsive_control( "field_icon_pos", [
1460
+ 'label' => __( 'Position', 'essential-addons-for-elementor-lite' ),
1461
+ 'type' => Controls_Manager::DIMENSIONS,
1462
+ 'size_units' => [
1463
+ 'px',
1464
+ 'rem',
1465
+ ],
1466
+ 'selectors' => [
1467
+ $icon => "position:relative; top: {{TOP}}{{UNIT}};right: {{RIGHT}}{{UNIT}}; bottom: {{BOTTOM}}{{UNIT}}; left: {{LEFT}}{{UNIT}};",
1468
+ ],
1469
+ ] );
1470
+ $this->add_control( 'field_icon_color', [
1471
+ 'label' => __( 'Color', 'essential-addons-for-elementor-lite' ),
1472
+ 'type' => Controls_Manager::COLOR,
1473
+ 'selectors' => [
1474
+ $icon => 'color:{{VALUE}} !important;',
1475
+ $icon. ' i' => 'color:{{VALUE}} !important;',
1476
+ $icon. ' svg' => 'color:{{VALUE}} !important;fill:{{VALUE}} !important;',
1477
+ ],
1478
+ ] );
1479
+ $this->end_controls_section();
1480
+ }
1481
+
1482
+ public function init_style_price_controls( $tbl = '' ) {
1483
+ $strike = "{$tbl} del";
1484
+ $price = "{$tbl} del .woocommerce-Price-amount";
1485
+ $sales_price = "{$tbl} ins .woocommerce-Price-amount";
1486
+ $this->start_controls_section( 'section_style_price', [
1487
+ 'label' => __( 'Price Style', 'essential-addons-for-elementor-lite' ),
1488
+ 'tab' => Controls_Manager::TAB_STYLE,
1489
+ 'condition' => [
1490
+ 'show_compare' => 'yes',
1491
+ ],
1492
+ ] );
1493
+ $this->add_control(
1494
+ 'price_heading',
1495
+ [
1496
+ 'label' => __( 'Normal Price Style', 'plugin-name' ),
1497
+ 'type' => Controls_Manager::HEADING,
1498
+ 'separator' => 'before',
1499
+ ]
1500
+ );
1501
+ $this->add_responsive_control( "price_size", [
1502
+ 'label' => esc_html__( 'Price Size', 'essential-addons-for-elementor-lite' ),
1503
+ 'type' => Controls_Manager::SLIDER,
1504
+ 'size_units' => [
1505
+ 'px',
1506
+ 'rem',
1507
+ '%',
1508
+ ],
1509
+ 'range' => [
1510
+ 'px' => [
1511
+ 'min' => 0,
1512
+ 'max' => 40,
1513
+ 'step' => 5,
1514
+ ],
1515
+ 'rem' => [
1516
+ 'min' => 0,
1517
+ 'max' => 10,
1518
+ 'step' => .5,
1519
+ ],
1520
+ ],
1521
+ 'selectors' => [
1522
+ $price => 'font-size: {{SIZE}}{{UNIT}};',
1523
+ ],
1524
+ ] );
1525
+
1526
+ $this->add_control( 'price_color', [
1527
+ 'label' => __( 'Price Text Color', 'essential-addons-for-elementor-lite' ),
1528
+ 'type' => Controls_Manager::COLOR,
1529
+ 'selectors' => [
1530
+ $price => 'color:{{VALUE}};',
1531
+ ],
1532
+ ] );
1533
+ $this->add_control( 'strike_price_color', [
1534
+ 'label' => __( 'Price Strike Text Color', 'essential-addons-for-elementor-lite' ),
1535
+ 'description' => __( 'Only applicable when sales price is available', 'essential-addons-for-elementor-lite' ),
1536
+ 'type' => Controls_Manager::COLOR,
1537
+ 'selectors' => [
1538
+ $strike => 'color:{{VALUE}};',
1539
+ ],
1540
+ ] );
1541
+
1542
+ $this->add_control(
1543
+ 'sales_price_heading',
1544
+ [
1545
+ 'label' => __( 'Sales Price Style', 'plugin-name' ),
1546
+ 'type' => Controls_Manager::HEADING,
1547
+ 'separator' => 'before',
1548
+ ]
1549
+ );
1550
+ $this->add_responsive_control( "sales_price_size", [
1551
+ 'label' => esc_html__( 'Sales Price Size', 'essential-addons-for-elementor-lite' ),
1552
+ 'type' => Controls_Manager::SLIDER,
1553
+ 'size_units' => [
1554
+ 'px',
1555
+ 'rem',
1556
+ '%',
1557
+ ],
1558
+ 'range' => [
1559
+ 'px' => [
1560
+ 'min' => 0,
1561
+ 'max' => 40,
1562
+ 'step' => 5,
1563
+ ],
1564
+ 'rem' => [
1565
+ 'min' => 0,
1566
+ 'max' => 10,
1567
+ 'step' => .5,
1568
+ ],
1569
+ ],
1570
+ 'selectors' => [
1571
+ $sales_price => 'font-size: {{SIZE}}{{UNIT}};',
1572
+ ],
1573
+ ] );
1574
+
1575
+ $this->add_control( 'sales_price_color', [
1576
+ 'label' => __( 'Sales Price Text Color', 'essential-addons-for-elementor-lite' ),
1577
+ 'type' => Controls_Manager::COLOR,
1578
+ 'selectors' => [
1579
+ $sales_price => 'color:{{VALUE}};',
1580
+ ],
1581
+ ] );
1582
+
1583
+ $this->end_controls_section();
1584
+ }
1585
+
1586
+ public function init_style_compare_button_controls($condition=null)
1587
+ {
1588
+ $section_args = [
1589
+ 'label' => esc_html__('Compare Button', 'essential-addons-for-elementor-lite'),
1590
+ 'tab' => Controls_Manager::TAB_STYLE,
1591
+ ];
1592
+ if (is_array($condition)) {
1593
+ $section_args['condition'] = $condition;
1594
+ }
1595
+
1596
+ $this->start_controls_section('section_style_compare_btn', $section_args );
1597
+
1598
+ $this->add_control(
1599
+ 'compare_btn_padding',
1600
+ [
1601
+ 'label' => __('Padding', 'essential-addons-for-elementor-lite'),
1602
+ 'type' => Controls_Manager::DIMENSIONS,
1603
+ 'size_units' => ['px', '%', 'em'],
1604
+ 'selectors' => [
1605
+ '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.eael-wc-compare,
1606
+ {{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link,
1607
+ {{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .eael-wc-compare' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1608
+ ],
1609
+ ]
1610
+ );
1611
+
1612
+ $this->add_control(
1613
+ 'compare_btn_radius',
1614
+ [
1615
+ 'label' => __('Radius', 'essential-addons-for-elementor-lite'),
1616
+ 'type' => Controls_Manager::DIMENSIONS,
1617
+ 'size_units' => ['px', '%', 'em'],
1618
+ 'selectors' => [
1619
+ '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.eael-wc-compare,
1620
+ {{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link,
1621
+ {{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .eael-wc-compare' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1622
+ ],
1623
+ ]
1624
+ );
1625
+
1626
+
1627
+ $this->start_controls_tabs('compare_btn_style_tabs');
1628
+
1629
+ $this->start_controls_tab('compare_btn_style_tab_normal', ['label' => esc_html__('Normal', 'essential-addons-for-elementor-lite')]);
1630
+
1631
+ $this->add_control(
1632
+ 'compare_btn_color',
1633
+ [
1634
+ 'label' => esc_html__('Button Text Color', 'essential-addons-for-elementor-lite'),
1635
+ 'type' => Controls_Manager::COLOR,
1636
+ 'default' => '#fff',
1637
+ 'selectors' => [
1638
+ '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.eael-wc-compare' => 'color: {{VALUE}};',
1639
+ '{{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link' => 'color: {{VALUE}};',
1640
+ '{{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .eael-wc-compare' => 'color: {{VALUE}};',
1641
+ ],
1642
+ ]
1643
+ );
1644
+
1645
+ $this->add_group_control(
1646
+ Group_Control_Background::get_type(),
1647
+ [
1648
+ 'name' => 'compare_btn_gradient_background',
1649
+ 'label' => __('Background', 'essential-addons-for-elementor-lite'),
1650
+ 'types' => ['classic', 'gradient'],
1651
+ 'selector' => '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.eael-wc-compare,
1652
+ {{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link,
1653
+ {{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .eael-wc-compare',
1654
+ ]
1655
+ );
1656
+
1657
+
1658
+ $this->add_group_control(
1659
+ Group_Control_Border::get_type(),
1660
+ [
1661
+ 'name' => 'compare_btn_border',
1662
+ 'selector' => '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.eael-wc-compare, {{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link, {{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .eael-wc-compare',
1663
+ ]
1664
+ );
1665
+
1666
+ $this->add_group_control(
1667
+ Group_Control_Typography::get_type(),
1668
+ [
1669
+ 'name' => 'compare_btn_typography',
1670
+ 'selector' => '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.eael-wc-compare',
1671
+ 'condition' => [
1672
+ 'eael_product_grid_style_preset' => ['eael-product-default', 'eael-product-simple'],
1673
+ ],
1674
+ ]
1675
+ );
1676
+
1677
+ $this->end_controls_tab();
1678
+
1679
+ $this->start_controls_tab('compare_btn_hover_tab', ['label' => esc_html__('Hover', 'essential-addons-for-elementor-lite')]);
1680
+
1681
+ $this->add_control(
1682
+ 'compare_btn_hover_color',
1683
+ [
1684
+ 'label' => esc_html__('Button Text Color', 'essential-addons-for-elementor-lite'),
1685
+ 'type' => Controls_Manager::COLOR,
1686
+ 'default' => '#fff',
1687
+ 'selectors' => [
1688
+ '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.eael-wc-compare:hover' => 'color: {{VALUE}};',
1689
+ '{{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:hover' => 'color: {{VALUE}};',
1690
+ '{{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .eael-wc-compare:hover' => 'color: {{VALUE}};',
1691
+ ],
1692
+ ]
1693
+ );
1694
+ $this->add_group_control(
1695
+ Group_Control_Background::get_type(),
1696
+ [
1697
+ 'name' => 'compare_btn_hover_gradient_background',
1698
+ 'label' => __('Background', 'essential-addons-for-elementor-lite'),
1699
+ 'types' => ['classic', 'gradient'],
1700
+ 'selector' => '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.eael-wc-compare:hover,
1701
+ {{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:hover,
1702
+ {{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .eael-wc-compare:hover',
1703
+ ]
1704
+ );
1705
+
1706
+
1707
+ $this->add_control(
1708
+ 'compare_btn_hover_border_color',
1709
+ [
1710
+ 'label' => esc_html__('Border Color', 'essential-addons-for-elementor-lite'),
1711
+ 'type' => Controls_Manager::COLOR,
1712
+ 'default' => '',
1713
+ 'selectors' => [
1714
+ '{{WRAPPER}} .eael-product-grid .woocommerce li.product .button.eael-wc-compare:hover' => 'border-color: {{VALUE}};',
1715
+ '{{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .product-link:hover' => 'border-color: {{VALUE}};',
1716
+ '{{WRAPPER}} .eael-product-grid.eael-product-overlay .woocommerce ul.products li.product .overlay .eael-wc-compare:hover' => 'border-color: {{VALUE}};',
1717
+ ],
1718
+ ]
1719
+ );
1720
+
1721
+ $this->end_controls_tab();
1722
+
1723
+ $this->end_controls_tabs();
1724
+
1725
+ $this->end_controls_section();
1726
+ }
1727
+
1728
+ /**
1729
+ * It renders product compare table and it accepts an argument with 3 keys, products, fields and ds. Explanation is given below.
1730
+ *
1731
+ * @param array $options {
1732
+ *
1733
+ * @var array $products list of WC_product object
1734
+ * @var array $fields list of WC_Product feature fields
1735
+ * @var array $ds Widget's display settings array
1736
+ * }
1737
+ */
1738
+ public static function render_compare_table( $options ) {
1739
+
1740
+ $products = $fields = $ds = [];
1741
+ extract( $options );
1742
+ $not_found_text = isset( $ds['no_products_found_text'] ) ? $ds['no_products_found_text'] : '';
1743
+ $title = isset( $ds['table_title'] ) ? $ds['table_title'] : '';
1744
+ $title_tag = isset( $ds['table_title_tag'] ) ? $ds['table_title_tag'] : 'h1';
1745
+ $ribbon = isset( $ds['ribbon'] ) ? $ds['ribbon'] : '';
1746
+ $repeat_price = isset( $ds['repeat_price'] ) ? $ds['repeat_price'] : '';
1747
+ $repeat_add_to_cart = isset( $ds['repeat_add_to_cart'] ) ? $ds['repeat_add_to_cart'] : '';
1748
+ $linkable_img = isset( $ds['linkable_img'] ) ? $ds['linkable_img'] : '';
1749
+ $highlighted_product_id = ! empty( $ds['highlighted_product_id'] ) ? intval( $ds[ 'highlighted_product_id' ] ) : null;
1750
+ $icon = ! empty( $ds['field_icon'] ) && ! empty( $ds['field_icon']['value'] ) ? $ds['field_icon'] : [];
1751
+ $theme_wrap_class = $theme = '';
1752
+ if ( ! empty( $ds['theme'] ) ) {
1753
+ $theme = esc_attr( $ds['theme'] );
1754
+ $theme_wrap_class = " custom {$theme}";
1755
+ }
1756
+ do_action( 'eael/wcpc/before_content_wrapper' ); ?>
1757
+ <div class="eael-wcpc-wrapper woocommerce <?php echo esc_attr( $theme_wrap_class ); ?>">
1758
+ <?php do_action( 'eael/wcpc/before_main_table' ); ?>
1759
+ <table class="eael-wcpc-table table-responsive">
1760
+ <tbody>
1761
+ <?php if ( empty( $products ) ) { ?>
1762
+ <tr class="no-products">
1763
+ <td><?php echo esc_html($not_found_text ); ?></td>
1764
+ </tr>
1765
+ <?php } else {
1766
+
1767
+ // for product grid, show remove button
1768
+ if ( 'Essential_Addons_Elementor\Elements\Woo_Product_Compare' !== self::class ) {
1769
+ echo '<tr class="remove-row"><th class="remove-th">&nbsp;</th>';
1770
+ $rm_index = 0;
1771
+ foreach ( $products as $product_id => $product ) {
1772
+ ?>
1773
+ <td class="rm-col<?php echo esc_attr( $rm_index ); ?>">
1774
+ <i class="fas fa-trash eael-wc-remove" data-product-id="<?php echo esc_attr( $product_id ); ?>" title="<?php esc_attr_e( 'Remove', 'essential-addons-for-elementor-lite' ); ?>"></i>
1775
+ </td>
1776
+ <?php
1777
+ $rm_index ++;
1778
+ }
1779
+ echo '</tr>';
1780
+ }
1781
+
1782
+ $count = 1;
1783
+ foreach ( $fields as $field => $name ) {
1784
+ $f_heading_class = 1 === $count ? 'first-th' : '';
1785
+ $count ++;
1786
+ ?>
1787
+ <tr class="<?php echo esc_attr( $field ); ?>">
1788
+ <th class="thead <?php echo esc_attr( $f_heading_class ); ?>">
1789
+ <div class="wcpc-table-header">
1790
+ <?php if ( $field === 'image' ) {
1791
+ if ( ! empty( $title ) ) {
1792
+ printf( "<{$title_tag} class='wcpc-title'>%s</{$title_tag}>", esc_html( $title ) );
1793
+ }
1794
+ } else {
1795
+ if ( 'theme-5' === $theme && $field === 'title' ) {
1796
+ echo '&nbsp;';
1797
+ } else {
1798
+ if ( ! empty( $icon ) ) {
1799
+ self::print_icon( $icon );
1800
+ }
1801
+ printf( '<span class="field-name">%s</span>', esc_html( $name ) );
1802
+
1803
+ }
1804
+ } ?>
1805
+ </div>
1806
+ </th>
1807
+
1808
+ <?php
1809
+ $index = 0;
1810
+ /**
1811
+ * @var int $product_id
1812
+ * @var WC_Product $product
1813
+ */
1814
+ foreach ( $products as $product_id => $product ) {
1815
+ $is_highlighted = $product_id === $highlighted_product_id;
1816
+ $highlighted = $is_highlighted ? 'featured' : '';
1817
+ $product_class = ( $index % 2 == 0 ? 'odd' : 'even' ) . " col_{$index} product_{$product_id} $highlighted" ?>
1818
+ <td class="<?php echo esc_attr( $product_class ); ?>">
1819
+ <span>
1820
+ <?php
1821
+ if ( $field === 'image' ) {
1822
+ echo '<span class="img-inner">';
1823
+ if ( 'theme-4' === $theme && $is_highlighted && $ribbon ) {
1824
+ printf( '<span class="ribbon">%s</span>', esc_html( $ribbon ) );
1825
+ }
1826
+
1827
+ if ( 'yes' === $linkable_img ) {
1828
+ printf( "<a href='%s'>", esc_url( $product->get_permalink() ) );
1829
+ }
1830
+ }
1831
+
1832
+ echo ! empty( $product->fields[ $field ] ) ? $product->fields[ $field ] : '&nbsp;';
1833
+
1834
+ if ( $field === 'image' ) {
1835
+ if ( 'yes' === $linkable_img ) {
1836
+ echo '</a>';
1837
+ }
1838
+ if ( 'theme-4' === $theme ) {
1839
+ echo ! empty( $product->fields['title'] ) ? sprintf( "<p class='product-title'>%s</p>", esc_html( $product->fields['title'] ) ) : '&nbsp;';
1840
+ echo ! empty( $product->fields['price'] ) ? wp_kses_post( $product->fields['price'] ) : '&nbsp;';
1841
+ }
1842
+ echo '</span>';
1843
+ }
1844
+ ?>
1845
+ </span>
1846
+ </td>
1847
+
1848
+ <?php
1849
+ ++ $index;
1850
+ }
1851
+ ?>
1852
+
1853
+ </tr>
1854
+
1855
+ <?php } ?>
1856
+
1857
+ <?php if ( 'yes' === $repeat_price && isset( $fields['price'] ) ) : ?>
1858
+ <tr class="price repeated">
1859
+ <th class="thead">
1860
+ <div class="wcpc-table-header">
1861
+ <?php
1862
+ if ( ! empty( $icon ) ) {
1863
+ self::print_icon( $icon );
1864
+ }
1865
+ printf( '<span class="field-name">%s</span>', esc_html( $fields['price'] ) );
1866
+
1867
+ ?>
1868
+ </div>
1869
+ </th>
1870
+
1871
+ <?php
1872
+ $index = 0;
1873
+ foreach ( $products as $product_id => $product ) :
1874
+ $highlighted = $product_id === $highlighted_product_id ? 'featured' : '';
1875
+ $product_class = ( $index % 2 == 0 ? 'odd' : 'even' ) . " col_{$index} product_{$product_id} $highlighted" ?>
1876
+ <td class="<?php echo esc_attr( $product_class ) ?>"><?php echo wp_kses_post( $product->fields['price'] ); ?></td>
1877
+ <?php
1878
+ ++ $index;
1879
+ endforeach; ?>
1880
+
1881
+ </tr>
1882
+ <?php endif; ?>
1883
+
1884
+ <?php if ( 'yes' === $repeat_add_to_cart && isset( $fields['add-to-cart'] ) ) : ?>
1885
+ <tr class="add-to-cart repeated">
1886
+ <th class="thead">
1887
+ <div class="wcpc-table-header">
1888
+ <?php
1889
+ if ( ! empty( $icon ) ) {
1890
+ self::print_icon( $icon );
1891
+ }
1892
+ printf( '<span class="field-name">%s</span>', esc_html( $fields['add-to-cart'] ) ); ?>
1893
+ </div>
1894
+ </th>
1895
+
1896
+ <?php
1897
+ $index = 0;
1898
+ foreach ( $products as $product_id => $product ) :
1899
+ $highlighted = $product_id === $highlighted_product_id ? 'featured' : '';
1900
+ $product_class = ( $index % 2 == 0 ? 'odd' : 'even' ) . " col_{$index} product_{$product_id} $highlighted" ?>
1901
+ <td class="<?php echo esc_attr( $product_class ); ?>">
1902
+ <?php woocommerce_template_loop_add_to_cart(); ?>
1903
+ </td>
1904
+ <?php
1905
+ ++ $index;
1906
+ endforeach; ?>
1907
+
1908
+ </tr>
1909
+ <?php endif; ?>
1910
+
1911
+ <?php } ?>
1912
+ </tbody>
1913
+ </table>
1914
+ <?php do_action( 'eael/wcpc/after_main_table' ); ?>
1915
+ </div>
1916
+ <?php do_action( 'eael/wcpc/after_content_wrapper' );
1917
+ }
1918
+
1919
+ /**
1920
+ * It will apply value like Elementor's dimension control to a property
1921
+ * and return it.
1922
+ *
1923
+ * @param string $css_property CSS property name
1924
+ *
1925
+ * @return string
1926
+ */
1927
+ public fun