UNPKG

wix-style-react

Version:
114 lines (90 loc) 3.98 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _Tooltip = require("wix-ui-core/dist/src/components/tooltip/Tooltip.driver"); var _constants = require("./constants"); var _deprecationLog = _interopRequireDefault(require("../utils/deprecationLog")); var sliderDriverFactory = function sliderDriverFactory(_ref) { var element = _ref.element, eventTrigger = _ref.eventTrigger; var $sliderHandles = function $sliderHandles() { return element.querySelectorAll("[data-hook=\"".concat(_constants.dataHooks.sliderHandle, "\"]")); }; var $sliderDots = function $sliderDots() { return element.querySelectorAll('.wsr-slider-dot'); }; var $sliderMarks = function $sliderMarks() { return element.querySelectorAll("[data-hook=\"".concat(_constants.dataHooks.sliderMarkLabel, "\"]")); }; var getTooltipDriver = function getTooltipDriver(index) { var sliderDataHook = element.getAttribute('data-hook'); var tooltipDataHook = sliderDataHook ? "".concat(sliderDataHook, "-").concat(_constants.dataHooks.sliderTooltip, "-").concat(index) : "".concat(_constants.dataHooks.sliderTooltip, "-").concat(index); return (0, _Tooltip.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) { (0, _deprecationLog["default"])('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; (0, _deprecationLog["default"])('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; (0, _deprecationLog["default"])('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'); } }; }; var _default = sliderDriverFactory; exports["default"] = _default;