PluginProbe
aBlocks – Gutenberg Blocks, User Dashboard Builder, Popup Builder, Form Builder & Animation Builder / 2.13.0
aBlocks – Gutenberg Blocks, User Dashboard Builder, Popup Builder, Form Builder & Animation Builder v2.13.0
2.13.0 2.13.1 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 All 80 releases
← All changes | includes/controls/group-button.php +58 -0 2.7.62.13.0 View file →
@@ -1,0 +1,58 @@
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 + $device ? self::responsive_defaults() : self::get_attribute_default_value( 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 +}