diff --git a/css/styles.css b/css/styles.css index b585d1b8f3cded63a26baed808a5232ca966e114..5bb39d909eb5e7acbadf1e06d965036e53411cc3 100644 --- a/css/styles.css +++ b/css/styles.css @@ -1840,11 +1840,10 @@ svg:not(:root) { padding-right: 0; } } @media (min-width: 48.06rem) { .uw-header__wrapper { - grid-template-columns: 12.5rem auto; } } + grid-template-columns: auto 10rem; } } .uw-header__wrapper .uw-site-logo { grid-column: 1 / 3; - grid-row: 1 / 2; - text-align: center; } + grid-row: 1 / 2; } @media (min-width: 48.06rem) { .uw-header__wrapper .uw-site-logo { grid-column: 1 / 2; @@ -4084,23 +4083,68 @@ fieldset, grid-column: 3; grid-row: 1; } } -.uw-header-menu { - background-color: #000; } - .uw-header-menu ul { +.uw-horizontal-nav.uw-horizontal-nav--header { + background: #000; + max-width: inherit; + width: inherit; } + .uw-horizontal-nav.uw-horizontal-nav--header .uw-horizontal-nav--wrapper { + background: #000; display: block; - text-align: center; } - .uw-header-menu li { - display: inline-block; - padding: 0 0.5rem; } - .uw-header-menu a { - color: #fff; - font-family: "BureauGrotCond Book", impact, "avenir next condensed heavy", "Droid Sans", sans-serif; - font-size: 0.88889rem; - letter-spacing: .045rem; - text-decoration: none; - text-transform: uppercase; } - .uw-header-menu a:hover { - text-decoration: underline; } + max-width: inherit; + padding: 0; + position: relative; } + .uw-horizontal-nav.uw-horizontal-nav--header .uw-horizontal-nav--home { + display: none; + grid-column: none; + padding: 0; } + .uw-horizontal-nav.uw-horizontal-nav--header .uw-horizontal-nav--menu { + width: inherit; } + .uw-horizontal-nav.uw-horizontal-nav--header .uw-horizontal-nav--menu .menu { + border: 1px solid #fff; + height: auto; + width: 6rem; } + .uw-horizontal-nav.uw-horizontal-nav--header .uw-horizontal-nav--menu .menu a { + color: #fff; + outline: none; + outline-offset: unset; + width: 100%; } + .uw-horizontal-nav.uw-horizontal-nav--header .uw-horizontal-nav--menu .menu a:hover { + color: #000; } + .uw-horizontal-nav.uw-horizontal-nav--header .uw-horizontal-nav--menu .menu.menu--subnav a { + color: #000; + outline: none; + outline-offset: unset; + width: 100%; } + .uw-horizontal-nav.uw-horizontal-nav--header .uw-horizontal-nav--menu .menu--horizontal > .menu--item { + background: #000; + width: 100%; } + .uw-horizontal-nav.uw-horizontal-nav--header .uw-horizontal-nav--menu .menu--horizontal > .menu--item.has-submenu > a { + padding-right: 24px; + position: relative; } + .uw-horizontal-nav.uw-horizontal-nav--header .uw-horizontal-nav--menu .menu--horizontal > .menu--item.has-submenu > a::after { + content: '\e906'; + display: block; + font-family: fdsu-rwd; + position: absolute; + right: 0.5rem; + text-align: center; + top: 0.5rem; + transform: scale(0.75, 0.75); } + @media (min-width: 48.06rem) { + .uw-horizontal-nav.uw-horizontal-nav--header .uw-horizontal-nav--menu .menu--horizontal > .menu--item.has-submenu > a::after { + transform: scale(0.75, 0.75) rotate(90deg); } } + .uw-horizontal-nav.uw-horizontal-nav--header .uw-horizontal-nav--menu .menu--subnav { + display: none; } + .uw-horizontal-nav.uw-horizontal-nav--header .uw-horizontal-nav--menu .menu .submenu-active .menu--subnav { + border-width: 0; + height: auto; + left: 0; + min-height: auto; + min-width: 13rem; + padding: 1rem; + width: auto; } + .uw-horizontal-nav.uw-horizontal-nav--header .uw-horizontal-nav--menu .menu .submenu-active .menu--subnav .menu--subnav { + border: 0 solid #fff; } .org-default .uw-horizontal-nav .uw-site-home__link { background-color: #000; } @@ -4711,35 +4755,32 @@ fieldset, justify-content: flex-start; text-transform: inherit; width: 100%; } - .uw-horizontal-nav--secondary .uw-horizontal-nav--menu .menu--horizontal > .menu--item { - white-space: nowrap; - width: 100%; } - @media (min-width: 48.06rem) { - .uw-horizontal-nav--secondary .uw-horizontal-nav--menu .menu--horizontal > .menu--item { - width: auto; } } - .uw-horizontal-nav--secondary .uw-horizontal-nav--menu .menu--horizontal > .menu--item a { - display: inline-block; - font-weight: inherit; - line-height: 1.25rem; - text-decoration: none; } - .uw-horizontal-nav--secondary .uw-horizontal-nav--menu .menu--horizontal > .menu--item a:hover { - background-color: #eee; - color: #000; } - .uw-horizontal-nav--secondary .uw-horizontal-nav--menu .menu--horizontal > .menu--item.has-submenu > a { - padding-right: 24px; - position: relative; } - .uw-horizontal-nav--secondary .uw-horizontal-nav--menu .menu--horizontal > .menu--item.has-submenu > a::after { - content: '\e906'; - display: block; - font-family: fdsu-rwd; - position: absolute; - right: 0.5rem; - text-align: center; - top: 0.5rem; - transform: scale(0.75, 0.75); } - @media (min-width: 48.06rem) { - .uw-horizontal-nav--secondary .uw-horizontal-nav--menu .menu--horizontal > .menu--item.has-submenu > a::after { - transform: scale(0.75, 0.75) rotate(90deg); } } + @media (min-width: 48.06rem) { + .uw-horizontal-nav--secondary .uw-horizontal-nav--menu .menu--horizontal > .menu--item { + width: auto; } } + .uw-horizontal-nav--secondary .uw-horizontal-nav--menu .menu--horizontal > .menu--item a { + display: inline-block; + font-weight: inherit; + line-height: 1.25rem; + text-decoration: none; } + .uw-horizontal-nav--secondary .uw-horizontal-nav--menu .menu--horizontal > .menu--item a:hover { + background-color: #eee; + color: #000; } + .uw-horizontal-nav--secondary .uw-horizontal-nav--menu .menu--horizontal > .menu--item.has-submenu > a { + padding-right: 24px; + position: relative; } + .uw-horizontal-nav--secondary .uw-horizontal-nav--menu .menu--horizontal > .menu--item.has-submenu > a::after { + content: '\e906'; + display: block; + font-family: fdsu-rwd; + position: absolute; + right: 0.5rem; + text-align: center; + top: 0.5rem; + transform: scale(0.75, 0.75); } + @media (min-width: 48.06rem) { + .uw-horizontal-nav--secondary .uw-horizontal-nav--menu .menu--horizontal > .menu--item.has-submenu > a::after { + transform: scale(0.75, 0.75) rotate(90deg); } } .uw-horizontal-nav--secondary .uw-horizontal-nav--menu .menu--subnav { display: none; font-size: 0.79rem; @@ -5215,7 +5256,6 @@ picture { width: 100%; } .uw-site-logo { - margin: 0 auto; width: 12.5rem; } .uw-site-logo .uw-site-logo__link { background: url("../source/images/logos/uwaterloo-logo.svg") 0 50% no-repeat; diff --git a/js/component_scripts.min.js b/js/component_scripts.min.js index 5bfc2a72142ffc218bbf793933bad88f313f8e61..c36cf177e6528bcebb328f9edea4f549cdcc240c 100644 --- a/js/component_scripts.min.js +++ b/js/component_scripts.min.js @@ -1,3 +1,25 @@ +(function ($, Drupal) { + Drupal.behaviors.dropbutton = { + attach: function (context, settings) { + $(document).ready(function(){ + /* When the user clicks on the button, + toggle between hiding and showing the dropdown content */ + + // // Get the id + $('.uw-dropdown').each(function() { + var id = $(this).data('id'); + alert(id); + + var dropBtn = $(this).children(); + alert(dropBtn); + }); + + + }); + } + }; +})(jQuery, Drupal); + (function ($, Drupal) { Drupal.behaviors.expandcollapse = { attach: function (context, settings) { @@ -243,8 +265,10 @@ // const toggle = document.querySelector(".toggle"); const menu = document.querySelector(".menu--horizontal"); const items = document.querySelectorAll(".menu--item"); -// -// /* Toggle mobile menu */ + + /* Toggle mobile menu */ + + // // function toggleMenu() { // // if (menu.classList.contains("active")) { // // menu.classList.remove("active"); @@ -255,6 +279,8 @@ // // } // // } // + + /* Activate Submenu */ function toggleItem() { @@ -263,11 +289,13 @@ } else if (menu.querySelector(".submenu-active")) { menu.querySelector(".submenu-active").classList.remove("submenu-active"); this.classList.add("submenu-active"); + alert('foundone'); } else { this.classList.add("submenu-active"); } } -// + + /* Close Submenu From Anywhere */ function closeSubmenu(e) { @@ -280,6 +308,8 @@ } /* Event Listeners */ + + // toggle.addEventListener("click", toggleMenu, false); for (let item of items) { diff --git a/source/_patterns/03-layouts/header/_header.scss b/source/_patterns/03-layouts/header/_header.scss index bd970bc68cd902bd8b8a59ed96e7434cb5e81831..b6babb8d9adb139984318c29d20d734bb0b6a24c 100644 --- a/source/_patterns/03-layouts/header/_header.scss +++ b/source/_patterns/03-layouts/header/_header.scss @@ -13,13 +13,12 @@ padding:gesso-spacing(sm); position: relative; @include medium { - grid-template-columns: 12.5rem auto; + grid-template-columns: auto 10rem; } .uw-site-logo { grid-column: 1 / 3; grid-row: 1 / 2; - text-align:center; @include medium { grid-column: 1 / 2; grid-row: 1 / 2; diff --git a/source/_patterns/03-layouts/header/header.twig b/source/_patterns/03-layouts/header/header.twig index 4af005adda9c42d29d2d3add8c6c5ba79c2594d6..b20d89844a4545072c9f4467d8c1e0241f35b93f 100644 --- a/source/_patterns/03-layouts/header/header.twig +++ b/source/_patterns/03-layouts/header/header.twig @@ -7,21 +7,22 @@ {% include '@components/site-logo/site-logo.twig' %} {% block content %} - {% include "@components/menu/menu--header/menu--header.twig" with { - 'menu_name': 'uw-header', - 'items': items - } %} + {% endblock %} + {% include "@components/menu/menu--header/menu--header.twig" with { + 'modifier_classes': header_modifier_classes, + 'items': header_items + } %} </div> {% include '@components/color-bar/color-bar.twig' with { 'faculty': faculty }%} {% include "@components/menu/menu--horizontal/menu--horizontal.twig" with { - 'modifier_classes': 'main', + 'modifier_classes': main_modifier_classes, 'items': nav_items }%} {% include "@components/menu/menu--secondary/menu--secondary.twig" with { - 'items': secondary_items, - 'modifier_classes': secondary_modifier_classes + 'modifier_classes': secondary_modifier_classes, + 'items': secondary_items }%} </header> diff --git a/source/_patterns/03-layouts/header/header.yml b/source/_patterns/03-layouts/header/header.yml index a50317209a58fe9adb4293e0a64ce92fce3ca259..b487ae5581e2ab0f723f4eaff21e84200bee8613 100644 --- a/source/_patterns/03-layouts/header/header.yml +++ b/source/_patterns/03-layouts/header/header.yml @@ -1,42 +1,52 @@ --- is_demo: true +header_modifier_classes: 'header' menu_name: 'horizontal' -items: - - title: 'Admissions' - url: 'https://uwaterloo.ca/admissions/' - original_link: - options: - attributes: - class: '' - in_active_trail: false - - title: 'About Waterloo' - url: 'https://uwaterloo.ca/about/' - original_link: - options: - attributes: - class: '' - in_active_trail: false - - title: 'Faculties & Academics' - url: 'https://uwaterloo.ca/faculties-academics/' - original_link: - options: - attributes: - class: '' - in_active_trail: false - - title: 'Offices & Services' - url: 'https://uwaterloo.ca/offices-services/' - original_link: - options: - attributes: - class: '' - in_active_trail: false - - title: 'Support Waterloo' - url: 'https://uwaterloo.ca/support/' +header_items: + - title: 'Jump To' + url: '#' original_link: options: attributes: class: '' in_active_trail: false + submenu: + - title: 'Admissions' + url: 'https://uwaterloo.ca/admissions/' + original_link: + options: + attributes: + class: '' + in_active_trail: false + - title: 'About Waterloo' + url: 'https://uwaterloo.ca/about/' + original_link: + options: + attributes: + class: '' + in_active_trail: false + - title: 'Faculties & Academics' + url: 'https://uwaterloo.ca/faculties-academics/' + original_link: + options: + attributes: + class: '' + in_active_trail: false + - title: 'Offices & Services' + url: 'https://uwaterloo.ca/offices-services/' + original_link: + options: + attributes: + class: '' + in_active_trail: false + - title: 'Support Waterloo' + url: 'https://uwaterloo.ca/support/' + original_link: + options: + attributes: + class: '' + in_active_trail: false +main_modifier_classes: 'main' nav_items: - text: 'About Psychology' url: '#' diff --git a/source/_patterns/03-layouts/site-container/site-container.yml b/source/_patterns/03-layouts/site-container/site-container.yml index d63845cb255aaaf24ac58a5bd16f591fb807bf9e..ce17f1bb7eaa29e1196a83d4b9e42f0e2c2ef83d 100644 --- a/source/_patterns/03-layouts/site-container/site-container.yml +++ b/source/_patterns/03-layouts/site-container/site-container.yml @@ -1,43 +1,51 @@ --- is_demo: true -modifier_classes: 'header' +header_modifier_classes: 'header' menu_name: 'horizontal' header_items: - - title: 'Admissions' - url: 'https://uwaterloo.ca/admissions/' - original_link: - options: - attributes: - class: '' - in_active_trail: false - - title: 'About Waterloo' - url: 'https://uwaterloo.ca/about/' - original_link: - options: - attributes: - class: '' - in_active_trail: false - - title: 'Faculties & Academics' - url: 'https://uwaterloo.ca/faculties-academics/' - original_link: - options: - attributes: - class: '' - in_active_trail: false - - title: 'Offices & Services' - url: 'https://uwaterloo.ca/offices-services/' - original_link: - options: - attributes: - class: '' - in_active_trail: false - - title: 'Support Waterloo' - url: 'https://uwaterloo.ca/support/' + - title: 'Jump To' + url: '#' original_link: options: attributes: class: '' in_active_trail: false + submenu: + - title: 'Admissions' + url: 'https://uwaterloo.ca/admissions/' + original_link: + options: + attributes: + class: '' + in_active_trail: false + - title: 'About Waterloo' + url: 'https://uwaterloo.ca/about/' + original_link: + options: + attributes: + class: '' + in_active_trail: false + - title: 'Faculties & Academics' + url: 'https://uwaterloo.ca/faculties-academics/' + original_link: + options: + attributes: + class: '' + in_active_trail: false + - title: 'Offices & Services' + url: 'https://uwaterloo.ca/offices-services/' + original_link: + options: + attributes: + class: '' + in_active_trail: false + - title: 'Support Waterloo' + url: 'https://uwaterloo.ca/support/' + original_link: + options: + attributes: + class: '' + in_active_trail: false classes: - 'uw-header' - 'default' diff --git a/source/_patterns/04-components/menu/menu--header/_menu--header.scss b/source/_patterns/04-components/menu/menu--header/_menu--header.scss index f4cc3e0a43afb406b1c7ba1dc51956dd6e3b8080..800891b5c30a3d1b83d9002e493f849c92cb7496 100644 --- a/source/_patterns/04-components/menu/menu--header/_menu--header.scss +++ b/source/_patterns/04-components/menu/menu--header/_menu--header.scss @@ -1,26 +1,98 @@ -.uw-header-menu { - background-color: #000; +$menu-horizontal-bg: gesso-brand(org-default,uw-black,lvl4); + +.uw-horizontal-nav.uw-horizontal-nav--header { + background:$menu-horizontal-bg; + max-width:inherit; + width:inherit; + + .uw-horizontal-nav--wrapper{ + background: $menu-horizontal-bg; + display:block; + max-width:inherit; + padding:0; + position:relative; + - ul { - display: block; - text-align: center; } + .uw-horizontal-nav--home{ + display:none; + grid-column: none; + padding:0; - li { - display: inline-block; - padding: 0 0.5rem; } + .uw-horizontal-nav--menu { + width:inherit; + .menu { + border:1px solid #fff; + height:auto; + width:6rem; + a{ + color: gesso-brand(org-default,uw-white,lvl1); + outline:none; + outline-offset: unset; + width:100%; + &:hover{ + color: gesso-brand(org-default,uw-black,lvl4); + } + } + &.menu--subnav{ + a{ + color: gesso-brand(org-default,uw-black,lvl4); + outline:none; + outline-offset: unset; + width:100%; + } + } + &--horizontal { + > .menu--item{ + background: $menu-horizontal-bg; + width:100%; + + &.has-submenu { + + > a{ + + padding-right:gesso-spacing(md); + position:relative; + + &::after { + content:'\e906'; + display:block; + font-family: gesso-font-family(iconfont); + position:absolute; + right:0.5rem; + text-align: center; + top:0.5rem; + transform: scale(0.75, 0.75); + @include medium{ + transform: scale(0.75, 0.75) rotate(90deg); + } + } + } + } + } + } + &--subnav { + display: none; + } + .submenu-active .menu--subnav{ + border-width:0; + height:auto; + left:0; + min-height:auto; + min-width:13rem; + padding:1rem; + width:auto; + li{ - a { - color: #fff; - font-family: gesso-font-family(condensedbook); - font-size: rem(gesso-font-size(-1)); - letter-spacing: .045rem; - text-decoration: none; - text-transform: uppercase; + } + .menu--subnav{ + border:0 solid #fff; + } + > li{ + } + } - &:hover { - text-decoration: underline; } } -} \ No newline at end of file +} diff --git a/source/_patterns/04-components/menu/menu--header/menu--header.twig b/source/_patterns/04-components/menu/menu--header/menu--header.twig index 56940e896546c9f1d71ef5ac25ff528d0bf7959b..b6243635940c5288d321fbfe5008f54bb1689d90 100644 --- a/source/_patterns/04-components/menu/menu--header/menu--header.twig +++ b/source/_patterns/04-components/menu/menu--header/menu--header.twig @@ -1,6 +1,6 @@ -<nav class="uw-header-menu" aria-label="University"> - {% include '@components/menu/menu.twig' with { - 'menu_name': menu_name, - 'items': items - } %} -</nav> +<div class="uw-header-menu" aria-label=""> + {% include "@components/menu/menu--horizontal/menu--horizontal.twig" with { + 'items': items, + 'is_demo': true + }%} +</div> diff --git a/source/_patterns/04-components/menu/menu--header/menu--header.yml b/source/_patterns/04-components/menu/menu--header/menu--header.yml index bfc00c9f631246ab330b3d77f79b60611be9b6fe..9e4059bc0def84eac863f6b09bb8c33f7375f545 100644 --- a/source/_patterns/04-components/menu/menu--header/menu--header.yml +++ b/source/_patterns/04-components/menu/menu--header/menu--header.yml @@ -1,38 +1,50 @@ --- +modifier_classes: 'header' menu_name: 'horizontal' items: - - title: 'Admissions' - url: 'https://uwaterloo.ca/admissions/' + - title: 'Jump To' + url: '#' original_link: options: attributes: class: '' in_active_trail: false - - title: 'About Waterloo' - url: 'https://uwaterloo.ca/about/' - original_link: - options: - attributes: - class: '' - in_active_trail: false - - title: 'Faculties & Academics' - url: 'https://uwaterloo.ca/faculties-academics/' - original_link: - options: - attributes: - class: '' - in_active_trail: false - - title: 'Offices & Services' - url: 'https://uwaterloo.ca/offices-services/' - original_link: - options: - attributes: - class: '' - in_active_trail: false - - title: 'Support Waterloo' - url: 'https://uwaterloo.ca/support/' - original_link: - options: - attributes: - class: '' - in_active_trail: false \ No newline at end of file + submenu: + - title: 'Admissions' + url: 'https://uwaterloo.ca/admissions/' + original_link: + options: + attributes: + class: '' + in_active_trail: false + - title: 'About Waterloo' + url: 'https://uwaterloo.ca/about/' + original_link: + options: + attributes: + class: '' + in_active_trail: false + - title: 'Faculties & Academics' + url: 'https://uwaterloo.ca/faculties-academics/' + original_link: + options: + attributes: + class: '' + in_active_trail: false + - title: 'Offices & Services' + url: 'https://uwaterloo.ca/offices-services/' + original_link: + options: + attributes: + class: '' + in_active_trail: false + - title: 'Support Waterloo' + url: 'https://uwaterloo.ca/support/' + original_link: + options: + attributes: + class: '' + in_active_trail: false + + + diff --git a/source/_patterns/04-components/menu/menu--horizontal/menu--horizontal.js b/source/_patterns/04-components/menu/menu--horizontal/menu--horizontal.js index 6531ee095fd657aeed29b6142ff7beda61209966..96347c0b5a4f4ec2160f95667a06c8b3eba29c43 100644 --- a/source/_patterns/04-components/menu/menu--horizontal/menu--horizontal.js +++ b/source/_patterns/04-components/menu/menu--horizontal/menu--horizontal.js @@ -7,8 +7,10 @@ // const toggle = document.querySelector(".toggle"); const menu = document.querySelector(".menu--horizontal"); const items = document.querySelectorAll(".menu--item"); -// -// /* Toggle mobile menu */ + + /* Toggle mobile menu */ + + // // function toggleMenu() { // // if (menu.classList.contains("active")) { // // menu.classList.remove("active"); @@ -19,6 +21,8 @@ // // } // // } // + + /* Activate Submenu */ function toggleItem() { @@ -27,11 +31,13 @@ } else if (menu.querySelector(".submenu-active")) { menu.querySelector(".submenu-active").classList.remove("submenu-active"); this.classList.add("submenu-active"); + alert('foundone'); } else { this.classList.add("submenu-active"); } } -// + + /* Close Submenu From Anywhere */ function closeSubmenu(e) { @@ -44,6 +50,8 @@ } /* Event Listeners */ + + // toggle.addEventListener("click", toggleMenu, false); for (let item of items) { diff --git a/source/_patterns/04-components/menu/menu--secondary/_menu--secondary.scss b/source/_patterns/04-components/menu/menu--secondary/_menu--secondary.scss index 976249e1ae71a669bdc41454507fc1f6b9d2b7df..e3165f222572575a3078707efc3924e4e8ab4688 100644 --- a/source/_patterns/04-components/menu/menu--secondary/_menu--secondary.scss +++ b/source/_patterns/04-components/menu/menu--secondary/_menu--secondary.scss @@ -49,9 +49,6 @@ $menu-horizontal-sub-font-size: rem(gesso-font-size(-2)); width: 100%; > .menu--item{ - //flex: auto; - white-space:nowrap; - width:100%; @include medium{ width:auto; } diff --git a/source/_patterns/04-components/menu/menu--secondary/menu--secondary.yml b/source/_patterns/04-components/menu/menu--secondary/menu--secondary.yml index 006313691f0f98efd95367b52916987a10f44de9..6b7470210fe018d45ea6305570a38c7febdfdaac 100644 --- a/source/_patterns/04-components/menu/menu--secondary/menu--secondary.yml +++ b/source/_patterns/04-components/menu/menu--secondary/menu--secondary.yml @@ -1,5 +1,5 @@ --- -modifier_classes: 'secondary' +secondary_modifier_classes: 'secondary' menu_name: 'horizontal' is_demo: true items: diff --git a/source/_patterns/04-components/site-logo/_site-logo.scss b/source/_patterns/04-components/site-logo/_site-logo.scss index 449641295c6d9ba7ca947bb4da23495ef7263019..519e64099c9f10d4de8b7715661703d4a2bd0b32 100644 --- a/source/_patterns/04-components/site-logo/_site-logo.scss +++ b/source/_patterns/04-components/site-logo/_site-logo.scss @@ -2,7 +2,6 @@ // Styles for Site logo. .uw-site-logo { - margin:0 auto; width:12.5rem; .uw-site-logo__link{ background: url('../source/images/logos/uwaterloo-logo.svg') 0 50% no-repeat;