Strong Testimonials - Version 2.32

Version Description

  • Aug 6, 2018 =
  • Add carousel option.
  • Add filters to form field classes.
Download this release

Release Info

Developer cdillon27
Plugin Icon 128x128 Strong Testimonials
Version 2.32
Comparing to
See all releases

Code changes from version 2.31.10 to 2.32

Files changed (92) hide show
  1. admin/about/class-strong-testimonials-about.php +1 -1
  2. admin/about/whats-new.php +8 -0
  3. admin/class-strong-testimonials-defaults.php +3 -0
  4. admin/css/views.css +0 -1
  5. admin/js/views.js +55 -1
  6. admin/partials/views/group-slideshow.php +3 -0
  7. admin/partials/views/option-slideshow-navigation.php +75 -59
  8. admin/partials/views/option-slideshow-num.php +52 -0
  9. admin/partials/views/option-slideshow-transition.php +6 -2
  10. admin/scss/_partials/_inputs.scss +0 -1
  11. admin/views-validate.php +19 -3
  12. changelog.txt +59 -0
  13. includes/class-strong-view-slideshow.php +30 -6
  14. includes/functions-template-form.php +66 -17
  15. public/css/columns.css +0 -1
  16. public/css/slider-controls-full-buttons.css +17 -5
  17. public/css/slider-controls-full-buttons2.css +21 -8
  18. public/css/slider-controls-full-buttons3.css +17 -7
  19. public/css/slider-controls-full-text.css +17 -1
  20. public/css/slider-controls-sides-buttons-pager-buttons.css +19 -9
  21. public/css/slider-controls-sides-buttons-pager-text.css +25 -9
  22. public/css/slider-controls-sides-buttons.css +40 -24
  23. public/css/slider-controls-sides-buttons2-pager-buttons.css +23 -12
  24. public/css/slider-controls-sides-buttons2-pager-text.css +29 -12
  25. public/css/slider-controls-sides-buttons2.css +44 -27
  26. public/css/slider-controls-sides-buttons3-pager-buttons.css +19 -11
  27. public/css/slider-controls-sides-buttons3-pager-text.css +25 -11
  28. public/css/slider-controls-sides-buttons3.css +40 -26
  29. public/css/slider-controls-sides-inside-buttons-pager-buttons.css +203 -0
  30. public/css/slider-controls-sides-inside-buttons-pager-text.css +205 -0
  31. public/css/slider-controls-sides-inside-buttons.css +150 -0
  32. public/css/slider-controls-sides-inside-buttons2-pager-buttons.css +213 -0
  33. public/css/slider-controls-sides-inside-buttons2-pager-text.css +215 -0
  34. public/css/slider-controls-sides-inside-buttons2.css +160 -0
  35. public/css/slider-controls-sides-inside-buttons3-pager-buttons.css +186 -0
  36. public/css/slider-controls-sides-inside-buttons3-pager-text.css +188 -0
  37. public/css/slider-controls-sides-inside-buttons3.css +133 -0
  38. public/css/slider-controls-sides-outside-buttons-pager-buttons.css +203 -0
  39. public/css/slider-controls-sides-outside-buttons-pager-text.css +211 -0
  40. public/css/slider-controls-sides-outside-buttons.css +156 -0
  41. public/css/slider-controls-sides-outside-buttons2-pager-buttons.css +214 -0
  42. public/css/slider-controls-sides-outside-buttons2-pager-text.css +222 -0
  43. public/css/slider-controls-sides-outside-buttons2.css +167 -0
  44. public/css/slider-controls-sides-outside-buttons3-pager-buttons.css +196 -0
  45. public/css/slider-controls-sides-outside-buttons3-pager-text.css +204 -0
  46. public/css/slider-controls-sides-outside-buttons3.css +149 -0
  47. public/css/slider-controls-simple-buttons-pager-buttons.css +17 -5
  48. public/css/slider-controls-simple-buttons-pager-text.css +17 -5
  49. public/css/slider-controls-simple-buttons.css +17 -5
  50. public/css/slider-controls-simple-buttons2-pager-buttons.css +21 -8
  51. public/css/slider-controls-simple-buttons2-pager-text.css +21 -8
  52. public/css/slider-controls-simple-buttons2.css +21 -8
  53. public/css/slider-controls-simple-buttons3-pager-buttons.css +17 -7
  54. public/css/slider-controls-simple-buttons3-pager-text.css +17 -7
  55. public/css/slider-controls-simple-buttons3.css +17 -7
  56. public/css/slider-controls-simple-text-pager-buttons.css +17 -5
  57. public/css/slider-controls-simple-text-pager-text.css +17 -1
  58. public/css/slider-controls-simple-text.css +17 -1
  59. public/css/slider-pager-buttons.css +17 -1
  60. public/css/slider-pager-text.css +17 -1
  61. public/js/lib/strongslider/jquery.strongslider.js +45 -260
  62. public/js/lib/strongslider/jquery.strongslider.min.js +1 -1
  63. public/scss/_partials/_base.scss +9 -1
  64. public/scss/_partials/_buttons.scss +0 -5
  65. public/scss/_partials/_buttons2.scss +4 -8
  66. public/scss/_partials/_buttons3.scss +2 -7
  67. public/scss/_partials/_inside.scss +21 -14
  68. public/scss/_partials/_outside.scss +15 -8
  69. public/scss/_partials/_pager_inside.scss +15 -15
  70. public/scss/_partials/_sides.scss +9 -4
  71. public/scss/_partials/_sides_outside.scss +42 -0
  72. public/scss/_partials/_sides_pager.scss +38 -38
  73. public/scss/slider-controls-sides-buttons.scss +1 -1
  74. public/scss/slider-controls-sides-buttons2.scss +1 -1
  75. public/scss/slider-controls-sides-buttons3.scss +1 -1
  76. public/scss/slider-controls-sides-outside-buttons-pager-buttons.scss +7 -0
  77. public/scss/slider-controls-sides-outside-buttons-pager-text.scss +8 -0
  78. public/scss/slider-controls-sides-outside-buttons.scss +5 -0
  79. public/scss/slider-controls-sides-outside-buttons2-pager-buttons.scss +7 -0
  80. public/scss/slider-controls-sides-outside-buttons2-pager-text.scss +8 -0
  81. public/scss/slider-controls-sides-outside-buttons2.scss +5 -0
  82. public/scss/slider-controls-sides-outside-buttons3-pager-buttons.scss +7 -0
  83. public/scss/slider-controls-sides-outside-buttons3-pager-text.scss +8 -0
  84. public/scss/slider-controls-sides-outside-buttons3.scss +5 -0
  85. readme.txt +14 -77
  86. strong-testimonials.php +3 -3
  87. templates-scss/_partials/_form-wait.scss +2 -0
  88. templates-scss/_partials/_structure-form.scss +0 -4
  89. templates-scss/default-form/form.scss +0 -1
  90. templates/default-form/form.css +2 -1
  91. templates/simple-form/form.css +2 -0
  92. templates/unstyled-form/form.css +2 -0
