% add_gem_component_stylesheet("search") add_gem_component_stylesheet("label") shared_helper = GovukPublishingComponents::Presenters::SharedHelper.new(local_assigns) heading_helper = GovukPublishingComponents::Presenters::HeadingHelper.new(local_assigns) aria_controls ||= nil button_text ||= t("components.search_box.search_button") correction_value = "off" if local_assigns[:disable_corrections] id ||= "search-main-" + SecureRandom.hex(4) wrap_label_in_a_heading ||= false label_margin_bottom ||= nil label_size ||= nil label_text ||= t("components.search_box.label") label_custom_class ||= nil name ||= "q" homepage ||= false no_border ||= false size ||= "" value ||= "" data_attributes ||= {} classes = %w[gem-c-search govuk-!-display-none-print] classes << shared_helper.get_margin_top classes << shared_helper.get_margin_bottom if local_assigns[:margin_bottom] classes << "gem-c-search--large" if size == "large" classes << "gem-c-search--large-on-mobile" if size == "large-mobile" classes << "gem-c-search--homepage" if homepage classes << "gem-c-search--no-border" if no_border if local_assigns[:on_govuk_blue].eql?(true) classes << "gem-c-search--on-govuk-blue" else classes << "gem-c-search--on-white" end classes << "gem-c-search--separate-label" if local_assigns.include?(:inline_label) or local_assigns.include?(:label_size) label_classes = [] if (shared_helper.valid_heading_size?(label_size)) label_classes << "govuk-label govuk-label--#{label_size}" label_classes << "gem-c-search__label--white" if no_border || homepage else label_classes << "gem-c-search__label" end label_classes << "govuk-!-margin-bottom-#{label_margin_bottom}" if [*1..9].include?(label_margin_bottom) and local_assigns.include?(:inline_label) label_classes << label_custom_class if label_custom_class tag_label = capture do tag.label(for: id, class: label_classes) do label_text end end %>