govuk_publishing_components 23.12.2 → 23.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/govuk_publishing_components/take-action-amber.svg +4 -0
  3. data/app/assets/images/govuk_publishing_components/take-action-green.svg +4 -0
  4. data/app/assets/images/govuk_publishing_components/take-action-red.svg +4 -0
  5. data/app/assets/javascripts/govuk_publishing_components/components/header.js +3 -0
  6. data/app/assets/javascripts/govuk_publishing_components/components/layout-header.js +5 -0
  7. data/app/assets/javascripts/govuk_publishing_components/components/step-by-step-nav.js +32 -36
  8. data/app/assets/javascripts/govuk_publishing_components/modules.js +1 -1
  9. data/app/assets/stylesheets/govuk_publishing_components/_all_components.scss +0 -1
  10. data/app/assets/stylesheets/govuk_publishing_components/components/_contextual-sidebar.scss +34 -17
  11. data/app/assets/stylesheets/govuk_publishing_components/components/_document-list.scss +14 -8
  12. data/app/assets/stylesheets/govuk_publishing_components/components/_feedback.scss +35 -44
  13. data/app/assets/stylesheets/govuk_publishing_components/components/_layout-footer.scss +5 -0
  14. data/app/assets/stylesheets/govuk_publishing_components/components/_step-by-step-nav.scss +19 -7
  15. data/app/assets/stylesheets/govuk_publishing_components/components/print/_govspeak.scss +5 -0
  16. data/app/models/govuk_publishing_components/component_doc.rb +1 -1
  17. data/app/views/govuk_publishing_components/components/_button.html.erb +1 -0
  18. data/app/views/govuk_publishing_components/components/_contextual_sidebar.html.erb +2 -8
  19. data/app/views/govuk_publishing_components/components/_document_list.html.erb +2 -1
  20. data/app/views/govuk_publishing_components/components/_layout_footer.html.erb +9 -4
  21. data/app/views/govuk_publishing_components/components/_layout_header.html.erb +3 -2
  22. data/app/views/govuk_publishing_components/components/_step_by_step_nav.html.erb +2 -2
  23. data/app/views/govuk_publishing_components/components/_subscription-links.html.erb +3 -0
  24. data/app/views/govuk_publishing_components/components/_subscription_links.html.erb +82 -0
  25. data/app/views/govuk_publishing_components/components/_translation-nav.html.erb +3 -0
  26. data/app/views/govuk_publishing_components/components/_translation_nav.html.erb +30 -0
  27. data/app/views/govuk_publishing_components/components/contextual_sidebar/_brexit_cta.html.erb +21 -0
  28. data/app/views/govuk_publishing_components/components/docs/contextual_sidebar.yml +60 -1
  29. data/app/views/govuk_publishing_components/components/docs/document_list.yml +32 -7
  30. data/app/views/govuk_publishing_components/components/docs/layout_header.yml +32 -0
  31. data/app/views/govuk_publishing_components/components/docs/meta_tags.yml +99 -1
  32. data/app/views/govuk_publishing_components/components/docs/subscription-links.yml +3 -0
  33. data/app/views/govuk_publishing_components/components/docs/subscription_links.yml +100 -0
  34. data/app/views/govuk_publishing_components/components/docs/translation-nav.yml +3 -1
  35. data/app/views/govuk_publishing_components/components/docs/translation_nav.yml +137 -0
  36. data/app/views/govuk_publishing_components/components/layout_header/_navigation_items.html.erb +11 -6
  37. data/config/initializers/assets.rb +3 -0
  38. data/config/locales/cy.yml +6 -1
  39. data/config/locales/en.yml +8 -3
  40. data/lib/govuk_publishing_components/presenters/contextual_navigation.rb +124 -2
  41. data/lib/govuk_publishing_components/presenters/meta_tags.rb +2 -0
  42. data/lib/govuk_publishing_components/version.rb +1 -1
  43. data/node_modules/govuk-frontend/govuk/all.js +57 -0
  44. data/node_modules/govuk-frontend/govuk/components/_all.scss +1 -0
  45. data/node_modules/govuk-frontend/govuk/components/accordion/fixtures.json +25 -10
  46. data/node_modules/govuk-frontend/govuk/components/back-link/fixtures.json +12 -6
  47. data/node_modules/govuk-frontend/govuk/components/back-link/macro-options.json +4 -4
  48. data/node_modules/govuk-frontend/govuk/components/breadcrumbs/fixtures.json +34 -13
  49. data/node_modules/govuk-frontend/govuk/components/breadcrumbs/macro-options.json +1 -0
  50. data/node_modules/govuk-frontend/govuk/components/button/fixtures.json +74 -31
  51. data/node_modules/govuk-frontend/govuk/components/character-count/fixtures.json +72 -15
  52. data/node_modules/govuk-frontend/govuk/components/character-count/macro-options.json +1 -1
  53. data/node_modules/govuk-frontend/govuk/components/checkboxes/fixtures.json +145 -52
  54. data/node_modules/govuk-frontend/govuk/components/checkboxes/macro-options.json +2 -2
  55. data/node_modules/govuk-frontend/govuk/components/date-input/fixtures.json +84 -34
  56. data/node_modules/govuk-frontend/govuk/components/date-input/macro-options.json +1 -1
  57. data/node_modules/govuk-frontend/govuk/components/date-input/template.njk +1 -1
  58. data/node_modules/govuk-frontend/govuk/components/details/fixtures.json +34 -14
  59. data/node_modules/govuk-frontend/govuk/components/error-message/fixtures.json +21 -10
  60. data/node_modules/govuk-frontend/govuk/components/error-message/macro-options.json +1 -0
  61. data/node_modules/govuk-frontend/govuk/components/error-summary/_index.scss +2 -12
  62. data/node_modules/govuk-frontend/govuk/components/error-summary/fixtures.json +86 -25
  63. data/node_modules/govuk-frontend/govuk/components/fieldset/fixtures.json +20 -10
  64. data/node_modules/govuk-frontend/govuk/components/file-upload/fixtures.json +60 -13
  65. data/node_modules/govuk-frontend/govuk/components/footer/fixtures.json +37 -18
  66. data/node_modules/govuk-frontend/govuk/components/footer/macro-options.json +8 -5
  67. data/node_modules/govuk-frontend/govuk/components/header/fixtures.json +36 -18
  68. data/node_modules/govuk-frontend/govuk/components/header/macro-options.json +2 -2
  69. data/node_modules/govuk-frontend/govuk/components/hint/fixtures.json +17 -8
  70. data/node_modules/govuk-frontend/govuk/components/input/fixtures.json +130 -40
  71. data/node_modules/govuk-frontend/govuk/components/input/macro-options.json +1 -1
  72. data/node_modules/govuk-frontend/govuk/components/inset-text/fixtures.json +17 -8
  73. data/node_modules/govuk-frontend/govuk/components/label/fixtures.json +20 -11
  74. data/node_modules/govuk-frontend/govuk/components/label/macro-options.json +1 -1
  75. data/node_modules/govuk-frontend/govuk/components/notification-banner/README.md +15 -0
  76. data/node_modules/govuk-frontend/govuk/components/notification-banner/_index.scss +89 -0
  77. data/node_modules/govuk-frontend/govuk/components/notification-banner/_notification-banner.scss +2 -0
  78. data/node_modules/govuk-frontend/govuk/components/notification-banner/fixtures.json +212 -0
  79. data/node_modules/govuk-frontend/govuk/components/notification-banner/macro-options.json +68 -0
  80. data/node_modules/govuk-frontend/govuk/components/notification-banner/macro.njk +3 -0
  81. data/node_modules/govuk-frontend/govuk/components/notification-banner/notification-banner.js +61 -0
  82. data/node_modules/govuk-frontend/govuk/components/notification-banner/template.njk +47 -0
  83. data/node_modules/govuk-frontend/govuk/components/panel/fixtures.json +30 -13
  84. data/node_modules/govuk-frontend/govuk/components/phase-banner/fixtures.json +20 -9
  85. data/node_modules/govuk-frontend/govuk/components/radios/fixtures.json +167 -50
  86. data/node_modules/govuk-frontend/govuk/components/select/fixtures.json +97 -18
  87. data/node_modules/govuk-frontend/govuk/components/select/macro-options.json +1 -1
  88. data/node_modules/govuk-frontend/govuk/components/skip-link/fixtures.json +21 -9
  89. data/node_modules/govuk-frontend/govuk/components/summary-list/fixtures.json +118 -25
  90. data/node_modules/govuk-frontend/govuk/components/table/fixtures.json +92 -22
  91. data/node_modules/govuk-frontend/govuk/components/tabs/fixtures.json +75 -18
  92. data/node_modules/govuk-frontend/govuk/components/tabs/macro-options.json +1 -1
  93. data/node_modules/govuk-frontend/govuk/components/tag/fixtures.json +28 -14
  94. data/node_modules/govuk-frontend/govuk/components/textarea/fixtures.json +68 -17
  95. data/node_modules/govuk-frontend/govuk/components/warning-text/fixtures.json +19 -14
  96. data/node_modules/govuk-frontend/govuk/helpers/_links.scss +94 -0
  97. data/node_modules/govuk-frontend/govuk/settings/_colours-applied.scss +9 -0
  98. data/node_modules/govuk-frontend/govuk/settings/_typography-font.scss +3 -0
  99. data/node_modules/govuk-frontend/package.json +1 -1
  100. metadata +18 -4
  101. data/app/assets/stylesheets/govuk_publishing_components/components/_transition-countdown.scss +0 -125
  102. data/app/views/govuk_publishing_components/components/contextual_sidebar/_brexit_related_links.html.erb +0 -6