admin/about/class-strong-testimonials-about.php CHANGED
@@ -63,7 +63,7 @@ class Strong_Testimonials_About {
63
  <p class="about-text">
64
  <?php _e( 'Thank you for updating to the latest version!' ); ?>
65
  <?php /* translators: %s is the plugin version number */ ?>
66
- <?php printf( 'Strong Testimonials %s fixes minor security vulnerabilities, adds a shortcode for your average rating and has more compatibility options.', $major_minor ); ?>
67
  </p>
68
 
69
  <div class="wp-badge strong-testimonials"><?php printf( __( 'Version %s' ), $major_minor ); ?></div>
63
  <p class="about-text">
64
  <?php _e( 'Thank you for updating to the latest version!' ); ?>
65
  <?php /* translators: %s is the plugin version number */ ?>
66
+ <?php printf( 'Strong Testimonials %s adds a slider carousel option.', $major_minor ); ?>
67
  </p>
68
 
69
  <div class="wp-badge strong-testimonials"><?php printf( __( 'Version %s' ), $major_minor ); ?></div>
admin/about/whats-new.php CHANGED
@@ -1,6 +1,14 @@
1
 
2
  <h2>Now Even Stronger</h2>
3
 
 
 
 
 
 
 
 
 
4
  <p class="lead-description">Version 2.31 adds a highly requested feature and improves compatibility.</p>
5
 
6
  <div class="feature-section one-col">
1
 
2
  <h2>Now Even Stronger</h2>
3
 
4
+ <p class="lead-description">Version 2.32 adds the number one requested feature: Carousel</p>
5
+
6
+ <div class="feature-section one-col">
7
+ <div class="col">
8
+ <p>NEW: Show 2 or 3 slides at the same time. Finally!</p>
9
+ </div>
10
+ </div>
11
+
12
  <p class="lead-description">Version 2.31 adds a highly requested feature and improves compatibility.</p>
13
 
14
  <div class="feature-section one-col">
admin/class-strong-testimonials-defaults.php CHANGED
@@ -727,6 +727,9 @@ class Strong_Testimonials_Defaults {
727
  'after_page_number' => '',
728
  ),
729
  'slideshow_settings' => array(
 
 
 
730
  'effect' => 'fade',
731
  'speed' => 1,
732
  'pause' => 8,
727
  'after_page_number' => '',
728
  ),
729
  'slideshow_settings' => array(
730
+ 'max_slides' => 1,
731
+ 'move_slides' => 1,
732
+ 'margin' => 20,
733
  'effect' => 'fade',
734
  'speed' => 1,
735
  'pause' => 8,
admin/css/views.css CHANGED
@@ -313,7 +313,6 @@ div.radio {
313
  label,
314
  .nolabel {
315
  vertical-align: baseline;
316
- margin-right: 0.3em;
317
  display: inline-block; }
318
 
319
  label:hover {
313
  label,
314
  .nolabel {
315
  vertical-align: baseline;
 
316
  display: inline-block; }
317
 
318
  label:hover {
admin/js/views.js CHANGED
@@ -7,6 +7,12 @@ Array.max = function (array) {
7
  return Math.max.apply(Math, array);
8
  };
9
 
 
 
 
 
 
 
10
  /**
11
  * jQuery alterClass plugin
12
  *
@@ -113,7 +119,7 @@ removeResultArg = function () {
113
  }
114
  window.history.replaceState({}, document.title, newURL);
115
  }
116
- }
117
 
118
  /**
119
  * Initial actions on document.ready
@@ -1103,6 +1109,54 @@ jQuery(document).ready(function ($) {
1103
  return false;
1104
  });
1105
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1106
  })(jQuery);
1107
 
1108
  /**
7
  return Math.max.apply(Math, array);
8
  };
9
 
10
+ (function ($) {
11
+ $.fn.showInlineBlock = function () {
12
+ return this.css('display', 'inline-block');
13
+ };
14
+ })(jQuery);
15
+
16
  /**
17
  * jQuery alterClass plugin
18
  *
119
  }
120
  window.history.replaceState({}, document.title, newURL);
121
  }
122
+ };
123
 
124
  /**
125
  * Initial actions on document.ready
1109
  return false;
1110
  });
1111
 
1112
+ /**
1113
+ * Slider|Carousel change listener
1114
+ */
1115
+ var $maxSlides = $('#view-max_slides');
1116
+ var $effect = $('#view-effect');
1117
+ var $position = $('view-slideshow_nav_position');
1118
+
1119
+ var maxSlidesUpdate = function () {
1120
+ var maxSlidesValue = parseInt($maxSlides.val());
1121
+ if (maxSlidesValue > 1) {
1122
+ $effect.find('option[value=\'horizontal\']').prop('selected', true);
1123
+ $position.find('option[value=\'outside\']').prop('selected', true);
1124
+
1125
+ $maxSlides.siblings('.option-desc.singular').hide();
1126
+ $maxSlides.siblings('.option-desc.plural').showInlineBlock();
1127
+ } else {
1128
+ $maxSlides.siblings('.option-desc.singular').showInlineBlock();
1129
+ $maxSlides.siblings('.option-desc.plural').hide();
1130
+ }
1131
+
1132
+ $effect.change();
1133
+ $position.change();
1134
+ };
1135
+
1136
+ maxSlidesUpdate();
1137
+
1138
+ $maxSlides.on('change', maxSlidesUpdate);
1139
+
1140
+ /**
1141
+ * MoveSlides change listener
1142
+ */
1143
+ var $moveSlides = $('#view-move_slides');
1144
+
1145
+ var moveSlidesUpdate = function () {
1146
+ var moveSlidesValue = parseInt($moveSlides.val());
1147
+ if (moveSlidesValue > 1) {
1148
+ $moveSlides.siblings('.option-desc.singular').hide();
1149
+ $moveSlides.siblings('.option-desc.plural').showInlineBlock();
1150
+ } else {
1151
+ $moveSlides.siblings('.option-desc.singular').showInlineBlock();
1152
+ $moveSlides.siblings('.option-desc.plural').hide();
1153
+ }
1154
+ };
1155
+
1156
+ moveSlidesUpdate();
1157
+
1158
+ $moveSlides.on('change', moveSlidesUpdate);
1159
+
1160
  })(jQuery);
1161
 
1162
  /**
admin/partials/views/group-slideshow.php CHANGED
@@ -14,6 +14,9 @@ $then_classes = array(
14
  <?php _e( 'Slideshow', 'strong-testimonials' ); ?>
15
  </h3>
16
  <table class="form-table multiple group-select">
 
 
 
17
  <tr>
18
  <?php include( 'option-slideshow-transition.php' ); ?>
19
  </tr>
14
  <?php _e( 'Slideshow', 'strong-testimonials' ); ?>
15
  </h3>
16
  <table class="form-table multiple group-select">
17
+ <tr>
18
+ <?php include( 'option-slideshow-num.php' ); ?>
19
+ </tr>
20
  <tr>
21
  <?php include( 'option-slideshow-transition.php' ); ?>
22
  </tr>
admin/partials/views/option-slideshow-navigation.php CHANGED
@@ -1,88 +1,104 @@
1
  <?php /* translators: In the view editor. */ ?>
2
  <th>
3
- <label for="view-slideshow_nav">
4
  <?php _e( 'Navigation', 'strong-testimonials' ); ?>
5
- </label>
6
  </th>
7
  <td>
8
 
9
  <?php /* ----- CONTROLS ----- */ ?>
10
- <div class="row">
11
- <div class="row-inner">
12
 
13
  <?php /* ----- TYPE ----- */ ?>
14
- <div class="inline">
15
- <label for="view-slideshow_controls_type"><?php _e( 'Controls', 'strong-testimonials' ); ?></label>
16
- <select id="view-slideshow_controls_type" name="view[data][slideshow_settings][controls_type]" class="if selectnot">
17
- <?php foreach ( $view_options['slideshow_nav_method']['controls'] as $key => $type ) : ?>
18
- <option value="<?php echo $key; ?>" id="<?php echo $key; ?>"
19
- <?php selected( $view['slideshow_settings']['controls_type'], $key ); ?>
20
- <?php if ( 'none' == $key ) echo ' class="trip"'; ?>>
21
- <?php echo $type['label']; ?>
22
- </option>
23
- <?php endforeach; ?>
24
- </select>
25
- </div>
 
 
 
 
26
 
27
  <?php /* ----- STYLE ----- */ ?>
28
- <div class="inline then then_slideshow_controls_type" style="display: none;">
29
- <label for="view-slideshow_controls_style"><?php _e( 'Style', 'strong-testimonials' ); ?></label>
30
- <select id="view-slideshow_controls_style" name="view[data][slideshow_settings][controls_style]">
31
- <?php foreach ( $view_options['slideshow_nav_style']['controls'] as $key => $style ) : ?>
32
- <option value="<?php echo $key; ?>" <?php selected( $view['slideshow_settings']['controls_style'], $key ); ?>><?php echo $style['label']; ?></option>
33
- <?php endforeach; ?>
34
- </select>
35
- </div>
36
 
37
- </div>
38
- </div>
39
 
40
  <?php /* ----- PAGER ----- */ ?>
41
- <div class="row">
42
- <div class="row-inner then then_has-pager">
43
 
44
  <?php /* ----- TYPE ----- */ ?>
45
- <div class="inline">
46
- <label for="view-slideshow_pager_type"><?php _e( 'Pagination', 'strong-testimonials' ); ?></label>
47
- <select id="view-slideshow_pager_type" name="view[data][slideshow_settings][pager_type]" class="if selectnot">
 
 
48
  <?php foreach ( $view_options['slideshow_nav_method']['pager'] as $key => $type ) : ?>
49
- <option value="<?php echo $key; ?>" id="<?php echo $key; ?>"
50
  <?php selected( $view['slideshow_settings']['pager_type'], $key ); ?>
51
- <?php if ( 'none' == $key ) echo ' class="trip"'; ?>>
 
 
52
  <?php echo $type['label']; ?>
53
- </option>
54
  <?php endforeach; ?>
55
- </select>
56
- </div>
57
 
58
  <?php /* ----- STYLE ----- */ ?>
59
- <div class="inline then then_slideshow_pager_type" style="display: none;">
60
- <label for="view-slideshow_pager_style"><?php _e( 'Style', 'strong-testimonials' ); ?></label>
61
- <select id="view-slideshow_pager_style" name="view[data][slideshow_settings][pager_style]" class="if selectnot">
62
- <?php foreach ( $view_options['slideshow_nav_style']['pager'] as $key => $style ) : ?>
63
- <option value="<?php echo $key; ?>" <?php selected( $view['slideshow_settings']['pager_style'], $key ); ?>><?php echo $style['label']; ?></option>
64
- <?php endforeach; ?>
65
- </select>
66
- </div>
 
 
67
 
68
- </div>
69
- </div>
70
 
71
  <?php /* ----- POSITION ----- */ ?>
72
- <div class="row">
73
- <div class="row-inner">
 
 
 
 
 
 
 
 
 
 
 
 
74
 
75
- <div class="inline then then_has-position" style="display: none;">
76
- <label for="view-slideshow_nav_position"><?php _e( 'Position', 'strong-testimonials' ); ?></label>
77
- <select id="view-slideshow_nav_position" name="view[data][slideshow_settings][nav_position]">
78
- <?php foreach ( $view_options['slideshow_nav_position'] as $key => $label ) : ?>
79
- <option value="<?php echo $key; ?>" <?php selected( $view['slideshow_settings']['nav_position'], $key ); ?>><?php echo $label; ?></option>
80
- <?php endforeach; ?>
81
- </select>
82
- <?php _e( 'the testimonial frame', 'strong-testimonials' ); ?>
83
- </div>
84
 
85
- </div>
86
- </div>
87
 
88
  </td>
1
  <?php /* translators: In the view editor. */ ?>
2
  <th>
3
+ <label for="view-slideshow_nav">
4
  <?php _e( 'Navigation', 'strong-testimonials' ); ?>
5
+ </label>
6
  </th>
7
  <td>
8
 
9
  <?php /* ----- CONTROLS ----- */ ?>
10
+ <div class="row">
11
+ <div class="row-inner">
12
 
13
  <?php /* ----- TYPE ----- */ ?>
14
+ <div class="inline">
15
+ <label for="view-slideshow_controls_type"><?php _e( 'Controls', 'strong-testimonials' ); ?></label>
16
+ <select id="view-slideshow_controls_type"
17
+ name="view[data][slideshow_settings][controls_type]"
18
+ class="if selectnot">
19
+ <?php foreach ( $view_options['slideshow_nav_method']['controls'] as $key => $type ) : ?>
20
+ <option value="<?php echo $key; ?>" id="<?php echo $key; ?>"
21
+ <?php selected( $view['slideshow_settings']['controls_type'], $key ); ?>
22
+ <?php if ( 'none' == $key ) {
23
+ echo ' class="trip"';
24
+ } ?>>
25
+ <?php echo $type['label']; ?>
26
+ </option>
27
+ <?php endforeach; ?>
28
+ </select>
29
+ </div>
30
 
31
  <?php /* ----- STYLE ----- */ ?>
32
+ <div class="inline then then_slideshow_controls_type" style="display: none;">
33
+ <label for="view-slideshow_controls_style"><?php _e( 'Style', 'strong-testimonials' ); ?></label>
34
+ <select id="view-slideshow_controls_style" name="view[data][slideshow_settings][controls_style]">
35
+ <?php foreach ( $view_options['slideshow_nav_style']['controls'] as $key => $style ) : ?>
36
+ <option value="<?php echo $key; ?>" <?php selected( $view['slideshow_settings']['controls_style'], $key ); ?>><?php echo $style['label']; ?></option>
37
+ <?php endforeach; ?>
38
+ </select>
39
+ </div>
40
 
41
+ </div>
42
+ </div>
43
 
44
  <?php /* ----- PAGER ----- */ ?>
45
+ <div class="row">
46
+ <div class="row-inner then then_has-pager">
47
 
48
  <?php /* ----- TYPE ----- */ ?>
49
+ <div class="inline">
50
+ <label for="view-slideshow_pager_type"><?php _e( 'Pagination', 'strong-testimonials' ); ?></label>
51
+ <select id="view-slideshow_pager_type"
52
+ name="view[data][slideshow_settings][pager_type]"
53
+ class="if selectnot">
54
  <?php foreach ( $view_options['slideshow_nav_method']['pager'] as $key => $type ) : ?>
55
+ <option value="<?php echo $key; ?>" id="<?php echo $key; ?>"
56
  <?php selected( $view['slideshow_settings']['pager_type'], $key ); ?>
57
+ <?php if ( 'none' == $key ) {
58
+ echo ' class="trip"';
59
+ } ?>>
60
  <?php echo $type['label']; ?>
61
+ </option>
62
  <?php endforeach; ?>
63
+ </select>
64
+ </div>
65
 
66
  <?php /* ----- STYLE ----- */ ?>
67
+ <div class="inline then then_slideshow_pager_type" style="display: none;">
68
+ <label for="view-slideshow_pager_style"><?php _e( 'Style', 'strong-testimonials' ); ?></label>
69
+ <select id="view-slideshow_pager_style"
70
+ name="view[data][slideshow_settings][pager_style]"
71
+ class="if selectnot">
72
+ <?php foreach ( $view_options['slideshow_nav_style']['pager'] as $key => $style ) : ?>
73
+ <option value="<?php echo $key; ?>" <?php selected( $view['slideshow_settings']['pager_style'], $key ); ?>><?php echo $style['label']; ?></option>
74
+ <?php endforeach; ?>
75
+ </select>
76
+ </div>
77
 
78
+ </div>
79
+ </div>
80
 
81
  <?php /* ----- POSITION ----- */ ?>
82
+ <div class="row">
83
+ <div class="row-inner">
84
+
85
+ <div class="then then_max_slides then_1 then_not_2 then_not_3" style="display: none;">
86
+ <div class="inline then then_has-position" style="display: none;">
87
+ <label for="view-slideshow_nav_position"><?php _e( 'Position', 'strong-testimonials' ); ?></label>
88
+
89
+ <select id="view-slideshow_nav_position" name="view[data][slideshow_settings][nav_position]">
90
+ <?php foreach ( $view_options['slideshow_nav_position'] as $key => $label ) : ?>
91
+ <option value="<?php echo $key; ?>" <?php selected( $view['slideshow_settings']['nav_position'], $key ); ?>><?php echo $label; ?></option>
92
+ <?php endforeach; ?>
93
+ </select>
94
+
95
+ <?php //_e( 'outside', 'strong-testimonials' ); ?>
96
 
97
+ <?php _e( 'the testimonial frame', 'strong-testimonials' ); ?>
98
+ </div>
99
+ </div>
 
 
 
 
 
 
100
 
101
+ </div>
102
+ </div>
103
 
104
  </td>
admin/partials/views/option-slideshow-num.php ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php /* translators: In the view editor. */ ?>
2
+ <th>
3
+ <?php _e( 'Number', 'strong-testimonials' ); ?>
4
+ </th>
5
+ <td>
6
+ <div class="row">
7
+
8
+ <div class="inline inline-middle">
9
+ <label for="view-max_slides">
10
+ <?php _e( 'Show', 'strong-testimonials' ); ?>
11
+ </label>
12
+ <select id="view-max_slides" name="view[data][slideshow_settings][max_slides]" class="if selectgroup">
13
+ <option value="1" <?php selected( $view['slideshow_settings']['max_slides'], 1 ); ?>>1</option>
14
+ <option value="2" <?php selected( $view['slideshow_settings']['max_slides'], 2 ); ?>>2</option>
15
+ <option value="3" <?php selected( $view['slideshow_settings']['max_slides'], 3 ); ?>>3</option>
16
+ </select>
17
+ <div class="option-desc singular" style="display: none;">
18
+ <?php _e( 'slide at a time', 'strong-testimonials' ); ?>
19
+ </div>
20
+ <div class="option-desc plural" style="display: none;">
21
+ <?php _e( 'slides at a time', 'strong-testimonials' ); ?>
22
+ </div>
23
+ </div>
24
+
25
+ <div class="inline inline-middle then then_max_slides then_not_1 then_2 then_3" style="display: none;">
26
+ <label for="view-margin">
27
+ <?php _ex( 'with a margin of', 'strong-testimonials' ); ?>
28
+ </label>
29
+ <input type="number" id="view-margin" class="input-incremental"
30
+ name="view[data][slideshow_settings][margin]" min="1" step="1"
31
+ value="<?php echo $view['slideshow_settings']['margin']; ?>" size="3"/> px
32
+ </div>
33
+
34
+ <div class="inline inline-middle then then_max_slides then_not_1 then_2 then_3" style="display: none;">
35
+ <label for="view-move_slides">
36
+ <?php _ex( 'and move', 'strong-testimonials' ); ?>
37
+ </label>
38
+ <select id="view-move_slides" name="view[data][slideshow_settings][move_slides]" class="if selectgroup">
39
+ <option value="1" <?php selected( $view['slideshow_settings']['move_slides'], 1 ); ?>>1</option>
40
+ <option value="2" <?php selected( $view['slideshow_settings']['move_slides'], 2 ); ?>>2</option>
41
+ <option value="3" <?php selected( $view['slideshow_settings']['move_slides'], 3 ); ?>>3</option>
42
+ </select>
43
+ <div class="option-desc singular" style="display: none;">
44
+ <?php _e( 'slide at a time', 'strong-testimonials' ); ?>
45
+ </div>
46
+ <div class="option-desc plural" style="display: none;">
47
+ <?php _e( 'slides at a time', 'strong-testimonials' ); ?>
48
+ </div>
49
+ </div>
50
+
51
+ </div>
52
+ </td>
admin/partials/views/option-slideshow-transition.php CHANGED
@@ -7,7 +7,7 @@
7
 
8
  <div class="inline inline-middle">
9
  <label for="view-pause">
10
- <?php _ex( 'Show each for', 'slideshow setting', 'strong-testimonials' ); ?>
11
  </label>
12
  <input type="number" id="view-pause" class="input-incremental"
13
  name="view[data][slideshow_settings][pause]" min=".1" step=".1"
@@ -15,7 +15,7 @@
15
  <?php _ex( 'seconds', 'time setting', 'strong-testimonials' ); ?>
16
  </div>
17
 
18
- <div class="inline inline-middle">
19
  <label for="view-effect">
20
  <?php _e( 'then', 'strong-testimonials' ); ?>
21
  </label>
@@ -28,6 +28,10 @@
28
  </select>
29
  </div>
30
 
 
 
 
 
31
  <div class="inline inline-middle then then_effect then_none">
32
  <label for="view-speed">
33
  <?php _e( 'for', 'strong-testimonials' ); ?>
7
 
8
  <div class="inline inline-middle">
9
  <label for="view-pause">
10
+ <?php _ex( 'Show slides for', 'slideshow setting', 'strong-testimonials' ); ?>
11
  </label>
12
  <input type="number" id="view-pause" class="input-incremental"
13
  name="view[data][slideshow_settings][pause]" min=".1" step=".1"
15
  <?php _ex( 'seconds', 'time setting', 'strong-testimonials' ); ?>
16
  </div>
17
 
18
+ <div class="inline inline-middle then then_max_slides then_1 then_not_2 then_not_3 fast" style="display: none;">
19
  <label for="view-effect">
20
  <?php _e( 'then', 'strong-testimonials' ); ?>
21
  </label>
28
  </select>
29
  </div>
30
 
31
+ <div class="inline inline-middle then then_max_slides then_not_1 then_2 then_3 fast" style="display: none;">
32
+ <?php _e( 'then', 'strong-testimonials' ); ?> <?php _ex( 'scroll horizontally', 'slideshow transition option', 'strong-testimonials' ); ?>
33
+ </div>
34
+
35
  <div class="inline inline-middle then then_effect then_none">
36
  <label for="view-speed">
37
  <?php _e( 'for', 'strong-testimonials' ); ?>
admin/scss/_partials/_inputs.scss CHANGED
@@ -36,7 +36,6 @@ div.radio {
36
  label,
37
  .nolabel {
38
  vertical-align: baseline;
39
- margin-right: 0.3em;
40
  display: inline-block;
41
  }
42
 
36
  label,
37
  .nolabel {
38
  vertical-align: baseline;
 
39
  display: inline-block;
40
  }
41
 
admin/views-validate.php CHANGED
@@ -345,7 +345,19 @@ function wpmtst_sanitize_view_pagination( $in ) {
345
  function wpmtst_sanitize_view_slideshow( $in ) {
346
  $out = array();
347
 
348
- $out['effect'] = sanitize_text_field( $in['effect'] );
 
 
 
 
 
 
 
 
 
 
 
 
349
  $out['pause'] = floatval( sanitize_text_field( $in['pause'] ) );
350
  $out['speed'] = floatval( sanitize_text_field( $in['speed'] ) );
351
  $out['auto_hover'] = isset( $in['auto_hover'] ) ? 1 : 0;
@@ -367,7 +379,7 @@ function wpmtst_sanitize_view_slideshow( $in ) {
367
  }
368
 
369
  // Controls
370
- $out['controls_type'] = sanitize_text_field( $in['controls_type'] );
371
  $out['controls_style'] = sanitize_text_field( $in['controls_style'] );
372
 
373
  // Pagination
@@ -376,7 +388,11 @@ function wpmtst_sanitize_view_slideshow( $in ) {
376
 
377
  // Position is shared by Controls and Pagination
378
  if ( $out['controls_type'] || $out['pager_type'] ) {
379
- $out['nav_position'] = sanitize_text_field( $in['nav_position'] );
 
 
 
 
380
  }
381
 
382
  ksort( $out );
345
  function wpmtst_sanitize_view_slideshow( $in ) {
346
  $out = array();
347
 
348
+ $out['max_slides'] = intval( sanitize_text_field( $in['max_slides'] ) );
349
+ $out['move_slides'] = intval( sanitize_text_field( $in['move_slides'] ) );
350
+ if ( $out['move_slides'] > $out['max_slides'] ) {
351
+ $out['move_slides'] = $out['max_slides'];
352
+ }
353
+ $out['margin'] = intval( sanitize_text_field( $in['margin'] ) );
354
+
355
+ if ( $out['max_slides'] > 1 ) {
356
+ $out['effect'] = 'horizontal';
357
+ } else {
358
+ $out['effect'] = sanitize_text_field( $in['effect'] );
359
+ }
360
+
361
  $out['pause'] = floatval( sanitize_text_field( $in['pause'] ) );
362
  $out['speed'] = floatval( sanitize_text_field( $in['speed'] ) );
363
  $out['auto_hover'] = isset( $in['auto_hover'] ) ? 1 : 0;
379
  }
380
 
381
  // Controls
382
+ $out['controls_type'] = sanitize_text_field( $in['controls_type'] );
383
  $out['controls_style'] = sanitize_text_field( $in['controls_style'] );
384
 
385
  // Pagination
388
 
389
  // Position is shared by Controls and Pagination
390
  if ( $out['controls_type'] || $out['pager_type'] ) {
391
+ if ( $out['max_slides'] > 1 ) {
392
+ $out['nav_position'] = 'outside';
393
+ } else {
394
+ $out['nav_position'] = sanitize_text_field( $in['nav_position'] );
395
+ }
396
  }
397
 
398
  ksort( $out );
changelog.txt CHANGED
@@ -1,3 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  = 2.29.1 - Jan 8, 2018 =
2
  * Only to trigger update because the SVN version was incomplete.
3
 
1
+ = 2.30.9 - May 6, 2018 =
2
+ * Fix bug in add-on activation process.
3
+
4
+ = 2.30.8 - April 26, 2018 =
5
+ * Fix incorrect text domains.
6
+ * Fix bug in form validation translation files.
7
+ * Remove obsolete German translation.
8
+ * Update translation files.
9
+ * Refactor the submit buttons on settings pages.
10
+
11
+ = 2.30.7 - April 23, 2018 =
12
+ * Fix bug in front-end controller script.
13
+
14
+ = 2.30.6 - April 17, 2018 =
15
+ * Improve embeds in Masonry layout.
16
+ * Fix `[testimonial_count category]` shortcode in Properties add-on.
17
+ * Update the EDD license updater class.
18
+ * Improve notification email admin UI.
19
+ * Improve notification email message when custom fields are blank.
20
+
21
+ = 2.30.5 - April 9, 2018 =
22
+ * Fix bug when email field is not required.
23
+ * Fix display of templates in view editor when theme/add-on templates are present.
24
+ * Fix inconsistent use of filter on default view settings.
25
+ * Improve compatibility with themes and thumbnail column in admin list.
26
+ * Improve compatibility with installation scripts (table creation).
27
+ * Improve check for missing add-on license.
28
+ * Add front-end "Nothing found" message for administrators.
29
+ * Add data attribute 'count' for found_posts to view container for troubleshooting.
30
+ * Add filter on `[testimonial_count]` shortcode defaults.
31
+ * Add ability to capture notification email on localhost.
32
+ * Revive a logger class.
33
+ * Minor admin UI tweaks.
34
+
35
+ = 2.30.4 - Mar 20, 2018 =
36
+ * Fix bug in slider in Firefox 59.
37
+
38
+ = 2.30.3 - Mar 16, 2018 =
39
+ * Improve slider script compatibility (event propagation).
40
+
41
+ = 2.30.2 - Mar 11, 2018 =
42
+ * Fix backwards-compatibility for WordPress versions 4.5 and older.
43
+
44
+ = 2.30.1 - Mar 6, 2018 =
45
+ * Fix minor bug in PHP7 compatibility.
46
+ * Improve real-time validation in fields editor.
47
+ * Minor CSS fixes.
48
+
49
+ = 2.30.0 - Feb 10, 2018 =
50
+ * Add option for font color in view editor.
51
+ * Add option for a custom CSS class on the image link for lightboxes.
52
+ * Add shortcode attributes for post_ids, category, order, and count.
53
+ * Use `is_email()` to validate email addresses.
54
+ * Use `number_format_i18n()` in testimonial_count shortcode.
55
+ * Refactor template groups into base templates with options.
56
+ * Add option to disable touch swipe navigation in slideshows.
57
+ * Simplify slideshow CSS.
58
+ * Fix bug in slider script in Chrome.
59
+
60
  = 2.29.1 - Jan 8, 2018 =
61
  * Only to trigger update because the SVN version was incomplete.
62
 
includes/class-strong-view-slideshow.php CHANGED
@@ -168,6 +168,10 @@ class Strong_View_Slideshow extends Strong_View_Display {
168
 
169
  $container_class_list[] = 'slider-container';
170
 
 
 
 
 
171
  $container_class_list[] = 'slider-mode-' . $settings['effect'];
172
 
173
  if ( $settings['adapt_height'] ) {
@@ -186,7 +190,13 @@ class Strong_View_Slideshow extends Strong_View_Display {
186
 
187
  // Controls
188
  if ( isset( $nav_methods['controls'][ $control ]['class'] ) && $nav_methods['controls'][ $control ]['class'] ) {
189
- $container_class_list[] = $nav_methods['controls'][ $control ]['class'];
 
 
 
 
 
 
190
  }
191
 
192
  if ( 'none' != $control ) {
@@ -207,7 +217,11 @@ class Strong_View_Slideshow extends Strong_View_Display {
207
  }
208
 
209
  // Position
 
210
  if ( 'none' != $pager || ( 'none' != $control && 'sides' != $control ) ) {
 
 
 
211
  $container_class_list[] = 'nav-position-' . $settings['nav_position'];
212
  }
213
 
@@ -248,10 +262,15 @@ class Strong_View_Slideshow extends Strong_View_Display {
248
  */
249
  if ( isset( $settings['controls_type'] ) && 'none' != $settings['controls_type'] ) {
250
 
251
- $filename = 'slider-controls-' . $settings['controls_type'] . '-' . $settings['controls_style'];
 
 
 
 
 
252
 
253
  if ( 'full' != $settings['controls_type'] ) {
254
- if ( isset( $settings['pager_style'] ) && 'none' != $settings['pager_style'] ) {
255
  $filename .= '-pager-' . $settings['pager_style'];
256
  }
257
  }
@@ -261,8 +280,7 @@ class Strong_View_Slideshow extends Strong_View_Display {
261
  WPMST()->render->add_style( "wpmtst-$filename" );
262
  }
263
 
264
- }
265
- elseif ( $not_full_controls ) {
266
 
267
  /*
268
  * Pagination only
@@ -344,6 +362,8 @@ class Strong_View_Slideshow extends Strong_View_Display {
344
  'classes' => $pairs,
345
  );
346
 
 
 
347
  $args = array(
348
  'mode' => $this->atts['slideshow_settings']['effect'],
349
  'speed' => $this->atts['slideshow_settings']['speed'] * 1000,
@@ -360,6 +380,10 @@ class Strong_View_Slideshow extends Strong_View_Display {
360
  'debug' => defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG,
361
  'compat' => $compat,
362
  'touchEnabled' => $options['touch_enabled'],
 
 
 
 
363
  );
364
 
365
  if ( ! $this->atts['slideshow_settings']['adapt_height'] ) {
@@ -414,7 +438,7 @@ class Strong_View_Slideshow extends Strong_View_Display {
414
  }
415
  }
416
 
417
- return array( 'config' => $args );
418
  }
419
 
420
  }
168
 
169
  $container_class_list[] = 'slider-container';
170
 
171
+ if ( $settings['max_slides'] > 1 ) {
172
+ $container_class_list[] = 'carousel';
173
+ }
174
+
175
  $container_class_list[] = 'slider-mode-' . $settings['effect'];
176
 
177
  if ( $settings['adapt_height'] ) {
190
 
191
  // Controls
192
  if ( isset( $nav_methods['controls'][ $control ]['class'] ) && $nav_methods['controls'][ $control ]['class'] ) {
193
+ if ( 'sides' == $control ) {
194
+ if ( $settings['max_slides'] == 1 ) {
195
+ $container_class_list[] = $nav_methods['controls'][ $control ]['class'];
196
+ } else {
197
+ $container_class_list[] = $nav_methods['controls'][ $control ]['class'] . '-outside';
198
+ }
199
+ }
200
  }
201
 
202
  if ( 'none' != $control ) {
217
  }
218
 
219
  // Position
220
+ // TODO Simplify logic.
221
  if ( 'none' != $pager || ( 'none' != $control && 'sides' != $control ) ) {
222
+ if ( $settings['max_slides'] > 1 ) {
223
+ $settings['nav_position'] = 'outside';
224
+ }
225
  $container_class_list[] = 'nav-position-' . $settings['nav_position'];
226
  }
227
 
262
  */
263
  if ( isset( $settings['controls_type'] ) && 'none' != $settings['controls_type'] ) {
264
 
265
+ $controls_type = $settings['controls_type'];
266
+ if ( 'sides' == $controls_type && $settings['max_slides'] > 1 ) {
267
+ $controls_type .= '-outside';
268
+ }
269
+
270
+ $filename = 'slider-controls-' . $controls_type . '-' . $settings['controls_style'];
271
 
272
  if ( 'full' != $settings['controls_type'] ) {
273
+ if ( isset( $settings['pager_style'] ) && 'none' != $settings['pager_type'] ) {
274
  $filename .= '-pager-' . $settings['pager_style'];
275
  }
276
  }
280
  WPMST()->render->add_style( "wpmtst-$filename" );
281
  }
282
 
283
+ } elseif ( $not_full_controls ) {
 
284
 
285
  /*
286
  * Pagination only
362
  'classes' => $pairs,
363
  );
364
 
365
+ $slide_margin = $this->atts['slideshow_settings']['max_slides'] > 1 ? $this->atts['slideshow_settings']['margin'] : 0;
366
+
367
  $args = array(
368
  'mode' => $this->atts['slideshow_settings']['effect'],
369
  'speed' => $this->atts['slideshow_settings']['speed'] * 1000,
380
  'debug' => defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG,
381
  'compat' => $compat,
382
  'touchEnabled' => $options['touch_enabled'],
383
+ 'maxSlides' => $this->atts['slideshow_settings']['max_slides'],
384
+ 'moveSlides' => $this->atts['slideshow_settings']['move_slides'],
385
+ 'slideMargin' => $slide_margin,
386
+ 'minThreshold' => 480,
387
  );
388
 
389
  if ( ! $this->atts['slideshow_settings']['adapt_height'] ) {
438
  }
439
  }
440
 
441
+ return array( 'config' => apply_filters( 'wpmtst_slider_args', $args, $this->atts ) );
442
  }
443
 
444
  }
includes/functions-template-form.php CHANGED
@@ -65,17 +65,22 @@ function wpmtst_form_field( $field_name ) {
65
  function wpmtst_single_form_field( $field ) {
66
  $form_values = WPMST()->form->get_form_values();
67
 
68
- echo '<div class="form-field field-'.$field['name'].'">';
69
 
70
  if ( 'checkbox' != $field['input_type'] ) {
 
71
  if ( ! isset( $field['show_label'] ) || $field['show_label'] ) {
72
- echo '<label for="wpmtst_' . $field['name'] . '">' . wpmtst_form_field_meta_l10n( $field['label'], $field, 'label' ) . '</label>';
 
 
 
73
 
74
  if ( isset( $field['required'] ) && $field['required'] ) {
75
  wpmtst_field_required_symbol();
76
  }
77
  }
78
  wpmtst_field_before( $field );
 
79
  }
80
 
81
  // Check for callback first.
@@ -92,6 +97,7 @@ function wpmtst_single_form_field( $field ) {
92
  case 'category-selector' :
93
  $value = isset( $form_values[ $field['name'] ] ) ? (array) $form_values[ $field['name'] ] : array();
94
 
 
95
  printf( '<select id="wpmtst_%s" name="%s" class="%s" %s tabindex="0">',
96
  $field['name'],
97
  $field['name'],
@@ -101,13 +107,14 @@ function wpmtst_single_form_field( $field ) {
101
  echo '<option value="">&mdash;</option>';
102
  wpmtst_nested_cats( $value );
103
  echo '</select>';
104
-
105
  break;
106
 
107
  case 'category-checklist' :
108
  $value = isset( $form_values[ $field['name'] ] ) ? (array) $form_values[ $field['name'] ] : array();
 
109
  wpmtst_form_category_checklist_frontend( $value );
110
-
111
  break;
112
 
113
  case 'textarea' :
@@ -121,11 +128,12 @@ function wpmtst_single_form_field( $field ) {
121
  wpmtst_field_required_tag( $field ),
122
  wpmtst_field_placeholder( $field ),
123
  esc_textarea( $value ) );
124
-
125
  break;
126
 
127
  case 'file' :
 
128
  echo '<input id="wpmtst_' . $field['name'] . '" type="file" name="' . $field['name'] . '"' . wpmtst_field_required_tag( $field ) . ' tabindex="0">';
 
129
  break;
130
 
131
  case 'shortcode' :
@@ -140,7 +148,10 @@ function wpmtst_single_form_field( $field ) {
140
 
141
  case 'checkbox' :
142
  if ( ! isset( $field['show_label'] ) || $field['show_label'] ) {
143
- echo '<label for="wpmtst_' . $field['name'] . '">' . wpmtst_form_field_meta_l10n( $field['label'], $field, 'label' ) . '</label>';
 
 
 
144
  }
145
 
146
  wpmtst_field_before( $field );
@@ -163,8 +174,7 @@ function wpmtst_single_form_field( $field ) {
163
  }
164
  }
165
 
166
- echo '</div><!-- .field-wrap -->';
167
-
168
  break;
169
 
170
  default: // text, email, url
@@ -184,16 +194,55 @@ function wpmtst_single_form_field( $field ) {
184
  wpmtst_field_after( $field );
185
  wpmtst_field_error( $field );
186
  echo '</div>' . "\n";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
187
 
 
 
 
 
 
188
  }
189
 
190
  /**
191
- * Print form field CSS classes.
192
  *
193
  * @param null $type
194
  * @param null $name
 
195
  *
196
- * @return mixed
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
197
  */
198
  function wpmtst_field_classes( $type = null, $name = null ) {
199
  $errors = WPMST()->form->get_form_errors();
@@ -219,7 +268,7 @@ function wpmtst_field_classes( $type = null, $name = null ) {
219
  $class_list[] = 'error';
220
  }
221
 
222
- return apply_filters( 'wpmtst_form_field_class', implode( ' ', $class_list ), $type, $name );
223
  }
224
 
225
  /**
@@ -310,9 +359,10 @@ function wpmtst_field_required_symbol() {
310
  * @param $field
311
  */
312
  function wpmtst_field_before( $field ) {
313
- echo '<span class="before">';
314
- echo wpmtst_get_form_field_meta( $field, 'before' );
315
- echo '</span>';
 
316
  }
317
 
318
  /**
@@ -321,9 +371,8 @@ function wpmtst_field_before( $field ) {
321
  * @param $field
322
  */
323
  function wpmtst_field_after( $field ) {
324
- echo '<span class="after">';
325
- echo wpmtst_get_form_field_meta( $field, 'after' );
326
- echo '</span>';
327
  }
328
 
329
  /**
65
  function wpmtst_single_form_field( $field ) {
66
  $form_values = WPMST()->form->get_form_values();
67
 
68
+ echo '<div class="' . wpmtst_field_group_classes( $field['input_type'], $field['name'] ) . '">';
69
 
70
  if ( 'checkbox' != $field['input_type'] ) {
71
+
72
  if ( ! isset( $field['show_label'] ) || $field['show_label'] ) {
73
+ printf( '<label for="wpmtst_%s" class="%s">%s</label>',
74
+ $field['name'],
75
+ wpmtst_field_label_classes( $field['input_type'], $field['name'] ),
76
+ wpmtst_form_field_meta_l10n( $field['label'], $field, 'label' ) );
77
 
78
  if ( isset( $field['required'] ) && $field['required'] ) {
79
  wpmtst_field_required_symbol();
80
  }
81
  }
82
  wpmtst_field_before( $field );
83
+
84
  }
85
 
86
  // Check for callback first.
97
  case 'category-selector' :
98
  $value = isset( $form_values[ $field['name'] ] ) ? (array) $form_values[ $field['name'] ] : array();
99
 
100
+ echo '<div class="field-wrap">';
101
  printf( '<select id="wpmtst_%s" name="%s" class="%s" %s tabindex="0">',
102
  $field['name'],
103
  $field['name'],
107
  echo '<option value="">&mdash;</option>';
108
  wpmtst_nested_cats( $value );
109
  echo '</select>';
110
+ echo '</div>';
111
  break;
112
 
113
  case 'category-checklist' :
114
  $value = isset( $form_values[ $field['name'] ] ) ? (array) $form_values[ $field['name'] ] : array();
115
+ echo '<div class="field-wrap">';
116
  wpmtst_form_category_checklist_frontend( $value );
117
+ echo '</div>';
118
  break;
119
 
120
  case 'textarea' :
128
  wpmtst_field_required_tag( $field ),
129
  wpmtst_field_placeholder( $field ),
130
  esc_textarea( $value ) );
 
131
  break;
132
 
133
  case 'file' :
134
+ echo '<div class="field-wrap">';
135
  echo '<input id="wpmtst_' . $field['name'] . '" type="file" name="' . $field['name'] . '"' . wpmtst_field_required_tag( $field ) . ' tabindex="0">';
136
+ echo '</div>';
137
  break;
138
 
139
  case 'shortcode' :
148
 
149
  case 'checkbox' :
150
  if ( ! isset( $field['show_label'] ) || $field['show_label'] ) {
151
+ printf( '<label for="wpmtst_%s" class="%s">%s</label>',
152
+ $field['name'],
153
+ wpmtst_field_label_classes($field['input_type'], $field['name']),
154
+ wpmtst_form_field_meta_l10n( $field['label'], $field, 'label' ) );
155
  }
156
 
157
  wpmtst_field_before( $field );
174
  }
175
  }
176
 
177
+ echo '</div>';
 
178
  break;
179
 
180
  default: // text, email, url
194
  wpmtst_field_after( $field );
195
  wpmtst_field_error( $field );
196
  echo '</div>' . "\n";
197
+ }
198
+
199
+ /**
200
+ * Assemble form field group CSS classes.
201
+ *
202
+ * @param null $type
203
+ * @param null $name
204
+ * @since 2.32.0
205
+ *
206
+ * @return string
207
+ */
208
+ function wpmtst_field_group_classes( $type, $name ) {
209
+ $class_list = array(
210
+ 'form-field',
211
+ );
212
 
213
+ if ( $name ) {
214
+ $class_list[] = "field-$name";
215
+ }
216
+
217
+ return apply_filters( 'wpmtst_form_field_group_class', join( ' ', $class_list ), $type, $name );
218
  }
219
 
220
  /**
221
+ * Assemble form field label CSS classes.
222
  *
223
  * @param null $type
224
  * @param null $name
225
+ * @since 2.32.0
226
  *
227
+ * @return string
228
+ */
229
+ function wpmtst_field_label_classes( $type, $name ) {
230
+ $class_list = array();
231
+
232
+ if ( $name ) {
233
+ $class_list[] = "field-$name";
234
+ }
235
+
236
+ return apply_filters( 'wpmtst_form_field_label_class', join( ' ', $class_list ), $type, $name );
237
+ }
238
+
239
+ /**
240
+ * Assemble form field CSS classes.
241
+ *
242
+ * @param null $type
243
+ * @param null $name
244
+ *
245
+ * @return string
246
  */
247
  function wpmtst_field_classes( $type = null, $name = null ) {
248
  $errors = WPMST()->form->get_form_errors();
268
  $class_list[] = 'error';
269
  }
270
 
271
+ return apply_filters( 'wpmtst_form_field_class', join( ' ', $class_list ), $type, $name );
272
  }
273
 
274
  /**
359
  * @param $field
360
  */
361
  function wpmtst_field_before( $field ) {
362
+ $before = wpmtst_get_form_field_meta( $field, 'before' );
363
+ if ( $before ) {
364
+ echo '<span class="before">' . $before . '</span>';
365
+ }
366
  }
367
 
368
  /**
371
  * @param $field
372
  */
373
  function wpmtst_field_after( $field ) {
374
+ $after = wpmtst_get_form_field_meta( $field, 'after' );
375
+ echo '<span class="after">' . $after . '</span>';
 
376
  }
377
 
378
  /**
public/css/columns.css CHANGED
@@ -19,7 +19,6 @@
19
  }
20
 
21
  .strong-content.strong-columns .testimonial {
22
- margin-top: 0; /* to prevent gap at top of 2nd column */
23
  -webkit-column-break-inside: avoid;
24
  page-break-inside: avoid;
25
  break-inside: avoid;
19
  }
20
 
21
  .strong-content.strong-columns .testimonial {
 
22
  -webkit-column-break-inside: avoid;
23
  page-break-inside: avoid;
24
  break-inside: avoid;
public/css/slider-controls-full-buttons.css CHANGED
@@ -7,6 +7,7 @@
7
  *zoom: 1;
8
  -ms-touch-action: pan-y;
9
  touch-action: pan-y;
 
10
  }
11
  .strong-view .wpmslider {
12
  margin: 0;
@@ -22,6 +23,9 @@
22
  .strong-view .wpmslider-pager {
23
  display: inline-block;
24
  }
 
 
 
25
  .strong-view .wpmslider-pager-item {
26
  display: inline-block;
27
  }
@@ -65,10 +69,6 @@
65
  text-align: center;
66
  transition: all 0.2s ease;
67
  }
68
- .strong-view.controls-style-buttons .wpmslider-start,
69
- .strong-view.controls-style-buttons .wpmslider-stop {
70
- margin: 0 7px;
71
- }
72
  .strong-view.controls-style-buttons .wpmslider-start:before,
73
  .strong-view.controls-style-buttons .wpmslider-stop:before {
74
  position: relative;
@@ -108,10 +108,22 @@
108
  text-align: center;
109
  z-index: 5;
110
  }
 
 
 
 
 
 
111
 
112
  .strong-view.nav-position-outside .wpmslider-controls {
113
  line-height: 1;
114
- padding: 10px 0 20px;
115
  text-align: center;
116
  z-index: 5;
117
  }
 
 
 
 
 
 
7
  *zoom: 1;
8
  -ms-touch-action: pan-y;
9
  touch-action: pan-y;
10
+ direction: ltr;
11
  }
12
  .strong-view .wpmslider {
13
  margin: 0;
23
  .strong-view .wpmslider-pager {
24
  display: inline-block;
25
  }
26
+ .strong-view.rtl .wpmslider-pager {
27
+ direction: rtl;
28
+ }
29
  .strong-view .wpmslider-pager-item {
30
  display: inline-block;
31
  }
69
  text-align: center;
70
  transition: all 0.2s ease;
71
  }
 
 
 
 
72
  .strong-view.controls-style-buttons .wpmslider-start:before,
73
  .strong-view.controls-style-buttons .wpmslider-stop:before {
74
  position: relative;
108
  text-align: center;
109
  z-index: 5;
110
  }
111
+ .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls .wpmslider-start,
112
+ .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls .wpmslider-stop,
113
+ .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls .wpmslider-prev,
114
+ .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls .wpmslider-next {
115
+ margin: 0 3px;
116
+ }
117
 
118
  .strong-view.nav-position-outside .wpmslider-controls {
119
  line-height: 1;
120
+ padding: 20px 0 20px;
121
  text-align: center;
122
  z-index: 5;
123
  }
124
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-start,
125
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-stop,
126
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-prev,
127
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-next {
128
+ margin: 0 3px;
129
+ }
public/css/slider-controls-full-buttons2.css CHANGED
@@ -7,6 +7,7 @@
7
  *zoom: 1;
8
  -ms-touch-action: pan-y;
9
  touch-action: pan-y;
 
10
  }
11
  .strong-view .wpmslider {
12
  margin: 0;
@@ -22,6 +23,9 @@
22
  .strong-view .wpmslider-pager {
23
  display: inline-block;
24
  }
 
 
 
25
  .strong-view .wpmslider-pager-item {
26
  display: inline-block;
27
  }
@@ -64,20 +68,13 @@
64
  line-height: 27px;
65
  width: 27px;
66
  height: 27px;
67
- margin: 0 5px;
68
- padding-top: 1px;
69
  text-align: center;
70
  transition: all 0.2s ease;
71
  }
72
- .strong-view.controls-style-buttons2 .wpmslider-start,
73
- .strong-view.controls-style-buttons2 .wpmslider-stop {
74
- margin: 0 7px;
75
- }
76
  .strong-view.controls-style-buttons2 .wpmslider-start:before {
77
  content: "\f04b";
78
  position: relative;
79
  left: 1px;
80
- top: -1px;
81
  }
82
  .strong-view.controls-style-buttons2 .wpmslider-stop:before {
83
  content: "\f04c";
@@ -92,21 +89,25 @@
92
  content: "\f053";
93
  position: relative;
94
  left: -1px;
 
95
  }
96
  .strong-view.controls-style-buttons2:not(.rtl) .wpmslider-next:before {
97
  content: "\f054";
98
  position: relative;
99
  left: 1px;
 
100
  }
101
  .strong-view.controls-style-buttons2.rtl .wpmslider-prev:before {
102
  content: "\f054";
103
  position: relative;
104
  left: 1px;
 
105
  }
106
  .strong-view.controls-style-buttons2.rtl .wpmslider-next:before {
107
  content: "\f053";
108
  position: relative;
109
  left: -1px;
 
110
  }
111
 
112
  .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls {
@@ -118,10 +119,22 @@
118
  text-align: center;
119
  z-index: 5;
120
  }
 
 
 
 
 
 
121
 
122
  .strong-view.nav-position-outside .wpmslider-controls {
123
  line-height: 1;
124
- padding: 10px 0 20px;
125
  text-align: center;
126
  z-index: 5;
127
  }
 
 
 
 
 
 
7
  *zoom: 1;
8
  -ms-touch-action: pan-y;
9
  touch-action: pan-y;
10
+ direction: ltr;
11
  }
12
  .strong-view .wpmslider {
13
  margin: 0;
23
  .strong-view .wpmslider-pager {
24
  display: inline-block;
25
  }
26
+ .strong-view.rtl .wpmslider-pager {
27
+ direction: rtl;
28
+ }
29
  .strong-view .wpmslider-pager-item {
30
  display: inline-block;
31
  }
68
  line-height: 27px;
69
  width: 27px;
70
  height: 27px;
 
 
71
  text-align: center;
72
  transition: all 0.2s ease;
73
  }
 
 
 
 
74
  .strong-view.controls-style-buttons2 .wpmslider-start:before {
75
  content: "\f04b";
76
  position: relative;
77
  left: 1px;
 
78
  }
79
  .strong-view.controls-style-buttons2 .wpmslider-stop:before {
80
  content: "\f04c";
89
  content: "\f053";
90
  position: relative;
91
  left: -1px;
92
+ top: 1px;
93
  }
94
  .strong-view.controls-style-buttons2:not(.rtl) .wpmslider-next:before {
95
  content: "\f054";
96
  position: relative;
97
  left: 1px;
98
+ top: 1px;
99
  }
100
  .strong-view.controls-style-buttons2.rtl .wpmslider-prev:before {
101
  content: "\f054";
102
  position: relative;
103
  left: 1px;
104
+ top: 1px;
105
  }
106
  .strong-view.controls-style-buttons2.rtl .wpmslider-next:before {
107
  content: "\f053";
108
  position: relative;
109
  left: -1px;
110
+ top: 1px;
111
  }
112
 
113
  .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls {
119
  text-align: center;
120
  z-index: 5;
121
  }
122
+ .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls .wpmslider-start,
123
+ .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls .wpmslider-stop,
124
+ .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls .wpmslider-prev,
125
+ .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls .wpmslider-next {
126
+ margin: 0 3px;
127
+ }
128
 
129
  .strong-view.nav-position-outside .wpmslider-controls {
130
  line-height: 1;
131
+ padding: 20px 0 20px;
132
  text-align: center;
133
  z-index: 5;
134
  }
135
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-start,
136
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-stop,
137
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-prev,
138
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-next {
139
+ margin: 0 3px;
140
+ }
public/css/slider-controls-full-buttons3.css CHANGED
@@ -7,6 +7,7 @@
7
  *zoom: 1;
8
  -ms-touch-action: pan-y;
9
  touch-action: pan-y;
 
10
  }
11
  .strong-view .wpmslider {
12
  margin: 0;
@@ -22,6 +23,9 @@
22
  .strong-view .wpmslider-pager {
23
  display: inline-block;
24
  }
 
 
 
25
  .strong-view .wpmslider-pager-item {
26
  display: inline-block;
27
  }
@@ -60,15 +64,9 @@
60
  cursor: pointer;
61
  font-size: 28px;
62
  line-height: 28px;
63
- width: 28px;
64
- height: 28px;
65
  text-align: center;
66
  transition: all 0.2s ease;
67
  }
68
- .strong-view.controls-style-buttons3 .wpmslider-start,
69
- .strong-view.controls-style-buttons3 .wpmslider-stop {
70
- margin: 0 7px;
71
- }
72
  .strong-view.controls-style-buttons3 .wpmslider-start:before {
73
  content: "\f144";
74
  }
@@ -103,10 +101,22 @@
103
  text-align: center;
104
  z-index: 5;
105
  }
 
 
 
 
 
 
106
 
107
  .strong-view.nav-position-outside .wpmslider-controls {
108
  line-height: 1;
109
- padding: 10px 0 20px;
110
  text-align: center;
111
  z-index: 5;
112
  }
 
 
 
 
 
 
7
  *zoom: 1;
8
  -ms-touch-action: pan-y;
9
  touch-action: pan-y;
10
+ direction: ltr;
11
  }
12
  .strong-view .wpmslider {
13
  margin: 0;
23
  .strong-view .wpmslider-pager {
24
  display: inline-block;
25
  }
26
+ .strong-view.rtl .wpmslider-pager {
27
+ direction: rtl;
28
+ }
29
  .strong-view .wpmslider-pager-item {
30
  display: inline-block;
31
  }
64
  cursor: pointer;
65
  font-size: 28px;
66
  line-height: 28px;
 
 
67
  text-align: center;
68
  transition: all 0.2s ease;
69
  }
 
 
 
 
70
  .strong-view.controls-style-buttons3 .wpmslider-start:before {
71
  content: "\f144";
72
  }
101
  text-align: center;
102
  z-index: 5;
103
  }
104
+ .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls .wpmslider-start,
105
+ .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls .wpmslider-stop,
106
+ .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls .wpmslider-prev,
107
+ .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls .wpmslider-next {
108
+ margin: 0 3px;
109
+ }
110
 
111
  .strong-view.nav-position-outside .wpmslider-controls {
112
  line-height: 1;
113
+ padding: 20px 0 20px;
114
  text-align: center;
115
  z-index: 5;
116
  }
117
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-start,
118
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-stop,
119
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-prev,
120
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-next {
121
+ margin: 0 3px;
122
+ }
public/css/slider-controls-full-text.css CHANGED
@@ -7,6 +7,7 @@
7
  *zoom: 1;
8
  -ms-touch-action: pan-y;
9
  touch-action: pan-y;
 
10
  }
11
  .strong-view .wpmslider {
12
  margin: 0;
@@ -22,6 +23,9 @@
22
  .strong-view .wpmslider-pager {
23
  display: inline-block;
24
  }
 
 
 
25
  .strong-view .wpmslider-pager-item {
26
  display: inline-block;
27
  }
@@ -70,10 +74,22 @@
70
  text-align: center;
71
  z-index: 5;
72
  }
 
 
 
 
 
 
73
 
74
  .strong-view.nav-position-outside .wpmslider-controls {
75
  line-height: 1;
76
- padding: 10px 0 20px;
77
  text-align: center;
78
  z-index: 5;
79
  }
 
 
 
 
 
 
7
  *zoom: 1;
8
  -ms-touch-action: pan-y;
9
  touch-action: pan-y;
10
+ direction: ltr;
11
  }
12
  .strong-view .wpmslider {
13
  margin: 0;
23
  .strong-view .wpmslider-pager {
24
  display: inline-block;
25
  }
26
+ .strong-view.rtl .wpmslider-pager {
27
+ direction: rtl;
28
+ }
29
  .strong-view .wpmslider-pager-item {
30
  display: inline-block;
31
  }
74
  text-align: center;
75
  z-index: 5;
76
  }
77
+ .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls .wpmslider-start,
78
+ .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls .wpmslider-stop,
79
+ .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls .wpmslider-prev,
80
+ .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls .wpmslider-next {
81
+ margin: 0 3px;
82
+ }
83
 
84
  .strong-view.nav-position-outside .wpmslider-controls {
85
  line-height: 1;
86
+ padding: 20px 0 20px;
87
  text-align: center;
88
  z-index: 5;
89
  }
90
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-start,
91
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-stop,
92
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-prev,
93
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-next {
94
+ margin: 0 3px;
95
+ }
public/css/slider-controls-sides-buttons-pager-buttons.css CHANGED
@@ -7,6 +7,7 @@
7
  *zoom: 1;
8
  -ms-touch-action: pan-y;
9
  touch-action: pan-y;
 
10
  }
11
  .strong-view .wpmslider {
12
  margin: 0;
@@ -22,6 +23,9 @@
22
  .strong-view .wpmslider-pager {
23
  display: inline-block;
24
  }
 
 
 
25
  .strong-view .wpmslider-pager-item {
26
  display: inline-block;
27
  }
@@ -65,10 +69,6 @@
65
  text-align: center;
66
  transition: all 0.2s ease;
67
  }
68
- .strong-view.controls-style-buttons .wpmslider-start,
69
- .strong-view.controls-style-buttons .wpmslider-stop {
70
- margin: 0 7px;
71
- }
72
  .strong-view.controls-style-buttons .wpmslider-start:before,
73
  .strong-view.controls-style-buttons .wpmslider-stop:before {
74
  position: relative;
@@ -136,27 +136,37 @@
136
 
137
  .strong-view.nav-position-outside .wpmslider-controls {
138
  line-height: 1;
139
- padding: 10px 0 20px;
140
  text-align: center;
141
  z-index: 5;
142
  }
 
 
 
 
 
 
143
 
 
 
 
144
  .strong-view.controls-type-sides .wpmslider-prev,
145
  .strong-view.controls-type-sides .wpmslider-next {
146
  position: absolute;
147
  top: calc(50% - 14px);
 
148
  }
149
  .strong-view.controls-type-sides:not(.rtl) .wpmslider-prev {
150
- left: 8px;
151
  }
152
  .strong-view.controls-type-sides:not(.rtl) .wpmslider-next {
153
- right: 8px;
154
  }
155
  .strong-view.controls-type-sides.rtl .wpmslider-prev {
156
- right: 8px;
157
  }
158
  .strong-view.controls-type-sides.rtl .wpmslider-next {
159
- left: 8px;
160
  }
161
 
162
  .strong-view.controls-type-sides .wpmslider-controls {
7
  *zoom: 1;
8
  -ms-touch-action: pan-y;
9
  touch-action: pan-y;
10
+ direction: ltr;
11
  }
12
  .strong-view .wpmslider {
13
  margin: 0;
23
  .strong-view .wpmslider-pager {
24
  display: inline-block;
25
  }
26
+ .strong-view.rtl .wpmslider-pager {
27
+ direction: rtl;
28
+ }
29
  .strong-view .wpmslider-pager-item {
30
  display: inline-block;
31
  }
69
  text-align: center;
70
  transition: all 0.2s ease;
71
  }
 
 
 
 
72
  .strong-view.controls-style-buttons .wpmslider-start:before,
73
  .strong-view.controls-style-buttons .wpmslider-stop:before {
74
  position: relative;
136
 
137
  .strong-view.nav-position-outside .wpmslider-controls {
138
  line-height: 1;
139
+ padding: 20px 0 20px;
140
  text-align: center;
141
  z-index: 5;
142
  }
143
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-start,
144
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-stop,
145
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-prev,
146
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-next {
147
+ margin: 0 3px;
148
+ }
149
 
150
+ .strong-view.controls-type-sides .wpmslider-controls {
151
+ height: 0;
152
+ }
153
  .strong-view.controls-type-sides .wpmslider-prev,
154
  .strong-view.controls-type-sides .wpmslider-next {
155
  position: absolute;
156
  top: calc(50% - 14px);
157
+ margin: 0;
158
  }
159
  .strong-view.controls-type-sides:not(.rtl) .wpmslider-prev {
160
+ left: 10px;
161
  }
162
  .strong-view.controls-type-sides:not(.rtl) .wpmslider-next {
163
+ right: 10px;
164
  }
165
  .strong-view.controls-type-sides.rtl .wpmslider-prev {
166
+ right: 10px;
167
  }
168
  .strong-view.controls-type-sides.rtl .wpmslider-next {
169
+ left: 10px;
170
  }
171
 
172
  .strong-view.controls-type-sides .wpmslider-controls {
public/css/slider-controls-sides-buttons-pager-text.css CHANGED
@@ -7,6 +7,7 @@
7
  *zoom: 1;
8
  -ms-touch-action: pan-y;
9
  touch-action: pan-y;
 
10
  }
11
  .strong-view .wpmslider {
12
  margin: 0;
@@ -22,6 +23,9 @@
22
  .strong-view .wpmslider-pager {
23
  display: inline-block;
24
  }
 
 
 
25
  .strong-view .wpmslider-pager-item {
26
  display: inline-block;
27
  }
@@ -65,10 +69,6 @@
65
  text-align: center;
66
  transition: all 0.2s ease;
67
  }
68
- .strong-view.controls-style-buttons .wpmslider-start,
69
- .strong-view.controls-style-buttons .wpmslider-stop {
70
- margin: 0 7px;
71
- }
72
  .strong-view.controls-style-buttons .wpmslider-start:before,
73
  .strong-view.controls-style-buttons .wpmslider-stop:before {
74
  position: relative;
@@ -135,30 +135,46 @@
135
  text-align: center;
136
  z-index: 5;
137
  }
 
 
 
 
 
 
138
 
139
  .strong-view.nav-position-outside .wpmslider-controls {
140
  line-height: 1;
141
- padding: 10px 0 20px;
142
  text-align: center;
143
  z-index: 5;
144
  }
 
 
 
 
 
 
145
 
 
 
 
146
  .strong-view.controls-type-sides .wpmslider-prev,
147
  .strong-view.controls-type-sides .wpmslider-next {
148
  position: absolute;
149
  top: calc(50% - 14px);
 
150
  }
151
  .strong-view.controls-type-sides:not(.rtl) .wpmslider-prev {
152
- left: 8px;
153
  }
154
  .strong-view.controls-type-sides:not(.rtl) .wpmslider-next {
155
- right: 8px;
156
  }
157
  .strong-view.controls-type-sides.rtl .wpmslider-prev {
158
- right: 8px;
159
  }
160
  .strong-view.controls-type-sides.rtl .wpmslider-next {
161
- left: 8px;
162
  }
163
 
164
  .strong-view.controls-type-sides .wpmslider-controls {
7
  *zoom: 1;
8
  -ms-touch-action: pan-y;
9
  touch-action: pan-y;
10
+ direction: ltr;
11
  }
12
  .strong-view .wpmslider {
13
  margin: 0;
23
  .strong-view .wpmslider-pager {
24
  display: inline-block;
25
  }
26
+ .strong-view.rtl .wpmslider-pager {
27
+ direction: rtl;
28
+ }
29
  .strong-view .wpmslider-pager-item {
30
  display: inline-block;
31
  }
69
  text-align: center;
70
  transition: all 0.2s ease;
71
  }
 
 
 
 
72
  .strong-view.controls-style-buttons .wpmslider-start:before,
73
  .strong-view.controls-style-buttons .wpmslider-stop:before {
74
  position: relative;
135
  text-align: center;
136
  z-index: 5;
137
  }
138
+ .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls .wpmslider-start,
139
+ .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls .wpmslider-stop,
140
+ .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls .wpmslider-prev,
141
+ .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls .wpmslider-next {
142
+ margin: 0 3px;
143
+ }
144
 
145
  .strong-view.nav-position-outside .wpmslider-controls {
146
  line-height: 1;
147
+ padding: 20px 0 20px;
148
  text-align: center;
149
  z-index: 5;
150
  }
151
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-start,
152
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-stop,
153
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-prev,
154
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-next {
155
+ margin: 0 3px;
156
+ }
157
 
158
+ .strong-view.controls-type-sides .wpmslider-controls {
159
+ height: 0;
160
+ }
161
  .strong-view.controls-type-sides .wpmslider-prev,
162
  .strong-view.controls-type-sides .wpmslider-next {
163
  position: absolute;
164
  top: calc(50% - 14px);
165
+ margin: 0;
166
  }
167
  .strong-view.controls-type-sides:not(.rtl) .wpmslider-prev {
168
+ left: 10px;
169
  }
170
  .strong-view.controls-type-sides:not(.rtl) .wpmslider-next {
171
+ right: 10px;
172
  }
173
  .strong-view.controls-type-sides.rtl .wpmslider-prev {
174
+ right: 10px;
175
  }
176
  .strong-view.controls-type-sides.rtl .wpmslider-next {
177
+ left: 10px;
178
  }
179
 
180
  .strong-view.controls-type-sides .wpmslider-controls {
public/css/slider-controls-sides-buttons.css CHANGED
@@ -7,6 +7,7 @@
7
  *zoom: 1;
8
  -ms-touch-action: pan-y;
9
  touch-action: pan-y;
 
10
  }
11
  .strong-view .wpmslider {
12
  margin: 0;
@@ -22,6 +23,9 @@
22
  .strong-view .wpmslider-pager {
23
  display: inline-block;
24
  }
 
 
 
25
  .strong-view .wpmslider-pager-item {
26
  display: inline-block;
27
  }
@@ -50,6 +54,35 @@
50
  outline: 0;
51
  }
52
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
  .strong-view.controls-style-buttons .wpmslider-start,
54
  .strong-view.controls-style-buttons .wpmslider-stop,
55
  .strong-view.controls-style-buttons .wpmslider-next,
@@ -65,10 +98,6 @@
65
  text-align: center;
66
  transition: all 0.2s ease;
67
  }
68
- .strong-view.controls-style-buttons .wpmslider-start,
69
- .strong-view.controls-style-buttons .wpmslider-stop {
70
- margin: 0 7px;
71
- }
72
  .strong-view.controls-style-buttons .wpmslider-start:before,
73
  .strong-view.controls-style-buttons .wpmslider-stop:before {
74
  position: relative;
@@ -99,37 +128,24 @@
99
  content: "\f053";
100
  }
101
 
102
- .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls {
103
- position: absolute;
104
- bottom: 0;
105
- width: 100%;
106
- line-height: 1;
107
- padding-bottom: 15px;
108
- text-align: center;
109
- z-index: 5;
110
- }
111
-
112
- .strong-view.nav-position-outside .wpmslider-controls {
113
- line-height: 1;
114
- padding: 10px 0 20px;
115
- text-align: center;
116
- z-index: 5;
117
  }
118
-
119
  .strong-view.controls-type-sides .wpmslider-prev,
120
  .strong-view.controls-type-sides .wpmslider-next {
121
  position: absolute;
122
  top: calc(50% - 14px);
 
123
  }
124
  .strong-view.controls-type-sides:not(.rtl) .wpmslider-prev {
125
- left: 8px;
126
  }
127
  .strong-view.controls-type-sides:not(.rtl) .wpmslider-next {
128
- right: 8px;
129
  }
130
  .strong-view.controls-type-sides.rtl .wpmslider-prev {
131
- right: 8px;
132
  }
133
  .strong-view.controls-type-sides.rtl .wpmslider-next {
134
- left: 8px;
135
  }
7
  *zoom: 1;
8
  -ms-touch-action: pan-y;
9
  touch-action: pan-y;
10
+ direction: ltr;
11
  }
12
  .strong-view .wpmslider {
13
  margin: 0;
23
  .strong-view .wpmslider-pager {
24
  display: inline-block;
25
  }
26
+ .strong-view.rtl .wpmslider-pager {
27
+ direction: rtl;
28
+ }
29
  .strong-view .wpmslider-pager-item {
30
  display: inline-block;
31
  }
54
  outline: 0;
55
  }
56
 
57
+ .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls {
58
+ position: absolute;
59
+ bottom: 0;
60
+ width: 100%;
61
+ line-height: 1;
62
+ padding-bottom: 15px;
63
+ text-align: center;
64
+ z-index: 5;
65
+ }
66
+ .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls .wpmslider-start,
67
+ .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls .wpmslider-stop,
68
+ .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls .wpmslider-prev,
69
+ .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls .wpmslider-next {
70
+ margin: 0 3px;
71
+ }
72
+
73
+ .strong-view.nav-position-outside .wpmslider-controls {
74
+ line-height: 1;
75
+ padding: 20px 0 20px;
76
+ text-align: center;
77
+ z-index: 5;
78
+ }
79
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-start,
80
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-stop,
81
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-prev,
82
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-next {
83
+ margin: 0 3px;
84
+ }
85
+
86
  .strong-view.controls-style-buttons .wpmslider-start,
87
  .strong-view.controls-style-buttons .wpmslider-stop,
88
  .strong-view.controls-style-buttons .wpmslider-next,
98
  text-align: center;
99
  transition: all 0.2s ease;
100
  }
 
 
 
 
