design_system 0.9.5 → 0.11.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6f4061157d6c4d52b6b402df11688f11d489f46d569915ff2c6031468d1aa2dd
4
- data.tar.gz: '08fbbd67d5236a6352b6f07b57d2bbc1d82a68a9d8b08e27d68175c912274fe4'
3
+ metadata.gz: 595e6566bee790e2e58689975b8d3a04fca3d7c82dae7a7cdc7c83a2d4af994f
4
+ data.tar.gz: fbe54327bb743981ed087ae04a70961ca3ef5251830a63f6a68770916976640e
5
5
  SHA512:
6
- metadata.gz: 993933ee5809ccd67678445cd7ea231c81a5e0523c3948203acf9d74454bcc34991ff734f5b9a6c043dc190f08a1eeb4ebd80ee688368709901ebbdbd485ea7e
7
- data.tar.gz: 26efc486a978f94baf0f02aaf4415168231f0c19b540a485607994eb1d5767be237b019d2d943715848782903c9e5a300ec7bed3933c30b7e25be3b17ea6d820
6
+ metadata.gz: 33641e32c8413442ac88b5efc2d08564de2f0aa5696f0a4ae6b7ff37a72f6219c1387a0bcd9c11f28440b76ca7574e5280c5e2e69c45870f0ba10f77da956bea
7
+ data.tar.gz: fa37c40c5bf864018d67bc3c721188dab80e046bc92f20905ee4615a16099232b3bb592afba5192622302c54c58ef413b9e03026905a63563479ebac53bacdc3
@@ -74,12 +74,12 @@ module DesignSystemHelper
74
74
  will_paginate(collection, defaults.merge!(options))
75
75
  end
76
76
 
77
- def ds_alert(message)
78
- DesignSystem::Registry.builder(brand, 'notification', self).render_alert(message)
77
+ def ds_alert(message = nil, &)
78
+ DesignSystem::Registry.builder(brand, 'notification', self).render_alert(message, &)
79
79
  end
80
80
 
81
- def ds_notice(message)
82
- DesignSystem::Registry.builder(brand, 'notification', self).render_notice(message)
81
+ def ds_notice(message = nil, &)
82
+ DesignSystem::Registry.builder(brand, 'notification', self).render_notice(message, &)
83
83
  end
84
84
 
85
85
  def ds_heading(text, level: 2, **options)
@@ -108,4 +108,10 @@ module DesignSystemHelper
108
108
  def ds_callout(label, body)
109
109
  DesignSystem::Registry.builder(brand, 'callout', self).render_callout(label, body)
110
110
  end
111
+
112
+ def ds_details(summary_text, &)
113
+ raise ArgumentError unless block_given?
114
+
115
+ DesignSystem::Registry.builder(brand, 'details', self).render_details(summary_text, &)
116
+ end
111
117
  end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DesignSystem
4
+ module Generic
5
+ module Builders
6
+ # This builds a generic details component with brand-specific classes
7
+ class Details < Base
8
+ def render_details(summary_text)
9
+ content = capture { yield if block_given? }
10
+
11
+ content_tag(:details, class: "#{brand}-details") do
12
+ safe_buffer = ActiveSupport::SafeBuffer.new
13
+
14
+ safe_buffer.concat(
15
+ content_tag(:summary, class: "#{brand}-details__summary") do
16
+ content_tag(:span, summary_text, class: "#{brand}-details__summary-text")
17
+ end
18
+ )
19
+
20
+ safe_buffer.concat(
21
+ content_tag(:div, content, class: "#{brand}-details__text")
22
+ )
23
+
24
+ safe_buffer
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -7,19 +7,21 @@ module DesignSystem
7
7
  class Notification < Base
8
8
  include ActionView::Helpers::SanitizeHelper
9
9
 
10
- def render_alert(msg)
10
+ def render_alert(msg = nil, &)
11
+ content_to_display = block_given? ? capture(&) : msg
11
12
  content_tag(:div, class: "#{brand}-error-summary", 'aria-labelledby': 'error-summary-title', role: 'alert',
12
13
  tabindex: '-1') do
