"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.anchorFrom = anchorFrom;
exports.default = heading;
var _react = _interopRequireDefault(require("react"));
var _Text = require("@patternfly/react-core/dist/esm/components/Text");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/*
 * Copyright 2020 The Kubernetes Authors
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

function anchorFrom(uuid, txt) {
  return `${uuid}-${txt}`;
}
function heading(uuid) {
  return function Heading(props) {
    const valueChild = props.children ? props.children.length === 1 ? props.children[0] : props.children.find(_ => typeof _ === 'string') : ''; // empty heading e.g. just "#" on its own line
    const anchor = !valueChild || typeof valueChild !== 'string' ? undefined : anchorFrom(uuid, valueChild.toLowerCase().replace(/ /g, '-'));
    return _react.default.createElement(_Text.Text, {
      id: props.id,
      component: _Text.TextVariants['h' + props.level],
      "data-markdown-anchor": anchor
    }, props.children);
  };
}