@@ -6,45 +6,54 @@
6
6
  "options": {
7
7
  "text": "Error message about full name goes here"
8
8
  },
9
- "html": "<span class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error:</span> Error message about full name goes here\n</span>"
9
+ "html": "<span class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error:</span> Error message about full name goes here\n</span>",
10
+ "hidden": false
10
11
  },
11
12
  {
12
13
  "name": "id",
13
14
  "options": {
14
- "id": "my-error-message-id"
15
+ "id": "my-error-message-id",
16
+ "text": "This is an error message"
15
17
  },
16
- "html": "<span id=\"my-error-message-id\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error:</span> \n</span>"
18
+ "html": "<span id=\"my-error-message-id\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error:</span> This is an error message\n</span>",
19
+ "hidden": true
17
20
  },
18
21
  {
19
22
  "name": "classes",
20
23
  "options": {
21
- "classes": "custom-class"
24
+ "classes": "custom-class",
25
+ "text": "This is an error message"
22
26
  },
23
- "html": "<span class=\"govuk-error-message custom-class\">\n <span class=\"govuk-visually-hidden\">Error:</span> \n</span>"
27
+ "html": "<span class=\"govuk-error-message custom-class\">\n <span class=\"govuk-visually-hidden\">Error:</span> This is an error message\n</span>",
28
+ "hidden": true
24
29
  },
25
30
  {
26
31
  "name": "html as text",
27
32
  "options": {
28
33
  "text": "Unexpected > in body"
29
34
  },
30
- "html": "<span class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error:</span> Unexpected &gt; in body\n</span>"
35
+ "html": "<span class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error:</span> Unexpected &gt; in body\n</span>",
36
+ "hidden": true
31
37
  },
32
38
  {
33
39
  "name": "html",
34
40
  "options": {
35
41
  "html": "Unexpected <b>bold text</b> in body copy"
36
42
  },
37
- "html": "<span class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error:</span> Unexpected <b>bold text</b> in body copy\n</span>"
43
+ "html": "<span class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error:</span> Unexpected <b>bold text</b> in body copy\n</span>",
44
+ "hidden": true
38
45
  },
