I created the following subFlow in node-red that takes a percentage and calculate a bottom progress bar. I see node-red library code blocks and a multi bar block will be a little bit complex. Perhaps this subflow could be used by other people.
[{"id":"23699a20.dfc566","type":"subflow","name":"ProgressBar","info":"","category":"","in":[{"x":40,"y":80,"wires":[{"id":"580af7d4.a01908"}]}],"out":[{"x":580,"y":80,"wires":[{"id":"7e1026ad.440488","port":0}]}],"env":[{"name":"Color1R","type":"str","value":"255"},{"name":"Color1G","type":"str","value":"255"},{"name":"Color1B","type":"str","value":"255"},{"name":"Color2R","type":"str","value":"0"},{"name":"Color2G","type":"str","value":"128"},{"name":"Color2B","type":"str","value":"255"}],"color":"#DDAA99"},{"id":"7e1026ad.440488","type":"function","z":"23699a20.dfc566","name":"ProgressBar","func":"\nif (msg.percentage > 100) {\n msg.percentage = 100;\n}\nif (msg.percentage < 0) {\n msg.percentage = 0;\n}\nvar parts = Math.round(msg.percentage/4.5454);\n\nif (parts === 0) {\n msg.bars = JSON.stringify([\n {\n \"position\": {\n \"x\": 9,\n \"y\": 7,\n \"x2\": 30,\n \"y2\": 7\n },\n \"color\": msg.barColors.emptyColor\n }\n ]);\n} else if (parts === 22) {\n msg.bars = JSON.stringify([\n {\n \"position\": {\n \"x\": 9,\n \"y\": 7,\n \"x2\": 30,\n \"y2\": 7\n },\n \"color\": msg.barColors.fillColor\n }\n ]);\n} else {\n msg.bars = JSON.stringify([\n {\n \"position\": {\n \"x\": 9,\n \"y\": 7,\n \"x2\": 8 + parts,\n \"y2\": 7\n },\n \"color\": msg.barColors.fillColor\n },\n {\n \"position\": {\n \"x\": 9 + parts,\n \"y\": 7,\n \"x2\": 30,\n \"y2\": 7\n },\n \"color\": msg.barColors.emptyColor\n }\n ]);\n \n}\n\nreturn msg;\n","outputs":1,"noerr":0,"x":430,"y":80,"wires":[[]]},{"id":"580af7d4.a01908","type":"function","z":"23699a20.dfc566","name":"generateColors","func":"msg.barColors = {\n emptyColor : {\n r: env.get(\"Color1R\"),\n g: env.get(\"Color1G\"),\n b: env.get(\"Color1B\")\n },\n fillColor: {\n r: env.get(\"Color2R\"),\n g: env.get(\"Color2G\"),\n b: env.get(\"Color2B\")\n }\n};\nreturn msg;","outputs":1,"noerr":0,"x":200,"y":80,"wires":[["7e1026ad.440488"]]}]


Thank you very much.