From 7cfcc5e81053e6976b361563b45f8f547fee2d13 Mon Sep 17 00:00:00 2001 From: Aravindo Wingeier Date: Tue, 9 Jan 2024 15:18:41 -0800 Subject: [PATCH 01/33] feat: breadcrumb --- blocks/breadcrumb/breadcrumb.css | 88 ++++++++++++++++++++++++++++++++ blocks/breadcrumb/breadcrumb.js | 8 +++ blocks/header/header.js | 9 +++- styles/styles.css | 3 ++ 4 files changed, 107 insertions(+), 1 deletion(-) create mode 100644 blocks/breadcrumb/breadcrumb.css create mode 100644 blocks/breadcrumb/breadcrumb.js diff --git a/blocks/breadcrumb/breadcrumb.css b/blocks/breadcrumb/breadcrumb.css new file mode 100644 index 00000000..7a8fa512 --- /dev/null +++ b/blocks/breadcrumb/breadcrumb.css @@ -0,0 +1,88 @@ +.breadcrumb { + display: none; + width: 100%; + max-height: var(--breadcrumb-height); + z-index: 100; + height: var(--breadcrumb-height); + max-width: 1200px; + padding: 0 32px; + overflow: hidden; + margin: auto; +} + +.breadcrumb ol { + display: flex; + flex-flow: wrap; + list-style: none; + padding: 8px 0; +} + +.breadcrumb.contained.block > div > div > ol { + margin: 0; +} + +.breadcrumb ol li { + padding-right: 8px; + padding-inline-start: 0; + font-size: var(--body-font-size-xs); +} + +.breadcrumb ol li:not(:last-child) a::after { + content: "/"; + padding-left: 8px; +} + +.breadcrumb ol li a { + text-decoration: none; + color: var(--dark-color); + font-size: var(--body-font-size-xs); +} + +.breadcrumb ol li:last-of-type a { + color: var(--text-color); +} + +.breadcrumb .category { + text-transform: capitalize; +} + +@media screen and (min-width: 600px) { + .breadcrumb { + display: block; + position: sticky; + top: calc(var(--nav-height)); + left: 0; + } + + .block.breadcrumb { + max-width: none; + } + + .breadcrumb ol { + padding: 11px 0 12px; + margin: 0 auto; + } + + .breadcrumb:not(.no-shadow) { + margin-bottom: 24px; + } +} + +@media screen and (min-width: 900px) { + .breadcrumb:not(.no-shadow) { + margin-bottom: 40px; + } +} + +@media (min-width: 1440px) { + .block.breadcrumb { + max-width: 1200px; + } +} + +@media (min-width: 1440px) { + .block.breadcrumb { + max-width: 1200px; + padding: 0 20px; + } +} diff --git a/blocks/breadcrumb/breadcrumb.js b/blocks/breadcrumb/breadcrumb.js new file mode 100644 index 00000000..126e835d --- /dev/null +++ b/blocks/breadcrumb/breadcrumb.js @@ -0,0 +1,8 @@ +export default async function decorate(block) { + block.innerHTML = `
    +
  1. Home
  2. +
  3. Documentation
  4. +
  5. Build
  6. +
  7. Block Collection
  8. +
`; +} diff --git a/blocks/header/header.js b/blocks/header/header.js index 6b240361..4c8c7b2c 100644 --- a/blocks/header/header.js +++ b/blocks/header/header.js @@ -1,4 +1,6 @@ -import { getMetadata } from '../../scripts/aem.js'; +import { + buildBlock, decorateBlock, getMetadata, loadBlock, +} from '../../scripts/aem.js'; import { loadFragment } from '../fragment/fragment.js'; // media query match that indicates mobile/tablet width @@ -145,4 +147,9 @@ export default async function decorate(block) { navWrapper.className = 'nav-wrapper'; navWrapper.append(nav); block.append(navWrapper); + + const breadcrumb = buildBlock('breadcrumb', ''); + navWrapper.append(breadcrumb); + decorateBlock(breadcrumb); + loadBlock(breadcrumb); } diff --git a/styles/styles.css b/styles/styles.css index 1085460d..b559ac71 100644 --- a/styles/styles.css +++ b/styles/styles.css @@ -39,6 +39,9 @@ /* nav height */ --nav-height: 64px; + + /* breadcrumb */ + --breadcrumb-height: 50px; } @font-face { From 29071737caa23253658635b061e34b9d6ec5f5be Mon Sep 17 00:00:00 2001 From: Aravindo Wingeier Date: Tue, 9 Jan 2024 16:13:48 -0800 Subject: [PATCH 02/33] css: header height --- styles/styles.css | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/styles/styles.css b/styles/styles.css index b559ac71..e75f68ab 100644 --- a/styles/styles.css +++ b/styles/styles.css @@ -37,11 +37,10 @@ --heading-font-size-s: 20px; --heading-font-size-xs: 18px; - /* nav height */ + /* header */ --nav-height: 64px; - - /* breadcrumb */ --breadcrumb-height: 50px; + --header-height: calc(var(--nav-height) + var(--breadcrumb-height)); } @font-face { From 4f5ee4feb36664b152ed1440b50fc6459ddca0cc Mon Sep 17 00:00:00 2001 From: Aravindo Wingeier Date: Tue, 9 Jan 2024 17:36:06 -0800 Subject: [PATCH 03/33] move into header --- blocks/breadcrumb/breadcrumb.css | 88 ------------------------------- blocks/breadcrumb/breadcrumb.js | 8 --- blocks/header/header.css | 90 ++++++++++++++++++++++++++++++++ blocks/header/header.js | 13 +++-- 4 files changed, 99 insertions(+), 100 deletions(-) delete mode 100644 blocks/breadcrumb/breadcrumb.css delete mode 100644 blocks/breadcrumb/breadcrumb.js diff --git a/blocks/breadcrumb/breadcrumb.css b/blocks/breadcrumb/breadcrumb.css deleted file mode 100644 index 7a8fa512..00000000 --- a/blocks/breadcrumb/breadcrumb.css +++ /dev/null @@ -1,88 +0,0 @@ -.breadcrumb { - display: none; - width: 100%; - max-height: var(--breadcrumb-height); - z-index: 100; - height: var(--breadcrumb-height); - max-width: 1200px; - padding: 0 32px; - overflow: hidden; - margin: auto; -} - -.breadcrumb ol { - display: flex; - flex-flow: wrap; - list-style: none; - padding: 8px 0; -} - -.breadcrumb.contained.block > div > div > ol { - margin: 0; -} - -.breadcrumb ol li { - padding-right: 8px; - padding-inline-start: 0; - font-size: var(--body-font-size-xs); -} - -.breadcrumb ol li:not(:last-child) a::after { - content: "/"; - padding-left: 8px; -} - -.breadcrumb ol li a { - text-decoration: none; - color: var(--dark-color); - font-size: var(--body-font-size-xs); -} - -.breadcrumb ol li:last-of-type a { - color: var(--text-color); -} - -.breadcrumb .category { - text-transform: capitalize; -} - -@media screen and (min-width: 600px) { - .breadcrumb { - display: block; - position: sticky; - top: calc(var(--nav-height)); - left: 0; - } - - .block.breadcrumb { - max-width: none; - } - - .breadcrumb ol { - padding: 11px 0 12px; - margin: 0 auto; - } - - .breadcrumb:not(.no-shadow) { - margin-bottom: 24px; - } -} - -@media screen and (min-width: 900px) { - .breadcrumb:not(.no-shadow) { - margin-bottom: 40px; - } -} - -@media (min-width: 1440px) { - .block.breadcrumb { - max-width: 1200px; - } -} - -@media (min-width: 1440px) { - .block.breadcrumb { - max-width: 1200px; - padding: 0 20px; - } -} diff --git a/blocks/breadcrumb/breadcrumb.js b/blocks/breadcrumb/breadcrumb.js deleted file mode 100644 index 126e835d..00000000 --- a/blocks/breadcrumb/breadcrumb.js +++ /dev/null @@ -1,8 +0,0 @@ -export default async function decorate(block) { - block.innerHTML = `
    -
  1. Home
  2. -
  3. Documentation
  4. -
  5. Build
  6. -
  7. Block Collection
  8. -
