@hashicorp/design-system-components
Version:
Helios Design System Components
47 lines (44 loc) • 1.59 kB
JavaScript
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