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
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.
|
|
4
|
+
version: 0.15.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Filis Liu
|
|
@@ -54,6 +54,20 @@ dependencies:
|
|
|
54
54
|
- - "~>"
|
|
55
55
|
- !ruby/object:Gem::Version
|
|
56
56
|
version: '1.3'
|
|
57
|
+
- !ruby/object:Gem::Dependency
|
|
58
|
+
name: view_component
|
|
59
|
+
requirement: !ruby/object:Gem::Requirement
|
|
60
|
+
requirements:
|
|
61
|
+
- - "~>"
|
|
62
|
+
- !ruby/object:Gem::Version
|
|
63
|
+
version: '4.0'
|
|
64
|
+
type: :runtime
|
|
65
|
+
prerelease: false
|
|
66
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
67
|
+
requirements:
|
|
68
|
+
- - "~>"
|
|
69
|
+
- !ruby/object:Gem::Version
|
|
70
|
+
version: '4.0'
|
|
57
71
|
- !ruby/object:Gem::Dependency
|
|
58
72
|
name: will_paginate
|
|
59
73
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -94,6 +108,7 @@ files:
|
|
|
94
108
|
- README.md
|
|
95
109
|
- Rakefile
|
|
96
110
|
- app/assets/config/design_system_manifest.js
|
|
111
|
+
- app/assets/stylesheets/design_system/_hljs.scss
|
|
97
112
|
- app/assets/stylesheets/design_system/govuk-frontend-5.11.1/_base.scss
|
|
98
113
|
- app/assets/stylesheets/design_system/govuk-frontend-5.11.1/all.scss
|
|
99
114
|
- app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/_all.scss
|
|
@@ -379,8 +394,88 @@ files:
|
|
|
379
394
|
- app/assets/stylesheets/design_system/nhsuk-frontend-10.3.1/index.scss
|
|
380
395
|
- app/assets/stylesheets/design_system/nhsuk-frontend-10.3.1/nhsuk.scss
|
|
381
396
|
- app/assets/stylesheets/design_system/nhsuk.scss
|
|
397
|
+
- app/components/design_system/base_component.rb
|
|
398
|
+
- app/components/design_system/generic/action_link_component.rb
|
|
399
|
+
- app/components/design_system/generic/alert_component.rb
|
|
400
|
+
- app/components/design_system/generic/breadcrumbs_component.rb
|
|
401
|
+
- app/components/design_system/generic/button_component.rb
|
|
402
|
+
- app/components/design_system/generic/callout_component.html.erb
|
|
403
|
+
- app/components/design_system/generic/callout_component.rb
|
|
404
|
+
- app/components/design_system/generic/details_component.html.erb
|
|
405
|
+
- app/components/design_system/generic/details_component.rb
|
|
406
|
+
- app/components/design_system/generic/grid_component.html.erb
|
|
407
|
+
- app/components/design_system/generic/grid_component.rb
|
|
408
|
+
- app/components/design_system/generic/heading_component.rb
|
|
409
|
+
- app/components/design_system/generic/inset_text_component.html.erb
|
|
410
|
+
- app/components/design_system/generic/inset_text_component.rb
|
|
411
|
+
- app/components/design_system/generic/link_component.rb
|
|
412
|
+
- app/components/design_system/generic/list_component.html.erb
|
|
413
|
+
- app/components/design_system/generic/list_component.rb
|
|
414
|
+
- app/components/design_system/generic/notification_component.html.erb
|
|
415
|
+
- app/components/design_system/generic/notification_component.rb
|
|
416
|
+
- app/components/design_system/generic/panel_component.html.erb
|
|
417
|
+
- app/components/design_system/generic/panel_component.rb
|
|
418
|
+
- app/components/design_system/generic/paragraph_component.rb
|
|
419
|
+
- app/components/design_system/generic/start_button_component.html.erb
|
|
420
|
+
- app/components/design_system/generic/start_button_component.rb
|
|
421
|
+
- app/components/design_system/generic/summary_card_component.html.erb
|
|
422
|
+
- app/components/design_system/generic/summary_card_component.rb
|
|
423
|
+
- app/components/design_system/generic/summary_list_component.html.erb
|
|
424
|
+
- app/components/design_system/generic/summary_list_component.rb
|
|
425
|
+
- app/components/design_system/generic/tab_component.html.erb
|
|
426
|
+
- app/components/design_system/generic/tab_component.rb
|
|
427
|
+
- app/components/design_system/generic/table_component.rb
|
|
428
|
+
- app/components/design_system/govuk/action_link_component.html.erb
|
|
429
|
+
- app/components/design_system/govuk/action_link_component.rb
|
|
430
|
+
- app/components/design_system/govuk/alert_component.rb
|
|
431
|
+
- app/components/design_system/govuk/breadcrumbs_component.html.erb
|
|
432
|
+
- app/components/design_system/govuk/breadcrumbs_component.rb
|
|
433
|
+
- app/components/design_system/govuk/button_component.rb
|
|
434
|
+
- app/components/design_system/govuk/callout_component.html.erb
|
|
435
|
+
- app/components/design_system/govuk/callout_component.rb
|
|
436
|
+
- app/components/design_system/govuk/details_component.rb
|
|
437
|
+
- app/components/design_system/govuk/grid_component.rb
|
|
438
|
+
- app/components/design_system/govuk/heading_component.rb
|
|
439
|
+
- app/components/design_system/govuk/inset_text_component.rb
|
|
440
|
+
- app/components/design_system/govuk/link_component.rb
|
|
441
|
+
- app/components/design_system/govuk/list_component.rb
|
|
442
|
+
- app/components/design_system/govuk/notification_component.rb
|
|
443
|
+
- app/components/design_system/govuk/panel_component.rb
|
|
444
|
+
- app/components/design_system/govuk/paragraph_component.rb
|
|
445
|
+
- app/components/design_system/govuk/start_button_component.rb
|
|
446
|
+
- app/components/design_system/govuk/summary_card_component.html.erb
|
|
447
|
+
- app/components/design_system/govuk/summary_card_component.rb
|
|
448
|
+
- app/components/design_system/govuk/summary_list_component.rb
|
|
449
|
+
- app/components/design_system/govuk/tab_component.rb
|
|
450
|
+
- app/components/design_system/govuk/table_component.html.erb
|
|
451
|
+
- app/components/design_system/govuk/table_component.rb
|
|
452
|
+
- app/components/design_system/nhsuk/action_link_component.html.erb
|
|
453
|
+
- app/components/design_system/nhsuk/action_link_component.rb
|
|
454
|
+
- app/components/design_system/nhsuk/alert_component.rb
|
|
455
|
+
- app/components/design_system/nhsuk/breadcrumbs_component.html.erb
|
|
456
|
+
- app/components/design_system/nhsuk/breadcrumbs_component.rb
|
|
457
|
+
- app/components/design_system/nhsuk/button_component.rb
|
|
458
|
+
- app/components/design_system/nhsuk/callout_component.rb
|
|
459
|
+
- app/components/design_system/nhsuk/details_component.rb
|
|
460
|
+
- app/components/design_system/nhsuk/grid_component.rb
|
|
461
|
+
- app/components/design_system/nhsuk/heading_component.rb
|
|
462
|
+
- app/components/design_system/nhsuk/inset_text_component.html.erb
|
|
463
|
+
- app/components/design_system/nhsuk/inset_text_component.rb
|
|
464
|
+
- app/components/design_system/nhsuk/link_component.rb
|
|
465
|
+
- app/components/design_system/nhsuk/list_component.rb
|
|
466
|
+
- app/components/design_system/nhsuk/notification_component.rb
|
|
467
|
+
- app/components/design_system/nhsuk/panel_component.rb
|
|
468
|
+
- app/components/design_system/nhsuk/paragraph_component.rb
|
|
469
|
+
- app/components/design_system/nhsuk/start_button_component.rb
|
|
470
|
+
- app/components/design_system/nhsuk/summary_card_component.rb
|
|
471
|
+
- app/components/design_system/nhsuk/summary_list_component.rb
|
|
472
|
+
- app/components/design_system/nhsuk/tab_component.rb
|
|
473
|
+
- app/components/design_system/nhsuk/table_component.html.erb
|
|
474
|
+
- app/components/design_system/nhsuk/table_component.rb
|
|
382
475
|
- app/controllers/concerns/design_system/branded.rb
|
|
383
476
|
- app/helpers/design_system_helper.rb
|
|
477
|
+
- app/javascript/design_system/controllers/clipboard_controller.js
|
|
478
|
+
- app/javascript/design_system/controllers/code_highlight_controller.js
|
|
384
479
|
- app/javascript/design_system/controllers/hello_world_controller.js
|
|
385
480
|
- app/javascript/design_system/controllers/show_password_controller.js
|
|
386
481
|
- app/javascript/design_system/index.js
|
|
@@ -398,6 +493,7 @@ files:
|
|
|
398
493
|
- config/routes.rb
|
|
399
494
|
- lib/design_system.rb
|
|
400
495
|
- lib/design_system/all.rb
|
|
496
|
+
- lib/design_system/brand_derivable.rb
|
|
401
497
|
- lib/design_system/components/grid.rb
|
|
402
498
|
- lib/design_system/components/list.rb
|
|
403
499
|
- lib/design_system/components/summary_list.rb
|
|
@@ -405,81 +501,36 @@ files:
|
|
|
405
501
|
- lib/design_system/components/table.rb
|
|
406
502
|
- lib/design_system/engine.rb
|
|
407
503
|
- lib/design_system/generic.rb
|
|
408
|
-
- lib/design_system/generic/builders/action_link.rb
|
|
409
504
|
- lib/design_system/generic/builders/base.rb
|
|
410
|
-
- lib/design_system/generic/builders/
|
|
411
|
-
- lib/design_system/generic/builders/callout.rb
|
|
412
|
-
- lib/design_system/generic/builders/concerns/brand_derivable.rb
|
|
413
|
-
- lib/design_system/generic/builders/details.rb
|
|
505
|
+
- lib/design_system/generic/builders/code.rb
|
|
414
506
|
- lib/design_system/generic/builders/elements/backlink.rb
|
|
415
507
|
- lib/design_system/generic/builders/elements/breadcrumbs.rb
|
|
416
508
|
- lib/design_system/generic/builders/elements/form.rb
|
|
417
509
|
- lib/design_system/generic/builders/elements/headings.rb
|
|
418
510
|
- lib/design_system/generic/builders/elements/lead_paragraph.rb
|
|
419
511
|
- lib/design_system/generic/builders/fixed_elements.rb
|
|
420
|
-
- lib/design_system/generic/builders/grid.rb
|
|
421
|
-
- lib/design_system/generic/builders/heading.rb
|
|
422
|
-
- lib/design_system/generic/builders/inset_text.rb
|
|
423
|
-
- lib/design_system/generic/builders/link.rb
|
|
424
|
-
- lib/design_system/generic/builders/list.rb
|
|
425
|
-
- lib/design_system/generic/builders/notification.rb
|
|
426
512
|
- lib/design_system/generic/builders/pagination_renderer.rb
|
|
427
|
-
- lib/design_system/generic/builders/panel.rb
|
|
428
|
-
- lib/design_system/generic/builders/paragraph.rb
|
|
429
|
-
- lib/design_system/generic/builders/summary_list.rb
|
|
430
|
-
- lib/design_system/generic/builders/tab.rb
|
|
431
|
-
- lib/design_system/generic/builders/table.rb
|
|
432
513
|
- lib/design_system/generic/form_builder.rb
|
|
433
514
|
- lib/design_system/govuk.rb
|
|
434
|
-
- lib/design_system/govuk/builders/
|
|
435
|
-
- lib/design_system/govuk/builders/button.rb
|
|
436
|
-
- lib/design_system/govuk/builders/callout.rb
|
|
437
|
-
- lib/design_system/govuk/builders/details.rb
|
|
438
|
-
- lib/design_system/govuk/builders/elements/breadcrumbs.rb
|
|
515
|
+
- lib/design_system/govuk/builders/code.rb
|
|
439
516
|
- lib/design_system/govuk/builders/elements/headings.rb
|
|
440
517
|
- lib/design_system/govuk/builders/fixed_elements.rb
|
|
441
|
-
- lib/design_system/govuk/builders/grid.rb
|
|
442
|
-
- lib/design_system/govuk/builders/heading.rb
|
|
443
|
-
- lib/design_system/govuk/builders/inset_text.rb
|
|
444
|
-
- lib/design_system/govuk/builders/link.rb
|
|
445
|
-
- lib/design_system/govuk/builders/list.rb
|
|
446
|
-
- lib/design_system/govuk/builders/notification.rb
|
|
447
518
|
- lib/design_system/govuk/builders/pagination_renderer.rb
|
|
448
|
-
- lib/design_system/govuk/builders/panel.rb
|
|
449
|
-
- lib/design_system/govuk/builders/paragraph.rb
|
|
450
|
-
- lib/design_system/govuk/builders/summary_list.rb
|
|
451
|
-
- lib/design_system/govuk/builders/tab.rb
|
|
452
|
-
- lib/design_system/govuk/builders/table.rb
|
|
453
519
|
- lib/design_system/govuk/form_builder.rb
|
|
454
520
|
- lib/design_system/govuk/test_helpers/form_builder_assertions_helper.rb
|
|
455
521
|
- lib/design_system/govuk/test_helpers/form_builder_testable.rb
|
|
456
522
|
- lib/design_system/helpers/css_helper.rb
|
|
457
523
|
- lib/design_system/nhsuk.rb
|
|
458
|
-
- lib/design_system/nhsuk/builders/
|
|
459
|
-
- lib/design_system/nhsuk/builders/button.rb
|
|
460
|
-
- lib/design_system/nhsuk/builders/callout.rb
|
|
461
|
-
- lib/design_system/nhsuk/builders/details.rb
|
|
462
|
-
- lib/design_system/nhsuk/builders/elements/breadcrumbs.rb
|
|
524
|
+
- lib/design_system/nhsuk/builders/code.rb
|
|
463
525
|
- lib/design_system/nhsuk/builders/fixed_elements.rb
|
|
464
|
-
- lib/design_system/nhsuk/builders/grid.rb
|
|
465
|
-
- lib/design_system/nhsuk/builders/heading.rb
|
|
466
|
-
- lib/design_system/nhsuk/builders/inset_text.rb
|
|
467
|
-
- lib/design_system/nhsuk/builders/link.rb
|
|
468
|
-
- lib/design_system/nhsuk/builders/list.rb
|
|
469
|
-
- lib/design_system/nhsuk/builders/notification.rb
|
|
470
526
|
- lib/design_system/nhsuk/builders/pagination_renderer.rb
|
|
471
|
-
- lib/design_system/nhsuk/builders/panel.rb
|
|
472
|
-
- lib/design_system/nhsuk/builders/paragraph.rb
|
|
473
|
-
- lib/design_system/nhsuk/builders/summary_list.rb
|
|
474
|
-
- lib/design_system/nhsuk/builders/tab.rb
|
|
475
|
-
- lib/design_system/nhsuk/builders/table.rb
|
|
476
527
|
- lib/design_system/nhsuk/form_builder.rb
|
|
477
528
|
- lib/design_system/registry.rb
|
|
478
529
|
- lib/design_system/version.rb
|
|
479
530
|
- lib/tasks/design_system_tasks.rake
|
|
480
531
|
- lib/tasks/govuk.rake
|
|
481
532
|
- lib/tasks/nhsuk.rake
|
|
482
|
-
- public/design_system/static/design_system-0.
|
|
533
|
+
- public/design_system/static/design_system-0.15.0/design_system.js
|
|
483
534
|
- public/design_system/static/govuk-frontend-5.11.1/fonts/bold-affa96571d-v2.woff
|
|
484
535
|
- public/design_system/static/govuk-frontend-5.11.1/fonts/bold-b542beb274-v2.woff2
|
|
485
536
|
- public/design_system/static/govuk-frontend-5.11.1/fonts/light-94a07e06a1-v2.woff2
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module DesignSystem
|
|
4
|
-
module Generic
|
|
5
|
-
module Builders
|
|
6
|
-
# This class provides generic methods to display action links, which should be used to signpost the start of a digital service.
|
|
7
|
-
class ActionLink < Base
|
|
8
|
-
def render_action_link(name = nil, options = nil, html_options = nil)
|
|
9
|
-
options ||= {}
|
|
10
|
-
html_options ||= {}
|
|
11
|
-
|
|
12
|
-
prep_style(name, options, html_options)
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module DesignSystem
|
|
4
|
-
module Generic
|
|
5
|
-
module Builders
|
|
6
|
-
# This class provides generic methods to display button on html.
|
|
7
|
-
class Button < Base
|
|
8
|
-
def render_button(content_or_options = nil, options = nil, &)
|
|
9
|
-
options = prep_button_options(content_or_options, options)
|
|
10
|
-
|
|
11
|
-
if block_given?
|
|
12
|
-
button_tag(options = nil, &)
|
|
13
|
-
else
|
|
14
|
-
button_tag(content_or_options, options)
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
private
|
|
19
|
-
|
|
20
|
-
def prep_button_options(content_or_options, options)
|
|
21
|
-
if content_or_options.is_a? Hash
|
|
22
|
-
options = content_or_options
|
|
23
|
-
else
|
|
24
|
-
options ||= {}
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
{ 'name' => 'button', 'type' => 'submit',
|
|
28
|
-
'data-module' => "#{brand}-button" }.merge!(options.stringify_keys)
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module DesignSystem
|
|
4
|
-
module Generic
|
|
5
|
-
module Builders
|
|
6
|
-
# This generates html for rendering warning callout to help users identify and understand warning content on the page, even if they do not read the whole page.
|
|
7
|
-
class Callout < Base
|
|
8
|
-
def render_callout(label, body)
|
|
9
|
-
safe_buffer = ActiveSupport::SafeBuffer.new
|
|
10
|
-
content_tag(:div, class: "#{brand}-warning-callout") do
|
|
11
|
-
safe_buffer.concat(render_label(label))
|
|
12
|
-
safe_buffer.concat(content_tag(:p, body))
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
private
|
|
17
|
-
|
|
18
|
-
def render_label(label)
|
|
19
|
-
content_tag(:h3, class: "#{brand}-warning-callout__label") do
|
|
20
|
-
content_tag(:span, role: 'text') do
|
|
21
|
-
content_tag(:span, 'Important: ', class: "#{brand}-u-visually-hidden") + label
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
module DesignSystem
|
|
2
|
-
module Generic
|
|
3
|
-
module Builders
|
|
4
|
-
module Concerns
|
|
5
|
-
# Mixin module to make brand method available to builder classes
|
|
6
|
-
module BrandDerivable
|
|
7
|
-
def brand
|
|
8
|
-
self.class.name.split('::')[1].underscore
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
end
|
|
@@ -1,30 +0,0 @@
|
|
|
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
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module DesignSystem
|
|
4
|
-
module Generic
|
|
5
|
-
module Builders
|
|
6
|
-
# This class provides a generic grid builder.
|
|
7
|
-
class Grid < Base
|
|
8
|
-
include ActionView::Helpers::OutputSafetyHelper
|
|
9
|
-
|
|
10
|
-
def render_grid(options = {})
|
|
11
|
-
@grid = ::DesignSystem::Components::Grid.new
|
|
12
|
-
yield @grid
|
|
13
|
-
@grid.validate_total_width!
|
|
14
|
-
|
|
15
|
-
row_options = css_class_options_merge(options, ["#{brand}-grid-row"])
|
|
16
|
-
content_tag(:div, **row_options) do
|
|
17
|
-
safe_buffer = ActiveSupport::SafeBuffer.new
|
|
18
|
-
safe_buffer.concat(render_columns)
|
|
19
|
-
|
|
20
|
-
safe_buffer
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
private
|
|
25
|
-
|
|
26
|
-
def render_columns
|
|
27
|
-
@grid.columns.each_with_object(ActiveSupport::SafeBuffer.new) do |column, buffer|
|
|
28
|
-
column_options = column[:options].dup
|
|
29
|
-
column_class = grid_class(column[:width])
|
|
30
|
-
column_options = css_class_options_merge(column_options, [column_class])
|
|
31
|
-
|
|
32
|
-
block = column[:block]
|
|
33
|
-
content = capture(&block) if block
|
|
34
|
-
buffer.concat(content_tag(:div, content, **column_options))
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
def grid_class(width)
|
|
39
|
-
"#{brand}-grid-column-#{::DesignSystem::Components::Grid::WIDTHS[width][:class]}"
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
end
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module DesignSystem
|
|
4
|
-
module Generic
|
|
5
|
-
module Builders
|
|
6
|
-
# This class provides generic methods to display headings in page content.
|
|
7
|
-
class Heading < Base
|
|
8
|
-
SIZE_MAPPING = {
|
|
9
|
-
1 => 'xl',
|
|
10
|
-
2 => 'l',
|
|
11
|
-
3 => 'm',
|
|
12
|
-
4 => 's',
|
|
13
|
-
5 => 'xs',
|
|
14
|
-
6 => 'xs'
|
|
15
|
-
}.freeze
|
|
16
|
-
|
|
17
|
-
def render_heading(text, level: 2, **options)
|
|
18
|
-
content_tag("h#{level}", text, class: classes(level), **options)
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
private
|
|
22
|
-
|
|
23
|
-
def classes(level)
|
|
24
|
-
level = level.to_i
|
|
25
|
-
validate_level(level)
|
|
26
|
-
|
|
27
|
-
"#{brand}-heading-#{SIZE_MAPPING[level]}"
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
def validate_level(level)
|
|
31
|
-
return if level.between?(1, 6)
|
|
32
|
-
|
|
33
|
-
raise ArgumentError, "Invalid heading level #{level}. Must be an integer between 1 and 6."
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
end
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module DesignSystem
|
|
4
|
-
module Generic
|
|
5
|
-
module Builders
|
|
6
|
-
# This generates html for rendering inset text to help users identify and understand important content on the page.
|
|
7
|
-
class InsetText < Base
|
|
8
|
-
def render_inset_text(text = nil, **options, &)
|
|
9
|
-
content = block_given? ? capture(&) : text
|
|
10
|
-
return if content.blank?
|
|
11
|
-
|
|
12
|
-
div_options = css_class_options_merge(options, ["#{brand}-inset-text"])
|
|
13
|
-
content_tag(:div, content, **div_options)
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module DesignSystem
|
|
4
|
-
module Generic
|
|
5
|
-
module Builders
|
|
6
|
-
# This class provides generic methods to display links on html, including button links.
|
|
7
|
-
class Link < Base
|
|
8
|
-
def render_link_to(name = nil, options = nil, html_options = nil, &)
|
|
9
|
-
options ||= {}
|
|
10
|
-
html_options ||= {}
|
|
11
|
-
|
|
12
|
-
if block_given?
|
|
13
|
-
type = options.delete(:type)
|
|
14
|
-
options[:class] = prep_link_classes(type)
|
|
15
|
-
else
|
|
16
|
-
type = html_options.delete(:type)
|
|
17
|
-
html_options[:class] = prep_link_classes(type)
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
link_to(name, options, html_options, &)
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
private
|
|
24
|
-
|
|
25
|
-
def prep_link_classes(type)
|
|
26
|
-
if type && button_type_class_hash[type].present?
|
|
27
|
-
button_type_class_hash[type]
|
|
28
|
-
else
|
|
29
|
-
link_class
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def link_class
|
|
34
|
-
case @context.instance_variable_get(:@link_context)
|
|
35
|
-
when :notification_banner
|
|
36
|
-
"#{brand}-notification-banner__link"
|
|
37
|
-
else
|
|
38
|
-
"#{brand}-link"
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
end
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module DesignSystem
|
|
4
|
-
module Generic
|
|
5
|
-
module Builders
|
|
6
|
-
# Generic list builder.
|
|
7
|
-
class List < Base
|
|
8
|
-
# type: :bullet, :number
|
|
9
|
-
def render_list(type: :default, **options)
|
|
10
|
-
raise ArgumentError, 'block required' unless block_given?
|
|
11
|
-
|
|
12
|
-
@list = ::DesignSystem::Components::List.new
|
|
13
|
-
yield @list
|
|
14
|
-
|
|
15
|
-
tag_name = type.to_sym == :number ? :ol : :ul
|
|
16
|
-
|
|
17
|
-
classes = ["#{brand}-list"]
|
|
18
|
-
classes << "#{brand}-list--bullet" if type == :bullet
|
|
19
|
-
classes << "#{brand}-list--number" if type == :number
|
|
20
|
-
|
|
21
|
-
options = css_class_options_merge(options, classes)
|
|
22
|
-
|
|
23
|
-
content_tag(tag_name, **options) do
|
|
24
|
-
render_items
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
private
|
|
29
|
-
|
|
30
|
-
def render_items
|
|
31
|
-
@list.items.each_with_object(ActiveSupport::SafeBuffer.new) do |item, buffer|
|
|
32
|
-
content = item.is_a?(Proc) ? capture(&item) : item
|
|
33
|
-
next if content.blank?
|
|
34
|
-
|
|
35
|
-
buffer.concat(content_tag(:li, content))
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
end
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module DesignSystem
|
|
4
|
-
module Generic
|
|
5
|
-
module Builders
|
|
6
|
-
# This class provides generic methods to display notifications.
|
|
7
|
-
class Notification < Base
|
|
8
|
-
include ActionView::Helpers::SanitizeHelper
|
|
9
|
-
|
|
10
|
-
def render_alert(msg = nil, &)
|
|
11
|
-
content_to_display = block_given? ? capture(&) : msg
|
|
12
|
-
content_tag(:div, class: "#{brand}-error-summary", 'aria-labelledby': 'error-summary-title', role: 'alert',
|
|
13
|
-
tabindex: '-1') do
|
|
14
|
-
content_tag(:h2, content_to_display,
|
|
15
|
-
class: "#{brand}-error-summary__title", id: 'error-summary-title')
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def render_notice(msg = nil, header: nil, type: :information, &)
|
|
20
|
-
@context.instance_variable_set(:@link_context, :notification_banner)
|
|
21
|
-
|
|
22
|
-
raise ArgumentError,
|
|
23
|
-
"Invalid notification type: #{type}. Must be one of: #{notification_type_hash.keys.join(', ')}" unless notification_type_hash.key?(type)
|
|
24
|
-
|
|
25
|
-
header ||= notification_type_hash.dig(type, :header)
|
|
26
|
-
|
|
27
|
-
content_to_display = block_given? ? capture(&) : msg
|
|
28
|
-
content_tag(:div, class: notification_type_hash.dig(type, :class), role: notification_type_hash.dig(type, :role),
|
|
29
|
-
'aria-labelledby': "#{brand}-notification-banner-title",
|
|
30
|
-
'data-module': "#{brand}-notification-banner") do
|
|
31
|
-
banner_tile(header) + banner_content(content_to_display)
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
private
|
|
36
|
-
|
|
37
|
-
def banner_tile(header)
|
|
38
|
-
content_tag(:div, class: "#{brand}-notification-banner__header") do
|
|
39
|
-
content_tag(:h2, header, class: "#{brand}-notification-banner__title",
|
|
40
|
-
id: "#{brand}-notification-banner-title")
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
def banner_content(content)
|
|
45
|
-
content_tag(:div, class: "#{brand}-notification-banner__content") do
|
|
46
|
-
content_tag(:p, content,
|
|
47
|
-
class: "#{brand}-notification-banner__heading")
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
def notification_type_hash
|
|
52
|
-
{
|
|
53
|
-
information: {
|
|
54
|
-
header: 'Important',
|
|
55
|
-
class: "#{brand}-notification-banner",
|
|
56
|
-
role: 'region'
|
|
57
|
-
},
|
|
58
|
-
success: {
|
|
59
|
-
header: 'Success',
|
|
60
|
-
class: "#{brand}-notification-banner #{brand}-notification-banner--success",
|
|
61
|
-
role: 'alert'
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
end
|
|
65
|
-
end
|
|
66
|
-
end
|
|
67
|
-
end
|
|
68
|
-
end
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module DesignSystem
|
|
4
|
-
module Generic
|
|
5
|
-
module Builders
|
|
6
|
-
# This generates html for rendering panel to display important information when a transaction has been completed.
|
|
7
|
-
class Panel < Base
|
|
8
|
-
def render_panel(title, body)
|
|
9
|
-
safe_buffer = ActiveSupport::SafeBuffer.new
|
|
10
|
-
content_tag(:div, class: "#{brand}-panel") do
|
|
11
|
-
safe_buffer.concat(content_tag(:h1, title, class: "#{brand}-panel__title"))
|
|
12
|
-
safe_buffer.concat(content_tag(:div, body, class: "#{brand}-panel__body"))
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module DesignSystem
|
|
4
|
-
module Generic
|
|
5
|
-
module Builders
|
|
6
|
-
# This class provides generic methods to display paragraphs with typography styles.
|
|
7
|
-
class Paragraph < Base
|
|
8
|
-
FONT_SIZES = %i[s].freeze
|
|
9
|
-
|
|
10
|
-
def render_paragraph(text = nil, size: nil, **options, &block)
|
|
11
|
-
content = block_given? ? capture(&block) : text
|
|
12
|
-
return if content.blank?
|
|
13
|
-
|
|
14
|
-
content_tag('p', content, class: classes(size), **options)
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
private
|
|
18
|
-
|
|
19
|
-
def classes(size)
|
|
20
|
-
return "#{brand}-body" if size.nil?
|
|
21
|
-
raise ArgumentError, "Invalid size: #{size}" unless size.in?(FONT_SIZES)
|
|
22
|
-
|
|
23
|
-
"#{brand}-body-#{size}"
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|