/** * WordPress dependencies */ import { DateTimePicker, TimePicker } from '../../../components'; import { __ } from '../../../i18n'; import { forwardRef } from '../../../element'; import { getSettings } from '../../../date'; /** * Internal dependencies */ import InspectorPopoverHeader from '../inspector-popover-header'; import { RefAttributes, LegacyRef } from 'react'; import { JSX } from 'react/jsx-runtime'; type PublishDateTimePickerProps = { onClose?: () => void; onChange?: ( date: string | null ) => void; showPopoverHeaderActions?: boolean; isCompact?: boolean; currentDate?: string; title?: string; [ key: string ]: unknown; }; export function PublishDateTimePicker( { onClose, onChange, showPopoverHeaderActions, isCompact, currentDate, title, ...additionalProps }: PublishDateTimePickerProps, ref: React.Ref< HTMLDivElement > ): JSX.Element { const datePickerProps = { startOfWeek: getSettings().l10n.startOfWeek, onChange, currentDate: isCompact ? undefined : currentDate, currentTime: isCompact ? currentDate : undefined, ...additionalProps, }; const DatePickerComponent = isCompact ? TimePicker : DateTimePicker; return (
onChange?.( null ), }, ] : undefined } onClose={ onClose } />
); } export const PrivatePublishDateTimePicker = forwardRef( PublishDateTimePicker ); function PublicPublishDateTimePicker( props: JSX.IntrinsicAttributes & Omit< PublishDateTimePickerProps, 'ref' > & RefAttributes< HTMLDivElement >, ref: LegacyRef< HTMLDivElement > | undefined ) { return ( ); } export default forwardRef( PublicPublishDateTimePicker );