101
  .strong-view.controls-style-buttons .wpmslider-start:before,
102
  .strong-view.controls-style-buttons .wpmslider-stop:before {
103
  position: relative;
128
  content: "\f053";
129
  }
130
 
131
+ .strong-view.controls-type-sides .wpmslider-controls {
132
+ height: 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
133
  }
 
134
  .strong-view.controls-type-sides .wpmslider-prev,
135
  .strong-view.controls-type-sides .wpmslider-next {
136
  position: absolute;
137
  top: calc(50% - 14px);
138
+ margin: 0;
139
  }
140
  .strong-view.controls-type-sides:not(.rtl) .wpmslider-prev {
141
+ left: 10px;
142
  }
143
  .strong-view.controls-type-sides:not(.rtl) .wpmslider-next {
144
+ right: 10px;
145
  }
146
  .strong-view.controls-type-sides.rtl .wpmslider-prev {
147
+ right: 10px;
148
  }
149
  .strong-view.controls-type-sides.rtl .wpmslider-next {
150
+ left: 10px;
151
  }
public/css/slider-controls-sides-buttons2-pager-buttons.css CHANGED
@@ -7,6 +7,7 @@
7
  *zoom: 1;
8
  -ms-touch-action: pan-y;
9
  touch-action: pan-y;
 
