var _excluded = [
  'children',
  'className',
  'required',
  'bold',
  'full',
  'offsetX',
  'action',
];

function ownKeys(object, enumerableOnly) {
  var keys = Object.keys(object);
  if (Object.getOwnPropertySymbols) {
    var symbols = Object.getOwnPropertySymbols(object);
    enumerableOnly &&
      (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })),
      keys.push.apply(keys, symbols);
  }
  return keys;
}

function _objectSpread(target) {
  for (var i = 1; i < arguments.length; i++) {
    var source = null != arguments[i] ? arguments[i] : {};
    i % 2
      ? ownKeys(Object(source), !0).forEach(function(key) {
          _defineProperty(target, key, source[key]);
        })
      : Object.getOwnPropertyDescriptors
      ? Object.defineProperties(
          target,
          Object.getOwnPropertyDescriptors(source),
        )
      : ownKeys(Object(source)).forEach(function(key) {
          Object.defineProperty(
            target,
            key,
            Object.getOwnPropertyDescriptor(source, key),
          );
        });
  }
  return target;
}

function _defineProperty(obj, key, value) {
  if (key in obj) {
    Object.defineProperty(obj, key, {
      value: value,
      enumerable: true,
      configurable: true,
      writable: true,
    });
  } else {
    obj[key] = value;
  }
  return obj;
}

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;
}

/*
 * @Author: codingfly
 * @Description:
 * @Date: 2021-10-12 13:14:51
 * @LastEditTime: 2022-06-09 15:59:19
 * @FilePath: \remaxui\src\part-title\index.tsx
 */
import { View, Text } from 'remax/one';
import Space from '../space';
import React from 'react';
import styles from './index.module.less';
import classNames from 'classnames';
import { useConfig } from '../config-provider';
import rpxToPx from '../rpx-to-px';
export default (function(_ref) {
  var children = _ref.children,
    className = _ref.className,
    required = _ref.required,
    _ref$bold = _ref.bold,
    bold = _ref$bold === void 0 ? true : _ref$bold,
    full = _ref.full,
    _ref$offsetX = _ref.offsetX,
    offsetX = _ref$offsetX === void 0 ? 0 : _ref$offsetX,
    action = _ref.action,
    props = _objectWithoutProperties(_ref, _excluded);

  var _useConfig = useConfig(),
    brandPrimary = _useConfig.brandPrimary;

  return /*#__PURE__*/ React.createElement(
    Space,
    _objectSpread(
      {
        className: classNames(styles.part, className),
        alignItems: 'center',
      },
      props,
    ),
    /*#__PURE__*/ React.createElement(
      Space,
      {
        flex: 1,
        style: {
          margin: '0 '.concat(rpxToPx(offsetX), 'px'),
        },
        alignItems: 'center',
      },
      /*#__PURE__*/ React.createElement(View, {
        className: styles.block,
      }),
      /*#__PURE__*/ React.createElement(
        Text,
        {
          className: styles.title,
          style: {
            fontWeight: bold ? 'bold' : 'normal',
            color: full ? brandPrimary : undefined,
          },
        },
        children,
      ),
      required &&
        /*#__PURE__*/ React.createElement(
          Text,
          {
            className: styles.mark,
          },
          '*',
        ),
    ),
    action,
  );
});
