UNPKG

wix-style-react

Version:
103 lines (80 loc) 2.74 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _InfoIcon = _interopRequireDefault(require("../InfoIcon/InfoIcon.driver")); var _constants = require("./constants"); var _Text = _interopRequireDefault(require("../Text/Text.driver")); var formFieldDriver = function formFieldDriver(_ref) { var _element = _ref.element; var byHook = function byHook(hook) { return _element.querySelector("[data-hook*=\"".concat(hook, "\"]")); }; var charactersCounter = function charactersCounter() { return byHook(_constants.dataHooks.counter); }; var labelElement = function labelElement() { return byHook(_constants.dataHooks.label); }; var labelTextDriver = function labelTextDriver() { return (0, _Text["default"])({ element: labelElement() }); }; return { exists: function exists() { return !!_element; }, element: function element() { return _element; }, /** get children */ getChildren: function getChildren() { return byHook(_constants.dataHooks.children); }, /** get label */ getLabel: function getLabel() { return labelElement(); }, /** returns label size */ getLabelSize: function getLabelSize() { return labelTextDriver().getSize(); }, /** returns true whether form field is required */ isRequired: function isRequired() { return !!byHook(_constants.dataHooks.asterisk); }, /** returns the length left */ getLengthLeft: function getLengthLeft() { var counter = charactersCounter(); return counter ? parseInt(counter.innerHTML, 10) : null; }, /** returns whether the form field length is exceeded */ isLengthExceeded: function isLengthExceeded() { var counter = charactersCounter(); if (counter) { var length = parseInt(counter.innerHTML, 10); return length < 0; } return false; }, /** returns true whether form field has tooltip */ hasTooltip: function hasTooltip() { return !!_element.querySelector("[data-hook=\"".concat(_constants.dataHooks.infoIcon, "\"]")); }, /** returns tooltip text of the info content */ getInfoContent: function getInfoContent() { return (0, _InfoIcon["default"])({ element: _element.querySelector("[data-hook=\"".concat(_constants.dataHooks.infoIcon, "\"]")) }).getContent(); }, /** get form field suffix */ getSuffix: function getSuffix() { return byHook(_constants.dataHooks.suffix); } }; }; var _default = formFieldDriver; exports["default"] = _default;