<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//AJAX4JSF//CDK Generator config/EN"  "https://ajax4jsf.dev.java.net/nonav/dtds/component-config.dtd" 
[
<!ENTITY listeners SYSTEM "listener.ent">
]
>
<components>
	<component>
		<name>org.richfaces.Calendar</name>
		<family>org.richfaces.Calendar</family>
		<classname>org.richfaces.component.html.HtmlCalendar</classname>
		<superclass>org.richfaces.component.UICalendar</superclass>
		<test>
			<classname>
				org.richfaces.component.html.HtmlCalendarTest
			</classname>
			<superclassname>
				org.ajax4jsf.tests.AbstractAjax4JsfTestCase
			</superclassname>
		</test>
		<description>
			<![CDATA[
    ]]>
		</description>
		<renderer generate="true" override="true">
			<name>org.richfaces.CalendarRenderer</name>
			<template>org/richfaces/htmlCalendar.jspx</template>
		</renderer>
		<tag>
			<name>calendar</name>
			<classname>org.richfaces.taglib.CalendarTag</classname>
			<superclass>
				org.ajax4jsf.webapp.taglib.HtmlComponentTagBase
			</superclass>

			<test>
				<classname>
					org.richfaces.component.html.HtmlCalendarTest
				</classname>
				<superclassname>
					org.ajax4jsf.tests.AbstractAjax4JsfTestCase
				</superclassname>
			</test>
		</tag>
		<!--
			<taghandler>
			<classname>org.ajax4jsf.tag.TestHandler</classname>
			</taghandler>
		-->
		&ui_component_attributes;
		&ajax_component_attributes;
		&ui_input_attributes;
		&ui_output_attributes;
		<property elonly="true">
			<name>dataModel</name>
			<classname>org.richfaces.model.CalendarDataModel</classname>
			<description>
				Used to provide data for calendar elements. If data is
				not provided, all Data Model related functions are
				disabled
			</description>
		</property>
		<property elonly="true">
			<name>locale</name>
			<classname>java.util.Locale</classname>
			<description>Used for locale definition</description>
			<defaultvalue>getDefaultLocale()</defaultvalue>
		</property>
		<property elonly="true">
			<name>timeZone</name>
			<classname>java.util.TimeZone</classname>
			<description>
				Used for current date calculations
			</description>
			<defaultvalue>getDefaultTimeZone()</defaultvalue>
		</property>
		<property>
			<name>preloadDateRangeBegin</name>
			<classname>java.lang.Object</classname>
			<description>
				Define the initial range of date which will be loaded to
				client from dataModel under rendering
			</description>
			<defaultvalue>
				getDefaultPreloadBegin(getCurrentDateOrDefault())
			</defaultvalue>
		</property>
		<property>
			<name>preloadDateRangeEnd</name>
			<classname>java.lang.Object</classname>
			<description>
				Defines the last range of date which will be loaded to
				client from dataModel under rendering
			</description>
			<defaultvalue>
				getDefaultPreloadEnd(getCurrentDateOrDefault())
			</defaultvalue>
		</property>
		<property>
			<name>currentDate</name>
			<classname>java.lang.Object</classname>
			<description>Defines current date</description>
		</property>
		<property>
			<name>currentDateChangeListener</name>
			<classname>javax.faces.el.MethodBinding</classname>
			<description>
				MethodBinding representing an action listener method
				that will be notified after date selection
			</description>
		</property>
		<property>
			<name>datePattern</name>
			<classname>java.lang.String</classname>
			<description>Defines date pattern</description>
			<defaultvalue>"MMM d, yyyy"</defaultvalue>
		</property>

		<property>
			<name>popup</name>
			<classname>boolean</classname>
			<description>
				If &quot;true&quot; calendar will be rendered initially
				as hidden with additional elements for calling as popup
			</description>
			<defaultvalue>true</defaultvalue>
		</property>
		<property>
			<name>disabled</name>
			<classname>boolean</classname>
			<description>
				If &quot;true&quot;, rendered is disabled. In
				&quot;popup&quot; mode both controls are disabled
			</description>
			<defaultvalue>false</defaultvalue>
		</property>
		<property>
			<name>jointPoint</name>
			<classname>java.lang.String</classname>
			<description>
				Set the corner of the button for the popup to be
				connected with (top-left, top-right, bottom-left
				(Default), bottom-right, auto)
			</description>
			<defaultvalue>"bottom-left"</defaultvalue>
		</property>
		<property>
			<name>direction</name>
			<classname>java.lang.String</classname>
			<description>
				Defines direction of the calendar popup (top-left,
				top-right, bottom-left, bottom-right (Default), auto)
			</description>
			<defaultvalue>"bottom-right"</defaultvalue>
		</property>
		<property>
			<name>weekDayLabels</name>
			<classname>java.lang.Object</classname>
			<description>
				List of the day names displays on the days bar in the
				following way &quot;Sun, Mon, Tue, Wed, …&quot;
			</description>
		</property>
		<property>
			<name>weekDayLabelsShort</name>
			<classname>java.lang.Object</classname>
			<description>
				Attribute that allows to customize short names of the
				weeks. Should accept list with the weeks names.
			</description>
		</property>
		<property>
			<name>monthLabels</name>
			<classname>java.lang.Object</classname>
			<description>
				Attribute that allows to customize names of the months.
				Should accept list with the month names
			</description>
		</property>
		<property>
			<name>monthLabelsShort</name>
			<classname>java.lang.Object</classname>
			<description>
				Attribute that allows to customize short names of the
				months. Should accept list with the month names
			</description>
		</property>

		<property>
			<name>toolTipMode</name>
			<classname>java.lang.String</classname>
			<description>
				Used to specify mode to load tooltips. Valid values are
				&quot;none&quot;, &quot;single&quot; and
				&quot;batch&quot;
			</description>
			<defaultvalue>"batch"</defaultvalue>
		</property>
		<property>
			<name>boundaryDatesMode</name>
			<classname>java.lang.String</classname>
			<description>
				Used for the dates boundaries in the list. Valid values
				are &quot;inactive&quot; (Default) – dates inactive and
				gray colored, &quot;scroll&quot; – boundaries work as
				month scrolling controls, and &quot;select&quot; –
				boundaries work in the same way as &quot;scroll&quot;
				but with the date clicked selection
			</description>
			<defaultvalue>"inactive"</defaultvalue>
		</property>
		<property>
			<name>enableManualInput</name>
			<classname>boolean</classname>
			<description>
				If &quot;true&quot; calendar input will be editable and
				it will be possible to change the date manualy. If
				&quot;false&quot; value for this attribute makes a text
				field &quot;read-only&quot;, so the value can be changed
				only from a handle
			</description>
			<defaultvalue>false</defaultvalue>
		</property>
		<property>
			<name>showInput</name>
			<classname>boolean</classname>
			<description>
				&quot;false&quot; value for this attribute makes text
				field invisible. If &quot;true&quot; - input field will
				be shown
			</description>
			<defaultvalue>true</defaultvalue>
		</property>
		<property>
			<name>style</name>
			<classname>java.lang.String</classname>
			<description>
				CSS style(s) is/are to be applied when this component is
				rendered
			</description>
		</property>
		<property>
			<name>styleClass</name>
			<classname>java.lang.String</classname>
			<description>
				Corresponds to the HTML class attribute
			</description>
		</property>
		<property>
			<name>inputStyle</name>
			<classname>java.lang.String</classname>
			<description>Style attribute for text field</description>
		</property>
		<property>
			<name>inputClass</name>
			<classname>java.lang.String</classname>
			<description>
				Style Class attribute for the text field
			</description>
		</property>
		<property>
			<name>buttonClass</name>
			<classname>java.lang.String</classname>
			<description>
				Style Class attribute for the popup button
			</description>
		</property>
		<property>
			<name>zindex</name>
			<classname>int</classname>
			<description>
				Attribute is similar to the standard HTML attribute and
				can specify window placement relative to the content
			</description>
			<defaultvalue>3</defaultvalue>
		</property>

		<property>
			<name>requiredMessage</name>
			<classname>java.lang.String</classname>
			<description>
				A ValueExpression enabled attribute that, if present,
				will be used as the text of the validation message for
				the "required" facility, if the "required" facility is
				used
			</description>
		</property>
		<property>
			<name>validatorMessage</name>
			<classname>java.lang.String</classname>
			<description>
				A ValueExpression enabled attribute that, if present,
				will be used as the text of the validator message,
				replacing any message that comes from the validator
			</description>
		</property>
		<property>
			<name>converterMessage</name>
			<classname>java.lang.String</classname>
			<description>
				A ValueExpression enabled attribute that, if present,
				will be used as the text of the converter message,
				replacing any message that comes from the converter
			</description>
		</property>

		<property>
			<name>ondateselect</name>
			<classname>java.lang.String</classname>
			<description>onDateSelect event handler</description>
		</property>
		<property>
			<name>ondateselected</name>
			<classname>java.lang.String</classname>
			<description>onDateSelected event handler</description>
		</property>
		<property>
			<name>oncurrentdateselect</name>
			<classname>java.lang.String</classname>
			<description>onCurrentDateSelect event handler</description>
		</property>
		<property>
			<name>onexpand</name>
			<classname>java.lang.String</classname>
			<description>onExpand event handler</description>
		</property>
		<property>
			<name>oncollapse</name>
			<classname>java.lang.String</classname>
			<description>onCollapse event handler</description>
		</property>
		<property>
			<name>ondatemouseover</name>
			<classname>java.lang.String</classname>
			<description>onDateMouseOver event handler</description>
		</property>
		<property>
			<name>ondatemouseout</name>
			<classname>java.lang.String</classname>
			<description>onDateMouseOut event handler</description>
		</property>

		<property>
			<name>oninputchange</name>
			<classname>java.lang.String</classname>
			<description>input onChange event handler</description>
		</property>
		<property>
			<name>oninputselect</name>
			<classname>java.lang.String</classname>
			<description>input onSelect event handler</description>
		</property>
		<property>
			<name>oninputfocus</name>
			<classname>java.lang.String</classname>
			<description>input onFocus event handler</description>
		</property>
		<property>
			<name>oninputblur</name>
			<classname>java.lang.String</classname>
			<description>input onBlur event handler</description>
		</property>
		<property>
			<name>oninputclick</name>
			<classname>java.lang.String</classname>
			<description>input onClick event handler</description>
		</property>
		<property>
			<name>oninputkeypress</name>
			<classname>java.lang.String</classname>
			<description>input onKeyPress event handler</description>
		</property>
		<property>
			<name>oninputkeydown</name>
			<classname>java.lang.String</classname>
			<description>input onKeyDown event handler</description>
		</property>
		<property>
			<name>oninputkeyup</name>
			<classname>java.lang.String</classname>
			<description>input onKeyUp event handler</description>
		</property>

		<property hidden="true">
			<name>localValueSet</name>
			<classname>boolean</classname>
			<description>localValueSet</description>
		</property>
		<property hidden="true">
			<name>valid</name>
			<classname>boolean</classname>
			<description>valid</description>
		</property>

		<property>
			<name>ajaxSingle</name>
			<classname>boolean</classname>
			<description>
				if "true", submits ONLY one field/link, instead of all
				form controls
			</description>
			<defaultvalue>true</defaultvalue>
		</property>

		<property hidden="true">
			<name>data</name>
			<classname>java.lang.Object</classname>
		</property>

		<property>
			<name>buttonIcon</name>
			<classname>java.lang.String</classname>
			<description>
				Defines icon for the popup button element. The attribute
				is ignored if the "buttonLabel" is set
			</description>
		</property>

		<property>
			<name>buttonLabel</name>
			<classname>java.lang.String</classname>
			<description>
				Defines label for the popup button element. If the
				attribute is set "buttonIcon" and "buttonIconDisabled"
				are ignored
			</description>
		</property>

		<property>
			<name>buttonIconDisabled</name>
			<classname>java.lang.String</classname>
			<description>
				Defines disabled icon for the popup button element. The
				attribute is ignored if the "buttonLabel" is set
			</description>
		</property>
		<property>
			<name>mode</name>
			<classname>java.lang.String</classname>
			<defaultvalue>UICalendar.CLIENT_MODE</defaultvalue>
			<description>Valid values = ajax or client</description>
		</property>

		<property>
			<name>horizontalOffset</name>
			<classname>int</classname>
			<description>
				Sets the horizontal offset between button and calendar
				element conjunction point
			</description>
			<defaultvalue>0</defaultvalue>
		</property>

		<property>
			<name>verticalOffset</name>
			<classname>int</classname>
			<description>
				Sets the vertical offset between button and calendar
				element conjunction point
			</description>
			<defaultvalue>0</defaultvalue>
		</property>
		
		<property>
			<name>cellWidth</name>
			<classname>java.lang.String</classname>
			<description>
				attribute to set fixed cells width
			</description>
		</property>
		
		<property>
			<name>cellHeight</name>
			<classname>java.lang.String</classname>
			<description>
				attribute to set fixed cells height
			</description>
		</property>
		
		<property>
			<name>dayStyleClass</name>
			<classname>java.lang.String</classname>
			<description>
				Should be binded to some JS function that will provide style classes
				for special sets of days highlighting.
			</description>
		</property>
		
		<property>
			<name>isDayEnabled</name>
			<classname>java.lang.String</classname>
			<description>
				Should be binded to some JS function that returns day state.
			</description>
		</property>
		<property>
			<name>showWeekDaysBar</name>
			<classname>boolean</classname>
			<description>
				If false this bar should not be shown
			</description>
			<defaultvalue>true</defaultvalue>
		</property>
		<property>
			<name>showWeeksBar</name>
			<classname>boolean</classname>
			<description>
				If false this bar should not be shown
			</description>
			<defaultvalue>true</defaultvalue>
		</property>
		<property>
			<name>showScrollerBar</name>
			<classname>boolean</classname>
			<description>
				If false this bar should not be shown
			</description>
			<defaultvalue>true</defaultvalue>
		</property>
		<property>
			<name>todayControlMode</name>
			<classname>java.lang.String</classname>
			<description>
				Possible values are "scroll", "select", "hidden"
			</description>
			<defaultvalue>"select"</defaultvalue>
	</property>
	<property>
			<name>showApplyButton</name>
			<classname>boolean</classname>
			<description>
				If false ApplyButton should not be shown
			</description>
			<defaultvalue>false</defaultvalue>
	</property>
	
	</component>
	&listeners;
</components>

