Sha256: 3a69cae24044c9869914a4aadf00cc0c922f6b60f3d9d75349937fe357d00881
Contents?: true
Size: 1.26 KB
Versions: 1
Compression:
Stored size: 1.26 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:, label:, caption:, form_group:, **kwargs, &block) super(builder, object_name, attribute_name, &block) @label = label @caption = caption @hint = hint @extra_options = kwargs @form_group = form_group end def html Containers::FormGroup.new(@builder, @object_name, @attribute_name, **@form_group).html do safe_join([label_element, supplemental_content, hint_element, error_element, file]) end end private def file @builder.file_field(@attribute_name, **options, **@extra_options) end def options { id: field_id(link_errors: true), class: classes, aria: { describedby: described_by(hint_id, error_id, supplemental_id) } } end def 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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
govuk_design_system_formbuilder-2.0.0b1 | lib/govuk_design_system_formbuilder/elements/file.rb |