govuk_publishing_components 60.0.2 → 60.2.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 +2 -0
- data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-page-views.js +11 -1
- data/app/assets/javascripts/govuk_publishing_components/components/feedback.js +0 -14
- data/app/assets/javascripts/govuk_publishing_components/vendor/lux/lux-reporter.js +570 -595
- data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_footnotes.scss +5 -0
- data/app/views/govuk_publishing_components/audit/_applications.html.erb +13 -13
- data/app/views/govuk_publishing_components/audit/_component_contents.html.erb +2 -2
- data/app/views/govuk_publishing_components/audit/_components.html.erb +17 -19
- data/app/views/govuk_publishing_components/audit/_items_in_applications.html.erb +3 -3
- data/app/views/govuk_publishing_components/audit/show.html.erb +5 -6
- data/app/views/govuk_publishing_components/component_guide/component_doc/_call.html.erb +2 -2
- data/app/views/govuk_publishing_components/component_guide/example.html.erb +4 -5
- data/app/views/govuk_publishing_components/component_guide/index.html.erb +9 -10
- data/app/views/govuk_publishing_components/component_guide/preview.html.erb +1 -1
- data/app/views/govuk_publishing_components/component_guide/show.html.erb +9 -10
- data/app/views/govuk_publishing_components/components/_accordion.html.erb +5 -5
- data/app/views/govuk_publishing_components/components/_action_link.html.erb +2 -2
- data/app/views/govuk_publishing_components/components/_add_another.html.erb +3 -3
- data/app/views/govuk_publishing_components/components/_attachment.html.erb +4 -4
- data/app/views/govuk_publishing_components/components/_back_link.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_back_to_top_link.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_big_number.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_cards.html.erb +4 -4
- data/app/views/govuk_publishing_components/components/_character_count.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_checkboxes.html.erb +3 -3
- data/app/views/govuk_publishing_components/components/_contents_list.html.erb +6 -9
- data/app/views/govuk_publishing_components/components/_contents_list_with_body.html.erb +2 -2
- data/app/views/govuk_publishing_components/components/_contextual_breadcrumbs.html.erb +2 -2
- data/app/views/govuk_publishing_components/components/_contextual_footer.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_contextual_sidebar.html.erb +6 -6
- data/app/views/govuk_publishing_components/components/_cookie_banner.html.erb +6 -6
- data/app/views/govuk_publishing_components/components/_date_input.html.erb +5 -5
- data/app/views/govuk_publishing_components/components/_details.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_devolved_nations.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_document_list.html.erb +8 -8
- data/app/views/govuk_publishing_components/components/_emergency_banner.html.erb +3 -3
- data/app/views/govuk_publishing_components/components/_feedback.html.erb +2 -2
- data/app/views/govuk_publishing_components/components/_fieldset.html.erb +3 -4
- data/app/views/govuk_publishing_components/components/_figure.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_file_upload.html.erb +5 -5
- data/app/views/govuk_publishing_components/components/_glance_metric.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_global_banner.html.erb +2 -2
- data/app/views/govuk_publishing_components/components/_google_tag_manager_script.html.erb +7 -7
- data/app/views/govuk_publishing_components/components/_govspeak_html_publication.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_image_card.html.erb +4 -5
- data/app/views/govuk_publishing_components/components/_input.html.erb +14 -14
- data/app/views/govuk_publishing_components/components/_intervention.html.erb +4 -6
- data/app/views/govuk_publishing_components/components/_label.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_layout_footer.html.erb +6 -9
- data/app/views/govuk_publishing_components/components/_layout_for_admin.html.erb +2 -2
- data/app/views/govuk_publishing_components/components/_layout_for_public.html.erb +15 -15
- data/app/views/govuk_publishing_components/components/_layout_super_navigation_header.html.erb +16 -19
- data/app/views/govuk_publishing_components/components/_machine_readable_metadata.html.erb +18 -17
- data/app/views/govuk_publishing_components/components/_metadata.html.erb +4 -4
- data/app/views/govuk_publishing_components/components/_notice.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_option_select.html.erb +8 -9
- data/app/views/govuk_publishing_components/components/_organisation_logo.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_password_input.html.erb +17 -17
- data/app/views/govuk_publishing_components/components/_phase_banner.html.erb +2 -3
- data/app/views/govuk_publishing_components/components/_previous_and_next_navigation.html.erb +6 -8
- data/app/views/govuk_publishing_components/components/_print_link.html.erb +3 -3
- data/app/views/govuk_publishing_components/components/_published_dates.html.erb +6 -7
- data/app/views/govuk_publishing_components/components/_radio.html.erb +7 -8
- data/app/views/govuk_publishing_components/components/_related_navigation.html.erb +4 -6
- data/app/views/govuk_publishing_components/components/_reorderable_list.html.erb +7 -7
- data/app/views/govuk_publishing_components/components/_search_with_autocomplete.html.erb +2 -2
- data/app/views/govuk_publishing_components/components/_secondary_navigation.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_select.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_select_with_search.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_share_links.html.erb +18 -18
- data/app/views/govuk_publishing_components/components/_signup_link.html.erb +3 -3
- data/app/views/govuk_publishing_components/components/_single_page_notification_button.html.erb +3 -3
- data/app/views/govuk_publishing_components/components/_skip_link.html.erb +2 -3
- data/app/views/govuk_publishing_components/components/_step_by_step_nav.html.erb +9 -10
- data/app/views/govuk_publishing_components/components/_step_by_step_nav_header.html.erb +2 -3
- data/app/views/govuk_publishing_components/components/_step_by_step_nav_related.html.erb +5 -9
- data/app/views/govuk_publishing_components/components/_subscription_links.html.erb +8 -8
- data/app/views/govuk_publishing_components/components/_summary_list.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_table.html.erb +3 -3
- data/app/views/govuk_publishing_components/components/_tag.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_textarea.html.erb +4 -4
- data/app/views/govuk_publishing_components/components/_translation_nav.html.erb +1 -2
- data/app/views/govuk_publishing_components/components/_warning_text.html.erb +2 -2
- data/app/views/govuk_publishing_components/components/attachment/_thumbnail_document.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/attachment/_thumbnail_external.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/attachment/_thumbnail_generic.html.erb +2 -2
- data/app/views/govuk_publishing_components/components/attachment/_thumbnail_html.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/attachment/_thumbnail_pdf.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/attachment/_thumbnail_spreadsheet.html.erb +3 -3
- data/app/views/govuk_publishing_components/components/cross_service_header/_one_login_header.html.erb +10 -10
- data/app/views/govuk_publishing_components/components/docs/govspeak.yml +7 -3
- data/app/views/govuk_publishing_components/components/feedback/_problem_form.html.erb +10 -10
- data/app/views/govuk_publishing_components/components/feedback/_yes_no_banner.html.erb +6 -8
- data/app/views/govuk_publishing_components/components/govuk_logo/_govuk_logo_crown_only.html.erb +1 -2
- data/app/views/govuk_publishing_components/components/layout_for_public/_account-layout.html.erb +2 -2
- data/app/views/govuk_publishing_components/components/layout_for_public/_account-navigation.html.erb +2 -2
- data/app/views/govuk_publishing_components/components/layout_header/_header_logo.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/layout_header/_navigation_items.html.erb +2 -3
- data/app/views/govuk_publishing_components/components/metadata/_sentence.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/related_navigation/_section.html.erb +4 -4
- data/app/views/govuk_publishing_components/components/search/_search_icon.html.erb +2 -3
- data/app/views/layouts/govuk_publishing_components/application.html.erb +3 -3
- data/lib/govuk_publishing_components/presenters/component_wrapper_helper.rb +1 -1
- data/lib/govuk_publishing_components/presenters/heading_helper.rb +3 -3
- data/lib/govuk_publishing_components/presenters/meta_tags.rb +1 -0
- data/lib/govuk_publishing_components/version.rb +1 -1
- data/node_modules/govuk-frontend/dist/govuk/all.bundle.js +99 -73
- data/node_modules/govuk-frontend/dist/govuk/all.bundle.js.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/all.bundle.mjs +99 -73
- data/node_modules/govuk-frontend/dist/govuk/all.bundle.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/common/configuration.mjs +29 -2
- data/node_modules/govuk-frontend/dist/govuk/common/configuration.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/common/govuk-frontend-version.mjs +1 -1
- data/node_modules/govuk-frontend/dist/govuk/common/index.mjs +5 -11
- data/node_modules/govuk-frontend/dist/govuk/common/index.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/component.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.bundle.js +13 -11
- data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.bundle.js.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.bundle.mjs +13 -11
- data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.bundle.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.mjs +4 -4
- data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/accordion/fixtures.json +102 -97
- data/node_modules/govuk-frontend/dist/govuk/components/back-link/fixtures.json +21 -32
- data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/fixtures.json +25 -45
- data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/template-default.html +6 -0
- data/node_modules/govuk-frontend/dist/govuk/components/button/button.bundle.js +7 -5
- data/node_modules/govuk-frontend/dist/govuk/components/button/button.bundle.js.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/button/button.bundle.mjs +7 -5
- data/node_modules/govuk-frontend/dist/govuk/components/button/button.bundle.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/button/button.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/button/fixtures.json +66 -210
- data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.bundle.js +10 -8
- data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.bundle.js.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.bundle.mjs +10 -8
- data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.bundle.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.mjs +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/character-count/fixtures.json +72 -86
- data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/checkboxes.bundle.js +10 -5
- data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/checkboxes.bundle.js.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/checkboxes.bundle.mjs +10 -5
- data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/checkboxes.bundle.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/checkboxes.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/fixtures.json +305 -464
- data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-default.html +24 -19
- data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-divider-and-none.html +2 -4
- data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-divider-none-and-conditional-items.html +2 -4
- data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-error-message.html +12 -3
- data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/{template-with-fieldset-and-error-message.html → template-with-hint.html} +5 -5
- data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-hints-on-items.html +2 -4
- data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-pre-checked-values.html +36 -27
- data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-very-long-option-text.html +2 -5
- data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/fixtures.json +115 -79
- data/node_modules/govuk-frontend/dist/govuk/components/date-input/fixtures.json +147 -159
- data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-default.html +30 -22
- data/node_modules/govuk-frontend/dist/govuk/components/details/fixtures.json +22 -22
- data/node_modules/govuk-frontend/dist/govuk/components/error-message/fixtures.json +10 -10
- data/node_modules/govuk-frontend/dist/govuk/components/error-summary/error-summary.bundle.js +8 -12
- data/node_modules/govuk-frontend/dist/govuk/components/error-summary/error-summary.bundle.js.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/error-summary/error-summary.bundle.mjs +8 -12
- data/node_modules/govuk-frontend/dist/govuk/components/error-summary/error-summary.bundle.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/error-summary/error-summary.mjs +2 -2
- data/node_modules/govuk-frontend/dist/govuk/components/error-summary/error-summary.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/error-summary/fixtures.json +21 -21
- data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.bundle.js +9 -7
- data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.bundle.js.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.bundle.mjs +9 -7
- data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.bundle.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/fixtures.json +19 -19
- data/node_modules/govuk-frontend/dist/govuk/components/fieldset/fixtures.json +19 -19
- data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.bundle.js +10 -8
- data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.bundle.js.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.bundle.mjs +10 -8
- data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.bundle.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.mjs +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/file-upload/fixtures.json +99 -150
- data/node_modules/govuk-frontend/dist/govuk/components/footer/fixtures.json +53 -64
- data/node_modules/govuk-frontend/dist/govuk/components/header/_index.scss +10 -4
- data/node_modules/govuk-frontend/dist/govuk/components/header/_index.scss.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/header/fixtures.json +155 -103
- data/node_modules/govuk-frontend/dist/govuk/components/header/header.bundle.js +12 -6
- data/node_modules/govuk-frontend/dist/govuk/components/header/header.bundle.js.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/header/header.bundle.mjs +12 -6
- data/node_modules/govuk-frontend/dist/govuk/components/header/header.bundle.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/header/header.mjs +1 -0
- data/node_modules/govuk-frontend/dist/govuk/components/header/header.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/header/template-full-width-with-navigation.html +0 -1
- data/node_modules/govuk-frontend/dist/govuk/components/header/template-full-width.html +0 -1
- data/node_modules/govuk-frontend/dist/govuk/components/header/template-navigation-item-with-html.html +0 -3
- data/node_modules/govuk-frontend/dist/govuk/components/header/template-navigation-item-with-text-without-link.html +0 -3
- data/node_modules/govuk-frontend/dist/govuk/components/header/template-with-full-width-border.html +0 -1
- data/node_modules/govuk-frontend/dist/govuk/components/hint/fixtures.json +7 -7
- data/node_modules/govuk-frontend/dist/govuk/components/input/fixtures.json +158 -179
- data/node_modules/govuk-frontend/dist/govuk/components/inset-text/fixtures.json +7 -7
- data/node_modules/govuk-frontend/dist/govuk/components/label/fixtures.json +18 -18
- data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/fixtures.json +74 -108
- data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/notification-banner.bundle.js +7 -5
- data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/notification-banner.bundle.js.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/notification-banner.bundle.mjs +7 -5
- data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/notification-banner.bundle.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/notification-banner.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/template-with-text-as-html.html +7 -1
- data/node_modules/govuk-frontend/dist/govuk/components/pagination/_index.scss +4 -0
- data/node_modules/govuk-frontend/dist/govuk/components/pagination/_index.scss.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/pagination/fixtures.json +80 -98
- data/node_modules/govuk-frontend/dist/govuk/components/pagination/macro-options.json +4 -4
- data/node_modules/govuk-frontend/dist/govuk/components/panel/fixtures.json +22 -22
- data/node_modules/govuk-frontend/dist/govuk/components/password-input/fixtures.json +53 -48
- data/node_modules/govuk-frontend/dist/govuk/components/password-input/password-input.bundle.js +9 -7
- data/node_modules/govuk-frontend/dist/govuk/components/password-input/password-input.bundle.js.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/password-input/password-input.bundle.mjs +9 -7
- data/node_modules/govuk-frontend/dist/govuk/components/password-input/password-input.bundle.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/password-input/password-input.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/fixtures.json +8 -8
- data/node_modules/govuk-frontend/dist/govuk/components/radios/fixtures.json +213 -328
- data/node_modules/govuk-frontend/dist/govuk/components/radios/radios.bundle.js +10 -5
- data/node_modules/govuk-frontend/dist/govuk/components/radios/radios.bundle.js.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/radios/radios.bundle.mjs +10 -5
- data/node_modules/govuk-frontend/dist/govuk/components/radios/radios.bundle.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/radios/radios.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/radios/template-default.html +18 -16
- data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-hint.html +24 -0
- data/node_modules/govuk-frontend/dist/govuk/components/select/fixtures.json +99 -115
- data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_index.scss +72 -5
- data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_index.scss.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/fixtures.json +228 -62
- data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/macro-options.json +6 -0
- data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/service-navigation.bundle.js +11 -6
- data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/service-navigation.bundle.js.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/service-navigation.bundle.mjs +11 -6
- data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/service-navigation.bundle.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/service-navigation.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/{template-with-navigation-with-an-active-item.html → template-inverse.html} +7 -2
- data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/template-with-a-single-navigation-item-and-collapsenavigationonmobile-set-to-true.html +38 -0
- data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/template-with-a-single-navigation-item.html +35 -0
- data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/template-with-collapsenavigationonmobile-set-to-false.html +60 -0
- data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/template.njk +3 -0
- data/node_modules/govuk-frontend/dist/govuk/components/skip-link/_index.scss +1 -2
- data/node_modules/govuk-frontend/dist/govuk/components/skip-link/_index.scss.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/skip-link/fixtures.json +10 -10
- data/node_modules/govuk-frontend/dist/govuk/components/skip-link/skip-link.bundle.js +12 -19
- data/node_modules/govuk-frontend/dist/govuk/components/skip-link/skip-link.bundle.js.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/skip-link/skip-link.bundle.mjs +12 -19
- data/node_modules/govuk-frontend/dist/govuk/components/skip-link/skip-link.bundle.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/skip-link/skip-link.mjs +3 -9
- data/node_modules/govuk-frontend/dist/govuk/components/skip-link/skip-link.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/summary-list/fixtures.json +282 -518
- data/node_modules/govuk-frontend/dist/govuk/components/table/fixtures.json +75 -75
- data/node_modules/govuk-frontend/dist/govuk/components/tabs/fixtures.json +44 -39
- data/node_modules/govuk-frontend/dist/govuk/components/tabs/tabs.bundle.js +13 -14
- data/node_modules/govuk-frontend/dist/govuk/components/tabs/tabs.bundle.js.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/tabs/tabs.bundle.mjs +13 -14
- data/node_modules/govuk-frontend/dist/govuk/components/tabs/tabs.bundle.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/tabs/tabs.mjs +3 -3
- data/node_modules/govuk-frontend/dist/govuk/components/tabs/tabs.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/components/tag/fixtures.json +14 -26
- data/node_modules/govuk-frontend/dist/govuk/components/task-list/fixtures.json +14 -71
- data/node_modules/govuk-frontend/dist/govuk/components/textarea/fixtures.json +81 -81
- data/node_modules/govuk-frontend/dist/govuk/components/warning-text/fixtures.json +9 -9
- data/node_modules/govuk-frontend/dist/govuk/core/_govuk-frontend-properties.scss +5 -2
- data/node_modules/govuk-frontend/dist/govuk/core/_govuk-frontend-properties.scss.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/errors/index.mjs +5 -3
- data/node_modules/govuk-frontend/dist/govuk/errors/index.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/govuk-frontend.min.css +2 -2
- data/node_modules/govuk-frontend/dist/govuk/govuk-frontend.min.css.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/govuk-frontend.min.js +1 -1
- data/node_modules/govuk-frontend/dist/govuk/govuk-frontend.min.js.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/helpers/_colour.scss +31 -2
- data/node_modules/govuk-frontend/dist/govuk/helpers/_colour.scss.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/helpers/_visually-hidden.scss +4 -1
- data/node_modules/govuk-frontend/dist/govuk/helpers/_visually-hidden.scss.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/i18n.mjs +4 -2
- data/node_modules/govuk-frontend/dist/govuk/i18n.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/init.mjs +52 -43
- data/node_modules/govuk-frontend/dist/govuk/init.mjs.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/macros/logo.njk +2 -2
- data/node_modules/govuk-frontend/dist/govuk/settings/_colours-applied.scss +2 -2
- data/node_modules/govuk-frontend/dist/govuk/settings/_colours-applied.scss.map +1 -1
- data/node_modules/govuk-frontend/dist/govuk/settings/_index.scss +13 -0
- data/node_modules/govuk-frontend/dist/govuk/settings/_index.scss.map +1 -1
- data/node_modules/govuk-frontend/govuk-prototype-kit.config.json +1 -1
- data/node_modules/govuk-frontend/package.json +13 -13
- metadata +27 -102
- data/node_modules/govuk-frontend/dist/govuk/components/accordion/template-with-focusable-elements-inside.html +0 -26
- data/node_modules/govuk-frontend/dist/govuk/components/accordion/template-with-one-section-open.html +0 -30
- data/node_modules/govuk-frontend/dist/govuk/components/accordion/template-with-translations.html +0 -30
- data/node_modules/govuk-frontend/dist/govuk/components/back-link/template-with-custom-link.html +0 -1
- data/node_modules/govuk-frontend/dist/govuk/components/back-link/template-with-custom-text.html +0 -1
- data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/template-with-multiple-levels.html +0 -16
- data/node_modules/govuk-frontend/dist/govuk/components/button/template-input-disabled.html +0 -1
- data/node_modules/govuk-frontend/dist/govuk/components/button/template-inverse-disabled.html +0 -3
- data/node_modules/govuk-frontend/dist/govuk/components/button/template-inverse-link.html +0 -3
- data/node_modules/govuk-frontend/dist/govuk/components/button/template-inverse-start.html +0 -6
- data/node_modules/govuk-frontend/dist/govuk/components/button/template-prevent-double-click.html +0 -3
- data/node_modules/govuk-frontend/dist/govuk/components/button/template-secondary-disabled.html +0 -3
- data/node_modules/govuk-frontend/dist/govuk/components/button/template-secondary-link.html +0 -3
- data/node_modules/govuk-frontend/dist/govuk/components/button/template-start-link.html +0 -6
- data/node_modules/govuk-frontend/dist/govuk/components/button/template-warning-disabled.html +0 -3
- data/node_modules/govuk-frontend/dist/govuk/components/button/template-warning-link.html +0 -3
- data/node_modules/govuk-frontend/dist/govuk/components/button/template-with-active-state.html +0 -3
- data/node_modules/govuk-frontend/dist/govuk/components/button/template-with-focus-state.html +0 -3
- data/node_modules/govuk-frontend/dist/govuk/components/button/template-with-hover-state.html +0 -3
- data/node_modules/govuk-frontend/dist/govuk/components/character-count/template-with-custom-textarea-description.html +0 -9
- data/node_modules/govuk-frontend/dist/govuk/components/character-count/template-with-error.html +0 -12
- data/node_modules/govuk-frontend/dist/govuk/components/character-count/template-with-translations.html +0 -9
- data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-small-with-disabled.html +0 -27
- data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-a-medium-legend.html +0 -33
- data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-conditional-item-checked.html +0 -39
- data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-conditional-items-with-special-characters.html +0 -39
- data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-disabled-item.html +0 -29
- data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-error-message-and-hints-on-items.html +0 -39
- data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-id-and-name.html +0 -30
- data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-single-option-and-hint-set-aria-describedby-on-input.html +0 -16
- data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-single-option-set-aria-describedby-on-input.html +0 -13
- data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-without-fieldset.html +0 -22
- data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/template-client-side-implementation.html +0 -60
- data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-autocomplete-values.html +0 -36
- data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-default-items.html +0 -36
- data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-input-attributes.html +0 -36
- data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-optional-form-group-classes.html +0 -36
- data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/template-translated.html +0 -5
- data/node_modules/govuk-frontend/dist/govuk/components/file-upload/template-allows-direct-media-capture.html +0 -6
- data/node_modules/govuk-frontend/dist/govuk/components/file-upload/template-allows-image-files-only.html +0 -6
- data/node_modules/govuk-frontend/dist/govuk/components/file-upload/template-allows-multiple-files.html +0 -6
- data/node_modules/govuk-frontend/dist/govuk/components/file-upload/template-disabled.html +0 -6
- data/node_modules/govuk-frontend/dist/govuk/components/file-upload/template-enhanced-disabled.html +0 -13
- data/node_modules/govuk-frontend/dist/govuk/components/file-upload/template-with-optional-form-group-classes.html +0 -6
- data/node_modules/govuk-frontend/dist/govuk/components/footer/template-with-meta.html +0 -56
- data/node_modules/govuk-frontend/dist/govuk/components/header/template-with-custom-menu-button-label.html +0 -59
- data/node_modules/govuk-frontend/dist/govuk/components/header/template-with-custom-navigation-label.html +0 -59
- data/node_modules/govuk-frontend/dist/govuk/components/input/template-disabled.html +0 -6
- data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-autocapitalize-turned-off.html +0 -6
- data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-autocomplete-attribute.html +0 -6
- data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-optional-form-group-classes.html +0 -6
- data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-pattern-attribute.html +0 -6
- data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-prefix-and-long-suffix.html +0 -10
- data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-spellcheck-disabled.html +0 -6
- data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-spellcheck-enabled.html +0 -6
- data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/template-auto-focus-disabled-with-type-as-success.html +0 -12
- data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/template-auto-focus-explicitly-enabled-with-type-as-success.html +0 -12
- data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/template-custom-tabindex.html +0 -12
- data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/template-paragraph-as-html-heading.html +0 -10
- data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/template-rolealert-overridden-to-roleregion-with-type-as-success.html +0 -12
- data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/template-success-with-custom-html.html +0 -16
- data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/template-with-a-list.html +0 -16
- data/node_modules/govuk-frontend/dist/govuk/components/pagination/template-with-custom-accessible-labels-on-item-links.html +0 -39
- data/node_modules/govuk-frontend/dist/govuk/components/pagination/template-with-custom-navigation-landmark.html +0 -39
- data/node_modules/govuk-frontend/dist/govuk/components/pagination/template-with-prev-and-next-only-in-a-different-language.html +0 -22
- data/node_modules/govuk-frontend/dist/govuk/components/panel/template-custom-heading-level.html +0 -8
- data/node_modules/govuk-frontend/dist/govuk/components/password-input/template-with-new-password-autocomplete.html +0 -11
- data/node_modules/govuk-frontend/dist/govuk/components/password-input/template-with-translations.html +0 -11
- data/node_modules/govuk-frontend/dist/govuk/components/radios/template-prechecked-using-value.html +0 -16
- data/node_modules/govuk-frontend/dist/govuk/components/radios/template-prechecked.html +0 -19
- data/node_modules/govuk-frontend/dist/govuk/components/radios/template-small-inline-extreme.html +0 -69
- data/node_modules/govuk-frontend/dist/govuk/components/radios/template-small-with-disabled.html +0 -27
- data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-a-medium-legend.html +0 -24
- data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-conditional-items-with-special-characters.html +0 -39
- data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-disabled.html +0 -29
- data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-idprefix.html +0 -16
- data/node_modules/govuk-frontend/dist/govuk/components/select/template-id.html +0 -7
- data/node_modules/govuk-frontend/dist/govuk/components/select/template-with-no-items.html +0 -7
- data/node_modules/govuk-frontend/dist/govuk/components/select/template-with-optional-form-group-classes.html +0 -10
- data/node_modules/govuk-frontend/dist/govuk/components/select/template-with-selected-value.html +0 -10
- data/node_modules/govuk-frontend/dist/govuk/components/summary-list/template-as-a-summary-card-with-a-custom-header-level.html +0 -28
- data/node_modules/govuk-frontend/dist/govuk/components/summary-list/template-check-your-answers.html +0 -98
- data/node_modules/govuk-frontend/dist/govuk/components/summary-list/template-overridden-widths.html +0 -58
- data/node_modules/govuk-frontend/dist/govuk/components/summary-list/template-translated.html +0 -51
- data/node_modules/govuk-frontend/dist/govuk/components/summary-list/template-with-no-first-action.html +0 -58
- data/node_modules/govuk-frontend/dist/govuk/components/summary-list/template-with-some-actions.html +0 -45
- data/node_modules/govuk-frontend/dist/govuk/components/table/template-with-small-text-modifier-for-tables-with-a-lot-of-data.html +0 -19
- data/node_modules/govuk-frontend/dist/govuk/components/tag/template-blue.html +0 -3
- data/node_modules/govuk-frontend/dist/govuk/components/task-list/template-example-with-3-states.html +0 -49
- data/node_modules/govuk-frontend/dist/govuk/components/textarea/template-with-autocomplete-attribute.html +0 -6
- data/node_modules/govuk-frontend/dist/govuk/components/textarea/template-with-optional-form-group-classes.html +0 -6
- data/node_modules/govuk-frontend/dist/govuk/components/textarea/template-with-spellcheck-disabled.html +0 -6
- data/node_modules/govuk-frontend/dist/govuk/components/textarea/template-with-spellcheck-enabled.html +0 -6
- /data/node_modules/govuk-frontend/dist/govuk/components/date-input/{template-complete-question.html → template-with-items.html} +0 -0
- /data/node_modules/govuk-frontend/dist/govuk/components/table/{template-table-with-head-and-caption.html → template-with-head-and-caption.html} +0 -0
- /data/node_modules/govuk-frontend/dist/govuk/components/table/{template-table-with-head.html → template-with-head.html} +0 -0
- /data/node_modules/govuk-frontend/dist/govuk/components/task-list/{template-example-with-all-possible-colours.html → template-with-all-possible-colours.html} +0 -0
- /data/node_modules/govuk-frontend/dist/govuk/components/task-list/{template-example-with-hint-text-and-additional-states.html → template-with-hint-text-and-additional-states.html} +0 -0
- /data/node_modules/govuk-frontend/dist/govuk/components/task-list/{template-example-with-very-long-single-word-tags.html → template-with-very-long-single-word-tags.html} +0 -0
@@ -4,16 +4,10 @@
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.GOVUKFrontend = global.GOVUKFrontend || {}));
|
5
5
|
})(this, (function (exports) { 'use strict';
|
6
6
|
|
7
|
-
const version = '5.
|
7
|
+
const version = '5.11.2';
|
8
8
|
|
9
|
-
function getFragmentFromUrl(url) {
|
10
|
-
if (!url.includes('#')) {
|
11
|
-
return undefined;
|
12
|
-
}
|
13
|
-
return url.split('#').pop();
|
14
|
-
}
|
15
9
|
function getBreakpoint(name) {
|
16
|
-
const property = `--govuk-
|
10
|
+
const property = `--govuk-breakpoint-${name}`;
|
17
11
|
const value = window.getComputedStyle(document.documentElement).getPropertyValue(property);
|
18
12
|
return {
|
19
13
|
property,
|
@@ -69,6 +63,9 @@
|
|
69
63
|
function isObject(option) {
|
70
64
|
return !!option && typeof option === 'object' && !isArray(option);
|
71
65
|
}
|
66
|
+
function isScope($scope) {
|
67
|
+
return !!$scope && ($scope instanceof Element || $scope instanceof Document);
|
68
|
+
}
|
72
69
|
function formatErrorMessage(Component, message) {
|
73
70
|
return `${Component.moduleName}: ${message}`;
|
74
71
|
}
|
@@ -76,9 +73,6 @@
|
|
76
73
|
* @typedef ComponentWithModuleName
|
77
74
|
* @property {string} moduleName - Name of the component
|
78
75
|
*/
|
79
|
-
/**
|
80
|
-
* @import { ObjectNested } from './configuration.mjs'
|
81
|
-
*/
|
82
76
|
|
83
77
|
class GOVUKFrontendError extends Error {
|
84
78
|
constructor(...args) {
|
@@ -107,7 +101,7 @@
|
|
107
101
|
class ElementError extends GOVUKFrontendError {
|
108
102
|
constructor(messageOrOptions) {
|
109
103
|
let message = typeof messageOrOptions === 'string' ? messageOrOptions : '';
|
110
|
-
if (
|
104
|
+
if (isObject(messageOrOptions)) {
|
111
105
|
const {
|
112
106
|
component,
|
113
107
|
identifier,
|
@@ -116,7 +110,9 @@
|
|
116
110
|
} = messageOrOptions;
|
117
111
|
message = identifier;
|
118
112
|
message += element ? ` is not of type ${expectedType != null ? expectedType : 'HTMLElement'}` : ' not found';
|
119
|
-
|
113
|
+
if (component) {
|
114
|
+
message = formatErrorMessage(component, message);
|
115
|
+
}
|
120
116
|
}
|
121
117
|
super(message);
|
122
118
|
this.name = 'ElementError';
|
@@ -256,6 +252,30 @@
|
|
256
252
|
}
|
257
253
|
return out;
|
258
254
|
}
|
255
|
+
function normaliseOptions(scopeOrOptions) {
|
256
|
+
let $scope = document;
|
257
|
+
let onError;
|
258
|
+
if (isObject(scopeOrOptions)) {
|
259
|
+
const options = scopeOrOptions;
|
260
|
+
if (isScope(options.scope) || options.scope === null) {
|
261
|
+
$scope = options.scope;
|
262
|
+
}
|
263
|
+
if (typeof options.onError === 'function') {
|
264
|
+
onError = options.onError;
|
265
|
+
}
|
266
|
+
}
|
267
|
+
if (isScope(scopeOrOptions)) {
|
268
|
+
$scope = scopeOrOptions;
|
269
|
+
} else if (scopeOrOptions === null) {
|
270
|
+
$scope = null;
|
271
|
+
} else if (typeof scopeOrOptions === 'function') {
|
272
|
+
onError = scopeOrOptions;
|
273
|
+
}
|
274
|
+
return {
|
275
|
+
scope: $scope,
|
276
|
+
onError
|
277
|
+
};
|
278
|
+
}
|
259
279
|
function mergeConfigs(...configObjects) {
|
260
280
|
const formattedConfigObject = {};
|
261
281
|
for (const configObject of configObjects) {
|
@@ -350,6 +370,9 @@
|
|
350
370
|
* @template {Partial<Record<keyof ConfigurationType, unknown>>} [ConfigurationType=ObjectNested]
|
351
371
|
* @typedef {typeof Component & ChildClass<ConfigurationType>} ChildClassConstructor<ConfigurationType>
|
352
372
|
*/
|
373
|
+
/**
|
374
|
+
* @import { CompatibleClass, Config, CreateAllOptions, OnErrorCallback } from '../init.mjs'
|
375
|
+
*/
|
353
376
|
|
354
377
|
class I18n {
|
355
378
|
constructor(translations = {}, config = {}) {
|
@@ -364,7 +387,7 @@
|
|
364
387
|
throw new Error('i18n: lookup key missing');
|
365
388
|
}
|
366
389
|
let translation = this.translations[lookupKey];
|
367
|
-
if (typeof (options == null ? void 0 : options.count) === 'number' &&
|
390
|
+
if (typeof (options == null ? void 0 : options.count) === 'number' && isObject(translation)) {
|
368
391
|
const translationPluralForm = translation[this.getPluralSuffix(lookupKey, options.count)];
|
369
392
|
if (translationPluralForm) {
|
370
393
|
translation = translationPluralForm;
|
@@ -407,7 +430,7 @@
|
|
407
430
|
}
|
408
431
|
const translation = this.translations[lookupKey];
|
409
432
|
const preferredForm = this.hasIntlPluralRulesSupport() ? new Intl.PluralRules(this.locale).select(count) : this.selectPluralFormUsingFallbackRules(count);
|
410
|
-
if (
|
433
|
+
if (isObject(translation)) {
|
411
434
|
if (preferredForm in translation) {
|
412
435
|
return preferredForm;
|
413
436
|
} else if ('other' in translation) {
|
@@ -743,11 +766,11 @@
|
|
743
766
|
const ariaLabelParts = [];
|
744
767
|
const $headingText = $section.querySelector(`.${this.sectionHeadingTextClass}`);
|
745
768
|
if ($headingText) {
|
746
|
-
ariaLabelParts.push(
|
769
|
+
ariaLabelParts.push($headingText.textContent.trim());
|
747
770
|
}
|
748
771
|
const $summary = $section.querySelector(`.${this.sectionSummaryClass}`);
|
749
772
|
if ($summary) {
|
750
|
-
ariaLabelParts.push(
|
773
|
+
ariaLabelParts.push($summary.textContent.trim());
|
751
774
|
}
|
752
775
|
const ariaLabelMessage = expanded ? this.i18n.t('hideSectionAriaLabel') : this.i18n.t('showSectionAriaLabel');
|
753
776
|
ariaLabelParts.push(ariaLabelMessage);
|
@@ -800,7 +823,7 @@
|
|
800
823
|
if (id) {
|
801
824
|
try {
|
802
825
|
window.sessionStorage.setItem(id, isExpanded.toString());
|
803
|
-
} catch (
|
826
|
+
} catch (_unused) {}
|
804
827
|
}
|
805
828
|
}
|
806
829
|
setInitialState($section) {
|
@@ -814,7 +837,7 @@
|
|
814
837
|
if (state !== null) {
|
815
838
|
this.setExpanded(state === 'true', $section);
|
816
839
|
}
|
817
|
-
} catch (
|
840
|
+
} catch (_unused2) {}
|
818
841
|
}
|
819
842
|
}
|
820
843
|
getButtonPunctuationEl() {
|
@@ -1023,7 +1046,7 @@
|
|
1023
1046
|
});
|
1024
1047
|
}
|
1025
1048
|
this.$errorMessage = this.$root.querySelector('.govuk-error-message');
|
1026
|
-
if (
|
1049
|
+
if ($textareaDescription.textContent.match(/^\s*$/)) {
|
1027
1050
|
$textareaDescription.textContent = this.i18n.t('textareaDescription', {
|
1028
1051
|
count: this.maxLength
|
1029
1052
|
});
|
@@ -1383,7 +1406,7 @@
|
|
1383
1406
|
if (!($target instanceof HTMLAnchorElement)) {
|
1384
1407
|
return false;
|
1385
1408
|
}
|
1386
|
-
const inputId =
|
1409
|
+
const inputId = $target.hash.replace('#', '');
|
1387
1410
|
if (!inputId) {
|
1388
1411
|
return false;
|
1389
1412
|
}
|
@@ -1696,7 +1719,6 @@
|
|
1696
1719
|
throw new ElementError(formatErrorMessage(FileUpload, 'File input (`<input type="file">`) attribute (`type`) is not `file`'));
|
1697
1720
|
}
|
1698
1721
|
this.$input = $input;
|
1699
|
-
this.$input.setAttribute('hidden', 'true');
|
1700
1722
|
if (!this.$input.id) {
|
1701
1723
|
throw new ElementError({
|
1702
1724
|
component: FileUpload,
|
@@ -1712,6 +1734,7 @@
|
|
1712
1734
|
$label.id = `${this.id}-label`;
|
1713
1735
|
}
|
1714
1736
|
this.$input.id = `${this.id}-input`;
|
1737
|
+
this.$input.setAttribute('hidden', 'true');
|
1715
1738
|
const $button = document.createElement('button');
|
1716
1739
|
$button.classList.add('govuk-file-upload-button');
|
1717
1740
|
$button.type = 'button';
|
@@ -1936,6 +1959,7 @@
|
|
1936
1959
|
if (!$menuButton) {
|
1937
1960
|
return this;
|
1938
1961
|
}
|
1962
|
+
this.$root.classList.add('govuk-header--with-js-navigation');
|
1939
1963
|
const menuId = $menuButton.getAttribute('aria-controls');
|
1940
1964
|
if (!menuId) {
|
1941
1965
|
throw new ElementError({
|
@@ -2363,16 +2387,10 @@
|
|
2363
2387
|
super($root);
|
2364
2388
|
const hash = this.$root.hash;
|
2365
2389
|
const href = (_this$$root$getAttrib = this.$root.getAttribute('href')) != null ? _this$$root$getAttrib : '';
|
2366
|
-
|
2367
|
-
try {
|
2368
|
-
url = new window.URL(this.$root.href);
|
2369
|
-
} catch (error) {
|
2370
|
-
throw new ElementError(`Skip link: Target link (\`href="${href}"\`) is invalid`);
|
2371
|
-
}
|
2372
|
-
if (url.origin !== window.location.origin || url.pathname !== window.location.pathname) {
|
2390
|
+
if (this.$root.origin !== window.location.origin || this.$root.pathname !== window.location.pathname) {
|
2373
2391
|
return;
|
2374
2392
|
}
|
2375
|
-
const linkedElementId =
|
2393
|
+
const linkedElementId = hash.replace('#', '');
|
2376
2394
|
if (!linkedElementId) {
|
2377
2395
|
throw new ElementError(`Skip link: Target link (\`href="${href}"\`) has no hash fragment`);
|
2378
2396
|
}
|
@@ -2528,7 +2546,7 @@
|
|
2528
2546
|
return this.$root.querySelector(`a.govuk-tabs__tab[href="${hash}"]`);
|
2529
2547
|
}
|
2530
2548
|
setAttributes($tab) {
|
2531
|
-
const panelId =
|
2549
|
+
const panelId = $tab.hash.replace('#', '');
|
2532
2550
|
if (!panelId) {
|
2533
2551
|
return;
|
2534
2552
|
}
|
@@ -2632,7 +2650,7 @@
|
|
2632
2650
|
this.createHistoryEntry($previousTab);
|
2633
2651
|
}
|
2634
2652
|
getPanel($tab) {
|
2635
|
-
const panelId =
|
2653
|
+
const panelId = $tab.hash.replace('#', '');
|
2636
2654
|
if (!panelId) {
|
2637
2655
|
return null;
|
2638
2656
|
}
|
@@ -2680,28 +2698,34 @@
|
|
2680
2698
|
* Use the `data-module` attributes to find, instantiate and init all of the
|
2681
2699
|
* components provided as part of GOV.UK Frontend.
|
2682
2700
|
*
|
2683
|
-
* @param {Config
|
2701
|
+
* @param {Config | Element | Document | null} [scopeOrConfig] - Scope of the document to search within or config for all components (with optional scope)
|
2684
2702
|
*/
|
2685
|
-
function initAll(
|
2686
|
-
|
2687
|
-
|
2688
|
-
|
2689
|
-
if (
|
2690
|
-
|
2703
|
+
function initAll(scopeOrConfig = {}) {
|
2704
|
+
const config = isObject(scopeOrConfig) ? scopeOrConfig : {};
|
2705
|
+
const options = normaliseOptions(scopeOrConfig);
|
2706
|
+
try {
|
2707
|
+
if (!isSupported()) {
|
2708
|
+
throw new SupportError();
|
2709
|
+
}
|
2710
|
+
if (options.scope === null) {
|
2711
|
+
throw new ElementError({
|
2712
|
+
element: options.scope,
|
2713
|
+
identifier: 'GOV.UK Frontend scope element (`$scope`)'
|
2714
|
+
});
|
2715
|
+
}
|
2716
|
+
} catch (error) {
|
2717
|
+
if (options.onError) {
|
2718
|
+
options.onError(error, {
|
2691
2719
|
config
|
2692
2720
|
});
|
2693
2721
|
} else {
|
2694
|
-
console.log(
|
2722
|
+
console.log(error);
|
2695
2723
|
}
|
2696
2724
|
return;
|
2697
2725
|
}
|
2698
2726
|
const components = [[Accordion, config.accordion], [Button, config.button], [CharacterCount, config.characterCount], [Checkboxes], [ErrorSummary, config.errorSummary], [ExitThisPage, config.exitThisPage], [FileUpload, config.fileUpload], [Header], [NotificationBanner, config.notificationBanner], [PasswordInput, config.passwordInput], [Radios], [ServiceNavigation], [SkipLink], [Tabs]];
|
2699
|
-
|
2700
|
-
|
2701
|
-
onError: config.onError
|
2702
|
-
};
|
2703
|
-
components.forEach(([Component, config]) => {
|
2704
|
-
createAll(Component, config, options);
|
2727
|
+
components.forEach(([Component, componentConfig]) => {
|
2728
|
+
createAll(Component, componentConfig, options);
|
2705
2729
|
});
|
2706
2730
|
}
|
2707
2731
|
|
@@ -2717,42 +2741,42 @@
|
|
2717
2741
|
* @template {CompatibleClass} ComponentClass
|
2718
2742
|
* @param {ComponentClass} Component - class of the component to create
|
2719
2743
|
* @param {ComponentConfig<ComponentClass>} [config] - Config supplied to component
|
2720
|
-
* @param {OnErrorCallback<ComponentClass> | Element | Document | CreateAllOptions<ComponentClass>
|
2744
|
+
* @param {OnErrorCallback<ComponentClass> | Element | Document | null | CreateAllOptions<ComponentClass>} [scopeOrOptions] - options for createAll including scope of the document to search within and callback function if error throw by component on init
|
2721
2745
|
* @returns {Array<InstanceType<ComponentClass>>} - array of instantiated components
|
2722
2746
|
*/
|
2723
|
-
function createAll(Component, config,
|
2724
|
-
let $
|
2725
|
-
|
2726
|
-
|
2727
|
-
var
|
2728
|
-
|
2729
|
-
|
2730
|
-
|
2731
|
-
|
2732
|
-
|
2733
|
-
|
2734
|
-
|
2735
|
-
|
2736
|
-
|
2737
|
-
|
2738
|
-
|
2739
|
-
|
2740
|
-
if (onError) {
|
2741
|
-
onError(
|
2747
|
+
function createAll(Component, config, scopeOrOptions) {
|
2748
|
+
let $elements;
|
2749
|
+
const options = normaliseOptions(scopeOrOptions);
|
2750
|
+
try {
|
2751
|
+
var _options$scope;
|
2752
|
+
if (!isSupported()) {
|
2753
|
+
throw new SupportError();
|
2754
|
+
}
|
2755
|
+
if (options.scope === null) {
|
2756
|
+
throw new ElementError({
|
2757
|
+
element: options.scope,
|
2758
|
+
component: Component,
|
2759
|
+
identifier: 'Scope element (`$scope`)'
|
2760
|
+
});
|
2761
|
+
}
|
2762
|
+
$elements = (_options$scope = options.scope) == null ? void 0 : _options$scope.querySelectorAll(`[data-module="${Component.moduleName}"]`);
|
2763
|
+
} catch (error) {
|
2764
|
+
if (options.onError) {
|
2765
|
+
options.onError(error, {
|
2742
2766
|
component: Component,
|
2743
2767
|
config
|
2744
2768
|
});
|
2745
2769
|
} else {
|
2746
|
-
console.log(
|
2770
|
+
console.log(error);
|
2747
2771
|
}
|
2748
2772
|
return [];
|
2749
2773
|
}
|
2750
|
-
return Array.from($elements).map($element => {
|
2774
|
+
return Array.from($elements != null ? $elements : []).map($element => {
|
2751
2775
|
try {
|
2752
2776
|
return typeof config !== 'undefined' ? new Component($element, config) : new Component($element);
|
2753
2777
|
} catch (error) {
|
2754
|
-
if (onError) {
|
2755
|
-
onError(error, {
|
2778
|
+
if (options.onError) {
|
2779
|
+
options.onError(error, {
|
2756
2780
|
element: $element,
|
2757
2781
|
component: Component,
|
2758
2782
|
config
|
@@ -2771,6 +2795,8 @@
|
|
2771
2795
|
* Config for all components via `initAll()`
|
2772
2796
|
*
|
2773
2797
|
* @typedef {object} Config
|
2798
|
+
* @property {Element | Document | null} [scope] - Scope of the document to search within
|
2799
|
+
* @property {OnErrorCallback<CompatibleClass>} [onError] - Initialisation error callback
|
2774
2800
|
* @property {AccordionConfig} [accordion] - Accordion config
|
2775
2801
|
* @property {ButtonConfig} [button] - Button config
|
2776
2802
|
* @property {CharacterCountConfig} [characterCount] - Character Count config
|
@@ -2795,7 +2821,7 @@
|
|
2795
2821
|
/**
|
2796
2822
|
* Component config keys, e.g. `accordion` and `characterCount`
|
2797
2823
|
*
|
2798
|
-
* @typedef {keyof Config} ConfigKey
|
2824
|
+
* @typedef {keyof Omit<Config, 'scope' | 'onError'>} ConfigKey
|
2799
2825
|
*/
|
2800
2826
|
/**
|
2801
2827
|
* @template {CompatibleClass} ComponentClass
|
@@ -2806,7 +2832,7 @@
|
|
2806
2832
|
* @typedef {object} ErrorContext
|
2807
2833
|
* @property {Element} [element] - Element used for component module initialisation
|
2808
2834
|
* @property {ComponentClass} [component] - Class of component
|
2809
|
-
* @property {ComponentConfig<ComponentClass>} config - Config supplied to
|
2835
|
+
* @property {Config | ComponentConfig<ComponentClass>} [config] - Config supplied to components
|
2810
2836
|
*/
|
2811
2837
|
/**
|
2812
2838
|
* @template {CompatibleClass} ComponentClass
|
@@ -2817,7 +2843,7 @@
|
|
2817
2843
|
/**
|
2818
2844
|
* @template {CompatibleClass} ComponentClass
|
2819
2845
|
* @typedef {object} CreateAllOptions
|
2820
|
-
* @property {Element | Document} [scope] - scope of the document to search within
|
2846
|
+
* @property {Element | Document | null} [scope] - scope of the document to search within
|
2821
2847
|
* @property {OnErrorCallback<ComponentClass>} [onError] - callback function if error throw by component on init
|
2822
2848
|
*/
|
2823
2849
|
|