39
46
  {
40
47
  "name": "attributes",
41
48
  "options": {
49
+ "text": "This is an error message",
42
50
  "attributes": {
43
51
  "data-test": "attribute",
44
52
  "id": "my-error-message"
45
53
  }
46
54
  },
47
- "html": "<span class=\"govuk-error-message\" data-test=\"attribute\" id=\"my-error-message\">\n <span class=\"govuk-visually-hidden\">Error:</span> \n</span>"
55
+ "html": "<span class=\"govuk-error-message\" data-test=\"attribute\" id=\"my-error-message\">\n <span class=\"govuk-visually-hidden\">Error:</span> This is an error message\n</span>",
56
+ "hidden": true
48
57
  },
49
58
  {
50
59
  "name": "with visually hidden text",
@@ -52,7 +61,8 @@
52
61
  "text": "Rhowch eich enw llawn",
53
62
  "visuallyHiddenText": "Gwall"
54
63
  },
55
- "html": "<span class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Gwall:</span> Rhowch eich enw llawn\n</span>"
64
+ "html": "<span class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Gwall:</span> Rhowch eich enw llawn\n</span>",
65
+ "hidden": true
56
66
  },
57
67
  {
58
68
  "name": "visually hidden text removed",
@@ -60,7 +70,8 @@
60
70
  "text": "There is an error on line 42",
61
71
  "visuallyHiddenText": false
62
72
  },
63
- "html": "<span class=\"govuk-error-message\">\n There is an error on line 42\n</span>"
73
+ "html": "<span class=\"govuk-error-message\">\n There is an error on line 42\n</span>",
74
+ "hidden": true
64
75
  }
65
76
  ]
66
77
  }
@@ -32,6 +32,7 @@
32
32
  {
33
33
  "name": "visuallyHiddenText",
34
34
  "type": "string",
35
+ "required": false,
35
36
  "description": "A visually hidden prefix used before the error message. Defaults to \"Error\"."
36
37
  }
37
38
  ]
@@ -37,17 +37,7 @@
37
37
 
38
38
  .govuk-error-summary__list a {
39
39
  @include govuk-typography-weight-bold;
40
-
41
- // Override default link styling to use error colour
42
- &:link,
43
- &:visited,
44
- &:hover,
45
- &:active {
46
- color: $govuk-error-colour;
47
- }
48
-
49
- &:focus {
50
- @include govuk-focused-text;
51
- }
40
+ @include govuk-link-common;
41
+ @include govuk-link-style-error;
52
42
  }
53
43
  }
@@ -16,7 +16,8 @@
16
16
  }
17
17
  ]
18
18
  },
19
- "html": "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n <li>\n \n <a href=\"#example-error-1\">The date your passport was issued must be in the past</a>\n \n </li>\n \n <li>\n \n <a href=\"#example-error-2\">Enter a postcode, like AA1 1AA</a>\n \n </li>\n \n </ul>\n </div>\n</div>"
19
+ "html": "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n <li>\n \n <a href=\"#example-error-1\">The date your passport was issued must be in the past</a>\n \n </li>\n \n <li>\n \n <a href=\"#example-error-2\">Enter a postcode, like AA1 1AA</a>\n \n </li>\n \n </ul>\n </div>\n</div>",
20
+ "hidden": false
20
21
  },
21
22
  {
22
23
  "name": "without links",
@@ -28,7 +29,8 @@
28
29
  }
29
30
  ]
30
31
  },
31
- "html": "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n <li>\n \n Invalid username or password\n \n </li>\n \n </ul>\n </div>\n</div>"
32
+ "html": "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n <li>\n \n Invalid username or password\n \n </li>\n \n </ul>\n </div>\n</div>",
33
+ "hidden": false
32
34
  },
33
35
  {
34
36
  "name": "mixed with and without links",
@@ -44,7 +46,8 @@
44
46
  }
45
47
  ]
46
48
  },
47
- "html": "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n <li>\n \n Invalid username or password\n \n </li>\n \n <li>\n \n <a href=\"#example-error-1\">Agree to the terms of service to log in</a>\n \n </li>\n \n </ul>\n </div>\n</div>"
49
+ "html": "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n <li>\n \n Invalid username or password\n \n </li>\n \n <li>\n \n <a href=\"#example-error-1\">Agree to the terms of service to log in</a>\n \n </li>\n \n </ul>\n </div>\n</div>",
50
+ "hidden": false
48
51
  },
49
52
  {
50
53
  "name": "with everything",
@@ -61,63 +64,112 @@
61
64
  }
62
65
  ]
63
66
  },
64
- "html": "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <p>\n Please fix the errors below.\n </p>\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n <li>\n \n Invalid username or password\n \n </li>\n \n <li>\n \n <a href=\"#example-error-1\">Agree to the terms of service to log in</a>\n \n </li>\n \n </ul>\n </div>\n</div>"
67
+ "html": "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <p>\n Please fix the errors below.\n </p>\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n <li>\n \n Invalid username or password\n \n </li>\n \n <li>\n \n <a href=\"#example-error-1\">Agree to the terms of service to log in</a>\n \n </li>\n \n </ul>\n </div>\n</div>",
68
+ "hidden": false
65
69
  },
66
70
  {
67
71
  "name": "html as titleText",
68
72
  "options": {
69
- "titleText": "Alert, <em>alert</em>"
73
+ "titleText": "Alert, <em>alert</em>",
74
+ "errorList": [
75
+ {
76
+ "text": "Invalid username or password"
77
+ }
78
+ ]
70
79
  },
71
- "html": "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n Alert, &lt;em&gt;alert&lt;/em&gt;\n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n </ul>\n </div>\n</div>"
80
+ "html": "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n Alert, &lt;em&gt;alert&lt;/em&gt;\n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n <li>\n \n Invalid username or password\n \n </li>\n \n </ul>\n </div>\n</div>",
81
+ "hidden": true
72
82
  },
