ds_fr: add radio_button_list component

This commit is contained in:
simon lehericey 2023-04-24 15:15:13 +02:00
parent 94b9873bcd
commit 2135d3c4e7
2 changed files with 20 additions and 0 deletions

View file

@ -0,0 +1,7 @@
class Dsfr::RadioButtonListComponent < ApplicationComponent
def initialize(form:, target:, buttons:)
@form = form
@target = target
@buttons = buttons
end
end

View file

@ -0,0 +1,13 @@
%fieldset.fr-fieldset{ 'aria-labelledby': 'radio-hint-element-legend radio-hint-element-messages' }
%legend.fr-fieldset__legend--regular.fr-fieldset__legend
= content
- @buttons.map { _1.values_at(:label, :value, :hint) }.each do |label, value, hint|
.fr-fieldset__element
.fr-radio-group
= @form.radio_button @target, value
= @form.label @target, value: value, class: 'fr-label' do
- capture do
= label
%span.fr-hint-text= hint
.fr-messages-group{ 'aria-live': 'assertive' }