Sha256: 3226ce51b87e92d16bc9829dda0c5f8c9e9e4460585ac2ebf51bb3657e1ffdb2

Contents?: true

Size: 1.02 KB

Versions: 18

Compression:

Stored size: 1.02 KB

Contents

# frozen_string_literal: true

module Primer
  module Forms
    module Dsl
      # :nodoc:
      class CheckBoxGroupInput < Input
        attr_reader :label, :check_boxes

        def initialize(name: nil, label: nil, **system_arguments)
          @name = name
          @label = label
          @check_boxes = []

          super(**system_arguments)

          add_label_classes("FormControl-label", "mb-2")

          yield(self) if block_given?
        end

        def to_component
          CheckBoxGroup.new(input: self)
        end

        def name
          nil
        end

        def type
          :check_box_group
        end

        def check_box(**system_arguments, &block)
          args = {
            name: @name,
            **system_arguments,
            builder: @builder,
            form: @form,
            scheme: scheme
          }

          @check_boxes << CheckBoxInput.new(**args, &block)
        end

        private

        def scheme
          @name ? :array : :boolean
        end
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
primer_view_components-0.0.121 lib/primer/forms/dsl/check_box_group_input.rb
primer_view_components-0.0.120 lib/primer/forms/dsl/check_box_group_input.rb
primer_view_components-0.0.119 lib/primer/forms/dsl/check_box_group_input.rb
primer_view_components-0.0.118 lib/primer/forms/dsl/check_box_group_input.rb
primer_view_components-0.0.117 lib/primer/forms/dsl/check_box_group_input.rb
primer_view_components-0.0.116 lib/primer/forms/dsl/check_box_group_input.rb
primer_view_components-0.0.115 lib/primer/forms/dsl/check_box_group_input.rb
primer_view_components-0.0.114 lib/primer/forms/dsl/check_box_group_input.rb
primer_view_components-0.0.113 lib/primer/forms/dsl/check_box_group_input.rb
primer_view_components-0.0.112 lib/primer/forms/dsl/check_box_group_input.rb
primer_view_components-0.0.111 lib/primer/forms/dsl/check_box_group_input.rb
primer_view_components-0.0.110 lib/primer/forms/dsl/check_box_group_input.rb
primer_view_components-0.0.109 lib/primer/forms/dsl/check_box_group_input.rb
primer_view_components-0.0.108 lib/primer/forms/dsl/check_box_group_input.rb
primer_view_components-0.0.107 lib/primer/forms/dsl/check_box_group_input.rb
primer_view_components-0.0.106 lib/primer/forms/dsl/check_box_group_input.rb
primer_view_components-0.0.105 lib/primer/forms/dsl/check_box_group_input.rb
primer_view_components-0.0.104 lib/primer/forms/dsl/check_box_group_input.rb