UNPKG

@yandex/ui

Version:

Yandex UI components

26 lines (25 loc) 1.12 kB
/** * Модификатор, исправляющий положение попапа с учетом scale-трансформации якоря. */ export var patchScaleFactor = { name: 'patchScaleFactor', enabled: true, fn: patchScaleFactorFn, phase: 'beforeRead', requires: ['popperOffsets'], }; function patchScaleFactorFn(_a) { var state = _a.state, instance = _a.instance; var reference = state.elements.reference; if (!instance.__patchedScaleFactor) { instance.__patchedScaleFactor = true; // Вызываем обновление только в случае если у якоря есть трансформация. if (reference instanceof HTMLElement && hasTransformScale(reference)) { // Устанавливаем задержку в 200ms для ожидания завершения большинства анимаций. setTimeout(function () { return instance.update(); }, 200); } } } function hasTransformScale(element) { return window.getComputedStyle(element).transform.indexOf('matrix') !== -1; }