feature(input): Optional callback overrides the default updateInputText() method

We love your component, but are having some difficulties with our integration. 

In certain cases, we want not only buttons to represent "humanized" date ranges (e.g. "Past 7 Days"), but we also want our input field to reflect the same humanized string.

Unfortunately, the design of the `updateInputText()` method makes preserving the desired string impossible, because it will be overwritten (with explicit dates) even if the dialog is closed without changing the value.

Our proposed solution is to abstract the original method into either executing an optional callback method for updating the input field (as the `updateInputText` optional parameter) or failing that, the default callback method is called.

Please let me know if there's anything I can do to help advance this PR and get it merged for a future release. Thanks!