Class: Ariadne::Form::BaseInputComponent
- Inherits:
-
BaseComponent
- Object
- ViewComponentContrib::Base
- BaseComponent
- Ariadne::Form::BaseInputComponent
- Includes:
- LabelHelper
- Defined in:
- app/components/ariadne/form/base_input_component.rb
Direct Known Subclasses
Checkbox::Component, HiddenField::Component, Radio::Component, RadioButton::Component, RadioButtonGroup::Component, Select::Component, TextField::Component
Constant Summary
Constants included from LabelHelper
LabelHelper::BASE_LABEL_STYLES
Constants inherited from BaseComponent
BaseComponent::ACCEPT_ANYTHING
Constants included from ViewHelper
Constants included from AttributesHelper
AttributesHelper::PLURAL_ARIA_ATTRIBUTES, AttributesHelper::PLURAL_DATA_ATTRIBUTES
Instance Attribute Summary collapse
Instance Method Summary collapse
- #add_label_classes(*class_names) ⇒ Object
-
#form_control? ⇒ Boolean
Whether or not to wrap the component in a FormControl, which renders a label above and validation message beneath the input.
- #full_width? ⇒ Boolean
- #hidden? ⇒ Boolean
- #html_attributes ⇒ Object
- #label_arguments ⇒ Object
Methods included from LabelHelper
Methods inherited from BaseComponent
audited_at, #class_for, #component, component_id, #component_id, component_name, generate_id, i18n_scope, #merge_data_attributes, #merge_tailwind_classes, #options, stimulus_name, translate, #validate_aria_label!
Methods included from AttributesHelper
#aria, #data, #merge_aria, #merge_data, #merge_prefixed_attribute_hashes, #prepend_action, #prepend_controller, #prepend_data_attribute
Methods included from ViewComponent::StyleVariants
Instance Attribute Details
#label_attributes ⇒ Object
46 47 48 |
# File 'app/components/ariadne/form/base_input_component.rb', line 46 def label_attributes tag.attributes(@label_attributes || {}) end |
Instance Method Details
#add_label_classes(*class_names) ⇒ Object
20 21 22 23 24 |
# File 'app/components/ariadne/form/base_input_component.rb', line 20 def add_label_classes(*class_names) # label_arguments[:class] = merge_class_names( # label_arguments[:class], *class_names # ) end |
#form_control? ⇒ Boolean
Whether or not to wrap the component in a FormControl, which renders a label above and validation message beneath the input.
40 41 42 |
# File 'app/components/ariadne/form/base_input_component.rb', line 40 def form_control? html_attrs.delete(:form_control) { true } end |
#full_width? ⇒ Boolean
34 35 36 |
# File 'app/components/ariadne/form/base_input_component.rb', line 34 def full_width? @full_width end |
#hidden? ⇒ Boolean
30 31 32 |
# File 'app/components/ariadne/form/base_input_component.rb', line 30 def hidden? !!html_attrs[:hidden] end |
#html_attributes ⇒ Object
14 15 16 17 18 |
# File 'app/components/ariadne/form/base_input_component.rb', line 14 def html_attributes html_attributes = super html_attributes = html_attributes.concat(" required") if required? html_attributes end |
#label_arguments ⇒ Object
26 27 28 |
# File 'app/components/ariadne/form/base_input_component.rb', line 26 def label_arguments {} end |