`; -} diff --git a/blocks/header/header.css b/blocks/header/header.css index bf70a88a..3fe7ee77 100644 --- a/blocks/header/header.css +++ b/blocks/header/header.css @@ -273,3 +273,93 @@ header nav .nav-sections ul > li > ul > li { header nav .nav-tools { grid-area: tools; } + + +header .breadcrumbs { + display: none; + width: 100%; + max-height: var(--breadcrumb-height); + z-index: 100; + height: var(--breadcrumb-height); + max-width: 1200px; + padding: 0 32px; + overflow: hidden; + margin: auto; +} + +header .breadcrumbs ol { + display: flex; + flex-flow: wrap; + list-style: none; + padding: 8px 0; +} + +.breadcrumb.contained.block > div > div > ol { + margin: 0; +} + +header .breadcrumbs ol li { + padding-right: 8px; + padding-inline-start: 0; + font-size: var(--body-font-size-xs); +} + +header .breadcrumbs ol li:not(:last-child) a::after { + content: "/"; + padding-left: 8px; +} + +header .breadcrumbs ol li a { + text-decoration: none; + color: var(--dark-color); + font-size: var(--body-font-size-xs); +} + +header .breadcrumbs ol li:last-of-type a { + color: var(--text-color); +} + +header .breadcrumbs .category { + text-transform: capitalize; +} + +@media screen and (min-width: 600px) { + header .breadcrumbs { + display: block; + position: sticky; + top: calc(var(--nav-height)); + left: 0; + } + + header .breadcrumbs { + max-width: none; + } + + header .breadcrumbs ol { + padding: 11px 0 12px; + margin: 0 auto; + } + + .breadcrumb:not(.no-shadow) { + margin-bottom: 24px; + } +} + +@media screen and (min-width: 900px) { + .breadcrumb:not(.no-shadow) { + margin-bottom: 40px; + } +} + +@media (min-width: 1440px) { + header .breadcrumbs { + max-width: 1200px; + } +} + +@media (min-width: 1440px) { + header .breadcrumbs { + max-width: 1200px; + padding: 0 20px; + } +} diff --git a/blocks/header/header.js b/blocks/header/header.js index 4c8c7b2c..c63b0cf6 100644 --- a/blocks/header/header.js +++ b/blocks/header/header.js @@ -148,8 +148,13 @@ export default async function decorate(block) { navWrapper.append(nav); block.append(navWrapper); - const breadcrumb = buildBlock('breadcrumb', ''); - navWrapper.append(breadcrumb); - decorateBlock(breadcrumb); - loadBlock(breadcrumb); + const breadcrumbs = document.createElement('div'); + breadcrumbs.className = 'breadcrumbs'; + breadcrumbs.innerHTML = `
    +
  1. Home
  2. +
  3. Documentation
  4. +
  5. Build
  6. +
  7. Block Collection
  8. +
`; + navWrapper.append(breadcrumbs); } From 25c8fd2749c223d88d736d61b2557a5beb6a96a9 Mon Sep 17 00:00:00 2001 From: Aravindo Wingeier Date: Wed, 10 Jan 2024 09:37:56 -0800 Subject: [PATCH 04/33] update style --- 404.html | 2 +- blocks/header/header.css | 4 ++-- blocks/header/header.js | 11 +++++++---- styles/styles.css | 10 +++++++--- 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/404.html b/404.html index 291959fe..1f862f9a 100644 --- a/404.html +++ b/404.html @@ -32,7 +32,7 @@