UNPKG

wix-style-react

Version:
122 lines (121 loc) • 6.12 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.checkboxUniDriverFactory = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _unidriver = require("../test-utils/utils/unidriver"); var _TextUni = require("../Text/Text.uni.driver"); var _TooltipUni = require("../Tooltip/Tooltip.uni.driver"); var _constants = require("./constants"); var DATA_ATTR = _interopRequireWildcard(require("./DataAttr")); function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } // @ts-expect-error var getDataCheckType = base => base.attr(DATA_ATTR.DATA_CHECK_TYPE); var checkboxUniDriverFactory = (base, body) => { var reactBase = (0, _unidriver.ReactBase)(base); var labelTextDriver = (0, _TextUni.textUniDriverFactory)(base.$("[data-hook=\"".concat(_constants.dataHooks.children, "\"]"))); var input = () => base.$('input'); var isChecked = /*#__PURE__*/function () { var _ref = (0, _asyncToGenerator2.default)(function* () { return (yield getDataCheckType(base)) === DATA_ATTR.CHECK_TYPES.CHECKED; }); return function isChecked() { return _ref.apply(this, arguments); }; }(); var getTooltipDriver = /*#__PURE__*/function () { var _ref2 = (0, _asyncToGenerator2.default)(function* () { return (0, _TooltipUni.tooltipDriverFactory)(base.$("[data-hook=\"".concat(_constants.dataHooks.boxTooltip, "\"]")), body); }); return function getTooltipDriver() { return _ref2.apply(this, arguments); }; }(); var getTooltipMessage = /*#__PURE__*/function () { var _ref3 = (0, _asyncToGenerator2.default)(function* () { var tooltipDriver = yield getTooltipDriver(); return tooltipDriver.getTooltipText(); }); return function getTooltipMessage() { return _ref3.apply(this, arguments); }; }(); var isTooltipEnabled = /*#__PURE__*/function () { var _ref4 = (0, _asyncToGenerator2.default)(function* () { var tooltipDriver = yield getTooltipDriver(); yield tooltipDriver.mouseEnter(); return yield tooltipDriver.tooltipExists(); }); return function isTooltipEnabled() { return _ref4.apply(this, arguments); }; }(); return _objectSpread(_objectSpread({}, (0, _unidriver.baseUniDriverFactory)(base)), {}, { // Click on the component root element. click: function () { var _click = (0, _asyncToGenerator2.default)(function* () { // clicking on base in react env doesn't trigger change event // and if clicking on input in puppeteer throws error that the element is not visible if (base.type === 'react') { return (yield input()).click(); } else { return base.click(); } }); function click() { return _click.apply(this, arguments); } return click; }(), // focuses the component. focus: () => reactBase.focus(), // Checks whether the checkbox is focused isFocused: () => reactBase.isFocus(), // blurs off the element. blur: () => reactBase.blur(), // Checks whether the checkbox is checked. isChecked, // /Checks whether the checkbox is disabled. isDisabled: function () { var _isDisabled = (0, _asyncToGenerator2.default)(function* () { return (yield base.attr(DATA_ATTR.DATA_DISABLED)) === 'true'; }); function isDisabled() { return _isDisabled.apply(this, arguments); } return isDisabled; }(), // Checks whether the checkbox's value is indeterminate. isIndeterminate: function () { var _isIndeterminate = (0, _asyncToGenerator2.default)(function* () { return (yield getDataCheckType(base)) === DATA_ATTR.CHECK_TYPES.INDETERMINATE; }); function isIndeterminate() { return _isIndeterminate.apply(this, arguments); } return isIndeterminate; }(), // Checks whether the checkbox's tooltip is enabled. isTooltipEnabled, // Checks whether the checkbox hasError prop is true. hasError: function () { var _hasError = (0, _asyncToGenerator2.default)(function* () { return (yield base.attr(DATA_ATTR.DATA_HAS_ERROR)) === 'true'; }); function hasError() { return _hasError.apply(this, arguments); } return hasError; }(), // Gets the tooltip message. getTooltipContent: getTooltipMessage, // Gets checkbox's label. getLabel: labelTextDriver.getText, // Gets the label's size. getLabelSize: labelTextDriver.getSize }); }; exports.checkboxUniDriverFactory = checkboxUniDriverFactory; //# sourceMappingURL=Checkbox.uni.driver.js.map