govuk_tech_docs 3.5.0 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/publish.yaml +8 -4
- data/.github/workflows/test.yaml +11 -4
- data/.rubocop.yml +1 -1
- data/CHANGELOG.md +21 -2
- data/example/.ruby-version +1 -1
- data/example/source/javascripts/govuk_frontend.js +1 -0
- data/govuk_tech_docs.gemspec +17 -11
- data/lib/assets/javascripts/_modules/page-expiry.js +2 -2
- data/lib/assets/javascripts/_modules/table-of-contents.js +48 -2
- data/lib/assets/javascripts/govuk_frontend_all.js +3 -0
- data/lib/assets/javascripts/govuk_tech_docs.js +0 -2
- data/lib/assets/stylesheets/_govuk_tech_docs.scss +4 -10
- data/lib/assets/stylesheets/modules/_page-review.scss +0 -2
- data/lib/assets/stylesheets/modules/_search.scss +0 -4
- data/lib/govuk_tech_docs/meta_tags.rb +1 -1
- data/lib/govuk_tech_docs/redirects.rb +1 -1
- data/lib/govuk_tech_docs/table_of_contents/heading_tree_builder.rb +1 -1
- data/lib/govuk_tech_docs/table_of_contents/helpers.rb +2 -2
- data/lib/govuk_tech_docs/tech_docs_html_renderer.rb +6 -2
- data/lib/govuk_tech_docs/version.rb +1 -1
- data/lib/govuk_tech_docs.rb +20 -3
- data/lib/source/layouts/_header.erb +8 -12
- data/lib/source/layouts/_page_review.erb +1 -1
- data/lib/source/layouts/_search.erb +2 -2
- data/lib/source/layouts/core.erb +8 -2
- data/lib/source/stylesheets/manifest.css +1 -1
- data/node_modules/govuk-frontend/dist/govuk/_base.scss +5 -0
- data/node_modules/govuk-frontend/dist/govuk/all.bundle.js +2554 -0
- data/node_modules/govuk-frontend/dist/govuk/all.bundle.mjs +2529 -0
- data/node_modules/govuk-frontend/dist/govuk/all.mjs +18 -0
- data/node_modules/govuk-frontend/dist/govuk/all.scss +3 -0
- data/node_modules/govuk-frontend/dist/govuk/assets/images/favicon.svg +1 -0
- data/node_modules/govuk-frontend/dist/govuk/assets/images/govuk-crest.svg +1 -0
- data/node_modules/govuk-frontend/dist/govuk/assets/images/govuk-icon-180.png +0 -0
- data/node_modules/govuk-frontend/dist/govuk/assets/images/govuk-icon-192.png +0 -0
- data/node_modules/govuk-frontend/dist/govuk/assets/images/govuk-icon-512.png +0 -0
- data/node_modules/govuk-frontend/dist/govuk/assets/images/govuk-icon-mask.svg +1 -0
- data/node_modules/govuk-frontend/dist/govuk/assets/images/govuk-opengraph-image.png +0 -0
- data/node_modules/govuk-frontend/dist/govuk/common/closest-attribute-value.mjs +7 -0
- data/node_modules/govuk-frontend/dist/govuk/common/govuk-frontend-version.mjs +4 -0
- data/node_modules/govuk-frontend/dist/govuk/common/index.mjs +159 -0
- data/node_modules/govuk-frontend/dist/govuk/common/normalise-dataset.mjs +18 -0
- data/node_modules/govuk-frontend/dist/govuk/common/normalise-string.mjs +31 -0
- data/node_modules/govuk-frontend/dist/govuk/components/_all.scss +10 -0
- data/node_modules/govuk-frontend/{govuk/components/_all.scss → dist/govuk/components/_index.scss} +8 -3
- data/node_modules/govuk-frontend/dist/govuk/components/accordion/_accordion.scss +4 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/accordion/_index.scss +55 -77
- data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.bundle.js +785 -0
- data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.bundle.mjs +777 -0
- data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.mjs +349 -0
- data/node_modules/govuk-frontend/dist/govuk/components/back-link/_back-link.scss +4 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/back-link/_index.scss +12 -36
- data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/_breadcrumbs.scss +4 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/breadcrumbs/_index.scss +11 -36
- data/node_modules/govuk-frontend/dist/govuk/components/button/_button.scss +4 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/button/_index.scss +30 -103
- data/node_modules/govuk-frontend/dist/govuk/components/button/button.bundle.js +318 -0
- data/node_modules/govuk-frontend/dist/govuk/components/button/button.bundle.mjs +310 -0
- data/node_modules/govuk-frontend/dist/govuk/components/button/button.mjs +73 -0
- data/node_modules/govuk-frontend/dist/govuk/components/character-count/_character-count.scss +4 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/character-count/_index.scss +8 -6
- data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.bundle.js +761 -0
- data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.bundle.mjs +753 -0
- data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.mjs +295 -0
- data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/_checkboxes.scss +4 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/checkboxes/_index.scss +108 -132
- data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/checkboxes.bundle.js +268 -0
- data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/checkboxes.bundle.mjs +260 -0
- data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/checkboxes.mjs +111 -0
- data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/_cookie-banner.scss +4 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/cookie-banner/_index.scss +19 -15
- data/node_modules/govuk-frontend/dist/govuk/components/date-input/_date-input.scss +4 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/date-input/_index.scss +3 -2
- data/node_modules/govuk-frontend/dist/govuk/components/details/_details.scss +4 -0
- data/node_modules/govuk-frontend/dist/govuk/components/details/_index.scss +139 -0
- data/node_modules/govuk-frontend/dist/govuk/components/error-message/_error-message.scss +4 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/error-message/_index.scss +2 -0
- data/node_modules/govuk-frontend/dist/govuk/components/error-summary/_error-summary.scss +4 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/error-summary/_index.scss +19 -6
- data/node_modules/govuk-frontend/dist/govuk/components/error-summary/error-summary.bundle.js +378 -0
- data/node_modules/govuk-frontend/dist/govuk/components/error-summary/error-summary.bundle.mjs +370 -0
- data/node_modules/govuk-frontend/dist/govuk/components/error-summary/error-summary.mjs +103 -0
- data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/_exit-this-page.scss +4 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/exit-this-page/_index.scss +5 -10
- data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.bundle.js +662 -0
- data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.bundle.mjs +654 -0
- data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.mjs +226 -0
- data/node_modules/govuk-frontend/dist/govuk/components/fieldset/_fieldset.scss +4 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/fieldset/_index.scss +20 -15
- data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_file-upload.scss +4 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/file-upload/_index.scss +11 -15
- data/node_modules/govuk-frontend/dist/govuk/components/footer/_footer.scss +4 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/footer/_index.scss +25 -68
- data/node_modules/govuk-frontend/dist/govuk/components/header/_header.scss +4 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/header/_index.scss +84 -79
- data/node_modules/govuk-frontend/dist/govuk/components/header/header.bundle.js +252 -0
- data/node_modules/govuk-frontend/dist/govuk/components/header/header.bundle.mjs +244 -0
- data/node_modules/govuk-frontend/dist/govuk/components/header/header.mjs +88 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/hint/_hint.scss +2 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/hint/_index.scss +3 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/input/_index.scss +24 -49
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/input/_input.scss +2 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/inset-text/_index.scss +2 -0
- data/node_modules/govuk-frontend/dist/govuk/components/inset-text/_inset-text.scss +4 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/label/_index.scss +12 -7
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/label/_label.scss +2 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/notification-banner/_index.scss +11 -7
- data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/_notification-banner.scss +4 -0
- data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/notification-banner.bundle.js +320 -0
- data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/notification-banner.bundle.mjs +312 -0
- data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/notification-banner.mjs +51 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/pagination/_index.scss +36 -55
- data/node_modules/govuk-frontend/dist/govuk/components/pagination/_pagination.scss +4 -0
- data/node_modules/govuk-frontend/dist/govuk/components/panel/_index.scss +58 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/panel/_panel.scss +2 -0
- data/node_modules/govuk-frontend/dist/govuk/components/password-input/_index.scss +57 -0
- data/node_modules/govuk-frontend/dist/govuk/components/password-input/_password-input.scss +4 -0
- data/node_modules/govuk-frontend/dist/govuk/components/password-input/password-input.bundle.js +594 -0
- data/node_modules/govuk-frontend/dist/govuk/components/password-input/password-input.bundle.mjs +586 -0
- data/node_modules/govuk-frontend/dist/govuk/components/password-input/password-input.mjs +154 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/phase-banner/_index.scss +10 -1
- data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/_phase-banner.scss +4 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/radios/_index.scss +92 -113
- data/node_modules/govuk-frontend/dist/govuk/components/radios/_radios.scss +4 -0
- data/node_modules/govuk-frontend/dist/govuk/components/radios/radios.bundle.js +245 -0
- data/node_modules/govuk-frontend/dist/govuk/components/radios/radios.bundle.mjs +237 -0
- data/node_modules/govuk-frontend/dist/govuk/components/radios/radios.mjs +88 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/select/_index.scss +9 -16
- data/node_modules/govuk-frontend/dist/govuk/components/select/_select.scss +4 -0
- data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_index.scss +168 -0
- data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_service-navigation.scss +4 -0
- data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/service-navigation.bundle.js +249 -0
- data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/service-navigation.bundle.mjs +241 -0
- data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/service-navigation.mjs +85 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/skip-link/_index.scss +10 -5
- data/node_modules/govuk-frontend/dist/govuk/components/skip-link/_skip-link.scss +4 -0
- data/node_modules/govuk-frontend/dist/govuk/components/skip-link/skip-link.bundle.js +244 -0
- data/node_modules/govuk-frontend/dist/govuk/components/skip-link/skip-link.bundle.mjs +236 -0
- data/node_modules/govuk-frontend/dist/govuk/components/skip-link/skip-link.mjs +58 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/summary-list/_index.scss +22 -20
- data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_summary-list.scss +4 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/table/_index.scss +21 -17
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/table/_table.scss +2 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/tabs/_index.scss +13 -9
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/tabs/_tabs.scss +2 -0
- data/node_modules/govuk-frontend/dist/govuk/components/tabs/tabs.bundle.js +453 -0
- data/node_modules/govuk-frontend/dist/govuk/components/tabs/tabs.bundle.mjs +445 -0
- data/node_modules/govuk-frontend/dist/govuk/components/tabs/tabs.mjs +283 -0
- data/node_modules/govuk-frontend/dist/govuk/components/tag/_index.scss +97 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/tag/_tag.scss +2 -0
- data/node_modules/govuk-frontend/dist/govuk/components/task-list/_index.scss +79 -0
- data/node_modules/govuk-frontend/dist/govuk/components/task-list/_task-list.scss +4 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/textarea/_index.scss +6 -10
- data/node_modules/govuk-frontend/dist/govuk/components/textarea/_textarea.scss +4 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/warning-text/_index.scss +13 -13
- data/node_modules/govuk-frontend/dist/govuk/components/warning-text/_warning-text.scss +4 -0
- data/node_modules/govuk-frontend/dist/govuk/core/_all.scss +10 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/core/_global-styles.scss +2 -1
- data/node_modules/govuk-frontend/dist/govuk/core/_govuk-frontend-properties.scss +12 -0
- data/node_modules/govuk-frontend/{govuk/core/_all.scss → dist/govuk/core/_index.scss} +3 -1
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/core/_links.scss +8 -1
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/core/_lists.scss +2 -1
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/core/_section-break.scss +2 -7
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/core/_typography.scss +8 -5
- data/node_modules/govuk-frontend/dist/govuk/errors/index.mjs +57 -0
- data/node_modules/govuk-frontend/dist/govuk/govuk-frontend-component.mjs +60 -0
- data/node_modules/govuk-frontend/dist/govuk/govuk-frontend.min.js +1 -0
- data/node_modules/govuk-frontend/dist/govuk/helpers/_all.scss +10 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/helpers/_clearfix.scss +3 -1
- data/node_modules/govuk-frontend/dist/govuk/helpers/_colour.scss +127 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/helpers/_device-pixels.scss +4 -3
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/helpers/_focused.scss +22 -6
- data/node_modules/govuk-frontend/dist/govuk/helpers/_font-faces.scss +41 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/helpers/_grid.scss +3 -1
- data/node_modules/govuk-frontend/{govuk/helpers/_all.scss → dist/govuk/helpers/_index.scss} +2 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/helpers/_links.scss +38 -76
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/helpers/_media-queries.scss +3 -12
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/helpers/_shape-arrow.scss +3 -1
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/helpers/_spacing.scss +12 -10
- data/node_modules/govuk-frontend/dist/govuk/helpers/_typography.scss +288 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/helpers/_visually-hidden.scss +39 -50
- data/node_modules/govuk-frontend/dist/govuk/i18n.mjs +195 -0
- data/node_modules/govuk-frontend/dist/govuk/index.scss +11 -0
- data/node_modules/govuk-frontend/dist/govuk/init.mjs +162 -0
- data/node_modules/govuk-frontend/dist/govuk/objects/_all.scss +10 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/objects/_button-group.scss +7 -12
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/objects/_form-group.scss +2 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/objects/_grid.scss +4 -2
- data/node_modules/govuk-frontend/{govuk/objects/_all.scss → dist/govuk/objects/_index.scss} +2 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/objects/_main-wrapper.scss +2 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/objects/_template.scss +2 -1
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/objects/_width-container.scss +2 -9
- data/node_modules/govuk-frontend/dist/govuk/overrides/_all.scss +9 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/overrides/_display.scss +2 -0
- data/node_modules/govuk-frontend/{govuk/overrides/_all.scss → dist/govuk/overrides/_index.scss} +2 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/overrides/_spacing.scss +3 -19
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/overrides/_text-align.scss +2 -0
- data/node_modules/govuk-frontend/dist/govuk/overrides/_typography.scss +42 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/overrides/_width.scss +2 -0
- data/node_modules/govuk-frontend/dist/govuk/settings/_all.scss +10 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/settings/_assets.scss +2 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/settings/_colours-applied.scss +9 -7
- data/node_modules/govuk-frontend/dist/govuk/settings/_colours-organisations.scss +378 -0
- data/node_modules/govuk-frontend/dist/govuk/settings/_colours-palette.scss +37 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/settings/_global-styles.scss +2 -0
- data/node_modules/govuk-frontend/{govuk/settings/_all.scss → dist/govuk/settings/_index.scss} +2 -3
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/settings/_links.scss +3 -20
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/settings/_measurements.scss +18 -6
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/settings/_media-queries.scss +5 -3
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/settings/_spacing.scss +2 -0
- data/node_modules/govuk-frontend/dist/govuk/settings/_typography-font.scss +52 -0
- data/node_modules/govuk-frontend/dist/govuk/settings/_typography-responsive.scss +322 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/settings/_warnings.scss +33 -8
- data/node_modules/govuk-frontend/dist/govuk/tools/_all.scss +10 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/tools/_exports.scss +2 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/tools/_font-url.scss +3 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/tools/_image-url.scss +3 -0
- data/node_modules/govuk-frontend/{govuk/tools/_all.scss → dist/govuk/tools/_index.scss} +2 -2
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/tools/_px-to-em.scss +2 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/tools/_px-to-rem.scss +2 -0
- data/node_modules/govuk-frontend/dist/govuk/utilities/_all.scss +10 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/utilities/_clearfix.scss +2 -0
- data/node_modules/govuk-frontend/{govuk/utilities/_all.scss → dist/govuk/utilities/_index.scss} +2 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/utilities/_visually-hidden.scss +2 -0
- data/node_modules/govuk-frontend/{govuk → dist/govuk}/vendor/_sass-mq.scss +3 -1
- data/node_modules/govuk-frontend/dist/govuk-prototype-kit/init.js +15 -0
- data/node_modules/govuk-frontend/{govuk-prototype-kit → dist/govuk-prototype-kit}/init.scss +3 -2
- data/package-lock.json +37 -37
- data/package.json +6 -1
- metadata +316 -206
- data/node_modules/govuk-frontend/govuk/_base.scss +0 -3
- data/node_modules/govuk-frontend/govuk/all-ie8.scss +0 -14
- data/node_modules/govuk-frontend/govuk/all.js +0 -5172
- data/node_modules/govuk-frontend/govuk/all.scss +0 -9
- data/node_modules/govuk-frontend/govuk/assets/images/favicon.ico +0 -0
- data/node_modules/govuk-frontend/govuk/assets/images/govuk-apple-touch-icon-152x152.png +0 -0
- data/node_modules/govuk-frontend/govuk/assets/images/govuk-apple-touch-icon-167x167.png +0 -0
- data/node_modules/govuk-frontend/govuk/assets/images/govuk-apple-touch-icon-180x180.png +0 -0
- data/node_modules/govuk-frontend/govuk/assets/images/govuk-apple-touch-icon.png +0 -0
- data/node_modules/govuk-frontend/govuk/assets/images/govuk-crest-2x.png +0 -0
- data/node_modules/govuk-frontend/govuk/assets/images/govuk-crest.png +0 -0
- data/node_modules/govuk-frontend/govuk/assets/images/govuk-logotype-crown.png +0 -0
- data/node_modules/govuk-frontend/govuk/assets/images/govuk-mask-icon.svg +0 -7
- data/node_modules/govuk-frontend/govuk/assets/images/govuk-opengraph-image.png +0 -0
- data/node_modules/govuk-frontend/govuk/common/closest-attribute-value.js +0 -75
- data/node_modules/govuk-frontend/govuk/common/govuk-frontend-version.js +0 -17
- data/node_modules/govuk-frontend/govuk/common/index.js +0 -192
- data/node_modules/govuk-frontend/govuk/common/normalise-dataset.js +0 -386
- data/node_modules/govuk-frontend/govuk/common.js +0 -194
- data/node_modules/govuk-frontend/govuk/components/accordion/_accordion.scss +0 -2
- data/node_modules/govuk-frontend/govuk/components/accordion/accordion.js +0 -2386
- data/node_modules/govuk-frontend/govuk/components/back-link/_back-link.scss +0 -2
- data/node_modules/govuk-frontend/govuk/components/breadcrumbs/_breadcrumbs.scss +0 -2
- data/node_modules/govuk-frontend/govuk/components/button/_button.scss +0 -2
- data/node_modules/govuk-frontend/govuk/components/button/button.js +0 -1027
- data/node_modules/govuk-frontend/govuk/components/character-count/_character-count.scss +0 -2
- data/node_modules/govuk-frontend/govuk/components/character-count/character-count.js +0 -2281
- data/node_modules/govuk-frontend/govuk/components/checkboxes/_checkboxes.scss +0 -2
- data/node_modules/govuk-frontend/govuk/components/checkboxes/checkboxes.js +0 -1277
- data/node_modules/govuk-frontend/govuk/components/cookie-banner/_cookie-banner.scss +0 -2
- data/node_modules/govuk-frontend/govuk/components/date-input/_date-input.scss +0 -2
- data/node_modules/govuk-frontend/govuk/components/details/_details.scss +0 -2
- data/node_modules/govuk-frontend/govuk/components/details/_index.scss +0 -88
- data/node_modules/govuk-frontend/govuk/components/details/details.js +0 -873
- data/node_modules/govuk-frontend/govuk/components/error-message/_error-message.scss +0 -2
- data/node_modules/govuk-frontend/govuk/components/error-summary/_error-summary.scss +0 -2
- data/node_modules/govuk-frontend/govuk/components/error-summary/error-summary.js +0 -1189
- data/node_modules/govuk-frontend/govuk/components/exit-this-page/_exit-this-page.scss +0 -2
- data/node_modules/govuk-frontend/govuk/components/exit-this-page/exit-this-page.js +0 -2120
- data/node_modules/govuk-frontend/govuk/components/fieldset/_fieldset.scss +0 -2
- data/node_modules/govuk-frontend/govuk/components/file-upload/_file-upload.scss +0 -2
- data/node_modules/govuk-frontend/govuk/components/footer/_footer.scss +0 -2
- data/node_modules/govuk-frontend/govuk/components/header/_header.scss +0 -2
- data/node_modules/govuk-frontend/govuk/components/header/header.js +0 -794
- data/node_modules/govuk-frontend/govuk/components/inset-text/_inset-text.scss +0 -2
- data/node_modules/govuk-frontend/govuk/components/notification-banner/_notification-banner.scss +0 -2
- data/node_modules/govuk-frontend/govuk/components/notification-banner/notification-banner.js +0 -843
- data/node_modules/govuk-frontend/govuk/components/pagination/_pagination.scss +0 -2
- data/node_modules/govuk-frontend/govuk/components/panel/_index.scss +0 -56
- data/node_modules/govuk-frontend/govuk/components/phase-banner/_phase-banner.scss +0 -2
- data/node_modules/govuk-frontend/govuk/components/radios/_radios.scss +0 -2
- data/node_modules/govuk-frontend/govuk/components/radios/radios.js +0 -1222
- data/node_modules/govuk-frontend/govuk/components/select/_select.scss +0 -2
- data/node_modules/govuk-frontend/govuk/components/skip-link/_skip-link.scss +0 -2
- data/node_modules/govuk-frontend/govuk/components/skip-link/skip-link.js +0 -1145
- data/node_modules/govuk-frontend/govuk/components/summary-list/_summary-list.scss +0 -2
- data/node_modules/govuk-frontend/govuk/components/tabs/tabs.js +0 -1621
- data/node_modules/govuk-frontend/govuk/components/tag/_index.scss +0 -81
- data/node_modules/govuk-frontend/govuk/components/textarea/_textarea.scss +0 -2
- data/node_modules/govuk-frontend/govuk/components/warning-text/_warning-text.scss +0 -2
- data/node_modules/govuk-frontend/govuk/core/_govuk-frontend-version.scss +0 -5
- data/node_modules/govuk-frontend/govuk/helpers/_colour.scss +0 -98
- data/node_modules/govuk-frontend/govuk/helpers/_font-faces.scss +0 -41
- data/node_modules/govuk-frontend/govuk/helpers/_typography.scss +0 -214
- data/node_modules/govuk-frontend/govuk/i18n.js +0 -397
- data/node_modules/govuk-frontend/govuk/overrides/_typography.scss +0 -21
- data/node_modules/govuk-frontend/govuk/settings/_colours-organisations.scss +0 -146
- data/node_modules/govuk-frontend/govuk/settings/_colours-palette.scss +0 -120
- data/node_modules/govuk-frontend/govuk/settings/_compatibility.scss +0 -100
- data/node_modules/govuk-frontend/govuk/settings/_ie8.scss +0 -34
- data/node_modules/govuk-frontend/govuk/settings/_typography-font-families.scss +0 -32
- data/node_modules/govuk-frontend/govuk/settings/_typography-font.scss +0 -112
- data/node_modules/govuk-frontend/govuk/settings/_typography-responsive.scss +0 -195
- data/node_modules/govuk-frontend/govuk/tools/_compatibility.scss +0 -50
- data/node_modules/govuk-frontend/govuk/tools/_ie8.scss +0 -87
- data/node_modules/govuk-frontend/govuk/vendor/polyfills/DOMTokenList.js +0 -274
- data/node_modules/govuk-frontend/govuk/vendor/polyfills/Date/now.js +0 -23
- data/node_modules/govuk-frontend/govuk/vendor/polyfills/Document.js +0 -36
- data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/classList.js +0 -597
- data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/closest.js +0 -58
- data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/dataset.js +0 -307
- data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/matches.js +0 -33
- data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/nextElementSibling.js +0 -261
- data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/previousElementSibling.js +0 -261
- data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element.js +0 -151
- data/node_modules/govuk-frontend/govuk/vendor/polyfills/Event.js +0 -512
- data/node_modules/govuk-frontend/govuk/vendor/polyfills/Function/prototype/bind.js +0 -256
- data/node_modules/govuk-frontend/govuk/vendor/polyfills/Object/defineProperty.js +0 -96
- data/node_modules/govuk-frontend/govuk/vendor/polyfills/String/prototype/trim.js +0 -23
- data/node_modules/govuk-frontend/govuk/vendor/polyfills/Window.js +0 -30
- data/node_modules/govuk-frontend/govuk-prototype-kit/init.js +0 -8
- /data/node_modules/govuk-frontend/{govuk → dist/govuk}/assets/fonts/bold-affa96571d-v2.woff +0 -0
- /data/node_modules/govuk-frontend/{govuk → dist/govuk}/assets/fonts/bold-b542beb274-v2.woff2 +0 -0
- /data/node_modules/govuk-frontend/{govuk → dist/govuk}/assets/fonts/light-94a07e06a1-v2.woff2 +0 -0
- /data/node_modules/govuk-frontend/{govuk → dist/govuk}/assets/fonts/light-f591b13f7d-v2.woff +0 -0
- /data/{lib/source → node_modules/govuk-frontend/dist/govuk/assets/images}/favicon.ico +0 -0
@@ -2,7 +2,7 @@
|
|
2
2
|
/// @group helpers/accessibility
|
3
3
|
////
|
4
4
|
|
5
|
-
///
|
5
|
+
/// Helper function containing the common code for the following two mixins
|
6
6
|
///
|
7
7
|
/// @link https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
|
8
8
|
/// - Hiding Content for Accessibility, Jonathan Snook, February 2011
|
@@ -11,23 +11,11 @@
|
|
11
11
|
///
|
12
12
|
/// @param {Boolean} $important [true] - Whether to mark as `!important`
|
13
13
|
///
|
14
|
-
/// @access
|
14
|
+
/// @access private
|
15
15
|
|
16
|
-
@mixin
|
16
|
+
@mixin _govuk-visually-hide-content($important: true) {
|
17
17
|
position: absolute if($important, !important, null);
|
18
18
|
|
19
|
-
// Absolute positioning has the unintended consequence of removing any
|
20
|
-
// whitespace surrounding visually hidden text from the accessibility tree.
|
21
|
-
// Insert a space character before and after visually hidden text to separate
|
22
|
-
// it from any visible text surrounding it.
|
23
|
-
&:before {
|
24
|
-
content: "\00a0";
|
25
|
-
}
|
26
|
-
|
27
|
-
&:after {
|
28
|
-
content: "\00a0";
|
29
|
-
}
|
30
|
-
|
31
19
|
width: 1px if($important, !important, null);
|
32
20
|
height: 1px if($important, !important, null);
|
33
21
|
// If margin is set to a negative value it can cause text to be announced in
|
@@ -36,6 +24,8 @@
|
|
36
24
|
padding: 0 if($important, !important, null);
|
37
25
|
|
38
26
|
overflow: hidden if($important, !important, null);
|
27
|
+
|
28
|
+
// `clip` is needed for IE11 support
|
39
29
|
clip: rect(0 0 0 0) if($important, !important, null);
|
40
30
|
-webkit-clip-path: inset(50%) if($important, !important, null);
|
41
31
|
clip-path: inset(50%) if($important, !important, null);
|
@@ -46,51 +36,50 @@
|
|
46
36
|
// causes content to wrap 1 word per line:
|
47
37
|
// https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
|
48
38
|
white-space: nowrap if($important, !important, null);
|
39
|
+
|
40
|
+
// Prevent users from selecting or copying visually-hidden text. This prevents
|
41
|
+
// a user unintentionally copying more text than they intended and needing to
|
42
|
+
// manually trim it down again.
|
43
|
+
-webkit-user-select: none;
|
44
|
+
-ms-user-select: none;
|
45
|
+
user-select: none;
|
49
46
|
}
|
50
47
|
|
51
|
-
/// Hide an element visually, but have it available for screen readers
|
52
|
-
/// allowing the element to be focused when navigated to via the keyboard (e.g.
|
53
|
-
/// for the skip link)
|
54
|
-
///
|
55
|
-
/// This is slightly less opinionated about borders and padding to make it
|
56
|
-
/// easier to style the focussed element.
|
48
|
+
/// Hide an element visually, but have it available for screen readers
|
57
49
|
///
|
58
50
|
/// @param {Boolean} $important [true] - Whether to mark as `!important`
|
59
51
|
///
|
60
52
|
/// @access public
|
61
53
|
|
62
|
-
@mixin govuk-visually-hidden
|
63
|
-
|
64
|
-
|
65
|
-
width: 1px if($important, !important, null);
|
66
|
-
height: 1px if($important, !important, null);
|
67
|
-
// If margin is set to a negative value it can cause text to be announced in
|
68
|
-
// the wrong order in VoiceOver for OSX
|
69
|
-
margin: 0 if($important, !important, null);
|
70
|
-
|
71
|
-
overflow: hidden if($important, !important, null);
|
72
|
-
clip: rect(0 0 0 0) if($important, !important, null);
|
73
|
-
-webkit-clip-path: inset(50%) if($important, !important, null);
|
74
|
-
clip-path: inset(50%) if($important, !important, null);
|
75
|
-
|
76
|
-
// For long content, line feeds are not interpreted as spaces and small width
|
77
|
-
// causes content to wrap 1 word per line:
|
78
|
-
// https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
|
79
|
-
white-space: nowrap if($important, !important, null);
|
54
|
+
@mixin govuk-visually-hidden($important: true) {
|
55
|
+
@include _govuk-visually-hide-content($important: $important);
|
80
56
|
|
81
|
-
|
82
|
-
|
83
|
-
|
57
|
+
// Absolute positioning has the unintended consequence of removing any
|
58
|
+
// whitespace surrounding visually hidden text from the accessibility tree.
|
59
|
+
// Insert a space character before and after visually hidden text to separate
|
60
|
+
// it from any visible text surrounding it.
|
61
|
+
&::before {
|
62
|
+
content: "\00a0";
|
63
|
+
}
|
84
64
|
|
85
|
-
|
86
|
-
|
87
|
-
|
65
|
+
&::after {
|
66
|
+
content: "\00a0";
|
67
|
+
}
|
68
|
+
}
|
88
69
|
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
70
|
+
/// Hide an element visually, but have it available for screen readers whilst
|
71
|
+
/// allowing the element to be focused when navigated to via the keyboard (e.g.
|
72
|
+
/// for the skip link)
|
73
|
+
///
|
74
|
+
/// @param {Boolean} $important [true] - Whether to mark as `!important`
|
75
|
+
///
|
76
|
+
/// @access public
|
93
77
|
|
94
|
-
|
78
|
+
@mixin govuk-visually-hidden-focusable($important: true) {
|
79
|
+
// IE 11 doesn't support the combined `:not(:active, :focus)` syntax.
|
80
|
+
&:not(:active):not(:focus) {
|
81
|
+
@include _govuk-visually-hide-content($important: $important);
|
95
82
|
}
|
96
83
|
}
|
84
|
+
|
85
|
+
/*# sourceMappingURL=_visually-hidden.scss.map */
|
@@ -0,0 +1,195 @@
|
|
1
|
+
class I18n {
|
2
|
+
constructor(translations = {}, config = {}) {
|
3
|
+
var _config$locale;
|
4
|
+
this.translations = void 0;
|
5
|
+
this.locale = void 0;
|
6
|
+
this.translations = translations;
|
7
|
+
this.locale = (_config$locale = config.locale) != null ? _config$locale : document.documentElement.lang || 'en';
|
8
|
+
}
|
9
|
+
t(lookupKey, options) {
|
10
|
+
if (!lookupKey) {
|
11
|
+
throw new Error('i18n: lookup key missing');
|
12
|
+
}
|
13
|
+
let translation = this.translations[lookupKey];
|
14
|
+
if (typeof (options == null ? void 0 : options.count) === 'number' && typeof translation === 'object') {
|
15
|
+
const translationPluralForm = translation[this.getPluralSuffix(lookupKey, options.count)];
|
16
|
+
if (translationPluralForm) {
|
17
|
+
translation = translationPluralForm;
|
18
|
+
}
|
19
|
+
}
|
20
|
+
if (typeof translation === 'string') {
|
21
|
+
if (translation.match(/%{(.\S+)}/)) {
|
22
|
+
if (!options) {
|
23
|
+
throw new Error('i18n: cannot replace placeholders in string if no option data provided');
|
24
|
+
}
|
25
|
+
return this.replacePlaceholders(translation, options);
|
26
|
+
}
|
27
|
+
return translation;
|
28
|
+
}
|
29
|
+
return lookupKey;
|
30
|
+
}
|
31
|
+
replacePlaceholders(translationString, options) {
|
32
|
+
const formatter = Intl.NumberFormat.supportedLocalesOf(this.locale).length ? new Intl.NumberFormat(this.locale) : undefined;
|
33
|
+
return translationString.replace(/%{(.\S+)}/g, function (placeholderWithBraces, placeholderKey) {
|
34
|
+
if (Object.prototype.hasOwnProperty.call(options, placeholderKey)) {
|
35
|
+
const placeholderValue = options[placeholderKey];
|
36
|
+
if (placeholderValue === false || typeof placeholderValue !== 'number' && typeof placeholderValue !== 'string') {
|
37
|
+
return '';
|
38
|
+
}
|
39
|
+
if (typeof placeholderValue === 'number') {
|
40
|
+
return formatter ? formatter.format(placeholderValue) : `${placeholderValue}`;
|
41
|
+
}
|
42
|
+
return placeholderValue;
|
43
|
+
}
|
44
|
+
throw new Error(`i18n: no data found to replace ${placeholderWithBraces} placeholder in string`);
|
45
|
+
});
|
46
|
+
}
|
47
|
+
hasIntlPluralRulesSupport() {
|
48
|
+
return Boolean('PluralRules' in window.Intl && Intl.PluralRules.supportedLocalesOf(this.locale).length);
|
49
|
+
}
|
50
|
+
getPluralSuffix(lookupKey, count) {
|
51
|
+
count = Number(count);
|
52
|
+
if (!isFinite(count)) {
|
53
|
+
return 'other';
|
54
|
+
}
|
55
|
+
const translation = this.translations[lookupKey];
|
56
|
+
const preferredForm = this.hasIntlPluralRulesSupport() ? new Intl.PluralRules(this.locale).select(count) : this.selectPluralFormUsingFallbackRules(count);
|
57
|
+
if (typeof translation === 'object') {
|
58
|
+
if (preferredForm in translation) {
|
59
|
+
return preferredForm;
|
60
|
+
} else if ('other' in translation) {
|
61
|
+
console.warn(`i18n: Missing plural form ".${preferredForm}" for "${this.locale}" locale. Falling back to ".other".`);
|
62
|
+
return 'other';
|
63
|
+
}
|
64
|
+
}
|
65
|
+
throw new Error(`i18n: Plural form ".other" is required for "${this.locale}" locale`);
|
66
|
+
}
|
67
|
+
selectPluralFormUsingFallbackRules(count) {
|
68
|
+
count = Math.abs(Math.floor(count));
|
69
|
+
const ruleset = this.getPluralRulesForLocale();
|
70
|
+
if (ruleset) {
|
71
|
+
return I18n.pluralRules[ruleset](count);
|
72
|
+
}
|
73
|
+
return 'other';
|
74
|
+
}
|
75
|
+
getPluralRulesForLocale() {
|
76
|
+
const localeShort = this.locale.split('-')[0];
|
77
|
+
for (const pluralRule in I18n.pluralRulesMap) {
|
78
|
+
const languages = I18n.pluralRulesMap[pluralRule];
|
79
|
+
if (languages.includes(this.locale) || languages.includes(localeShort)) {
|
80
|
+
return pluralRule;
|
81
|
+
}
|
82
|
+
}
|
83
|
+
}
|
84
|
+
}
|
85
|
+
I18n.pluralRulesMap = {
|
86
|
+
arabic: ['ar'],
|
87
|
+
chinese: ['my', 'zh', 'id', 'ja', 'jv', 'ko', 'ms', 'th', 'vi'],
|
88
|
+
french: ['hy', 'bn', 'fr', 'gu', 'hi', 'fa', 'pa', 'zu'],
|
89
|
+
german: ['af', 'sq', 'az', 'eu', 'bg', 'ca', 'da', 'nl', 'en', 'et', 'fi', 'ka', 'de', 'el', 'hu', 'lb', 'no', 'so', 'sw', 'sv', 'ta', 'te', 'tr', 'ur'],
|
90
|
+
irish: ['ga'],
|
91
|
+
russian: ['ru', 'uk'],
|
92
|
+
scottish: ['gd'],
|
93
|
+
spanish: ['pt-PT', 'it', 'es'],
|
94
|
+
welsh: ['cy']
|
95
|
+
};
|
96
|
+
I18n.pluralRules = {
|
97
|
+
arabic(n) {
|
98
|
+
if (n === 0) {
|
99
|
+
return 'zero';
|
100
|
+
}
|
101
|
+
if (n === 1) {
|
102
|
+
return 'one';
|
103
|
+
}
|
104
|
+
if (n === 2) {
|
105
|
+
return 'two';
|
106
|
+
}
|
107
|
+
if (n % 100 >= 3 && n % 100 <= 10) {
|
108
|
+
return 'few';
|
109
|
+
}
|
110
|
+
if (n % 100 >= 11 && n % 100 <= 99) {
|
111
|
+
return 'many';
|
112
|
+
}
|
113
|
+
return 'other';
|
114
|
+
},
|
115
|
+
chinese() {
|
116
|
+
return 'other';
|
117
|
+
},
|
118
|
+
french(n) {
|
119
|
+
return n === 0 || n === 1 ? 'one' : 'other';
|
120
|
+
},
|
121
|
+
german(n) {
|
122
|
+
return n === 1 ? 'one' : 'other';
|
123
|
+
},
|
124
|
+
irish(n) {
|
125
|
+
if (n === 1) {
|
126
|
+
return 'one';
|
127
|
+
}
|
128
|
+
if (n === 2) {
|
129
|
+
return 'two';
|
130
|
+
}
|
131
|
+
if (n >= 3 && n <= 6) {
|
132
|
+
return 'few';
|
133
|
+
}
|
134
|
+
if (n >= 7 && n <= 10) {
|
135
|
+
return 'many';
|
136
|
+
}
|
137
|
+
return 'other';
|
138
|
+
},
|
139
|
+
russian(n) {
|
140
|
+
const lastTwo = n % 100;
|
141
|
+
const last = lastTwo % 10;
|
142
|
+
if (last === 1 && lastTwo !== 11) {
|
143
|
+
return 'one';
|
144
|
+
}
|
145
|
+
if (last >= 2 && last <= 4 && !(lastTwo >= 12 && lastTwo <= 14)) {
|
146
|
+
return 'few';
|
147
|
+
}
|
148
|
+
if (last === 0 || last >= 5 && last <= 9 || lastTwo >= 11 && lastTwo <= 14) {
|
149
|
+
return 'many';
|
150
|
+
}
|
151
|
+
return 'other';
|
152
|
+
},
|
153
|
+
scottish(n) {
|
154
|
+
if (n === 1 || n === 11) {
|
155
|
+
return 'one';
|
156
|
+
}
|
157
|
+
if (n === 2 || n === 12) {
|
158
|
+
return 'two';
|
159
|
+
}
|
160
|
+
if (n >= 3 && n <= 10 || n >= 13 && n <= 19) {
|
161
|
+
return 'few';
|
162
|
+
}
|
163
|
+
return 'other';
|
164
|
+
},
|
165
|
+
spanish(n) {
|
166
|
+
if (n === 1) {
|
167
|
+
return 'one';
|
168
|
+
}
|
169
|
+
if (n % 1000000 === 0 && n !== 0) {
|
170
|
+
return 'many';
|
171
|
+
}
|
172
|
+
return 'other';
|
173
|
+
},
|
174
|
+
welsh(n) {
|
175
|
+
if (n === 0) {
|
176
|
+
return 'zero';
|
177
|
+
}
|
178
|
+
if (n === 1) {
|
179
|
+
return 'one';
|
180
|
+
}
|
181
|
+
if (n === 2) {
|
182
|
+
return 'two';
|
183
|
+
}
|
184
|
+
if (n === 3) {
|
185
|
+
return 'few';
|
186
|
+
}
|
187
|
+
if (n === 6) {
|
188
|
+
return 'many';
|
189
|
+
}
|
190
|
+
return 'other';
|
191
|
+
}
|
192
|
+
};
|
193
|
+
|
194
|
+
export { I18n };
|
195
|
+
//# sourceMappingURL=i18n.mjs.map
|
@@ -0,0 +1,162 @@
|
|
1
|
+
import { isSupported } from './common/index.mjs';
|
2
|
+
import { Accordion } from './components/accordion/accordion.mjs';
|
3
|
+
import { Button } from './components/button/button.mjs';
|
4
|
+
import { CharacterCount } from './components/character-count/character-count.mjs';
|
5
|
+
import { Checkboxes } from './components/checkboxes/checkboxes.mjs';
|
6
|
+
import { ErrorSummary } from './components/error-summary/error-summary.mjs';
|
7
|
+
import { ExitThisPage } from './components/exit-this-page/exit-this-page.mjs';
|
8
|
+
import { Header } from './components/header/header.mjs';
|
9
|
+
import { NotificationBanner } from './components/notification-banner/notification-banner.mjs';
|
10
|
+
import { PasswordInput } from './components/password-input/password-input.mjs';
|
11
|
+
import { Radios } from './components/radios/radios.mjs';
|
12
|
+
import { ServiceNavigation } from './components/service-navigation/service-navigation.mjs';
|
13
|
+
import { SkipLink } from './components/skip-link/skip-link.mjs';
|
14
|
+
import { Tabs } from './components/tabs/tabs.mjs';
|
15
|
+
import { SupportError } from './errors/index.mjs';
|
16
|
+
|
17
|
+
/**
|
18
|
+
* Initialise all components
|
19
|
+
*
|
20
|
+
* Use the `data-module` attributes to find, instantiate and init all of the
|
21
|
+
* components provided as part of GOV.UK Frontend.
|
22
|
+
*
|
23
|
+
* @param {Config & { scope?: Element, onError?: OnErrorCallback<CompatibleClass> }} [config] - Config for all components (with optional scope)
|
24
|
+
*/
|
25
|
+
function initAll(config) {
|
26
|
+
var _config$scope;
|
27
|
+
config = typeof config !== 'undefined' ? config : {};
|
28
|
+
if (!isSupported()) {
|
29
|
+
if (config.onError) {
|
30
|
+
config.onError(new SupportError(), {
|
31
|
+
config
|
32
|
+
});
|
33
|
+
} else {
|
34
|
+
console.log(new SupportError());
|
35
|
+
}
|
36
|
+
return;
|
37
|
+
}
|
38
|
+
const components = [[Accordion, config.accordion], [Button, config.button], [CharacterCount, config.characterCount], [Checkboxes], [ErrorSummary, config.errorSummary], [ExitThisPage, config.exitThisPage], [Header], [NotificationBanner, config.notificationBanner], [PasswordInput, config.passwordInput], [Radios], [ServiceNavigation], [SkipLink], [Tabs]];
|
39
|
+
const options = {
|
40
|
+
scope: (_config$scope = config.scope) != null ? _config$scope : document,
|
41
|
+
onError: config.onError
|
42
|
+
};
|
43
|
+
components.forEach(([Component, config]) => {
|
44
|
+
createAll(Component, config, options);
|
45
|
+
});
|
46
|
+
}
|
47
|
+
|
48
|
+
/**
|
49
|
+
* Create all instances of a specific component on the page
|
50
|
+
*
|
51
|
+
* Uses the `data-module` attribute to find all elements matching the specified
|
52
|
+
* component on the page, creating instances of the component object for each
|
53
|
+
* of them.
|
54
|
+
*
|
55
|
+
* Any component errors will be caught and logged to the console.
|
56
|
+
*
|
57
|
+
* @template {CompatibleClass} T
|
58
|
+
* @param {T} Component - class of the component to create
|
59
|
+
* @param {T["defaults"]} [config] - Config supplied to component
|
60
|
+
* @param {OnErrorCallback<T> | Element | Document | CreateAllOptions<T> } [createAllOptions] - options for createAll including scope of the document to search within and callback function if error throw by component on init
|
61
|
+
* @returns {Array<InstanceType<T>>} - array of instantiated components
|
62
|
+
*/
|
63
|
+
function createAll(Component, config, createAllOptions) {
|
64
|
+
let $scope = document;
|
65
|
+
let onError;
|
66
|
+
if (typeof createAllOptions === 'object') {
|
67
|
+
var _createAllOptions$sco;
|
68
|
+
createAllOptions = createAllOptions;
|
69
|
+
$scope = (_createAllOptions$sco = createAllOptions.scope) != null ? _createAllOptions$sco : $scope;
|
70
|
+
onError = createAllOptions.onError;
|
71
|
+
}
|
72
|
+
if (typeof createAllOptions === 'function') {
|
73
|
+
onError = createAllOptions;
|
74
|
+
}
|
75
|
+
if (createAllOptions instanceof HTMLElement) {
|
76
|
+
$scope = createAllOptions;
|
77
|
+
}
|
78
|
+
const $elements = $scope.querySelectorAll(`[data-module="${Component.moduleName}"]`);
|
79
|
+
if (!isSupported()) {
|
80
|
+
if (onError) {
|
81
|
+
onError(new SupportError(), {
|
82
|
+
component: Component,
|
83
|
+
config
|
84
|
+
});
|
85
|
+
} else {
|
86
|
+
console.log(new SupportError());
|
87
|
+
}
|
88
|
+
return [];
|
89
|
+
}
|
90
|
+
return Array.from($elements).map($element => {
|
91
|
+
try {
|
92
|
+
return typeof config !== 'undefined' ? new Component($element, config) : new Component($element);
|
93
|
+
} catch (error) {
|
94
|
+
if (onError) {
|
95
|
+
onError(error, {
|
96
|
+
element: $element,
|
97
|
+
component: Component,
|
98
|
+
config
|
99
|
+
});
|
100
|
+
} else {
|
101
|
+
console.log(error);
|
102
|
+
}
|
103
|
+
return null;
|
104
|
+
}
|
105
|
+
}).filter(Boolean);
|
106
|
+
}
|
107
|
+
/**
|
108
|
+
* @typedef {{new (...args: any[]): any, defaults?: object, moduleName: string}} CompatibleClass
|
109
|
+
*/
|
110
|
+
/**
|
111
|
+
* Config for all components via `initAll()`
|
112
|
+
*
|
113
|
+
* @typedef {object} Config
|
114
|
+
* @property {AccordionConfig} [accordion] - Accordion config
|
115
|
+
* @property {ButtonConfig} [button] - Button config
|
116
|
+
* @property {CharacterCountConfig} [characterCount] - Character Count config
|
117
|
+
* @property {ErrorSummaryConfig} [errorSummary] - Error Summary config
|
118
|
+
* @property {ExitThisPageConfig} [exitThisPage] - Exit This Page config
|
119
|
+
* @property {NotificationBannerConfig} [notificationBanner] - Notification Banner config
|
120
|
+
* @property {PasswordInputConfig} [passwordInput] - Password input config
|
121
|
+
*/
|
122
|
+
/**
|
123
|
+
* Config for individual components
|
124
|
+
*
|
125
|
+
* @typedef {import('./components/accordion/accordion.mjs').AccordionConfig} AccordionConfig
|
126
|
+
* @typedef {import('./components/accordion/accordion.mjs').AccordionTranslations} AccordionTranslations
|
127
|
+
* @typedef {import('./components/button/button.mjs').ButtonConfig} ButtonConfig
|
128
|
+
* @typedef {import('./components/character-count/character-count.mjs').CharacterCountConfig} CharacterCountConfig
|
129
|
+
* @typedef {import('./components/character-count/character-count.mjs').CharacterCountTranslations} CharacterCountTranslations
|
130
|
+
* @typedef {import('./components/error-summary/error-summary.mjs').ErrorSummaryConfig} ErrorSummaryConfig
|
131
|
+
* @typedef {import('./components/exit-this-page/exit-this-page.mjs').ExitThisPageConfig} ExitThisPageConfig
|
132
|
+
* @typedef {import('./components/exit-this-page/exit-this-page.mjs').ExitThisPageTranslations} ExitThisPageTranslations
|
133
|
+
* @typedef {import('./components/notification-banner/notification-banner.mjs').NotificationBannerConfig} NotificationBannerConfig
|
134
|
+
* @typedef {import('./components/password-input/password-input.mjs').PasswordInputConfig} PasswordInputConfig
|
135
|
+
*/
|
136
|
+
/**
|
137
|
+
* Component config keys, e.g. `accordion` and `characterCount`
|
138
|
+
*
|
139
|
+
* @typedef {keyof Config} ConfigKey
|
140
|
+
*/
|
141
|
+
/**
|
142
|
+
* @template {CompatibleClass} T
|
143
|
+
* @typedef {object} ErrorContext
|
144
|
+
* @property {Element} [element] - Element used for component module initialisation
|
145
|
+
* @property {T} [component] - Class of component
|
146
|
+
* @property {T["defaults"]} config - Config supplied to component
|
147
|
+
*/
|
148
|
+
/**
|
149
|
+
* @template {CompatibleClass} T
|
150
|
+
* @callback OnErrorCallback
|
151
|
+
* @param {unknown} error - Thrown error
|
152
|
+
* @param {ErrorContext<T>} context - Object containing the element, component class and configuration
|
153
|
+
*/
|
154
|
+
/**
|
155
|
+
* @template {CompatibleClass} T
|
156
|
+
* @typedef {object} CreateAllOptions
|
157
|
+
* @property {Element | Document} [scope] - scope of the document to search within
|
158
|
+
* @property {OnErrorCallback<T>} [onError] - callback function if error throw by component on init
|
159
|
+
*/
|
160
|
+
|
161
|
+
export { createAll, initAll };
|
162
|
+
//# sourceMappingURL=init.mjs.map
|
@@ -0,0 +1,10 @@
|
|
1
|
+
@import "../settings/warnings";
|
2
|
+
@import "index";
|
3
|
+
|
4
|
+
@include _warning(
|
5
|
+
"import-using-all",
|
6
|
+
"Importing using 'govuk/objects/all' is deprecated. Update your import statement to import 'govuk/objects/index'.",
|
7
|
+
$silence-further-warnings: false
|
8
|
+
);
|
9
|
+
|
10
|
+
/*# sourceMappingURL=_all.scss.map */
|
@@ -29,12 +29,9 @@
|
|
29
29
|
// margins, but unfortunately the support isn't there (yet) and @supports
|
30
30
|
// doesn't play nicely with it
|
31
31
|
// (https://github.com/w3c/csswg-drafts/issues/3559)
|
32
|
-
display: -ms-flexbox;
|
33
32
|
display: flex;
|
34
|
-
|
35
|
-
|
36
|
-
-ms-flex-align: center;
|
37
|
-
align-items: center;
|
33
|
+
flex-direction: column;
|
34
|
+
align-items: center;
|
38
35
|
|
39
36
|
// Give links within the button group the same font-size and line-height
|
40
37
|
// as buttons.
|
@@ -64,13 +61,9 @@
|
|
64
61
|
// Cancel out the column gap for the last item in each row
|
65
62
|
margin-right: ($horizontal-gap * -1);
|
66
63
|
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
-ms-flex-wrap: wrap;
|
71
|
-
flex-wrap: wrap;
|
72
|
-
-ms-flex-align: baseline;
|
73
|
-
align-items: baseline;
|
64
|
+
flex-direction: row;
|
65
|
+
flex-wrap: wrap;
|
66
|
+
align-items: baseline;
|
74
67
|
|
75
68
|
.govuk-button,
|
76
69
|
.govuk-link {
|
@@ -83,3 +76,5 @@
|
|
83
76
|
}
|
84
77
|
}
|
85
78
|
}
|
79
|
+
|
80
|
+
/*# sourceMappingURL=_button-group.scss.map */
|
@@ -3,8 +3,8 @@
|
|
3
3
|
@include govuk-exports("govuk/objects/grid") {
|
4
4
|
.govuk-grid-row {
|
5
5
|
@include govuk-clearfix;
|
6
|
-
margin-right: -
|
7
|
-
margin-left: -
|
6
|
+
margin-right: -($govuk-gutter-half);
|
7
|
+
margin-left: -($govuk-gutter-half);
|
8
8
|
}
|
9
9
|
|
10
10
|
@each $width in map-keys($govuk-grid-widths) {
|
@@ -22,3 +22,5 @@
|
|
22
22
|
}
|
23
23
|
}
|
24
24
|
}
|
25
|
+
|
26
|
+
/*# sourceMappingURL=_grid.scss.map */
|
@@ -1,7 +1,6 @@
|
|
1
1
|
@import "../base";
|
2
2
|
|
3
3
|
@include govuk-exports("govuk/objects/template") {
|
4
|
-
|
5
4
|
// Applied to the <html> element
|
6
5
|
.govuk-template {
|
7
6
|
// Set the overall page background colour to the same colour as used by the
|
@@ -50,3 +49,5 @@
|
|
50
49
|
background-color: $govuk-body-background-colour;
|
51
50
|
}
|
52
51
|
}
|
52
|
+
|
53
|
+
/*# sourceMappingURL=_template.scss.map */
|
@@ -18,7 +18,6 @@
|
|
18
18
|
/// @access public
|
19
19
|
|
20
20
|
@mixin govuk-width-container($width: $govuk-page-width) {
|
21
|
-
|
22
21
|
// By default, limit the width of the container to the page width
|
23
22
|
max-width: $width;
|
24
23
|
|
@@ -67,14 +66,6 @@
|
|
67
66
|
margin-left: auto;
|
68
67
|
}
|
69
68
|
}
|
70
|
-
|
71
|
-
@include _govuk-if-ie8 {
|
72
|
-
width: $width;
|
73
|
-
// Since media queries are not supported in IE8,
|
74
|
-
// we need to duplicate this margin that centers the page.
|
75
|
-
margin-right: auto;
|
76
|
-
margin-left: auto;
|
77
|
-
}
|
78
69
|
}
|
79
70
|
|
80
71
|
@include govuk-exports("govuk/objects/width-container") {
|
@@ -82,3 +73,5 @@
|
|
82
73
|
@include govuk-width-container;
|
83
74
|
}
|
84
75
|
}
|
76
|
+
|
77
|
+
/*# sourceMappingURL=_width-container.scss.map */
|