10
  }
11
  .strong-view .wpmslider {
12
  margin: 0;
@@ -22,6 +23,9 @@
22
  .strong-view .wpmslider-pager {
23
  display: inline-block;
24
  }
 
 
 
25
  .strong-view .wpmslider-pager-item {
26
  display: inline-block;
27
  }
@@ -64,20 +68,13 @@
64
  line-height: 27px;
65
  width: 27px;
66
  height: 27px;
67
- margin: 0 5px;
68
- padding-top: 1px;
69
  text-align: center;
70
  transition: all 0.2s ease;
71
  }
72
- .strong-view.controls-style-buttons2 .wpmslider-start,
73
- .strong-view.controls-style-buttons2 .wpmslider-stop {
74
- margin: 0 7px;
75
- }
76
  .strong-view.controls-style-buttons2 .wpmslider-start:before {
77
  content: "\f04b";
78
  position: relative;
79
  left: 1px;
80
- top: -1px;
81
  }
82
  .strong-view.controls-style-buttons2 .wpmslider-stop:before {
83
  content: "\f04c";
@@ -92,21 +89,25 @@
92
  content: "\f053";
93
  position: relative;
94
  left: -1px;
 
95
  }
96
  .strong-view.controls-style-buttons2:not(.rtl) .wpmslider-next:before {
97
  content: "\f054";
98
  position: relative;
99
  left: 1px;
 
100
  }
