PluginProbe
Qi Blocks / trunk
Qi Blocks vtrunk
1.5.3 1.5.2 1.5.1 trunk 1.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1 1.1.1 1.1.2 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 All 45 releases
qi-blocks / inc / slider / helper.php

helper.php in Qi Blocks trunk, at inc/slider/helper.php

1,208 lines 34.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 if ( ! defined( 'ABSPATH' ) ) {
4 // Exit if accessed directly.
5 exit;
6 }
7
8 if ( ! function_exists( 'qi_blocks_register_slider_3rd_party_scripts' ) ) {
9 /**
10 * Function that set additional 3rd party scripts
11 */
12 function qi_blocks_register_slider_3rd_party_scripts() {
13 $general_options = get_option( QI_BLOCKS_GENERAL_OPTIONS, array() );
14 $swiper_version = ! empty( $general_options ) && isset( $general_options['swiper_library'] ) ? '8.4.5' : '5.4.5';
15
16 // Register swiper scripts.
17 wp_register_style( 'swiper', QI_BLOCKS_INC_URL_PATH . '/slider/assets/plugins/' . esc_attr( $swiper_version ) . '/swiper.min.css', array(), $swiper_version );
18 wp_register_script( 'swiper', QI_BLOCKS_INC_URL_PATH . '/slider/assets/plugins/' . esc_attr( $swiper_version ) . '/swiper.min.js', array( 'jquery' ), $swiper_version, true );
19 }
20
21 add_action( 'qi_blocks_action_additional_3rd_party_scripts', 'qi_blocks_register_slider_3rd_party_scripts' );
22 }
23
24 if ( ! function_exists( 'qi_blocks_set_slider_style_as_block_style_dependency' ) ) {
25 /**
26 * Function that set additional 3rd party scripts as block style dependency
27 *
28 * @param $style_dependency array
29 *
30 * @return array
31 */
32 function qi_blocks_set_slider_style_as_block_style_dependency( $style_dependency ) {
33
34 if ( is_admin() ) {
35 $style_dependency[] = 'swiper';
36 }
37
38 return $style_dependency;
39 }
40
41 // permission 5 is set in order to be before main plugins style.
42 add_filter( 'qi_blocks_filter_block_style_dependency', 'qi_blocks_set_slider_style_as_block_style_dependency', 5 );
43 }
44
45 if ( ! function_exists( 'qi_blocks_set_swiper_script_as_editor_dependency' ) ) {
46 /**
47 * Ensure Swiper is loaded before editor scripts that initialize sliders.
48 *
49 * @param array $script_dependency
50 *
51 * @return array
52 */
53 function qi_blocks_set_swiper_script_as_editor_dependency( $script_dependency ) {
54 $script_dependency[] = 'swiper';
55
56 return $script_dependency;
57 }
58
59 add_filter( 'qi_blocks_filter_main_editor_dependencies', 'qi_blocks_set_swiper_script_as_editor_dependency', 15 );
60 }
61
62 if ( ! function_exists( 'qi_blocks_get_block_slider_attributes' ) ) {
63 /**
64 * Function that return block slider attributes
65 *
66 * @param array $excluded_attributes
67 *
68 * @return array
69 */
70 function qi_blocks_get_block_slider_attributes( $excluded_attributes = array() ) {
71 $attributes = array(
72 'sliderDirection' => array(
73 'type' => 'string',
74 'default' => 'horizontal',
75 ),
76 'sliderColumns' => array(
77 'type' => 'number',
78 'default' => 1,
79 ),
80 'sliderColumnsResponsive' => array(
81 'type' => 'string',
82 'default' => 'predefined',
83 ),
84 'sliderColumns1440' => array(
85 'type' => 'number',
86 'default' => '',
87 ),
88 'sliderColumns1366' => array(
89 'type' => 'number',
90 'default' => '',
91 ),
92 'sliderColumns1024' => array(
93 'type' => 'number',
94 'default' => '',
95 ),
96 'sliderColumns768' => array(
97 'type' => 'number',
98 'default' => '',
99 ),
100 'sliderColumns680' => array(
101 'type' => 'number',
102 'default' => '',
103 ),
104 'sliderColumns480' => array(
105 'type' => 'number',
106 'default' => '',
107 ),
108 'sliderSpace' => array(
109 'type' => 'number',
110 'default' => '',
111 ),
112 'sliderSpaceTablet' => array(
113 'type' => 'number',
114 'default' => '',
115 ),
116 'sliderSpaceMobile' => array(
117 'type' => 'number',
118 'default' => '',
119 ),
120 'sliderLoop' => array(
121 'type' => 'string',
122 'default' => 'yes',
123 ),
124 'sliderAutoplay' => array(
125 'type' => 'string',
126 'default' => 'yes',
127 ),
128 'sliderCentered' => array(
129 'type' => 'string',
130 'default' => 'no',
131 ),
132 'sliderZoomCenteredSlide' => array(
133 'type' => 'string',
134 'default' => 'no',
135 ),
136 'sliderPartialColumns' => array(
137 'type' => 'string',
138 'default' => 'no',
139 ),
140 'sliderPartialColumnsValue' => array(
141 'type' => 'number',
142 'default' => 0.1,
143 ),
144 'sliderPartialColumnsResponsiveDisable' => array(
145 'type' => 'string',
146 'default' => '',
147 ),
148 'sliderDragging' => array(
149 'type' => 'string',
150 'default' => 'yes',
151 ),
152 'sliderSpeed' => array(
153 'type' => 'string',
154 'default' => '',
155 ),
156 'sliderSpeedAnimation' => array(
157 'type' => 'string',
158 'default' => '',
159 ),
160 'sliderNavigation' => array(
161 'type' => 'string',
162 'default' => '',
163 ),
164 'sliderNavigationPosition' => array(
165 'type' => 'string',
166 'default' => 'inside',
167 ),
168 'sliderHideNavigation' => array(
169 'type' => 'string',
170 'default' => '',
171 ),
172 'sliderNavigationAlignment' => array(
173 'type' => 'string',
174 'default' => '',
175 ),
176 'sliderNavigationVerticalPosition' => array(
177 'type' => 'string',
178 'default' => 'bottom',
179 ),
180 'sliderPagination' => array(
181 'type' => 'string',
182 'default' => '',
183 ),
184 'sliderPaginationPosition' => array(
185 'type' => 'string',
186 'default' => 'inside',
187 ),
188 'sliderHeight' => array(
189 'type' => 'number',
190 'default' => '',
191 ),
192 'sliderHeightUnit' => array(
193 'type' => 'string',
194 'default' => 'px',
195 ),
196 'sliderHeightDecimal' => array(
197 'type' => 'number',
198 'default' => '',
199 ),
200 'sliderHeightTablet' => array(
201 'type' => 'number',
202 'default' => '',
203 ),
204 'sliderHeightMobile' => array(
205 'type' => 'number',
206 'default' => '',
207 ),
208 'sliderHeightUnitTablet' => array(
209 'type' => 'string',
210 'default' => 'px',
211 ),
212 'sliderHeightUnitMobile' => array(
213 'type' => 'string',
214 'default' => 'px',
215 ),
216 'sliderHeightDecimalTablet' => array(
217 'type' => 'number',
218 'default' => '',
219 ),
220 'sliderHeightDecimalMobile' => array(
221 'type' => 'number',
222 'default' => '',
223 ),
224 );
225
226 if ( ! empty( $excluded_attributes ) ) {
227 foreach ( $excluded_attributes as $excluded_attribute ) {
228 if ( array_key_exists( $excluded_attribute, $attributes ) ) {
229 unset( $attributes[ $excluded_attribute ] );
230 }
231 }
232 }
233
234 return $attributes;
235 }
236 }
237
238 if ( ! function_exists( 'qi_blocks_get_block_slider_navigation_attributes' ) ) {
239 /**
240 * Function that return block slider navigation attributes
241 *
242 * @param array $excluded_attributes
243 *
244 * @return array
245 */
246 function qi_blocks_get_block_slider_navigation_attributes( $excluded_attributes = array() ) {
247 $attributes = array_merge(
248 array(
249 'navigationTogetherHolderBackgroundColor' => array(
250 'type' => 'string',
251 'default' => '',
252 ),
253 'navigationInitialArrowColor' => array(
254 'type' => 'string',
255 'default' => '',
256 ),
257 'navigationInitialArrowBackgroundColor' => array(
258 'type' => 'string',
259 'default' => '',
260 ),
261 'navigationHoverArrowColor' => array(
262 'type' => 'string',
263 'default' => '',
264 ),
265 'navigationHoverArrowBackgroundColor' => array(
266 'type' => 'string',
267 'default' => '',
268 ),
269 'navigationHoverArrowMove' => array(
270 'type' => 'boolean',
271 'default' => true,
272 ),
273 'navigationVerticalOffset' => array(
274 'type' => 'number',
275 'default' => '',
276 ),
277 'navigationVerticalOffsetUnit' => array(
278 'type' => 'string',
279 'default' => 'px',
280 ),
281 'navigationVerticalOffsetDecimal' => array(
282 'type' => 'number',
283 'default' => '',
284 ),
285 'navigationVerticalOffsetTablet' => array(
286 'type' => 'number',
287 'default' => '',
288 ),
289 'navigationVerticalOffsetMobile' => array(
290 'type' => 'number',
291 'default' => '',
292 ),
293 'navigationVerticalOffsetUnitTablet' => array(
294 'type' => 'string',
295 'default' => 'px',
296 ),
297 'navigationVerticalOffsetUnitMobile' => array(
298 'type' => 'string',
299 'default' => 'px',
300 ),
301 'navigationVerticalOffsetDecimalTablet' => array(
302 'type' => 'number',
303 'default' => '',
304 ),
305 'navigationVerticalOffsetDecimalMobile' => array(
306 'type' => 'number',
307 'default' => '',
308 ),
309 'navigationHorizontalOffset' => array(
310 'type' => 'number',
311 'default' => '',
312 ),
313 'navigationHorizontalOffsetUnit' => array(
314 'type' => 'string',
315 'default' => 'px',
316 ),
317 'navigationHorizontalOffsetDecimal' => array(
318 'type' => 'number',
319 'default' => '',
320 ),
321 'navigationHorizontalOffsetTablet' => array(
322 'type' => 'number',
323 'default' => '',
324 ),
325 'navigationHorizontalOffsetMobile' => array(
326 'type' => 'number',
327 'default' => '',
328 ),
329 'navigationHorizontalOffsetUnitTablet' => array(
330 'type' => 'string',
331 'default' => 'px',
332 ),
333 'navigationHorizontalOffsetUnitMobile' => array(
334 'type' => 'string',
335 'default' => 'px',
336 ),
337 'navigationHorizontalOffsetDecimalTablet' => array(
338 'type' => 'number',
339 'default' => '',
340 ),
341 'navigationHorizontalOffsetDecimalMobile' => array(
342 'type' => 'number',
343 'default' => '',
344 ),
345 'navigationTogetherSpaceBetween' => array(
346 'type' => 'number',
347 'default' => '',
348 ),
349 'navigationTogetherSpaceBetweenUnit' => array(
350 'type' => 'string',
351 'default' => 'px',
352 ),
353 'navigationTogetherSpaceBetweenDecimal' => array(
354 'type' => 'number',
355 'default' => '',
356 ),
357 'navigationTogetherSpaceBetweenTablet' => array(
358 'type' => 'number',
359 'default' => '',
360 ),
361 'navigationTogetherSpaceBetweenMobile' => array(
362 'type' => 'number',
363 'default' => '',
364 ),
365 'navigationTogetherSpaceBetweenUnitTablet' => array(
366 'type' => 'string',
367 'default' => 'px',
368 ),
369 'navigationTogetherSpaceBetweenUnitMobile' => array(
370 'type' => 'string',
371 'default' => 'px',
372 ),
373 'navigationTogetherSpaceBetweenDecimalTablet' => array(
374 'type' => 'number',
375 'default' => '',
376 ),
377 'navigationTogetherSpaceBetweenDecimalMobile' => array(
378 'type' => 'number',
379 'default' => '',
380 ),
381 'navigationTogetherMarginTop' => array(
382 'type' => 'number',
383 'default' => '',
384 ),
385 'navigationTogetherMarginTopUnit' => array(
386 'type' => 'string',
387 'default' => 'px',
388 ),
389 'navigationTogetherMarginTopDecimal' => array(
390 'type' => 'number',
391 'default' => '',
392 ),
393 'navigationTogetherMarginTopTablet' => array(
394 'type' => 'number',
395 'default' => '',
396 ),
397 'navigationTogetherMarginTopMobile' => array(
398 'type' => 'number',
399 'default' => '',
400 ),
401 'navigationTogetherMarginTopUnitTablet' => array(
402 'type' => 'string',
403 'default' => 'px',
404 ),
405 'navigationTogetherMarginTopUnitMobile' => array(
406 'type' => 'string',
407 'default' => 'px',
408 ),
409 'navigationTogetherMarginTopDecimalTablet' => array(
410 'type' => 'number',
411 'default' => '',
412 ),
413 'navigationTogetherMarginTopDecimalMobile' => array(
414 'type' => 'number',
415 'default' => '',
416 ),
417 'navigationTogetherHorizontalOffset' => array(
418 'type' => 'number',
419 'default' => '',
420 ),
421 'navigationTogetherHorizontalOffsetUnit' => array(
422 'type' => 'string',
423 'default' => 'px',
424 ),
425 'navigationTogetherHorizontalOffsetDecimal' => array(
426 'type' => 'number',
427 'default' => '',
428 ),
429 'navigationTogetherHorizontalOffsetTablet' => array(
430 'type' => 'number',
431 'default' => '',
432 ),
433 'navigationTogetherHorizontalOffsetMobile' => array(
434 'type' => 'number',
435 'default' => '',
436 ),
437 'navigationTogetherHorizontalOffsetUnitTablet' => array(
438 'type' => 'string',
439 'default' => 'px',
440 ),
441 'navigationTogetherHorizontalOffsetUnitMobile' => array(
442 'type' => 'string',
443 'default' => 'px',
444 ),
445 'navigationTogetherHorizontalOffsetDecimalTablet' => array(
446 'type' => 'number',
447 'default' => '',
448 ),
449 'navigationTogetherHorizontalOffsetDecimalMobile' => array(
450 'type' => 'number',
451 'default' => '',
452 ),
453 'navigationTogetherHolderWidth' => array(
454 'type' => 'number',
455 'default' => '',
456 ),
457 'navigationTogetherHolderWidthUnit' => array(
458 'type' => 'string',
459 'default' => 'px',
460 ),
461 'navigationTogetherHolderWidthDecimal' => array(
462 'type' => 'number',
463 'default' => '',
464 ),
465 'navigationTogetherHolderWidthTablet' => array(
466 'type' => 'number',
467 'default' => '',
468 ),
469 'navigationTogetherHolderWidthMobile' => array(
470 'type' => 'number',
471 'default' => '',
472 ),
473 'navigationTogetherHolderWidthUnitTablet' => array(
474 'type' => 'string',
475 'default' => 'px',
476 ),
477 'navigationTogetherHolderWidthUnitMobile' => array(
478 'type' => 'string',
479 'default' => 'px',
480 ),
481 'navigationTogetherHolderWidthDecimalTablet' => array(
482 'type' => 'number',
483 'default' => '',
484 ),
485 'navigationTogetherHolderWidthDecimalMobile' => array(
486 'type' => 'number',
487 'default' => '',
488 ),
489 'navigationTogetherHolderHeight' => array(
490 'type' => 'number',
491 'default' => '',
492 ),
493 'navigationTogetherHolderHeightUnit' => array(
494 'type' => 'string',
495 'default' => 'px',
496 ),
497 'navigationTogetherHolderHeightDecimal' => array(
498 'type' => 'number',
499 'default' => '',
500 ),
501 'navigationTogetherHolderHeightTablet' => array(
502 'type' => 'number',
503 'default' => '',
504 ),
505 'navigationTogetherHolderHeightMobile' => array(
506 'type' => 'number',
507 'default' => '',
508 ),
509 'navigationTogetherHolderHeightUnitTablet' => array(
510 'type' => 'string',
511 'default' => 'px',
512 ),
513 'navigationTogetherHolderHeightUnitMobile' => array(
514 'type' => 'string',
515 'default' => 'px',
516 ),
517 'navigationTogetherHolderHeightDecimalTablet' => array(
518 'type' => 'number',
519 'default' => '',
520 ),
521 'navigationTogetherHolderHeightDecimalMobile' => array(
522 'type' => 'number',
523 'default' => '',
524 ),
525 'navigationBorderStyle' => array(
526 'type' => 'string',
527 'default' => '',
528 ),
529 'navigationBorderColor' => array(
530 'type' => 'string',
531 'default' => '',
532 ),
533 'navigationBorderWidthTop' => array(
534 'type' => 'number',
535 'default' => '',
536 ),
537 'navigationBorderWidthTopTablet' => array(
538 'type' => 'number',
539 'default' => '',
540 ),
541 'navigationBorderWidthTopMobile' => array(
542 'type' => 'number',
543 'default' => '',
544 ),
545 'navigationBorderWidthRight' => array(
546 'type' => 'number',
547 'default' => '',
548 ),
549 'navigationBorderWidthRightTablet' => array(
550 'type' => 'number',
551 'default' => '',
552 ),
553 'navigationBorderWidthRightMobile' => array(
554 'type' => 'number',
555 'default' => '',
556 ),
557 'navigationBorderWidthBottom' => array(
558 'type' => 'number',
559 'default' => '',
560 ),
561 'navigationBorderWidthBottomTablet' => array(
562 'type' => 'number',
563 'default' => '',
564 ),
565 'navigationBorderWidthBottomMobile' => array(
566 'type' => 'number',
567 'default' => '',
568 ),
569 'navigationBorderWidthLeft' => array(
570 'type' => 'number',
571 'default' => '',
572 ),
573 'navigationBorderWidthLeftTablet' => array(
574 'type' => 'number',
575 'default' => '',
576 ),
577 'navigationBorderWidthLeftMobile' => array(
578 'type' => 'number',
579 'default' => '',
580 ),
581 'navigationBorderWidthUnit' => array(
582 'type' => 'string',
583 'default' => 'px',
584 ),
585 'navigationBorderWidthUnitTablet' => array(
586 'type' => 'string',
587 'default' => 'px',
588 ),
589 'navigationBorderWidthUnitMobile' => array(
590 'type' => 'string',
591 'default' => 'px',
592 ),
593 'navigationBorderRadiusTop' => array(
594 'type' => 'number',
595 'default' => '',
596 ),
597 'navigationBorderRadiusTopTablet' => array(
598 'type' => 'number',
599 'default' => '',
600 ),
601 'navigationBorderRadiusTopMobile' => array(
602 'type' => 'number',
603 'default' => '',
604 ),
605 'navigationBorderRadiusTopDecimal' => array(
606 'type' => 'number',
607 'default' => '',
608 ),
609 'navigationBorderRadiusTopDecimalTablet' => array(
610 'type' => 'number',
611 'default' => '',
612 ),
613 'navigationBorderRadiusTopDecimalMobile' => array(
614 'type' => 'number',
615 'default' => '',
616 ),
617 'navigationBorderRadiusRight' => array(
618 'type' => 'number',
619 'default' => '',
620 ),
621 'navigationBorderRadiusRightTablet' => array(
622 'type' => 'number',
623 'default' => '',
624 ),
625 'navigationBorderRadiusRightMobile' => array(
626 'type' => 'number',
627 'default' => '',
628 ),
629 'navigationBorderRadiusRightDecimal' => array(
630 'type' => 'number',
631 'default' => '',
632 ),
633 'navigationBorderRadiusRightDecimalTablet' => array(
634 'type' => 'number',
635 'default' => '',
636 ),
637 'navigationBorderRadiusRightDecimalMobile' => array(
638 'type' => 'number',
639 'default' => '',
640 ),
641 'navigationBorderRadiusBottom' => array(
642 'type' => 'number',
643 'default' => '',
644 ),
645 'navigationBorderRadiusBottomTablet' => array(
646 'type' => 'number',
647 'default' => '',
648 ),
649 'navigationBorderRadiusBottomMobile' => array(
650 'type' => 'number',
651 'default' => '',
652 ),
653 'navigationBorderRadiusBottomDecimal' => array(
654 'type' => 'number',
655 'default' => '',
656 ),
657 'navigationBorderRadiusBottomDecimalTablet' => array(
658 'type' => 'number',
659 'default' => '',
660 ),
661 'navigationBorderRadiusBottomDecimalMobile' => array(
662 'type' => 'number',
663 'default' => '',
664 ),
665 'navigationBorderRadiusLeft' => array(
666 'type' => 'number',
667 'default' => '',
668 ),
669 'navigationBorderRadiusLeftTablet' => array(
670 'type' => 'number',
671 'default' => '',
672 ),
673 'navigationBorderRadiusLeftMobile' => array(
674 'type' => 'number',
675 'default' => '',
676 ),
677 'navigationBorderRadiusLeftDecimal' => array(
678 'type' => 'number',
679 'default' => '',
680 ),
681 'navigationBorderRadiusLeftDecimalTablet' => array(
682 'type' => 'number',
683 'default' => '',
684 ),
685 'navigationBorderRadiusLeftDecimalMobile' => array(
686 'type' => 'number',
687 'default' => '',
688 ),
689 'navigationBorderRadiusUnit' => array(
690 'type' => 'string',
691 'default' => 'px',
692 ),
693 'navigationBorderRadiusUnitTablet' => array(
694 'type' => 'string',
695 'default' => 'px',
696 ),
697 'navigationBorderRadiusUnitMobile' => array(
698 'type' => 'string',
699 'default' => 'px',
700 ),
701 'navigationArrowSize' => array(
702 'type' => 'number',
703 'default' => '',
704 ),
705 'navigationArrowSizeUnit' => array(
706 'type' => 'string',
707 'default' => 'px',
708 ),
709 'navigationArrowSizeDecimal' => array(
710 'type' => 'number',
711 'default' => '',
712 ),
713 'navigationArrowSizeTablet' => array(
714 'type' => 'number',
715 'default' => '',
716 ),
717 'navigationArrowSizeMobile' => array(
718 'type' => 'number',
719 'default' => '',
720 ),
721 'navigationArrowSizeUnitTablet' => array(
722 'type' => 'string',
723 'default' => 'px',
724 ),
725 'navigationArrowSizeUnitMobile' => array(
726 'type' => 'string',
727 'default' => 'px',
728 ),
729 'navigationArrowSizeDecimalTablet' => array(
730 'type' => 'number',
731 'default' => '',
732 ),
733 'navigationArrowSizeDecimalMobile' => array(
734 'type' => 'number',
735 'default' => '',
736 ),
737 'navigationArrowHolderWidth' => array(
738 'type' => 'number',
739 'default' => '',
740 ),
741 'navigationArrowHolderWidthUnit' => array(
742 'type' => 'string',
743 'default' => 'px',
744 ),
745 'navigationArrowHolderWidthDecimal' => array(
746 'type' => 'number',
747 'default' => '',
748 ),
749 'navigationArrowHolderWidthTablet' => array(
750 'type' => 'number',
751 'default' => '',
752 ),
753 'navigationArrowHolderWidthMobile' => array(
754 'type' => 'number',
755 'default' => '',
756 ),
757 'navigationArrowHolderWidthUnitTablet' => array(
758 'type' => 'string',
759 'default' => 'px',
760 ),
761 'navigationArrowHolderWidthUnitMobile' => array(
762 'type' => 'string',
763 'default' => 'px',
764 ),
765 'navigationArrowHolderWidthDecimalTablet' => array(
766 'type' => 'number',
767 'default' => '',
768 ),
769 'navigationArrowHolderWidthDecimalMobile' => array(
770 'type' => 'number',
771 'default' => '',
772 ),
773 'navigationArrowHolderHeight' => array(
774 'type' => 'number',
775 'default' => '',
776 ),
777 'navigationArrowHolderHeightUnit' => array(
778 'type' => 'string',
779 'default' => 'px',
780 ),
781 'navigationArrowHolderHeightDecimal' => array(
782 'type' => 'number',
783 'default' => '',
784 ),
785 'navigationArrowHolderHeightTablet' => array(
786 'type' => 'number',
787 'default' => '',
788 ),
789 'navigationArrowHolderHeightMobile' => array(
790 'type' => 'number',
791 'default' => '',
792 ),
793 'navigationArrowHolderHeightUnitTablet' => array(
794 'type' => 'string',
795 'default' => 'px',
796 ),
797 'navigationArrowHolderHeightUnitMobile' => array(
798 'type' => 'string',
799 'default' => 'px',
800 ),
801 'navigationArrowHolderHeightDecimalTablet' => array(
802 'type' => 'number',
803 'default' => '',
804 ),
805 'navigationArrowHolderHeightDecimalMobile' => array(
806 'type' => 'number',
807 'default' => '',
808 ),
809 'navigationPrevIcon' => array(
810 'type' => 'object',
811 'default' => array(
812 'html' => '',
813 ),
814 ),
815 'navigationPrevIconColor' => array(
816 'type' => 'string',
817 'default' => '',
818 ),
819 'navigationPrevIconFontSize' => array(
820 'type' => 'number',
821 'default' => '',
822 ),
823 'navigationPrevIconFontSizeUnit' => array(
824 'type' => 'string',
825 'default' => 'px',
826 ),
827 'navigationPrevIconFontSizeDecimal' => array(
828 'type' => 'number',
829 'default' => '',
830 ),
831 'navigationPrevIconFontSizeTablet' => array(
832 'type' => 'number',
833 'default' => '',
834 ),
835 'navigationPrevIconFontSizeMobile' => array(
836 'type' => 'number',
837 'default' => '',
838 ),
839 'navigationPrevIconFontSizeUnitTablet' => array(
840 'type' => 'string',
841 'default' => 'px',
842 ),
843 'navigationPrevIconFontSizeUnitMobile' => array(
844 'type' => 'string',
845 'default' => 'px',
846 ),
847 'navigationPrevIconFontSizeDecimalTablet' => array(
848 'type' => 'number',
849 'default' => '',
850 ),
851 'navigationPrevIconFontSizeDecimalMobile' => array(
852 'type' => 'number',
853 'default' => '',
854 ),
855 'navigationNextIcon' => array(
856 'type' => 'object',
857 'default' => array(
858 'html' => '',
859 ),
860 ),
861 'navigationNextIconColor' => array(
862 'type' => 'string',
863 'default' => '',
864 ),
865 'navigationNextIconFontSize' => array(
866 'type' => 'number',
867 'default' => '',
868 ),
869 'navigationNextIconFontSizeUnit' => array(
870 'type' => 'string',
871 'default' => 'px',
872 ),
873 'navigationNextIconFontSizeDecimal' => array(
874 'type' => 'number',
875 'default' => '',
876 ),
877 'navigationNextIconFontSizeTablet' => array(
878 'type' => 'number',
879 'default' => '',
880 ),
881 'navigationNextIconFontSizeMobile' => array(
882 'type' => 'number',
883 'default' => '',
884 ),
885 'navigationNextIconFontSizeUnitTablet' => array(
886 'type' => 'string',
887 'default' => 'px',
888 ),
889 'navigationNextIconFontSizeUnitMobile' => array(
890 'type' => 'string',
891 'default' => 'px',
892 ),
893 'navigationNextIconFontSizeDecimalTablet' => array(
894 'type' => 'number',
895 'default' => '',
896 ),
897 'navigationNextIconFontSizeDecimalMobile' => array(
898 'type' => 'number',
899 'default' => '',
900 ),
901 )
902 );
903
904 if ( ! empty( $excluded_attributes ) ) {
905 foreach ( $excluded_attributes as $excluded_attribute ) {
906 if ( array_key_exists( $excluded_attribute, $attributes ) ) {
907 unset( $attributes[ $excluded_attribute ] );
908 }
909 }
910 }
911
912 return $attributes;
913 }
914 }
915
916 if ( ! function_exists( 'qi_blocks_get_block_slider_pagination_attributes' ) ) {
917 /**
918 * Function that return block slider pagination attributes
919 *
920 * @param array $excluded_attributes
921 *
922 * @return array
923 */
924 function qi_blocks_get_block_slider_pagination_attributes( $excluded_attributes = array() ) {
925 $attributes = array_merge(
926 array(
927 'paginationAlignment' => array(
928 'type' => 'string',
929 'default' => '',
930 ),
931 'paginationEnableNumbers' => array(
932 'type' => 'boolean',
933 'default' => false,
934 ),
935 'paginationNumbersColor' => array(
936 'type' => 'string',
937 'default' => '',
938 ),
939 'paginationInitialBulletColor' => array(
940 'type' => 'string',
941 'default' => '',
942 ),
943 'paginationInitialBulletBorderType' => array(
944 'type' => 'string',
945 'default' => '',
946 ),
947 'paginationInitialBulletBorderColor' => array(
948 'type' => 'string',
949 'default' => '',
950 ),
951 'paginationHoverBulletColor' => array(
952 'type' => 'string',
953 'default' => '',
954 ),
955 'paginationHoverBulletBorderType' => array(
956 'type' => 'string',
957 'default' => '',
958 ),
959 'paginationHoverBulletBorderColor' => array(
960 'type' => 'string',
961 'default' => '',
962 ),
963 'paginationOffset' => array(
964 'type' => 'number',
965 'default' => '',
966 ),
967 'paginationOffsetUnit' => array(
968 'type' => 'string',
969 'default' => 'px',
970 ),
971 'paginationOffsetDecimal' => array(
972 'type' => 'number',
973 'default' => '',
974 ),
975 'paginationOffsetTablet' => array(
976 'type' => 'number',
977 'default' => '',
978 ),
979 'paginationOffsetMobile' => array(
980 'type' => 'number',
981 'default' => '',
982 ),
983 'paginationOffsetUnitTablet' => array(
984 'type' => 'string',
985 'default' => 'px',
986 ),
987 'paginationOffsetUnitMobile' => array(
988 'type' => 'string',
989 'default' => 'px',
990 ),
991 'paginationOffsetDecimalTablet' => array(
992 'type' => 'number',
993 'default' => '',
994 ),
995 'paginationOffsetDecimalMobile' => array(
996 'type' => 'number',
997 'default' => '',
998 ),
999 'paginationBulletsSpaceBetween' => array(
1000 'type' => 'number',
1001 'default' => '',
1002 ),
1003 'paginationBulletsSpaceBetweenUnit' => array(
1004 'type' => 'string',
1005 'default' => 'px',
1006 ),
1007 'paginationBulletsSpaceBetweenDecimal' => array(
1008 'type' => 'number',
1009 'default' => '',
1010 ),
1011 'paginationBulletsSpaceBetweenTablet' => array(
1012 'type' => 'number',
1013 'default' => '',
1014 ),
1015 'paginationBulletsSpaceBetweenMobile' => array(
1016 'type' => 'number',
1017 'default' => '',
1018 ),
1019 'paginationBulletsSpaceBetweenUnitTablet' => array(
1020 'type' => 'string',
1021 'default' => 'px',
1022 ),
1023 'paginationBulletsSpaceBetweenUnitMobile' => array(
1024 'type' => 'string',
1025 'default' => 'px',
1026 ),
1027 'paginationBulletsSpaceBetweenDecimalTablet' => array(
1028 'type' => 'number',
1029 'default' => '',
1030 ),
1031 'paginationBulletsSpaceBetweenDecimalMobile' => array(
1032 'type' => 'number',
1033 'default' => '',
1034 ),
1035 'paginationBulletsSize' => array(
1036 'type' => 'number',
1037 'default' => '',
1038 ),
1039 'paginationBulletsSizeUnit' => array(
1040 'type' => 'string',
1041 'default' => 'px',
1042 ),
1043 'paginationBulletsSizeDecimal' => array(
1044 'type' => 'number',
1045 'default' => '',
1046 ),
1047 'paginationBulletsSizeTablet' => array(
1048 'type' => 'number',
1049 'default' => '',
1050 ),
1051 'paginationBulletsSizeMobile' => array(
1052 'type' => 'number',
1053 'default' => '',
1054 ),
1055 'paginationBulletsSizeUnitTablet' => array(
1056 'type' => 'string',
1057 'default' => 'px',
1058 ),
1059 'paginationBulletsSizeUnitMobile' => array(
1060 'type' => 'string',
1061 'default' => 'px',
1062 ),
1063 'paginationBulletsSizeDecimalTablet' => array(
1064 'type' => 'number',
1065 'default' => '',
1066 ),
1067 'paginationBulletsSizeDecimalMobile' => array(
1068 'type' => 'number',
1069 'default' => '',
1070 ),
1071 ),
1072 qi_blocks_get_block_option_typography_attributes( 'paginationNumbers' ),
1073 array(
1074 'paginationInitialBulletBorderWidthTop' => array(
1075 'type' => 'number',
1076 'default' => '',
1077 ),
1078 'paginationInitialBulletBorderWidthTopTablet' => array(
1079 'type' => 'number',
1080 'default' => '',
1081 ),
1082 'paginationInitialBulletBorderWidthTopMobile' => array(
1083 'type' => 'number',
1084 'default' => '',
1085 ),
1086 'paginationInitialBulletBorderWidthRight' => array(
1087 'type' => 'number',
1088 'default' => '',
1089 ),
1090 'paginationInitialBulletBorderWidthRightTablet' => array(
1091 'type' => 'number',
1092 'default' => '',
1093 ),
1094 'paginationInitialBulletBorderWidthRightMobile' => array(
1095 'type' => 'number',
1096 'default' => '',
1097 ),
1098 'paginationInitialBulletBorderWidthBottom' => array(
1099 'type' => 'number',
1100 'default' => '',
1101 ),
1102 'paginationInitialBulletBorderWidthBottomTablet' => array(
1103 'type' => 'number',
1104 'default' => '',
1105 ),
1106 'paginationInitialBulletBorderWidthBottomMobile' => array(
1107 'type' => 'number',
1108 'default' => '',
1109 ),
1110 'paginationInitialBulletBorderWidthLeft' => array(
1111 'type' => 'number',
1112 'default' => '',
1113 ),
1114 'paginationInitialBulletBorderWidthLeftTablet' => array(
1115 'type' => 'number',
1116 'default' => '',
1117 ),
1118 'paginationInitialBulletBorderWidthLeftMobile' => array(
1119 'type' => 'number',
1120 'default' => '',
1121 ),
1122 'paginationInitialBulletBorderWidthUnit' => array(
1123 'type' => 'string',
1124 'default' => 'px',
1125 ),
1126 'paginationInitialBulletBorderWidthUnitTablet' => array(
1127 'type' => 'string',
1128 'default' => 'px',
1129 ),
1130 'paginationInitialBulletBorderWidthUnitMobile' => array(
1131 'type' => 'string',
1132 'default' => 'px',
1133 ),
1134 'paginationHoverBulletBorderWidthTop' => array(
1135 'type' => 'number',
1136 'default' => '',
1137 ),
1138 'paginationHoverBulletBorderWidthTopTablet' => array(
1139 'type' => 'number',
1140 'default' => '',
1141 ),
1142 'paginationHoverBulletBorderWidthTopMobile' => array(
1143 'type' => 'number',
1144 'default' => '',
1145 ),
1146 'paginationHoverBulletBorderWidthRight' => array(
1147 'type' => 'number',
1148 'default' => '',
1149 ),
1150 'paginationHoverBulletBorderWidthRightTablet' => array(
1151 'type' => 'number',
1152 'default' => '',
1153 ),
1154 'paginationHoverBulletBorderWidthRightMobile' => array(
1155 'type' => 'number',
1156 'default' => '',
1157 ),
1158 'paginationHoverBulletBorderWidthBottom' => array(
1159 'type' => 'number',
1160 'default' => '',
1161 ),
1162 'paginationHoverBulletBorderWidthBottomTablet' => array(
1163 'type' => 'number',
1164 'default' => '',
1165 ),
1166 'paginationHoverBulletBorderWidthBottomMobile' => array(
1167 'type' => 'number',
1168 'default' => '',
1169 ),
1170 'paginationHoverBulletBorderWidthLeft' => array(
1171 'type' => 'number',
1172 'default' => '',
1173 ),
1174 'paginationHoverBulletBorderWidthLeftTablet' => array(
1175 'type' => 'number',
1176 'default' => '',
1177 ),
1178 'paginationHoverBulletBorderWidthLeftMobile' => array(
1179 'type' => 'number',
1180 'default' => '',
1181 ),
1182 'paginationHoverBulletBorderWidthUnit' => array(
1183 'type' => 'string',
1184 'default' => 'px',
1185 ),
1186 'paginationHoverBulletBorderWidthUnitTablet' => array(
1187 'type' => 'string',
1188 'default' => 'px',
1189 ),
1190 'paginationHoverBulletBorderWidthUnitMobile' => array(
1191 'type' => 'string',
1192 'default' => 'px',
1193 ),
1194 )
1195 );
1196
1197 if ( ! empty( $excluded_attributes ) ) {
1198 foreach ( $excluded_attributes as $excluded_attribute ) {
1199 if ( array_key_exists( $excluded_attribute, $attributes ) ) {
1200 unset( $attributes[ $excluded_attribute ] );
1201 }
1202 }
1203 }
1204
1205 return $attributes;
1206 }
1207 }
1208