UNPKG

@atlaskit/renderer

Version:
48 lines (46 loc) 2.25 kB
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'; const Date = /*#__PURE__*/memo(function Date(props) { const inlineAnnotationProps = useInlineAnnotationProps(props); const { timestamp, parentIsIncompleteTask, intl } = props; const { timeZone } = useRendererContext(); const 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 const DateComponent = injectIntl(Date); function DateWithFormatContext(props) { const [isChecked] = useTaskItemsFormatContext(); let 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;