design_system 0.13.2 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +36 -3
- data/app/assets/stylesheets/design_system/_hljs.scss +131 -0
- data/app/assets/stylesheets/design_system/govuk.scss +43 -0
- data/app/assets/stylesheets/design_system/nhsuk.scss +55 -0
- data/app/components/design_system/base_component.rb +21 -0
- data/app/components/design_system/generic/action_link_component.rb +17 -0
- data/app/components/design_system/generic/alert_component.rb +25 -0
- data/app/components/design_system/generic/breadcrumbs_component.rb +18 -0
- data/app/components/design_system/generic/button_component.rb +51 -0
- data/app/components/design_system/generic/callout_component.html.erb +8 -0
- data/app/components/design_system/generic/callout_component.rb +15 -0
- data/app/components/design_system/generic/details_component.html.erb +4 -0
- data/app/components/design_system/generic/details_component.rb +13 -0
- data/app/components/design_system/generic/grid_component.html.erb +5 -0
- data/app/components/design_system/generic/grid_component.rb +31 -0
- data/app/components/design_system/generic/heading_component.rb +41 -0
- data/app/components/design_system/generic/inset_text_component.html.erb +1 -0
- data/app/components/design_system/generic/inset_text_component.rb +24 -0
- data/app/components/design_system/generic/link_component.rb +51 -0
- data/app/components/design_system/generic/list_component.html.erb +7 -0
- data/app/components/design_system/generic/list_component.rb +26 -0
- data/app/components/design_system/generic/notification_component.html.erb +15 -0
- data/app/components/design_system/generic/notification_component.rb +39 -0
- data/app/components/design_system/generic/panel_component.html.erb +4 -0
- data/app/components/design_system/generic/panel_component.rb +18 -0
- data/app/components/design_system/generic/paragraph_component.rb +46 -0
- data/app/components/design_system/generic/start_button_component.html.erb +4 -0
- data/app/components/design_system/generic/start_button_component.rb +17 -0
- data/app/components/design_system/generic/summary_card_component.html.erb +15 -0
- data/app/components/design_system/generic/summary_card_component.rb +40 -0
- data/app/components/design_system/generic/summary_list_component.html.erb +21 -0
- data/app/components/design_system/generic/summary_list_component.rb +59 -0
- data/app/components/design_system/generic/tab_component.html.erb +21 -0
- data/app/components/design_system/generic/tab_component.rb +14 -0
- data/app/components/design_system/generic/table_component.rb +46 -0
- data/app/components/design_system/govuk/action_link_component.html.erb +1 -0
- data/app/components/design_system/govuk/action_link_component.rb +8 -0
- data/app/components/design_system/govuk/alert_component.rb +6 -0
- data/app/components/design_system/govuk/breadcrumbs_component.html.erb +11 -0
- data/app/components/design_system/govuk/breadcrumbs_component.rb +7 -0
- data/app/components/design_system/govuk/button_component.rb +6 -0
- data/app/components/design_system/govuk/callout_component.html.erb +6 -0
- data/app/components/design_system/govuk/callout_component.rb +6 -0
- data/app/components/design_system/govuk/details_component.rb +6 -0
- data/app/components/design_system/govuk/grid_component.rb +6 -0
- data/app/components/design_system/govuk/heading_component.rb +6 -0
- data/app/components/design_system/govuk/inset_text_component.rb +6 -0
- data/app/components/design_system/govuk/link_component.rb +17 -0
- data/app/components/design_system/govuk/list_component.rb +6 -0
- data/app/components/design_system/govuk/notification_component.rb +6 -0
- data/app/components/design_system/govuk/panel_component.rb +10 -0
- data/app/components/design_system/govuk/paragraph_component.rb +6 -0
- data/app/components/design_system/govuk/start_button_component.rb +6 -0
- data/app/components/design_system/govuk/summary_card_component.html.erb +15 -0
- data/app/components/design_system/govuk/summary_card_component.rb +13 -0
- data/app/components/design_system/govuk/summary_list_component.rb +6 -0
- data/app/components/design_system/govuk/tab_component.rb +6 -0
- data/app/components/design_system/govuk/table_component.html.erb +30 -0
- data/app/components/design_system/govuk/table_component.rb +6 -0
- data/app/components/design_system/nhsuk/action_link_component.html.erb +7 -0
- data/app/components/design_system/nhsuk/action_link_component.rb +7 -0
- data/app/components/design_system/nhsuk/alert_component.rb +6 -0
- data/app/components/design_system/nhsuk/breadcrumbs_component.html.erb +16 -0
- data/app/components/design_system/nhsuk/breadcrumbs_component.rb +7 -0
- data/app/components/design_system/nhsuk/button_component.rb +6 -0
- data/app/components/design_system/nhsuk/callout_component.rb +6 -0
- data/app/components/design_system/nhsuk/details_component.rb +6 -0
- data/app/components/design_system/nhsuk/grid_component.rb +6 -0
- data/app/components/design_system/nhsuk/heading_component.rb +6 -0
- data/app/components/design_system/nhsuk/inset_text_component.html.erb +4 -0
- data/app/components/design_system/nhsuk/inset_text_component.rb +6 -0
- data/app/components/design_system/nhsuk/link_component.rb +17 -0
- data/app/components/design_system/nhsuk/list_component.rb +6 -0
- data/app/components/design_system/nhsuk/notification_component.rb +6 -0
- data/app/components/design_system/nhsuk/panel_component.rb +6 -0
- data/app/components/design_system/nhsuk/paragraph_component.rb +6 -0
- data/app/components/design_system/nhsuk/start_button_component.rb +6 -0
- data/app/components/design_system/nhsuk/summary_card_component.rb +6 -0
- data/app/components/design_system/nhsuk/summary_list_component.rb +19 -0
- data/app/components/design_system/nhsuk/tab_component.rb +6 -0
- data/app/components/design_system/nhsuk/table_component.html.erb +43 -0
- data/app/components/design_system/nhsuk/table_component.rb +6 -0
- data/app/controllers/concerns/design_system/branded.rb +6 -0
- data/app/helpers/design_system_helper.rb +65 -27
- data/app/javascript/design_system/controllers/clipboard_controller.js +41 -0
- data/app/javascript/design_system/controllers/code_highlight_controller.js +9 -0
- data/app/javascript/design_system/controllers/hello_world_controller.js +6 -0
- data/app/javascript/design_system/index.js +4 -0
- data/app/views/layouts/govuk/application.html.erb +20 -7
- data/app/views/layouts/nhsuk/application.html.erb +10 -7
- data/lib/design_system/brand_derivable.rb +9 -0
- data/lib/design_system/engine.rb +1 -0
- data/lib/design_system/generic/builders/base.rb +1 -1
- data/lib/design_system/generic/builders/code.rb +23 -0
- data/lib/design_system/generic/builders/elements/breadcrumbs.rb +4 -24
- data/lib/design_system/generic/builders/elements/headings.rb +3 -2
- data/lib/design_system/generic/builders/pagination_renderer.rb +5 -4
- data/lib/design_system/generic.rb +1 -14
- data/lib/design_system/govuk/builders/code.rb +11 -0
- data/lib/design_system/govuk/builders/fixed_elements.rb +0 -1
- data/lib/design_system/govuk.rb +1 -12
- data/lib/design_system/nhsuk/builders/code.rb +11 -0
- data/lib/design_system/nhsuk/builders/fixed_elements.rb +0 -1
- data/lib/design_system/nhsuk.rb +1 -12
- data/lib/design_system/registry.rb +19 -1
- data/lib/design_system/version.rb +1 -1
- data/public/design_system/static/design_system-0.15.0/design_system.js +53150 -0
- metadata +101 -50
- data/lib/design_system/generic/builders/action_link.rb +0 -17
- data/lib/design_system/generic/builders/button.rb +0 -33
- data/lib/design_system/generic/builders/callout.rb +0 -28
- data/lib/design_system/generic/builders/concerns/brand_derivable.rb +0 -14
- data/lib/design_system/generic/builders/details.rb +0 -30
- data/lib/design_system/generic/builders/grid.rb +0 -44
- data/lib/design_system/generic/builders/heading.rb +0 -38
- data/lib/design_system/generic/builders/inset_text.rb +0 -18
- data/lib/design_system/generic/builders/link.rb +0 -44
- data/lib/design_system/generic/builders/list.rb +0 -41
- data/lib/design_system/generic/builders/notification.rb +0 -68
- data/lib/design_system/generic/builders/panel.rb +0 -18
- data/lib/design_system/generic/builders/paragraph.rb +0 -28
- data/lib/design_system/generic/builders/summary_list.rb +0 -89
- data/lib/design_system/generic/builders/tab.rb +0 -14
- data/lib/design_system/generic/builders/table.rb +0 -73
- data/lib/design_system/govuk/builders/action_link.rb +0 -17
- data/lib/design_system/govuk/builders/button.rb +0 -55
- data/lib/design_system/govuk/builders/callout.rb +0 -26
- data/lib/design_system/govuk/builders/details.rb +0 -10
- data/lib/design_system/govuk/builders/elements/breadcrumbs.rb +0 -33
- data/lib/design_system/govuk/builders/grid.rb +0 -12
- data/lib/design_system/govuk/builders/heading.rb +0 -11
- data/lib/design_system/govuk/builders/inset_text.rb +0 -11
- data/lib/design_system/govuk/builders/link.rb +0 -21
- data/lib/design_system/govuk/builders/list.rb +0 -11
- data/lib/design_system/govuk/builders/notification.rb +0 -11
- data/lib/design_system/govuk/builders/panel.rb +0 -18
- data/lib/design_system/govuk/builders/paragraph.rb +0 -11
- data/lib/design_system/govuk/builders/summary_list.rb +0 -32
- data/lib/design_system/govuk/builders/tab.rb +0 -54
- data/lib/design_system/govuk/builders/table.rb +0 -77
- data/lib/design_system/nhsuk/builders/action_link.rb +0 -30
- data/lib/design_system/nhsuk/builders/button.rb +0 -11
- data/lib/design_system/nhsuk/builders/callout.rb +0 -11
- data/lib/design_system/nhsuk/builders/details.rb +0 -10
- data/lib/design_system/nhsuk/builders/elements/breadcrumbs.rb +0 -43
- data/lib/design_system/nhsuk/builders/grid.rb +0 -12
- data/lib/design_system/nhsuk/builders/heading.rb +0 -11
- data/lib/design_system/nhsuk/builders/inset_text.rb +0 -23
- data/lib/design_system/nhsuk/builders/link.rb +0 -21
- data/lib/design_system/nhsuk/builders/list.rb +0 -11
- data/lib/design_system/nhsuk/builders/notification.rb +0 -11
- data/lib/design_system/nhsuk/builders/panel.rb +0 -11
- data/lib/design_system/nhsuk/builders/paragraph.rb +0 -11
- data/lib/design_system/nhsuk/builders/summary_list.rb +0 -18
- data/lib/design_system/nhsuk/builders/tab.rb +0 -11
- data/lib/design_system/nhsuk/builders/table.rb +0 -68
- data/public/design_system/static/design_system-0.13.2/design_system.js +0 -1309
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
module DesignSystem
|
|
2
|
-
module Nhsuk
|
|
3
|
-
module Builders
|
|
4
|
-
module Elements
|
|
5
|
-
# This mixin module is used to provide NHS breadcrumbs.
|
|
6
|
-
module Breadcrumbs
|
|
7
|
-
private
|
|
8
|
-
|
|
9
|
-
def content_for_breadcrumbs
|
|
10
|
-
content_for(:breadcrumbs) do
|
|
11
|
-
content_tag(:nav, 'aria-label': 'Breadcrumb', class: "#{brand}-breadcrumb") do
|
|
12
|
-
content_tag(:ol, class: "#{brand}-breadcrumb__list") do
|
|
13
|
-
@breadcrumbs.each_with_object(ActiveSupport::SafeBuffer.new) do |breadcrumb, safe_buffer|
|
|
14
|
-
safe_buffer.concat(render_breadcrumb(breadcrumb))
|
|
15
|
-
end
|
|
16
|
-
end +
|
|
17
|
-
content_for_back_link
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def content_for_back_link
|
|
23
|
-
link_to(@breadcrumbs.last[:path],
|
|
24
|
-
class: "#{brand}-back-link",
|
|
25
|
-
'aria-current': @context.current_page?(@breadcrumbs.last[:path]) ? 'page' : nil) do
|
|
26
|
-
content_tag(:span, 'Back to '.html_safe, class: "#{brand}-u-visually-hidden") +
|
|
27
|
-
@breadcrumbs.last[:label]
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
def render_breadcrumb(breadcrumb)
|
|
32
|
-
content_tag(:li, class: "#{brand}-breadcrumb__list-item") do
|
|
33
|
-
link_to(breadcrumb[:label],
|
|
34
|
-
breadcrumb[:path],
|
|
35
|
-
class: "#{brand}-breadcrumb__link",
|
|
36
|
-
'aria-current': @context.current_page?(breadcrumb[:path]) ? 'page' : nil)
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
end
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module DesignSystem
|
|
4
|
-
module Nhsuk
|
|
5
|
-
module Builders
|
|
6
|
-
# NHS UK specific grid implementation
|
|
7
|
-
# Inherits all functionality from generic builder
|
|
8
|
-
class Grid < ::DesignSystem::Generic::Builders::Grid
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
end
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module DesignSystem
|
|
4
|
-
module Nhsuk
|
|
5
|
-
module Builders
|
|
6
|
-
# This generates html for rendering inset text for Nhsuk
|
|
7
|
-
class InsetText < ::DesignSystem::Generic::Builders::InsetText
|
|
8
|
-
def render_inset_text(text = nil, **options, &)
|
|
9
|
-
content = block_given? ? capture(&) : text
|
|
10
|
-
return if content.blank?
|
|
11
|
-
|
|
12
|
-
wrapped_content = block_given? ? content : content_tag(:p, content)
|
|
13
|
-
|
|
14
|
-
div_options = css_class_options_merge(options, ["#{brand}-inset-text"])
|
|
15
|
-
|
|
16
|
-
content_tag(:div, **div_options) do
|
|
17
|
-
content_tag(:span, 'Information: ', class: "#{brand}-u-visually-hidden") + wrapped_content
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module DesignSystem
|
|
4
|
-
module Nhsuk
|
|
5
|
-
module Builders
|
|
6
|
-
# This class provides NHSUK Link.
|
|
7
|
-
class Link < ::DesignSystem::Generic::Builders::Link
|
|
8
|
-
private
|
|
9
|
-
|
|
10
|
-
def button_type_class_hash
|
|
11
|
-
{
|
|
12
|
-
button: "#{brand}-button",
|
|
13
|
-
secondary_button: "#{brand}-button #{brand}-button--secondary",
|
|
14
|
-
warning_button: "#{brand}-button #{brand}-button--warning",
|
|
15
|
-
reverse_button: "#{brand}-button #{brand}-button--reverse"
|
|
16
|
-
}
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module DesignSystem
|
|
4
|
-
module Nhsuk
|
|
5
|
-
module Builders
|
|
6
|
-
# This class provides NHSUK Summary List.
|
|
7
|
-
class SummaryList < ::DesignSystem::Generic::Builders::SummaryList
|
|
8
|
-
private
|
|
9
|
-
|
|
10
|
-
def render_hidden_text(hidden_text)
|
|
11
|
-
return '' if hidden_text.blank?
|
|
12
|
-
|
|
13
|
-
content_tag(:span, hidden_text, class: "#{brand}-u-visually-hidden")
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module DesignSystem
|
|
4
|
-
module Nhsuk
|
|
5
|
-
module Builders
|
|
6
|
-
# This class is used to provide Nhsuk Table.
|
|
7
|
-
class Table < ::DesignSystem::Govuk::Builders::Table
|
|
8
|
-
private
|
|
9
|
-
|
|
10
|
-
def table_content
|
|
11
|
-
content_tag(:table, nil, class: "#{brand}-table-responsive") do
|
|
12
|
-
safe_buffer = ActiveSupport::SafeBuffer.new
|
|
13
|
-
|
|
14
|
-
if @table.caption
|
|
15
|
-
safe_buffer.concat(content_tag(:caption, @table.caption,
|
|
16
|
-
class: "#{brand}-table__caption"))
|
|
17
|
-
end
|
|
18
|
-
safe_buffer.concat(render_headers)
|
|
19
|
-
safe_buffer.concat(render_rows)
|
|
20
|
-
|
|
21
|
-
safe_buffer
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def render_headers
|
|
26
|
-
content_tag(:thead, role: 'rowgroup', class: "#{brand}-table__head") do
|
|
27
|
-
content_tag(:tr, role: 'row') do
|
|
28
|
-
@table.columns.each_with_object(ActiveSupport::SafeBuffer.new) do |column, header_buffer|
|
|
29
|
-
header_buffer.concat(render_headers_cell(column))
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
def render_headers_cell(cell)
|
|
36
|
-
classes = "#{brand}-table__header"
|
|
37
|
-
classes += " #{brand}-table__header--numeric" if cell_numeric?(cell)
|
|
38
|
-
|
|
39
|
-
content_tag(:th, cell_content(cell), cell[:options].merge(scope: 'col', class: classes, role: 'columnheader'))
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def render_row(row)
|
|
43
|
-
content_tag(:tr, role: 'row', class: "#{brand}-table__row") do
|
|
44
|
-
row.each_with_object(ActiveSupport::SafeBuffer.new).with_index do |(cell, cell_buffer), index|
|
|
45
|
-
cell_buffer.concat(render_data_cell(cell, index))
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
def render_data_cell(cell, index)
|
|
51
|
-
classes = "#{brand}-table__cell"
|
|
52
|
-
classes += " #{brand}-table__cell--numeric" if cell_numeric?(cell)
|
|
53
|
-
|
|
54
|
-
content_tag(:td, cell[:options].merge(class: classes), role: 'cell') do
|
|
55
|
-
safe_buffer = ActiveSupport::SafeBuffer.new
|
|
56
|
-
safe_buffer.concat(content_tag(:span,
|
|
57
|
-
@table.columns[index][:content],
|
|
58
|
-
class: "#{brand}-table-responsive__heading",
|
|
59
|
-
aria: { hidden: true }))
|
|
60
|
-
safe_buffer.concat(cell_content(cell))
|
|
61
|
-
|
|
62
|
-
safe_buffer
|
|
63
|
-
end
|
|
64
|
-
end
|
|
65
|
-
end
|
|
66
|
-
end
|
|
67
|
-
end
|
|
68
|
-
end
|