@hashicorp/design-system-components
Version:
Helios Design System Components
39 lines (36 loc) • 1.54 kB
JavaScript
import Component from '@glimmer/component';
import { assert } from '@ember/debug';
import { on } from '@ember/modifier';
import HdsRevealToggleButton from './toggle/button.js';
import HdsDisclosurePrimitive from '../disclosure-primitive/index.js';
import { precompileTemplate } from '@ember/template-compilation';
import { setComponentTemplate } from '@ember/component';
/**
* Copyright IBM Corp. 2021, 2025
* SPDX-License-Identifier: MPL-2.0
*/
class HdsReveal extends Component {
getText = isOpen => {
if (isOpen && this.args.textWhenOpen !== undefined) {
return this.args.textWhenOpen;
} else {
if (this.args.text !== undefined) {
return this.args.text;
} else {
assert('@text for "Hds::Reveal" must have a valid value');
}
}
};
static {
setComponentTemplate(precompileTemplate("<HdsDisclosurePrimitive class=\"hds-reveal\" @isOpen={{@isOpen}} ...attributes>\n <:toggle as |t|>\n <HdsRevealToggleButton aria-controls={{t.contentId}} aria-describedby={{@ariaDescribedBy}} @text={{this.getText t.isOpen}} @isOpen={{t.isOpen}} {{on \"click\" t.onClickToggle}} />\n </:toggle>\n\n <:content>\n <div class=\"hds-reveal__content hds-typography-body-200 hds-foreground-primary\">\n {{yield}}\n </div>\n </:content>\n</HdsDisclosurePrimitive>", {
strictMode: true,
scope: () => ({
HdsDisclosurePrimitive,
HdsRevealToggleButton,
on
})
}), this);
}
}
export { HdsReveal as default };
//# sourceMappingURL=index.js.map