<?php
/**
 * BookiFlex Core
 *
 * @package    BookiFlex
 * @subpackage Core
 * @author     BookiFlex
 * @copyright  Copyright (c) 2025 BookiFlex
 * @license    GPL-2.0-or-later
 *
 * @link       https://bookiflex.com
 */

declare(strict_types=1);

namespace BookiFlex\Core\Admin\CPT\Event;

defined( 'ABSPATH' ) || exit;

/**
 * Fired while the AccommodationType "Guests & beds" tab is being assembled,
 * before its fields are passed to Container::add_tab(). Subscribers may append
 * their own Carbon Fields to the $fields array to inject extra UI sections
 * (e.g. extra placements, children placement) into the tab.
 */
class AccommodationTypeGuestsBedFieldsBuilding
{
    /**
     * Carbon Fields collected for the tab. Mutable on purpose — subscribers
     * mutate this array to add fields.
     *
     * @var array<int, mixed>
     */
    public array $fields;

    /**
     * @param array<int, mixed> $fields
     */
    public function __construct(array $fields)
    {
        $this->fields = $fields;
    }
}
