class Ariadne::Forms::Dsl::TextFieldInput

:nodoc:

def focusable?

def focusable?
  true
end

def initialize(name:, label:, **options)

def initialize(name:, label:, **options)
  @name = name
  @label = label
  @show_clear_button = options.delete(:show_clear_button)
  @inset = options.delete(:inset)
  @monospace = options.delete(:monospace)
  @auto_check_src = options.delete(:auto_check_src)
  super(**options)
  add_input_data(:target, "ariadne-text-field.inputElement #{@input_attributes.dig(:data, :target) || ""}".rstrip)
end

def to_component

def to_component
  html_attrs = @input_attributes || {}
  html_attrs[:placeholder] = @placeholder if @placeholder.present?
  html_attrs[:disabled] = true if @disabled
  leading_visual_heroicon = @options.delete(:leading_visual_heroicon)
  text = Ariadne::Form::TextField::Component.new(name: @name, label: @label, caption: @caption, html_attrs: html_attrs, **@options)
  text.with_leading_visual_heroicon(**leading_visual_heroicon) if leading_visual_heroicon.present?
  text
end

def type

def type
  :text_field
end

def validation_arguments

def validation_arguments
  if auto_check_src.present?
    super.merge(
      data: {
        target: "primer-text-field.validationElement",
      },
    )
  else
    super
  end
end

def validation_error_icon_target

def validation_error_icon_target
  "primer-text-field.validationErrorIcon"
end

def validation_message_arguments

def validation_message_arguments
  if auto_check_src.present?
    super.merge(
      data: {
        target: "primer-text-field.validationMessageElement",
      },
    )
  else
    super
  end
end

def validation_success_icon_target

def validation_success_icon_target
  "primer-text-field.validationSuccessIcon"
end