73
83
  {
74
84
  "name": "title html",
75
85
  "options": {
76
- "titleHtml": "Alert, <em>alert</em>"
86
+ "titleHtml": "Alert, <em>alert</em>",
87
+ "errorList": [
88
+ {
89
+ "text": "Invalid username or password"
90
+ }
91
+ ]
77
92
  },
78
- "html": "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n Alert, <em>alert</em>\n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n </ul>\n </div>\n</div>"
93
+ "html": "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n Alert, <em>alert</em>\n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n <li>\n \n Invalid username or password\n \n </li>\n \n </ul>\n </div>\n</div>",
94
+ "hidden": true
79
95
  },
80
96
  {
81
97
  "name": "description",
82
98
  "options": {
83
- "descriptionText": "Lorem ipsum"
99
+ "titleText": "There is a problem",
100
+ "descriptionText": "Lorem ipsum",
101
+ "errorList": [
102
+ {
103
+ "text": "Invalid username or password"
104
+ }
105
+ ]
84
106
  },
85
- "html": "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n \n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <p>\n Lorem ipsum\n </p>\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n </ul>\n </div>\n</div>"
107
+ "html": "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <p>\n Lorem ipsum\n </p>\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n <li>\n \n Invalid username or password\n \n </li>\n \n </ul>\n </div>\n</div>",
108
+ "hidden": true
86
109
  },
87
110
  {
88
111
  "name": "html as descriptionText",
89
112
  "options": {
90
- "descriptionText": "See errors below (▼)"
113
+ "titleText": "There is a problem",
114
+ "descriptionText": "See errors below (▼)",
115
+ "errorList": [
116
+ {
117
+ "text": "Invalid username or password"
118
+ }
119
+ ]
91
120
  },
92
- "html": "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n \n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <p>\n See errors below (▼)\n </p>\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n </ul>\n </div>\n</div>"
121
+ "html": "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <p>\n See errors below (▼)\n </p>\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n <li>\n \n Invalid username or password\n \n </li>\n \n </ul>\n </div>\n</div>",
122
+ "hidden": true
93
123
  },
94
124
  {
95
125
  "name": "description html",
96
126
  "options": {
97
- "descriptionHtml": "See <span>errors</span> below"
127
+ "titleText": "There is a problem",
128
+ "descriptionHtml": "See <span>errors</span> below",
129
+ "errorList": [
130
+ {
131
+ "text": "Invalid username or password"
132
+ }
133
+ ]
98
134
  },
99
- "html": "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n \n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <p>\n See <span>errors</span> below\n </p>\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n </ul>\n </div>\n</div>"
135
+ "html": "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <p>\n See <span>errors</span> below\n </p>\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n <li>\n \n Invalid username or password\n \n </li>\n \n </ul>\n </div>\n</div>",
136
+ "hidden": true
100
137
  },
101
138
  {
102
139
  "name": "classes",
103
140
  "options": {
104
- "classes": "extra-class one-more-class"
141
+ "titleText": "There is a problem",
142
+ "classes": "extra-class one-more-class",
143
+ "errorList": [
144
+ {
145
+ "text": "Invalid username or password"
146
+ }
147
+ ]
105
148
  },
106
- "html": "<div class=\"govuk-error-summary extra-class one-more-class\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n \n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n </ul>\n </div>\n</div>"
149
+ "html": "<div class=\"govuk-error-summary extra-class one-more-class\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n <li>\n \n Invalid username or password\n \n </li>\n \n </ul>\n </div>\n</div>",
150
+ "hidden": true
107
151
  },
108
152
  {
109
153
  "name": "attributes",
110
154
  "options": {
155
+ "titleText": "There is a problem",
111
156
  "attributes": {
112
- "first-attribute": "true",
113
- "second-attribute": "false"
114
- }
157
+ "first-attribute": "foo",
158
+ "second-attribute": "bar"
159
+ },
160
+ "errorList": [
161
+ {
162
+ "text": "Invalid username or password"
163
+ }
164
+ ]
115
165
  },
116
- "html": "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" first-attribute=\"true\" second-attribute=\"false\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n \n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n </ul>\n </div>\n</div>"
166
+ "html": "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" first-attribute=\"foo\" second-attribute=\"bar\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n <li>\n \n Invalid username or password\n \n </li>\n \n </ul>\n </div>\n</div>",
167
+ "hidden": true
117
168
  },
118
169
  {
119
170
  "name": "error list with attributes",
120
171
  "options": {
172
+ "titleText": "There is a problem",
121
173
  "errorList": [
122
174
  {
123
175
  "text": "Error-1",
@@ -129,33 +181,39 @@
129
181
  }
130
182
  ]
131
183
  },
132
- "html": "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n \n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n <li>\n \n <a href=\"#item\" data-attribute=\"my-attribute\" data-attribute-2=\"my-attribute-2\">Error-1</a>\n \n </li>\n \n </ul>\n </div>\n</div>"
184
+ "html": "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n <li>\n \n <a href=\"#item\" data-attribute=\"my-attribute\" data-attribute-2=\"my-attribute-2\">Error-1</a>\n \n </li>\n \n </ul>\n </div>\n</div>",
185
+ "hidden": true
133
186
  },
134
187
  {
135
188
  "name": "error list with html as text",
136
189
  "options": {
190
+ "titleText": "There is a problem",
137
191
  "errorList": [
138
192
  {
139
193
  "text": "Descriptive link to the <b>question</b> with an error"
140
194
  }
141
195
  ]
142
196
  },
143
- "html": "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n \n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n <li>\n \n Descriptive link to the &lt;b&gt;question&lt;/b&gt; with an error\n \n </li>\n \n </ul>\n </div>\n</div>"
197
+ "html": "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n <li>\n \n Descriptive link to the &lt;b&gt;question&lt;/b&gt; with an error\n \n </li>\n \n </ul>\n </div>\n</div>",
198
+ "hidden": true
144
199
  },
