@hashicorp/design-system-components
Version:
Helios Design System Components
49 lines (46 loc) • 1.95 kB
JavaScript
import Component from '@glimmer/component';
import { tracked } from '@glimmer/tracking';
import { hash } from '@ember/helper';
import HdsTHelper from '../../../../helpers/hds-t.js';
import HdsYield from '../../yield/index.js';
import HdsAppSideNavListItem from './item.js';
import HdsAppSideNavListBackLink from './back-link.js';
import HdsAppSideNavListTitle from './title.js';
import HdsAppSideNavListLink from './link.js';
import { precompileTemplate } from '@ember/template-compilation';
import { setComponentTemplate } from '@ember/component';
import { g, i } from 'decorator-transforms/runtime';
/**
* Copyright IBM Corp. 2021, 2025
* SPDX-License-Identifier: MPL-2.0
*/
class HdsAppSideNavList extends Component {
static {
g(this.prototype, "_titleIds", [tracked], function () {
return [];
});
}
#_titleIds = (i(this, "_titleIds"), void 0);
get titleIds() {
return this._titleIds.join(' ');
}
didInsertTitle = titleId => {
this._titleIds = [...this._titleIds, titleId];
};
static {
setComponentTemplate(precompileTemplate("<nav class=\"hds-app-side-nav__list-wrapper\" aria-label={{hdsT \"hds.components.app-side-nav.list.aria-label\" default=\"Application local\"}} ...attributes>\n {{yield (hash ExtraBefore=HdsYield)}}\n <ul class=\"hds-app-side-nav__list\" role=\"list\" aria-labelledby={{this.titleIds}}>\n {{yield (hash Item=HdsAppSideNavListItem BackLink=HdsAppSideNavListBackLink Title=(component HdsAppSideNavListTitle didInsertTitle=this.didInsertTitle) Link=HdsAppSideNavListLink)}}\n </ul>\n {{yield (hash ExtraAfter=HdsYield)}}\n</nav>", {
strictMode: true,
scope: () => ({
hdsT: HdsTHelper,
hash,
HdsYield,
HdsAppSideNavListItem,
HdsAppSideNavListBackLink,
HdsAppSideNavListTitle,
HdsAppSideNavListLink
})
}), this);
}
}
export { HdsAppSideNavList as default };
//# sourceMappingURL=index.js.map