wix-style-react
Version:
wix-style-react
121 lines (120 loc) • 5.89 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.inputAreaUniDriverFactory = void 0;
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _unidriver = require("../test-utils/utils/unidriver");
var _constants = require("./constants");
var _StatusIndicatorUni = require("../StatusIndicator/StatusIndicator.uni.driver");
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; }
var inputAreaUniDriverFactory = (base, body) => {
var textArea = base.$('textarea');
var counterSelector = '[data-hook="counter"]';
var getStatusIndicatorDriver = () => (0, _StatusIndicatorUni.statusIndicatorDriverFactory)(base.$("[data-hook=\"".concat(_constants.dataHooks.tooltip, "\"]")), body);
var textAreaBase = (0, _unidriver.ReactBase)(textArea);
return _objectSpread(_objectSpread({}, (0, _unidriver.baseUniDriverFactory)(base)), {}, {
trigger: (_trigger, event) => textAreaBase[_trigger](event),
focus: () => textAreaBase.focus(),
enterText: text => textArea.enterValue(text),
getValue: () => textArea.value(),
getName: () => textArea.attr('name'),
getPlaceholder: () => textArea._prop('placeholder'),
getDefaultValue: () => textArea._prop('defaultValue'),
getRowsCount: () => textArea._prop('rows'),
getMaxLength: () => textArea._prop('maxLength'),
getTabIndex: () => textArea._prop('tabIndex'),
getReadOnly: () => textArea._prop('readOnly'),
getCursorLocation: () => textArea._prop('selectionStart'),
getResizable: function () {
var _getResizable = (0, _asyncToGenerator2.default)(function* () {
return !!(yield base.attr(_constants.dataAttr.RESIZABLE));
});
function getResizable() {
return _getResizable.apply(this, arguments);
}
return getResizable;
}(),
getDisabled: function () {
var _getDisabled = (0, _asyncToGenerator2.default)(function* () {
return !!(yield base.attr(_constants.dataAttr.DISABLED)) && !!(yield textArea._prop('disabled'));
});
function getDisabled() {
return _getDisabled.apply(this, arguments);
}
return getDisabled;
}(),
getRequired: () => textArea._prop('required'),
getHasCounter: () => !!base.$$(counterSelector).length,
getCounterValue: () => base.$(counterSelector).text(),
hasExclamation: () => getStatusIndicatorDriver().exists(),
isFocusedStyle: function () {
var _isFocusedStyle = (0, _asyncToGenerator2.default)(function* () {
return !!(yield base.attr(_constants.dataAttr.FOCUS));
});
function isFocusedStyle() {
return _isFocusedStyle.apply(this, arguments);
}
return isFocusedStyle;
}(),
isSizeSmall: function () {
var _isSizeSmall = (0, _asyncToGenerator2.default)(function* () {
return (yield base.attr(_constants.dataAttr.SIZE)) === 'small';
});
function isSizeSmall() {
return _isSizeSmall.apply(this, arguments);
}
return isSizeSmall;
}(),
isHoveredStyle: function () {
var _isHoveredStyle = (0, _asyncToGenerator2.default)(function* () {
return !!(yield base.attr(_constants.dataAttr.HOVER));
});
function isHoveredStyle() {
return _isHoveredStyle.apply(this, arguments);
}
return isHoveredStyle;
}(),
isFocus: () => textAreaBase.isFocus(),
exists: () => textArea.exists(),
getStyle: () => textArea._prop('style'),
getAriaLabel: () => textArea.attr('aria-label'),
getAriaControls: () => textArea.attr('aria-controls'),
getAriaDescribedby: () => textArea.attr('aria-describedby'),
getTooltipDataHook: () => _constants.dataHooks.tooltip,
getTooltipElement: () => base,
// Status
/** Return true if there's a status */
hasStatus: function () {
var _hasStatus = (0, _asyncToGenerator2.default)(function* (status) {
var statusIndicatorDriver = getStatusIndicatorDriver();
if (yield statusIndicatorDriver.exists()) {
return (yield base.attr(_constants.dataAttr.STATUS)) === status && (yield statusIndicatorDriver.getStatus()) === status;
}
return (yield base.attr(_constants.dataAttr.STATUS)) === status;
});
function hasStatus(_x) {
return _hasStatus.apply(this, arguments);
}
return hasStatus;
}(),
/** If there's a status message, returns its text value */
getStatusMessage: function () {
var _getStatusMessage = (0, _asyncToGenerator2.default)(function* () {
var statusIndicatorDriver = getStatusIndicatorDriver();
var tooltipText = null;
if (yield statusIndicatorDriver.hasMessage()) {
tooltipText = yield statusIndicatorDriver.getMessage();
}
return tooltipText;
});
function getStatusMessage() {
return _getStatusMessage.apply(this, arguments);
}
return getStatusMessage;
}()
});
};
exports.inputAreaUniDriverFactory = inputAreaUniDriverFactory;
//# sourceMappingURL=InputArea.uni.driver.js.map