%PDF- %PDF-
| Direktori : /home/infra/betheme/betheme/muffin-options/fields/typography_vb/ |
| Current File : //home/infra/betheme/betheme/muffin-options/fields/typography_vb/field_typography_vb.php |
<?php
class MFN_Options_typography_vb extends Mfn_Options_field
{
/**
* Render
*/
public function render( $meta = false, $vb = false, $js = false )
{
if( $vb ){
$mfnvb = new MfnVisualBuilder();
} else {
$meta = $this->field['id'];
}
$used_fields = array(
'font-size' => array(
'id' => $meta."[font-size]",
'type' => 'sliderbar',
'responsive' => 'desktop',
'class' => 'mfn_field_desktop typo-font-size',
'title' => __('Size', 'mfn-opts'),
'units' => array(
'px' => array('min' => 1, 'max' => 100, 'step' => 1),
'em' => array('min' => 0.1, 'max' => 10, 'step' => 0.1),
'rem' => array('min' => 0.1, 'max' => 10, 'step' => 0.1),
'vw' => array('min' => 1, 'max' => 100, 'step' => 1),
)
),
'font-size_laptop' => array(
'id' => $meta."[font-size_laptop]",
'type' => 'sliderbar',
'responsive' => 'laptop',
'class' => 'mfn_field_laptop typo-font-size',
'title' => __('Size', 'mfn-opts'),
'units' => array(
'px' => array('min' => 1, 'max' => 100, 'step' => 1),
'em' => array('min' => 0.1, 'max' => 10, 'step' => 0.1),
'rem' => array('min' => 0.1, 'max' => 10, 'step' => 0.1),
'vw' => array('min' => 1, 'max' => 100, 'step' => 1),
)
),
'font-size_tablet' => array(
'id' => $meta."[font-size_tablet]",
'type' => 'sliderbar',
'responsive' => 'tablet',
'class' => 'mfn_field_tablet typo-font-size',
'title' => __('Size', 'mfn-opts'),
'units' => array(
'px' => array('min' => 1, 'max' => 100, 'step' => 1),
'em' => array('min' => 0.1, 'max' => 10, 'step' => 0.1),
'rem' => array('min' => 0.1, 'max' => 10, 'step' => 0.1),
'vw' => array('min' => 1, 'max' => 100, 'step' => 1),
)
),
'font-size_mobile' => array(
'id' => $meta."[font-size_mobile]",
'type' => 'sliderbar',
'responsive' => 'mobile',
'class' => 'mfn_field_mobile typo-font-size',
'title' => __('Size', 'mfn-opts'),
'units' => array(
'px' => array('min' => 1, 'max' => 100, 'step' => 1),
'em' => array('min' => 0.1, 'max' => 10, 'step' => 0.1),
'rem' => array('min' => 0.1, 'max' => 10, 'step' => 0.1),
'vw' => array('min' => 1, 'max' => 100, 'step' => 1),
)
),
'line-height' => array(
'id' => $meta."[line-height]",
'type' => 'sliderbar',
'responsive' => 'desktop',
'class' => 'mfn_field_desktop typo-line-height',
'title' => __('Line height', 'mfn-opts'),
'units' => array(
'px' => array('min' => 1, 'max' => 100, 'step' => 1),
'em' => array('min' => 0.1, 'max' => 10, 'step' => 0.1),
'rem' => array('min' => 0.1, 'max' => 10, 'step' => 0.1),
'vw' => array('min' => 1, 'max' => 100, 'step' => 1),
),
),
'line-height_laptop' => array(
'id' => $meta."[line-height_laptop]",
'type' => 'sliderbar',
'responsive' => 'laptop',
'class' => 'mfn_field_laptop typo-line-height',
'title' => __('Line height', 'mfn-opts'),
'units' => array(
'px' => array('min' => 1, 'max' => 100, 'step' => 1),
'em' => array('min' => 0.1, 'max' => 10, 'step' => 0.1),
'rem' => array('min' => 0.1, 'max' => 10, 'step' => 0.1),
'vw' => array('min' => 1, 'max' => 100, 'step' => 1),
),
),
'line-height_tablet' => array(
'id' => $meta."[line-height_tablet]",
'type' => 'sliderbar',
'responsive' => 'tablet',
'class' => 'mfn_field_tablet typo-line-height',
'title' => __('Line height', 'mfn-opts'),
'units' => array(
'px' => array('min' => 1, 'max' => 100, 'step' => 1),
'em' => array('min' => 0.1, 'max' => 10, 'step' => 0.1),
'rem' => array('min' => 0.1, 'max' => 10, 'step' => 0.1),
'vw' => array('min' => 1, 'max' => 100, 'step' => 1),
),
),
'line-height_mobile' => array(
'id' => $meta."[line-height_mobile]",
'type' => 'sliderbar',
'responsive' => 'mobile',
'class' => 'mfn_field_mobile typo-line-height',
'title' => __('Line height', 'mfn-opts'),
'units' => array(
'px' => array('min' => 1, 'max' => 100, 'step' => 1),
'em' => array('min' => 0.1, 'max' => 10, 'step' => 0.1),
'rem' => array('min' => 0.1, 'max' => 10, 'step' => 0.1),
'vw' => array('min' => 1, 'max' => 100, 'step' => 1),
),
),
'font-weight' => array(
'id' => $meta."[font-weight]",
'type' => 'select',
'class' => 'typo-font-weight',
'title' => __('Font weight', 'mfn-opts'),
'options' => array(
'' => 'Default',
'normal' => 'Normal',
'bold' => 'Bold',
'100' => '100',
'200' => '200',
'300' => '300',
'400' => '400',
'500' => '500',
'600' => '600',
'700' => '700',
'800' => '800',
'900' => '900'
),
),
'letter-spacing' => array(
'id' => $meta."[letter-spacing]",
'type' => 'sliderbar',
'responsive' => 'desktop',
'class' => 'mfn_field_desktop typo-letter-spacing',
'title' => __('Letter spacing', 'mfn-opts'),
'units' => array(
'px' => array('min' => 1, 'max' => 20, 'step' => 1),
'em' => array('min' => 0.1, 'max' => 3, 'step' => 0.1),
'rem' => array('min' => 0.1, 'max' => 3, 'step' => 0.1),
'vw' => array('min' => 1, 'max' => 3, 'step' => 0.1),
),
),
'letter-spacing_laptop' => array(
'id' => $meta."[letter-spacing_laptop]",
'type' => 'sliderbar',
'responsive' => 'laptop',
'class' => 'mfn_field_laptop typo-letter-spacing',
'title' => __('Letter spacing', 'mfn-opts'),
'units' => array(
'px' => array('min' => 1, 'max' => 20, 'step' => 1),
'em' => array('min' => 0.1, 'max' => 3, 'step' => 0.1),
'rem' => array('min' => 0.1, 'max' => 3, 'step' => 0.1),
'vw' => array('min' => 1, 'max' => 3, 'step' => 0.1),
),
),
'letter-spacing_tablet' => array(
'id' => $meta."[letter-spacing_tablet]",
'type' => 'sliderbar',
'responsive' => 'tablet',
'class' => 'mfn_field_tablet typo-letter-spacing',
'title' => __('Letter spacing', 'mfn-opts'),
'units' => array(
'px' => array('min' => 1, 'max' => 20, 'step' => 1),
'em' => array('min' => 0.1, 'max' => 3, 'step' => 0.1),
'rem' => array('min' => 0.1, 'max' => 3, 'step' => 0.1),
'vw' => array('min' => 1, 'max' => 3, 'step' => 0.1),
),
),
'letter-spacing_mobile' => array(
'id' => $meta."[letter-spacing_mobile]",
'type' => 'sliderbar',
'responsive' => 'mobile',
'class' => 'mfn_field_mobile typo-letter-spacing',
'title' => __('Letter spacing', 'mfn-opts'),
'units' => array(
'px' => array('min' => 1, 'max' => 20, 'step' => 1),
'em' => array('min' => 0.1, 'max' => 3, 'step' => 0.1),
'rem' => array('min' => 0.1, 'max' => 3, 'step' => 0.1),
'vw' => array('min' => 1, 'max' => 20, 'step' => 1),
),
),
'text-transform' => array(
'id' => $meta."[text-transform]",
'type' => 'select',
'title' => __('Transform', 'mfn-opts'),
'class' => 'typo-text-transform',
'options' => array(
'' => 'Default',
'uppercase' => 'Uppercase',
'lowercase' => 'Lowercase',
'capitalize' => 'Capitalize',
'none' => 'Normal',
),
),
'font-family' => array(
'id' => $meta."[font-family]",
'class' => 'typo-font-family',
'type' => 'font_select',
'title' => __( 'Font family', 'mfn-opts' ),
'std' => ''
),
'font-style' => array(
'id' => $meta."[font-style]",
'type' => 'select',
'class' => 'typo-font-style',
'title' => __('Style', 'mfn-opts'),
'options' => array(
'' => 'Default',
'italic' => 'Italic',
'normal' => 'Normal',
'oblique' => 'Oblique',
),
),
'text-decoration' => array(
'id' => $meta."[text-decoration]",
'type' => 'select',
'class' => 'typo-text-decoration',
'title' => __('Decoration', 'mfn-opts'),
'options' => array(
'' => 'Default',
'underline' => 'Underline',
'overline' => 'Overline',
'line-through' => 'Line through',
'none' => 'None',
),
),
);
if( ! $vb ){
echo '<a href="#" title="Edit" class="mfn-option-btn mfn-option-blank btn-medium mfn-typo-button"><span class="mfn-icon mfn-icon-edit"></span></a>';
}
echo '<div class="mfn-toggle-fields-wrapper">';
$limit = 99;
if( isset($this->field['typography']) && $this->field['typography'] == 'simple' ){
$limit = 8;
}
$c = 0;
foreach ( $used_fields as $u => $u_field ) {
if( ++$c <= $limit ){
if( $vb ){
if( $js ){
echo $mfnvb->mfn_JsformElement($u_field, $u_field['type'], 'fields');
}else{
echo $mfnvb->mfn_JsformElement($u_field, '', $uid, $u_field['id'], 'mcb-item-'.$uid, $release);
}
} else {
$meta = 'filled'; // filled field uses 'name'
$value = $this->value[$u] ?? null;
if ( empty( $value ) || ( is_array( $value ) && ! array_filter( $value ) ) ){
$meta = 'empty'; // 'empty' = field uses 'data-name'
}
Mfn_Builder_Admin::field( $u_field, $value, $meta );
}
}
}
echo '</div>';
}
/**
* Enqueue Function.
*/
public function enqueue()
{
wp_enqueue_script( 'mfn-field-typography_vb', MFN_OPTIONS_URI .'fields/typography_vb/field_typography_vb.js', array( 'jquery' ), MFN_THEME_VERSION, true );
}
}