class Primer::Forms::Dsl::TextFieldInput
:nodoc:
def focusable?
def focusable? true end
def initialize(name:, label:, **system_arguments)
def initialize(name:, label:, **system_arguments) @name = name @label = label @show_clear_button = system_arguments.delete(:show_clear_button) @leading_visual = system_arguments.delete(:leading_visual) @clear_button_id = system_arguments.delete(:clear_button_id) @inset = system_arguments.delete(:inset) @monospace = system_arguments.delete(:monospace) @auto_check_src = system_arguments.delete(:auto_check_src) if @leading_visual @leading_visual[:classes] = class_names( "FormControl-input-leadingVisual", @leading_visual[:classes] ) end super(**system_arguments) add_input_data(:target, "primer-text-field.inputElement #{system_arguments.dig(:data, :target) || ''}") add_input_classes("FormControl-inset") if inset? add_input_classes("FormControl-monospace") if monospace? end
def leading_visual?
def leading_visual? !!@leading_visual end
def to_component
def to_component TextField.new(input: self) 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