Sha256: e34e0a5045cccabcbb9850d42aba4df77413ec92f1f4a9a36c55c6ae9f9827ee

Contents?: true

Size: 1.04 KB

Versions: 10

Compression:

Stored size: 1.04 KB

Contents

# frozen_string_literal: true

module Primer
  module Forms
    # :nodoc:
    class TextField < BaseComponent
      delegate :builder, :form, to: :@input

      def initialize(input:)
        @input = input

        @input.add_input_classes(
          "FormControl-input",
          Primer::Forms::Dsl::Input::SIZE_MAPPINGS[@input.size]
        )

        @field_wrap_arguments = {
          class: class_names(
            "FormControl-input-wrap",
            "FormControl-input-wrap--trailingAction": @input.show_clear_button?,
            "FormControl-input-wrap--leadingVisual": @input.leading_visual?
          ),

          hidden: @input.hidden?
        }
      end

      def auto_check_authenticity_token
        return @auto_check_authenticity_token if defined?(@auto_check_authenticity_token)

        @auto_check_authenticity_token =
          if @input.auto_check_src
            @view_context.form_authenticity_token(
              form_options: { method: :post, action: @input.auto_check_src }
            )
          end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
primer_view_components-0.1.7 lib/primer/forms/text_field.rb
primer_view_components-0.1.6 lib/primer/forms/text_field.rb
primer_view_components-0.1.5 lib/primer/forms/text_field.rb
primer_view_components-0.1.4 lib/primer/forms/text_field.rb
primer_view_components-0.1.3 lib/primer/forms/text_field.rb
primer_view_components-0.1.2 lib/primer/forms/text_field.rb
primer_view_components-0.1.1 lib/primer/forms/text_field.rb
primer_view_components-0.1.0 lib/primer/forms/text_field.rb
primer_view_components-0.0.123 lib/primer/forms/text_field.rb
primer_view_components-0.0.122 lib/primer/forms/text_field.rb