in src/query-assist/query-assist.tsx [879:918]
renderQuery() {
const {dirty, styleRanges, query} = this.state;
const classes: string[] = [];
const LETTER_CLASS = 'letter';
const LETTER_DEFAULT_CLASS = styles.letterDefault;
if (styleRanges && styleRanges.length) {
styleRanges.forEach((item, index) => {
if (dirty && index === styleRanges.length - 1 && item.style === 'text') {
return;
}
const styleName = `${LETTER_CLASS}-${item.style.replace('_', '-')}`;
for (let i = item.start; i < item.start + item.length; i++) {
classes[i] = styles[styleName];
}
});
}
return (
query &&
Array.from(query).map((letter, index, letters) => {
const className = classNames(styles.letter, classes[index] || LETTER_DEFAULT_CLASS);
const dataTest = letters.length - 1 === index ? 'ring-query-assist-last-letter' : null;
// \u00a0 ===
return (
<span
// eslint-disable-next-line react/no-array-index-key
key={index + letter}
className={className}
data-test={dataTest}
>
{letter === ' ' ? '\u00a0' : letter}
</span>
);
})
);
}