/** * External dependencies */ import { __, _x } from '@wordpress/i18n'; import { Flex, FlexItem, RadioControl, // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore - Ignoring because `__experimentalToggleGroupControl` is not yet in the type definitions. // eslint-disable-next-line @wordpress/no-unsafe-wp-apis __experimentalToggleGroupControl as ToggleGroupControl, // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore - Ignoring because `__experimentalToggleGroupControlOption` is not yet in the type definitions. // eslint-disable-next-line @wordpress/no-unsafe-wp-apis __experimentalToggleGroupControlOption as ToggleGroupControlOption, // @ts-expect-error Using experimental features // eslint-disable-next-line @wordpress/no-unsafe-wp-apis __experimentalToolsPanelItem as ToolsPanelItem, } from '@wordpress/components'; /** * Internal dependencies */ import { ETimeFrameOperator, QueryControlProps } from '../types'; const CreatedControl = ( props: QueryControlProps ) => { const { query, setQueryAttribute } = props; const { timeFrame } = query; return ( timeFrame?.operator && timeFrame?.value } onDeselect={ () => { setQueryAttribute( { timeFrame: undefined, } ); } } > { setQueryAttribute( { timeFrame: { ...timeFrame, operator: value, }, } ); } } value={ timeFrame?.operator || ETimeFrameOperator.IN } > { setQueryAttribute( { timeFrame: { operator: ETimeFrameOperator.IN, ...timeFrame, value, }, } ); } } options={ [ { label: 'last 24 hours', value: '-1 day', }, { label: 'last 7 days', value: '-7 days', }, { label: 'last 30 days', value: '-30 days', }, { label: 'last 3 months', value: '-3 months', }, ] } selected={ timeFrame?.value } /> ); }; export default CreatedControl;