wix-style-react
Version:
wix-style-react
84 lines (83 loc) • 2.25 kB
JavaScript
;
exports.__esModule = true;
exports.radioDriverFactory = exports.default = void 0;
var _constants = require("./constants");
var radioDriverFactory = _ref => {
var {
element,
eventTrigger
} = _ref;
var byHook = hook => element.querySelector("[data-hook*=\"".concat(hook, "\"]"));
var getInput = () => byHook(_constants.dataHooks.input);
var getIcon = () => byHook(_constants.dataHooks.icon);
var _getLabel = () => byHook(_constants.dataHooks.label);
return {
exists: () => !!element,
/**
* Triggers a keyDown event on the radio input
* @param {string} key
* @return {void}
*/
keyDown: key => eventTrigger.keyDown(getInput(), {
key
}),
/**
* Triggers click event on radio
* @return {void}
*/
click: () => eventTrigger.click(element),
/**
* Gets value of radio input
* @return {string}
*/
getValue: () => getInput().getAttribute('value'),
/**
* Gets name of radio input
* @return {string}
*/
getName: () => getInput().getAttribute('name'),
/**
* Gets id of radio input
* @return {string}
*/
getId: () => getInput().getAttribute('id'),
/**
* Gets label text of radio
* @return {string}
*/
getLabel: () => _getLabel().textContent,
/**
* Checks if icon of radio exists
* @return {boolean}
*/
iconExists: () => !!getIcon(),
/**
* Checks if label of radio exists
* @return {boolean}
*/
labelExists: () => !!_getLabel(),
/**
* Checks if radio is checked
* @return {boolean}
*/
isChecked: () => element.getAttribute('data-checked') === 'true',
/**
* Checks if radio is disabled
* @return {boolean}
*/
isDisabled: () => element.getAttribute('data-disabled') === 'true',
/**
* Triggers a mouseEnter event
* @return {void}
*/
mouseEnter: () => eventTrigger.mouseEnter(element),
/**
* Triggers a mouseLeave event
* @return {void}
*/
mouseLeave: () => eventTrigger.mouseLeave(element)
};
};
exports.radioDriverFactory = radioDriverFactory;
var _default = exports.default = radioDriverFactory;
//# sourceMappingURL=Radio.driver.js.map