@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
|
@@ -29,14 +29,20 @@
|
|
|
29
29
|
}
|
|
30
30
|
]
|
|
31
31
|
})
|
|
32
|
-
}}
|
|
32
|
+
-}}
|
|
33
33
|
</div>
|
|
34
34
|
<div class="ons-grid__col ons-col-7@m ons-push-1@m">
|
|
35
35
|
<section id="section1">
|
|
36
36
|
<h2>What is the census?</h2>
|
|
37
|
-
<p>
|
|
37
|
+
<p>
|
|
38
|
+
The census is a survey that happens every 10 years and gives us a picture of all the people and households in England
|
|
39
|
+
and Wales.
|
|
40
|
+
</p>
|
|
38
41
|
|
|
39
|
-
<p>
|
|
42
|
+
<p>
|
|
43
|
+
Your answers to the census questions will help organisations make decisions on planning and funding public services in
|
|
44
|
+
your area, including transport, education and healthcare.
|
|
45
|
+
</p>
|
|
40
46
|
</section>
|
|
41
47
|
<section id="section2">
|
|
42
48
|
<h2>The online census has now closed</h2>
|
|
@@ -46,30 +52,61 @@
|
|
|
46
52
|
</section>
|
|
47
53
|
<section id="section3">
|
|
48
54
|
<h2>What happens after Census Day</h2>
|
|
49
|
-
<p>
|
|
55
|
+
<p>
|
|
56
|
+
Two follow-up surveys, the <a href="#0">Census Coverage Survey</a> and the <a href="#0">Census Quality Survey</a>, help
|
|
57
|
+
to improve the quality and accuracy of the census results.
|
|
58
|
+
</p>
|
|
50
59
|
|
|
51
|
-
<p>
|
|
60
|
+
<p>
|
|
61
|
+
Over the next year, we work hard to process the answers from all the census questionnaires. This is so that we can
|
|
62
|
+
publish the initial Census 2021 findings one year after the census and the main releases two years after the census.
|
|
63
|
+
</p>
|
|
52
64
|
|
|
53
|
-
<p>
|
|
65
|
+
<p>
|
|
66
|
+
To make sure the Census 2021 statistics we publish meet the needs of those who use them, we also run an outputs
|
|
67
|
+
consultation.
|
|
68
|
+
</p>
|
|
54
69
|
</section>
|
|
55
70
|
<section id="section4">
|
|
56
71
|
<h2>The census in Northern Ireland and Scotland</h2>
|
|
57
72
|
<p>The Office for National Statistics (ONS) runs the census in England and Wales.</p>
|
|
58
73
|
|
|
59
|
-
<p>
|
|
74
|
+
<p>
|
|
75
|
+
If you live in Northern Ireland, visit the Northern Ireland Statistics Agency (NISRA) census website to find out about
|
|
76
|
+
the census for Northern Ireland.
|
|
77
|
+
</p>
|
|
60
78
|
|
|
61
|
-
<p>
|
|
79
|
+
<p>
|
|
80
|
+
If you live in Scotland, visit the National Records of Scotland census website to find out how to take part in the
|
|
81
|
+
census for Scotland.
|
|
82
|
+
</p>
|
|
62
83
|
</section>
|
|
63
84
|
<section id="section5">
|
|
64
85
|
<h2>The last census</h2>
|
|
65
|
-
<p>
|
|
86
|
+
<p>
|
|
87
|
+
The last census took place in 2011. Many people and organisations used information from the 2011 Census in a variety of
|
|
88
|
+
ways.
|
|
89
|
+
</p>
|
|
66
90
|
|
|
67
|
-
<p>
|
|
91
|
+
<p>
|
|
92
|
+
For example, Bristol City Council used it to inform decisions on how to fund local housing improvements. It was also
|
|
93
|
+
essential for the charity Redbridge Council for Voluntary Services to help people from ethnic minority groups learn more
|
|
94
|
+
about dementia.
|
|
95
|
+
</p>
|
|
68
96
|
|
|
69
|
-
<p>
|
|
70
|
-
|
|
97
|
+
<p>
|
|
98
|
+
To read more about the benefits that information from the 2011 Census helped to create, visit the Office for National
|
|
99
|
+
Statistics (ONS) website.
|
|
100
|
+
</p>
|
|
101
|
+
<p>
|
|
102
|
+
The Census Coverage Survey (CCS) was a short, separate survey that we at the Office for National Statistics (ONS)
|
|
103
|
+
started six to eight weeks after Census Day.
|
|
104
|
+
</p>
|
|
71
105
|
|
|
72
|
-
<p>
|
|
106
|
+
<p>
|
|
107
|
+
The CCS helps make sure everyone is counted and our census results are as accurate as possible. It asked similar
|
|
108
|
+
questions to the main census, just fewer of them, at addresses in a selection of postcodes across England and Wales.
|
|
109
|
+
</p>
|
|
73
110
|
|
|
74
111
|
<p>The CCS has now closed.</p>
|
|
75
112
|
</section>
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import domready from '../../js/domready';
|
|
2
2
|
|
|
3
3
|
async function toc() {
|
|
4
|
-
|
|
4
|
+
const toc = [...document.querySelectorAll('.ons-js-toc-container')];
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
if (toc.length) {
|
|
7
|
+
const Toc = (await import('./toc')).default;
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
toc.forEach((component) => new Toc(component));
|
|
10
|
+
}
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
domready(toc);
|
|
@@ -1,39 +1,39 @@
|
|
|
1
1
|
export default class Toc {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
constructor(component) {
|
|
3
|
+
this.component = component;
|
|
4
|
+
this.sections = [...this.component.querySelectorAll('section[id]')];
|
|
5
|
+
this.refreshIntervalId = setInterval(() => this.setCurrent(), 100);
|
|
6
|
+
this.setCurrent();
|
|
7
|
+
}
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
setCurrent() {
|
|
10
|
+
let activeSection = this.sections[0];
|
|
11
|
+
for (let section of this.sections) {
|
|
12
|
+
const top = section.getBoundingClientRect().top;
|
|
13
|
+
if (top > 100) {
|
|
14
|
+
break;
|
|
15
|
+
}
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
activeSection = section;
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
if (top >= 0 && top <= 100) {
|
|
20
|
+
break;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
if (activeSection === this.activeSection) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
this.activeSection = activeSection;
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
30
|
+
for (let section of this.sections) {
|
|
31
|
+
const tocItem = document.querySelector(`.ons-toc .ons-list__link[href="#${section.id}"]`);
|
|
32
|
+
if (section === activeSection) {
|
|
33
|
+
tocItem.classList.add('ons-toc__link-active');
|
|
34
|
+
} else {
|
|
35
|
+
tocItem.classList.remove('ons-toc__link-active');
|
|
36
|
+
}
|
|
37
|
+
}
|
|
37
38
|
}
|
|
38
|
-
}
|
|
39
39
|
}
|
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
import { renderComponent, setTestPage } from '../../tests/helpers/rendering';
|
|
2
2
|
|
|
3
3
|
describe('script: table-of-contents', () => {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
beforeEach(async () => {
|
|
5
|
+
await setTestPage(
|
|
6
|
+
'/test',
|
|
7
|
+
/* eslint-disable indent */
|
|
8
|
+
`
|
|
9
9
|
<div class="ons-page__container ons-container">
|
|
10
10
|
<div class="ons-grid ons-js-toc-container">
|
|
11
11
|
<div class="ons-grid__col ons-grid__col--sticky@m ons-col-4@m">
|
|
12
12
|
${renderComponent('table-of-contents', {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
13
|
+
title: 'Contents',
|
|
14
|
+
ariaLabel: 'Sections in this page',
|
|
15
|
+
itemsList: [
|
|
16
|
+
{
|
|
17
|
+
url: '#section1',
|
|
18
|
+
text: 'First section',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
url: '#section2',
|
|
22
|
+
text: 'Second section',
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
url: '#section3',
|
|
26
|
+
text: 'Third section',
|
|
27
|
+
},
|
|
28
|
+
],
|
|
29
29
|
})}
|
|
30
30
|
</div>
|
|
31
31
|
<div class="ons-grid__col ons-col-7@m ons-push-1@m">
|
|
@@ -45,57 +45,57 @@ describe('script: table-of-contents', () => {
|
|
|
45
45
|
</div>
|
|
46
46
|
</div>
|
|
47
47
|
`,
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
48
|
+
/* eslint-enable indent */
|
|
49
|
+
);
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
it.each([
|
|
53
|
+
['section1', 'First section'],
|
|
54
|
+
['section2', 'Second section'],
|
|
55
|
+
['section3', 'Third section'],
|
|
56
|
+
])('marks "%s" as the current section', async (sectionId, sectionTitle) => {
|
|
57
|
+
await page.$eval(`#${sectionId}`, (node) => node.scrollIntoView());
|
|
58
|
+
await page.waitForTimeout(250);
|
|
59
|
+
|
|
60
|
+
const activeSection = await page.$eval('.ons-toc__link-active', (node) => node.innerText.trim());
|
|
61
|
+
expect(activeSection).toBe(sectionTitle);
|
|
62
|
+
});
|
|
63
63
|
});
|
|
64
64
|
|
|
65
65
|
describe('script: table-of-contents-fixed-position', () => {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
66
|
+
beforeEach(async () => {
|
|
67
|
+
await setTestPage(
|
|
68
|
+
'/test',
|
|
69
|
+
/* eslint-disable indent */
|
|
70
|
+
`
|
|
71
71
|
<div class="ons-page__container ons-container">
|
|
72
72
|
<div class="ons-grid ons-js-toc-container">
|
|
73
73
|
<div id="sticky-container" class="ons-grid__col ons-grid__col--sticky@m ons-col-4@m">
|
|
74
74
|
${renderComponent('table-of-contents', {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
75
|
+
title: 'Contents',
|
|
76
|
+
ariaLabel: 'Sections in this page',
|
|
77
|
+
itemsList: [
|
|
78
|
+
{
|
|
79
|
+
url: '#section1',
|
|
80
|
+
text: 'What is the census?',
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
url: '#section2',
|
|
84
|
+
text: 'The online census has now closed',
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
url: '#section3',
|
|
88
|
+
text: 'What happens after Census Day',
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
url: '#section4',
|
|
92
|
+
text: 'The census in Northern Ireland and Scotland',
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
url: '#section5',
|
|
96
|
+
text: 'The last census',
|
|
97
|
+
},
|
|
98
|
+
],
|
|
99
99
|
})}
|
|
100
100
|
</div>
|
|
101
101
|
<div class="ons-grid__col ons-col-7@m ons-push-1@m">
|
|
@@ -144,32 +144,32 @@ describe('script: table-of-contents-fixed-position', () => {
|
|
|
144
144
|
</div>
|
|
145
145
|
</div>
|
|
146
146
|
`,
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
});
|
|
151
|
-
|
|
152
|
-
it('when the "ons-grid__col--sticky" class is used, then the ToC stays in a fixed position while scrolling', async () => {
|
|
153
|
-
await page.evaluate(() => {
|
|
154
|
-
window.scrollTo(0, 1000);
|
|
147
|
+
/* eslint-enable indent */
|
|
148
|
+
'main',
|
|
149
|
+
);
|
|
155
150
|
});
|
|
156
151
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
152
|
+
it('when the "ons-grid__col--sticky" class is used, then the ToC stays in a fixed position while scrolling', async () => {
|
|
153
|
+
await page.evaluate(() => {
|
|
154
|
+
window.scrollTo(0, 1000);
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
await page.waitForTimeout(250);
|
|
158
|
+
const leftColumn = await page.$('#sticky-container');
|
|
159
|
+
const boundingBox = await leftColumn.boundingBox();
|
|
160
160
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
161
|
+
const viewport = await page.evaluate(() => ({
|
|
162
|
+
width: window.innerWidth,
|
|
163
|
+
height: window.innerHeight,
|
|
164
|
+
}));
|
|
165
165
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
166
|
+
const isInViewport =
|
|
167
|
+
boundingBox &&
|
|
168
|
+
boundingBox.x < viewport.width &&
|
|
169
|
+
boundingBox.y < viewport.height &&
|
|
170
|
+
boundingBox.x + boundingBox.width > 0 &&
|
|
171
|
+
boundingBox.y + boundingBox.height > 0;
|
|
172
172
|
|
|
173
|
-
|
|
174
|
-
|
|
173
|
+
expect(isInViewport).toBeTruthy();
|
|
174
|
+
});
|
|
175
175
|
});
|
|
@@ -7,21 +7,27 @@
|
|
|
7
7
|
{% endfor %}
|
|
8
8
|
{% endset %}
|
|
9
9
|
|
|
10
|
-
<section class="{{ classes }}"
|
|
11
|
-
{% if params.noInitialActiveTab %}data-no-initial-active-tab="true"{% endif %}
|
|
12
|
-
>
|
|
10
|
+
<section class="{{ classes }}" {% if params.noInitialActiveTab %}data-no-initial-active-tab="true"{% endif %}>
|
|
13
11
|
{% set titleTag = params.titleTag | default("h2") %}
|
|
14
|
-
|
|
12
|
+
{% set openingTag = "<" + titleTag %}
|
|
13
|
+
{% set closingTag = "</" + titleTag + ">" %}
|
|
14
|
+
{{ openingTag | safe }}
|
|
15
|
+
class="ons-tabs__title ons-u-fs-r--b
|
|
16
|
+
ons-u-mt-no{{ ' ' + params.titleClasses if params.titleClasses else '' }}">{{ params.title }}{{ closingTag | safe }}
|
|
15
17
|
<div>
|
|
16
18
|
<ul class="ons-tabs__list">
|
|
19
|
+
<!-- prettier-ignore-start -->
|
|
17
20
|
{%- for tab in params.tabs -%}
|
|
18
|
-
<li class="ons-tab__list-item"><a href="#{{ tab.id if tab.id else tab.title|trim|replace(' ','-')|lower}}" class="ons-tab"{% if tab.attributes %}{% for attribute, value in (tab.attributes.items() if tab.attributes is mapping and tab.attributes.items else tab.attributes) %} {{ attribute }}{% if value %}="{{ value }}"{% endif %}
|
|
21
|
+
<li class="ons-tab__list-item"><a href="#{{ tab.id if tab.id else tab.title|trim|replace(' ','-')|lower }}" class="ons-tab"{% if tab.attributes %}{% for attribute, value in (tab.attributes.items() if tab.attributes is mapping and tab.attributes.items else tab.attributes) %}{{ ' ' }}{{ attribute }}{% if value %}="{{ value }}"{% endif %}{% endfor %}{% endif %}>{{ tab.title }}{% if tab.hiddenSpan %}<span class="ons-u-vh">{{ tab.hiddenSpan }}</span>{% endif %}</a></li>
|
|
19
22
|
{%- endfor -%}
|
|
23
|
+
<!-- prettier-ignore-end -->
|
|
20
24
|
</ul>
|
|
21
25
|
</div>
|
|
22
26
|
{% for tab in params.tabs %}
|
|
23
27
|
<section id="{{ tab.id if tab.id else tab.title|trim|replace(' ','-')|lower }}" class="ons-tabs__panel">
|
|
24
|
-
{% if tab.showTitle %}
|
|
28
|
+
{% if tab.showTitle %}
|
|
29
|
+
<h2 id="{{ tab.title|trim|replace(' ','-')|lower + '-content-title' }}" class="ons-u-vh">{{ tab.title }}</h2>
|
|
30
|
+
{% endif %}
|
|
25
31
|
{{ tab.content | safe }}
|
|
26
32
|
</section>
|
|
27
33
|
{% endfor %}
|
|
@@ -6,122 +6,122 @@ import axe from '../../tests/helpers/axe';
|
|
|
6
6
|
import { renderComponent } from '../../tests/helpers/rendering';
|
|
7
7
|
|
|
8
8
|
const EXAMPLE_TABS = {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
9
|
+
title: 'Example tabs',
|
|
10
|
+
tabs: [
|
|
11
|
+
{
|
|
12
|
+
id: 'first-tab',
|
|
13
|
+
title: 'Tab 1',
|
|
14
|
+
content: 'Example content...',
|
|
15
|
+
hiddenSpan: 'for Example',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
id: 'second-tab',
|
|
19
|
+
title: 'Tab 2',
|
|
20
|
+
content: 'Some nested <strong>strong element</strong>...',
|
|
21
|
+
},
|
|
22
|
+
],
|
|
23
23
|
};
|
|
24
24
|
|
|
25
25
|
const EXAMPLE_TABS_WITH_SHOWTITLE = {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
26
|
+
title: 'Example tabs',
|
|
27
|
+
tabs: [
|
|
28
|
+
{
|
|
29
|
+
id: 'first-tab',
|
|
30
|
+
title: 'Tab 1',
|
|
31
|
+
showTitle: true,
|
|
32
|
+
content: 'Example content...',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
id: 'second-tab',
|
|
36
|
+
title: 'Tab 2',
|
|
37
|
+
content: 'Some nested <strong>strong element</strong>...',
|
|
38
|
+
},
|
|
39
|
+
],
|
|
40
40
|
};
|
|
41
41
|
|
|
42
42
|
const EXAMPLE_TABS_WITHOUT_TAB_IDS = {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
43
|
+
title: 'Example tabs',
|
|
44
|
+
tabs: [
|
|
45
|
+
{
|
|
46
|
+
title: 'Tab 1',
|
|
47
|
+
content: 'Example content...',
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
title: 'Tab 2',
|
|
51
|
+
content: 'Some nested <strong>strong element</strong>...',
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
54
|
};
|
|
55
55
|
|
|
56
56
|
describe('macro: tabs', () => {
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
it('passes jest-axe checks', async () => {
|
|
58
|
+
const $ = cheerio.load(renderComponent('tabs', EXAMPLE_TABS));
|
|
59
59
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
const results = await axe($.html());
|
|
61
|
+
expect(results).toHaveNoViolations();
|
|
62
|
+
});
|
|
63
63
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
64
|
+
it('has the provided variant classes', () => {
|
|
65
|
+
const $ = cheerio.load(
|
|
66
|
+
renderComponent('tabs', {
|
|
67
|
+
...EXAMPLE_TABS,
|
|
68
|
+
variants: ['details', 'example-variant'],
|
|
69
|
+
}),
|
|
70
|
+
);
|
|
71
71
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
72
|
+
expect($('.ons-tabs').hasClass('ons-tabs--details')).toBe(true);
|
|
73
|
+
expect($('.ons-tabs').hasClass('ons-tabs--example-variant')).toBe(true);
|
|
74
|
+
});
|
|
75
75
|
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
it('has the provided `title`', () => {
|
|
77
|
+
const $ = cheerio.load(renderComponent('tabs', EXAMPLE_TABS));
|
|
78
78
|
|
|
79
|
-
|
|
80
|
-
|
|
79
|
+
expect($('.ons-tabs__title').text().trim()).toBe('Example tabs');
|
|
80
|
+
});
|
|
81
81
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
82
|
+
it('has title with provided tag override', () => {
|
|
83
|
+
const $ = cheerio.load(
|
|
84
|
+
renderComponent('tabs', {
|
|
85
|
+
...EXAMPLE_TABS,
|
|
86
|
+
titleTag: 'h4',
|
|
87
|
+
}),
|
|
88
|
+
);
|
|
89
89
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
90
|
+
const titleTag = $('.ons-tabs__title')[0].tagName;
|
|
91
|
+
expect(titleTag).toBe('h4');
|
|
92
|
+
});
|
|
93
93
|
|
|
94
|
-
|
|
95
|
-
|
|
94
|
+
it('has the provided tab id attributes', () => {
|
|
95
|
+
const $ = cheerio.load(renderComponent('tabs', EXAMPLE_TABS));
|
|
96
96
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
97
|
+
expect($('.ons-tabs__panel:first').attr('id')).toBe('first-tab');
|
|
98
|
+
expect($('.ons-tabs__panel:last').attr('id')).toBe('second-tab');
|
|
99
|
+
});
|
|
100
100
|
|
|
101
|
-
|
|
102
|
-
|
|
101
|
+
it('has default tab id attribute values when identifiers are not provided', () => {
|
|
102
|
+
const $ = cheerio.load(renderComponent('tabs', EXAMPLE_TABS_WITHOUT_TAB_IDS));
|
|
103
103
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
104
|
+
expect($('.ons-tabs__panel:first').attr('id')).toBe('tab-1');
|
|
105
|
+
expect($('.ons-tabs__panel:last').attr('id')).toBe('tab-2');
|
|
106
|
+
});
|
|
107
107
|
|
|
108
|
-
|
|
109
|
-
|
|
108
|
+
it('has expected label text in tab links and visually hidden span in tab 1', () => {
|
|
109
|
+
const $ = cheerio.load(renderComponent('tabs', EXAMPLE_TABS));
|
|
110
110
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
111
|
+
expect($('.ons-tab:first').html()).toBe('Tab 1<span class="ons-u-vh">for Example</span>');
|
|
112
|
+
expect($('.ons-tab:last').text().trim()).toBe('Tab 2');
|
|
113
|
+
});
|
|
114
114
|
|
|
115
|
-
|
|
116
|
-
|
|
115
|
+
it('has expected content in tab panels', () => {
|
|
116
|
+
const $ = cheerio.load(renderComponent('tabs', EXAMPLE_TABS));
|
|
117
117
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
118
|
+
expect($('.ons-tabs__panel:first').html().trim()).toBe('Example content...');
|
|
119
|
+
expect($('.ons-tabs__panel:last').html().trim()).toBe('Some nested <strong>strong element</strong>...');
|
|
120
|
+
});
|
|
121
121
|
|
|
122
|
-
|
|
123
|
-
|
|
122
|
+
it('displays a h2 when showTitle set to true', () => {
|
|
123
|
+
const $ = cheerio.load(renderComponent('tabs', EXAMPLE_TABS_WITH_SHOWTITLE));
|
|
124
124
|
|
|
125
|
-
|
|
126
|
-
|
|
125
|
+
expect($('.ons-tabs__panel:first').find('h2').length).toBe(1);
|
|
126
|
+
});
|
|
127
127
|
});
|