diff options
Diffstat (limited to 'app/components/pajamas/checkbox_tag_component.rb')
-rw-r--r-- | app/components/pajamas/checkbox_tag_component.rb | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/app/components/pajamas/checkbox_tag_component.rb b/app/components/pajamas/checkbox_tag_component.rb new file mode 100644 index 00000000000..45e88588059 --- /dev/null +++ b/app/components/pajamas/checkbox_tag_component.rb @@ -0,0 +1,44 @@ +# frozen_string_literal: true + +# Renders a Pajamas compliant checkbox element +module Pajamas + class CheckboxTagComponent < Pajamas::Component + include Pajamas::Concerns::CheckboxRadioLabelWithHelpText + include Pajamas::Concerns::CheckboxRadioOptions + + renders_one :label + renders_one :help_text + + def initialize( + name:, + label_options: {}, + checkbox_options: {}, + value: '1', + checked: false + ) + @name = name + @label_options = label_options + @input_options = checkbox_options + @value = value + @checked = checked + end + + private + + attr_reader( + :name, + :label_options, + :input_options, + :value, + :checked + ) + + def label_content + label + end + + def help_text_content + help_text + end + end +end |