design_system 0.7.0 → 0.8.1

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.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -1
  3. data/Rakefile +17 -0
  4. data/app/controllers/concerns/design_system/branded.rb +7 -0
  5. data/app/helpers/design_system_helper.rb +0 -2
  6. data/app/views/layouts/govuk/application.html.erb +14 -25
  7. data/app/views/layouts/nhsuk/application.html.erb +24 -37
  8. data/app/views/nhsuk/_navigation.html.erb +9 -12
  9. data/lib/design_system/engine.rb +0 -3
  10. data/lib/design_system/generic/builders/base.rb +2 -1
  11. data/lib/design_system/generic/builders/button.rb +0 -2
  12. data/lib/design_system/generic/builders/fixed_elements.rb +0 -5
  13. data/lib/design_system/generic/builders/link.rb +0 -2
  14. data/lib/design_system/generic/builders/summary_list.rb +0 -3
  15. data/lib/design_system/generic/builders/tab.rb +0 -3
  16. data/lib/design_system/generic/builders/table.rb +0 -3
  17. data/lib/design_system/generic/form_builder.rb +2 -12
  18. data/lib/design_system/govuk/builders/button.rb +0 -2
  19. data/lib/design_system/govuk/builders/fixed_elements.rb +0 -4
  20. data/lib/design_system/govuk/builders/link.rb +0 -2
  21. data/lib/design_system/govuk/builders/summary_list.rb +0 -2
  22. data/lib/design_system/govuk/builders/tab.rb +0 -2
  23. data/lib/design_system/govuk/builders/table.rb +0 -2
  24. data/lib/design_system/govuk/form_builder.rb +0 -1
  25. data/lib/design_system/govuk/test_helpers/form_builder_assertions_helper.rb +99 -0
  26. data/lib/design_system/govuk/test_helpers/form_builder_testable.rb +1300 -0
  27. data/lib/design_system/helpers/css_helper.rb +20 -0
  28. data/lib/design_system/nhsuk/builders/fixed_elements.rb +0 -3
  29. data/lib/design_system/nhsuk/builders/summary_list.rb +0 -2
  30. data/lib/design_system/nhsuk/form_builder.rb +0 -2
  31. data/lib/design_system/version.rb +1 -1
  32. data/lib/design_system.rb +9 -0
  33. metadata +23 -7
  34. data/app/helpers/css_helper.rb +0 -13
  35. /data/public/design_system/static/{design_system-0.7.0 → design_system-0.8.1}/design_system.js +0 -0
@@ -0,0 +1,20 @@
1
+ # Reproduced from NdrUi css_helper.rb with thanks
2
+ # https://github.com/NHSDigital/ndr_ui/blob/3597e609c808846f531a42a50c69abaf41a96155/app/helpers/ndr_ui/css_helper.rb
3
+
4
+ module DesignSystem
5
+ module Helpers
6
+ # Provides CSS helper methods
7
+ module CssHelper
8
+ # This method merges the specified css_classes into the options hash
9
+ def css_class_options_merge(options, css_classes = [], &)
10
+ options = options.symbolize_keys
11
+ css_classes += options[:class].split if options.include?(:class)
12
+ yield(css_classes) if block_given?
13
+ options[:class] = css_classes.join(' ') unless css_classes.empty?
14
+ raise "Multiple css class definitions: #{css_classes.inspect}" unless css_classes == css_classes.uniq
15
+
16
+ options
17
+ end
18
+ end
19
+ end
20
+ end
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'design_system/govuk/builders/fixed_elements'
4
- require_relative 'elements/breadcrumbs'
5
-
6
3
  module DesignSystem
7
4
  module Nhsuk
8
5
  module Builders
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'design_system/generic/builders/summary_list'
4
-
5
3
  module DesignSystem
6
4
  module Nhsuk
7
5
  module Builders
@@ -1,5 +1,3 @@
1
- require 'design_system/govuk/form_builder'
2
-
3
1
  module DesignSystem
4
2
  # Module namespace containing all the form builders
5
3
  module Nhsuk
@@ -1,3 +1,3 @@
1
1
  module DesignSystem
2
- VERSION = '0.7.0'.freeze
2
+ VERSION = '0.8.1'.freeze
3
3
  end
