8 class LabelWidget extends Widget {
11 /* Static Properties */
13 public static $tagName = 'label';
18 * Associated input element.
20 * @var InputWidget|null
25 * @param array $config Configuration options
26 * @param InputWidget $config['input'] Input widget this label is for
28 public function __construct( array $config = [] ) {
30 parent::__construct( $config );
33 $this->initializeLabelElement(
34 array_merge( $config, [ 'labelElement' => $this ] ) );
37 $this->input = isset( $config['input'] ) ? $config['input'] : null;
40 if ( $this->input && $this->input->getInputId() ) {
41 $this->setAttributes( [ 'for' => $this->input->getInputId() ] );
43 $this->addClasses( [ 'oo-ui-labelWidget' ] );
46 public function getConfig( &$config ) {
47 if ( $this->input !== null ) {
48 $config['input'] = $this->input;
50 return parent::getConfig( $config );