'use strict';

exports.__esModule = true;

var _reactDesc = require('react-desc');

var _utils = require('grommet/utils');

exports.default = function (Element) {
  var DocumentedElement = (0, _reactDesc.describe)(Element).description('A list of tags that can be removed.').usage('\n    $ npm install grommet-controls\n\n    import { Tags } from \'grommet-controls\';\n\n    <Tags />\n    ');

  DocumentedElement.propTypes = {
    a11yTitle: _utils.a11yTitlePropType,
    children: _reactDesc.PropTypes.func.description('Function that will be called when each option is rendered.'),
    focusable: _reactDesc.PropTypes.bool.description('Whether the tag list is focusable'),
    icon: _reactDesc.PropTypes.element.description('Icon element to remove the tag.'),
    tagProps: _reactDesc.PropTypes.object.description('Tag elements `<Box />` and `<Text />` properties'),
    onChange: _reactDesc.PropTypes.func.description('Function that will be called when the user removes a tag.'),
    onClick: _reactDesc.PropTypes.func.description('Function that will be called when the user clicks on a tag.'),
    direction: _reactDesc.PropTypes.oneOf(['row', 'row-responsive', 'column']).description('The orientation to layout the child tags in.').defaultValue('column'),
    placeholder: _reactDesc.PropTypes.string.description('Placeholder text to use when no value is provided.'),
    value: _reactDesc.PropTypes.oneOfType([_reactDesc.PropTypes.string, _reactDesc.PropTypes.element, _reactDesc.PropTypes.object, _reactDesc.PropTypes.arrayOf(_reactDesc.PropTypes.oneOfType([_reactDesc.PropTypes.string, _reactDesc.PropTypes.element, _reactDesc.PropTypes.object]))]).description('List of tag items to display.')
  };

  return DocumentedElement;
};