UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

63 lines (62 loc) 2.02 kB
/** * DevExtreme (esm/__internal/ui/m_tooltip.js) * Version: 24.2.6 * Build date: Mon Mar 17 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ import _extends from "@babel/runtime/helpers/esm/extends"; 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 _extends({}, super._getDefaultOptions(), { toolbarItems: [], showCloseButton: false, enableBodyScroll: true, showTitle: false, title: null, titleTemplate: null, onTitleRendered: null, bottomTemplate: null, preventScrollEvents: false, propagateOutsideClick: true }) } _render() { this.$element().addClass("dx-tooltip"); 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;