import PropTypes from 'prop-types'
import breadCrumbsAriaProps from './BreadCrumbs.ariaPropTypes';
import tagAttributeProps,{tagAttributePropsName} from "../../propTypes/htmlAttributes.propTypes"
import automationProps, {automationPropsName} from "../../propTypes/automation.propTypes";
import customClassProps, {customClassPropName} from "../../propTypes/customClassName.propTypes";
import defaultCustomIds from "./BreadCrumbs.customIds"
import constantProps from '../group/Group.constantProps';

export default {
	children : PropTypes.any,
	separator : PropTypes.any,
	items : PropTypes.array,
	position : PropTypes.string,
	ariaLabel : PropTypes.string,
	isFrontSeperator: PropTypes.bool,
	tagName: PropTypes.string,
	direction:PropTypes.oneOf([
		constantProps.direction.row,
		constantProps.direction.rowReverse,
		constantProps.direction.column,
		constantProps.direction.columnReverse
	  ]),
	  align:PropTypes.oneOf([
		constantProps.align.horizontal,
		constantProps.align.vertical,
		constantProps.align.both,
		constantProps.align.top,
		constantProps.align.bottom,
		constantProps.align.baseline
	  ]),

	...breadCrumbsAriaProps,
	...tagAttributeProps,
	...automationProps,
	...customClassProps

};

export const defaultProps={
	direction:constantProps.direction.row,
	align:constantProps.align.vertical,
	[automationPropsName]: defaultCustomIds,
	[customClassPropName]: {},
	[tagAttributePropsName] : {},
	isFrontSeperator:false,
	
}

export const propsDescription={
	children : 'this defines the children applied to the component',
	separator : 'This defines the seperator applied between its child',
	items : 'This defines the items applied as children',

	customId:'This defines the dataid supplied to the compoennt',
	onSelect:'This defines the onselect option of the component',
	active:'This defines the active element in the component',
	customClassName:'This defines the customclassname that are required for the component',
	visited:'This defines the visited option in the component',
	isFrontSeperator:'This defines the seperator present in the front end of the component',
	size:'This defines the size of the component',
	isEllipsis:'This defines the overflow support in the component',
	collapse:'This defines the collapsible in the component',
	onCollapse:'This defines the collapsible in the component',
	maxItems:'This defines the maxItems that are applied during the collapsible in the component',

	ariaLabel:'This defines the ariaLabel in the component',
	role:'This defines the role in the component',
	tabIndex:'This defines the tab-index in the component',

	tagAttributeProps:'This defines the additional tag attributes in the component',
}