UNPKG

wix-style-react

Version:
102 lines (83 loc) 3.63 kB
import { tooltipDriverFactory } from "wix-ui-core/dist/es/src/components/tooltip/Tooltip.driver"; import { dataHooks } from './constants'; import deprecationLog from '../utils/deprecationLog'; var sliderDriverFactory = function sliderDriverFactory(_ref) { var element = _ref.element, eventTrigger = _ref.eventTrigger; var $sliderHandles = function $sliderHandles() { return element.querySelectorAll("[data-hook=\"".concat(dataHooks.sliderHandle, "\"]")); }; var $sliderDots = function $sliderDots() { return element.querySelectorAll('.wsr-slider-dot'); }; var $sliderMarks = function $sliderMarks() { return element.querySelectorAll("[data-hook=\"".concat(dataHooks.sliderMarkLabel, "\"]")); }; var getTooltipDriver = function getTooltipDriver(index) { var sliderDataHook = element.getAttribute('data-hook'); var tooltipDataHook = sliderDataHook ? "".concat(sliderDataHook, "-").concat(dataHooks.sliderTooltip, "-").concat(index) : "".concat(dataHooks.sliderTooltip, "-").concat(index); return tooltipDriverFactory({ element: element.querySelector("[data-hook=\"".concat(tooltipDataHook, "\"]")), eventTrigger: eventTrigger }); }; var currentHandleIndex = 0; return { /** returns true if element in the DOM */ exists: function exists() { return !!element; }, /** returns true if slider grade is selected */ isDotSelected: function isDotSelected(number) { return $sliderDots().item(number - 1).classList.contains('wsr-slider-dot-active'); }, /** returns number of slider grades */ numOfSliderDots: function numOfSliderDots() { return $sliderDots().length; }, /** returns number of slider handles */ numOfSliderHandles: function numOfSliderHandles() { return $sliderHandles().length; }, /** returns number of slider marks labels */ numOfSliderMarksLabels: function numOfSliderMarksLabels() { return $sliderMarks().length; }, /** returns slider tooltip value */ getToolTipValue: function getToolTipValue() { var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, handleIndex = _ref2.handleIndex; if (!handleIndex) { deprecationLog('handleIndex is not provided, in next major release this will be required'); } var index = handleIndex || currentHandleIndex; var tooltipDriver = getTooltipDriver(index); var text = null; try { text = tooltipDriver.getTooltipText(); } catch (_unused) {} return text; }, /** hovers on slider handle */ hoverHandle: function hoverHandle(_ref3) { var handleIndex = _ref3.handleIndex; deprecationLog('hoverHandle is deprecated and will be removed in next major release, please use getToolTipValue directly with handleIndex'); currentHandleIndex = handleIndex; var tooltipDriver = getTooltipDriver(handleIndex); return tooltipDriver.mouseEnter(); }, /** mouse leaves slider handle */ unHoverHandle: function unHoverHandle(_ref4) { var handleIndex = _ref4.handleIndex; deprecationLog('unHoverHandle is deprecated and will be removed in next major release, please use getToolTipValue directly with handleIndex'); currentHandleIndex = 0; var tooltipDriver = getTooltipDriver(handleIndex); return tooltipDriver.mouseLeave(); }, /** returns if the slider is disabled */ isDisabled: function isDisabled() { return !!element.querySelector('.wsr-slider-disabled'); } }; }; export default sliderDriverFactory;