<% add_gem_component_stylesheet("emergency-banner") heading ||= "" short_description ||= nil link ||= nil link_text ||= "More information" campaign_class ||= nil homepage ||= false disable_ga4 ||= false emergency_banner_helper = GovukPublishingComponents::Presenters::EmergencyBannerHelper.new() if !campaign_class raise ArgumentError, "Need to specify an emergency_type" end if !emergency_banner_helper.is_a_valid_emergency_type?(campaign_class) raise ArgumentError, "Emergency type #{campaign_class} is not in list of valid emergency types (#{emergency_banner_helper.emergency_types.join(', ')})" end heading_classes = %w[gem-c-emergency-banner__heading] heading_classes << "gem-c-emergency-banner__heading--homepage" if homepage description_classes = %w[gem-c-emergency-banner__description] description_classes << "gem-c-emergency-banner__description--homepage" if homepage component_helper = GovukPublishingComponents::Presenters::ComponentWrapperHelper.new(local_assigns) component_helper.add_class("gem-c-emergency-banner gem-c-emergency-banner--#{campaign_class}") component_helper.add_class("gem-c-emergency-banner--homepage") if homepage component_helper.add_data_attribute({nosnippet: true}) component_helper.add_aria_attribute({labelledby: "emergency-banner-heading"}) unless disable_ga4 component_helper.add_data_attribute({ ga4_emergency_banner: "", module: "ga4-link-tracker", ga4_track_links_only: "", ga4_set_indexes: "", ga4_link: { event_name: "navigation", type: "emergency banner", section: heading, }.to_json }) end %> <%= tag.section(**component_helper.all_attributes) do %>
<%= content_tag('h2', id: "emergency-banner-heading", class: heading_classes) do %> <%= heading %> <% end %> <% if short_description %> <%= content_tag('p', class: description_classes) do %> <%= short_description %> <% end %> <% end %> <% if link %> <%= link_text %> <% end %>
<% end %>