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    
Size: Mime:
"use strict";

var __decorate = this && this.__decorate || function (decorators, target, key, desc) {
  var c = arguments.length,
      r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
      d;
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
  return c > 3 && r && Object.defineProperty(target, key, r), r;
};

var __rest = this && this.__rest || function (s, e) {
  var t = {};

  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];

  if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]];
  return t;
};

var __importDefault = this && this.__importDefault || function (mod) {
  return mod && mod.__esModule ? mod : {
    "default": mod
  };
};

Object.defineProperty(exports, "__esModule", {
  value: true
});

const react_1 = __importDefault(require("react"));

const exotic_1 = require("exotic");

const mobx_react_1 = require("xmobx/mobx-react");

const styled_1 = require("./styled");

const renderProps_1 = require("./renderProps");
/**
 * @description this is for optimization
 */


const defaultOptionOnClick = process.env.NODE_ENV === 'production' ? exotic_1.NO_OP : () => console.info('[Select.Option] defaultOptionOnClick');
let Option = class Option extends react_1.default.Component {
  constructor() {
    super(...arguments);

    this.handleClick = event => {
      const {
        onClick,
        value,
        label
      } = this.props;
      console.debug('[Select.Option] handleClick');
      /**
       * @todo should be `item` but also we want `props`... identifier...
       * @todo invalid value?
       */

      onClick(value || label);
    };
  }

  render() {
    // @todo !!!
    const _a = this.props,
          {
      renderBeforeText,
      renderText,
      className
    } = _a,
          // renderChildren,
    props = __rest(_a, ["renderBeforeText", "renderText", "className"]);

    const state = this.props.state;
    const children = props.children || react_1.default.createElement(react_1.default.Fragment, null, renderBeforeText(props, state), renderText(props, state));
    return react_1.default.createElement(styled_1.StyledOption, {
      className: className,
      onClick: this.handleClick,
      isSelected: props.isSelected,
      isDisabled: props.isDisabled,
      role: "option"
    }, children);
  }

};
Option.defaultProps = {
  identifier: 0,
  label: '',
  onClick: defaultOptionOnClick,
  // @todo
  // or children...
  renderText: renderProps_1.defaultRenderText,
  // @note can't import 2 aliases
  renderBeforeText: renderProps_1.defaultRenderBeforeText
};
Option = __decorate([mobx_react_1.observer], Option);
exports.Option = Option;
exports.SelectOption = Option;
exports.default = Option; //# sourceMappingURL=Option.js.map