UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

63 lines (62 loc) 2.07 kB
/** * DevExtreme (esm/__internal/ui/m_tooltip.js) * Version: 25.2.3 * Build date: Fri Dec 12 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ import registerComponent from "../../core/component_registrator"; import Guid from "../../core/guid"; import $ from "../../core/renderer"; import { isWindow } from "../../core/utils/type"; import Popover from "../../ui/popover/ui.popover"; const TOOLTIP_CLASS = "dx-tooltip"; const TOOLTIP_WRAPPER_CLASS = "dx-tooltip-wrapper"; class Tooltip extends Popover { _getDefaultOptions() { return Object.assign({}, super._getDefaultOptions(), { toolbarItems: [], showCloseButton: false, enableBodyScroll: true, showTitle: false, title: null, titleTemplate: null, onTitleRendered: null, bottomTemplate: null, preventScrollEvents: false, propagateOutsideClick: true }) } _render() { var _this$$wrapper; this.$element().addClass("dx-tooltip"); null === (_this$$wrapper = this.$wrapper()) || void 0 === _this$$wrapper || _this$$wrapper.addClass("dx-tooltip-wrapper"); super._render() } _renderContent() { super._renderContent(); this._toggleAriaAttributes() } _toggleAriaDescription(showing) { const { target: target } = this.option(); const $target = $(target); const label = showing ? this._contentId : void 0; if (!isWindow($target.get(0))) { this.setAria("describedby", label, $target) } } _toggleAriaAttributes() { this._contentId = `dx-${new Guid}`; this.$overlayContent().attr({ id: this._contentId }); this._toggleAriaDescription(true) } } registerComponent("dxTooltip", Tooltip); export default Tooltip;