60 lines
1.7 KiB
PHP
60 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace Elementor\Modules\Interactions;
|
|
|
|
if ( ! defined( 'ABSPATH' ) ) {
|
|
exit; // Exit if accessed directly.
|
|
}
|
|
|
|
class Presets {
|
|
const DEFAULT_DURATION = 600;
|
|
const DEFAULT_DELAY = 0;
|
|
const DEFAULT_SLIDE_DISTANCE = 100;
|
|
const DEFAULT_SCALE_START = 0;
|
|
const DEFAULT_RELATIVE_TO = 'viewport';
|
|
const DEFAULT_END = 15;
|
|
const DEFAULT_START = 85;
|
|
|
|
const BASE_TRIGGERS = [ 'load', 'scrollIn' ];
|
|
const ADDITIONAL_TRIGGERS = [ 'scrollOut', 'scrollOn', 'hover', 'click' ];
|
|
|
|
const DEFAULT_EASING = 'easeIn';
|
|
const BASE_EFFECTS = [ 'fade', 'slide', 'scale' ];
|
|
const ADDITIONAL_EFFECTS = [ 'custom' ];
|
|
|
|
const TYPES = [ 'in', 'out' ];
|
|
const DIRECTIONS = [ 'left', 'right', 'top', 'bottom', '' ];
|
|
|
|
const BASE_EASING = [ 'easeIn' ];
|
|
const ADDITIONAL_EASING = [ 'easeOut', 'easeInOut', 'backIn', 'backInOut', 'backOut', 'linear' ];
|
|
|
|
const DEFAULT_REPEAT = '';
|
|
const REPEAT_OPTIONS = [ 'loop', 'times', '' ];
|
|
|
|
public static function easing_options() {
|
|
return array_merge( self::BASE_EASING, self::ADDITIONAL_EASING );
|
|
}
|
|
|
|
public static function effects_options() {
|
|
return array_merge( self::BASE_EFFECTS, self::ADDITIONAL_EFFECTS );
|
|
}
|
|
|
|
public static function triggers_options() {
|
|
return array_merge( self::BASE_TRIGGERS, self::ADDITIONAL_TRIGGERS );
|
|
}
|
|
|
|
public function defaults() {
|
|
return [
|
|
'defaultDuration' => self::DEFAULT_DURATION,
|
|
'defaultDelay' => self::DEFAULT_DELAY,
|
|
'slideDistance' => self::DEFAULT_SLIDE_DISTANCE,
|
|
'scaleStart' => self::DEFAULT_SCALE_START,
|
|
'defaultEasing' => self::DEFAULT_EASING,
|
|
'relativeTo' => self::DEFAULT_RELATIVE_TO,
|
|
'repeat' => self::DEFAULT_REPEAT,
|
|
'start' => self::DEFAULT_START,
|
|
'end' => self::DEFAULT_END,
|
|
];
|
|
}
|
|
}
|