From e0c6fbfabe43b5cb7668c5d5720b58f5f4d8001e Mon Sep 17 00:00:00 2001 From: Guy Sartorelli Date: Fri, 27 Dec 2024 13:09:13 +1300 Subject: [PATCH 1/2] MNT Update composer name --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index b82b28b..dd9703e 100644 --- a/composer.json +++ b/composer.json @@ -1,5 +1,5 @@ { - "name": "silverstripe-themes/startup", + "name": "silverstripe/startup-theme", "description": "Silverstripe Startup theme", "type": "silverstripe-theme", "keywords": [ From 0990299c3c70faa498f74defa48b00095dae0e57 Mon Sep 17 00:00:00 2001 From: Guy Sartorelli Date: Fri, 27 Dec 2024 13:09:51 +1300 Subject: [PATCH 2/2] ENH Update theme to be more flexible --- css/accordion.css | 26 +++++ css/base.css | 14 +-- css/block.css | 67 ------------ css/breadcrumbs.css | 10 +- css/colors.css | 6 ++ css/editor.css | 1 - css/footer.css | 10 ++ css/form.css | 134 +++++++++++++++++++++++ css/header.css | 88 +++++++-------- css/hero.css | 18 ---- css/{container.css => layout.css} | 19 +++- css/page.css | 28 +++-- css/section.css | 40 ------- css/silverstripe-navigator.css | 9 ++ css/startup.css | 10 +- css/transitions.css | 6 -- css/typography.css | 171 ++++++++++++++++++++++++++++++ css/wysiwyg.css | 148 -------------------------- images/block1-image.webp | Bin 69056 -> 0 bytes images/chevron--down--white.svg | 3 - js/accordion.js | 35 +++--- js/mobile-menu.js | 8 +- templates/BreadcrumbsTemplate.ss | 16 ++- templates/Includes/Favicons.ss | 14 +-- templates/Includes/Header.ss | 33 ++++-- templates/Includes/Sidebar.ss | 25 +++++ templates/Layout/Page.ss | 20 +--- templates/Page.ss | 6 +- 28 files changed, 550 insertions(+), 415 deletions(-) create mode 100644 css/accordion.css delete mode 100644 css/block.css create mode 100644 css/form.css delete mode 100644 css/hero.css rename css/{container.css => layout.css} (61%) delete mode 100644 css/section.css create mode 100644 css/silverstripe-navigator.css delete mode 100644 css/transitions.css delete mode 100644 css/wysiwyg.css delete mode 100644 images/block1-image.webp delete mode 100644 images/chevron--down--white.svg create mode 100644 templates/Includes/Sidebar.ss diff --git a/css/accordion.css b/css/accordion.css new file mode 100644 index 0000000..ec0987f --- /dev/null +++ b/css/accordion.css @@ -0,0 +1,26 @@ +/** + * Accordion styles + * See also accordion.js + */ + +.accordion__container { + display: grid; + grid-template-rows: 0fr; + transition: var(--transition-default); + visibility: hidden; + opacity: 0; +} + +.accordion__item.is-active .accordion__container { + grid-template-rows: 1fr; + visibility: visible; + opacity: 100; +} + +[data-accordion-flip] { + transition: var(--transition-default); +} + +.accordion__item.is-active [data-accordion-flip] { + rotate: -180deg; +} diff --git a/css/base.css b/css/base.css index 436751e..178e6fa 100644 --- a/css/base.css +++ b/css/base.css @@ -4,6 +4,13 @@ * Global styles and resets * Use with caution as these affect everything on the site */ +:root { + /* Set transition variables */ + --transition-default: all 0.2s ease-in; + --transition-color: background-color 0.2s ease-in, border-color 0.2s ease-in, color 0.2s ease-in; + --transition-svg: fill 0.2s ease-in; +} + *, ::before, ::after { @@ -54,12 +61,6 @@ button { text-transform: none; } -dd, -ol, -ul { - list-style: none; -} - hr { height: 0; border: unset; @@ -70,7 +71,6 @@ img { display: block; height: auto; max-width: 100%; - width: 100%; } small { diff --git a/css/block.css b/css/block.css deleted file mode 100644 index f7248a8..0000000 --- a/css/block.css +++ /dev/null @@ -1,67 +0,0 @@ -/** - * Elemental block styles - * - * These styles are shared across multiple block types - */ -.block { - display: grid; -} - -.block__h1 { - @media (min-width: 750px) { - line-height: 1.1; - } -} - -.block__h2 { - font-size: 3.4rem; - - @media (min-width: 750px) { - font-size: 4rem; - } -} - -/** - * Content block styles - */ -.content-block { - gap: 1.8rem; - - @media (min-width: 750px) { - gap: 2rem; - } -} - -/** - * Image and text block styles - */ -.image-and-text-block { - display: grid; - gap: 4rem; - - @media (min-width: 750px) { - display: flex; - } - - @media (min-width: 1170px) { - gap: 10rem; - } -} - -.image-and-text-block--left { - @media (min-width: 750px) { - flex-direction: row-reverse; - } -} - -.image-and-text-block__right-column { - align-self: center; - display: grid; - flex-shrink: 0; - gap: 2.5rem; - - @media (min-width: 750px) { - width: clamp(34rem, 48%, 50rem); - gap: 3rem; - } -} diff --git a/css/breadcrumbs.css b/css/breadcrumbs.css index d0ae952..083fe43 100644 --- a/css/breadcrumbs.css +++ b/css/breadcrumbs.css @@ -2,7 +2,15 @@ * Breadcrumb styles */ .breadcrumbs { - margin-bottom: 1.3rem; + dd, + ol, + ul { + list-style: none; + } + + li { + margin-left: 0; + } } .breadcrumbs__list { diff --git a/css/colors.css b/css/colors.css index c715563..0d22a90 100644 --- a/css/colors.css +++ b/css/colors.css @@ -11,4 +11,10 @@ --color-pale-grey: #F4F4F4; --color-white: #FFFFFF; --color-white-70: #bdbdbd; + --color-error-dark: #CF0000; + --color-error-light: #f9d0d0; + --color-good-dark: #8fbe00; + --color-good-light: #ecf9d0; + --color-warning-dark: #e8c805; + --color-warning-light: #fef4ba; } diff --git a/css/editor.css b/css/editor.css index 1c302bb..f433d8b 100644 --- a/css/editor.css +++ b/css/editor.css @@ -5,7 +5,6 @@ @import 'base.css'; @import 'colors.css'; @import 'typography.css'; -@import 'wysiwyg.css'; /** * CMS TinyMCE editor field styles diff --git a/css/footer.css b/css/footer.css index f9a4984..a255be8 100644 --- a/css/footer.css +++ b/css/footer.css @@ -4,6 +4,16 @@ color: var(--color-white); padding: 4.5rem 0; text-align: center; + + dd, + ol, + ul { + list-style: none; + } + + li { + margin-left: 0; + } } /* Logo */ diff --git a/css/form.css b/css/form.css new file mode 100644 index 0000000..53b512b --- /dev/null +++ b/css/form.css @@ -0,0 +1,134 @@ +/** ---------------------------------------------------------- + * + * This stylesheet includes both generic form styles and + * additional form styles for the User Defined Form Module. + * + ** ------------------------------------------------------- */ + +form { + --max-width: 100%; + /* important required to override userform module styling */ + max-width: var(--max-width) !important; + + @media (min-width: 750px) { + --max-width: 500px; + } + + div.field { + margin: 0.667em 0 1em; + } + + fieldset { + border: 0; + } + + label.left { + font-weight: bold; + } + + label.right { + font-size: 0.9em; + } + + input.text, + textarea, + select { + width: 100%; + max-width: var(--max-width); + padding: 0.4em 0.333em; + font-size: 1.5rem; + background-color: var(--color-white); + border: 1px solid var(--color-line-grey); + } + + input[disabled], + textarea[disabled], + select[disabled] { + background-color: var(--color-pale-grey); + border: 1px solid var(--color-line-grey); + } + + textarea { + resize: vertical; + } + + /* pseudo element adds an asterisk to a required fields label */ + input[required] ~ label.left:after, + input[required] ~ legend.left:after, + /* user defined form uses .requiredField css class */ + .requiredField label.left:after, + .requiredField legend.left:after { + color: var(--color-error-dark); + content: "*"; + font-size: 0.8em; + font-weight: normal; + padding-left: 0.333em; + } + + /* Radio and Checkbox */ + .checkbox label.right, + .radio label.right { + float: left; + } + + /* Buttons */ + a.btn, + button, + input[type="submit"], + input[type="reset"], + .Actions .action { + display: inline-block; + border-radius: 4px; + padding: 0.333em 0.833em; + margin-top: 0.556em; + margin-bottom: 0.556em; + border: none; + + &:not([disabled]) { + cursor: pointer; + } + } + + /* Messages */ + .message { + margin: 0.556em 0; + display: block; + max-width: var(--max-width); + clear: left; + } + + .message, + .error-container { + padding: 0.278em 0.556em; + background-color: var(--color-warning-light); + border: 1px solid var(--color-warning-dark); + border-radius: 3px; + + &.good { + background-color: var(--color-good-light); + border-color: var(--color-good-dark); + } + + &.bad, + &.required, + &.error, + &.error-container { + background-color: var(--color-error-light); + border-color: var(--color-error-dark); + } + } + + /* invalid fields */ + input:invalid, + textarea:invalid { + border-radius: 1px; + box-shadow: 0px 0px 0.5px 1px var(--color-error); + } + + /* user forms heading field */ + .FormHeading { + clear: both; + padding-top: 0.68em; + } +} + diff --git a/css/header.css b/css/header.css index 086caee..c1334a6 100644 --- a/css/header.css +++ b/css/header.css @@ -9,6 +9,16 @@ @media (min-width: 992px) { min-height: 9rem; } + + dd, + ol, + ul { + list-style: none; + } + + li { + margin-left: 0; + } } .header__button { @@ -49,6 +59,11 @@ position: relative; } +.menu__item-container { + display: flex; + flex-direction: row; +} + .menu__link { border-bottom: 0.3rem solid transparent; color: var(--color-white); @@ -76,32 +91,15 @@ } } -/* add chevron if item has child menu */ -.menu__item--has-submenu > .menu__link::after { - content: url('../images/chevron--down--white.svg'); - display: inline-block; - margin-left: 0.5rem; - transition: var(--transition-default); -} - -/* chevron hover animation, also applied on submenu hover */ -.menu__item--has-submenu:hover .menu__link::after, -.menu__item--has-submenu:focus-within .menu__link::after, -.menu__item--has-submenu:has(.submenu:hover) .menu__link::after { - transform: rotate(-180deg); -} - /* submenu */ .submenu { background: var(--color-white); border: 0.2rem var(--color-charcoal) solid; border-radius: 0.4rem; min-width: 22rem; - opacity: 0; padding: 1rem; position: absolute; transition: var(--transition-default); - visibility: hidden; } .submenu__link { @@ -123,14 +121,6 @@ font-weight: var(--font-weight-bold); } -/* show submenu */ -.menu__item--has-submenu:hover .submenu, -.menu__item--has-submenu:focus-within .submenu, -.submenu:hover { - opacity: 1; - visibility: visible; -} - /* Mobile menu button */ .hamburger { color: var(--color-white); @@ -257,29 +247,23 @@ .mobile-menu__item { border-top: 0.1rem var(--color-line-grey) solid; - padding: 2rem 0; position: relative; } -.mobile-menu__link { +.mobile-menu__link, +.mobile-submenu__link { + display: block; text-decoration: none; -} - -/* Mobile submenu */ -.mobile-submenu-container { - display: grid; - grid-template-rows: 0fr; - transition: var(--transition-default); - visibility: hidden; -} + padding: 2rem 1rem; + height: 100%; + width: 100%; -.mobile-menu__item.is-active .mobile-submenu-container { - grid-template-rows: 1fr; - visibility: visible; + &:hover { + background: var(--color-line-grey); + } } .mobile-submenu { - margin: 1rem 0 -1rem; overflow: hidden; } @@ -290,21 +274,31 @@ } .mobile-submenu__link { - display: inline-block; - margin: 1rem; - text-decoration: none; + padding-left: 3rem; } +.mobile-submenu-chevron, .submenu-chevron { cursor: pointer; margin-right: -0.5rem; - padding: 1rem; +} + +.mobile-submenu-chevron { position: absolute; right: 0; top: 1rem; - transition: var(--transition-default); + padding: 1rem; + + &:hover { + color: var(--color-grey); + } } -.mobile-menu__item.is-active .submenu-chevron { - rotate: -180deg; +.submenu-chevron { + color: var(--color-white); + padding: 0 1rem; + + &:hover { + color: var(--color-line-grey); + } } diff --git a/css/hero.css b/css/hero.css deleted file mode 100644 index 83b5361..0000000 --- a/css/hero.css +++ /dev/null @@ -1,18 +0,0 @@ -.hero { - background-color: var(--color-pale-grey); - padding-bottom: 4rem; - padding-top: 5rem; - - @media (min-width: 992px) { - padding-bottom: 5rem; - padding-top: 7rem; - } -} - -.hero__inner { - max-width: 77rem; -} - -.hero__intro { - margin-top: 2rem; -} diff --git a/css/container.css b/css/layout.css similarity index 61% rename from css/container.css rename to css/layout.css index ab61588..3017e5b 100644 --- a/css/container.css +++ b/css/layout.css @@ -1,4 +1,21 @@ -/* Container styles */ +/* Layout styles that affect the overall layout of all pages */ + + +body { + /* Ensures the body will be at least viewport height even in short pages. */ + min-height: 100vh; + display: flex; + flex-direction: column; +} + +main { + /* + Ensure the main section stretches to fill any empty space. + This pushes the footer down to the bottom of the viewport in short pages. + */ + flex-grow: 1; +} + /* The container class enforces max-width and should wrap all elements */ .container { max-width: 123rem; diff --git a/css/page.css b/css/page.css index dae9fda..31b879c 100644 --- a/css/page.css +++ b/css/page.css @@ -10,10 +10,12 @@ } .page__content { - display: grid; - gap: 2rem; + /* display: grid; + gap: 2rem; */ width: 100%; +} +.page__content--with-sidebar { @media (min-width: 992px) { width: 76rem; } @@ -31,22 +33,34 @@ .page-menu__heading { display: block; + margin-top: 0; margin-bottom: 1.5rem; -} + padding-top: 2.5rem; + border-top: 0.1rem solid var(--color-line-grey); -.page-menu__heading-link { - text-decoration: none; + @media (min-width: 992px) { + border-top: none; + padding-top: 0; + } } .page-menu__list { - border-top: 0.1rem solid var(--color-line-grey); border-bottom: 0.1rem solid var(--color-line-grey); - padding: 2.5rem 0; + padding-bottom: 2.5rem; display: grid; font-size: 1.4rem; gap: 1.7rem; + + @media (min-width: 992px) { + padding-top: 2.5rem; + border-top: 0.1rem solid var(--color-line-grey); + } } .page-menu__list-item--current { font-weight: var(--font-weight-bold); } + +.page-menu__list-item--child { + font-weight: var(--font-weight-base); +} diff --git a/css/section.css b/css/section.css deleted file mode 100644 index 908defb..0000000 --- a/css/section.css +++ /dev/null @@ -1,40 +0,0 @@ -/* Section styles */ -.section { - padding: 6rem 0; - - @media (min-width: 992px) { - padding: 10rem 0; - } -} - -.section--color-white + .section--color-white { - padding-top: 0; -} - -.section--color-dark { - color: var(--color-white); -} - -.section--color-black { - background-color: var(--color-black); -} - -.section--color-charcoal { - background-color: var(--color-charcoal); -} - -.section--color-grey { - background-color: var(--color-grey); -} - -.section--color-line-grey { - background-color: var(--color-line-grey); -} - -.section--color-pale-grey { - background-color: var(--color-pale-grey); -} - -.section--color-bright-blue { - background-color: var(--color-bright-blue); -} diff --git a/css/silverstripe-navigator.css b/css/silverstripe-navigator.css new file mode 100644 index 0000000..d19bd69 --- /dev/null +++ b/css/silverstripe-navigator.css @@ -0,0 +1,9 @@ +/* Overrides styling for SiverstripeNavigator */ + +div#SilverStripeNavigator { + border-top: 0; +} + +#SilverStripeNavigatorMessage { + background: #000A; +} diff --git a/css/startup.css b/css/startup.css index 5fb67c1..61bddfd 100644 --- a/css/startup.css +++ b/css/startup.css @@ -1,16 +1,14 @@ /* This is the main CSS file we 'require' on our top level Page.ss template */ @import 'fonts.css'; @import 'base.css'; +@import 'layout.css'; @import 'breadcrumbs.css'; @import 'button.css'; @import 'colors.css'; @import 'typography.css'; -@import 'wysiwyg.css'; -@import 'container.css'; -@import 'transitions.css'; @import 'header.css'; -@import 'hero.css'; @import 'page.css'; -@import 'block.css'; -@import 'section.css'; +@import 'form.css'; @import 'footer.css'; +@import 'accordion.css'; +@import 'silverstripe-navigator.css'; diff --git a/css/transitions.css b/css/transitions.css deleted file mode 100644 index 39dc5e8..0000000 --- a/css/transitions.css +++ /dev/null @@ -1,6 +0,0 @@ -/* Set transition variables */ -:root { - --transition-default: all 0.2s ease-in; - --transition-color: background-color 0.2s ease-in, border-color 0.2s ease-in, color 0.2s ease-in; - --transition-svg: fill 0.2s ease-in; -} diff --git a/css/typography.css b/css/typography.css index bdf5156..f83c09a 100644 --- a/css/typography.css +++ b/css/typography.css @@ -20,6 +20,37 @@ textarea { font-size: var(--font-size-base); font-weight: var(--font-weight-base); line-height: var(--line-height-base); + + @media (min-width: 992px) { + font-size: var(--font-size-large); + } +} + +hr { + border-bottom: 0.1rem solid var(--color-line-grey); + margin: 1.5rem 0; +} + +ol { + list-style: decimal; +} + +ul { + list-style: disc; +} + +li { + margin-left: 1.75em; +} + +code { + display: inline-block; + background-color: var(--color-pale-grey); + border-radius: 0.4rem; + box-decoration-break: clone; + -webkit-box-decoration-break: clone; + font-weight: var(--font-weight-medium); + padding: 0.1rem 0.4rem; } /* Headings */ @@ -27,6 +58,7 @@ h1, .h1 { font-size: 3.8rem; font-weight: var(--font-weight-extrabold); line-height: 1.2; + margin-bottom: 0.5em; @media (min-width: 750px) { font-size: 4.8rem; @@ -57,6 +89,11 @@ h5, .h5 { line-height: 1.3; } +h2, h3, h4, h5, h6, +.h2, .h3, .h4, .h5, .h6 { + margin-top: 0.75em; +} + /* Text */ blockquote { border-left: 1rem solid var(--color-charcoal); @@ -70,6 +107,26 @@ blockquote { font-size: 2.2rem; } +p { + margin-bottom: 1.25rem; +} + +.text-left, .left { + text-align: left; +} + +.text-center, .center { + text-align: center; +} + +.text-right, .right { + text-align: right; +} + +.text-justify { + text-justify: auto; +} + /* Links */ a { text-decoration: underline; @@ -80,3 +137,117 @@ a { a:hover { text-decoration-thickness: 0.2rem; } + +/* Tables */ +table { + border-collapse: collapse; + border: 1px solid #d4d4d4; + border-spacing: 0; + margin: 0 0 10px; + text-align: left; + + tr:nth-child(even) { + background-color: #ededed + } + + tr.even, + th, + thead td { + background-color: #ededed + } + + td, + th { + padding: 2px 5px; + border: 1px solid #d4d4d4; + vertical-align: top; + } + + th { + font-weight: bold; + } +} + +/* Images */ +img { + &.left { + float: left; + margin: 0 2.5rem 2.5rem 0; + } + + &.right { + float: right; + margin: 0 0 2.5rem 2.5rem; + clear: none; + } + + &.center { + margin: 2.5rem auto; + } + + &.rightAlone { + float: right; + margin: 2.5rem 0; + clear: both; + } + + &.leftAlone { + margin: 2.5rem 0; + } + + + .caption { + position: relative; + top: -1.5rem; + } +} + +/* Captions */ +.caption { + &.leftAlone, + &.left { + text-align: left; + } + + &.rightAlone, + &.right { + text-align: right; + } + + &.center { + text-align: center; + } +} + +/* Image with captions */ +.captionImage { + &.leftAlone { + float: left; + clear: both; + margin-right: 100%; + } + + &.rightAlone { + float: right; + clear: both; + margin-left: 100%; + } + + + &.center{ + margin: 0 auto 20px; + } + + p { + clear: both; + margin: 5px 0; + font-style: italic; + } + + p.caption.text-center { + text-align: center; + } + + p.caption.text-left { + text-align: left; + } +} diff --git a/css/wysiwyg.css b/css/wysiwyg.css deleted file mode 100644 index eb54406..0000000 --- a/css/wysiwyg.css +++ /dev/null @@ -1,148 +0,0 @@ -/** - * WYSIWYG styles - * - * Typography related styles for HTML editor field content - */ -.typography { - align-items: start; - display: grid; - gap: 2.5rem; - - @media (min-width: 992px) { - font-size: var(--font-size-large); - } - - code { - background-color: var(--color-pale-grey); - border-radius: 0.4rem; - box-decoration-break: clone; - -webkit-box-decoration-break: clone; - font-weight: var(--font-weight-medium); - padding: 0.1rem 0.4rem; - } - - * + h3 { - padding-top: 1rem; - } - - hr { - border-bottom: 0.1rem solid var(--color-line-grey); - } - - ol { - list-style: decimal; - } - - ul { - list-style: disc; - } - - ol, - ul { - display: grid; - gap: 0.5rem; - margin-left: 2rem; - - ol, - ul { - margin-top: 0.5rem; - } - } - - table { - tr:nth-child(even) td { - background: var(--color-pale-grey); - } - - td { - padding: 2rem 1rem; - - &:first-child { - padding-left: 2rem; - } - - &:last-child { - padding-right: 2rem; - } - } - } - - /* Captions */ - .caption { - &.leftAlone, - &.left { - text-align: left; - } - - &.rightAlone, - &.right { - text-align: right; - } - - &.center { - text-align: center; - } - } - - /* Images */ - img { - &.left { - float: left; - margin: 0 2.5rem 2.5rem 0; - } - - &.right { - float: right; - margin: 0 0 2.5rem 2.5rem; - clear: none; - } - - &.center { - margin: 2.5rem auto; - } - - &.rightAlone { - float: right; - margin: 2.5rem 0; - clear: both; - } - - &.leftAlone { - margin: 2.5rem 0; - } - - + .caption { - position: relative; - top: -1.5rem; - } - } - - /* Image with captions */ - .captionImage { - &.left { - float: left; - margin: 2.5rem 2.5rem 0 0; - - + p { - clear: none; - } - } - - &.right { - float: right; - margin: 0 0 2.5rem 2.5rem; - - + p { - clear: none; - } - } - - &.center { - margin: 0 auto; - } - - &.rightAlone { - float: right; - } - } -} diff --git a/images/block1-image.webp b/images/block1-image.webp deleted file mode 100644 index 73729021be4f0b7d9ed37b5eb17b105fd688b07b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69056 zcmV)_K!3kdNk&Gv4FLdGMM6+kP&il$0000G0002=1^^%j06|PpNVk3f00I9eBuMc8 zcxyzY?nw&TwvlT7ut;{m!F$c>X(fG(OLp8Q(-;wWswd{`#X@}EqWdj9SSy`8l z?q0WS!KdSgbgCak0cLCTp78CCa|PgjW7khphP90j08^^xo8Rxtf!MAyD?c1uGjL0- zXXYPrK-z1+zWq>iz?BB$mtTSW_8lK~2@9AK)^qL|=;yuluhj{F5FjNAGY!F{MHywBe` z=ZRV*XXt~kue|ORfCJ-72NH=KeFRc0rk$!FV!P`EuHY=O?AM{590!R*oGW{m-}9eCq1@xT5wwx zQ21TFz#U5ef1v(cas$%uu>Q-6)Bw)atpal>{SQF(-OpQ*-dB7jO%32&(L4Z0-+fU1 z-)e5lDZWq)#S9K=eS!v336+q!<6$5Bg{=o&61>f99zBTOGgDQaR zcf$i@gig2%mATX7$p?4cpaM8MFd#;^BT!k88b?05!)6u0rp5s;YX1(E`E%pQhxgj2 z0!7IY0WFlo9C&sut3^J(`#+w5^zH#HYHotc9c{_?+n&7S39hfp1gKCFv*G!CfGh!|{L-A+ufZxGs(iYo~P9 z{y-5`cEV%f1ceN2bgIkk$p8_}FT>->)?{#drQy=^6d1C1HasqhrhvI4i@>%gQNUbf z3OwHEN&$1jm%`)DI0~3sdIvoI6h;Aa%j^N$HASI7tl_-|Rgj><0kH24rhu$1E(3+b zgsXT6?5vIykX1mqe|86U^)u6xj6~ zV}>Z<`@yvLqQI{8!R#r@cVLgD0Ix4H@*@R#73_~G(Ce>^jU;BrBGxJ;&`a;F-43QLCBhsqZ^Tmo*v}ZJNWktchO;LHf<4ZdFF@(bU?x)_*eYNS6yOyw4}}GU zd5+;IE5O%`qSh1;b}?fY2{?f~sgSVSt@!jLQ^Y_aDah0d~qe8BYb+847n-ZBdW9Tc#oJ(#Tp zsrb;Cx$7@NWkyh-mdT6^8!ua}K5u-zBNN`&57e@qv6QqAZ8Uh&;sf`fv7=momY5>O z3!22-KkSp0C+*<+69s7P4`xj-V!Mn^S$6^aGv|Z{YWa+Diaf@5Pn^5qD)?umElf&i zY@>j!#~Je}xOV@f)EznCpS2@(eD~TE;I%fGhmRM5d(rVIi_64u^uBlMT#HOQ{o&@!5ETRHDUz5=bKY(=jql?db4Jq*vHm^Z3DV&Yw z@;*aaoXF(WE+vLb<#@a_q{d_x&wYX%HnMm;DvYz;s}G+ z3<=U7#^3d)2yDsUC6h!i{%$Nu^ylv;lEj1j-SZ@IFMl_jBzp6A_mM;^{_bXq2t@LC z;XZ;m0Sx|5g2?3XrW3>n4)0EaXvEt^P&C) zQi0>2;MKhR2Z87Bd|c~xHvz6cGPP9O3R6RY@o)aQPs@rvs13}2gLhAB*B_}da05V3 z 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 diff --git a/images/chevron--down--white.svg b/images/chevron--down--white.svg deleted file mode 100644 index 1a872d4..0000000 --- a/images/chevron--down--white.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/js/accordion.js b/js/accordion.js index eb9b6e7..fc0a781 100644 --- a/js/accordion.js +++ b/js/accordion.js @@ -2,31 +2,42 @@ export default function() { /** * Accordions * - * Looks for elements with the data attribute `data-accordion-link` + * Looks for elements with the css class `accordion__toggle` * and toggles the display of the accordion item contents when clicked. * - * Currently used on the mobile sub menus but designed for multi-use. + * Currently used on the navigation sub menus but designed for multi-use. */ - const accordions = document.querySelectorAll('[data-accordion-link]') + const accordions = document.querySelectorAll('.accordion__toggle'); if (accordions.length) { accordions.forEach(function(accordion) { - accordion.addEventListener('click', toggleAccordion) + accordion.addEventListener('click', toggleAccordion); }) } + // Close opened accordion items when clicking off them if they've opted in to that behaviour + document.body.addEventListener('click', (e) => { + document.querySelectorAll('.accordion__item.is-active[data-close-on-defocus]').forEach((item) => { + if (e.target.closest('.accordion__item') === item) { + return; + } + item.classList.remove('is-active'); + item.querySelector('.accordion__toggle').setAttribute('aria-expanded', 'false'); + }); + }); + function toggleAccordion(el) { - const link = el.target.closest('[data-accordion-link]') - const currentItem = link.closest('[data-accordion-item]') - const parent = link.closest('[data-accordion]') - const allItems = parent.querySelectorAll('[data-accordion-item]') + const link = el.target.closest('.accordion__toggle'); + const currentItem = link.closest('.accordion__item'); + const parent = link.closest('.accordion'); + const allItems = parent.querySelectorAll('.accordion__item'); /** - * Adds the class `is-active` to the `data-accordion-item` element + * Adds the class `is-active` to the `accordion__item` element * so that we can style the accordion states. */ - link.setAttribute('aria-expanded', link.getAttribute('aria-expanded') !== 'true') - currentItem.classList.toggle('is-active') + link.setAttribute('aria-expanded', link.getAttribute('aria-expanded') !== 'true'); + currentItem.classList.toggle('is-active'); /** * Only allow for one accordion item to be open at a time @@ -35,7 +46,7 @@ export default function() { allItems.forEach(function(item) { if (item !== currentItem) { item.classList.remove('is-active'); - item.querySelector('[data-accordion-link]').setAttribute('aria-expanded', 'false') + item.querySelector('.accordion__toggle').setAttribute('aria-expanded', 'false'); } }) } diff --git a/js/mobile-menu.js b/js/mobile-menu.js index 2881fe6..5d6cf8b 100644 --- a/js/mobile-menu.js +++ b/js/mobile-menu.js @@ -5,11 +5,11 @@ export default function() { * Looks for elements with the data attribute `data-toggle-mobile-menu` * and toggles the display of the mobile menu when clicked. */ - const toggles = document.querySelectorAll('[data-toggle-mobile-menu]') + const toggles = document.querySelectorAll('[data-toggle-mobile-menu]'); if (toggles.length) { toggles.forEach(function(toggle) { - toggle.addEventListener('click', toggleMobileMenu) + toggle.addEventListener('click', toggleMobileMenu); }) } @@ -18,7 +18,7 @@ export default function() { * Adds the class `mobile-menu-active` to the `body` element * so that we can style the mobile menu states. */ - const toggleEl = document.querySelector('body') - toggleEl.classList.toggle('mobile-menu-is-active') + const toggleEl = document.querySelector('body'); + toggleEl.classList.toggle('mobile-menu-is-active'); } } diff --git a/templates/BreadcrumbsTemplate.ss b/templates/BreadcrumbsTemplate.ss index 2dc5a02..e91ea59 100644 --- a/templates/BreadcrumbsTemplate.ss +++ b/templates/BreadcrumbsTemplate.ss @@ -1,10 +1,6 @@ - +<% end_if %> diff --git a/templates/Includes/Favicons.ss b/templates/Includes/Favicons.ss index f1c06da..3720eeb 100644 --- a/templates/Includes/Favicons.ss +++ b/templates/Includes/Favicons.ss @@ -1,9 +1,9 @@ - - - - - - + + + + + + - + diff --git a/templates/Includes/Header.ss b/templates/Includes/Header.ss index d7dbc7d..94e013c 100644 --- a/templates/Includes/Header.ss +++ b/templates/Includes/Header.ss @@ -3,16 +3,24 @@
<%-- Desktop menu --%>
<%-- close .menu__item-container --%> <% end_if %> <% end_loop %> @@ -37,20 +48,20 @@ <%-- Mobile menu --%>