var _excluded = ["versions", "value", "onChange"];
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
import React from 'react';
import CustomSelect from "../customSelect";
import PisellRow from "../pisellRow";
import PisellTags from "../pisellTags";
import { getText } from "../../locales";
import "./index.less";
var getStatusColor = function getStatusColor(status) {
  if (status === 'live') return 'success';
  if (status === 'draft') return 'gray';
  if (status === 'deprecated') return 'error';
  return 'gray';
};
var getStatusText = function getStatusText(status) {
  if (status === 'live') return getText('pisell-lowcode-app-version-control-live');
  if (status === 'draft') return getText('pisell-lowcode-app-version-control-draft');
  if (status === 'deprecated') return getText('pisell-lowcode-app-version-control-deprecated');
};
var VersionSelect = function VersionSelect(props) {
  var versions = props.versions,
    value = props.value,
    onChange = props.onChange,
    rest = _objectWithoutProperties(props, _excluded);
  var handleVersionChange = function handleVersionChange(value) {
    var version = versions.find(function (v) {
      return v.value === value;
    });
    onChange === null || onChange === void 0 ? void 0 : onChange(value, version);
  };
  return /*#__PURE__*/React.createElement(CustomSelect, _extends({}, rest, {
    options: versions,
    value: value,
    size: "large",
    onChange: handleVersionChange,
    style: {
      width: '100%'
    },
    renderItem: function renderItem(option) {
      return /*#__PURE__*/React.createElement(PisellRow, {
        leftContent: option.label,
        rightContent: /*#__PURE__*/React.createElement(PisellTags, {
          type: 'pill_color',
          color: getStatusColor(option.status),
          className: "pisell-lowcode-version-select-tag"
        }, getStatusText(option.status))
      });
    }
  }));
};
export default VersionSelect;