Sha256: 9699f5b7876db9ccdf11542179a7046035d338e8c1d417ac1550da4e62e103d1
Contents?: true
Size: 1.11 KB
Versions: 42
Compression:
Stored size: 1.11 KB
Contents
# frozen_string_literal: true module Ariadne module Forms module Dsl # :nodoc: class RadioButtonGroupInput < Input attr_reader :name, :label, :radio_buttons def initialize(name:, label: nil, **options) @name = name @label = label @radio_buttons = [] super(**options) yield(self) if block_given? end def to_component component = Ariadne::Form::RadioButtonGroup::Component.new(name:, label:, **@options) @radio_buttons.each do |radio_button| component.rendered_radio_button(radio_button) end component end def type :radio_button_group end def autofocus! @radio_buttons.first&.autofocus! end def focusable? true end def radio_button(**options, &block) @radio_buttons << RadioButtonInput.new( builder: @builder, form: @form, name: @name, disabled: disabled?, **options, &block ).to_component end end end end end
Version data entries
42 entries across 42 versions & 1 rubygems