Module: BetterUi::General::Components::Input::Text::TextHelper

Included in:
ApplicationHelper
Defined in:
app/helpers/better_ui/general/components/input/text/text_helper.rb

Instance Method Summary collapse

Instance Method Details

#bui_input_color(name:, value: nil, placeholder: nil, required: false, disabled: false, theme: :default, size: :medium, rounded: :medium, classes: '', form: nil, **options) ⇒ Object

Input di tipo color



126
127
128
129
130
131
132
# File 'app/helpers/better_ui/general/components/input/text/text_helper.rb', line 126

def bui_input_color(name:, value: nil, placeholder: nil, required: false, disabled: false,
                   theme: :default, size: :medium, rounded: :medium, classes: '', form: nil, **options)
  bui_input_text(
    name: name, value: value, placeholder: placeholder, required: required, disabled: disabled,
    type: :color, theme: theme, size: size, rounded: rounded, classes: classes, form: form, **options
  )
end

#bui_input_email(name:, value: nil, placeholder: nil, required: false, disabled: false, theme: :default, size: :medium, rounded: :medium, classes: '', form: nil, **options) ⇒ Object

Input di tipo email



78
79
80
81
82
83
84
# File 'app/helpers/better_ui/general/components/input/text/text_helper.rb', line 78

def bui_input_email(name:, value: nil, placeholder: nil, required: false, disabled: false,
                   theme: :default, size: :medium, rounded: :medium, classes: '', form: nil, **options)
  bui_input_text(
    name: name, value: value, placeholder: placeholder, required: required, disabled: disabled,
    type: :email, theme: theme, size: size, rounded: rounded, classes: classes, form: form, **options
  )
end

#bui_input_number(name:, value: nil, placeholder: nil, required: false, disabled: false, theme: :default, size: :medium, rounded: :medium, classes: '', form: nil, **options) ⇒ Object

Input di tipo number



105
106
107
108
109
110
111
# File 'app/helpers/better_ui/general/components/input/text/text_helper.rb', line 105

def bui_input_number(name:, value: nil, placeholder: nil, required: false, disabled: false,
                    theme: :default, size: :medium, rounded: :medium, classes: '', form: nil, **options)
  bui_input_text(
    name: name, value: value, placeholder: placeholder, required: required, disabled: disabled,
    type: :number, theme: theme, size: size, rounded: rounded, classes: classes, form: form, **options
  )
end

#bui_input_password(name:, value: nil, placeholder: nil, required: false, disabled: false, theme: :default, size: :medium, rounded: :medium, classes: '', form: nil, **options) ⇒ Object

Input di tipo password



69
70
71
72
73
74
75
# File 'app/helpers/better_ui/general/components/input/text/text_helper.rb', line 69

def bui_input_password(name:, value: nil, placeholder: nil, required: false, disabled: false,
                      theme: :default, size: :medium, rounded: :medium, classes: '', form: nil, **options)
  bui_input_text(
    name: name, value: value, placeholder: placeholder, required: required, disabled: disabled,
    type: :password, theme: theme, size: size, rounded: rounded, classes: classes, form: form, **options
  )
end

#bui_input_search(name:, value: nil, placeholder: nil, required: false, disabled: false, theme: :default, size: :medium, rounded: :medium, classes: '', form: nil, **options) ⇒ Object

Input di tipo search



114
115
116
117
118
119
120
# File 'app/helpers/better_ui/general/components/input/text/text_helper.rb', line 114

def bui_input_search(name:, value: nil, placeholder: nil, required: false, disabled: false,
                    theme: :default, size: :medium, rounded: :medium, classes: '', form: nil, **options)
  bui_input_text(
    name: name, value: value, placeholder: placeholder, required: required, disabled: disabled,
    type: :search, theme: theme, size: size, rounded: rounded, classes: classes, form: form, **options
  )
end

#bui_input_tel(name:, value: nil, placeholder: nil, required: false, disabled: false, theme: :default, size: :medium, rounded: :medium, classes: '', form: nil, **options) ⇒ Object

Input di tipo tel



87
88
89
90
91
92
93
# File 'app/helpers/better_ui/general/components/input/text/text_helper.rb', line 87

