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));
})