data/lib/design_system.rb CHANGED
@@ -1,3 +1,12 @@
1
+ require 'zeitwerk'
2
+
3
+ loader = Zeitwerk::Loader.for_gem
4
+
5
+ # Avoid loading test helpers by default
6
+ loader.ignore("#{__dir__}/design_system/*/test_helpers")
7
+
8
+ loader.setup
9
+
1
10
  require 'design_system/version'
2
11
  require 'design_system/engine'
3
12
 
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.7.0
4
+ version: 0.8.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Filis Liu
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2025-08-22 00:00:00.000000000 Z
14
+ date: 2025-09-04 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: govuk_design_system_formbuilder
@@ -69,8 +69,22 @@ dependencies:
69
69
  - - "~>"
70
70
  - !ruby/object:Gem::Version
71
71
  version: 4.0.1
72
- description: Ruby on Rails Engine to consistent, compliant sites using GOV.UK, NHS
73
- and other design systems
72
+ - !ruby/object:Gem::Dependency
73
+ name: zeitwerk
74
+ requirement: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - "~>"
77
+ - !ruby/object:Gem::Version
78
+ version: '2.6'
79
+ type: :runtime
80
+ prerelease: false
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - "~>"
84
+ - !ruby/object:Gem::Version
85
+ version: '2.6'
86
+ description: Ruby on Rails Engine to deliver consistent, compliant sites using GOV.UK,
87
+ NHS and other design systems
74
88
  email:
75
89
  - 52189+timgentry@users.noreply.github.com
76
90
  executables: []
@@ -355,7 +369,6 @@ files:
355
369
  - app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/nhsuk.scss
356
370
  - app/assets/stylesheets/design_system/nhsuk.scss
357
371
  - app/controllers/concerns/design_system/branded.rb
358
- - app/helpers/css_helper.rb
359
372
  - app/helpers/design_system_helper.rb
360
373
  - app/javascript/design_system/controllers/hello_world_controller.js
361
374
  - app/javascript/design_system/controllers/show_password_controller.js
@@ -411,6 +424,9 @@ files:
411
424
  - lib/design_system/govuk/builders/tab.rb
412
425
  - lib/design_system/govuk/builders/table.rb
413
426
  - lib/design_system/govuk/form_builder.rb
427
+ - lib/design_system/govuk/test_helpers/form_builder_assertions_helper.rb
428
+ - lib/design_system/govuk/test_helpers/form_builder_testable.rb
429
+ - lib/design_system/helpers/css_helper.rb
414
430
  - lib/design_system/nhsuk.rb
415
431
  - lib/design_system/nhsuk/builders/button.rb
416
432
  - lib/design_system/nhsuk/builders/callout.rb
@@ -430,7 +446,7 @@ files:
430
446
  - lib/tasks/design_system_tasks.rake
431
447
  - lib/tasks/govuk.rake
432
448
  - lib/tasks/nhsuk.rake
433
- - public/design_system/static/design_system-0.7.0/design_system.js
449
+ - public/design_system/static/design_system-0.8.1/design_system.js
434
450
  - public/design_system/static/govuk-frontend-5.11.1/fonts/bold-affa96571d-v2.woff
435
451
  - public/design_system/static/govuk-frontend-5.11.1/fonts/bold-b542beb274-v2.woff2
436
452
  - public/design_system/static/govuk-frontend-5.11.1/fonts/light-94a07e06a1-v2.woff2
@@ -493,7 +509,7 @@ metadata:
493
509
  allowed_push_host: https://rubygems.org
494
510
  homepage_uri: https://github.com/HealthDataInsight/design_system
495
511
  source_code_uri: https://github.com/HealthDataInsight/design_system
496
- changelog_uri: https://github.com/HealthDataInsight/design_system/CHANGELOG.md
512
+ changelog_uri: https://github.com/HealthDataInsight/design_system/blob/main/CHANGELOG.md
497
513
  rubygems_mfa_required: 'true'
498
514
  post_install_message:
499
515
  rdoc_options: []
@@ -1,13 +0,0 @@
1
- # Copied from NdrUi css_helper.rb
2
- module CssHelper
3
- # This method merges the specified css_classes into the options hash
4
- def css_class_options_merge(options, css_classes = [], &)
5
- options = options.symbolize_keys
6
- css_classes += options[:class].split(' ') if options.include?(:class)
7
- yield(css_classes) if block_given?
8
- options[:class] = css_classes.join(' ') unless css_classes.empty?
9
- raise "Multiple css class definitions: #{css_classes.inspect}" unless css_classes == css_classes.uniq
10
-
11
- options
12
- end
13
- end