diff --git a/src/scripts/components/input.js b/src/scripts/components/input.js index 74dd755..f7cfcd5 100644 --- a/src/scripts/components/input.js +++ b/src/scripts/components/input.js @@ -1,4 +1,4 @@ -import { calcWidthOfInput, escape } from '../lib/utils'; +import { calcWidthOfInput, stripHTML } from '../lib/utils'; export default class Input { constructor({ element, type, classNames, placeholderValue }) { @@ -25,7 +25,7 @@ export default class Input { } get value() { - return escape(this.element.value); + return stripHTML(this.element.value); } addEventListeners() { diff --git a/src/scripts/constants.js b/src/scripts/constants.js index 1bb189d..ba09816 100644 --- a/src/scripts/constants.js +++ b/src/scripts/constants.js @@ -1,4 +1,4 @@ -import { escape } from './lib/utils'; +import { stripHTML } from './lib/utils'; export const DEFAULT_CLASSNAMES = { containerOuter: 'choices', @@ -63,7 +63,7 @@ export const DEFAULT_CONFIG = { noChoicesText: 'No choices to choose from', itemSelectText: 'Press to select', uniqueItemText: 'Only unique values can be added.', - addItemText: value => `Press Enter to add "${escape(value)}"`, + addItemText: value => `Press Enter to add "${stripHTML(value)}"`, maxItemText: maxItemCount => `Only ${maxItemCount} values can be added.`, itemComparer: (choice, item) => choice === item, fuseOptions: { diff --git a/src/scripts/lib/utils.js b/src/scripts/lib/utils.js index 12926eb..d7aaadc 100644 --- a/src/scripts/lib/utils.js +++ b/src/scripts/lib/utils.js @@ -189,7 +189,7 @@ export const isScrolledIntoView = (el, parent, direction = 1) => { * @param {String} html Initial string/html * @return {String} Sanitised string */ -export const escape = html => +export const stripHTML = html => html.replace(/&/g, '&') .replace(/>/g, '&rt;') .replace(/ { let width = input.offsetWidth; if (value) { - const testEl = strToEl(`${escape(value)}`); + const testEl = strToEl(`${stripHTML(value)}`); testEl.style.position = 'absolute'; testEl.style.padding = '0'; testEl.style.top = '-9999px';