Files
masimmo.pl/modules/creativeelements/includes/controls/base-units.php
2024-11-20 09:09:44 +01:00

119 lines
3.1 KiB
PHP

<?php
/**
* Creative Elements - live Theme & Page Builder
*
* @author WebshopWorks, Elementor
* @copyright 2019-2023 WebshopWorks.com & Elementor.com
* @license https://www.gnu.org/licenses/gpl-3.0.html
*/
namespace CE;
defined('_PS_VERSION_') or exit;
/**
* Elementor control base units.
*
* An abstract class for creating new unit controls in the panel.
*
* @since 1.0.0
* @abstract
*/
abstract class ControlBaseUnits extends ControlBaseMultiple
{
/**
* Get units control default value.
*
* Retrieve the default value of the units control. Used to return the default
* values while initializing the units control.
*
* @since 1.0.0
*
* @return array Control default value
*/
public function getDefaultValue()
{
return [
'unit' => 'px',
];
}
/**
* Get units control default settings.
*
* Retrieve the default settings of the units control. Used to return the default
* settings while initializing the units control.
*
* @since 1.0.0
*
* @return array Control default settings
*/
protected function getDefaultSettings()
{
return [
'size_units' => ['px'],
'range' => [
'px' => [
'min' => 0,
'max' => 100,
'step' => 1,
],
'em' => [
'min' => 0.1,
'max' => 10,
'step' => 0.1,
],
'rem' => [
'min' => 0.1,
'max' => 10,
'step' => 0.1,
],
'%' => [
'min' => 0,
'max' => 100,
'step' => 1,
],
'deg' => [
'min' => 0,
'max' => 360,
'step' => 1,
],
'vh' => [
'min' => 0,
'max' => 100,
'step' => 1,
],
'vw' => [
'min' => 0,
'max' => 100,
'step' => 1,
],
],
];
}
/**
* Print units control settings.
*
* Used to generate the units control template in the editor.
*
* @since 1.0.0
*/
protected function printUnitsTemplate()
{
?>
<# if ( data.size_units && data.size_units.length > 1 ) { #>
<div class="elementor-units-choices">
<# _.each( data.size_units, function( unit ) { #>
<input id="elementor-choose-{{ data._cid + data.name + unit }}" type="radio"
name="elementor-choose-{{ data.name }}" data-setting="unit" value="{{ unit }}">
<label class="elementor-units-choices-label" for="elementor-choose-{{ data._cid + data.name + unit }}">
{{{ unit }}}
</label>
<# } ); #>
</div>
<# } #>
<?php
}
}