JSFiddle - React, Tailwind, and code Playground

HTML

<script defer="" src="https://unpkg.com/imask"></script>
<input id="date" type="text" value="">

JavaScript

var dateMask = new IMask(document.getElementById('date'), {
  mask: Date,  // enable date mask

  // other options are optional
  pattern: 'Y-m-d',
  // define date -> str convertion
  format: function (date) {
    var day = date.getDate();
    var month = date.getMonth() + 1;
    var year = date.getFullYear();

    if (day < 10) day = "0" + day;
    if (month < 10) month = "0" + month;
    return [year, month, day].join('-');
  },
  // define str -> date convertion
  parse: function (str) {
    var yearMonthDay = str.split('-');
    return new Date(yearMonthDay[0], yearMonthDay[1] - 1, yearMonthDay[2]);
  },
});