UNPKG

@hashicorp/design-system-components

Version:
47 lines (44 loc) 1.59 kB
import Component from '@glimmer/component'; import { tracked } from '@glimmer/tracking'; import { schedule } from '@ember/runloop'; import { hash } from '@ember/helper'; import { HdsStepperTitleTagValues } from '../types.js'; import HdsStepperListStep from './step.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 HdsStepperList extends Component { static { g(this.prototype, "_stepIds", [tracked], function () { return []; }); } #_stepIds = (i(this, "_stepIds"), void 0); get titleTag() { return this.args.titleTag ?? HdsStepperTitleTagValues.Div; } didInsertStep = element => { // eslint-disable-next-line ember/no-runloop schedule('afterRender', () => { this._stepIds = [...this._stepIds, element.id]; }); }; willDestroyStep = element => { this._stepIds = this._stepIds.filter(stepId => stepId !== element.id); }; static { setComponentTemplate(precompileTemplate("<ol class=\"hds-stepper-list\" aria-label={{@ariaLabel}} ...attributes>\n {{yield (hash Step=(component HdsStepperListStep titleTag=this.titleTag stepIds=this._stepIds didInsertNode=this.didInsertStep willDestroyNode=this.willDestroyStep))}}\n</ol>", { strictMode: true, scope: () => ({ hash, HdsStepperListStep }) }), this); } } export { HdsStepperList as default }; //# sourceMappingURL=index.js.map