class Avo::Resources::Items::TabGroup::Builder

def build

Fetch the tab
def build
  @group.items_holder = @items_holder
  @group
end

def field(field_name, **args, &block)

def field(field_name, **args, &block)
  parsed = Avo::Dsl::FieldParser.new(id: field_name, order_index: @items_index, **args, &block).parse
  field_instance = parsed.instance
  name = field_instance.name
  tab = Avo::Resources::Items::Tab.new name: name
  if field_instance.has_own_panel?
    tab.items_holder.add_item parsed.instance
  else
    # If the field is not in a panel, create one and add it
    panel = Avo::Resources::Items::Panel.new name: name
    panel.items_holder.add_item parsed.instance
    # Add that panel to the items_holder
    tab.items_holder.add_item panel
  end
  @items_holder.tabs tab
end

def initialize(style: nil)

def initialize(style: nil)
  @group = Avo::Resources::Items::TabGroup.new(style: style)
  @items_holder = Avo::Resources::Items::Holder.new
end

def parse_block(**args, &block)

def parse_block(**args, &block)
  Docile.dsl_eval(new(**args), &block).build
end