{"version":3,"file":"formio-tmt-angular.mjs","sources":["../../../projects/angular-formio/src/formio.config.ts","../../../projects/angular-formio/src/formio.common.ts","../../../projects/angular-formio/src/formio.service.ts","../../../projects/angular-formio/src/formio-promise.service.ts","../../../projects/angular-formio/src/formio.utils.ts","../../../projects/angular-formio/src/components/alerts/formio.alerts.ts","../../../projects/angular-formio/src/types/alerts-position.ts","../../../projects/angular-formio/src/custom-component/custom-tags.service.ts","../../../projects/angular-formio/src/FormioBaseComponent.ts","../../../projects/angular-formio/src/components/loader/formio.loader.component.ts","../../../projects/angular-formio/src/components/loader/formio.loader.component.html","../../../projects/angular-formio/src/components/alerts/parse-html-content.pipe.ts","../../../projects/angular-formio/src/components/alerts/formio.alerts.component.ts","../../../projects/angular-formio/src/components/alerts/formio.alerts.component.html","../../../projects/angular-formio/src/components/formio/formio.component.ts","../../../projects/angular-formio/src/components/formio/formio.component.html","../../../projects/angular-formio/src/components/formbuilder/formbuilder.component.ts","../../../projects/angular-formio/src/components/formbuilder/formbuilder.component.html","../../../projects/angular-formio/src/formio.module.ts","../../../projects/angular-formio/src/core.ts","../../../projects/angular-formio/src/custom-component/create-custom-component.ts","../../../projects/angular-formio/src/custom-component/register-custom-component.ts","../../../projects/angular-formio/src/formio-tmt-angular.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class FormioAppConfig {\r\n  appUrl = '';\r\n  apiUrl = '';\r\n  icons?: string;\r\n  formOnly?: boolean;\r\n}\r\n","import { ExtendedComponentSchema, ValidateOptions } from '@formio-tmt/js';\r\nimport { AlertsPosition } from './types/alerts-position';\r\nexport { ConditionalOptions, ValidateOptions } from '@formio-tmt/js';\r\n\r\nexport interface ComponentOptions<T = any, V extends ValidateOptions = ValidateOptions> extends ExtendedComponentSchema<T> {\r\n  validate?: V;\r\n}\r\n\r\nexport interface FormioRefreshValue {\r\n  property?: string;\r\n  value?: object;\r\n  form?: object;\r\n  submission?: object;\r\n}\r\n\r\nexport interface AccessSetting {\r\n  type: string;\r\n  roles: string[];\r\n}\r\n\r\nexport interface FormioForm {\r\n  title?: string;\r\n  display?: string;\r\n  name?: string;\r\n  path?: string;\r\n  type?: string;\r\n  project?: string;\r\n  template?: string;\r\n  components?: ExtendedComponentSchema[];\r\n  tags?: string[];\r\n  access?: AccessSetting[];\r\n  submissionAccess?: AccessSetting[];\r\n}\r\n\r\nexport interface ComponentInstance {\r\n  component: ExtendedComponentSchema;\r\n  id: string;\r\n  type: string;\r\n  asString?(value: any): string;\r\n  getView(value: any): string;\r\n}\r\n\r\nexport interface AlertsOptions {\r\n  submitMessage: string;\r\n}\r\n\r\nexport interface ErrorsOptions {\r\n  message: string;\r\n}\r\n\r\nexport class FormioError {\r\n  constructor(\r\n    public message: string,\r\n    public component: ExtendedComponentSchema,\r\n    public silent?: boolean,\r\n  ) {}\r\n}\r\n\r\nexport type FormioSubmissionCallback = (\r\n  error: FormioError,\r\n  submission: object\r\n) => void;\r\nexport type FormioBeforeSubmit = (\r\n  submission: object,\r\n  callback: FormioSubmissionCallback\r\n) => void;\r\n\r\nexport interface FormioHookOptions {\r\n  beforeSubmit: FormioBeforeSubmit;\r\n}\r\n\r\nexport interface FormioOptions {\r\n  errors?: ErrorsOptions;\r\n  alerts?: AlertsOptions;\r\n  alertsPosition?: AlertsPosition;\r\n  disableAlerts?: boolean;\r\n  i18n?: object;\r\n  fileService?: object;\r\n  hooks?: FormioHookOptions;\r\n  sanitizeConfig?: any;\r\n}\r\n","import { Observable, Observer } from 'rxjs';\r\nimport { FormioForm } from './formio.common';\r\nimport { Formio } from '@formio-tmt/js';\r\n\r\nexport class FormioService {\r\n  public formio: any;\r\n  constructor(public url: string, public options?: object) {\r\n    this.formio = new Formio(this.url, this.options);\r\n  }\r\n  requestWrapper(fn: any) {\r\n    let record: any;\r\n    let called = false;\r\n    return Observable.create((observer: Observer<any>) => {\r\n      try {\r\n        if (!called) {\r\n          called = true;\r\n          fn()\r\n            .then((_record: any) => {\r\n              record = _record;\r\n              observer.next(record);\r\n              observer.complete();\r\n            })\r\n            .catch((err: any) => observer.error(err));\r\n        } else if (record) {\r\n          observer.next(record);\r\n          observer.complete();\r\n        }\r\n      } catch (err) {\r\n        observer.error(err);\r\n      }\r\n    });\r\n  }\r\n  saveForm(form: FormioForm, options?: any): Observable<FormioForm> {\r\n    return this.requestWrapper(() => this.formio.saveForm(form, options));\r\n  }\r\n  loadForm(query?: any, options?: any): Observable<FormioForm> {\r\n    return this.requestWrapper(() => this.formio.loadForm(query, options));\r\n  }\r\n  loadForms(query: any, options?: any): Observable<FormioForm> {\r\n    return this.requestWrapper(() => this.formio.loadForms(query, options));\r\n  }\r\n  loadSubmission(query?: any, options?: any): Observable<{}> {\r\n    return this.requestWrapper(() => this.formio.loadSubmission(query, options));\r\n  }\r\n  userPermissions(user: any, form: any, submission: any): Observable<{}> {\r\n    return this.requestWrapper(() => this.formio.userPermissions(user, form, submission));\r\n  }\r\n  deleteSubmission(data?: any, options?: any): Observable<{}> {\r\n    return this.requestWrapper(() => this.formio.deleteSubmission(data, options));\r\n  }\r\n  saveSubmission(submission: {}, options?: any): Observable<{}> {\r\n    return this.requestWrapper(() => this.formio.saveSubmission(submission, options));\r\n  }\r\n  loadSubmissions(query?: any, options?: any): Observable<{}> {\r\n    return this.requestWrapper(() => this.formio.loadSubmissions(query, options));\r\n  }\r\n}\r\n","import { from } from 'rxjs';\r\nimport { FormioService } from './formio.service';\r\nimport { FormioForm } from './formio.common';\r\n\r\nexport class FormioPromiseService {\r\n  private formioService: FormioService;\r\n\r\n  constructor(public url: string, public options?: object) {\r\n    this.formioService = new FormioService(url, options);\r\n  }\r\n\r\n  saveForm(form: FormioForm, options?: any): Promise<any> {\r\n    return this.formioService.saveForm(form, options).toPromise();\r\n  }\r\n  loadForm(query?: any, options?: any): Promise<any> {\r\n    return this.formioService.loadForm(query, options).toPromise();\r\n  }\r\n  loadSubmission(query?: any, options?: any): Promise<any> {\r\n    return this.formioService.loadSubmission(query, options).toPromise();\r\n  }\r\n  userPermissions(user: any, form: any, submission: any): Promise<any> {\r\n    return this.formioService.userPermissions(user, form, submission).toPromise();\r\n  }\r\n  deleteSubmission(data?: any, options?: any): Promise<any> {\r\n    return this.formioService.deleteSubmission(data, options).toPromise();\r\n  }\r\n  loadForms(query: any, options?: any): Promise<any> {\r\n    return this.formioService.loadForms(query, options).toPromise();\r\n  }\r\n  saveSubmission(submission: {}, options?: any): Promise<any> {\r\n    return this.formioService.saveSubmission(submission, options).toPromise();\r\n  }\r\n  loadSubmissions(query?: any, options?: any): Promise<any> {\r\n    return this.formioService.loadSubmissions(query, options).toPromise();\r\n  }\r\n}\r\n","import { RouterModule } from '@angular/router';\r\nimport { find, trim, each, intersection } from 'lodash';\r\n\r\nexport function extendRouter(Class: any, config: any, ClassRoutes: any) {\r\n  each(Class.decorators, decorator => {\r\n    each(decorator.args, arg => {\r\n      if (arg.declarations) {\r\n        each(config, component => arg.declarations.push(component));\r\n      }\r\n      if (arg.imports) {\r\n        each(arg.imports, (_import, index) => {\r\n          if (\r\n            (_import.ngModule && (_import.ngModule.name === 'RouterModule')) ||\r\n            (_import.name === 'RouterModule')\r\n          ) {\r\n            arg.imports[index] = RouterModule.forChild(ClassRoutes(config));\r\n          }\r\n        });\r\n      }\r\n    });\r\n  });\r\n  return Class;\r\n}\r\n","export interface FormioAlert {\r\n  type: string;\r\n  message: string;\r\n  component?: any;\r\n}\r\n\r\nexport class FormioAlerts {\r\n  public alerts: FormioAlert[] = [];\r\n\r\n  setAlert(alert: FormioAlert) {\r\n    this.alerts = [alert];\r\n  }\r\n\r\n  addAlert(alert: FormioAlert) {\r\n    this.alerts.push(alert);\r\n  }\r\n\r\n  setAlerts(alerts: FormioAlert[]) {\r\n    this.alerts = alerts;\r\n  }\r\n}\r\n","export enum AlertsPosition {\r\n  none,\r\n  top,\r\n  bottom,\r\n  both\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class CustomTagsService {\r\n  tags: string[] = [];\r\n\r\n  addCustomTag(tag: string) {\r\n    this.tags.push(tag);\r\n  }\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, NgZone, OnChanges, OnDestroy, OnInit, Optional, Output, ViewChild } from '@angular/core';\r\nimport { FormioService } from './formio.service';\r\nimport { FormioAlerts } from './components/alerts/formio.alerts';\r\nimport { FormioAppConfig } from './formio.config';\r\nimport { FormioError, FormioForm, FormioOptions, FormioRefreshValue } from './formio.common';\r\nimport { assign, get, isEmpty } from 'lodash';\r\nimport { CustomTagsService } from './custom-component/custom-tags.service';\r\nimport { Utils } from '@formio-tmt/js';\r\nimport { AlertsPosition } from './types/alerts-position';\r\nconst { Evaluator, fastCloneDeep } = Utils;\r\n\r\n@Component({\r\n  template: ''\r\n})\r\nexport class FormioBaseComponent implements OnInit, OnChanges, OnDestroy {\r\n  @Input() form?: FormioForm;\r\n  @Input() submission?: any = {};\r\n  @Input() src?: string;\r\n  @Input() url?: string;\r\n  @Input() service?: FormioService;\r\n  @Input() options?: FormioOptions;\r\n  @Input() noeval ? = Evaluator.noeval;\r\n  @Input() formioOptions?: any;\r\n  @Input() renderOptions?: any;\r\n  @Input() readOnly ? = false;\r\n  @Input() viewOnly ? = false;\r\n  @Input() hideLoading ? = false;\r\n  @Input() hideComponents?: string[];\r\n  @Input() refresh?: EventEmitter<FormioRefreshValue>;\r\n  @Input() error?: EventEmitter<any>;\r\n  @Input() success?: EventEmitter<object>;\r\n  @Input() submitDone?: EventEmitter<object>;\r\n  @Input() language?: EventEmitter<string>;\r\n  @Input() hooks?: any = {};\r\n  @Input() renderer?: any;\r\n  @Input() watchSubmissionErrors ? = false;\r\n  @Input() dataTableActions? : any = []\r\n  @Output() render = new EventEmitter<object>();\r\n  @Output() customEvent = new EventEmitter<object>();\r\n  @Output() fileUploadingStatus = new EventEmitter<string>();\r\n  @Output() submit = new EventEmitter<object>();\r\n  @Output() prevPage = new EventEmitter<object>();\r\n  @Output() nextPage = new EventEmitter<object>();\r\n  @Output() beforeSubmit = new EventEmitter<object>();\r\n  @Output() rowAdd = new EventEmitter<any>();\r\n  @Output() rowAdded = new EventEmitter<any>();\r\n  @Output() rowEdit = new EventEmitter<any>();\r\n  @Output() rowEdited = new EventEmitter<any>();\r\n  @Output() rowDelete = new EventEmitter<any>();\r\n  @Output() rowClick = new EventEmitter<any>();\r\n  @Output() rowSelectChange = new EventEmitter<any>();\r\n  @Output() change = new EventEmitter<object>();\r\n  @Output() invalid = new EventEmitter<boolean>();\r\n  @Output() errorChange = new EventEmitter<any>();\r\n  @Output() formLoad = new EventEmitter<any>();\r\n  @Output() submissionLoad = new EventEmitter<any>();\r\n  @Output() ready = new EventEmitter<FormioBaseComponent>();\r\n  @ViewChild('formio', { static: true }) formioElement?: ElementRef<any>;\r\n\r\n  public AlertsPosition = AlertsPosition;\r\n  public formio: any;\r\n  public initialized = false;\r\n  public alerts = new FormioAlerts();\r\n  public formioReady: Promise<any>;\r\n\r\n  private formioReadyResolve: any;\r\n  private submitting = false;\r\n  private submissionSuccess = false;\r\n  public isLoading: boolean;\r\n  public noAlerts: boolean;\r\n  public label: string;\r\n\r\n  constructor(\r\n    public ngZone: NgZone,\r\n    @Optional() public config: FormioAppConfig,\r\n    @Optional() public customTags?: CustomTagsService,\r\n  ) {\r\n    this.isLoading = true;\r\n    this.formioReady = new Promise((ready) => {\r\n      this.formioReadyResolve = ready;\r\n    });\r\n  }\r\n\r\n  getRenderer() {\r\n    return this.renderer;\r\n  }\r\n\r\n  getRendererOptions() {\r\n    const extraTags = this.customTags ? this.customTags.tags : [];\r\n    return assign({}, {\r\n      icons: get(this.config, 'icons', 'fontawesome'),\r\n      noAlerts: get(this.options, 'noAlerts', true),\r\n      readOnly: this.readOnly,\r\n      viewAsHtml: this.viewOnly,\r\n      ...(this.viewOnly && { renderMode: \"html\" }),\r\n      i18n: get(this.options, 'i18n', null),\r\n      fileService: get(this.options, 'fileService', null),\r\n      hooks: this.hooks,\r\n      sanitizeConfig: {\r\n        addTags: extraTags\r\n      },\r\n      dataTableActions: this.dataTableActions\r\n    }, this.renderOptions || {});\r\n  }\r\n\r\n  createRenderer() {\r\n    const Renderer = this.getRenderer();\r\n    const form = (new Renderer(\r\n      this.formioElement ? this.formioElement.nativeElement : null,\r\n      this.form,\r\n      this.getRendererOptions()\r\n    ));\r\n    return form.instance;\r\n  }\r\n\r\n  setForm(form: FormioForm) {\r\n    this.form = form;\r\n    if (this.formio) {\r\n      this.formio.destroy();\r\n    }\r\n\r\n    if (this.form.title) {\r\n      this.label = this.form.title;\r\n    } else if (this.form.components && this.form.components[0]) {\r\n      this.label = this.form.components[0].label;\r\n    }\r\n\r\n    // Clear out the element to render the new form.\r\n    if (this.formioElement && this.formioElement.nativeElement) {\r\n      this.formioElement.nativeElement.innerHTML = '';\r\n    }\r\n    this.formio = this.createRenderer();\r\n    this.formio.setSubmission(this.submission, {\r\n      fromSubmission: false\r\n    });\r\n    if (this.renderOptions && this.renderOptions.validateOnInit) {\r\n      this.formio.setValue(this.submission, {validateOnInit: true});\r\n    }\r\n    if (this.url) {\r\n      this.formio.setUrl(this.url, this.formioOptions || {});\r\n    }\r\n    if (this.src) {\r\n      this.formio.setUrl(this.src, this.formioOptions || {});\r\n    }\r\n    this.formio.nosubmit = true;\r\n    this.formio.on('prevPage', (data: any) => this.ngZone.run(() => this.onPrevPage(data)));\r\n    this.formio.on('nextPage', (data: any) => this.ngZone.run(() => this.onNextPage(data)));\r\n    this.formio.on('change', (value: any, flags: any, isModified: boolean) => this.ngZone.run(() => this.onChange(value, flags, isModified)));\r\n    this.formio.on('rowAdd', (component: any) =>  this.ngZone.run(() => this.rowAdd.emit(component)));\r\n    this.formio.on('rowAdded', (data: any, component: any) =>  this.ngZone.run(() => this.rowAdded.emit({component, row: data})));\r\n    this.formio.on('rowEdit', (data: any, rowIndex: number, index: number, component: any) =>  this.ngZone.run(() => this.rowEdit.emit({component, row: data, rowIndex, index})));\r\n    this.formio.on('rowEdited', (data: any, rowIndex: number, component: any) =>  this.ngZone.run(() => this.rowEdited.emit({component, row: data, rowIndex})));\r\n    this.formio.on('rowDelete', (data: any, rowIndex: number, index: number, component: any) =>  this.ngZone.run(() => this.rowDelete.emit({component, row: data, rowIndex, index})));\r\n    this.formio.on('rowClick', (row: any, rowIndex: number, index: number,component: any) =>  this.ngZone.run(() => this.rowClick.emit({component, row, rowIndex, index})));\r\n    this.formio.on('rowSelectChange', (selectedRows: any[], component: any) =>  this.ngZone.run(() => this.rowSelectChange.emit({selectedRows, component})));\r\n    this.formio.on('customEvent', (event: any) =>\r\n      this.ngZone.run(() => this.customEvent.emit(event))\r\n    );\r\n\r\n    ['fileUploadingStart', 'fileUploadingEnd'].forEach((eventName, index) => {\r\n      const status = !!index ? 'end' : 'start';\r\n      this.formio.on(eventName, () =>\r\n        this.ngZone.run(() => this.fileUploadingStatus.emit(status))\r\n      );\r\n    });\r\n\r\n    this.formio.on('submit', (submission: any, saved: boolean) =>\r\n      this.ngZone.run(() => this.submitForm(submission, saved))\r\n    );\r\n    this.formio.on('error', (err: any) => this.ngZone.run(() => {\r\n      this.submissionSuccess = false;\r\n      return this.onError(err);\r\n    }));\r\n    this.formio.on('render', () => this.ngZone.run(() => this.render.emit()));\r\n    this.formio.on('formLoad', (loadedForm: any) =>\r\n      this.ngZone.run(() => this.formLoad.emit(loadedForm))\r\n    );\r\n\r\n    return this.formio.ready.then(() => {\r\n      this.ngZone.run(() => {\r\n        this.isLoading = false;\r\n        this.ready.emit(this);\r\n        this.formioReadyResolve(this.formio);\r\n        if (this.formio.submissionReady) {\r\n          this.formio.submissionReady.then((submission) => {\r\n            this.submissionLoad.emit(submission);\r\n          });\r\n        }\r\n      });\r\n      return this.formio;\r\n    });\r\n  }\r\n\r\n  initialize() {\r\n    if (this.initialized) {\r\n      return;\r\n    }\r\n\r\n    const extraTags = this.customTags ? this.customTags.tags : [];\r\n    const defaultOptions: FormioOptions = {\r\n      errors: {\r\n        message: 'Please fix the following errors before submitting.'\r\n      },\r\n      alerts: {\r\n        submitMessage: 'Submission Complete.'\r\n      },\r\n      disableAlerts: false,\r\n      hooks: {\r\n        beforeSubmit: null\r\n      },\r\n      sanitizeConfig: {\r\n        addTags: extraTags\r\n      },\r\n      alertsPosition: AlertsPosition.top,\r\n    };\r\n    this.options = Object.assign(defaultOptions, this.options);\r\n    if (this.options.disableAlerts) {\r\n      this.options.alertsPosition = AlertsPosition.none;\r\n    }\r\n    this.initialized = true;\r\n  }\r\n\r\n  ngOnInit() {\r\n    Evaluator.noeval = this.noeval;\r\n    this.initialize();\r\n\r\n    if (this.language) {\r\n      if (typeof this.language === 'string') {\r\n        this.formio.language = this.language;\r\n      } else {\r\n        this.language.subscribe((lang: string) => {\r\n          this.formio.language = lang;\r\n        });\r\n      }\r\n    }\r\n\r\n    if (this.refresh) {\r\n      this.refresh.subscribe((refresh: FormioRefreshValue) =>\r\n        this.onRefresh(refresh)\r\n      );\r\n    }\r\n\r\n    if (this.error) {\r\n      this.error.subscribe((err: any) => this.onError(err));\r\n    }\r\n\r\n    if (this.success) {\r\n      this.success.subscribe((message: string) => {\r\n        this.alerts.setAlert({\r\n          type: 'success',\r\n          message: message || get(this.options, 'alerts.submitMessage')\r\n        });\r\n      });\r\n    }\r\n\r\n    if (this.submitDone) {\r\n      this.submitDone.subscribe((submission: object) => {\r\n        this.formio.emit('submitDone', submission);\r\n      });\r\n    }\r\n\r\n    if (this.src) {\r\n      if (!this.service) {\r\n        this.service = new FormioService(this.src);\r\n      }\r\n      this.isLoading = true;\r\n      this.service.loadForm({ params: { live: 1 } }).subscribe(\r\n        (form: FormioForm) => {\r\n          if (form && form.components) {\r\n            this.ngZone.runOutsideAngular(() => {\r\n              this.setForm(form);\r\n            });\r\n          }\r\n\r\n          // if a submission is also provided.\r\n          if (\r\n            isEmpty(this.submission) &&\r\n            this.service &&\r\n            this.service.formio.submissionId\r\n          ) {\r\n            this.service.loadSubmission().subscribe(\r\n              (submission: any) => {\r\n                if (this.readOnly) {\r\n                  this.formio.options.readOnly = true;\r\n                }\r\n                this.submission = this.formio.submission = submission;\r\n              },\r\n              err => this.onError(err)\r\n            );\r\n          }\r\n        },\r\n        err => this.onError(err)\r\n      );\r\n    }\r\n    if (this.url && !this.service) {\r\n      this.service = new FormioService(this.url);\r\n    }\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    if (this.formio) {\r\n      this.formio.destroy();\r\n    }\r\n  }\r\n\r\n  onRefresh(refresh: FormioRefreshValue) {\r\n    this.formioReady.then(() => {\r\n      if (refresh.form) {\r\n        this.formio.setForm(refresh.form).then(() => {\r\n          if (refresh.submission) {\r\n            this.formio.setSubmission(refresh.submission);\r\n          }\r\n        });\r\n      } else if (refresh.submission) {\r\n        this.formio.setSubmission(refresh.submission);\r\n      } else {\r\n        switch (refresh.property) {\r\n          case 'submission':\r\n            this.formio.submission = refresh.value;\r\n            break;\r\n          case 'form':\r\n            this.formio.form = refresh.value;\r\n            break;\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  ngOnChanges(changes: any) {\r\n    Evaluator.noeval = this.noeval;\r\n    this.initialize();\r\n\r\n    if (changes.form && changes.form.currentValue) {\r\n      this.ngZone.runOutsideAngular(() => {\r\n        this.setForm(changes.form.currentValue);\r\n      });\r\n    }\r\n\r\n    this.formioReady.then(() => {\r\n      if (changes.submission && changes.submission.currentValue) {\r\n        this.formio.setSubmission(changes.submission.currentValue, {\r\n          fromSubmission: !changes.submission.firstChange\r\n        });\r\n      }\r\n\r\n      if (changes.hideComponents && changes.hideComponents.currentValue) {\r\n        const hiddenComponents = changes.hideComponents.currentValue;\r\n        this.formio.options.hide = hiddenComponents;\r\n        this.formio.everyComponent((component) => {\r\n          component.options.hide = hiddenComponents;\r\n          if (hiddenComponents.includes(component.component.key)) {\r\n            component.visible = false;\r\n          }\r\n        });\r\n      }\r\n    });\r\n  }\r\n\r\n  onPrevPage(data: any) {\r\n    this.alerts.setAlerts([]);\r\n    this.prevPage.emit(data);\r\n  }\r\n\r\n  onNextPage(data: any) {\r\n    this.alerts.setAlerts([]);\r\n    this.nextPage.emit(data);\r\n  }\r\n\r\n  onSubmit(submission: any, saved: boolean, noemit?: boolean) {\r\n    this.submitting = false;\r\n    this.submissionSuccess = true;\r\n\r\n    this.formio.setValue(fastCloneDeep(submission), {\r\n      noValidate: true,\r\n      noCheck: true\r\n    });\r\n\r\n    if (saved) {\r\n      this.formio.emit('submitDone', submission);\r\n    }\r\n    if (!noemit) {\r\n      this.submit.emit(submission);\r\n    }\r\n    if (!this.success) {\r\n      this.alerts.setAlert({\r\n        type: 'success',\r\n        message: get(this.options, 'alerts.submitMessage')\r\n      });\r\n    }\r\n  }\r\n\r\n  onError(err: any) {\r\n    this.alerts.setAlerts([]);\r\n    this.submitting = false;\r\n    this.isLoading = false;\r\n\r\n    if (!err) {\r\n      return;\r\n    }\r\n\r\n    // Make sure it is an array.\r\n    const errors = Array.isArray(err) ? err : [err];\r\n\r\n    // Emit these errors again.\r\n    this.errorChange.emit(errors);\r\n\r\n    if (err.silent) {\r\n      return;\r\n    }\r\n\r\n    if (this.formio && errors.length) {\r\n      this.formio.emit('submitError', errors);\r\n    }\r\n\r\n    // Iterate through each one and set the alerts array.\r\n    errors.forEach((error: any) => {\r\n      const {\r\n        message,\r\n        paths,\r\n      } = error\r\n        ? error.details\r\n          ? {\r\n            message: error.details.map((detail) => detail.message),\r\n            paths: error.details.map((detail) => detail.path),\r\n          }\r\n          : {\r\n            message: error.message || error.toString(),\r\n            paths: error.path ? [error.path] : [],\r\n          }\r\n        : {\r\n          message: '',\r\n          paths: [],\r\n        };\r\n\r\n      let shouldErrorDisplay = true;\r\n\r\n      if (this.formio) {\r\n        paths.forEach((path, index) => {\r\n          const component = this.formio.getComponent(path);\r\n          if (component) {\r\n            const components = Array.isArray(component) ? component : [component];\r\n            const messageText = Array.isArray(message) ? message[index] : message;\r\n            components.forEach((comp) => comp.setCustomValidity(messageText, true));\r\n            this.alerts.addAlert({\r\n              type: 'danger',\r\n              message: message[index],\r\n              component,\r\n            });\r\n            shouldErrorDisplay = false;\r\n          }\r\n        });\r\n\r\n        if ((window as any).VPAT_ENABLED) {\r\n          if (typeof error ==='string' && this.formio.components) {\r\n            this.formio.components.forEach((comp) => {\r\n              if (comp && comp.type !== 'button') {\r\n                comp.setCustomValidity(message, true);\r\n              }\r\n            });\r\n          }\r\n        }\r\n\r\n        if (!this.noAlerts) {\r\n          this.formio.showErrors();\r\n        }\r\n      }\r\n\r\n      if (shouldErrorDisplay) {\r\n        this.alerts.addAlert({\r\n          type: 'danger',\r\n          message,\r\n          component: error.component,\r\n        });\r\n      }\r\n    });\r\n  }\r\n\r\n  focusOnComponet(key: any) {\r\n    if (this.formio) {\r\n      this.formio.focusOnComponent(key);\r\n    }\r\n  }\r\n\r\n  submitExecute(submission: object, saved = false) {\r\n    if (this.service && !this.url && !saved) {\r\n      this.service\r\n        .saveSubmission(submission)\r\n        .subscribe(\r\n          (sub: {}) => this.onSubmit(sub, true),\r\n          err => this.onError(err)\r\n        );\r\n    } else {\r\n      this.onSubmit(submission, false);\r\n    }\r\n  }\r\n\r\n  submitForm(submission: any, saved = false) {\r\n    // Keep double submits from occurring...\r\n    if (this.submitting) {\r\n      return;\r\n    }\r\n    this.formio.setMetadata(submission);\r\n    this.submissionSuccess = false;\r\n    this.submitting = true;\r\n    this.beforeSubmit.emit(submission);\r\n\r\n    // if they provide a beforeSubmit hook, then allow them to alter the submission asynchronously\r\n    // or even provide a custom Error method.\r\n    const beforeSubmit = get(this.options, 'hooks.beforeSubmit');\r\n    if (beforeSubmit) {\r\n      beforeSubmit(submission, (err: FormioError, sub: object) => {\r\n        if (err) {\r\n          this.onError(err);\r\n          return;\r\n        }\r\n        this.submitExecute(sub, saved);\r\n      });\r\n    } else {\r\n      this.submitExecute(submission, saved);\r\n    }\r\n  }\r\n\r\n  onChange(value: any, flags: any, isModified: boolean) {\r\n    if (this.watchSubmissionErrors && !this.submissionSuccess) {\r\n      const errors = get(this, 'formio.errors', []);\r\n      const alerts = get(this, 'alerts.alerts', []);\r\n      const submitted = get(this, 'formio.submitted', false);\r\n      if (submitted && (errors.length || alerts.length)) {\r\n        this.onError(errors);\r\n      }\r\n    }\r\n    return this.change.emit({...value, flags, isModified});\r\n  }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'formio-loader',\r\n  styleUrls: ['./formio.loader.component.scss'],\r\n  templateUrl: './formio.loader.component.html'\r\n})\r\nexport class FormioLoaderComponent {\r\n  @Input() isLoading: boolean;\r\n}\r\n","<div class=\"formio-loader-wrapper\" *ngIf=\"isLoading\">\r\n  <div class=\"formio-loader\"></div>\r\n</div>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'parseHtmlContent', pure: false })\r\nexport class ParseHtmlContentPipe implements PipeTransform {\r\n\r\n  /*\r\n    Some messages that are come from formiojs have hex codes. So the main aim of this pipe is transform this messages to html.\r\n    And then render in template.\r\n  */\r\n  transform(content) {\r\n    const parsedContent = new DOMParser().parseFromString(content, 'text/html').body.childNodes[0];\r\n\r\n    return parsedContent?.textContent;\r\n  }\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport { FormioAlerts } from './formio.alerts';\r\n\r\n@Component({\r\n  selector: 'formio-alerts',\r\n  templateUrl: './formio.alerts.component.html'\r\n})\r\nexport class FormioAlertsComponent implements OnInit {\r\n  @Input() alerts: FormioAlerts;\r\n  @Output() focusComponent = new EventEmitter<object>();\r\n  ngOnInit() {\r\n    if (!this.alerts) {\r\n      this.alerts = new FormioAlerts();\r\n    }\r\n  }\r\n  getComponent (event, alert) {\r\n    this.focusComponent.emit(alert.component.key);\r\n  }\r\n}\r\n","<div *ngFor=\"let alert of alerts.alerts\" class=\"alert alert-{{ alert.type }}\" role=\"alert\" (click)=\"getComponent($event, alert)\">\r\n  {{alert.message | parseHtmlContent}}\r\n</div>\r\n","import { Component, OnInit, Optional, ViewEncapsulation, Input, NgZone, OnChanges } from '@angular/core';\r\nimport { FormioAppConfig } from '../../formio.config';\r\nimport { Formio, Form } from '@formio-tmt/js';\r\nimport { FormioBaseComponent } from '../../FormioBaseComponent';\r\nimport { CustomTagsService } from '../../custom-component/custom-tags.service';\r\n\r\n/* tslint:disable */\r\n@Component({\r\n  selector: 'formio',\r\n  templateUrl: './formio.component.html',\r\n  styleUrls: ['../../../../../node_modules/@formio-tmt/js/dist/formio.form.min.css'],\r\n  encapsulation: ViewEncapsulation.None,\r\n})\r\n/* tslint:enable */\r\nexport class FormioComponent extends FormioBaseComponent implements OnInit, OnChanges {\r\n  constructor(\r\n    public ngZone: NgZone,\r\n    @Optional() public config: FormioAppConfig,\r\n    @Optional() public customTags?: CustomTagsService,\r\n  ) {\r\n    super(ngZone, config, customTags);\r\n    if (this.config) {\r\n      Formio.setBaseUrl(this.config.apiUrl);\r\n      Formio.setProjectUrl(this.config.appUrl);\r\n    } else {\r\n      console.warn('You must provide an AppConfig within your application!');\r\n    }\r\n  }\r\n\r\n  getRenderer() {\r\n    return this.renderer || Form;\r\n  }\r\n}\r\n","<div role=\"form\" [attr.aria-label]=\"label\">\r\n  <div *ngIf=\"isLoading && !hideLoading\" style=\"position:relative;height:200px\">\r\n    <formio-loader [isLoading]=\"isLoading\"></formio-loader>\r\n  </div>\r\n  <formio-alerts *ngIf=\"this.options.alertsPosition === AlertsPosition.top || this.options.alertsPosition === AlertsPosition.both\" (focusComponent)=\"focusOnComponet($event)\" [alerts]=\"alerts\"></formio-alerts>\r\n  <div #formio></div>\r\n  <formio-alerts *ngIf=\"this.options.alertsPosition === AlertsPosition.bottom || this.options.alertsPosition === AlertsPosition.both\" (focusComponent)=\"focusOnComponet($event)\" [alerts]=\"alerts\"></formio-alerts>\r\n</div>\r\n","import {\r\n  Component,\r\n  Input,\r\n  OnInit,\r\n  OnChanges,\r\n  OnDestroy,\r\n  ViewEncapsulation,\r\n  Optional,\r\n  ElementRef,\r\n  ViewChild,\r\n  EventEmitter,\r\n  Output,\r\n  NgZone\r\n} from '@angular/core';\r\nimport { FormioAppConfig } from '../../formio.config';\r\nimport {\r\n  FormioForm,\r\n  FormioOptions\r\n} from '../../formio.common';\r\nimport { Formio, FormBuilder, Utils } from '@formio-tmt/js';\r\nimport { assign } from 'lodash';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { CustomTagsService } from '../../custom-component/custom-tags.service';\r\n\r\n/* tslint:disable */\r\n@Component({\r\n  selector: 'form-builder',\r\n  templateUrl: './formbuilder.component.html',\r\n  styleUrls: ['../../../../../node_modules/@formio-tmt/js/dist/formio.builder.min.css'],\r\n  encapsulation: ViewEncapsulation.None\r\n})\r\n/* tslint:enable */\r\nexport class FormBuilderComponent implements OnInit, OnChanges, OnDestroy {\r\n  public ready: Promise<object>;\r\n  public readyResolve: any;\r\n  public formio: any;\r\n  public builder: FormBuilder;\r\n  public componentAdding = false;\r\n  private refreshSubscription: Subscription;\r\n  @Input() form?: FormioForm;\r\n  @Input() options?: FormioOptions;\r\n  @Input() formbuilder?: any;\r\n  @Input() noeval ? = false;\r\n  @Input() refresh?: Observable<void>;\r\n  @Input() rebuild?: Observable<object>;\r\n  @Output() change: EventEmitter<object>;\r\n  @ViewChild('builder', { static: true }) builderElement?: ElementRef<any>;\r\n\r\n  constructor(\r\n    private ngZone: NgZone,\r\n    @Optional() private config: FormioAppConfig,\r\n    @Optional() private customTags?: CustomTagsService\r\n  ) {\r\n    if (this.config) {\r\n      Formio.setBaseUrl(this.config.apiUrl);\r\n      Formio.setProjectUrl(this.config.appUrl);\r\n    } else {\r\n      console.warn('You must provide an AppConfig within your application!');\r\n    }\r\n\r\n    this.change = new EventEmitter();\r\n    this.ready = new Promise((resolve: any) => {\r\n      this.readyResolve = resolve;\r\n    });\r\n  }\r\n\r\n  ngOnInit() {\r\n    Utils.Evaluator.noeval = this.noeval;\r\n\r\n    if (this.refresh) {\r\n      this.refreshSubscription = this.refresh.subscribe(() => {\r\n        this.ngZone.runOutsideAngular(() => {\r\n          this.buildForm(this.form);\r\n        });\r\n      });\r\n    }\r\n\r\n    if (this.rebuild) {\r\n      this.rebuild.subscribe((options) => {\r\n        this.ngZone.runOutsideAngular(() => {\r\n          this.rebuildForm(this.form, options);\r\n        });\r\n      });\r\n    }\r\n  }\r\n\r\n  setInstance(instance: any) {\r\n    this.formio = instance;\r\n    instance.off('addComponent');\r\n    instance.off('saveComponent');\r\n    instance.off('updateComponent');\r\n    instance.off('removeComponent');\r\n    instance.on('addComponent', (component, parent, path, index, isNew) => {\r\n      this.ngZone.run(() => {\r\n        if (isNew) {\r\n          this.componentAdding = true;\r\n        } else {\r\n          this.change.emit({\r\n            type: 'addComponent',\r\n            builder: instance,\r\n            form: instance.schema,\r\n            component: component,\r\n            parent: parent,\r\n            path: path,\r\n            index: index\r\n          });\r\n          this.componentAdding = false;\r\n        }\r\n      });\r\n    });\r\n    instance.on('saveComponent', (component, original, parent, path, index, isNew) => {\r\n      this.ngZone.run(() => {\r\n        this.change.emit({\r\n          type: this.componentAdding ? 'addComponent' : 'saveComponent',\r\n          builder: instance,\r\n          form: instance.schema,\r\n          component: component,\r\n          originalComponent: original,\r\n          parent: parent,\r\n          path: path,\r\n          index: index,\r\n          isNew: isNew || false\r\n        });\r\n        this.componentAdding = false;\r\n      });\r\n    });\r\n    instance.on('updateComponent', (component) => {\r\n      this.ngZone.run(() => {\r\n        this.change.emit({\r\n          type: 'updateComponent',\r\n          builder: instance,\r\n          form: instance.schema,\r\n          component: component\r\n        });\r\n      });\r\n    });\r\n    instance.on('removeComponent', (component, parent, path, index) => {\r\n      this.ngZone.run(() => {\r\n        this.change.emit({\r\n          type: 'deleteComponent',\r\n          builder: instance,\r\n          form: instance.schema,\r\n          component: component,\r\n          parent: parent,\r\n          path: path,\r\n          index: index\r\n        });\r\n      });\r\n    });\r\n    this.ngZone.run(() => {\r\n      this.readyResolve(instance);\r\n    });\r\n    return instance;\r\n  }\r\n\r\n  setDisplay(display: String, prevDisplay?: string) {\r\n    if (display && display !== prevDisplay) {\r\n      (this.builder as any).setDisplay(display);\r\n    }\r\n  }\r\n\r\n  buildForm(form: any, prevForm?: any) {\r\n    if (!form || !this.builderElement || !this.builderElement.nativeElement) {\r\n      return;\r\n    }\r\n\r\n    if (this.builder) {\r\n      this.setDisplay(form.display, prevForm?.display);\r\n      this.setInstance(this.builder.instance);\r\n      this.builder.form = form;\r\n      this.builder.instance.form = form;\r\n      return this.builder.instance;\r\n    }\r\n\r\n    return this.rebuildForm(form);\r\n  }\r\n\r\n  rebuildForm(form: any, options?: object) {\r\n    const Builder = this.formbuilder || FormBuilder;\r\n    const extraTags = this.customTags ? this.customTags.tags : [];\r\n    this.builder = new Builder(\r\n      this.builderElement.nativeElement,\r\n      form,\r\n      assign({\r\n        icons: 'fontawesome',\r\n        sanitizeConfig: {\r\n          addTags: extraTags\r\n        }\r\n      }, options || this.options || {})\r\n    );\r\n    return this.builder.ready.then(instance => this.setInstance(instance));\r\n  }\r\n\r\n  ngOnChanges(changes: any) {\r\n    Utils.Evaluator.noeval = this.noeval;\r\n\r\n    if (changes.form && changes.form.currentValue) {\r\n      this.ngZone.runOutsideAngular(() => {\r\n        this.buildForm(changes.form.currentValue || {components: []}, changes.form.previousValue);\r\n      });\r\n    }\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    if (this.refreshSubscription) {\r\n      this.refreshSubscription.unsubscribe();\r\n    }\r\n\r\n    if (this.formio) {\r\n      this.formio.destroy();\r\n    }\r\n  }\r\n}\r\n","<div #builder></div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormioComponent } from './components/formio/formio.component';\r\nimport { FormBuilderComponent } from './components/formbuilder/formbuilder.component';\r\nimport { FormioAlerts } from './components/alerts/formio.alerts';\r\nimport { ParseHtmlContentPipe } from './components/alerts/parse-html-content.pipe';\r\nimport { FormioAlertsComponent } from './components/alerts/formio.alerts.component';\r\nimport { FormioLoaderComponent } from './components/loader/formio.loader.component';\r\nimport { CustomTagsService } from './custom-component/custom-tags.service';\r\nimport { FormioBaseComponent } from './FormioBaseComponent';\r\n\r\n@NgModule({\r\n    declarations: [\r\n        FormioComponent,\r\n        FormioBaseComponent,\r\n        FormBuilderComponent,\r\n        FormioLoaderComponent,\r\n        FormioAlertsComponent,\r\n        ParseHtmlContentPipe\r\n    ],\r\n    imports: [\r\n        CommonModule\r\n    ],\r\n    exports: [\r\n        FormioComponent,\r\n        FormBuilderComponent,\r\n        FormioLoaderComponent,\r\n        FormioAlertsComponent\r\n    ],\r\n    providers: [\r\n        FormioAlerts,\r\n        CustomTagsService\r\n    ]\r\n})\r\nexport class FormioModule {}\r\n","if (window && typeof (window as any).global === 'undefined') {\r\n  (window as any).global = window;\r\n}\r\nexport * from './formio.config';\r\nexport * from './formio.common';\r\nexport * from './formio.service';\r\nexport * from './formio-promise.service';\r\nexport * from './formio.utils';\r\nexport * from './FormioBaseComponent';\r\nexport * from './components/formio/formio.component';\r\nexport * from './components/formbuilder/formbuilder.component';\r\nexport * from './components/loader/formio.loader.component';\r\nexport * from './components/alerts/formio.alerts';\r\nexport * from './components/alerts/formio.alerts.component';\r\nexport { FormioModule } from './formio.module';\r\nexport {\r\n  Formio,\r\n  Utils as FormioUtils,\r\n  Templates,\r\n  Components,\r\n  ComponentSchema,\r\n  ExtendedComponentSchema,\r\n  ElementInfo\r\n} from '@formio-tmt/js';\r\n","// @ts-nocheck\r\nimport { BuilderInfo, Components, ExtendedComponentSchema, Utils as FormioUtils } from '@formio-tmt/js';\r\nimport { FormioCustomComponentInfo, FormioCustomElement, FormioEvent } from '../elements.common';\r\nimport { clone, isNil, isArray } from 'lodash';\r\n\r\nconst BaseInputComponent = Components.components.input;\r\nconst TextfieldComponent = Components.components.textfield;\r\n\r\nexport function createCustomFormioComponent(customComponentOptions: FormioCustomComponentInfo) {\r\n  return class CustomComponent extends BaseInputComponent {\r\n    static editForm = customComponentOptions.editForm || TextfieldComponent.editForm;\r\n    id = FormioUtils.getRandomComponentId();\r\n    type = customComponentOptions.type;\r\n    _customAngularElement: FormioCustomElement;\r\n\r\n    static schema() {\r\n      return BaseInputComponent.schema({\r\n        ...customComponentOptions.schema,\r\n        type: customComponentOptions.type,\r\n      });\r\n    }\r\n\r\n    get defaultSchema() {\r\n      return CustomComponent.schema();\r\n    }\r\n\r\n    get emptyValue() {\r\n      return customComponentOptions.emptyValue || null;\r\n    }\r\n\r\n    static get builderInfo(): BuilderInfo {\r\n      return {\r\n        title: customComponentOptions.title,\r\n        group: customComponentOptions.group,\r\n        icon: customComponentOptions.icon,\r\n        weight: customComponentOptions.weight,\r\n        documentation: customComponentOptions.documentation,\r\n        schema: CustomComponent.schema(),\r\n      };\r\n    }\r\n\r\n    constructor(public component: ExtendedComponentSchema, options: any, data: any) {\r\n      super(component, {\r\n        ...options,\r\n        sanitizeConfig: {\r\n          addTags: [customComponentOptions.selector],\r\n        },\r\n      }, data);\r\n\r\n      if (customComponentOptions.extraValidators) {\r\n        this.validators = this.validators.concat(customComponentOptions.extraValidators);\r\n      }\r\n    }\r\n\r\n    elementInfo() {\r\n      const info = super.elementInfo();\r\n      info.type = customComponentOptions.selector;\r\n      info.changeEvent = customComponentOptions.changeEvent || 'valueChange';\r\n      info.attr = {\r\n        ...info.attr,\r\n        class: info.attr.class.replace('form-control', 'form-control-custom-field') // remove the form-control class as the custom angular component may look different\r\n      };\r\n      return info;\r\n    }\r\n\r\n    get inputInfo() {\r\n      const info = {\r\n        id: this.key,\r\n        ...this.elementInfo()\r\n      }\r\n      return info;\r\n    }\r\n\r\n    renderElement(value: any, index: number) {\r\n      const info = this.inputInfo;\r\n      return this.renderTemplate(customComponentOptions.template || 'input', {\r\n        input: info,\r\n        value,\r\n        index\r\n      });\r\n    }\r\n\r\n    attach(element: HTMLElement) {\r\n      let superAttach = super.attach(element);\r\n\r\n      this._customAngularElement = element.querySelector(customComponentOptions.selector);\r\n\r\n      // Bind the custom options and the validations to the Angular component's inputs (flattened)\r\n      if (this._customAngularElement) {\r\n        // To make sure we have working input in IE...\r\n        // IE doesn't render it properly if it's not visible on the screen\r\n        // due to the whole structure applied via innerHTML to the parent\r\n        // so we need to use appendChild\r\n        if (!this._customAngularElement.getAttribute('ng-version')) {\r\n          this._customAngularElement.removeAttribute('ref');\r\n\r\n          const newCustomElement = document.createElement(customComponentOptions.selector) as FormioCustomElement;\r\n\r\n          newCustomElement.setAttribute('ref', 'input');\r\n          Object.keys(this.inputInfo.attr).forEach((attr: string) => {\r\n            newCustomElement.setAttribute(attr, this.inputInfo.attr[attr]);\r\n          });\r\n\r\n          this._customAngularElement.appendChild(newCustomElement);\r\n          this._customAngularElement = newCustomElement;\r\n\r\n          superAttach = super.attach(element);\r\n        }\r\n\r\n        // Bind customOptions\r\n        for (const key in this.component.customOptions) {\r\n          if (this.component.customOptions.hasOwnProperty(key)) {\r\n            this._customAngularElement[key] = this.component.customOptions[key];\r\n          }\r\n        }\r\n        // Bind validate options\r\n        for (const key in this.component.validate) {\r\n          if (this.component.validate.hasOwnProperty(key)) {\r\n            this._customAngularElement[key] = this.component.validate[key];\r\n          }\r\n        }\r\n        // Bind options explicitly set\r\n        const fieldOptions = customComponentOptions.fieldOptions;\r\n        if (isArray(fieldOptions) && fieldOptions.length > 0) {\r\n          for (const key in fieldOptions) {\r\n            if (fieldOptions.hasOwnProperty(key)) {\r\n              this._customAngularElement[fieldOptions[key]] = this.component[fieldOptions[key]];\r\n            }\r\n          }\r\n        }\r\n\r\n        // Attach event listener for emit event\r\n        this._customAngularElement.addEventListener('formioEvent', (event: CustomEvent<FormioEvent>) => {\r\n          this.emit(event.detail.eventName, {\r\n            ...event.detail.data,\r\n            component: this.component\r\n          });\r\n        });\r\n\r\n        // Ensure we bind the value (if it isn't a multiple-value component with no wrapper)\r\n        if (!this._customAngularElement.value && !this.component.disableMultiValueWrapper) {\r\n          this.restoreValue();\r\n        }\r\n\r\n      }\r\n      return superAttach;\r\n    }\r\n\r\n    // Add extra option to support multiple value (e.g. datagrid) with single angular component (disableMultiValueWrapper)\r\n    useWrapper() {\r\n      return this.component.hasOwnProperty('multiple') && this.component.multiple && !this.component.disableMultiValueWrapper;\r\n    }\r\n\r\n    get defaultValue() {\r\n      let defaultValue = this.emptyValue;\r\n\r\n      // handle falsy default value\r\n      if (!isNil(this.component.defaultValue)) {\r\n        defaultValue = this.component.defaultValue;\r\n      }\r\n\r\n      if (this.component.customDefaultValue && !this.options.preview) {\r\n        defaultValue = this.evaluate(\r\n          this.component.customDefaultValue,\r\n          { value: '' },\r\n          'value'\r\n        );\r\n      }\r\n\r\n      return clone(defaultValue);\r\n    }\r\n  };\r\n}\r\n","import { Injector, Type } from '@angular/core';\r\nimport { createCustomElement } from '@angular/elements';\r\nimport { Components } from '@formio-tmt/js';\r\nimport { FormioCustomComponentInfo } from '../elements.common';\r\nimport { createCustomFormioComponent } from './create-custom-component';\r\nimport { CustomTagsService } from './custom-tags.service';\r\n\r\nexport function registerCustomTag(tag: string, injector: Injector): void {\r\n  injector.get(CustomTagsService).addCustomTag(tag);\r\n}\r\n\r\nexport function registerCustomTags(tags: string[], injector: Injector): void {\r\n  tags.forEach(tag => registerCustomTag(tag, injector));\r\n}\r\n\r\nexport function registerCustomFormioComponent(\r\n  options: FormioCustomComponentInfo,\r\n  angularComponent: Type<any>,\r\n  injector: Injector,\r\n): void {\r\n  registerCustomTag(options.selector, injector);\r\n\r\n  const complexCustomComponent = createCustomElement(angularComponent, { injector });\r\n  customElements.define(options.selector, complexCustomComponent);\r\n\r\n  Components.setComponent(options.type, createCustomFormioComponent(options));\r\n}\r\n\r\nexport function registerCustomFormioComponentWithClass(\r\n  options: FormioCustomComponentInfo,\r\n  angularComponent: Type<any>,\r\n  formioClass: any,\r\n  injector: Injector,\r\n): void {\r\n  registerCustomTag(options.selector, injector);\r\n\r\n  const complexCustomComponent = createCustomElement(angularComponent, { injector });\r\n  customElements.define(options.selector, complexCustomComponent);\r\n\r\n  Components.setComponent(options.type, formioClass);\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.FormioAppConfig","i2.CustomTagsService","i2.ParseHtmlContentPipe","i3","i4.FormioLoaderComponent","i5.FormioAlertsComponent","FormioUtils"],"mappings":"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"}