Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/modules / ___dist / view-container / styles / selectorless.js
Size: Mime:
"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 })
// }
// ---