145
200
  {
146
201
  "name": "error list with html",
147
202
  "options": {
203
+ "titleText": "There is a problem",
148
204
  "errorList": [
149
205
  {
150
206
  "html": "The date your passport was issued <b>must</b> be in the past"
151
207
  }
152
208
  ]
153
209
  },
154
- "html": "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n \n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n <li>\n \n The date your passport was issued <b>must</b> be in the past\n \n </li>\n \n </ul>\n </div>\n</div>"
210
+ "html": "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n <li>\n \n The date your passport was issued <b>must</b> be in the past\n \n </li>\n \n </ul>\n </div>\n</div>",
211
+ "hidden": true
155
212
  },
156
213
  {
157
214
  "name": "error list with html link",
158
215
  "options": {
216
+ "titleText": "There is a problem",
159
217
  "errorList": [
160
218
  {
161
219
  "html": "Descriptive link to the <b>question</b> with an error",
@@ -163,11 +221,13 @@
163
221
  }
164
222
  ]
165
223
  },
166
- "html": "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n \n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n <li>\n \n <a href=\"#error-1\">Descriptive link to the <b>question</b> with an error</a>\n \n </li>\n \n </ul>\n </div>\n</div>"
224
+ "html": "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n <li>\n \n <a href=\"#error-1\">Descriptive link to the <b>question</b> with an error</a>\n \n </li>\n \n </ul>\n </div>\n</div>",
225
+ "hidden": true
167
226
  },
168
227
  {
169
228
  "name": "error list with html as text link",
170
229
  "options": {
230
+ "titleText": "There is a problem",
171
231
  "errorList": [
172
232
  {
173
233
  "text": "Descriptive link to the <b>question</b> with an error",
@@ -175,7 +235,8 @@
175
235
  }
176
236
  ]
177
237
  },
178
- "html": "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n \n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n <li>\n \n <a href=\"#error-1\">Descriptive link to the &lt;b&gt;question&lt;/b&gt; with an error</a>\n \n </li>\n \n </ul>\n </div>\n</div>"
238
+ "html": "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n There is a problem\n </h2>\n <div class=\"govuk-error-summary__body\">\n \n <ul class=\"govuk-list govuk-error-summary__list\">\n \n <li>\n \n <a href=\"#error-1\">Descriptive link to the &lt;b&gt;question&lt;/b&gt; with an error</a>\n \n </li>\n \n </ul>\n </div>\n</div>",
239
+ "hidden": true
179
240
  }
180
241
  ]
181
242
  }
@@ -8,7 +8,8 @@
8
8
  "text": "What is your address?"
9
9
  }
10
10
  },
11
- "html": "<fieldset class=\"govuk-fieldset\">\n \n <legend class=\"govuk-fieldset__legend\">\n \n What is your address?\n \n </legend>\n \n\n</fieldset>"
11
+ "html": "<fieldset class=\"govuk-fieldset\">\n \n <legend class=\"govuk-fieldset__legend\">\n \n What is your address?\n \n </legend>\n \n\n</fieldset>",
12
+ "hidden": false
12
13
  },
13
14
  {
14
15
  "name": "as page heading",
@@ -19,7 +20,8 @@
19
20
  "isPageHeading": true
20
21
  }
21
22
  },
22
- "html": "<fieldset class=\"govuk-fieldset\">\n \n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--xl\">\n \n <h1 class=\"govuk-fieldset__heading\">\n What is your address?\n </h1>\n \n </legend>\n \n\n</fieldset>"
23
+ "html": "<fieldset class=\"govuk-fieldset\">\n \n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--xl\">\n \n <h1 class=\"govuk-fieldset__heading\">\n What is your address?\n </h1>\n \n </legend>\n \n\n</fieldset>",
24
+ "hidden": false
23
25
  },
24
26
  {
25
27
  "name": "html fieldset content",
@@ -29,14 +31,16 @@
29
31
  },
30
32
  "html": "<div class=\"my-content\">\n <p>This is some content to put inside the fieldset</p>\n</div>\n"
31
33
  },
32
- "html": "<fieldset class=\"govuk-fieldset\">\n \n <legend class=\"govuk-fieldset__legend\">\n \n What is your address?\n \n </legend>\n \n\n <div class=\"my-content\">\n <p>This is some content to put inside the fieldset</p>\n</div>\n\n\n</fieldset>"
34
+ "html": "<fieldset class=\"govuk-fieldset\">\n \n <legend class=\"govuk-fieldset__legend\">\n \n What is your address?\n \n </legend>\n \n\n <div class=\"my-content\">\n <p>This is some content to put inside the fieldset</p>\n</div>\n\n\n</fieldset>",
35
+ "hidden": true
33
36
  },
34
37
  {
35
38
  "name": "with describedBy",
36
39
  "options": {
37
40
  "describedBy": "some-id"
38
41
  },
39
- "html": "<fieldset class=\"govuk-fieldset\" aria-describedby=\"some-id\">\n \n\n</fieldset>"
42
+ "html": "<fieldset class=\"govuk-fieldset\" aria-describedby=\"some-id\">\n \n\n</fieldset>",
43
+ "hidden": true
40
44
  },
41
45
  {
42
46
  "name": "html as text",
@@ -45,7 +49,8 @@
45
49
  "text": "What is <b>your</b> address?"
46
50
  }
47
51
  },
48
- "html": "<fieldset class=\"govuk-fieldset\">\n \n <legend class=\"govuk-fieldset__legend\">\n \n What is &lt;b&gt;your&lt;/b&gt; address?\n \n </legend>\n \n\n</fieldset>"
52
+ "html": "<fieldset class=\"govuk-fieldset\">\n \n <legend class=\"govuk-fieldset__legend\">\n \n What is &lt;b&gt;your&lt;/b&gt; address?\n \n </legend>\n \n\n</fieldset>",
53
+ "hidden": true
49
54
  },
