Sha256: 09ca7b565438f10673bf95e8d511c56bafafca5d1561181be5a0a36fade3a878
Contents?: true
Size: 1.3 KB
Versions: 2
Compression:
Stored size: 1.3 KB
Contents
module GOVUKDesignSystemFormBuilder module Elements class File < Base using PrefixableArray include Traits::Error include Traits::Hint include Traits::Label include Traits::Supplemental def initialize(builder, object_name, attribute_name, hint_text:, label:, caption:, **extra_args, &block) super(builder, object_name, attribute_name, &block) @label = label @caption = caption @hint_text = hint_text @extra_args = extra_args end def html Containers::FormGroup.new(@builder, @object_name, @attribute_name).html do safe_join( [ label_element.html, supplemental_content.html, hint_element.html, error_element.html, @builder.file_field( @attribute_name, id: field_id(link_errors: true), class: file_classes, aria: { describedby: described_by(hint_id, error_id, supplemental_id) }, **@extra_args ) ] ) end end private def file_classes %w(file-upload).prefix(brand).tap do |c| c.push(%(#{brand}-file-upload--error)) if has_errors? end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
govuk_design_system_formbuilder-1.2.0 | lib/govuk_design_system_formbuilder/elements/file.rb |
govuk_design_system_formbuilder-1.2.0b4 | lib/govuk_design_system_formbuilder/elements/file.rb |