Module: GovukLinkHelper

Defined in:
app/helpers/govuk_link_helper.rb

Instance Method Summary collapse

Instance Method Details



46
47
48
49
50
# File 'app/helpers/govuk_link_helper.rb', line 46

def govuk_breadcrumb_link_to(name, href = nil, **kwargs, &block)
  link_args = { class: "#{brand}-breadcrumbs__link" }.deep_merge_html_attributes(kwargs)

  link_to(name, href, **link_args, &block)
end

#govuk_button_classes(inverse: false, secondary: false, warning: false) ⇒ Object



67
68
69
70
71
72
73
74
75
76
77
78
# File 'app/helpers/govuk_link_helper.rb', line 67

def govuk_button_classes(inverse: false, secondary: false, warning: false)
  if [inverse, secondary, warning].count(true) > 1
    fail("buttons can only be one of inverse, secondary or warning")
  end

  class_names(
    "#{brand}-button",
    "#{brand}-button--inverse"   => inverse,
    "#{brand}-button--secondary" => secondary,
    "#{brand}-button--warning"   => warning,
  )
end


35
36
37
38
39
40
41
42
43
44
# File 'app/helpers/govuk_link_helper.rb', line 35

def govuk_button_link_to(name, href = nil, new_tab: false, disabled: false, inverse: false, secondary: false, warning: false, visually_hidden_prefix: nil, visually_hidden_suffix: nil, **kwargs, &block)
  button_args = extract_button_link_args(new_tab: new_tab, disabled: disabled, inverse: inverse, secondary: secondary, warning: warning, **kwargs)
  button_text = build_text(name, visually_hidden_prefix: visually_hidden_prefix, visually_hidden_suffix: visually_hidden_suffix)

  if block_given?
    link_to(name, **button_args, &block)
  else
    link_to(button_text, href, **button_args)
  end
end

#govuk_button_to(name, href = nil, disabled: false, inverse: false, secondary: false, warning: false, visually_hidden_prefix: nil, visually_hidden_suffix: nil, **kwargs, &block) ⇒ Object



24
25
26
27
28
29
30
31
32
33
# File 'app/helpers/govuk_link_helper.rb', line 24

def govuk_button_to(name, href = nil, disabled: false, inverse: false, secondary: false, warning: false, visually_hidden_prefix: nil, visually_hidden_suffix: nil, **kwargs, &block)
  button_args = extract_button_args(new_tab: false, disabled: disabled, inverse: inverse, secondary: secondary, warning: warning, **kwargs)
  button_text = build_text(name, visually_hidden_prefix: visually_hidden_prefix, visually_hidden_suffix: visually_hidden_suffix)

  if block_given?
    button_to(name, **button_args, &block)
  else
    button_to(button_text, href, **button_args)
  end
end


52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'app/helpers/govuk_link_helper.rb', line 52

def govuk_link_classes(inverse: false, muted: false, no_underline: false, no_visited_state: false, text_colour: false)
  if [text_colour, inverse, muted].count(true) > 1
    fail("links can be only be one of text_colour, inverse or muted")
  end

  class_names(
    "#{brand}-link",
    "#{brand}-link--inverse"          => inverse,
    "#{brand}-link--muted"            => muted,
    "#{brand}-link--no-underline"     => no_underline,
    "#{brand}-link--no-visited-state" => no_visited_state,
    "#{brand}-link--text-colour"      => text_colour,
  )
end


6
7
8
9
10
11
12
13
14
15
# File 'app/helpers/govuk_link_helper.rb', line 6

def govuk_link_to(name, href = nil, new_tab: false, inverse: false, muted: false, no_underline: false, no_visited_state: false, text_colour: false, visually_hidden_prefix: nil, visually_hidden_suffix: nil, **kwargs, &block)
  link_args = extract_link_args(new_tab: new_tab, inverse: inverse, muted: muted, no_underline: no_underline, no_visited_state: no_visited_state, text_colour: text_colour, **kwargs)
  link_text = build_text(name, visually_hidden_prefix: visually_hidden_prefix, visually_hidden_suffix: visually_hidden_suffix)

  if block_given?
    link_to(link_text, **link_args, &block)
  else
    link_to(link_text, href, **link_args)
  end
end

#govuk_mail_to(email_address, name = nil, new_tab: false, inverse: false, muted: false, no_underline: false, no_visited_state: false, text_colour: false, visually_hidden_prefix: nil, visually_hidden_suffix: nil, **kwargs, &block) ⇒ Object



17
18
19
20
21
22
# File 'app/helpers/govuk_link_helper.rb', line 17

def govuk_mail_to(email_address, name = nil, new_tab: false, inverse: false, muted: false, no_underline: false, no_visited_state: false, text_colour: false, visually_hidden_prefix: nil, visually_hidden_suffix: nil, **kwargs, &block)
  link_args = extract_link_args(new_tab: new_tab, inverse: inverse, muted: muted, no_underline: no_underline, no_visited_state: no_visited_state, text_colour: text_colour, **kwargs)
  link_text = build_text(name, visually_hidden_prefix: visually_hidden_prefix, visually_hidden_suffix: visually_hidden_suffix)

  mail_to(email_address, link_text, **link_args, &block)
end