@gechiui/components
Version:
UI components for GeChiUI.
89 lines (82 loc) • 3.68 kB
JavaScript
import { createElement, Fragment } from "@gechiui/element";
/**
* External dependencies
*/
// Needed to initialise the default datepicker styles.
// See: https://github.com/airbnb/react-dates#initialize
import 'react-dates/initialize';
import { noop } from 'lodash';
/**
* GeChiUI dependencies
*/
import { useState, forwardRef } from '@gechiui/element';
import { __, _x } from '@gechiui/i18n';
/**
* Internal dependencies
*/
import Button from '../button';
import { default as DatePicker } from './date';
import { default as TimePicker } from './time';
export { DatePicker, TimePicker };
function DateTimePicker(_ref, ref) {
let {
currentDate,
is12Hour,
isInvalidDate,
onMonthPreviewed = noop,
onChange,
events
} = _ref;
const [calendarHelpIsVisible, setCalendarHelpIsVisible] = useState(false);
function onClickDescriptionToggle() {
setCalendarHelpIsVisible(!calendarHelpIsVisible);
}
return createElement("div", {
ref: ref,
className: "components-datetime"
}, !calendarHelpIsVisible && createElement(Fragment, null, createElement(TimePicker, {
currentTime: currentDate,
onChange: onChange,
is12Hour: is12Hour
}), createElement(DatePicker, {
currentDate: currentDate,
onChange: onChange,
isInvalidDate: isInvalidDate,
events: events,
onMonthPreviewed: onMonthPreviewed
})), calendarHelpIsVisible && createElement(Fragment, null, createElement("div", {
className: "components-datetime__calendar-help"
}, createElement("h4", null, __('点击以选择')), createElement("ul", null, createElement("li", null, __('点击左右箭头来选择过去或将来的月份。')), createElement("li", null, __('点击您期望的日期来选择。'))), createElement("h4", null, __('用键盘导航')), createElement("ul", null, createElement("li", null, createElement("abbr", {
"aria-label": _x('Enter', 'keyboard button')
}, "\u21B5"), ' '
/* JSX removes whitespace, but a space is required for screen readers. */
, createElement("span", null, __('选择当前高亮的日期。'))), createElement("li", null, createElement("abbr", {
"aria-label": __('左右方向键')
}, "\u2190/\u2192"), ' '
/* JSX removes whitespace, but a space is required for screen readers. */
, __('向前(左)或向后(右)移动一天。')), createElement("li", null, createElement("abbr", {
"aria-label": __('上下方向键')
}, "\u2191/\u2193"), ' '
/* JSX removes whitespace, but a space is required for screen readers. */
, __('向前(上)或向后(下)移动一周。')), createElement("li", null, createElement("abbr", {
"aria-label": __('Page Up和Page Down')
}, __('PgUp/PgDn')), ' '
/* JSX removes whitespace, but a space is required for screen readers. */
, __('向前(PgUp)或向后(PgDn)移动一个月。')), createElement("li", null, createElement("abbr", {
"aria-label": __('Home和End')
}, __('Home/End')), ' '
/* JSX removes whitespace, but a space is required for screen readers. */
, __('转到一周的第一天(Home)或最后一天(End)。'))))), createElement("div", {
className: "components-datetime__buttons"
}, !calendarHelpIsVisible && currentDate && createElement(Button, {
className: "components-datetime__date-reset-button",
variant: "link",
onClick: () => onChange(null)
}, __('重置')), createElement(Button, {
className: "components-datetime__date-help-toggle",
variant: "link",
onClick: onClickDescriptionToggle
}, calendarHelpIsVisible ? __('关闭') : __('日历帮助'))));
}
export default forwardRef(DateTimePicker);
//# sourceMappingURL=index.js.map