static camelize(str, separator = '-', removeData = true, skipFirstWord = true) {
        if (this.isNull(str)) {
            return null;
        }

        if (removeData) {
            str = str.replace(/^data-/, '');
        }

        // Cut the string into words
        const words = str.split(separator);

        // Capitalize each word
        let result = words.map(word => `${word.charAt(0).toUpperCase()}${word.slice(1)}`);

        // Then concatenate them back
        result = result.join('');

        if (skipFirstWord) {
            // Skip the very first letter
            result = `${result.charAt(0).toLowerCase()}${result.slice(1)}`;
        }

        return result;
    }
Return a 'camelized' version of the given string.
By default, this assume that :
- the separators are hyphens '-',
- the 'data-' string should be removed, and
- that the very first word should not be capitalized.

@example camelize('data-currency-symbol') => 'currencySymbol'

@param {string} str Text to camelize
@param {string} separator Character that separate each word
@param {boolean} removeData If set to `true`, remove the `data-` part that you can find on some html attributes
@param {boolean} skipFirstWord If set to `true`, do not capitalize the very first word
@returns {string|null}