101
  .strong-view.controls-style-buttons2.rtl .wpmslider-prev:before {
102
  content: "\f054";
103
  position: relative;
104
  left: 1px;
 
105
  }
106
  .strong-view.controls-style-buttons2.rtl .wpmslider-next:before {
107
  content: "\f053";
108
  position: relative;
109
  left: -1px;
 
110
  }
111
 
112
  .strong-view.pager-style-buttons .wpmslider-pager {
@@ -146,27 +147,37 @@
146
 
147
  .strong-view.nav-position-outside .wpmslider-controls {
148
  line-height: 1;
149
- padding: 10px 0 20px;
150
  text-align: center;
151
  z-index: 5;
152
  }
 
 
 
 
 
 
153
 
 
 
 
154
  .strong-view.controls-type-sides .wpmslider-prev,
155
  .strong-view.controls-type-sides .wpmslider-next {
156
  position: absolute;
157
  top: calc(50% - 14px);
 
158
  }
159
  .strong-view.controls-type-sides:not(.rtl) .wpmslider-prev {
160
- left: 8px;
161
  }
162
  .strong-view.controls-type-sides:not(.rtl) .wpmslider-next {
163
- right: 8px;
164
  }
165
  .strong-view.controls-type-sides.rtl .wpmslider-prev {
166
- right: 8px;
167
  }
168
  .strong-view.controls-type-sides.rtl .wpmslider-next {
169
- left: 8px;
170
  }
171
 
172
  .strong-view.controls-type-sides .wpmslider-controls {
7
  *zoom: 1;
8
  -ms-touch-action: pan-y;
9
  touch-action: pan-y;
10
+ direction: ltr;
11
  }
12
  .strong-view .wpmslider {
13
  margin: 0;
23
  .strong-view .wpmslider-pager {
24
  display: inline-block;
25
  }
26
+ .strong-view.rtl .wpmslider-pager {
27
+ direction: rtl;
28
+ }
29
  .strong-view .wpmslider-pager-item {
30
  display: inline-block;
31
  }
68
  line-height: 27px;
69
  width: 27px;
70
  height: 27px;
 
 
71
  text-align: center;
72
  transition: all 0.2s ease;
73
  }
 
 
 
 
74
  .strong-view.controls-style-buttons2 .wpmslider-start:before {
75
  content: "\f04b";
76
  position: relative;
77
  left: 1px;
 
78
  }
79
  .strong-view.controls-style-buttons2 .wpmslider-stop:before {
80
  content: "\f04c";
89
  content: "\f053";
90
  position: relative;
91
  left: -1px;
92
+ top: 1px;
93
  }
94
  .strong-view.controls-style-buttons2:not(.rtl) .wpmslider-next:before {
95
  content: "\f054";
96
  position: relative;
97
  left: 1px;
98
+ top: 1px;
99
  }
100
  .strong-view.controls-style-buttons2.rtl .wpmslider-prev:before {
101
  content: "\f054";
102
  position: relative;
103
  left: 1px;
104
+ top: 1px;
105
  }
106
  .strong-view.controls-style-buttons2.rtl .wpmslider-next:before {
107
  content: "\f053";
108
  position: relative;
109
  left: -1px;
110
+ top: 1px;
111
  }
112
 
113
  .strong-view.pager-style-buttons .wpmslider-pager {
147
 
148
  .strong-view.nav-position-outside .wpmslider-controls {
149
  line-height: 1;
150
+ padding: 20px 0 20px;
151
  text-align: center;
152
  z-index: 5;
153
  }
154
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-start,
155
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-stop,
156
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-prev,
157
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-next {
158
+ margin: 0 3px;
159
+ }
160
 
161
+ .strong-view.controls-type-sides .wpmslider-controls {
162
+ height: 0;
163
+ }
164
  .strong-view.controls-type-sides .wpmslider-prev,
165
  .strong-view.controls-type-sides .wpmslider-next {
166
  position: absolute;
167
  top: calc(50% - 14px);
168
+ margin: 0;
169
  }
170
  .strong-view.controls-type-sides:not(.rtl) .wpmslider-prev {
171
+ left: 10px;
172
  }
173
  .strong-view.controls-type-sides:not(.rtl) .wpmslider-next {
174
+ right: 10px;
175
  }
176
  .strong-view.controls-type-sides.rtl .wpmslider-prev {
177
+ right: 10px;
178
  }
179
  .strong-view.controls-type-sides.rtl .wpmslider-next {
180
+ left: 10px;
181
  }
182
 
183
  .strong-view.controls-type-sides .wpmslider-controls {
public/css/slider-controls-sides-buttons2-pager-text.css CHANGED
@@ -7,6 +7,7 @@
7
  *zoom: 1;
8
  -ms-touch-action: pan-y;
9
  touch-action: pan-y;
 
10
  }
11
  .strong-view .wpmslider {
12
  margin: 0;
@@ -22,6 +23,9 @@
22
  .strong-view .wpmslider-pager {
23
  display: inline-block;
24
  }
 
 
 
25
  .strong-view .wpmslider-pager-item {
26
  display: inline-block;
27
  }
@@ -64,20 +68,13 @@
64
  line-height: 27px;
65
  width: 27px;
66
  height: 27px;
67
- margin: 0 5px;
68
- padding-top: 1px;
69
  text-align: center;
70
  transition: all 0.2s ease;
71
  }
72
- .strong-view.controls-style-buttons2 .wpmslider-start,
73
- .strong-view.controls-style-buttons2 .wpmslider-stop {
74
- margin: 0 7px;
75
- }
76
  .strong-view.controls-style-buttons2 .wpmslider-start:before {
77
  content: "\f04b";
78
  position: relative;
79
  left: 1px;
80
- top: -1px;
81
  }
82
  .strong-view.controls-style-buttons2 .wpmslider-stop:before {
83
  content: "\f04c";
@@ -92,21 +89,25 @@
92
  content: "\f053";
93
  position: relative;
94
  left: -1px;
 
95
  }
96
  .strong-view.controls-style-buttons2:not(.rtl) .wpmslider-next:before {
97
  content: "\f054";
98
  position: relative;
99
  left: 1px;
 
100
  }
101
  .strong-view.controls-style-buttons2.rtl .wpmslider-prev:before {
102
  content: "\f054";
103
  position: relative;
104
  left: 1px;
 
105
  }
106
  .strong-view.controls-style-buttons2.rtl .wpmslider-next:before {
107
  content: "\f053";
108
  position: relative;
109
  left: -1px;
 
110
  }
111
 
112
  .strong-view.controls-style-text .wpmslider-start,
@@ -145,30 +146,46 @@
145
  text-align: center;
146
  z-index: 5;
147
  }
 
 
 
 
 
 
148
 
149
  .strong-view.nav-position-outside .wpmslider-controls {
150
  line-height: 1;
151
- padding: 10px 0 20px;
152
  text-align: center;
153
  z-index: 5;
154
  }
 
 
 
 
 
 
155
 
 
 
 
156
  .strong-view.controls-type-sides .wpmslider-prev,
157
  .strong-view.controls-type-sides .wpmslider-next {
158
  position: absolute;
159
  top: calc(50% - 14px);
 
160
  }
161
  .strong-view.controls-type-sides:not(.rtl) .wpmslider-prev {
162
- left: 8px;
163
  }
164
  .strong-view.controls-type-sides:not(.rtl) .wpmslider-next {
165
- right: 8px;
166
  }
167
  .strong-view.controls-type-sides.rtl .wpmslider-prev {
168
- right: 8px;
169
  }
170
  .strong-view.controls-type-sides.rtl .wpmslider-next {
171
- left: 8px;
172
  }
173
 
174
  .strong-view.controls-type-sides .wpmslider-controls {
7
  *zoom: 1;
8
  -ms-touch-action: pan-y;
9
  touch-action: pan-y;
10
+ direction: ltr;
11
  }
12
  .strong-view .wpmslider {
13
  margin: 0;
23
  .strong-view .wpmslider-pager {
24
  display: inline-block;
25
  }
26
+ .strong-view.rtl .wpmslider-pager {
27
+ direction: rtl;
28
+ }
29
  .strong-view .wpmslider-pager-item {
30
  display: inline-block;
31
  }
68
  line-height: 27px;
69
  width: 27px;
70
  height: 27px;
 
 
71
  text-align: center;
72
  transition: all 0.2s ease;
73
  }
 
 
 
 
74
  .strong-view.controls-style-buttons2 .wpmslider-start:before {
75
  content: "\f04b";
76
  position: relative;
77
  left: 1px;
 
78
  }
79
  .strong-view.controls-style-buttons2 .wpmslider-stop:before {
80
  content: "\f04c";
89
  content: "\f053";
90
  position: relative;
91
  left: -1px;
92
+ top: 1px;
93
  }
94
  .strong-view.controls-style-buttons2:not(.rtl) .wpmslider-next:before {
95
  content: "\f054";
96
  position: relative;
97
  left: 1px;
98
+ top: 1px;
99
  }
100
  .strong-view.controls-style-buttons2.rtl .wpmslider-prev:before {
101
  content: "\f054";
102
  position: relative;
103
  left: 1px;
104
+ top: 1px;
105
  }
106
  .strong-view.controls-style-buttons2.rtl .wpmslider-next:before {
107
  content: "\f053";
108
  position: relative;
109
  left: -1px;
110
+ top: 1px;
111
  }
112
 
113
  .strong-view.controls-style-text .wpmslider-start,
146
  text-align: center;
147
  z-index: 5;
148
  }
149
+ .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls .wpmslider-start,
150
+ .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls .wpmslider-stop,
151
+ .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls .wpmslider-prev,
152
+ .strong-view.nav-position-inside:not(.controls-type-sides) .wpmslider-controls .wpmslider-next {
153
+ margin: 0 3px;
154
+ }
155
 
156
  .strong-view.nav-position-outside .wpmslider-controls {
157
  line-height: 1;
158
+ padding: 20px 0 20px;
159
  text-align: center;
160
  z-index: 5;
161
  }
162
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-start,
163
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-stop,
164
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-prev,
165
+ .strong-view.nav-position-outside .wpmslider-controls .wpmslider-next {
166
+ margin: 0 3px;
167
+ }
168
 
169
+ .strong-view.controls-type-sides .wpmslider-controls {
170
+ height: 0;
171
+ }
172
  .strong-view.controls-type-sides .wpmslider-prev,
173
  .strong-view.controls-type-sides .wpmslider-next {
174
  position: absolute;
175
  top: calc(50% - 14px);
176
+ margin: 0;
177
  }
178
  .strong-view.controls-type-sides:not(.rtl) .wpmslider-prev {