When I create a component I design for a many use cases in as short a time period as possible. It is often easier to sketch out many ideas than to concentrate on one assumption. Each approach can be discussed and possible outputs tested with customers.
This "creative" method allows for an experience to be formed as a conversation between the people who use the software and the people who create it. Below are a few examples of one component that can either manifest as multiple states of the same component or one approach that can acommodate as many of the use cases as possible.
Provide a set of the most used selections for quick access. When a user clicks on the timeframe, the page, window or component will refilter the data and view to show that time frame. In order to provide a specific timeframe, the user clicks on "custom" to open a date range picker.
Set range to default (dates will show in the charts) and allow the user to enter a custom range.
Set ranges separately for beginning and end dates.