'use strict';

Liferay.Loader.define('frontend-taglib-clay$clay-dropdown@2.24.1/lib/validators', ['module', 'exports', 'require', 'frontend-js-metal-web$metal-state'], function (module, exports, require) {
	var define = undefined;
	var global = window;
	{
		Object.defineProperty(exports, "__esModule", {
			value: true
		});
		exports.preferredAlign = exports.itemsValidator = exports.itemShape = undefined;

		var _metalState = require('frontend-js-metal-web$metal-state');

		var itemShape = {
			active: _metalState.Config.bool().value(false),
			checked: _metalState.Config.bool().value(false),
			contentRenderer: _metalState.Config.string(),
			disabled: _metalState.Config.bool().value(false),
			href: _metalState.Config.string(),
			icon: _metalState.Config.string(),
			icons: _metalState.Config.shapeOf({
				left: _metalState.Config.string(),
				right: _metalState.Config.string()
			}),
			inputName: _metalState.Config.string(),
			inputValue: _metalState.Config.string(),
			label: _metalState.Config.oneOfType([_metalState.Config.number(), _metalState.Config.string()]),
			maxItems: _metalState.Config.number(),
			separator: _metalState.Config.bool().value(false),
			target: _metalState.Config.oneOf(['_blank', '_self']),
			title: _metalState.Config.string(),
			type: _metalState.Config.oneOfType([_metalState.Config.oneOf(['checkbox', 'group', 'item', 'radio', 'radiogroup', 'separator']), _metalState.Config.string()]).value('item')
		};

		var itemsValidator = _metalState.Config.arrayOf(_metalState.Config.shapeOf(itemShape));

		itemShape.items = itemsValidator;

		var preferredAlign = _metalState.Config.oneOf(['BottomCenter', 'BottomLeft', 'BottomRight', 'LeftCenter', 'RightCenter', 'TopCenter', 'TopLeft', 'TopRight']);

		exports.itemShape = itemShape;
		exports.itemsValidator = itemsValidator;
		exports.preferredAlign = preferredAlign;
		//# sourceMappingURL=validators.js.map
	}
});
//# sourceMappingURL=validators.js.map