50
55
  {
51
56
  "name": "html",
@@ -54,7 +59,8 @@
54
59
  "html": "What is <b>your</b> address?"
55
60
  }
56
61
  },
57
- "html": "<fieldset class=\"govuk-fieldset\">\n \n <legend class=\"govuk-fieldset__legend\">\n \n What is <b>your</b> address?\n \n </legend>\n \n\n</fieldset>"
62
+ "html": "<fieldset class=\"govuk-fieldset\">\n \n <legend class=\"govuk-fieldset__legend\">\n \n What is <b>your</b> address?\n \n </legend>\n \n\n</fieldset>",
63
+ "hidden": true
58
64
  },
59
65
  {
60
66
  "name": "legend classes",
@@ -64,21 +70,24 @@
64
70
  "classes": "my-custom-class"
65
71
  }
66
72
  },
67
- "html": "<fieldset class=\"govuk-fieldset\">\n \n <legend class=\"govuk-fieldset__legend my-custom-class\">\n \n What is your address?\n \n </legend>\n \n\n</fieldset>"
73
+ "html": "<fieldset class=\"govuk-fieldset\">\n \n <legend class=\"govuk-fieldset__legend my-custom-class\">\n \n What is your address?\n \n </legend>\n \n\n</fieldset>",
74
+ "hidden": true
68
75
  },
69
76
  {
70
77
  "name": "classes",
71
78
  "options": {
72
79
  "classes": "app-fieldset--custom-modifier"
73
80
  },
74
- "html": "<fieldset class=\"govuk-fieldset app-fieldset--custom-modifier\">\n \n\n</fieldset>"
81
+ "html": "<fieldset class=\"govuk-fieldset app-fieldset--custom-modifier\">\n \n\n</fieldset>",
82
+ "hidden": true
75
83
  },
76
84
  {
77
85
  "name": "role",
78
86
  "options": {
79
87
  "role": "group"
80
88
  },
81
- "html": "<fieldset class=\"govuk-fieldset\" role=\"group\">\n \n\n</fieldset>"
89
+ "html": "<fieldset class=\"govuk-fieldset\" role=\"group\">\n \n\n</fieldset>",
90
+ "hidden": true
82
91
  },
83
92
  {
84
93
  "name": "attributes",
@@ -87,7 +96,8 @@
87
96
  "data-attribute": "value"
88
97
  }
89
98
  },
90
- "html": "<fieldset class=\"govuk-fieldset\" data-attribute=\"value\">\n \n\n</fieldset>"
99
+ "html": "<fieldset class=\"govuk-fieldset\" data-attribute=\"value\">\n \n\n</fieldset>",
100
+ "hidden": true
91
101
  }
92
102
  ]
93
103
  }
@@ -10,7 +10,8 @@
10
10
  "text": "Upload a file"
11
11
  }
12
12
  },
13
- "html": "<div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"file-upload-1\">\n Upload a file\n </label>\n\n\n <input class=\"govuk-file-upload\" id=\"file-upload-1\" name=\"file-upload-1\" type=\"file\">\n</div>"
13
+ "html": "<div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"file-upload-1\">\n Upload a file\n </label>\n\n\n <input class=\"govuk-file-upload\" id=\"file-upload-1\" name=\"file-upload-1\" type=\"file\">\n</div>",
14
+ "hidden": false
14
15
  },
15
16
  {
16
17
  "name": "with hint text",
@@ -24,7 +25,8 @@
24
25
  "text": "Your photo may be in your Pictures, Photos, Downloads or Desktop folder. Or in an app like iPhoto."
25
26
  }
26
27
  },
27
- "html": "<div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"file-upload-2\">\n Upload your photo\n </label>\n\n \n \n <div id=\"file-upload-2-hint\" class=\"govuk-hint\">\n Your photo may be in your Pictures, Photos, Downloads or Desktop folder. Or in an app like iPhoto.\n </div>\n\n\n <input class=\"govuk-file-upload\" id=\"file-upload-2\" name=\"file-upload-2\" type=\"file\" aria-describedby=\"file-upload-2-hint\">\n</div>"
28
+ "html": "<div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"file-upload-2\">\n Upload your photo\n </label>\n\n \n \n <div id=\"file-upload-2-hint\" class=\"govuk-hint\">\n Your photo may be in your Pictures, Photos, Downloads or Desktop folder. Or in an app like iPhoto.\n </div>\n\n\n <input class=\"govuk-file-upload\" id=\"file-upload-2\" name=\"file-upload-2\" type=\"file\" aria-describedby=\"file-upload-2-hint\">\n</div>",
29
+ "hidden": false
28
30
  },
29
31
  {
30
32
  "name": "with error message and hint",
@@ -41,7 +43,8 @@
41
43
  "text": "Error message goes here"
42
44
  }
43
45
  },
44
- "html": "<div class=\"govuk-form-group govuk-form-group--error\">\n <label class=\"govuk-label\" for=\"file-upload-3\">\n Upload a file\n </label>\n\n \n \n <div id=\"file-upload-3-hint\" class=\"govuk-hint\">\n Your photo may be in your Pictures, Photos, Downloads or Desktop folder. Or in an app like iPhoto.\n </div>\n\n\n \n \n <span id=\"file-upload-3-error\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error:</span> Error message goes here\n </span>\n\n <input class=\"govuk-file-upload govuk-file-upload--error\" id=\"file-upload-3\" name=\"file-upload-3\" type=\"file\" aria-describedby=\"file-upload-3-hint file-upload-3-error\">\n</div>"
46
+ "html": "<div class=\"govuk-form-group govuk-form-group--error\">\n <label class=\"govuk-label\" for=\"file-upload-3\">\n Upload a file\n </label>\n\n \n \n <div id=\"file-upload-3-hint\" class=\"govuk-hint\">\n Your photo may be in your Pictures, Photos, Downloads or Desktop folder. Or in an app like iPhoto.\n </div>\n\n\n \n \n <span id=\"file-upload-3-error\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error:</span> Error message goes here\n </span>\n\n <input class=\"govuk-file-upload govuk-file-upload--error\" id=\"file-upload-3\" name=\"file-upload-3\" type=\"file\" aria-describedby=\"file-upload-3-hint file-upload-3-error\">\n</div>",
47
+ "hidden": false
45
48
  },
