wix-style-react
Version:
64 lines (50 loc) • 1.93 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.iconDriverFactory = exports.componentFactory = exports.iconTestkitFactory = void 0;
var _react = _interopRequireDefault(require("react"));
var _reactDom = _interopRequireDefault(require("react-dom"));
var _IconAffix = _interopRequireDefault(require("../IconAffix"));
var _InputContext = require("../../InputContext");
var iconDriverFactory = function iconDriverFactory(_ref) {
var element = _ref.element;
return {
isEmpty: function isEmpty() {
return element.children.length === 0;
},
hasChild: function hasChild(style) {
return !!element.querySelector(style);
}
};
};
exports.iconDriverFactory = iconDriverFactory;
var componentFactory = function componentFactory() {
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var element;
var wrapperDiv = document.createElement('div');
_reactDom["default"].render( /*#__PURE__*/_react["default"].createElement("div", {
ref: function ref(r) {
return element = r;
}
}, /*#__PURE__*/_react["default"].createElement(_InputContext.InputContext.Provider, {
value: context
}, /*#__PURE__*/_react["default"].createElement(_IconAffix["default"], props))), wrapperDiv);
return {
element: element.childNodes[0],
wrapper: wrapperDiv
};
};
exports.componentFactory = componentFactory;
var iconTestkitFactory = function iconTestkitFactory(_ref2) {
var wrapper = _ref2.wrapper,
dataHook = _ref2.dataHook;
var element = wrapper.querySelector("[data-hook='".concat(dataHook, "']"));
return iconDriverFactory({
element: element,
wrapper: wrapper
});
};
exports.iconTestkitFactory = iconTestkitFactory;