I suggest using a custom place holder and conditional rendering. Kendo uses classes to get the style of a floating label, the nested span will achieve that. I have added the code snippet I tried, but since I am not familiar with React, I could not get the conditional rendering to work.

import * as React from 'react';
import * as ReactDOM from 'react-dom';

import { dataProducts, dataCategories, dataOrders } from './data';
import { DateInput, Calendar, DatePicker, TimePicker, MultiViewCalendar, DateRangePicker } from '@progress/kendo-react-dateinputs';
class App extends React.Component {
    render() {
      const isFocused = false;
        return (
            <div>
                <div>
                    <p>DatePicker</p>                    
                    {isFocused
                     ?  <span class="k-textbox-container k-state-focused k-state-empty"><span class="k-label">Select Order Date</span></span>
                     : null}

                    <div onFocus = {this.onFocusDatePickerInput} onBlur = {this.onBlurDatePickerInput} >
                        <DatePicker format="MM dd yyyy" formatPlaceholder={{ year: 'Date', month: 'Select', day: 'Order' }} 
                                    onChange={this.changeDate} />
                    </div>
                </div>
            </div>
        );
    }

    changeDate = (event) => {
      console.log(event.value)
       if(event.value){
        this.format= "MM/dd/yyyy";
        this.setState({ value: event.value });
        }
    }

    onFocusDatePickerInput = () => 
    {
      this.isFocused = true;
      console.log(this.isFocused)
    }

    onBlurDatePickerInput = () => 
    {
      this.isFocused = false;
      console.log(this.isFocused)
    }

}