13
- content_tag(:h2, sanitize(msg, tags: %w[b p br a], attributes: %w[href target]),
14
+ content_tag(:h2, content_to_display,
14
15
  class: "#{brand}-error-summary__title", id: 'error-summary-title')
15
16
  end
16
17
  end
17
18
 
18
- def render_notice(msg)
19
+ def render_notice(msg = nil, &)
20
+ content_to_display = block_given? ? capture(&) : msg
19
21
  content_tag(:div, class: "#{brand}-notification-banner", role: 'region',
20
22
  'aria-labelledby': "#{brand}-notification-banner-title",
21
23
  'data-module': "#{brand}-notification-banner") do
22
- banner_tile + banner_content(msg)
24
+ banner_tile + banner_content(content_to_display)
23
25
  end
24
26
  end
25
27
 
@@ -32,9 +34,9 @@ module DesignSystem
32
34
  end
33
35
  end
34
36
 
35
- def banner_content(msg)
37
+ def banner_content(content)
36
38
  content_tag(:div, class: "#{brand}-notification-banner__content") do
37
- content_tag(:p, sanitize(msg, tags: %w[b p br a], attributes: %w[href targ]),
39
+ content_tag(:p, content,
38
40
  class: "#{brand}-notification-banner__heading")
39
41
  end
40
42
  end
@@ -5,6 +5,7 @@
5
5
  require_relative 'generic/builders/concerns/brand_derivable'
6
6
  require_relative 'generic/builders/button'
7
7
  require_relative 'generic/builders/callout'
8
+ require_relative 'generic/builders/details'
8
9
  require_relative 'generic/builders/fixed_elements'
9
10
  require_relative 'generic/builders/heading'
10
11
  require_relative 'generic/builders/link'
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DesignSystem
4
+ module Govuk
5
+ module Builders
6
+ class Details < ::DesignSystem::Generic::Builders::Details
7
+ end
8
+ end
9
+ end
10
+ end
@@ -4,6 +4,7 @@
4
4
 
5
5
  require_relative 'govuk/builders/button'
6
6
  require_relative 'govuk/builders/callout'
7
+ require_relative 'govuk/builders/details'
7
8
  require_relative 'govuk/builders/fixed_elements'
8
9
  require_relative 'govuk/builders/heading'
9
10
  require_relative 'govuk/builders/link'
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DesignSystem
4
+ module Nhsuk
5
+ module Builders
6
+ class Details < ::DesignSystem::Generic::Builders::Details
7
+ end
8
+ end
9
+ end
10
+ end
@@ -5,8 +5,9 @@ module DesignSystem
5
5
  module Builders
6
6
  # This class provides Nhsuk notifications html.
7
7
  class Notification < ::DesignSystem::Govuk::Builders::Notification
8
- def render_notice(msg)
9
- content = content_tag(:p, sanitize(msg, tags: %w[b p br a], attributes: %w[href target]))
8
+ def render_notice(msg = nil, &)
9
+ content_to_display = block_given? ? capture(&) : msg
10
+ content = content_tag(:p, content_to_display)
10
11
  content_tag(:div, class: "#{brand}-inset-text") do
11
12
  content_tag(:span, 'Information:', class: "#{brand}-u-visually-hidden") + content
12
13
  end
@@ -3,6 +3,7 @@
3
3
  require_relative 'nhsuk/builders/button'
4
4
  require_relative 'nhsuk/builders/callout'
5
5
  require_relative 'nhsuk/builders/fixed_elements'
6
+ require_relative 'nhsuk/builders/details'
6
7
  require_relative 'nhsuk/builders/heading'
7
8
  require_relative 'nhsuk/builders/link'
8
9
  require_relative 'nhsuk/builders/notification'
@@ -1,3 +1,3 @@
1
1
  module DesignSystem
2
- VERSION = '0.9.5'.freeze
2
+ VERSION = '0.11.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: design_system
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.5
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Filis Liu
@@ -395,6 +395,7 @@ files:
395
395
  - lib/design_system/generic/builders/button.rb
396
396
  - lib/design_system/generic/builders/callout.rb
397
397
  - lib/design_system/generic/builders/concerns/brand_derivable.rb
398
+ - lib/design_system/generic/builders/details.rb
398
399
  - lib/design_system/generic/builders/elements/breadcrumbs.rb
399
400
  - lib/design_system/generic/builders/elements/form.rb
400
401
  - lib/design_system/generic/builders/elements/headings.rb
@@ -411,6 +412,7 @@ files:
411
412
  - lib/design_system/govuk.rb
412
413
  - lib/design_system/govuk/builders/button.rb
413
414
  - lib/design_system/govuk/builders/callout.rb
415
+ - lib/design_system/govuk/builders/details.rb
414
416
  - lib/design_system/govuk/builders/elements/breadcrumbs.rb
415
417
  - lib/design_system/govuk/builders/elements/headings.rb
416
418
  - lib/design_system/govuk/builders/fixed_elements.rb
@@ -429,6 +431,7 @@ files:
429
431
  - lib/design_system/nhsuk.rb
430
432
  - lib/design_system/nhsuk/builders/button.rb
431
433
  - lib/design_system/nhsuk/builders/callout.rb
434
+ - lib/design_system/nhsuk/builders/details.rb
432
435
  - lib/design_system/nhsuk/builders/elements/breadcrumbs.rb
433
436
  - lib/design_system/nhsuk/builders/fixed_elements.rb
434
437
  - lib/design_system/nhsuk/builders/heading.rb
@@ -445,7 +448,7 @@ files:
445
448
  - lib/tasks/design_system_tasks.rake
446
449
  - lib/tasks/govuk.rake
447
450
  - lib/tasks/nhsuk.rake
448
- - public/design_system/static/design_system-0.9.5/design_system.js
451
+ - public/design_system/static/design_system-0.11.0/design_system.js
449
452
  - public/design_system/static/govuk-frontend-5.11.1/fonts/bold-affa96571d-v2.woff
450
453
  - public/design_system/static/govuk-frontend-5.11.1/fonts/bold-b542beb274-v2.woff2
451
454
  - public/design_system/static/govuk-frontend-5.11.1/fonts/light-94a07e06a1-v2.woff2