diff --git a/packages/components/src/components/hds/side-nav/base.hbs b/packages/components/src/components/hds/side-nav/base.hbs index c304832972..41f5d3d7ff 100644 --- a/packages/components/src/components/hds/side-nav/base.hbs +++ b/packages/components/src/components/hds/side-nav/base.hbs @@ -4,13 +4,16 @@ }} {{! IMPORTANT: we need to add "squishies" here (~) because otherwise the whitespace added by Ember causes the empty element to still have visible padding - See https://handlebarsjs.com/guide/expressions.html#whitespace-control }}
+

Application local navigation

{{yield to="root"}}
{{~yield to="header"~}}
- {{~yield to="body"~}} +
+{{! }} \ No newline at end of file diff --git a/packages/components/src/components/hds/side-nav/list/link.hbs b/packages/components/src/components/hds/side-nav/list/link.hbs index f2667278f7..5613d2c99d 100644 --- a/packages/components/src/components/hds/side-nav/list/link.hbs +++ b/packages/components/src/components/hds/side-nav/list/link.hbs @@ -2,8 +2,53 @@ Copyright (c) HashiCorp, Inc. SPDX-License-Identifier: MPL-2.0 }} +{{#if @shouldWrapInListItem}} + + + {{#if @icon}} + + {{/if}} - + {{#if @text}} + + {{@text}} + + {{/if}} + + {{#if @count}} + + {{/if}} + + {{#if @badge}} + + {{/if}} + + {{yield}} + + {{#if @hasSubItems}} + + + + {{/if}} + {{#if @isHrefExternal}} + + + + {{/if}} + + +{{else}} {{/if}} - \ No newline at end of file +{{/if}} \ No newline at end of file diff --git a/packages/components/src/components/hds/side-nav/list/link.ts b/packages/components/src/components/hds/side-nav/list/link.ts index 4c6d04f1e6..1dc34d7b25 100644 --- a/packages/components/src/components/hds/side-nav/list/link.ts +++ b/packages/components/src/components/hds/side-nav/list/link.ts @@ -16,6 +16,7 @@ export interface HdsSideNavListLinkSignature { count?: string; hasSubItems?: boolean; isActive?: boolean; + shouldWrapInListItem?: boolean; }; Blocks: { default: []; diff --git a/packages/components/src/components/hds/side-nav/list/title.hbs b/packages/components/src/components/hds/side-nav/list/title.hbs index accf806b3b..acd29f4836 100644 --- a/packages/components/src/components/hds/side-nav/list/title.hbs +++ b/packages/components/src/components/hds/side-nav/list/title.hbs @@ -3,6 +3,8 @@ SPDX-License-Identifier: MPL-2.0 }} - -
{{~yield~}}
-
\ No newline at end of file +
{{~yield~}}
\ No newline at end of file diff --git a/packages/components/src/components/hds/side-nav/list/title.ts b/packages/components/src/components/hds/side-nav/list/title.ts index 8318979104..7353481afa 100644 --- a/packages/components/src/components/hds/side-nav/list/title.ts +++ b/packages/components/src/components/hds/side-nav/list/title.ts @@ -6,6 +6,9 @@ import TemplateOnlyComponent from '@ember/component/template-only'; export interface HdsSideNavListTitleSignature { + Args: { + id?: string; + }; Blocks: { default: []; }; diff --git a/packages/components/src/components/hds/side-nav/portal/index.hbs b/packages/components/src/components/hds/side-nav/portal/index.hbs index 299eac3ceb..42af702a42 100644 --- a/packages/components/src/components/hds/side-nav/portal/index.hbs +++ b/packages/components/src/components/hds/side-nav/portal/index.hbs @@ -5,8 +5,8 @@
- - {{yield ListElements}} - + {{!-- --}} + {{yield}} + {{! }}
\ No newline at end of file diff --git a/packages/components/src/components/hds/side-nav/portal/index.ts b/packages/components/src/components/hds/side-nav/portal/index.ts index 959f78b8c7..708dde4f22 100644 --- a/packages/components/src/components/hds/side-nav/portal/index.ts +++ b/packages/components/src/components/hds/side-nav/portal/index.ts @@ -5,7 +5,7 @@ import TemplateOnlyComponent from '@ember/component/template-only'; -import type { HdsSideNavListSignature } from '../list/index'; +// import type { HdsSideNavListSignature } from '../list/index'; // TODO! understand how this should be done "correctly" // import type { PortalSignature } from 'ember-stargate/components/portal'; @@ -16,16 +16,17 @@ interface PortalSignature { fallback?: 'inplace'; }; Blocks: { - default: []; + default?: []; }; } export interface HdsSideNavPortalSignature { Args: PortalSignature['Args'] & { - ariaLabel?: string; targetName?: string; }; - Blocks: HdsSideNavListSignature['Blocks']; + Blocks: { + default?: []; + }; Element: HTMLDivElement; } diff --git a/showcase/app/templates/components/side-nav.hbs b/showcase/app/templates/components/side-nav.hbs index 53458e5791..c5866a9d6b 100644 --- a/showcase/app/templates/components/side-nav.hbs +++ b/showcase/app/templates/components/side-nav.hbs @@ -7,6 +7,7 @@ SideNav +import type { HdsTableDensityValues } from '@hashicorp/design-system-components/components/hds/table/types';
Content @@ -97,10 +98,17 @@ - - + + + + + + + + + {{! - + }}
@@ -154,23 +162,27 @@
- - - Services - - - - - - - - - Default Org - - - - - + + + + Services + + + + + + + + + + + Default Org + + + + + + @@ -210,9 +222,7 @@ <:body> - - - + Services @@ -253,11 +263,8 @@
<:body> - - - - - + + Services @@ -268,7 +275,7 @@ - + Default Org @@ -475,9 +482,8 @@
- + Services - @@ -486,9 +492,9 @@ - + + Default Org - @@ -499,9 +505,7 @@
- - - + Services @@ -532,28 +536,36 @@ -
    - Group title - - - -
+
+ Group title +
    + + + +
+
-
    - This is a long text that should go on two lines - - - -
+
+ This is a long text that should go on two lines +
    + + + +
+
-
    - ThisIsLongTextThatShouldWrapToTwoLinesAndNotOverflow - - - -
+
+ ThisIsLongTextThatShouldWrapToTwoLinesAndNotOverflow +
    + + + +
+
@@ -561,7 +573,7 @@ SideNav::List::Item -
    +
      @@ -756,19 +768,19 @@ -
        +
        -
      +
-
    +
    -
+
-
    +
    -
+
@@ -780,18 +792,18 @@ -
    +
    -
+
- +