46
49
  {
47
50
  "name": "with value",
@@ -53,7 +56,8 @@
53
56
  "text": "Upload a photo"
54
57
  }
55
58
  },
56
- "html": "<div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"file-upload-4\">\n Upload a photo\n </label>\n\n\n <input class=\"govuk-file-upload\" id=\"file-upload-4\" name=\"file-upload-4\" type=\"file\" value=\"C:\\fakepath\\myphoto.jpg\">\n</div>"
59
+ "html": "<div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"file-upload-4\">\n Upload a photo\n </label>\n\n\n <input class=\"govuk-file-upload\" id=\"file-upload-4\" name=\"file-upload-4\" type=\"file\" value=\"C:\\fakepath\\myphoto.jpg\">\n</div>",
60
+ "hidden": false
57
61
  },
58
62
  {
59
63
  "name": "with label as page heading",
@@ -65,7 +69,8 @@
65
69
  "isPageHeading": true
66
70
  }
67
71
  },
68
- "html": "<div class=\"govuk-form-group\">\n <h1 class=\"govuk-label-wrapper\">\n <label class=\"govuk-label\" for=\"file-upload-1\">\n Upload a file\n </label>\n </h1>\n\n\n <input class=\"govuk-file-upload\" id=\"file-upload-1\" name=\"file-upload-1\" type=\"file\">\n</div>"
72
+ "html": "<div class=\"govuk-form-group\">\n <h1 class=\"govuk-label-wrapper\">\n <label class=\"govuk-label\" for=\"file-upload-1\">\n Upload a file\n </label>\n </h1>\n\n\n <input class=\"govuk-file-upload\" id=\"file-upload-1\" name=\"file-upload-1\" type=\"file\">\n</div>",
73
+ "hidden": false
69
74
  },
70
75
  {
71
76
  "name": "with optional form-group classes",
@@ -79,64 +84,105 @@
79
84
  "classes": "extra-class"
80
85
  }
81
86
  },
82
- "html": "<div class=\"govuk-form-group extra-class\">\n <label class=\"govuk-label\" for=\"file-upload-1\">\n Upload a file\n </label>\n\n\n <input class=\"govuk-file-upload\" id=\"file-upload-1\" name=\"file-upload-1\" type=\"file\">\n</div>"
87
+ "html": "<div class=\"govuk-form-group extra-class\">\n <label class=\"govuk-label\" for=\"file-upload-1\">\n Upload a file\n </label>\n\n\n <input class=\"govuk-file-upload\" id=\"file-upload-1\" name=\"file-upload-1\" type=\"file\">\n</div>",
88
+ "hidden": false
83
89
  },
84
90
  {
85
91
  "name": "attributes",
86
92
  "options": {
93
+ "id": "file-upload-attributes",
94
+ "name": "file-upload-attributes",
95
+ "label": {
96
+ "text": "Upload a file"
97
+ },
87
98
  "attributes": {
88
99
  "accept": ".jpg, .jpeg, .png"
89
100
  }
90
101
  },
91
- "html": "<div class=\"govuk-form-group\">\n \n\n\n <input class=\"govuk-file-upload\" id=\"\" name=\"\" type=\"file\" accept=\".jpg, .jpeg, .png\">\n</div>"
102
+ "html": "<div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"file-upload-attributes\">\n Upload a file\n </label>\n\n\n <input class=\"govuk-file-upload\" id=\"file-upload-attributes\" name=\"file-upload-attributes\" type=\"file\" accept=\".jpg, .jpeg, .png\">\n</div>",
103
+ "hidden": true
92
104
  },
93
105
  {
94
106
  "name": "classes",
95
107
  "options": {
108
+ "id": "file-upload-classes",
109
+ "name": "file-upload-classes",
110
+ "label": {
111
+ "text": "Upload a file"
112
+ },
96
113
  "classes": "app-file-upload--custom-modifier"
97
114
  },
98
- "html": "<div class=\"govuk-form-group\">\n \n\n\n <input class=\"govuk-file-upload app-file-upload--custom-modifier\" id=\"\" name=\"\" type=\"file\">\n</div>"
115
+ "html": "<div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"file-upload-classes\">\n Upload a file\n </label>\n\n\n <input class=\"govuk-file-upload app-file-upload--custom-modifier\" id=\"file-upload-classes\" name=\"file-upload-classes\" type=\"file\">\n</div>",
116
+ "hidden": true
99
117
  },
100
118
  {
101
119
  "name": "with describedBy",
102
120
  "options": {
121
+ "id": "file-upload-describedby",
122
+ "name": "file-upload-describedby",
123
+ "label": {
124
+ "text": "Upload a file"
125
+ },
103
126
  "describedBy": "some-id"
104
127
  },
105
- "html": "<div class=\"govuk-form-group\">\n \n\n\n <input class=\"govuk-file-upload\" id=\"\" name=\"\" type=\"file\" aria-describedby=\"some-id\">\n</div>"
128
+ "html": "<div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"file-upload-describedby\">\n Upload a file\n </label>\n\n\n <input class=\"govuk-file-upload\" id=\"file-upload-describedby\" name=\"file-upload-describedby\" type=\"file\" aria-describedby=\"some-id\">\n</div>",
129
+ "hidden": true
106
130
  },
