UNPKG

@hashicorp/design-system-components

Version:
39 lines (36 loc) 2.06 kB
import Component from '@glimmer/component'; import { hash } from '@ember/helper'; import { getElementId } from '../../../utils/hds-get-element-id.js'; import HdsRichTooltipToggle from './toggle.js'; import HdsRichTooltipBubble from './bubble.js'; import HdsPopoverPrimitive from '../popover-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 HdsRichTooltip extends Component { _elementId = getElementId(this); _arrowId = `arrow-${this._elementId}`; _popoverId = `popover-${this._elementId}`; get enableSoftEvents() { return this.args.enableClickEvents !== true; } get enableClickEvents() { return this.args.enableClickEvents ?? false; } static { setComponentTemplate(precompileTemplate("{{!-- IMPORTANT: we need to add \"squishies\" here (~) because otherwise the whitespace added by Ember becomes visible in the underlined text (being an inline element) - See https://handlebarsjs.com/guide/expressions.html#whitespace-control --}}\n<HdsPopoverPrimitive @isOpen={{@isOpen}} @onOpen={{@onOpen}} @onClose={{@onClose}} @onFocusOut={{@onFocusOut}} @enableSoftEvents={{this.enableSoftEvents}} @enableClickEvents={{this.enableClickEvents}} as |PP|><div class=\"hds-rich-tooltip\" ...attributes {{PP.setupPrimitiveContainer}}>\n {{~yield (hash Toggle=(component HdsRichTooltipToggle popoverId=this._popoverId setupPrimitiveToggle=PP.setupPrimitiveToggle isOpen=PP.isOpen) Bubble=(component HdsRichTooltipBubble arrowId=this._arrowId popoverId=this._popoverId setupPrimitivePopover=PP.setupPrimitivePopover isOpen=PP.isOpen) isOpen=PP.isOpen close=PP.hidePopover)~}}\n </div></HdsPopoverPrimitive>", { strictMode: true, scope: () => ({ HdsPopoverPrimitive, hash, HdsRichTooltipToggle, HdsRichTooltipBubble }) }), this); } } export { HdsRichTooltip as default }; //# sourceMappingURL=index.js.map