@hashicorp/design-system-components
Version:
Helios Design System Components
35 lines (32 loc) • 1.21 kB
JavaScript
import Component from '@glimmer/component';
import { guidFor } from '@ember/object/internals';
import { modifier } from 'ember-modifier';
import { HdsCodeBlockTitleTagValues } from './types.js';
import HdsTextBody from '../text/body.js';
import { precompileTemplate } from '@ember/template-compilation';
import { setComponentTemplate } from '@ember/component';
/**
* Copyright IBM Corp. 2021, 2025
* SPDX-License-Identifier: MPL-2.0
*/
class HdsCodeBlockTitle extends Component {
_id = 'title-' + guidFor(this);
_setUpTitle = modifier((element, [insertCallbackFunction]) => {
if (typeof insertCallbackFunction === 'function') {
insertCallbackFunction(element);
}
});
get componentTag() {
return this.args.tag ?? HdsCodeBlockTitleTagValues.P;
}
static {
setComponentTemplate(precompileTemplate("<HdsTextBody id={{this._id}} @size=\"200\" @tag={{this.componentTag}} @weight=\"semibold\" class=\"hds-code-block__title\" ...attributes {{this._setUpTitle @didInsertNode}}>\n {{yield}}\n</HdsTextBody>", {
strictMode: true,
scope: () => ({
HdsTextBody
})
}), this);
}
}
export { HdsCodeBlockTitle as default };
//# sourceMappingURL=title.js.map