diff --git a/src/_includes/layouts/project.njk b/src/_includes/layouts/project.njk index 1f98f76..7fbaf09 100644 --- a/src/_includes/layouts/project.njk +++ b/src/_includes/layouts/project.njk @@ -17,8 +17,15 @@
{{ content | safe }} diff --git a/src/_transforms/parse.js b/src/_transforms/parse.js index f507787..ebc819a 100644 --- a/src/_transforms/parse.js +++ b/src/_transforms/parse.js @@ -53,7 +53,7 @@ export default (value, outputPath) => { } } - const pageNavHeadings = document.querySelectorAll("main:has(nav) h2"); + const pageNavHeadings = document.querySelectorAll("main:has(nav) article h2"); if (pageNavHeadings.length > 0) { const navContainer = document.querySelector("main nav ul"); for (const heading of pageNavHeadings) { diff --git a/src/assets/scripts/app.js b/src/assets/scripts/app.js index 34931c0..67b2c3f 100644 --- a/src/assets/scripts/app.js +++ b/src/assets/scripts/app.js @@ -15,16 +15,13 @@ customElements.define( super(); this.toggle = this.querySelector("[aria-controls]"); - this.content = this.querySelector("[content]"); - if (!this.toggle || !this.content) { + if (!this.toggle) { return; } this.toggle.removeAttribute("hidden"); this.toggle.setAttribute("aria-expanded", false); - this.content.setAttribute("hidden", ""); - this.toggle.addEventListener("click", this); } @@ -32,10 +29,8 @@ customElements.define( event.preventDefault(); if (this.toggle.getAttribute("aria-expanded") === "true") { this.toggle.setAttribute("aria-expanded", false); - this.content.setAttribute("hidden", ""); } else { this.toggle.setAttribute("aria-expanded", true); - this.content.removeAttribute("hidden"); } } } diff --git a/src/assets/styles/collections/_projects.css b/src/assets/styles/collections/_projects.css index b0b926a..e0c0f55 100644 --- a/src/assets/styles/collections/_projects.css +++ b/src/assets/styles/collections/_projects.css @@ -38,17 +38,54 @@ .project nav, .project article { - padding-inline: var(--common-inline-padding); box-shadow: inset 0 -0.1875rem 0 0 var(--fl-fgColor, transparent); } .project nav { background-color: var(--fl-bgColor, var(--color-indigo-100)); - padding-block: 1.25rem 3.125rem; +} + +.project nav > h2 { + display: none; +} + +.project nav inclusive-disclosure { + padding-inline: 0; +} + +.project nav inclusive-disclosure > * { + padding-inline: var(--common-inline-padding); +} + +.project nav inclusive-disclosure [aria-expanded] { + box-shadow: none; +} + +.project nav inclusive-disclosure [aria-expanded]:after { + right: var(--common-inline-padding); +} + +@media (width >= 70.875rem) { + .project nav > h2 { + display: block; + } + + .project nav inclusive-disclosure > * { + padding-inline: 0; + } + + .project nav inclusive-disclosure [aria-expanded] { + display: none; + } + + .project nav inclusive-disclosure [aria-expanded] + * { + display: block; + } } .project article { padding-block: 2.125rem 5rem; + padding-inline: var(--common-inline-padding); } .project article > * { diff --git a/src/assets/styles/components/_disclosure.css b/src/assets/styles/components/_disclosure.css index eb0fd89..ed0ba91 100644 --- a/src/assets/styles/components/_disclosure.css +++ b/src/assets/styles/components/_disclosure.css @@ -53,6 +53,14 @@ inclusive-disclosure [aria-expanded] { } } +inclusive-disclosure [aria-expanded] + * { + display: none; +} + +inclusive-disclosure [aria-expanded="true"] + * { + display: block; +} + inclusive-disclosure [aria-expanded="true"]::after { transform: rotate(180deg); }