Sha256: 9a651765f1514c087ed08cd4a7f6b92cc2db4d634f18fc131df1671f2cd22c5f
Contents?: true
Size: 1.08 KB
Versions: 149
Compression:
Stored size: 1.08 KB
Contents
# frozen_string_literal: true module Primer module Forms # :nodoc: class CheckBox < BaseComponent delegate :builder, :form, to: :@input def initialize(input:) @input = input @input.add_label_classes("FormControl-label") @input.add_input_classes("FormControl-checkbox") return unless @input.scheme == :array @input.input_arguments[:multiple] = true @input.label_arguments[:value] = checked_value end def nested_form_arguments return @nested_form_arguments if defined?(@nested_form_arguments) @nested_form_arguments = { hidden: @input.hidden?, **@input.nested_form_arguments } @nested_form_arguments[:class] = class_names( @nested_form_arguments[:class], @nested_form_arguments.delete(:classes), "ml-4" ) @nested_form_arguments end private def checked_value @input.value || "1" end def unchecked_value return if @input.scheme == :array @input.unchecked_value || "0" end end end end
Version data entries
149 entries across 149 versions & 2 rubygems