constructor(options) {
    /**
     * The options for this component.
     * @type {{}}
     */
    this.options = Object.assign({
      language: 'en',
      highlightErrors: true,
      componentErrorClass: 'formio-error-wrapper',
      componentWarningClass: 'formio-warning-wrapper',
      row: '',
      namespace: 'formio'
    }, options || {});

    /**
     * The ID of this component. This value is auto-generated when the component is created, but
     * can also be provided from the component.id value passed into the constructor.
     * @type {string}
     */
    this.id = FormioUtils.getRandomComponentId();
    /**
     * An array of event handlers so that the destry command can deregister them.
     * @type {Array}
     */
    this.eventHandlers = [];

    // Use the i18next that is passed in, otherwise use the global version.
    this.options.i18n = this.options.i18n || {};
    if (this.options?.language) {
      this.options.i18n.language = this.options.language;
    }
    this.options.i18next = this.i18next = this.options.i18next || I18n.init({ en: enTranslation, ...this.options.i18n });

    /**
     * An instance of the EventEmitter class to handle the emitting and registration of events.
     * @type {EventEmitter}
     */
    this.events = (options && options.events) ? options.events : new EventEmitter();

    this.defaultMask = null;
    /**
     * Conditional to show or hide helplinks in editForm
     * @type {*|boolean}
     */
    this.helplinks = (this.options.helplinks === 'false') ? false : (this.options.helplinks || 'https://help.form.io');
  }
The root component for all elements within the Form.io renderer.