UNPKG

@hashicorp/design-system-components

Version:
39 lines (36 loc) 1.65 kB
import Component from '@glimmer/component'; import { assert } from '@ember/debug'; import { guidFor } from '@ember/object/internals'; import HdsIcon from '../icon/index.js'; import HdsTooltipModifier from '../../../modifiers/hds-tooltip.js'; import HdsTHelper from '../../../helpers/hds-t.js'; import { precompileTemplate } from '@ember/template-compilation'; import { setComponentTemplate } from '@ember/component'; /** * Copyright IBM Corp. 2021, 2025 * SPDX-License-Identifier: MPL-2.0 */ class HdsTableThButtonTooltip extends Component { // Generates a unique ID for the (hidden) "label prefix" <span> element _prefixLabelId = guidFor(this); get tooltip() { assert(`@tooltip for "HdsTableThButtonTooltip" must be a string`, typeof this.args.tooltip === 'string'); return this.args.tooltip; } get classNames() { const classes = ['hds-table__th-button', 'hds-table__th-button--tooltip']; return classes.join(' '); } static { setComponentTemplate(precompileTemplate("<button type=\"button\" class={{this.classNames}} {{hdsTooltip this.tooltip}} aria-labelledby=\"{{this._prefixLabelId}} {{@labelId}}\" ...attributes>\n <span id={{this._prefixLabelId}} class=\"hds-table__th-button-aria-label-hidden-segment\">\n {{hdsT \"hds.components.common.tooltip-prefix\" default=\"More information for\"}}\n </span>\n <HdsIcon @name=\"info\" />\n</button>", { strictMode: true, scope: () => ({ hdsTooltip: HdsTooltipModifier, hdsT: HdsTHelper, HdsIcon }) }), this); } } export { HdsTableThButtonTooltip as default }; //# sourceMappingURL=th-button-tooltip.js.map