UNPKG

@atlaskit/renderer

Version:
48 lines (46 loc) 2.52 kB
import _slicedToArray from "@babel/runtime/helpers/slicedToArray"; import _extends from "@babel/runtime/helpers/extends"; import React, { memo } from 'react'; import { DateSharedCssClassName } from '@atlaskit/editor-common/styles'; import { isPastDate, timestampToString, timestampToTaskContext } from '@atlaskit/editor-common/utils'; import { injectIntl } from 'react-intl'; import { useRendererContext } from '../../renderer-context'; import { useTaskItemsFormatContext } from '../../ui/TaskItemsFormatContext/TaskItemsFormatContext'; import { useInlineAnnotationProps } from '../../ui/annotations/element/useInlineAnnotationProps'; var Date = /*#__PURE__*/memo(function Date(props) { var inlineAnnotationProps = useInlineAnnotationProps(props); var timestamp = props.timestamp, parentIsIncompleteTask = props.parentIsIncompleteTask, intl = props.intl; var _useRendererContext = useRendererContext(), timeZone = _useRendererContext.timeZone; var className = !!parentIsIncompleteTask && isPastDate(timestamp, timeZone) ? 'date-node date-node-highlighted' : 'date-node'; return /*#__PURE__*/React.createElement("span", _extends({ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766 className: DateSharedCssClassName.DATE_WRAPPER // Ignored via go/ees005 // eslint-disable-next-line react/jsx-props-no-spreading }, inlineAnnotationProps), /*#__PURE__*/React.createElement("span", { // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766 className: className, "data-node-type": "date", "data-timestamp": timestamp }, parentIsIncompleteTask ? timestampToTaskContext(timestamp, intl, timeZone) : timestampToString(timestamp, intl))); }); // eslint-disable-next-line @typescript-eslint/ban-types export var DateComponent = injectIntl(Date); function DateWithFormatContext(props) { var _useTaskItemsFormatCo = useTaskItemsFormatContext(), _useTaskItemsFormatCo2 = _slicedToArray(_useTaskItemsFormatCo, 1), isChecked = _useTaskItemsFormatCo2[0]; var parentIsIncompleteTask = props.parentIsIncompleteTask; if (typeof isChecked !== 'undefined') { parentIsIncompleteTask = !isChecked; } // Ignored via go/ees005 // eslint-disable-next-line react/jsx-props-no-spreading return /*#__PURE__*/React.createElement(DateComponent, _extends({}, props, { parentIsIncompleteTask: parentIsIncompleteTask })); } export default DateWithFormatContext;