Skip to content

Commit

Permalink
fix(ld-sidenav): toggle stack to top on breakpoint change
Browse files Browse the repository at this point in the history
Resolves #286
  • Loading branch information
borisdiakur authored and renet committed Apr 29, 2022
1 parent 42ed614 commit 18cf098
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,11 @@ export class LdSidenavNavitem implements InnerFocusable {
handleSidenavBreakpointChange(ev: CustomEvent<boolean>) {
if (ev.target !== this.sidenav) return
this.sidenavClosable = ev.detail
if (this.sidenavClosable) {
toggleStackToTop(this.el, false)
} else {
toggleStackToTop(this.el, this.sidenavCollapsed)
}
}

private getabbreviation = () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,17 @@ export class LdSidenavSlider {
}
}

@Listen('ldSidenavBreakpointChange', { target: 'window', passive: true })
handleSidenavBreakpointChange(ev: CustomEvent<boolean>) {
if (ev.target !== this.sidenav) return
const sidenavClosable = ev.detail
if (sidenavClosable) {
this.toggleVisibilityOnHidableContent(true)
} else {
this.toggleVisibilityOnHidableContent(!this.sidenav.collapsed)
}
}

/** Navigates back to the parent nav. */
@Method()
async navigateBack() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,17 @@ export class LdSidenavSubnav {
}
}

@Listen('ldSidenavBreakpointChange', { target: 'window', passive: true })
handleSidenavBreakpointChange(ev: CustomEvent<boolean>) {
if (ev.target !== this.sidenav) return
const sidenavClosable = ev.detail
if (sidenavClosable) {
this.toggleVisibilityOnHidableContent(true)
} else {
this.toggleVisibilityOnHidableContent(!this.sidenav.collapsed)
}
}

