govuk_tech_docs 3.4.5 → 4.0.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/.github/workflows/publish.yaml +8 -4
- data/.github/workflows/test.yaml +11 -4
- data/.rubocop.yml +1 -1
- data/CHANGELOG.md +22 -1
- 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 */
|