eba67fe74f6bf7951525459dba2f0820fcc6b2c8
				
			
			
		
	tooltip
Требования
- Floating UI версии ^1.0.0
 
Подключение и настройка
HTML
<button type="button">Кнопка</button>
JS
Минимальные настройки
import { createTooltip } from '@advdominion/tooltip';
createTooltip(document.querySelector('button'), 'Подсказка');
Все настройки со значениями по умолчанию
import { createTooltip } from '@advdominion/tooltip';
createTooltip(document.querySelector('button'), 'Подсказка', {
    animation: [
        [{ opacity: 0 }, { opacity: 1 }],
        [{ opacity: 1 }, { opacity: 0 }],
    ],
    appendTo: document.body,
    arrow: true,
    delay: [0, 0],
    duration: [0, 0],
    easing: ['linear', 'linear'],
    hideOnClick: true,
    interactive: true,
    offset: [0, 8],
    placement: 'top',
    shiftPadding: [8, 0],
    theme: 'light',
    trigger: 'mouseenter',
    virtualReference: undefined,
    zIndex: '',
    // Callback-функции, по умолчанию не заданы
    onCreate(instance) {},
    onMount(instance) {},
    onShow(instance) {},
    onShown(instance) {},
    onHide(instance) {},
    onHidden(instance) {},
});
hideOnClick
true(по умолчанию) — всплывающая подсказка скрывается при клике по любому элементу на странице (кроме самой всплывающей подсказки).'all'— всплывающая подсказка скрывается при клике по любому элементу на странице (включая саму всплывающую подсказку).'toggle'— всплывающая подсказка скрывается только при клике по элементу, который её вызывает.
virtualReference
Настройка используется для кастомного позиционирования, ожидает объект с методом getBoundingClientRect.
Например, позиционирование всплывающей подсказки относительно виртуального элемента размером 100×50, который располагается в левой верхней точке экрана:
createTooltip(document.querySelector('button'), 'Подсказка', {
    virtualReference: {
        getBoundingClientRect() {
            return {
                x: 0,
                y: 0,
                top: 0,
                left: 0,
                bottom: 50,
                right: 100,
                width: 100,
                height: 50,
            };
        },
    },
});
Свойства
$tooltip
DOM-элемент всплывающей подсказки (имеет свойство _reference для доступа к элементу, на котором был вызван createTooltip)
options
Текущие настройки
isVisible
Видимость всплывающей подсказки - true/false
Методы
show
document.querySelector('button')._tooltip.show();
hide
document.querySelector('button')._tooltip.hide();
setContent
document.querySelector('button')._tooltip.setContent('Новая подсказка');
updateOptions
document.querySelector('button')._tooltip.updateOptions({ placement: 'bottom' });
Настройки так же можно переназначать, используя data-атрибуты:
<button type="button" data-tooltip-placement="bottom">Кнопка</button>
destroy
document.querySelector('button')._tooltip.destroy();
Стили
$b: '.tooltip';
#{$b} {
    left: 0;
    max-width: calc(100vw - 32px);
    position: absolute;
    top: 0;
    width: max-content;
    z-index: 200;
    @media (min-width: 900px) {
        max-width: 300px;
    }
    &__root {
    }
    &__arrow {
        #{$b}_theme_light & {
            background-color: white;
            height: 8px;
            width: 8px;
        }
    }
    &__container {
        #{$b}_theme_light & {
            background-color: white;
            box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.2);
        }
    }
}
Description
				
					Languages
				
				
								
								
									JavaScript
								
								100%