JSFiddle - React, Tailwind, and code Playground

HTML

<div class="input">
  <input id="app" type="password">
  <div class="mask"></div>
</div>

CSS

.input {
  position: relative;
  display: inline-block;
}

.input input { color: transparent; }
.input .mask {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
}

JavaScript

var $app = $('#app');
var $mask = $('.mask');
$app.on("input", function() {
  $mask.text('*'.repeat($app.val().length));
})