PluginProbe
aBlocks – Gutenberg Blocks, User Dashboard Builder, Popup Builder, Form Builder & Animation Builder / 2.8.0
aBlocks – Gutenberg Blocks, User Dashboard Builder, Popup Builder, Form Builder & Animation Builder v2.8.0
2.12.0 2.11.1 2.11.0 2.10.0 2.9.0 2.7.4 2.7.5 2.7.6 2.7.7 2.8.0 2.8.1 2.9.1 trunk 1.0 1.0-beta1 1.0-beta2 1.0-beta3 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.1.2 1.2.0 1.2.1 All 78 releases
ablocks / includes / controls / group-button.php

group-button.php in aBlocks – Gutenberg Blocks, User Dashboard Builder, Popup Builder, Form Builder & Animation Builder 2.8.0, at includes/controls/group-button.php

59 lines 1.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace ABlocks\Controls;
3
4 if ( ! defined( 'ABSPATH' ) ) {
5 exit;
6 }
7
8 use ABlocks\Classes\ControlBaseAbstract;
9
10 class GroupButton extends ControlBaseAbstract {
11
12 public static function get_attribute_default_value( $is_responsive = false, $default = [] ) {
13 if ( ! is_array( $default ) ) {
14 $default = [];
15 }
16 if ( $is_responsive ) {
17 return array_merge( [
18 'value' => 'default',
19 'valueTablet' => '',
20 'valueMobile' => '',
21 ], $default );
22 }
23 return $default['value'] ?? 'default';
24 }
25
26 public static function get_attribute( $attributeName, $isResponsive = false, $default = [] ) {
27 if ( $isResponsive ) {
28 return [
29 $attributeName => [
30 'type' => 'object',
31 'default' => self::get_attribute_default_value( $isResponsive, $default ),
32 ],
33 ];
34 }
35 return [
36 $attributeName => [
37 'type' => 'string',
38 'default' => self::get_attribute_default_value( $isResponsive, $default ),
39 ]
40 ];
41 }
42
43 public static function get_css( $attribute_value, $property = '', $device = '' ) {
44 if ( ! is_array( $attribute_value ) ) {
45 return [];
46 }
47 $value = array_merge(
48 self::get_attribute_default_value( $device ? true : false ),
49 $attribute_value
50 );
51
52 $css = [];
53 if ( '' !== $value[ 'value' . $device ] ) {
54 $css[ $property ] = $value[ 'value' . $device ];
55 }
56 return $css;
57 }
58 }
59