@ons/design-system 70.0.7 → 70.0.9
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.
- package/README.md +11 -17
- package/components/access-code/_macro.njk +31 -25
- package/components/access-code/_macro.spec.js +145 -145
- package/components/access-code/access-code.dom.js +5 -5
- package/components/access-code/access-code.js +16 -16
- package/components/access-code/access-code.scss +22 -22
- package/components/access-code/access-code.spec.js +17 -17
- package/components/access-code/example-access-code-error.njk +49 -37
- package/components/access-code/example-access-code.njk +40 -30
- package/components/accordion/_macro.njk +7 -6
- package/components/accordion/_macro.spec.js +154 -154
- package/components/accordion/accordion.dom.js +10 -10
- package/components/accordion/accordion.js +50 -50
- package/components/accordion/accordion.spec.js +104 -104
- package/components/accordion/example-accordion-open.njk +0 -1
- package/components/address-input/_macro.njk +23 -11
- package/components/address-input/_macro.spec.js +420 -420
- package/components/address-input/autosuggest.address.dom.js +5 -5
- package/components/address-input/autosuggest.address.error.js +77 -77
- package/components/address-input/autosuggest.address.js +354 -359
- package/components/address-input/autosuggest.address.setter.js +95 -95
- package/components/address-input/autosuggest.address.spec.js +668 -651
- package/components/address-input/example-address-input-editable.njk +52 -50
- package/components/address-input/example-address-input-manual.njk +23 -21
- package/components/address-input/example-address-input.njk +40 -38
- package/components/address-output/_address-output.scss +3 -3
- package/components/address-output/_macro.njk +6 -6
- package/components/address-output/_macro.spec.js +84 -84
- package/components/autosuggest/_autosuggest.scss +114 -114
- package/components/autosuggest/_macro.njk +57 -37
- package/components/autosuggest/_macro.spec.js +255 -255
- package/components/autosuggest/autosuggest.dom.js +5 -5
- package/components/autosuggest/autosuggest.helpers.js +11 -11
- package/components/autosuggest/autosuggest.helpers.spec.js +73 -73
- package/components/autosuggest/autosuggest.js +20 -20
- package/components/autosuggest/autosuggest.spec.js +542 -536
- package/components/autosuggest/autosuggest.ui.js +478 -475
- package/components/autosuggest/example-autosuggest-country-multiple.njk +26 -26
- package/components/autosuggest/example-autosuggest-country.njk +24 -24
- package/components/autosuggest/fuse-config.js +17 -17
- package/components/back-to-top/_back-to-top.scss +27 -27
- package/components/back-to-top/_macro.spec.js +49 -49
- package/components/back-to-top/back-to-top.dom.js +5 -5
- package/components/back-to-top/back-to-top.js +52 -52
- package/components/back-to-top/back-to-top.spec.js +106 -106
- package/components/back-to-top/example-back-to-top.njk +183 -6
- package/components/back-to-top/example-full-page-back-to-top.njk +135 -123
- package/components/breadcrumbs/_breadcrumbs.scss +63 -65
- package/components/breadcrumbs/_macro.njk +12 -4
- package/components/breadcrumbs/_macro.spec.js +91 -91
- package/components/browser-banner/_browser-banner.scss +23 -23
- package/components/browser-banner/_macro.njk +6 -3
- package/components/browser-banner/_macro.spec.js +92 -92
- package/components/button/_button.scss +525 -491
- package/components/button/_macro.njk +63 -62
- package/components/button/_macro.spec.js +363 -363
- package/components/button/button.dom.js +15 -15
- package/components/button/button.js +53 -53
- package/components/button/button.spec.js +248 -240
- package/components/button/example-button-ghost.njk +1 -0
- package/components/call-to-action/_call-to-action.scss +5 -5
- package/components/call-to-action/_macro.njk +7 -5
- package/components/call-to-action/_macro.spec.js +28 -28
- package/components/call-to-action/example-call-to-action-default.njk +3 -2
- package/components/card/_card.scss +23 -23
- package/components/card/_macro.njk +26 -10
- package/components/card/_macro.spec.js +180 -180
- package/components/card/example-card-set-with-images.njk +31 -29
- package/components/card/example-card-set-with-lists.njk +58 -56
- package/components/card/example-card-set.njk +28 -26
- package/components/card/example-card.njk +9 -7
- package/components/char-check-limit/_macro.njk +1 -3
- package/components/char-check-limit/_macro.spec.js +48 -48
- package/components/char-check-limit/character-check.js +58 -58
- package/components/char-check-limit/character-check.spec.js +173 -173
- package/components/char-check-limit/character-limit.js +40 -40
- package/components/checkboxes/_checkbox-macro.njk +19 -15
- package/components/checkboxes/_checkbox-macro.spec.js +355 -355
- package/components/checkboxes/_checkbox.scss +180 -180
- package/components/checkboxes/_checkboxes.scss +37 -27
- package/components/checkboxes/_macro.njk +81 -72
- package/components/checkboxes/_macro.spec.js +261 -261
- package/components/checkboxes/checkbox-with-autoselect.js +32 -32
- package/components/checkboxes/checkbox-with-fieldset.js +21 -21
- package/components/checkboxes/checkboxes-with-reveal.js +10 -10
- package/components/checkboxes/checkboxes.dom.js +27 -27
- package/components/checkboxes/checkboxes.spec.js +183 -183
- package/components/checkboxes/example-checkboxes-disabled.njk +30 -30
- package/components/checkboxes/example-checkboxes-error.njk +0 -1
- package/components/checkboxes/example-checkboxes-with-descriptions.njk +7 -5
- package/components/checkboxes/example-checkboxes-with-hidden-label.njk +162 -170
- package/components/checkboxes/example-checkboxes-with-revealed-checkboxes-expanded.njk +81 -81
- package/components/checkboxes/example-checkboxes-with-revealed-checkboxes.njk +79 -79
- package/components/checkboxes/example-checkboxes-with-revealed-select-expanded.njk +7 -5
- package/components/checkboxes/example-checkboxes-with-revealed-select.njk +7 -5
- package/components/checkboxes/example-checkboxes-with-revealed-text-input-expanded.njk +7 -5
- package/components/checkboxes/example-checkboxes-with-revealed-text-input.njk +7 -5
- package/components/checkboxes/example-checkboxes-with-select-all-button.njk +7 -5
- package/components/checkboxes/example-checkboxes-with-visible-text-input.njk +7 -5
- package/components/checkboxes/example-checkboxes.njk +7 -5
- package/components/content-pagination/_content-pagination.scss +41 -41
- package/components/content-pagination/_macro.njk +34 -32
- package/components/content-pagination/_macro.spec.js +159 -159
- package/components/content-pagination/example-content-pagination.njk +17 -17
- package/components/cookies-banner/_cookies-banner.scss +22 -22
- package/components/cookies-banner/_macro.njk +19 -6
- package/components/cookies-banner/_macro.spec.js +177 -177
- package/components/cookies-banner/cookies-banner.dom.js +7 -7
- package/components/cookies-banner/cookies-banner.js +76 -76
- package/components/cookies-banner/cookies-banner.spec.js +72 -68
- package/components/cookies-banner/example-cookies-banner-cymraeg.njk +2 -1
- package/components/cookies-banner/example-cookies-banner.njk +3 -4
- package/components/date-input/_macro.njk +71 -63
- package/components/date-input/_macro.spec.js +338 -338
- package/components/date-input/example-date-input-error-for-single-field.njk +0 -1
- package/components/date-input/example-date-input-error.njk +0 -1
- package/components/description-list/_description-list.scss +23 -23
- package/components/description-list/_macro.njk +20 -11
- package/components/description-list/_macro.spec.js +144 -144
- package/components/details/_details.scss +109 -109
- package/components/details/_macro.njk +18 -11
- package/components/details/_macro.spec.js +132 -132
- package/components/details/details.dom.js +6 -6
- package/components/details/details.js +60 -60
- package/components/details/details.spec.js +106 -106
- package/components/details/example-details-with-warning.njk +15 -10
- package/components/document-list/_macro.njk +102 -93
- package/components/document-list/_macro.spec.js +444 -444
- package/components/document-list/document-list.scss +145 -149
- package/components/document-list/example-document-list-article-featured.njk +27 -25
- package/components/document-list/example-document-list-articles.njk +55 -53
- package/components/document-list/example-document-list-downloads.njk +49 -47
- package/components/document-list/example-document-list-search-result-featured.njk +19 -17
- package/components/document-list/example-document-list-search-results.njk +60 -58
- package/components/download-resources/_download-resources.scss +109 -108
- package/components/download-resources/download-resources.js +907 -900
- package/components/download-resources/download-resources.spec.js +461 -461
- package/components/duration/_macro.njk +61 -55
- package/components/duration/_macro.spec.js +291 -291
- package/components/duration/example-duration-error-for-single-field.njk +28 -26
- package/components/duration/example-duration-single-field.njk +23 -19
- package/components/duration/example-duration.njk +33 -29
- package/components/error/_macro.njk +8 -6
- package/components/error/_macro.spec.js +72 -72
- package/components/external-link/_external-link.scss +19 -19
- package/components/external-link/_macro.njk +7 -5
- package/components/external-link/_macro.spec.js +68 -68
- package/components/external-link/example-external-link.njk +9 -6
- package/components/feedback/_feedback.scss +31 -31
- package/components/feedback/_macro.njk +7 -5
- package/components/feedback/_macro.spec.js +72 -72
- package/components/field/_field-group.scss +10 -10
- package/components/field/_field.scss +16 -16
- package/components/field/_macro.njk +2 -2
- package/components/field/_macro.spec.js +80 -80
- package/components/fieldset/_fieldset.scss +27 -27
- package/components/fieldset/_macro.njk +23 -16
- package/components/fieldset/_macro.spec.js +161 -161
- package/components/footer/_footer.scss +45 -45
- package/components/footer/_macro.njk +28 -21
- package/components/footer/_macro.spec.js +452 -452
- package/components/footer/example-footer-cymraeg.njk +2 -1
- package/components/footer/example-footer-default.njk +3 -4
- package/components/footer/example-footer-transactional.njk +2 -1
- package/components/footer/example-footer-warning.njk +2 -1
- package/components/footer/example-footer-with-alternative-organisation.njk +2 -1
- package/components/footer/example-footer-with-coat-of-arms.njk +2 -1
- package/components/footer/example-footer-with-copyright.njk +2 -1
- package/components/footer/example-footer.njk +2 -1
- package/components/header/_header.scss +207 -202
- package/components/header/_macro.njk +183 -141
- package/components/header/_macro.spec.js +833 -829
- package/components/header/example-header-default.njk +2 -1
- package/components/header/example-header-external-for-survey-with-description.njk +2 -1
- package/components/header/example-header-external-for-surveys.njk +2 -1
- package/components/header/example-header-external-welsh.njk +7 -7
- package/components/header/example-header-external-with-navigation-and-search.njk +3 -2
- package/components/header/example-header-external-with-navigation.njk +2 -1
- package/components/header/example-header-external-with-service-links.njk +2 -1
- package/components/header/example-header-external-with-sub-navigation-removed.njk +2 -1
- package/components/header/example-header-external-with-sub-navigation.njk +3 -2
- package/components/header/example-header-internal.njk +2 -1
- package/components/header/example-header-multiple-logos.njk +2 -1
- package/components/header/{example-header-neutral-for-multicoloured-logo.njk → example-header-neutral.njk} +2 -1
- package/components/helpers/_grid.scss +4 -4
- package/components/helpers/grid.njk +17 -16
- package/components/hero/_hero.scss +48 -48
- package/components/hero/_macro.njk +6 -11
- package/components/hero/_macro.spec.js +59 -59
- package/components/hero/example-hero-dark.njk +2 -1
- package/components/hero/example-hero-default.njk +2 -1
- package/components/icon/_icon.scss +44 -44
- package/components/icon/_macro.njk +601 -168
- package/components/icon/_macro.spec.js +110 -110
- package/components/image/_image.scss +11 -11
- package/components/image/_macro.njk +7 -5
- package/components/image/_macro.spec.js +81 -81
- package/components/input/_input-type.scss +86 -89
- package/components/input/_input.scss +123 -124
- package/components/input/_macro.njk +114 -95
- package/components/input/_macro.spec.js +604 -604
- package/components/input/character-check.dom.js +5 -5
- package/components/input/example-input-search-with-character-check.njk +1 -1
- package/components/input/example-input-search-with-placeholder.njk +1 -1
- package/components/input/example-input-search.njk +1 -1
- package/components/input/input.dom.js +5 -5
- package/components/input/input.js +10 -10
- package/components/input/input.spec.js +18 -18
- package/components/label/_label.scss +24 -24
- package/components/label/_macro.njk +32 -26
- package/components/label/_macro.spec.js +173 -170
- package/components/language-selector/_macro.njk +11 -2
- package/components/language-selector/_macro.spec.js +97 -97
- package/components/language-selector/language.scss +7 -7
- package/components/list/_list.scss +110 -97
- package/components/list/_macro.njk +93 -73
- package/components/list/_macro.spec.js +583 -583
- package/components/message/_macro.njk +20 -7
- package/components/message/_macro.spec.js +74 -74
- package/components/message/_message.scss +39 -39
- package/components/message-list/_macro.njk +26 -20
- package/components/message-list/_macro.spec.js +86 -86
- package/components/message-list/_message-list.scss +16 -16
- package/components/modal/_macro.njk +11 -12
- package/components/modal/_macro.spec.js +69 -69
- package/components/modal/_modal.scss +36 -36
- package/components/modal/modal.dom.js +6 -6
- package/components/modal/modal.js +89 -89
- package/components/modal/modal.spec.js +50 -50
- package/components/multiple-input-fields/_macro.njk +30 -28
- package/components/mutually-exclusive/_macro.njk +20 -13
- package/components/mutually-exclusive/_macro.spec.js +140 -140
- package/components/mutually-exclusive/example-mutually-exclusive-checkboxes.njk +6 -4
- package/components/mutually-exclusive/example-mutually-exclusive-date.njk +7 -5
- package/components/mutually-exclusive/example-mutually-exclusive-duration.njk +44 -40
- package/components/mutually-exclusive/example-mutually-exclusive-email.njk +7 -5
- package/components/mutually-exclusive/example-mutually-exclusive-multiple-options.njk +6 -4
- package/components/mutually-exclusive/example-mutually-exclusive-number.njk +6 -4
- package/components/mutually-exclusive/example-mutually-exclusive-textarea.njk +6 -4
- package/components/mutually-exclusive/mutually-exclusive.checkboxes.spec.js +188 -188
- package/components/mutually-exclusive/mutually-exclusive.date.spec.js +211 -211
- package/components/mutually-exclusive/mutually-exclusive.dom.js +5 -5
- package/components/mutually-exclusive/mutually-exclusive.duration.spec.js +210 -210
- package/components/mutually-exclusive/mutually-exclusive.email.spec.js +90 -90
- package/components/mutually-exclusive/mutually-exclusive.js +137 -137
- package/components/mutually-exclusive/mutually-exclusive.multiple-options.checkboxes.spec.js +197 -197
- package/components/mutually-exclusive/mutually-exclusive.number.spec.js +96 -96
- package/components/mutually-exclusive/mutually-exclusive.textarea.spec.js +102 -102
- package/components/navigation/_macro.njk +133 -67
- package/components/navigation/_macro.spec.js +360 -354
- package/components/navigation/_navigation.scss +112 -122
- package/components/navigation/navigation.dom.js +35 -35
- package/components/navigation/navigation.js +49 -49
- package/components/navigation/navigation.spec.js +249 -249
- package/components/pagination/_macro.njk +42 -20
- package/components/pagination/_macro.spec.js +342 -335
- package/components/pagination/_pagination.scss +58 -58
- package/components/panel/_macro.njk +27 -16
- package/components/panel/_macro.spec.js +372 -372
- package/components/panel/_panel.scss +200 -199
- package/components/panel/example-panel-bare.njk +6 -4
- package/components/panel/example-panel-with-announcement.njk +7 -4
- package/components/panel/example-panel-with-error-summary.njk +6 -4
- package/components/panel/example-panel-with-warning.njk +5 -3
- package/components/password/_macro.njk +7 -5
- package/components/password/_macro.spec.js +95 -95
- package/components/password/password.dom.js +5 -5
- package/components/password/password.js +10 -10
- package/components/password/password.spec.js +26 -26
- package/components/phase-banner/_macro.njk +3 -3
- package/components/phase-banner/_macro.spec.js +86 -86
- package/components/phase-banner/_phase-banner.scss +16 -16
- package/components/phase-banner/example-phase-banner-alpha.njk +2 -1
- package/components/phase-banner/example-phase-banner-beta.njk +4 -3
- package/components/question/_macro.njk +62 -47
- package/components/question/_macro.spec.js +235 -235
- package/components/question/_question.scss +24 -24
- package/components/question/example-question-ccs.njk +40 -35
- package/components/question/example-question-fieldset.njk +84 -80
- package/components/question/example-question-interviewer-note.njk +27 -24
- package/components/question/example-question-no-fieldset.njk +39 -33
- package/components/quote/_macro.njk +3 -1
- package/components/quote/_macro.spec.js +52 -52
- package/components/quote/_quote.scss +24 -24
- package/components/radios/_macro.njk +54 -36
- package/components/radios/_macro.spec.js +545 -524
- package/components/radios/_radio.scss +49 -48
- package/components/radios/_radios.scss +14 -20
- package/components/radios/check-radios.js +21 -21
- package/components/radios/clear-radios.js +45 -45
- package/components/radios/example-radios-with-clear-button-expanded.njk +6 -4
- package/components/radios/example-radios-with-clear-button.njk +6 -4
- package/components/radios/example-radios-with-descriptions.njk +7 -5
- package/components/radios/example-radios-with-revealed-select-expanded.njk +6 -4
- package/components/radios/example-radios-with-revealed-select.njk +6 -4
- package/components/radios/example-radios-with-revealed-text-area-expanded.njk +7 -5
- package/components/radios/example-radios-with-revealed-text-area.njk +7 -5
- package/components/radios/example-radios-with-revealed-text-input-expanded.njk +7 -5
- package/components/radios/example-radios-with-revealed-text-input.njk +7 -5
- package/components/radios/example-radios-with-separator.njk +6 -4
- package/components/radios/example-radios-with-visible-text-input.njk +7 -5
- package/components/radios/example-radios-without-border.njk +0 -1
- package/components/radios/example-radios.njk +7 -5
- package/components/radios/radio-with-fieldset.js +22 -22
- package/components/radios/radios.dom.js +32 -32
- package/components/radios/radios.spec.js +251 -251
- package/components/related-content/_macro.njk +10 -11
- package/components/related-content/_macro.spec.js +109 -109
- package/components/related-content/_related-content.scss +12 -12
- package/components/related-content/_section-macro.njk +7 -7
- package/components/related-content/_section-macro.spec.js +20 -20
- package/components/related-content/example-related-content-general.njk +5 -3
- package/components/related-content/example-related-content-multiple-rows-of-links.njk +51 -49
- package/components/related-content/example-related-content-social-media.njk +40 -38
- package/components/relationships/_macro.njk +10 -8
- package/components/relationships/_macro.spec.js +94 -94
- package/components/relationships/_relationships.scss +9 -9
- package/components/relationships/example-relationships-error.njk +176 -168
- package/components/relationships/example-relationships-you.njk +169 -163
- package/components/relationships/example-relationships.njk +167 -161
- package/components/relationships/relationships.dom.js +5 -5
- package/components/relationships/relationships.js +18 -18
- package/components/relationships/relationships.spec.js +71 -71
- package/components/reply/_macro.spec.js +47 -47
- package/components/reply/reply-input.js +15 -15
- package/components/reply/reply.dom.js +5 -5
- package/components/reply/reply.spec.js +57 -57
- package/components/section-navigation/_macro.njk +34 -12
- package/components/section-navigation/_macro.spec.js +210 -210
- package/components/section-navigation/_section-navigation.scss +76 -76
- package/components/select/_macro.njk +21 -18
- package/components/select/_macro.spec.js +166 -166
- package/components/share-page/_macro.njk +10 -5
- package/components/share-page/_macro.spec.js +68 -68
- package/components/skip-to-content/_macro.njk +1 -1
- package/components/skip-to-content/_macro.spec.js +54 -54
- package/components/skip-to-content/_skip.scss +30 -30
- package/components/skip-to-content/example-skip-to-content.njk +1 -0
- package/components/skip-to-content/skip-to-content.dom.js +6 -6
- package/components/skip-to-content/skip-to-content.js +7 -7
- package/components/skip-to-content/skip-to-content.spec.js +21 -21
- package/components/status/_macro.njk +1 -1
- package/components/status/_macro.spec.js +53 -53
- package/components/status/_status.scss +32 -32
- package/components/summary/_macro.njk +53 -23
- package/components/summary/_macro.spec.js +551 -535
- package/components/summary/_summary.scss +191 -195
- package/components/summary/example-summary-household-no-rows.njk +18 -16
- package/components/summary/example-summary-household.njk +75 -73
- package/components/summary/example-summary-hub-minimal.njk +74 -72
- package/components/summary/example-summary-hub.njk +169 -167
- package/components/table/_macro.njk +72 -45
- package/components/table/_macro.spec.js +499 -499
- package/components/table/_table.scss +204 -201
- package/components/table/scrollable-table.dom.js +5 -5
- package/components/table/scrollable-table.js +60 -60
- package/components/table/sortable-table.dom.js +5 -5
- package/components/table/sortable-table.js +135 -135
- package/components/table/table.spec.js +144 -140
- package/components/table-of-contents/_macro.njk +34 -32
- package/components/table-of-contents/_macro.spec.js +125 -125
- package/components/table-of-contents/_toc.scss +9 -9
- package/components/table-of-contents/example-table-of-contents-grouped.njk +1 -1
- package/components/table-of-contents/example-table-of-contents-single.njk +1 -1
- package/components/table-of-contents/example-table-of-contents-sticky-full-page.njk +79 -38
- package/components/table-of-contents/example-table-of-contents-sticky.njk +50 -13
- package/components/table-of-contents/toc.dom.js +5 -5
- package/components/table-of-contents/toc.js +30 -30
- package/components/table-of-contents/toc.spec.js +88 -88
- package/components/tabs/_macro.njk +12 -6
- package/components/tabs/_macro.spec.js +92 -92
- package/components/tabs/_tabs.scss +120 -115
- package/components/tabs/example-tabs-details.njk +5 -6
- package/components/tabs/tabs.dom.js +5 -5
- package/components/tabs/tabs.js +266 -266
- package/components/tabs/tabs.spec.js +268 -268
- package/components/text-indent/_macro.njk +1 -3
- package/components/text-indent/_macro.spec.js +33 -33
- package/components/text-indent/_text-indent.scss +3 -3
- package/components/textarea/_macro.njk +49 -46
- package/components/textarea/_macro.spec.js +227 -238
- package/components/textarea/textarea.dom.js +5 -5
- package/components/textarea/textarea.spec.js +78 -74
- package/components/timeline/_macro.njk +4 -6
- package/components/timeline/_macro.spec.js +83 -83
- package/components/timeline/_timeline.scss +26 -26
- package/components/timeout-modal/_macro.njk +21 -19
- package/components/timeout-modal/_macro.spec.js +47 -47
- package/components/timeout-modal/example-timeout-modal.njk +16 -14
- package/components/timeout-modal/timeout-modal.dom.js +9 -9
- package/components/timeout-modal/timeout-modal.js +66 -66
- package/components/timeout-modal/timeout-modal.spec.js +157 -157
- package/components/timeout-panel/_macro.njk +19 -17
- package/components/timeout-panel/_macro.spec.js +41 -41
- package/components/timeout-panel/example-panel-with-timeout-warning.njk +13 -11
- package/components/timeout-panel/timeout-panel.dom.js +8 -8
- package/components/timeout-panel/timeout-panel.spec.js +118 -118
- package/components/upload/_macro.njk +20 -16
- package/components/upload/_macro.spec.js +52 -52
- package/components/upload/_upload.scss +28 -28
- package/components/video/_macro.njk +16 -2
- package/components/video/_macro.spec.js +42 -42
- package/components/video/_video.scss +16 -16
- package/components/video/example-video.njk +2 -2
- package/components/video/video.dom.js +5 -5
- package/components/video/video.js +32 -32
- package/components/video/video.spec.js +103 -97
- package/css/main.css +1 -1
- package/favicons/manifest.json +25 -25
- package/js/abortable-fetch.js +23 -23
- package/js/analytics.js +53 -53
- package/js/cookies-functions.js +135 -135
- package/js/cookies-settings.dom.js +7 -7
- package/js/cookies-settings.js +77 -77
- package/js/cookies-settings.spec.js +106 -106
- package/js/domready.js +8 -8
- package/js/fetch.js +14 -14
- package/js/inpagelink.dom.js +5 -5
- package/js/inpagelink.js +19 -19
- package/js/polyfills.js +0 -1
- package/js/print-button.js +6 -6
- package/js/timeout.js +211 -211
- package/layout/_dsTemplate.njk +22 -20
- package/layout/_template.njk +63 -51
- package/package.json +132 -128
- package/scripts/main.es5.js +1 -1
- package/scripts/main.js +1 -1
- package/scss/base/_forms.scss +10 -10
- package/scss/base/_global.scss +45 -44
- package/scss/base/_typography.scss +20 -20
- package/scss/helpers/_functions.scss +18 -15
- package/scss/helpers/_mixins.scss +59 -53
- package/scss/helpers/_mq.scss +62 -65
- package/scss/objects/_container.scss +20 -20
- package/scss/objects/_page.scss +33 -33
- package/scss/objects/_spacing.scss +10 -10
- package/scss/overrides/hcm.scss +237 -237
- package/scss/overrides/rtl.scss +95 -95
- package/scss/print.scss +47 -47
- package/scss/utilities/_border.scss +7 -7
- package/scss/utilities/_colors.scss +6 -6
- package/scss/utilities/_display.scss +8 -8
- package/scss/utilities/_float.scss +7 -7
- package/scss/utilities/_grid.scss +144 -144
- package/scss/utilities/_highlight.scss +4 -4
- package/scss/utilities/_margin.scss +17 -17
- package/scss/utilities/_pad.scss +15 -15
- package/scss/utilities/_typography.scss +35 -33
- package/scss/utilities/_utilities.scss +8 -8
- package/scss/utilities/_visibility.scss +25 -25
- package/scss/vars/_colors.scss +116 -116
- package/scss/vars/_forms.scss +22 -22
- package/scss/vars/_grid.scss +11 -9
- package/scss/vars/_typography.scss +54 -54
|
@@ -3,250 +3,250 @@ import { renderComponent, setTestPage } from '../../tests/helpers/rendering';
|
|
|
3
3
|
const SCREEN_READER_TIMEOUT_DELAY = 300;
|
|
4
4
|
|
|
5
5
|
const EXAMPLE_MUTUALLY_EXCLUSIVE_DURATION_PARAMS = {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
},
|
|
17
|
-
field2: {
|
|
18
|
-
id: 'address-duration-months',
|
|
19
|
-
name: 'address-duration-months',
|
|
20
|
-
suffix: {
|
|
21
|
-
text: 'Months',
|
|
22
|
-
id: 'address-duration-months-suffix',
|
|
6
|
+
id: 'address-duration',
|
|
7
|
+
legendOrLabel: 'How long have you lived at this address?',
|
|
8
|
+
description: 'If you have lived at this address for less than a year then enter 0 into the year input.',
|
|
9
|
+
field1: {
|
|
10
|
+
id: 'address-duration-years',
|
|
11
|
+
name: 'address-duration-years',
|
|
12
|
+
suffix: {
|
|
13
|
+
text: 'Years',
|
|
14
|
+
id: 'address-duration-years-suffix',
|
|
15
|
+
},
|
|
23
16
|
},
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
exclusiveOptions: [
|
|
31
|
-
{
|
|
32
|
-
id: 'duration-exclusive-option',
|
|
33
|
-
name: 'no-duration',
|
|
34
|
-
value: 'no-duration',
|
|
35
|
-
label: {
|
|
36
|
-
text: 'I have not moved in to this address yet',
|
|
17
|
+
field2: {
|
|
18
|
+
id: 'address-duration-months',
|
|
19
|
+
name: 'address-duration-months',
|
|
20
|
+
suffix: {
|
|
21
|
+
text: 'Months',
|
|
22
|
+
id: 'address-duration-months-suffix',
|
|
37
23
|
},
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
24
|
+
},
|
|
25
|
+
mutuallyExclusive: {
|
|
26
|
+
or: 'Or',
|
|
27
|
+
deselectMessage: 'Selecting this will clear the date if one has been inputted',
|
|
28
|
+
deselectGroupAdjective: 'cleared',
|
|
29
|
+
deselectExclusiveOptionAdjective: 'deselected',
|
|
30
|
+
exclusiveOptions: [
|
|
31
|
+
{
|
|
32
|
+
id: 'duration-exclusive-option',
|
|
33
|
+
name: 'no-duration',
|
|
34
|
+
value: 'no-duration',
|
|
35
|
+
label: {
|
|
36
|
+
text: 'I have not moved in to this address yet',
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
],
|
|
40
|
+
},
|
|
41
41
|
};
|
|
42
42
|
|
|
43
43
|
const EXAMPLE_MUTUALLY_EXCLUSIVE_DURATION_SINGLE_PARAMS = {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
},
|
|
54
|
-
},
|
|
55
|
-
mutuallyExclusive: {
|
|
56
|
-
or: 'Or',
|
|
57
|
-
deselectMessage: 'Selecting this will clear the date if one has been inputted',
|
|
58
|
-
deselectGroupAdjective: 'cleared',
|
|
59
|
-
deselectExclusiveOptionAdjective: 'deselected',
|
|
60
|
-
exclusiveOptions: [
|
|
61
|
-
{
|
|
62
|
-
id: 'duration-exclusive-option',
|
|
63
|
-
name: 'no-duration',
|
|
64
|
-
value: 'no-duration',
|
|
65
|
-
label: {
|
|
66
|
-
text: 'I have not moved in to this address yet',
|
|
44
|
+
id: 'address-duration',
|
|
45
|
+
legendOrLabel: 'How long have you lived at this address?',
|
|
46
|
+
description: 'If you have lived at this address for less than a year then enter 0 into the year input.',
|
|
47
|
+
field1: {
|
|
48
|
+
id: 'address-duration-years',
|
|
49
|
+
name: 'address-duration-years',
|
|
50
|
+
suffix: {
|
|
51
|
+
text: 'Years',
|
|
52
|
+
id: 'address-duration-years-suffix',
|
|
67
53
|
},
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
54
|
+
},
|
|
55
|
+
mutuallyExclusive: {
|
|
56
|
+
or: 'Or',
|
|
57
|
+
deselectMessage: 'Selecting this will clear the date if one has been inputted',
|
|
58
|
+
deselectGroupAdjective: 'cleared',
|
|
59
|
+
deselectExclusiveOptionAdjective: 'deselected',
|
|
60
|
+
exclusiveOptions: [
|
|
61
|
+
{
|
|
62
|
+
id: 'duration-exclusive-option',
|
|
63
|
+
name: 'no-duration',
|
|
64
|
+
value: 'no-duration',
|
|
65
|
+
label: {
|
|
66
|
+
text: 'I have not moved in to this address yet',
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
],
|
|
70
|
+
},
|
|
71
71
|
};
|
|
72
72
|
|
|
73
73
|
describe('script: mutually-exclusive', () => {
|
|
74
|
-
|
|
75
|
-
beforeEach(async () => {
|
|
76
|
-
await setTestPage('/test', renderComponent('duration', EXAMPLE_MUTUALLY_EXCLUSIVE_DURATION_PARAMS));
|
|
77
|
-
});
|
|
78
|
-
|
|
79
|
-
describe('Given the user populated the duration', () => {
|
|
80
|
-
beforeEach(async () => {
|
|
81
|
-
await page.type('#address-duration-years', '2');
|
|
82
|
-
await page.type('#address-duration-months', '4');
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
describe('when the user clicks the mutually exclusive option', () => {
|
|
74
|
+
describe('duration', () => {
|
|
86
75
|
beforeEach(async () => {
|
|
87
|
-
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
76
|
+
await setTestPage('/test', renderComponent('duration', EXAMPLE_MUTUALLY_EXCLUSIVE_DURATION_PARAMS));
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
describe('Given the user populated the duration', () => {
|
|
80
|
+
beforeEach(async () => {
|
|
81
|
+
await page.type('#address-duration-years', '2');
|
|
82
|
+
await page.type('#address-duration-months', '4');
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
describe('when the user clicks the mutually exclusive option', () => {
|
|
86
|
+
beforeEach(async () => {
|
|
87
|
+
await page.click('#duration-exclusive-option');
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
it('then the mutually exclusive option should be checked', async () => {
|
|
91
|
+
const isChecked = await page.$eval('#duration-exclusive-option', (node) => node.checked);
|
|
92
|
+
expect(isChecked).toBe(true);
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
it('then the inputs should be cleared', async () => {
|
|
96
|
+
const yearsValue = await page.$eval('#address-duration-years', (node) => node.value);
|
|
97
|
+
expect(yearsValue).toBe('');
|
|
98
|
+
const monthsValue = await page.$eval('#address-duration-months', (node) => node.value);
|
|
99
|
+
expect(monthsValue).toBe('');
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
it('then the aria alert should tell the user that the inputs have been cleared', async () => {
|
|
103
|
+
await page.waitForTimeout(SCREEN_READER_TIMEOUT_DELAY);
|
|
104
|
+
|
|
105
|
+
const alertText = await page.$eval('.ons-js-exclusive-alert', (node) => node.textContent);
|
|
106
|
+
expect(alertText).toBe('Years cleared. Months cleared.');
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
describe('Given the user has checked the mutually exclusive exclusive option', () => {
|
|
112
|
+
beforeEach(async () => {
|
|
113
|
+
await page.click('#duration-exclusive-option');
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
describe('when the user populates the duration fields', () => {
|
|
117
|
+
beforeEach(async () => {
|
|
118
|
+
await page.type('#address-duration-years', '2');
|
|
119
|
+
await page.type('#address-duration-months', '4');
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
it('then the exclusive option should be unchecked', async () => {
|
|
123
|
+
const isChecked = await page.$eval('#duration-exclusive-option', (node) => node.checked);
|
|
124
|
+
expect(isChecked).toBe(false);
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
it('then the aria alert should tell the user that the exclusive option has been unchecked', async () => {
|
|
128
|
+
await page.waitForTimeout(SCREEN_READER_TIMEOUT_DELAY);
|
|
129
|
+
|
|
130
|
+
const alertText = await page.$eval('.ons-js-exclusive-alert', (node) => node.textContent);
|
|
131
|
+
expect(alertText).toBe('I have not moved in to this address yet deselected.');
|
|
132
|
+
});
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
describe('Given the user has not populated the duration inputs or checked the exclusive option', () => {
|
|
137
|
+
describe('when the user populates the duration inputs', () => {
|
|
138
|
+
beforeEach(async () => {
|
|
139
|
+
await page.type('#address-duration-years', '2');
|
|
140
|
+
await page.type('#address-duration-months', '4');
|
|
141
|
+
});
|
|
142
|
+
|
|
143
|
+
it('then the aria alert shouldnt say anything', async () => {
|
|
144
|
+
await page.waitForTimeout(SCREEN_READER_TIMEOUT_DELAY);
|
|
145
|
+
|
|
146
|
+
const alertText = await page.$eval('.ons-js-exclusive-alert', (node) => node.textContent);
|
|
147
|
+
expect(alertText).toBe('');
|
|
148
|
+
});
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
describe('when the user clicks the mutually exclusive option', () => {
|
|
152
|
+
beforeEach(async () => {
|
|
153
|
+
await page.click('#duration-exclusive-option');
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
it('then the aria alert shouldnt say anything', async () => {
|
|
157
|
+
await page.waitForTimeout(SCREEN_READER_TIMEOUT_DELAY);
|
|
158
|
+
|
|
159
|
+
const alertText = await page.$eval('.ons-js-exclusive-alert', (node) => node.textContent);
|
|
160
|
+
expect(alertText).toBe('');
|
|
161
|
+
});
|
|
162
|
+
});
|
|
100
163
|
});
|
|
101
|
-
|
|
102
|
-
it('then the aria alert should tell the user that the inputs have been cleared', async () => {
|
|
103
|
-
await page.waitForTimeout(SCREEN_READER_TIMEOUT_DELAY);
|
|
104
|
-
|
|
105
|
-
const alertText = await page.$eval('.ons-js-exclusive-alert', (node) => node.textContent);
|
|
106
|
-
expect(alertText).toBe('Years cleared. Months cleared.');
|
|
107
|
-
});
|
|
108
|
-
});
|
|
109
164
|
});
|
|
110
165
|
|
|
111
|
-
describe('
|
|
112
|
-
beforeEach(async () => {
|
|
113
|
-
await page.click('#duration-exclusive-option');
|
|
114
|
-
});
|
|
115
|
-
|
|
116
|
-
describe('when the user populates the duration fields', () => {
|
|
166
|
+
describe('duration-single', () => {
|
|
117
167
|
beforeEach(async () => {
|
|
118
|
-
|
|
119
|
-
await page.type('#address-duration-months', '4');
|
|
168
|
+
await setTestPage('/test', renderComponent('duration', EXAMPLE_MUTUALLY_EXCLUSIVE_DURATION_SINGLE_PARAMS));
|
|
120
169
|
});
|
|
121
170
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
171
|
+
describe('Given the user populated the duration', () => {
|
|
172
|
+
beforeEach(async () => {
|
|
173
|
+
await page.type('#address-duration-years', '2');
|
|
174
|
+
});
|
|
126
175
|
|
|
127
|
-
|
|
128
|
-
|
|
176
|
+
describe('when the user clicks the mutually exclusive option', () => {
|
|
177
|
+
beforeEach(async () => {
|
|
178
|
+
await page.click('#duration-exclusive-option');
|
|
179
|
+
});
|
|
129
180
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
});
|
|
181
|
+
it('then the mutually exclusive option should be checked', async () => {
|
|
182
|
+
const isChecked = await page.$eval('#duration-exclusive-option', (node) => node.checked);
|
|
183
|
+
expect(isChecked).toBe(true);
|
|
184
|
+
});
|
|
135
185
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
await page.type('#address-duration-months', '4');
|
|
141
|
-
});
|
|
186
|
+
it('then the inputs should be cleared', async () => {
|
|
187
|
+
const yearsValue = await page.$eval('#address-duration-years', (node) => node.value);
|
|
188
|
+
expect(yearsValue).toBe('');
|
|
189
|
+
});
|
|
142
190
|
|
|
143
|
-
|
|
144
|
-
|
|
191
|
+
it('then the aria alert should tell the user that the inputs have been cleared', async () => {
|
|
192
|
+
await page.waitForTimeout(SCREEN_READER_TIMEOUT_DELAY);
|
|
145
193
|
|
|
146
|
-
|
|
147
|
-
|
|
194
|
+
const alertText = await page.$eval('.ons-js-exclusive-alert', (node) => node.textContent);
|
|
195
|
+
expect(alertText).toBe('How long have you lived at this address? cleared.');
|
|
196
|
+
});
|
|
197
|
+
});
|
|
148
198
|
});
|
|
149
|
-
});
|
|
150
199
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
200
|
+
describe('Given the user has checked the mutually exclusive exclusive option', () => {
|
|
201
|
+
beforeEach(async () => {
|
|
202
|
+
await page.click('#duration-exclusive-option');
|
|
203
|
+
});
|
|
155
204
|
|
|
156
|
-
|
|
157
|
-
|
|
205
|
+
describe('when the user populates the duration fields', () => {
|
|
206
|
+
beforeEach(async () => {
|
|
207
|
+
await page.type('#address-duration-years', '2');
|
|
208
|
+
});
|
|
158
209
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
});
|
|
164
|
-
});
|
|
210
|
+
it('then the exclusive option should be unchecked', async () => {
|
|
211
|
+
const isChecked = await page.$eval('#duration-exclusive-option', (node) => node.checked);
|
|
212
|
+
expect(isChecked).toBe(false);
|
|
213
|
+
});
|
|
165
214
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
await setTestPage('/test', renderComponent('duration', EXAMPLE_MUTUALLY_EXCLUSIVE_DURATION_SINGLE_PARAMS));
|
|
169
|
-
});
|
|
170
|
-
|
|
171
|
-
describe('Given the user populated the duration', () => {
|
|
172
|
-
beforeEach(async () => {
|
|
173
|
-
await page.type('#address-duration-years', '2');
|
|
174
|
-
});
|
|
175
|
-
|
|
176
|
-
describe('when the user clicks the mutually exclusive option', () => {
|
|
177
|
-
beforeEach(async () => {
|
|
178
|
-
await page.click('#duration-exclusive-option');
|
|
179
|
-
});
|
|
180
|
-
|
|
181
|
-
it('then the mutually exclusive option should be checked', async () => {
|
|
182
|
-
const isChecked = await page.$eval('#duration-exclusive-option', (node) => node.checked);
|
|
183
|
-
expect(isChecked).toBe(true);
|
|
184
|
-
});
|
|
185
|
-
|
|
186
|
-
it('then the inputs should be cleared', async () => {
|
|
187
|
-
const yearsValue = await page.$eval('#address-duration-years', (node) => node.value);
|
|
188
|
-
expect(yearsValue).toBe('');
|
|
189
|
-
});
|
|
190
|
-
|
|
191
|
-
it('then the aria alert should tell the user that the inputs have been cleared', async () => {
|
|
192
|
-
await page.waitForTimeout(SCREEN_READER_TIMEOUT_DELAY);
|
|
193
|
-
|
|
194
|
-
const alertText = await page.$eval('.ons-js-exclusive-alert', (node) => node.textContent);
|
|
195
|
-
expect(alertText).toBe('How long have you lived at this address? cleared.');
|
|
196
|
-
});
|
|
197
|
-
});
|
|
198
|
-
});
|
|
215
|
+
it('then the aria alert should tell the user that the exclusive option has been unchecked', async () => {
|
|
216
|
+
await page.waitForTimeout(SCREEN_READER_TIMEOUT_DELAY);
|
|
199
217
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
describe('when the user populates the duration fields', () => {
|
|
206
|
-
beforeEach(async () => {
|
|
207
|
-
await page.type('#address-duration-years', '2');
|
|
218
|
+
const alertText = await page.$eval('.ons-js-exclusive-alert', (node) => node.textContent);
|
|
219
|
+
expect(alertText).toBe('I have not moved in to this address yet deselected.');
|
|
220
|
+
});
|
|
221
|
+
});
|
|
208
222
|
});
|
|
209
223
|
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
224
|
+
describe('Given the user has not populated the duration inputs or checked the exclusive option', () => {
|
|
225
|
+
describe('when the user populates the duration inputs', () => {
|
|
226
|
+
beforeEach(async () => {
|
|
227
|
+
await page.type('#address-duration-years', '2');
|
|
228
|
+
});
|
|
214
229
|
|
|
215
|
-
|
|
216
|
-
|
|
230
|
+
it('then the aria alert shouldnt say anything', async () => {
|
|
231
|
+
await page.waitForTimeout(SCREEN_READER_TIMEOUT_DELAY);
|
|
217
232
|
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
});
|
|
233
|
+
const alertText = await page.$eval('.ons-js-exclusive-alert', (node) => node.textContent);
|
|
234
|
+
expect(alertText).toBe('');
|
|
235
|
+
});
|
|
236
|
+
});
|
|
223
237
|
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
});
|
|
229
|
-
|
|
230
|
-
it('then the aria alert shouldnt say anything', async () => {
|
|
231
|
-
await page.waitForTimeout(SCREEN_READER_TIMEOUT_DELAY);
|
|
232
|
-
|
|
233
|
-
const alertText = await page.$eval('.ons-js-exclusive-alert', (node) => node.textContent);
|
|
234
|
-
expect(alertText).toBe('');
|
|
235
|
-
});
|
|
236
|
-
});
|
|
237
|
-
|
|
238
|
-
describe('when the user clicks the mutually exclusive option', () => {
|
|
239
|
-
beforeEach(async () => {
|
|
240
|
-
await page.click('#duration-exclusive-option');
|
|
241
|
-
});
|
|
238
|
+
describe('when the user clicks the mutually exclusive option', () => {
|
|
239
|
+
beforeEach(async () => {
|
|
240
|
+
await page.click('#duration-exclusive-option');
|
|
241
|
+
});
|
|
242
242
|
|
|
243
|
-
|
|
244
|
-
|
|
243
|
+
it('then the aria alert shouldnt say anything', async () => {
|
|
244
|
+
await page.waitForTimeout(SCREEN_READER_TIMEOUT_DELAY);
|
|
245
245
|
|
|
246
|
-
|
|
247
|
-
|
|
246
|
+
const alertText = await page.$eval('.ons-js-exclusive-alert', (node) => node.textContent);
|
|
247
|
+
expect(alertText).toBe('');
|
|
248
|
+
});
|
|
249
|
+
});
|
|
248
250
|
});
|
|
249
|
-
});
|
|
250
251
|
});
|
|
251
|
-
});
|
|
252
252
|
});
|