107
131
  {
108
132
  "name": "with hint and describedBy",
109
133
  "options": {
134
+ "id": "file-upload-hint-describedby",
135
+ "name": "file-upload-hint-describedby",
136
+ "label": {
137
+ "text": "Upload a file"
138
+ },
110
139
  "describedBy": "some-id",
111
140
  "hint": {
112
141
  "text": "Your photo may be in your Pictures, Photos, Downloads or Desktop folder. Or in an app like iPhoto."
113
142
  }
114
143
  },
115
- "html": "<div class=\"govuk-form-group\">\n \n\n \n \n <div id=\"undefined-hint\" class=\"govuk-hint\">\n Your photo may be in your Pictures, Photos, Downloads or Desktop folder. Or in an app like iPhoto.\n </div>\n\n\n <input class=\"govuk-file-upload\" id=\"\" name=\"\" type=\"file\" aria-describedby=\"some-id undefined-hint\">\n</div>"
144
+ "html": "<div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"file-upload-hint-describedby\">\n Upload a file\n </label>\n\n \n \n <div id=\"file-upload-hint-describedby-hint\" class=\"govuk-hint\">\n Your photo may be in your Pictures, Photos, Downloads or Desktop folder. Or in an app like iPhoto.\n </div>\n\n\n <input class=\"govuk-file-upload\" id=\"file-upload-hint-describedby\" name=\"file-upload-hint-describedby\" type=\"file\" aria-describedby=\"some-id file-upload-hint-describedby-hint\">\n</div>",
145
+ "hidden": true
116
146
  },
117
147
  {
118
148
  "name": "error",
119
149
  "options": {
120
150
  "id": "file-upload-with-error",
151
+ "name": "file-upload-with-error",
152
+ "label": {
153
+ "text": "Upload a file"
154
+ },
121
155
  "errorMessage": {
122
156
  "text": "Error message"
123
157
  }
124
158
  },
125
- "html": "<div class=\"govuk-form-group govuk-form-group--error\">\n \n\n\n \n \n <span id=\"file-upload-with-error-error\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error:</span> Error message\n </span>\n\n <input class=\"govuk-file-upload govuk-file-upload--error\" id=\"file-upload-with-error\" name=\"\" type=\"file\" aria-describedby=\"file-upload-with-error-error\">\n</div>"
159
+ "html": "<div class=\"govuk-form-group govuk-form-group--error\">\n <label class=\"govuk-label\" for=\"file-upload-with-error\">\n Upload a file\n </label>\n\n\n \n \n <span id=\"file-upload-with-error-error\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error:</span> Error message\n </span>\n\n <input class=\"govuk-file-upload govuk-file-upload--error\" id=\"file-upload-with-error\" name=\"file-upload-with-error\" type=\"file\" aria-describedby=\"file-upload-with-error-error\">\n</div>",
160
+ "hidden": true
126
161
  },
127
162
  {
128
163
  "name": "with error and describedBy",
129
164
  "options": {
165
+ "id": "file-upload-error-describedby",
166
+ "name": "file-upload-error-describedby",
167
+ "label": {
168
+ "text": "Upload a file"
169
+ },
130
170
  "describedBy": "some-id",
131
171
  "errorMessage": {
132
172
  "text": "Error message"
133
173
  }
134
174
  },
135
- "html": "<div class=\"govuk-form-group govuk-form-group--error\">\n \n\n\n \n \n <span id=\"undefined-error\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error:</span> Error message\n </span>\n\n <input class=\"govuk-file-upload govuk-file-upload--error\" id=\"\" name=\"\" type=\"file\" aria-describedby=\"some-id undefined-error\">\n</div>"
175
+ "html": "<div class=\"govuk-form-group govuk-form-group--error\">\n <label class=\"govuk-label\" for=\"file-upload-error-describedby\">\n Upload a file\n </label>\n\n\n \n \n <span id=\"file-upload-error-describedby-error\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error:</span> Error message\n </span>\n\n <input class=\"govuk-file-upload govuk-file-upload--error\" id=\"file-upload-error-describedby\" name=\"file-upload-error-describedby\" type=\"file\" aria-describedby=\"some-id file-upload-error-describedby-error\">\n</div>",
176
+ "hidden": true
136
177
  },
137
178
  {
138
179
  "name": "with error, describedBy and hint",
139
180
  "options": {
181
+ "id": "file-upload-error-describedby-hint",
182
+ "name": "file-upload-error-describedby-hint",
183
+ "label": {
184
+ "text": "Upload a file"
185
+ },
140
186
  "describedBy": "some-id",
141
187
  "errorMessage": {
142
188
  "text": "Error message"
@@ -145,7 +191,8 @@
145
191
  "text": "hint"
146
192
  }
147
193
  },
148
- "html": "<div class=\"govuk-form-group govuk-form-group--error\">\n \n\n \n \n <div id=\"undefined-hint\" class=\"govuk-hint\">\n hint\n </div>\n\n\n \n \n <span id=\"undefined-error\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error:</span> Error message\n </span>\n\n <input class=\"govuk-file-upload govuk-file-upload--error\" id=\"\" name=\"\" type=\"file\" aria-describedby=\"some-id undefined-hint undefined-error\">\n</div>"
194
+ "html": "<div class=\"govuk-form-group govuk-form-group--error\">\n <label class=\"govuk-label\" for=\"file-upload-error-describedby-hint\">\n Upload a file\n </label>\n\n \n \n <div id=\"file-upload-error-describedby-hint-hint\" class=\"govuk-hint\">\n hint\n </div>\n\n\n \n \n <span id=\"file-upload-error-describedby-hint-error\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error:</span> Error message\n </span>\n\n <input class=\"govuk-file-upload govuk-file-upload--error\" id=\"file-upload-error-describedby-hint\" name=\"file-upload-error-describedby-hint\" type=\"file\" aria-describedby=\"some-id file-upload-error-describedby-hint-hint file-upload-error-describedby-hint-error\">\n</div>",
195
+ "hidden": true
149
196
  }
150
197
  ]
151
198
  }