PluginProbe
Tableberg – Simple Gutenberg Table Block / 1.1.5
Tableberg – Simple Gutenberg Table Block v1.1.5
1.1.5 1.1.4 1.1.3 1.1.2 1.1.1 1.1.0 1.0.5 1.0.4 1.0.3 1.0.2 1.0.1 trunk 0.0.2 0.2.1 0.3.2 0.3.3 0.4.1 0.5.0 0.5.1 0.5.2 0.5.3 0.5.4 0.5.5 0.5.6 0.5.7 All 42 releases
← All changes | renderer/Image/ImageAttrs.php +30 -0 1.0.11.1.5 View file →
@@ -2,8 +2,9 @@
2 2
3 3 namespace Tableberg\Renderer\Image;
4 4
5 5 use Tableberg\Renderer\Attrs\Corners;
6 +use Tableberg\Renderer\Attrs\BoolAttr;
6 7 use Tableberg\Renderer\Attrs\NumberAttr;
7 8 use Tableberg\Renderer\Attrs\Sides;
8 9 use Tableberg\Renderer\Attrs\StringAttr;
9 10
@@ -42,8 +43,11 @@
42 43
43 44 /** @var StringAttr */
44 45 public $linkTarget;
45 46
47 + /** @var ImageLightboxAttrs */
48 + public $lightbox;
49 +
46 50 /** @var Sides */
47 51 public $border;
48 52
49 53 /** @var Corners */
@@ -79,12 +83,38 @@
79 83 getOrNull($data['linkTarget']),
80 84 $defaults['linkTarget'],
81 85 ['_blank', '_self']
82 86 );
87 + $instance->lightbox = ImageLightboxAttrs::from_array(
88 + getOrNull($data['lightbox']),
89 + $defaults['lightbox']
90 + );
83 91 $instance->border = Sides::from_array(getOrNull($data['border']), $defaults['border']);
84 92 $instance->borderRadius = Corners::from_array(
85 93 getOrNull($data['borderRadius']),
86 94 $defaults['borderRadius']
95 + );
96 +
97 + return $instance;
98 + }
99 +}
100 +
101 +class ImageLightboxAttrs {
102 + /** @var BoolAttr */
103 + public $enabled;
104 +
105 + /**
106 + * @param array<string, mixed>|null $data
107 + * @param array<string, mixed> $defaults
108 + * @return self
109 + */
110 + public static function from_array($data, $defaults) {
111 + $data = is_array($data) ? $data : [];
112 +
113 + $instance = new self();
114 + $instance->enabled = new BoolAttr(
115 + getOrNull($data['enabled']),
116 + (bool) ($defaults['enabled'] ?? false)
87 117 );
88 118
89 119 return $instance;
90 120 }