{"meta":"<h2 id=\"Guide\">Guide <a class=\"header-anchor scroll-count-item\" href=\"#Guide\" data-scroll-id=\"Guide\">#</a></h2>\n<h3 id=\"When To Use\">When To Use <a class=\"header-anchor scroll-count-item\" href=\"#When To Use\" data-scroll-id=\"When To Use\">#</a></h3>\n<p>A TimePicker is used to input a time by displaying an interface the user can interact with. The TimePicker panel only support 24h clock. Setting <code>format</code> with:</p>\n<table>\n<thead>\n<tr>\n<th>Format</th>\n<th>Example</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>H HH</code></td>\n<td><code>0..23</code></td>\n<td>Hour&#xFF0C;24h</td>\n</tr>\n<tr>\n<td><code>m mm</code></td>\n<td><code>0..59</code></td>\n<td>Minute</td>\n</tr>\n<tr>\n<td><code>s ss</code></td>\n<td><code>0..59</code></td>\n<td>Second</td>\n</tr>\n</tbody>\n</table>\n<p>By default, TimePicker using dayjs instance as input value, which is the suggestion way. In addition, input value as string is also supported, e.g. &quot;12:00:00&quot;. The type of the first parameter in the callback of <code>onChange</code> is based on the input value.</p>\n","api":"<h2 id=\"API\">API <a class=\"header-anchor scroll-count-item\" href=\"#API\" data-scroll-id=\"API\">#</a></h2>\n<h3 id=\"Time Picker\">TimePicker <a class=\"header-anchor scroll-count-item\" href=\"#Time Picker\" data-scroll-id=\"Time Picker\">#</a></h3>\n<table>\n<thead>\n<tr>\n<th>Param</th>\n<th>Description</th>\n<th>Type</th>\n<th>Default Value</th>\n<th>Required</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>label</td>\n<td>Button text</td>\n<td>ReactNode</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>size</td>\n<td>Size of time picker</td>\n<td>&apos;small&apos; | &apos;medium&apos; | &apos;large&apos;</td>\n<td>&apos;medium&apos;</td>\n<td></td>\n</tr>\n<tr>\n<td>state</td>\n<td>Input state</td>\n<td>&apos;error&apos; | &apos;success&apos;</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>hasClear</td>\n<td>Whether to allow clearing time</td>\n<td>boolean</td>\n<td>true</td>\n<td></td>\n</tr>\n<tr>\n<td>format</td>\n<td>Time format</td>\n<td>string</td>\n<td>&apos;HH:mm:ss&apos;</td>\n<td></td>\n</tr>\n<tr>\n<td>hourStep</td>\n<td>Hour option step</td>\n<td>number</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>minuteStep</td>\n<td>Minute option step</td>\n<td>number</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>secondStep</td>\n<td>Second option step</td>\n<td>number</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>renderTimeMenuItems</td>\n<td>Render the selectable time list<br><br><strong>signature</strong>:<br><strong>params</strong>:<br><em>list</em>: list<br><em>mode</em>: mode<br><em>value</em>: value</td>\n<td>(<br> list: Array&lt;TimeMenuListItem&gt;,<br> mode: TimeMenuProps[&apos;mode&apos;],<br> value: TimeMenuProps[&apos;value&apos;]<br> ) =&gt; Array&lt;TimeMenuListItem&gt;</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>visible</td>\n<td>Popup layer display status (controlled)</td>\n<td>boolean</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>defaultVisible</td>\n<td>Popup layer default display status (uncontrolled)</td>\n<td>boolean</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>popupContainer</td>\n<td>Popup layer container</td>\n<td>string | HTMLElement | ((target: HTMLElement) =&gt; HTMLElement)</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>popupAlign</td>\n<td>Popup layer alignment, see Overlay documentation</td>\n<td>string</td>\n<td>&apos;tl bl&apos;</td>\n<td></td>\n</tr>\n<tr>\n<td>popupTriggerType</td>\n<td>Popup layer trigger type</td>\n<td>&apos;click&apos; | &apos;hover&apos;</td>\n<td>&apos;click&apos;</td>\n<td></td>\n</tr>\n<tr>\n<td>onVisibleChange</td>\n<td>Callback when the popup layer display status changes</td>\n<td>(visible: boolean, reason?: string) =&gt; void</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>popupStyle</td>\n<td>Popup layer custom style</td>\n<td>CSSProperties</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>popupClassName</td>\n<td>Popup layer custom style class</td>\n<td>string</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>popupProps</td>\n<td>Popup layer property</td>\n<td>PopupProps</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>followTrigger</td>\n<td>Follow trigger element</td>\n<td>boolean</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>hasBorder</td>\n<td>Whether the input has border</td>\n<td>boolean</td>\n<td>true</td>\n<td></td>\n</tr>\n<tr>\n<td>isPreview</td>\n<td>Is preview</td>\n<td>boolean</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>renderPreview</td>\n<td>Content of preview mode</td>\n<td>(value: ValueType, props: TimePickerProps) =&gt; ReactNode</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>inputProps</td>\n<td>Custom input property</td>\n<td>InputProps</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>placeholder</td>\n<td>Input hint</td>\n<td>string</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>value</td>\n<td>Time value (Dayjs object or time string, controlled state use)</td>\n<td>string | Dayjs | null | (Dayjs | null | string)[]</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>defaultValue</td>\n<td>Time init value (Dayjs object or time string, uncontrolled state use)</td>\n<td>string | Dayjs | (Dayjs | null)[]</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>disabledHours</td>\n<td>For the disabled hours function, if it&apos;s a TimePicker.RangePicker, the function should return a number[] and it shouldn&apos;t have an index parameter. If it&apos;s not a TimePicker.RangePicker, the function should return a boolean and it should have an index parameter.</td>\n<td>(index?: number) =&gt; boolean | number[]</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>disabledMinutes</td>\n<td>For the disabled minutes function, if it&apos;s a TimePicker.RangePicker, the function should return a number[] and it shouldn&apos;t have an index parameter. If it&apos;s not a TimePicker.RangePicker, the function should return a boolean and it should have an index parameter.</td>\n<td>(index?: number) =&gt; boolean | number[]</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>disabledSeconds</td>\n<td>For the disabled seconds function, if it&apos;s a TimePicker.RangePicker, the function should return a number[] and it shouldn&apos;t have an index parameter. If it&apos;s not a TimePicker.RangePicker, the function should return a boolean and it should have an index parameter.</td>\n<td>(index?: number) =&gt; boolean | number[]</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>onChange</td>\n<td>Callback when the time value changes</td>\n<td>(value: ValueType) =&gt; void</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>preset</td>\n<td>Rreset values, shown below the time panel.<br>Can be object or array of object, with the following properties.<br>properties:<br> label: shown text<br> name: key of React element, can be empty, and index will become key instead<br> value: date value</td>\n<td>PresetType | PresetType[]</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>disabled</td>\n<td>Disable</td>\n<td>boolean | boolean[]</td>\n<td>false</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n<h3 id=\"Time Picker Range Picker\">TimePicker.RangePicker <a class=\"header-anchor scroll-count-item\" href=\"#Time Picker Range Picker\" data-scroll-id=\"Time Picker Range Picker\">#</a></h3>\n<table>\n<thead>\n<tr>\n<th>Param</th>\n<th>Description</th>\n<th>Type</th>\n<th>Default Value</th>\n<th>Required</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>label</td>\n<td>Button text</td>\n<td>ReactNode</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>size</td>\n<td>Size of time picker</td>\n<td>&apos;small&apos; | &apos;medium&apos; | &apos;large&apos;</td>\n<td>&apos;medium&apos;</td>\n<td></td>\n</tr>\n<tr>\n<td>state</td>\n<td>Input state</td>\n<td>&apos;error&apos; | &apos;success&apos;</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>hasClear</td>\n<td>Whether to allow clearing time</td>\n<td>boolean</td>\n<td>true</td>\n<td></td>\n</tr>\n<tr>\n<td>format</td>\n<td>Time format</td>\n<td>string</td>\n<td>&apos;HH:mm:ss&apos;</td>\n<td></td>\n</tr>\n<tr>\n<td>hourStep</td>\n<td>Hour option step</td>\n<td>number</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>minuteStep</td>\n<td>Minute option step</td>\n<td>number</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>secondStep</td>\n<td>Second option step</td>\n<td>number</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>renderTimeMenuItems</td>\n<td>Render the selectable time list<br><br><strong>signature</strong>:<br><strong>params</strong>:<br><em>list</em>: list<br><em>mode</em>: mode<br><em>value</em>: value</td>\n<td>(<br> list: Array&lt;TimeMenuListItem&gt;,<br> mode: TimeMenuProps[&apos;mode&apos;],<br> value: TimeMenuProps[&apos;value&apos;]<br> ) =&gt; Array&lt;TimeMenuListItem&gt;</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>visible</td>\n<td>Popup layer display status (controlled)</td>\n<td>boolean</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>defaultVisible</td>\n<td>Popup layer default display status (uncontrolled)</td>\n<td>boolean</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>popupContainer</td>\n<td>Popup layer container</td>\n<td>string | HTMLElement | ((target: HTMLElement) =&gt; HTMLElement)</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>popupAlign</td>\n<td>Popup layer alignment, see Overlay documentation</td>\n<td>string</td>\n<td>&apos;tl bl&apos;</td>\n<td></td>\n</tr>\n<tr>\n<td>popupTriggerType</td>\n<td>Popup layer trigger type</td>\n<td>&apos;click&apos; | &apos;hover&apos;</td>\n<td>&apos;click&apos;</td>\n<td></td>\n</tr>\n<tr>\n<td>onVisibleChange</td>\n<td>Callback when the popup layer display status changes</td>\n<td>(visible: boolean, reason?: string) =&gt; void</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>popupStyle</td>\n<td>Popup layer custom style</td>\n<td>CSSProperties</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>popupClassName</td>\n<td>Popup layer custom style class</td>\n<td>string</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>popupProps</td>\n<td>Popup layer property</td>\n<td>PopupProps</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>followTrigger</td>\n<td>Follow trigger element</td>\n<td>boolean</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>hasBorder</td>\n<td>Whether the input has border</td>\n<td>boolean</td>\n<td>true</td>\n<td></td>\n</tr>\n<tr>\n<td>isPreview</td>\n<td>Is preview</td>\n<td>boolean</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>renderPreview</td>\n<td>Content of preview mode</td>\n<td>(value: ValueType, props: TimePickerProps) =&gt; ReactNode</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>inputProps</td>\n<td>Custom input property</td>\n<td>InputProps</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>disabledHours</td>\n<td>For the disabled hours function, if it&apos;s a TimePicker.RangePicker, the function should return a number[] and it shouldn&apos;t have an index parameter. If it&apos;s not a TimePicker.RangePicker, the function should return a boolean and it should have an index parameter.</td>\n<td>(index?: number) =&gt; boolean | number[]</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>disabledMinutes</td>\n<td>For the disabled minutes function, if it&apos;s a TimePicker.RangePicker, the function should return a number[] and it shouldn&apos;t have an index parameter. If it&apos;s not a TimePicker.RangePicker, the function should return a boolean and it should have an index parameter.</td>\n<td>(index?: number) =&gt; boolean | number[]</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>disabledSeconds</td>\n<td>For the disabled seconds function, if it&apos;s a TimePicker.RangePicker, the function should return a number[] and it shouldn&apos;t have an index parameter. If it&apos;s not a TimePicker.RangePicker, the function should return a boolean and it should have an index parameter.</td>\n<td>(index?: number) =&gt; boolean | number[]</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>disabled</td>\n<td>Disable</td>\n<td>boolean | boolean[]</td>\n<td>false</td>\n<td></td>\n</tr>\n<tr>\n<td>placeholder</td>\n<td>Input hint</td>\n<td>string | string[]</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>value</td>\n<td>Time value (Dayjs object or time string, controlled state use)</td>\n<td>Array&lt;ConfigType&gt;</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>defaultValue</td>\n<td>Time init value (Dayjs object or time string, uncontrolled state use)</td>\n<td>Array&lt;ConfigType&gt;</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>onChange</td>\n<td>Callback when the time value changes</td>\n<td>(value: Array&lt;Dayjs&gt;) =&gt; void</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>onOk</td>\n<td>Callback when the ok button is clicked</td>\n<td>(value: Array&lt;Dayjs&gt;) =&gt; void</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>preset</td>\n<td>Rreset values, shown below the time panel.<br>Can be object or array of object, with the following properties.<br>properties:<br> label: shown text<br> name: key of React element, can be empty, and index will become key instead<br> value: date value</td>\n<td>PresetType[]</td>\n<td>-</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n<h2 id=\"ARIA And Key Board\">ARIA and KeyBoard <a class=\"header-anchor scroll-count-item\" href=\"#ARIA And Key Board\" data-scroll-id=\"ARIA And Key Board\">#</a></h2>\n<table>\n<thead>\n<tr>\n<th style=\"text-align:left\">&#x6309;&#x952E;</th>\n<th style=\"text-align:left\">&#x8BF4;&#x660E;</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td style=\"text-align:left\">Enter</td>\n<td style=\"text-align:left\">Open time select popup</td>\n</tr>\n<tr>\n<td style=\"text-align:left\">Esc</td>\n<td style=\"text-align:left\">Close time select popup</td>\n</tr>\n<tr>\n<td style=\"text-align:left\">Up</td>\n<td style=\"text-align:left\">Input previous seconds &#xFF08;if <code>disabledMinutes={true}</code> is previous minutes or previous hours&#xFF09;</td>\n</tr>\n<tr>\n<td style=\"text-align:left\">Down</td>\n<td style=\"text-align:left\">Input next seconds &#xFF08;if <code>disabledMinutes={true}</code> is next minutes or next hours&#xFF09;</td>\n</tr>\n<tr>\n<td style=\"text-align:left\">Page Up</td>\n<td style=\"text-align:left\">Input previous minutes</td>\n</tr>\n<tr>\n<td style=\"text-align:left\">Page Down</td>\n<td style=\"text-align:left\">Input next minutes</td>\n</tr>\n<tr>\n<td style=\"text-align:left\">Alt + Page Up</td>\n<td style=\"text-align:left\">Input previous hours</td>\n</tr>\n<tr>\n<td style=\"text-align:left\">Alt + Page Down</td>\n<td style=\"text-align:left\">Input next hours</td>\n</tr>\n</tbody>\n</table>\n"}