Install the dependency
npm install singleline --save-dev
import singleline from 'singleline';
...
<div
className={singleline(`
rrs__select-container
rrs__select-container--multiselect
${(disabled === true) ? 'rrs__select-container--disabled' : ''}
${(isTouchDevice === true) ? 'rrs__is-touch' : 'rrs__is-desktop'}
${(isOptionsPanelOpen === true) ? 'rrs__options-container--visible' : ''}
${altered ? 'rrs__has-changed': ''}
`)}
>
Some output
</div>
// className="rrs__select-container rrs__select-container--multiselect rrs__is-desktop rrs__options-container--visible"
Passing second parameter in as true
, removes spaces around the HTML tags but it still respects the spaces in the contents of the tags and attributes.
import singleline from 'singleline';
var testMultilineHTMLString = singleline(`
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>GDD - Giphy Github embed Gif code explorer</title>
<link href="css/styleguide.css" rel="stylesheet">
</head>
<body>
<div id="root" class="root"></div>
<script src="app.js"></script>
</body>
</html>
`, true);
console.log(testMultilineHTMLString);
// '<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>GDD - Giphy Github embed Gif code explorer</title><link href="css/styleguide.css" rel="stylesheet"></head><body><div id="root" class="root"></div><script src="app.js"></script></body></html>'