wix-style-react
Version:
wix-style-react
49 lines (45 loc) • 1.37 kB
JavaScript
import tooltipDriverFactory from '../Tooltip/Tooltip.driver';
var formFieldDriver = function formFieldDriver(_ref) {
var _element = _ref.element;
var byHook = function byHook(hook) {
return _element.querySelector('[data-hook*="' + hook + '"]');
};
var charactersCounter = function charactersCounter() {
return byHook('formfield-counter');
};
return {
exists: function exists() {
return !!_element;
},
element: function element() {
return _element;
},
getChildren: function getChildren() {
return byHook('formfield-children');
},
getLabel: function getLabel() {
return byHook('formfield-label');
},
isRequired: function isRequired() {
return !!byHook('formfield-asterisk');
},
getLengthLeft: function getLengthLeft() {
var counter = charactersCounter();
return counter ? parseInt(counter.innerHTML, 10) : null;
},
isLengthExceeded: function isLengthExceeded() {
var counter = charactersCounter();
if (counter) {
var length = parseInt(counter.innerHTML, 10);
return length < 0;
}
return false;
},
getInfoContent: function getInfoContent() {
return tooltipDriverFactory({
element: byHook('formfield-infotooltip')
}).hoverAndGetContent();
}
};
};
export default formFieldDriver;