widget_type = $widget_type; } public function settings( array $settings ) { $this->settings = $settings; return $this; } public function is_locked( $is_locked ) { $this->is_locked = $is_locked; return $this; } public function editor_settings( array $editor_settings ) { $this->editor_settings = $editor_settings; return $this; } public function meta( array $meta ) { $this->meta = $meta; return $this; } public function build() { $widget_data = [ 'elType' => 'widget', 'widgetType' => $this->widget_type, 'settings' => $this->settings, 'isLocked' => $this->is_locked, 'editor_settings' => $this->editor_settings, ]; if ( ! empty( $this->meta ) ) { $widget_data['meta'] = $this->meta; } return $widget_data; } }