componentWillLoad() {
this.sidenav = closest('ld-sidenav', this.el)
this.hasParentSubnav = this.el.parentElement.tagName === 'LD-SIDENAV-SUBNAV'
Expand Down
2 changes: 1 addition & 1 deletion src/liquid/components/ld-sidenav/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -487,7 +487,7 @@ For deeper navigation hierarchies you may also want to structure certain navigat
</ld-notice>

{% example '{ "hasPadding": false, "styles": { "minHeight": "30rem", "position": "relative" } }' %}
<ld-sidenav open narrow collapsible>
<ld-sidenav open>
<ld-sidenav-back slot="top">
<ld-sidenav-navitem>Outline of CS</ld-sidenav-navitem>
</ld-sidenav-back>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ exports[`ld-sidenav collapses to narrow 1`] = `
<slot></slot>
</ld-sidenav-scroller-internal>
</mock:shadow-root>
<ld-sidenav-heading class="ld-sidenav-heading">
<ld-sidenav-heading class="ld-sidenav-heading ld-sidenav-slider__hidden">
<mock:shadow-root>
<ld-typo part="typo" variant="cap-m">
<slot></slot>
Expand Down Expand Up @@ -887,7 +887,7 @@ exports[`ld-sidenav collapses to narrow 1`] = `
<slot></slot>
</ld-sidenav-scroller-internal>
</mock:shadow-root>
<ld-sidenav-heading class="ld-sidenav-heading">
<ld-sidenav-heading class="ld-sidenav-heading ld-sidenav-subnav__hidden">
<mock:shadow-root>
<ld-typo part="typo" variant="cap-m">
<slot></slot>
Expand Down Expand Up @@ -1182,7 +1182,7 @@ exports[`ld-sidenav collapses to narrow 1`] = `
<slot></slot>
</ld-sidenav-scroller-internal>
</mock:shadow-root>
<ld-sidenav-heading class="ld-sidenav-heading">
<ld-sidenav-heading class="ld-sidenav-heading ld-sidenav-subnav__hidden">
<mock:shadow-root>
<ld-typo part="typo" variant="cap-m">
<slot></slot>
Expand Down Expand Up @@ -1351,7 +1351,7 @@ exports[`ld-sidenav collapses to narrow 1`] = `
<slot></slot>
</ld-sidenav-scroller-internal>
</mock:shadow-root>
<ld-sidenav-heading class="ld-sidenav-heading">
<ld-sidenav-heading class="ld-sidenav-heading ld-sidenav-subnav__hidden">
<mock:shadow-root>
<ld-typo part="typo" variant="cap-m">
<slot></slot>
Expand Down Expand Up @@ -1661,7 +1661,7 @@ exports[`ld-sidenav collapses to narrow 1`] = `
<slot></slot>
</ld-sidenav-scroller-internal>
</mock:shadow-root>
<ld-sidenav-heading class="ld-sidenav-heading">
<ld-sidenav-heading class="ld-sidenav-heading ld-sidenav-subnav__hidden">
<mock:shadow-root>
<ld-typo part="typo" variant="cap-m">
<slot></slot>
Expand Down Expand Up @@ -1781,7 +1781,7 @@ exports[`ld-sidenav collapses to narrow 1`] = `
<slot></slot>
</ld-sidenav-scroller-internal>
</mock:shadow-root>
<ld-sidenav-heading class="ld-sidenav-heading">
<ld-sidenav-heading class="ld-sidenav-heading ld-sidenav-subnav__hidden">
<mock:shadow-root>
<ld-typo part="typo" variant="cap-m">
<slot></slot>
Expand Down Expand Up @@ -1944,7 +1944,7 @@ exports[`ld-sidenav collapses to narrow 1`] = `
<slot></slot>
</ld-sidenav-scroller-internal>
</mock:shadow-root>
<ld-sidenav-heading class="ld-sidenav-heading">
<ld-sidenav-heading class="ld-sidenav-heading ld-sidenav-subnav__hidden">
<mock:shadow-root>
<ld-typo part="typo" variant="cap-m">
<slot></slot>
Expand Down Expand Up @@ -2063,7 +2063,7 @@ exports[`ld-sidenav collapses to narrow 1`] = `
<slot></slot>
</ld-sidenav-scroller-internal>
</mock:shadow-root>
<ld-sidenav-heading class="ld-sidenav-heading">
<ld-sidenav-heading class="ld-sidenav-heading ld-sidenav-subnav__hidden">
<mock:shadow-root>
<ld-typo part="typo" variant="cap-m">
<slot></slot>
Expand Down Expand Up @@ -2226,7 +2226,7 @@ exports[`ld-sidenav collapses to narrow 1`] = `
<slot></slot>
</ld-sidenav-scroller-internal>
</mock:shadow-root>
<ld-sidenav-heading class="ld-sidenav-heading">
<ld-sidenav-heading class="ld-sidenav-heading ld-sidenav-subnav__hidden">
<mock:shadow-root>
<ld-typo part="typo" variant="cap-m">
<slot></slot>
Expand Down Expand Up @@ -2389,7 +2389,7 @@ exports[`ld-sidenav collapses to narrow 1`] = `
<slot></slot>
</ld-sidenav-scroller-internal>
</mock:shadow-root>
<ld-sidenav-heading class="ld-sidenav-heading">
<ld-sidenav-heading class="ld-sidenav-heading ld-sidenav-subnav__hidden">
<mock:shadow-root>
<ld-typo part="typo" variant="cap-m">
<slot></slot>
Expand Down Expand Up @@ -2552,7 +2552,7 @@ exports[`ld-sidenav collapses to narrow 1`] = `
<slot></slot>
</ld-sidenav-scroller-internal>
</mock:shadow-root>
<ld-sidenav-heading class="ld-sidenav-heading">
<ld-sidenav-heading class="ld-sidenav-heading ld-sidenav-subnav__hidden">
<mock:shadow-root>
<ld-typo part="typo" variant="cap-m">
<slot></slot>
Expand Down Expand Up @@ -2803,7 +2803,7 @@ exports[`ld-sidenav collapses to narrow 1`] = `
<slot></slot>
</ld-sidenav-scroller-internal>
</mock:shadow-root>
<ld-sidenav-heading class="ld-sidenav-heading">
<ld-sidenav-heading class="ld-sidenav-heading ld-sidenav-subnav__hidden">
<mock:shadow-root>
<ld-typo part="typo" variant="cap-m">
<slot></slot>
Expand Down Expand Up @@ -3142,7 +3142,7 @@ exports[`ld-sidenav collapses to narrow 1`] = `
<slot></slot>
</ld-sidenav-scroller-internal>
</mock:shadow-root>
<ld-sidenav-heading class="ld-sidenav-heading">
<ld-sidenav-heading class="ld-sidenav-heading ld-sidenav-subnav__hidden">
<mock:shadow-root>
<ld-typo part="typo" variant="cap-m">
<slot></slot>
Expand Down Expand Up @@ -3481,7 +3481,7 @@ exports[`ld-sidenav collapses to narrow 1`] = `
<slot></slot>
</ld-sidenav-scroller-internal>
</mock:shadow-root>
<ld-sidenav-heading class="ld-sidenav-heading">
<ld-sidenav-heading class="ld-sidenav-heading ld-sidenav-subnav__hidden">
<mock:shadow-root>
<ld-typo part="typo" variant="cap-m">
<slot></slot>
Expand Down Expand Up @@ -3923,7 +3923,7 @@ exports[`ld-sidenav sidenav accordion accordion collapses to narrow 1`] = `
<slot></slot>
</ld-sidenav-scroller-internal>
</mock:shadow-root>
<ld-sidenav-heading class="ld-sidenav-heading">
<ld-sidenav-heading class="ld-sidenav-heading ld-sidenav-slider__hidden">
<mock:shadow-root>
<ld-typo part="typo" variant="cap-m">
<slot></slot>
Expand Down Expand Up @@ -4761,7 +4761,7 @@ exports[`ld-sidenav sidenav accordion accordion collapses to narrow 1`] = `
<slot></slot>
</ld-sidenav-scroller-internal>
</mock:shadow-root>
<ld-sidenav-heading class="ld-sidenav-heading">
<ld-sidenav-heading class="ld-sidenav-heading ld-sidenav-subnav__hidden">
<mock:shadow-root>
<ld-typo part="typo" variant="cap-m">
<slot></slot>
Expand Down

0 comments on commit 18cf098

Please sign in to comment.