Repository URL to install this package:
|
Version:
1.2.0 ▾
|
"use strict";
var _react = _interopRequireDefault(require("react"));
var _styledSelector = require("./styledSelector");
var _selectors = require("./selectors");
var _jsxFileName = "view-container/styles/selectorless.js";
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function selectorAndStyleForStyledComponent(css, Target) {
if ((0, _selectors.hasNoSelectors)(css)) {
const result = (0, _styledSelector.decorateWithStyledSelector)(Target); // same value is returned, we cannot change the target
// diff value means it returned our className
const className = result === Target ? (0, _selectors.getSelectors)(Target) : result;
const selector = '.' + className + '>:last-child'; // console.info('WITHOUT_SELECTOR_BEFORE', { css, className })
css = (0, _selectors.fromSelectorsAndStylesToBlock)(selector, css); // console.info('WITHOUT_SELECTOR_AFTER', css)
return {
className,
css
};
}
return {
css
};
}
function addIdentity(Target) {// Target.render() {
// rendered = super.render()
// // rendered.__internalInstance.id
// // const id = rendered.props.id
// id = rendered.props.id = hashcode()
// this.styles.setId(id)
// return [styles, rendered]
// }
// id = rendered.props.id = hashcode()
// this.styles.setId(id)
// return [styles, rendered]
}
function withStyles(Target, styles, styleString) {
Target.styles = styles;
let Selectorless = class Selectorless extends Target {
// state = { styleString }
constructor(props) {
super(props);
this.state = this.state || {
styleString
};
}
render() {
console.dir({
rendered: this.state.styleString
});
const rendered = super.render();
if (styleString) {
const styleBlock = _react.default.createElement("style", {
__source: {
fileName: _jsxFileName,
lineNumber: 65
},
__self: this
}, this.state.styleString);
return [styleBlock, rendered];
}
return rendered;
}
};
} // if (styleString) {
// const styleBlock = (
// <style>
// {styleString}
// </style>
// )
// return [styleBlock, rendered]
// }
// return rendered
// ---
// Target.prototype.componentWillMount = async function() {
// this.setState({ styleString })
// }
// ---