Skip to content

Commit ed6ff84

Browse files
committed
HdsSideNav deprecations (#3230)
1 parent 61fc3dc commit ed6ff84

File tree

14 files changed

+13
-303
lines changed

14 files changed

+13
-303
lines changed

.changeset/spicy-ads-roll.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
"@hashicorp/design-system-components": major
3+
---
4+
5+
<!-- START components/side-nav -->
6+
`SideNav` - Removed deprecated features
7+
- Removed the `@ariaLabel` argument
8+
- Removed the `HdsSideNavHeaderIconButton` component
9+
- Updated the deprecation removal version from `5.0.0` to `6.0.0`
10+
<!-- END -->

packages/components/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -331,7 +331,6 @@
331331
"./components/hds/separator.js": "./dist/_app_/components/hds/separator.js",
332332
"./components/hds/side-nav/base.js": "./dist/_app_/components/hds/side-nav/base.js",
333333
"./components/hds/side-nav/header/home-link.js": "./dist/_app_/components/hds/side-nav/header/home-link.js",
334-
"./components/hds/side-nav/header/icon-button.js": "./dist/_app_/components/hds/side-nav/header/icon-button.js",
335334
"./components/hds/side-nav/header.js": "./dist/_app_/components/hds/side-nav/header.js",
336335
"./components/hds/side-nav.js": "./dist/_app_/components/hds/side-nav.js",
337336
"./components/hds/side-nav/list/back-link.js": "./dist/_app_/components/hds/side-nav/list/back-link.js",

packages/components/src/components.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,6 @@ export { default as HdsSideNav } from './components/hds/side-nav/index.ts';
279279
export { default as HdsSideNavBase } from './components/hds/side-nav/base.ts';
280280
export { default as HdsSideNavHeader } from './components/hds/side-nav/header/index.ts';
281281
export { default as HdsSideNavHeaderHomeLink } from './components/hds/side-nav/header/home-link.ts';
282-
export { default as HdsSideNavHeaderIconButton } from './components/hds/side-nav/header/icon-button.ts';
283282
export { default as HdsSideNavList } from './components/hds/side-nav/list/index.ts';
284283
export { default as HdsSideNavListBackLink } from './components/hds/side-nav/list/back-link.ts';
285284
export { default as HdsSideNavListItem } from './components/hds/side-nav/list/item.ts';

packages/components/src/components/hds/side-nav/header/icon-button.hbs

Lines changed: 0 additions & 22 deletions
This file was deleted.

packages/components/src/components/hds/side-nav/header/icon-button.ts

Lines changed: 0 additions & 51 deletions
This file was deleted.

packages/components/src/components/hds/side-nav/index.hbs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,7 @@
3434
<div class="hds-side-nav__overlay" {{on "click" this.toggleMinimizedStatus}} />
3535
{{! template-lint-enable no-invalid-interactive}}
3636
<Hds::SideNav::ToggleButton
37-
aria-label={{this.ariaLabel}}
38-
aria-labelledby={{unless this.ariaLabel "hds-side-nav-header"}}
37+
aria-labelledby="hds-side-nav-header"
3938
aria-expanded={{if this.isMinimized "false" "true"}}
4039
@icon={{if this.isMinimized "chevrons-right" "chevrons-left"}}
4140
{{on "click" this.toggleMinimizedStatus}}

packages/components/src/components/hds/side-nav/index.ts

Lines changed: 1 addition & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,6 @@ export interface HdsSideNavSignature {
2323
a11yRefocusNavigationText?: string;
2424
a11yRefocusRouteChangeValidator?: string;
2525
a11yRefocusExcludeAllQueryParams?: boolean;
26-
/**
27-
* @deprecated The `@ariaLabel` argument for "Hds::SideNav" has been deprecated. It is replaced by aria-labelledby and aria-expanded on the toggle button
28-
*/
29-
ariaLabel?: string | undefined;
3026

3127
onToggleMinimizedStatus?: (arg: boolean) => void;
3228

@@ -84,7 +80,7 @@ export default class HdsSideNav extends Component<HdsSideNavSignature> {
8480
false,
8581
{
8682
id: 'hds.components.sidenav',
87-
until: '5.0.0',
83+
until: '6.0.0',
8884
url: 'https://helios.hashicorp.design/components/side-nav?tab=version%20history#4140',
8985
for: '@hashicorp/design-system-components',
9086
since: {
@@ -93,23 +89,6 @@ export default class HdsSideNav extends Component<HdsSideNavSignature> {
9389
},
9490
}
9591
);
96-
97-
if (args.ariaLabel !== undefined) {
98-
deprecate(
99-
'The `@ariaLabel` argument for "Hds::SideNav" has been deprecated. It is replaced by aria-labelledby and aria-expanded on the toggle button',
100-
false,
101-
{
102-
id: 'hds.sidenav',
103-
until: '5.0.0',
104-
url: 'https://helios.hashicorp.design/components/side-nav?tab=version%20history#4140',
105-
for: '@hashicorp/design-system-components',
106-
since: {
107-
available: '4.14.0',
108-
enabled: '5.0.0',
109-
},
110-
}
111-
);
112-
}
11392
}
11493

11594
addEventListeners(): void {
@@ -157,13 +136,6 @@ export default class HdsSideNav extends Component<HdsSideNavSignature> {
157136
return (this.isResponsive && !this.isDesktop) || this.isCollapsible;
158137
}
159138

160-
/**
161-
* @deprecated The `@ariaLabel` argument for "Hds::SideNav" has been deprecated. It is replaced by aria-labelledby and aria-expanded on the toggle button
162-
*/
163-
get ariaLabel(): string | undefined {
164-
return this.args.ariaLabel;
165-
}
166-
167139
get classNames(): string {
168140
const classes = []; // `hds-side-nav` is already set by the "Hds::SideNav::Base" component
169141

packages/components/src/styles/components/side-nav/header.scss

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -94,29 +94,3 @@
9494
}
9595
}
9696
}
97-
98-
// generic "icon-button"
99-
100-
// TODO: Replace this component with Hds::Button
101-
.hds-side-nav__icon-button {
102-
@include hds-interactive-dark-theme();
103-
display: flex;
104-
align-items: center;
105-
justify-content: center;
106-
width: 36px; // same height as the dropdown "toggle"
107-
height: 36px;
108-
padding: 5px; // we take in account the transparent border
109-
110-
// disabled state:
111-
&:disabled,
112-
&[disabled],
113-
&.mock-disabled,
114-
&:disabled:focus,
115-
&[disabled]:focus,
116-
&.mock-disabled:focus,
117-
&:disabled:hover,
118-
&[disabled]:hover,
119-
&.mock-disabled:hover {
120-
@include hds-interactive-dark-theme-state-disabled();
121-
}
122-
}

packages/components/src/template-registry.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,6 @@ import type HdsSideNavPortalComponent from './components/hds/side-nav/portal';
200200
import type HdsSideNavPortalTargetComponent from './components/hds/side-nav/portal/target';
201201
import type HdsSideNavHeaderComponent from './components/hds/side-nav/header';
202202
import type HdsSideNavHeaderHomeLinkComponent from './components/hds/side-nav/header/home-link';
203-
import type HdsSideNavHeaderIconButtonComponent from './components/hds/side-nav/header/icon-button';
204203
import type HdsSideNavListComponent from './components/hds/side-nav/list';
205204
import type HdsSideNavListBackLinkComponent from './components/hds/side-nav/list/back-link';
206205
import type HdsSideNavListItemComponent from './components/hds/side-nav/list/item';
@@ -920,10 +919,6 @@ export default interface HdsComponentsRegistry {
920919
'hds/side-nav/header/home-link': typeof HdsSideNavHeaderHomeLinkComponent;
921920
HdsSideNavHeaderHomeLink: typeof HdsSideNavHeaderHomeLinkComponent;
922921

923-
'Hds::SideNav::Header::IconButton': typeof HdsSideNavHeaderIconButtonComponent;
924-
'hds/side-nav/header/icon-button': typeof HdsSideNavHeaderIconButtonComponent;
925-
HdsSideNavHeaderIconButton: typeof HdsSideNavHeaderIconButtonComponent;
926-
927922
'Hds::SideNav::List': typeof HdsSideNavListComponent;
928923
'hds/side-nav/list': typeof HdsSideNavListComponent;
929924
HdsSideNavList: typeof HdsSideNavListComponent;

showcase/app/templates/page-components/side-nav.hbs

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -513,7 +513,7 @@
513513
</Hds::SideNav::Header>
514514
</div>
515515
</SF.Item>
516-
<SF.Item @label="Logo (HomeLink) + Actions (IconButton + Dropdown)">
516+
<SF.Item @label="Logo (HomeLink) + Actions (Button + Dropdown)">
517517
<div class="shw-component-sim-side-nav-header">
518518
<Hds::SideNav::Header>
519519
<:logo>
@@ -601,26 +601,6 @@
601601
</Shw::Flex>
602602
</section>
603603

604-
<Shw::Divider @level={{2}} />
605-
606-
<section data-test-percy>
607-
{{! TODO: Once IconButton is fully deprecated, remove from examples }}
608-
<Shw::Text::H3>SideNav::Header::IconButton (deprecated)</Shw::Text::H3>
609-
610-
<Shw::Text::H4>States</Shw::Text::H4>
611-
<Shw::Flex as |SF|>
612-
{{#let (array "default" "hover" "active" "focus" "disabled") as |states|}}
613-
{{#each states as |state|}}
614-
<SF.Item @label={{state}}>
615-
<div class="shw-component-sim-side-nav-elem-wrapper">
616-
<Hds::SideNav::Header::IconButton @icon="search" @ariaLabel="Search" mock-state-value={{state}} />
617-
</div>
618-
</SF.Item>
619-
{{/each}}
620-
{{/let}}
621-
</Shw::Flex>
622-
</section>
623-
624604
<Shw::Divider />
625605

626606
<section data-test-percy>

0 commit comments

Comments
 (0)