wix-style-react
Version:
175 lines (147 loc) • 5.19 kB
JavaScript
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
import _regeneratorRuntime from "@babel/runtime/regenerator";
import { buttonNextDriverFactory } from "wix-ui-core/dist/es/src/components/button-next/button-next.uni.driver";
import { tooltipDriverFactory } from '../Tooltip/Tooltip.uni.driver';
import { findByHook, getDataAttributeValue } from '../../test/utils/unidriver';
import { dataHooks, dataAttr } from './constants';
export var toggleButtonDriverFactory = function toggleButtonDriverFactory(base, body) {
var tooltipBaseElement = findByHook(base, dataHooks.tooltip);
var tooltipDriver = tooltipDriverFactory(tooltipBaseElement, body);
var buttonDriver = buttonNextDriverFactory(base);
function getLabelPlacement() {
return _getLabelPlacement.apply(this, arguments);
}
function _getLabelPlacement() {
_getLabelPlacement = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
return _regeneratorRuntime.wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
return _context4.abrupt("return", getDataAttributeValue(base, dataAttr.placement));
case 1:
case "end":
return _context4.stop();
}
}
}, _callee4);
}));
return _getLabelPlacement.apply(this, arguments);
}
function getTooltipText() {
return tooltipDriver.getTooltipText();
} // Not using Omit so that AutoDocs will generate properly
return {
/**
* Checks whether ToggleButton exist
* @returns {Promise<boolean>}
*/
exists: buttonDriver.exists,
/**
* Gets the ToggleButton element
* @returns {Promise<any>}
*/
element: buttonDriver.element,
/**
* Clicks on the element
* @returns {Promise<void>}
*/
click: buttonDriver.click,
/**
* Checks whether ToggleButton is disabled
* @returns {Promise<boolean>}
*/
isButtonDisabled: buttonDriver.isButtonDisabled,
/**
* Gets the ToggleButton skin
* @returns {Promise<string | null>}
*/
getSkin: function () {
var _getSkin = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
return _regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return getDataAttributeValue(base, dataAttr.skin);
case 2:
return _context.abrupt("return", _context.sent);
case 3:
case "end":
return _context.stop();
}
}
}, _callee);
}));
function getSkin() {
return _getSkin.apply(this, arguments);
}
return getSkin;
}(),
/**
* Checks whether ToggleButton is selected
* @returns {Promise<boolean>}
*/
isButtonSelected: function () {
var _isButtonSelected = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return getDataAttributeValue(base, dataAttr.selected);
case 2:
_context2.t0 = _context2.sent;
return _context2.abrupt("return", _context2.t0 === 'true');
case 4:
case "end":
return _context2.stop();
}
}
}, _callee2);
}));
function isButtonSelected() {
return _isButtonSelected.apply(this, arguments);
}
return isButtonSelected;
}(),
/**
* Gets the ToggleButton label placement
* @returns {Promise<string>}
*/
getLabelPlacement: getLabelPlacement,
/**
* Gets the ToggleButton label placement value
* @returns {Promise<string>}
*/
getLabelValue: function () {
var _getLabelValue = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
var placement;
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
_context3.next = 2;
return getLabelPlacement();
case 2:
placement = _context3.sent;
if (!(placement === 'tooltip')) {
_context3.next = 5;
break;
}
return _context3.abrupt("return", getTooltipText());
case 5:
return _context3.abrupt("return", findByHook(base, dataHooks.label).text());
case 6:
case "end":
return _context3.stop();
}
}
}, _callee3);
}));
function getLabelValue() {
return _getLabelValue.apply(this, arguments);
}
return getLabelValue;
}()
};
};