def bui_input_tel(name:, value: nil, placeholder: nil, required: false, disabled: false,
                 theme: :default, size: :medium, rounded: :medium, classes: '', form: nil, **options)
  bui_input_text(
    name: name, value: value, placeholder: placeholder, required: required, disabled: disabled,
    type: :tel, theme: theme, size: size, rounded: rounded, classes: classes, form: form, **options
  )
end

#bui_input_text(name:, value: nil, placeholder: nil, required: false, disabled: false, type: :text, theme: :default, size: :medium, rounded: :medium, classes: '', form: nil, **options) ⇒ String

Renderizza un componente Text Input con tutti i parametri disponibili.

Examples:

Uso base

<%= bui_input_text(name: 'email') %>

Con placeholder e validazione

<%= bui_input_text(name: 'email', placeholder: 'Inserisci la tua email', required: true) %>

Con tema e dimensione personalizzati

<%= bui_input_text(name: 'search', theme: :blue, size: :large, placeholder: 'Cerca...') %>

Con border radius personalizzato

<%= bui_input_text(name: 'username', rounded: :full, placeholder: 'Username') %>

Con classi aggiuntive

<%= bui_input_text(name: 'custom', classes: 'mb-4', placeholder: 'Campo personalizzato') %>

Con attributi HTML aggiuntivi

<%= bui_input_text(name: 'data-field', 'data-validation': 'email', 'aria-label': 'Campo email') %>

Con Rails form builder

<%= form_with model: @user do |form| %>
  <%= bui_input_text(name: :email, form: form, theme: :blue, placeholder: 'Email utente') %>
<% end %>

Parameters:

  • name (String)

    Nome del campo input (obbligatorio)

  • value (String, nil) (defaults to: nil)

    Valore del campo

  • placeholder (String, nil) (defaults to: nil)

    Placeholder del campo

  • required (Boolean) (defaults to: false)

    Se il campo è obbligatorio

  • disabled (Boolean) (defaults to: false)

    Se il campo è disabilitato

  • type (Symbol) (defaults to: :text)

    Tipo del campo input (:text, :password, :email, :tel, :url, :number, :search, :color)

  • theme (Symbol) (defaults to: :default)

    Tema del componente (:default, :white, :red, :rose, :orange, :green, :blue, :yellow, :violet)

  • size (Symbol) (defaults to: :medium)

    Dimensione del componente (:small, :medium, :large)

  • rounded (Symbol) (defaults to: :medium)

    Border radius (:none, :small, :medium, :large, :full)

  • classes (String) (defaults to: '')

    Classi CSS aggiuntive

  • form (ActionView::Helpers::FormBuilder, nil) (defaults to: nil)

    Form builder Rails opzionale

  • options (Hash)

    Opzioni aggiuntive per l’input (es. data attributes, aria attributes)

Returns:

  • (String)

    HTML del componente Text Input renderizzato



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'app/helpers/better_ui/general/components/input/text/text_helper.rb', line 48

def bui_input_text(name:, value: nil, placeholder: nil, required: false, disabled: false,
                   type: :text, theme: :default, size: :medium, rounded: :medium, classes: '', form: nil, **options)
  render BetterUi::General::Input::Text::Component.new(
    name: name,
    value: value,
    placeholder: placeholder,
    required: required,
    disabled: disabled,
    type: type,
    theme: theme,
    size: size,
    rounded: rounded,
    classes: classes,
    form: form,
    **options
  )
end

#bui_input_url(name:, value: nil, placeholder: nil, required: false, disabled: false, theme: :default, size: :medium, rounded: :medium, classes: '', form: nil, **options) ⇒ Object

Input di tipo url



96
97
98
99
100
101
102
# File 'app/helpers/better_ui/general/components/input/text/text_helper.rb', line 96

def bui_input_url(name:, value: nil, placeholder: nil, required: false, disabled: false,
                 theme: :default, size: :medium, rounded: :medium, classes: '', form: nil, **options)
  bui_input_text(
    name: name, value: value, placeholder: placeholder, required: required, disabled: disabled,
    type: :url, theme: theme, size: size, rounded: rounded, classes: classes, form: form, **options
  )
end