wix-style-react
Version:
46 lines (42 loc) • 1.44 kB
JavaScript
import React from 'react';
import ReactDOM from 'react-dom';
import IconAffix from '../IconAffix';
import { InputContext } from '../../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);
}
};
};
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.render( /*#__PURE__*/React.createElement("div", {
ref: function ref(r) {
return element = r;
}
}, /*#__PURE__*/React.createElement(InputContext.Provider, {
value: context
}, /*#__PURE__*/React.createElement(IconAffix, props))), wrapperDiv);
return {
element: element.childNodes[0],
wrapper: wrapperDiv
};
};
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
});
};
export { iconTestkitFactory, componentFactory, iconDriverFactory };