ReactDOM.render(
    <App />,
    document.querySelector('my-app')
);
Answer from Marissa Fernandes on Stack Overflow
🌐
MDBootstrap
mdbootstrap.com › standard › material design for bootstrap 5 & vanilla javascript
Floating label for date picker - Material Design for Bootstrap
<div style={{ position: "relative" }}> <MDBDatePicker getValue={this.getPickerValue} /> <label className="black-text" style={{ fontSize: "11px" ,position: "absolute", top: "-15px", left: "0px" }}>Label</label> </div> As you can see Datepicker and Label will be rendered inside of div with position: relative(div's heigth will be set to height of datepicker) and you will be able to set position of label relatively on div position.
🌐
Telerik
telerik.com › components › date inputs › datepicker › floating labels
React Date Inputs DatePicker Floating Labels - KendoReact
You can specify a floating label for the input field by setting the label property of the DateInput. Also, to disable the default date mask of the DatePicker when no value is present, set its placeholder value to an empty string.
🌐
Telerik
feedback.telerik.com › kendo-react-ui › 1403400-add-floating-labels-on-the-datepicker-and-datetimepicker
Add floating labels on the DatePicker and DateTimePicker
April 3, 2019 - To update anyone following this item, as well as anyone landing on this page at a later time, with the 4.6.0 release of KendoReact (or R2 2021 for those more familiar with the regular Kendo UI releases) we introduced built-in floating labels for both the DatePicker and DateTimePicker:
🌐
Syncfusion
ej2.syncfusion.com › domain url › react › documentation › datepicker › customization
Customization in React DatePicker | Syncfusion
April 9, 2026 - } } return ( // specifies the tag for render the DatePicker component <DatePickerComponent id="datepicker" cssClass="e-custom-style" renderDayCell={onRenderDayCell} placeholder="Enter date"/> ); } ReactDOM.render(<App />, document.getElementById('element')); Preview SampleOpen in Stackblitz · You can add a mandatory asterisk(*) to placeholder and float label using .e-input-group.e-control-wrapper.e-float-input .e-float-text::after class.
🌐
Telerik
telerik.com › kendo-react-ui › datepicker
React DatePicker | KendoReact UI Library
The React DatePicker supports adding floating labels as part of its input. This feature displays an initial message within the component, which then floats outside the component when the user enters the input.
🌐
Syncfusion
react.syncfusion.com › react-ui › datepicker
React DatePicker Component | Syncfusion
"Auto": The floating label will float above the input after focusing or entering a value in the input. ... The DatePicker component supports helperText prop, which accepts a ReactNode to display contextual hint, error, or success messages below ...
🌐
Primereact
v9.primereact.org › calendar
PrimeReact | React UI Component Library
A floating label appears on top of the input field when focused.
🌐
Telerik
telerik.com › components › date inputs › datetimepicker › floating labels
React Date Inputs DateTimePicker Floating Labels - KendoReact
December 19, 2025 - You can specify a floating label for the input field by setting the label property of the DateInput.
Find elsewhere
🌐
GitHub
github.com › GeekyAnts › NativeBase › issues › 2354
Datepicker with Item floatingLabel not working · Issue #2354 · GeekyAnts/NativeBase
November 11, 2018 - node v8.11.1, npm 5.6.0, react-native 0.57.1, react 16.5.0 and native-base 2.8.0 · Expected to open Datepicker when click an Item floating label. But, when the Item has "floatingLabel" flag, Datepicker do not open anyway. I searched a lot here, in the docs and in StackOverflow, but seems that anyone experienced this before.
Author: GeekyAnts
🌐
npm
npmjs.com › package › floating-label-react
floating-label-react - npm
This react component exists to provide a simple API for floating label inputs in react, while still being fully customizeable.
      » npm install floating-label-react
    
Published: Aug 30, 2020
Version: 1.0.3
Author: Mike Engel
🌐
GitHub
github.com › mui › material-ui › issues › 4468
[DatePicker] Floating label eats click events · Issue #4468 · mui/material-ui
Click next to the "Ranged Date Picker" label but inside the DatePicker component: The date picker dialog opens · Material-UI: Confirmed in 0.15.0 and 0.14.4 · React: 15 · Browser: Chrome · The text was updated successfully, but these errors were encountered: nicolayr changed the title · [DatePicker] Floating label text eats click events ·
Author: mui
🌐
React Datepicker
reactdatepicker.com
React Datepicker crafted by HackerOne
const CloseOnScrollCallback = () => { const [selectedDate, setSelectedDate] = useState<Date | null>(new Date()); return ( <DatePicker closeOnScroll={(e: Event): boolean => e.target === document} selected={selectedDate} onChange={setSelectedDate} /> ); }; render(CloseOnScrollCallback); Full docs for the underlying library that manages the overlay used can be found at floating-ui.com
🌐
CoreUI
coreui.io › react › documentation › forms › date picker › api
React Date Picker Component API · CoreUI
August 16, 2026 - React.js · Angular · JavaScript / Vanilla JS · Vue.js · Getting Started · Introduction · Accessibility · AI Tools · LLMs.txt · MCP Server · Customize · Sass · Options · CSS Variables · Layout · Breakpoints · Containers · Grid · Columns · Gutters · Forms · AutocompleteNEWPRO · Checkbox · Chip InputNew · Date PickerPRO · Date Range PickerPRO · Floating Labels ·
🌐
Telerik
telerik.com › kendo-react-ui › datetimepicker
React DateTimePicker | KendoReact UI Library
The React DateTimePicker supports adding floating labels as part of its input. This feature displays an initial message within the component, which then floats outside the component when the user enters the input.
🌐
GitHub
github.com › mui › material-ui › issues › 3908
[DatePicker] Datepicker not opening with floatingLabelText set · Issue #3908 · mui/material-ui
Material-UI: 0.14.4 React: 0.14.7 Browser: Chrome · The text was updated successfully, but these errors were encountered: FragginWagon changed the title · DatePicker not opening with floatingLabelText set · [DatePicker] Datepicker not opening with floatingLabelText set · Apr 8, 2016 · Copy link · Author · I was looking into this and it appears the label that is generated using floatingLabelText has a z-index of 1.
Author: mui
🌐
Telerik
telerik.com › forums › kendo-react-datepicker-with-clearbutton-should-reset-to-initial-placeholder-floating-label-state
Kendo React DatePicker with clearButton should reset to initial placeholder + floating label state in KendoReact | Telerik Forums
August 18, 2025 - I’m using the Kendo React DatePicker with dateInput and clearButton={true}. ... Initial state: The input shows the floating label (Date Start) and the placeholder (dd.MM.yyyy.).
Top answer
1 of 3
29
  • Just provide the initial value of date as null (in your state) then it will work the way you expected.
  • Also you can use emptyLabel prop to provide custom placeholder when date is null

see demo in codesandbox here

code

function App() {
  const [dob, setDob] = useState(null); //<--- pass initial value as null
  const handleDateChange = date => {
    setDob(date);
  };

  return (
    <MuiPickersUtilsProvider utils={DateFnsUtils}>
      <DatePicker
        fullWidth
        onChange={handleDateChange}
        value={dob}
        label="Date of Birth"
        format="dd / MM / yyyy"
        margin="normal"
        maxDate={new Date()}
        emptyLabel="custom label" //<--- custom placeholder when date is null
        //  InputProps={{ className: css.datepicker }}
      />
    </MuiPickersUtilsProvider>
  );
}

Edit: answering follow-up qns based on comment.

  1. Remove the floating label when date is null - provide value to label when dob has a value
label={dob && "Date of Birth"}
  1. Apply styles for Empty label - Use makeStyles and InputProps
const useStyles = makeStyles(theme => ({
  datepicker: {
    margin: "2px 0px 2px 0px",
    height: "60px",
    // width: 'fit-content',
    padding: "20px 15px 10px",
    borderBottom: "2px solid blue",
    backgroundColor: "#fff",
    color: "#2c2c2c",
    width: 300,
    fontWeight: 600
  }
}));

function App() {
  const [dob, setDob] = useState(null); //<--- pass initial value as null
  const classes = useStyles();
  const handleDateChange = date => {
    setDob(date);
  };

  return (
    <MuiPickersUtilsProvider utils={DateFnsUtils}>
      <DatePicker
        fullWidth
        onChange={handleDateChange}
        value={dob}
        label={dob && "Date of Birth"}
        format="dd / MM / yyyy"
        margin="normal"
        maxDate={new Date()}
        emptyLabel="custom label" //<--- custom placeholder when date is null
        InputProps={{ className: !dob ? classes.datepicker : null }} //<----apply style when no date selected
      />
    </MuiPickersUtilsProvider>
  );
}

The codesandbox demo has been updated to reflect all the points above.

2 of 3
0

This code will cause that MUI DatePicker will not display error when date value is null/undefined:

<LocalizationProvider dateAdapter={AdapterDayjs}>
  <DatePicker
    value={birthDate != null ? dayjs(birthDate) : null}
    onChange={(newValue) => setBirthDate(newValue)}
  />
</LocalizationProvider>
🌐
Flowbite React
flowbite-react.com › docs › components › datepicker
React Datepicker - Flowbite
The Datepicker component from Flowbite React is an advanced UI element that you can use to allow users to pick a date from a calendar view by selecting the day, month, and year values which then will be available in the input field and state of the component.
🌐
React Suite
rsuitejs.com › home › components › datepicker
DatePicker - React Suite
When the DatePicker component has editable={false} set to disable input, use ↓ to move focus to the calendar. type Placement = | 'bottomStart' | 'bottomEnd' | 'topStart' | 'topEnd' | 'leftStart' | 'leftEnd' | 'rightStart' | 'rightEnd' | 'auto' | 'autoVerticalStart' | 'autoVerticalEnd' | 'autoHorizontalStart' | 'autoHorizontalEnd'; interface Range { label: ReactNode; value: Date | ((date: Date) => Date); closeOverlay?: boolean; // Sets the position where the predefined range is displayed, the default is bottom.