{"version":3,"file":"formio-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-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/components/formioreport/formioreport.component.ts","../../../projects/angular-formio/src/components/formioreport/formioreport.component.html","../../../projects/angular-formio/src/formio.module.ts","../../../projects/angular-formio/src/core.ts","../../../projects/angular-formio/src/formio-angular.ts"],"sourcesContent":["import { Inject, Injectable, InjectionToken } from '@angular/core';\nexport const FORMIO_CONFIG = new InjectionToken('formio-config');\nimport { Formio } from '@formio/js';\n\n@Injectable()\nexport class FormioAppConfig {\n  // GOTCHA(G-NG01)\n  [x: string]: any;\n  appUrl = '';\n  apiUrl = '';\n  icons?: string;\n  formOnly?: boolean;\n  formio?: Formio;\n  constructor(\n    @Inject(FORMIO_CONFIG)\n    config: {\n      apiUrl?: string;\n      baseUrl?: string;\n      appUrl?: string;\n      projectUrl?: string;\n    } = {},\n  ) {\n    this.apiUrl = config.apiUrl || config.baseUrl;\n    this.appUrl = config.appUrl || config.projectUrl;\n    if (this.apiUrl) {\n      Formio.setBaseUrl(this.apiUrl);\n      Formio.setProjectUrl(this.appUrl);\n      this.formio = new Formio(this.appUrl);\n    }\n  }\n}\n","import { ExtendedComponentSchema, ValidateOptions } from '@formio/deprecated-types';\nimport { AlertsPosition } from './types/alerts-position';\n\nexport interface ComponentOptions<\n  T = any,\n  V extends ValidateOptions = ValidateOptions,\n> extends ExtendedComponentSchema<T> {\n  validate?: V;\n}\n\nexport interface FormioRefreshValue {\n  property?: string;\n  value?: object;\n  form?: object;\n  submission?: object;\n}\n\nexport interface AccessSetting {\n  type: string;\n  roles: string[];\n}\n\nexport interface FormioReport {\n  form: string;\n  roles: object;\n  access: object;\n  metadata: object;\n  data: object;\n  project: string;\n}\n\nexport interface FormioForm {\n  title?: string;\n  display?: string;\n  name?: string;\n  path?: string;\n  type?: string;\n  project?: string;\n  template?: string;\n  components?: ExtendedComponentSchema[];\n  tags?: string[];\n  access?: AccessSetting[];\n  submissionAccess?: AccessSetting[];\n  report?: FormioReport;\n}\n\nexport interface ComponentInstance {\n  component: ExtendedComponentSchema;\n  id: string;\n  type: string;\n  asString?(value: any): string;\n  getView(value: any): string;\n}\n\nexport interface AlertsOptions {\n  submitMessage: string;\n}\n\nexport interface ErrorsOptions {\n  message: string;\n}\n\nexport class FormioError {\n  constructor(\n    public message: string,\n    public component: ExtendedComponentSchema,\n    public silent?: boolean,\n  ) {}\n}\n\nexport type FormioSubmissionCallback = (error: FormioError, submission: object) => void;\nexport type FormioBeforeSubmit = (submission: object, callback: FormioSubmissionCallback) => void;\n\nexport interface FormioHookOptions {\n  beforeSubmit: FormioBeforeSubmit;\n}\n\nexport interface AngularFormioOptions {\n  errors?: ErrorsOptions;\n  alerts?: AlertsOptions;\n  alertsPosition?: AlertsPosition;\n  disableAlerts?: boolean;\n}\n","import { Observable, Observer } from 'rxjs';\nimport { FormioForm } from './formio.common';\nimport { FormioCore as Formio } from '@formio/js';\n\nexport class FormioService {\n  public formio: any;\n  constructor(\n    public url: string,\n    public options?: object,\n  ) {\n    this.formio = new Formio(this.url, this.options);\n  }\n  requestWrapper(fn: any) {\n    let record: any;\n    let called = false;\n    return Observable.create((observer: Observer<any>) => {\n      try {\n        if (!called) {\n          called = true;\n          fn()\n            .then((_record: any) => {\n              record = _record;\n              observer.next(record);\n              observer.complete();\n            })\n            .catch((err: any) => observer.error(err));\n        } else if (record) {\n          observer.next(record);\n          observer.complete();\n        }\n      } catch (err) {\n        observer.error(err);\n      }\n    });\n  }\n  saveForm(form: FormioForm, options?: any): Observable<FormioForm> {\n    return this.requestWrapper(() => this.formio.saveForm(form, options));\n  }\n  loadForm(query?: any, options?: any): Observable<FormioForm> {\n    return this.requestWrapper(() => this.formio.loadForm(query, options));\n  }\n  loadForms(query: any, options?: any): Observable<FormioForm> {\n    return this.requestWrapper(() => this.formio.loadForms(query, options));\n  }\n  loadSubmission(query?: any, options?: any): Observable<{}> {\n    return this.requestWrapper(() => this.formio.loadSubmission(query, options));\n  }\n  userPermissions(user: any, form: any, submission: any): Observable<{}> {\n    return this.requestWrapper(() => this.formio.userPermissions(user, form, submission));\n  }\n  deleteSubmission(data?: any, options?: any): Observable<{}> {\n    return this.requestWrapper(() => this.formio.deleteSubmission(data, options));\n  }\n  saveSubmission(submission: {}, options?: any): Observable<{}> {\n    return this.requestWrapper(() => this.formio.saveSubmission(submission, options));\n  }\n  loadSubmissions(query?: any, options?: any): Observable<{}> {\n    return this.requestWrapper(() => this.formio.loadSubmissions(query, options));\n  }\n}\n","import { from } from 'rxjs';\nimport { FormioService } from './formio.service';\nimport { FormioForm } from './formio.common';\n\nexport class FormioPromiseService {\n  private formioService: FormioService;\n\n  constructor(\n    public url: string,\n    public options?: object,\n  ) {\n    this.formioService = new FormioService(url, options);\n  }\n\n  saveForm(form: FormioForm, options?: any): Promise<any> {\n    return this.formioService.saveForm(form, options).toPromise();\n  }\n  loadForm(query?: any, options?: any): Promise<any> {\n    return this.formioService.loadForm(query, options).toPromise();\n  }\n  loadSubmission(query?: any, options?: any): Promise<any> {\n    return this.formioService.loadSubmission(query, options).toPromise();\n  }\n  userPermissions(user: any, form: any, submission: any): Promise<any> {\n    return this.formioService.userPermissions(user, form, submission).toPromise();\n  }\n  deleteSubmission(data?: any, options?: any): Promise<any> {\n    return this.formioService.deleteSubmission(data, options).toPromise();\n  }\n  loadForms(query: any, options?: any): Promise<any> {\n    return this.formioService.loadForms(query, options).toPromise();\n  }\n  saveSubmission(submission: {}, options?: any): Promise<any> {\n    return this.formioService.saveSubmission(submission, options).toPromise();\n  }\n  loadSubmissions(query?: any, options?: any): Promise<any> {\n    return this.formioService.loadSubmissions(query, options).toPromise();\n  }\n}\n","import { RouterModule } from '@angular/router';\nimport { each } from 'lodash';\n\nexport function extendRouter(Class: any, config: any, ClassRoutes: any) {\n  each(Class.decorators, (decorator) => {\n    each(decorator.args, (arg) => {\n      if (arg.declarations) {\n        each(config, (component) => arg.declarations.push(component));\n      }\n      if (arg.imports) {\n        each(arg.imports, (_import, index) => {\n          if (\n            (_import.ngModule && _import.ngModule.name === 'RouterModule') ||\n            (_import.ngModule && _import.ngModule.name === '_RouterModule') ||\n            _import.name === 'RouterModule' ||\n            _import.name === '_RouterModule'\n          ) {\n            arg.imports[index] = RouterModule.forChild(ClassRoutes(config));\n          }\n        });\n      }\n    });\n  });\n  return Class;\n}\n","export interface FormioAlert {\n  type: string;\n  message: string;\n  component?: any;\n}\n\nexport class FormioAlerts {\n  public alerts: FormioAlert[] = [];\n\n  setAlert(alert: FormioAlert) {\n    this.alerts = [alert];\n  }\n\n  addAlert(alert: FormioAlert) {\n    this.alerts.push(alert);\n  }\n\n  setAlerts(alerts: FormioAlert[]) {\n    this.alerts = alerts;\n  }\n}\n","export enum AlertsPosition {\n  none,\n  top,\n  bottom,\n  both,\n}\n","import { Injectable } from '@angular/core';\n@Injectable()\nexport class CustomTagsService {\n  tags: string[] = [];\n\n  addCustomTag(tag: string) {\n    this.tags.push(tag);\n  }\n}\n","import {\n  Component,\n  ElementRef,\n  EventEmitter,\n  inject,\n  Input,\n  NgZone,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Output,\n  ViewChild,\n  ChangeDetectorRef\n} from '@angular/core';\nimport { FormioService } from './formio.service';\nimport { FormioAlerts } from './components/alerts/formio.alerts';\nimport { FormioAppConfig } from './formio.config';\nimport { AngularFormioOptions, FormioError, FormioForm, FormioRefreshValue } from './formio.common';\nimport { assign, get, isEmpty } from 'lodash';\nimport { CustomTagsService } from './custom-tags.service';\nimport { Form, Utils, Webform } from '@formio/js';\nimport { AlertsPosition } from './types/alerts-position';\nconst { Evaluator, fastCloneDeep } = Utils;\n\n@Component({ template: '' })\nexport class FormioBaseComponent implements OnInit, OnChanges, OnDestroy {\n  @Input() form?: FormioForm;\n  @Input() submission?: any = {};\n  @Input() src?: string;\n  @Input() url?: string;\n  @Input() service?: FormioService;\n  @Input() options?: Form['options'] & AngularFormioOptions;\n  @Input() noeval? = Evaluator.noeval;\n  @Input() formioOptions?: any;\n  @Input() renderOptions?: any;\n  @Input() readOnly? = false;\n  @Input() viewOnly? = false;\n  @Input() hideLoading? = false;\n  @Input() hideComponents?: string[];\n  @Input() refresh?: EventEmitter<FormioRefreshValue>;\n  @Input() error?: EventEmitter<any>;\n  @Input() success?: EventEmitter<object>;\n  @Input() submitDone?: EventEmitter<object>;\n  @Input() language?: EventEmitter<string> | string;\n  @Input() hooks?: any = {};\n  @Input() renderer?: any;\n  @Input() watchSubmissionErrors? = false;\n  @Input() dataTableActions?: any = [];\n  @Output() render = new EventEmitter<object>();\n  @Output() customEvent = new EventEmitter<object>();\n  @Output() fileUploadingStatus = new EventEmitter<string>();\n  @Output() submit = new EventEmitter<object>();\n  @Output() prevPage = new EventEmitter<object>();\n  @Output() nextPage = new EventEmitter<object>();\n  @Output() beforeSubmit = new EventEmitter<object>();\n  @Output() rowAdd = new EventEmitter<any>();\n  @Output() rowAdded = new EventEmitter<any>();\n  @Output() rowEdit = new EventEmitter<any>();\n  @Output() rowEdited = new EventEmitter<any>();\n  @Output() rowDelete = new EventEmitter<any>();\n  @Output() rowClick = new EventEmitter<any>();\n  @Output() rowSelectChange = new EventEmitter<any>();\n  @Output() page = new EventEmitter<any>();\n  @Output() changeItemsPerPage = new EventEmitter<any>();\n  @Output() change = new EventEmitter<object>();\n  @Output() invalid = new EventEmitter<boolean>();\n  @Output() errorChange = new EventEmitter<any>();\n  @Output() formLoad = new EventEmitter<any>();\n  @Output() submissionLoad = new EventEmitter<any>();\n  @Output() ready = new EventEmitter<FormioBaseComponent>();\n  @ViewChild('formio', { static: true }) formioElement?: ElementRef<any>;\n\n  public AlertsPosition = AlertsPosition;\n  public formio: any;\n  public initialized = false;\n  public alerts = new FormioAlerts();\n  public formioReady: Promise<any>;\n\n  private formioReadyResolve: any;\n  private submitting = false;\n  private submissionSuccess = false;\n  public isLoading: boolean;\n  public noAlerts: boolean;\n  public label: string;\n  protected readonly changeDetectorRef: ChangeDetectorRef = inject(ChangeDetectorRef);\n\n  constructor(\n    public ngZone: NgZone,\n    @Optional() public config: FormioAppConfig,\n    @Optional() public customTags?: CustomTagsService,\n  ) {\n    this.isLoading = true;\n    this.formioReady = new Promise((ready) => {\n      this.formioReadyResolve = ready;\n    });\n  }\n\n  getRenderer() {\n    return this.renderer;\n  }\n\n  getRendererOptions() {\n    const extraTags = this.customTags ? this.customTags.tags : [];\n    return assign(\n      {},\n      {\n        icons: get(this.config, 'icons', 'fontawesome'),\n        noAlerts: get(this.options, 'noAlerts', true),\n        readOnly: this.readOnly,\n        viewAsHtml: this.viewOnly,\n        ...(this.viewOnly && { renderMode: 'html' }),\n        i18n: get(this.options, 'i18n', null),\n        fileService: get(this.options, 'fileService', null),\n        hooks: this.hooks,\n        sanitizeConfig: {\n          addTags: extraTags,\n        },\n        dataTableActions: this.dataTableActions,\n      },\n      this.renderOptions || {},\n    );\n  }\n\n  createRenderer() {\n    const Renderer = this.getRenderer();\n    const form = new Renderer(\n      this.formioElement ? this.formioElement.nativeElement : null,\n      this.form,\n      this.getRendererOptions(),\n    );\n    return form.instance;\n  }\n\n  setFormUrl(url) {\n    this.formio.setUrl(url, this.formioOptions || {});\n  }\n\n  setForm(form: FormioForm) {\n    this.form = form;\n    if (this.formio) {\n      this.formio.destroy();\n    }\n\n    if (this.form.title) {\n      this.label = this.form.title;\n    } else if (this.form.components && this.form.components[0]) {\n      this.label = this.form.components[0].label;\n    }\n\n    // Clear out the element to render the new form.\n    if (this.formioElement && this.formioElement.nativeElement) {\n      this.formioElement.nativeElement.innerHTML = '';\n    }\n    this.formio = this.createRenderer();\n\n    if (!this.formio) {\n      return;\n    }\n    this.formio.setSubmission(this.submission, {\n      fromSubmission: false,\n    });\n    if (this.renderOptions && this.renderOptions.validateOnInit) {\n      this.formio.setValue(this.submission, { validateOnInit: true });\n    }\n    if (this.url) {\n      this.setFormUrl(this.url);\n    }\n    if (this.src) {\n      this.setFormUrl(this.src);\n    }\n    this.formio.nosubmit = true;\n    this.attachFormEvents();\n\n    return this.formio.ready.then(() => {\n      this.ngZone.run(() => {\n        this.isLoading = false;\n        this.changeDetectorRef.markForCheck();\n        this.ready.emit(this);\n        this.formioReadyResolve(this.formio);\n        if (this.formio.submissionReady) {\n          this.formio.submissionReady.then((submission) => {\n            this.submissionLoad.emit(submission);\n          });\n        }\n      });\n      return this.formio;\n    });\n  }\n\n  // GOTCHA(G-NG04)\n  attachFormEvents() {\n    this.formio.on('prevPage', (data: any) => this.ngZone.run(() => this.onPrevPage(data)));\n    this.formio.on('nextPage', (data: any) => this.ngZone.run(() => this.onNextPage(data)));\n    this.formio.on('change', (value: any, flags: any, isModified: boolean) =>\n      this.ngZone.run(() => this.onChange(value, flags, isModified)),\n    );\n    this.formio.on('rowAdd', (component: any) =>\n      this.ngZone.run(() => this.rowAdd.emit(component)),\n    );\n    this.formio.on('rowAdded', (data: any, component: any) =>\n      this.ngZone.run(() => this.rowAdded.emit({ component, row: data })),\n    );\n    this.formio.on('rowEdit', (data: any, rowIndex: number, index: number, component: any) =>\n      this.ngZone.run(() => this.rowEdit.emit({ component, row: data, rowIndex, index })),\n    );\n    this.formio.on('rowEdited', (data: any, rowIndex: number, component: any) =>\n      this.ngZone.run(() => this.rowEdited.emit({ component, row: data, rowIndex })),\n    );\n    this.formio.on('rowDelete', (data: any, rowIndex: number, index: number, component: any) =>\n      this.ngZone.run(() => this.rowDelete.emit({ component, row: data, rowIndex, index })),\n    );\n    this.formio.on('rowClick', (row: any, rowIndex: number, index: number, component: any) =>\n      this.ngZone.run(() => this.rowClick.emit({ component, row, rowIndex, index })),\n    );\n    this.formio.on('rowSelectChange', (selectedRows: any[], component: any) =>\n      this.ngZone.run(() => this.rowSelectChange.emit({ selectedRows, component })),\n    );\n    this.formio.on('page', (currentPage: number, component: any) =>\n      this.ngZone.run(() => this.page.emit({ currentPage, component })),\n    );\n    this.formio.on('changeItemsPerPage', (itemsPerPage: number) =>\n      this.ngZone.run(() => this.changeItemsPerPage.emit({ itemsPerPage })),\n    );\n    this.formio.on('customEvent', (event: any) =>\n      this.ngZone.run(() => this.customEvent.emit(event)),\n    );\n\n    ['fileUploadingStart', 'fileUploadingEnd'].forEach((eventName, index) => {\n      const status = !!index ? 'end' : 'start';\n      this.formio.on(eventName, () => this.ngZone.run(() => this.fileUploadingStatus.emit(status)));\n    });\n\n    this.formio.on('submit', (submission: any, saved: boolean) =>\n      this.ngZone.run(() => this.submitForm(submission, saved)),\n    );\n    this.formio.on('error', (err: any) =>\n      this.ngZone.run(() => {\n        this.submissionSuccess = false;\n        return this.onError(err);\n      }),\n    );\n    this.formio.on('render', () => this.ngZone.run(() => this.render.emit()));\n    this.formio.on('formLoad', (loadedForm: any) =>\n      this.ngZone.run(() => this.formLoad.emit(loadedForm)),\n    );\n  }\n\n  initialize() {\n    if (this.initialized) {\n      return;\n    }\n\n    const extraTags = this.customTags ? this.customTags.tags : [];\n    const defaultOptions: Form['options'] & AngularFormioOptions = {\n      errors: {\n        message: 'Please fix the following errors before submitting.',\n      },\n      alerts: {\n        submitMessage: 'Submission Complete.',\n      },\n      disableAlerts: false,\n      hooks: {\n        beforeSubmit: null,\n      },\n      sanitizeConfig: {\n        addTags: extraTags,\n      },\n      alertsPosition: AlertsPosition.top,\n    };\n    this.options = Object.assign(defaultOptions, this.options);\n    if (this.options.disableAlerts) {\n      this.options.alertsPosition = AlertsPosition.none;\n    }\n    this.initialized = true;\n  }\n\n  ngOnInit() {\n    Evaluator.noeval = this.noeval;\n    this.initialize();\n\n    if (this.language) {\n      if (typeof this.language === 'string') {\n        this.formio.language = this.language;\n      } else {\n        this.language.subscribe((lang: string) => {\n          this.formio.language = lang;\n        });\n      }\n    }\n\n    if (this.refresh) {\n      this.refresh.subscribe((refresh: FormioRefreshValue) => this.onRefresh(refresh));\n    }\n\n    if (this.error) {\n      this.error.subscribe((err: any) => this.onError(err));\n    }\n\n    if (this.success) {\n      this.success.subscribe((message: string) => {\n        this.alerts.setAlert({\n          type: 'success',\n          message: message || get(this.options, 'alerts.submitMessage'),\n        });\n      });\n    }\n\n    if (this.submitDone) {\n      this.submitDone.subscribe((submission: object) => {\n        this.formio.emit('submitDone', submission);\n      });\n    }\n\n    if (this.src) {\n      if (!this.service) {\n        this.service = new FormioService(this.src);\n      }\n      this.isLoading = true;\n      this.setFormFromSrc();\n    }\n    if (this.url && !this.service) {\n      this.service = new FormioService(this.url);\n    }\n  }\n\n  setFormFromSrc() {\n    this.service.loadForm({ params: { live: 1 } }).subscribe(\n      (form: FormioForm) => {\n        if (form && form.components) {\n          this.ngZone.runOutsideAngular(() => {\n            this.setForm(form);\n          });\n        }\n\n        // if a submission is also provided.\n        if (isEmpty(this.submission) && this.service && this.service.formio.submissionId) {\n          this.service.loadSubmission().subscribe(\n            (submission: any) => {\n              if (this.readOnly) {\n                this.formio.options.readOnly = true;\n              }\n              this.submission = this.formio.submission = submission;\n            },\n            (err) => this.onError(err),\n          );\n        }\n      },\n      (err) => this.onError(err),\n    );\n  }\n\n  ngOnDestroy() {\n    if (this.formio) {\n      this.formio.destroy();\n    }\n  }\n\n  onRefresh(refresh: FormioRefreshValue) {\n    this.formioReady.then(() => {\n      if (refresh.form) {\n        this.formio.setForm(refresh.form).then(() => {\n          if (refresh.submission) {\n            this.formio.setSubmission(refresh.submission);\n          }\n        });\n      } else if (refresh.submission) {\n        this.formio.setSubmission(refresh.submission);\n      } else {\n        switch (refresh.property) {\n          case 'submission':\n            this.formio.submission = refresh.value;\n            break;\n          case 'form':\n            this.formio.form = refresh.value;\n            break;\n        }\n      }\n    });\n  }\n\n  ngOnChanges(changes: any) {\n    Evaluator.noeval = this.noeval;\n    this.initialize();\n\n    if (changes.form && changes.form.currentValue) {\n      this.ngZone.runOutsideAngular(() => {\n        this.setForm(changes.form.currentValue);\n      });\n    }\n\n    this.formioReady.then(() => {\n      if (changes.submission && changes.submission.currentValue) {\n        this.formio.setSubmission(changes.submission.currentValue, {\n          fromSubmission: !changes.submission.firstChange,\n        });\n      }\n\n      if (changes.hideComponents && changes.hideComponents.currentValue) {\n        const hiddenComponents = changes.hideComponents.currentValue;\n        this.formio.options.hide = hiddenComponents;\n        this.formio.everyComponent((component) => {\n          component.options.hide = hiddenComponents;\n          if (hiddenComponents.includes(component.component.key)) {\n            component.visible = false;\n          }\n        });\n      }\n    });\n  }\n\n  onPrevPage(data: any) {\n    this.alerts.setAlerts([]);\n    this.changeDetectorRef.markForCheck();\n    this.prevPage.emit(data);\n  }\n\n  onNextPage(data: any) {\n    this.alerts.setAlerts([]);\n    this.changeDetectorRef.markForCheck();\n    this.nextPage.emit(data);\n  }\n\n  onSubmit(submission: any, saved: boolean, noemit?: boolean) {\n    this.submitting = false;\n    this.submissionSuccess = true;\n\n    this.formio.setValue(fastCloneDeep(submission), {\n      noValidate: true,\n      noCheck: true,\n    });\n\n    if (saved) {\n      this.formio.emit('submitDone', submission);\n    }\n    if (!noemit) {\n      this.submit.emit(submission);\n    }\n    if (!this.success) {\n      this.alerts.setAlert({\n        type: 'success',\n        message: get(this.options, 'alerts.submitMessage'),\n      });\n    }\n    this.changeDetectorRef.markForCheck();\n  }\n\n  onError(err: any) {\n    this.alerts.setAlerts([]);\n    this.submitting = false;\n    this.isLoading = false;\n    this.changeDetectorRef.markForCheck();\n\n    if (!err) {\n      return;\n    }\n\n    // Make sure it is an array.\n    const errors = Array.isArray(err) ? err : [err];\n\n    // Emit these errors again.\n    this.errorChange.emit(errors);\n\n    if (err.silent) {\n      return;\n    }\n\n    if (this.formio && errors.length) {\n      this.formio.emit('submitError', errors);\n    }\n\n    // Iterate through each one and set the alerts array.\n    errors.forEach((error: any) => {\n      const { message, paths } = error\n        ? error.details\n          ? {\n              message: error.details.map((detail) => detail.message),\n              paths: error.details.map((detail) => detail.path),\n            }\n          : {\n              message: error.message || error.toString(),\n              paths:\n                error.path || error.formattedKeyOrPath\n                  ? [error.path || error.formattedKeyOrPath]\n                  : [],\n            }\n        : {\n            message: '',\n            paths: [],\n          };\n\n      let shouldErrorDisplay = true;\n\n      if (this.formio) {\n        paths.forEach((path, index) => {\n          const component = this.formio.getComponent(path);\n          if (component) {\n            const components = Array.isArray(component) ? component : [component];\n            const messageText = Array.isArray(message) ? message[index] : message;\n            components.forEach((comp) => comp.setCustomValidity(messageText, true));\n            this.alerts.addAlert({\n              type: 'danger',\n              message: Array.isArray(message) ? message[index] : message,\n              component,\n            });\n            shouldErrorDisplay = false;\n          }\n        });\n\n        if ((window as any).VPAT_ENABLED) {\n          if (typeof error === 'string' && this.formio.components) {\n            this.formio.components.forEach((comp) => {\n              if (comp && comp.type !== 'button') {\n                comp.setCustomValidity(message, true);\n              }\n            });\n          }\n        }\n      }\n\n      if (shouldErrorDisplay) {\n        this.alerts.addAlert({\n          type: 'danger',\n          message,\n          component: error.component,\n        });\n      }\n    });\n\n    if (this.formio && !this.noAlerts) {\n      this.formio.showErrors(errors);\n    }\n  }\n\n  focusOnComponet(key: any) {\n    if (this.formio) {\n      this.formio.focusOnComponent(key);\n    }\n  }\n\n  submitExecute(submission: object, saved = false) {\n    if (this.service && !this.url && !saved) {\n      this.service.saveSubmission(submission).subscribe(\n        (sub: {}) => this.onSubmit(sub, true),\n        (err) => this.onError(err),\n      );\n    } else {\n      this.onSubmit(submission, false);\n    }\n  }\n\n  submitForm(submission: any, saved = false) {\n    // Keep double submits from occurring...\n    if (this.submitting) {\n      return;\n    }\n    this.formio.setMetadata(submission);\n    this.submissionSuccess = false;\n    this.submitting = true;\n    this.beforeSubmit.emit(submission);\n\n    // if they provide a beforeSubmit hook, then allow them to alter the submission asynchronously\n    // or even provide a custom Error method.\n    const beforeSubmit = get(this.options, 'hooks.beforeSubmit');\n    if (beforeSubmit) {\n      beforeSubmit(submission, (err: FormioError, sub: object) => {\n        if (err) {\n          this.onError(err);\n          return;\n        }\n        this.submitExecute(sub, saved);\n      });\n    } else {\n      this.submitExecute(submission, saved);\n    }\n  }\n\n  onChange(value: any, flags: any, isModified: boolean) {\n    if (this.watchSubmissionErrors && !this.submissionSuccess) {\n      const errors = get(this, 'formio.errors', []);\n      const alerts = get(this, 'alerts.alerts', []);\n      const submitted = get(this, 'formio.submitted', false);\n      if (submitted && (errors.length || alerts.length)) {\n        this.onError(errors);\n      }\n    }\n    return this.change.emit({ ...value, flags, isModified });\n  }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n  selector: 'formio-loader',\n  styleUrls: ['./formio.loader.component.scss'],\n  templateUrl: './formio.loader.component.html',\n})\nexport class FormioLoaderComponent {\n  @Input() isLoading: boolean;\n}\n","@if (isLoading) {\n  <div class=\"formio-loader-wrapper\">\n    <div class=\"formio-loader-spinner\"></div>\n  </div>\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n  name: 'parseHtmlContent',\n  pure: false,\n})\nexport class ParseHtmlContentPipe implements PipeTransform {\n  /*\n    Some messages that are come from formiojs have hex codes. So the main aim of this pipe is transform this messages to html.\n    And then render in template.\n  */\n  transform(content) {\n    const parsedContent = new DOMParser().parseFromString(content, 'text/html').body.childNodes[0];\n\n    return parsedContent?.textContent;\n  }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormioAlerts } from './formio.alerts';\nimport { ParseHtmlContentPipe } from './parse-html-content.pipe';\n\n@Component({\n  selector: 'formio-alerts',\n  templateUrl: './formio.alerts.component.html',\n  imports: [ParseHtmlContentPipe],\n})\nexport class FormioAlertsComponent implements OnInit {\n  @Input() alerts: FormioAlerts;\n  @Output() focusComponent = new EventEmitter<object>();\n  ngOnInit() {\n    if (!this.alerts) {\n      this.alerts = new FormioAlerts();\n    }\n  }\n  getComponent(event, alert) {\n    this.focusComponent.emit(alert.component.key);\n  }\n}\n","@for (alert of alerts.alerts; track $index) {\n  <div class=\"alert alert-{{ alert.type }}\" role=\"alert\" (click)=\"getComponent($event, alert)\">\n    {{ alert.message | parseHtmlContent }}\n  </div>\n}\n","import {\n  Component,\n  OnInit,\n  Optional,\n  ViewEncapsulation,\n  Input,\n  NgZone,\n  OnChanges\n} from '@angular/core';\nimport { FormioAppConfig } from '../../formio.config';\nimport { Formio, Form } from '@formio/js';\nimport { FormioBaseComponent } from '../../FormioBaseComponent';\nimport { CustomTagsService } from '../../custom-tags.service';\nimport { FormioLoaderComponent } from '../loader/formio.loader.component';\nimport { FormioAlertsComponent } from '../alerts/formio.alerts.component';\n\n/* tslint:disable */\n@Component({\n  selector: 'formio',\n  templateUrl: './formio.component.html',\n  styleUrls: ['../../../../../node_modules/@formio/js/dist/formio.form.min.css'],\n  encapsulation: ViewEncapsulation.None,\n  imports: [FormioLoaderComponent, FormioAlertsComponent],\n})\n/* tslint:enable */\nexport class FormioComponent extends FormioBaseComponent implements OnInit, OnChanges {\n  constructor(\n    public ngZone: NgZone,\n    @Optional() public config: FormioAppConfig,\n    @Optional() public customTags?: CustomTagsService,\n  ) {\n    super(ngZone, config, customTags);\n    if (this.config) {\n      Formio.setBaseUrl(this.config.apiUrl);\n      Formio.setProjectUrl(this.config.appUrl);\n    } else {\n      console.warn('You must provide an AppConfig within your application!');\n    }\n  }\n\n  getRenderer() {\n    return this.renderer || Form;\n  }\n}\n","<div role=\"form\" [attr.aria-label]=\"label\">\n  @if (isLoading && !hideLoading) {\n    <div style=\"position: relative; height: 200px\">\n      <formio-loader [isLoading]=\"isLoading\"></formio-loader>\n    </div>\n  }\n  @if (\n    this.options.alertsPosition === AlertsPosition.top ||\n    this.options.alertsPosition === AlertsPosition.both\n  ) {\n    <formio-alerts (focusComponent)=\"focusOnComponet($event)\" [alerts]=\"alerts\"></formio-alerts>\n  }\n  <div #formio></div>\n  @if (\n    this.options.alertsPosition === AlertsPosition.bottom ||\n    this.options.alertsPosition === AlertsPosition.both\n  ) {\n    <formio-alerts (focusComponent)=\"focusOnComponet($event)\" [alerts]=\"alerts\"></formio-alerts>\n  }\n</div>\n","import {\n  Component,\n  Input,\n  OnInit,\n  OnChanges,\n  OnDestroy,\n  ViewEncapsulation,\n  Optional,\n  ElementRef,\n  ViewChild,\n  EventEmitter,\n  Output,\n  NgZone,\n} from '@angular/core';\nimport { FormioAppConfig } from '../../formio.config';\nimport { AngularFormioOptions, FormioForm } from '../../formio.common';\nimport { Formio, FormBuilder, Utils } from '@formio/js';\nimport { assign } from 'lodash';\nimport { Observable, Subscription } from 'rxjs';\nimport { CustomTagsService } from '../../custom-tags.service';\n\n/* tslint:disable */\n@Component({\n  selector: 'form-builder',\n  templateUrl: './formbuilder.component.html',\n  styleUrls: ['../../../../../node_modules/@formio/js/dist/formio.builder.min.css'],\n  encapsulation: ViewEncapsulation.None,\n})\n/* tslint:enable */\nexport class FormBuilderComponent implements OnInit, OnChanges, OnDestroy {\n  public ready: Promise<object>;\n  public readyResolve: any;\n  public formio: any;\n  public builder: FormBuilder;\n  public componentAdding = false;\n  private refreshSubscription: Subscription;\n  @Input() form?: FormioForm;\n  @Input() options?: FormBuilder['options'] & AngularFormioOptions;\n  @Input() formbuilder?: any;\n  @Input() noeval? = false;\n  @Input() refresh?: Observable<void>;\n  @Input() rebuild?: Observable<object>;\n  @Output() change: EventEmitter<object>;\n  @ViewChild('builder', { static: true }) builderElement?: ElementRef<any>;\n\n  constructor(\n    private ngZone: NgZone,\n    @Optional() private config: FormioAppConfig,\n    @Optional() private customTags?: CustomTagsService,\n  ) {\n    if (this.config) {\n      Formio.setBaseUrl(this.config.apiUrl);\n      Formio.setProjectUrl(this.config.appUrl);\n    } else {\n      console.warn('You must provide an AppConfig within your application!');\n    }\n\n    this.change = new EventEmitter();\n    this.ready = new Promise((resolve: any) => {\n      this.readyResolve = resolve;\n    });\n  }\n\n  ngOnInit() {\n    Utils.Evaluator.noeval = this.noeval;\n\n    if (this.refresh) {\n      this.refreshSubscription = this.refresh.subscribe(() => {\n        this.ngZone.runOutsideAngular(() => {\n          this.buildForm(this.form);\n        });\n      });\n    }\n\n    if (this.rebuild) {\n      this.rebuild.subscribe((options) => {\n        this.ngZone.runOutsideAngular(() => {\n          this.rebuildForm(this.form, options);\n        });\n      });\n    }\n  }\n\n  setInstance(instance: any) {\n    this.formio = instance;\n    instance.off('addComponent');\n    instance.off('saveComponent');\n    instance.off('updateComponent');\n    instance.off('removeComponent');\n    instance.on('addComponent', (component, parent, path, index, isNew) => {\n      this.ngZone.run(() => {\n        if (isNew) {\n          this.componentAdding = true;\n        } else {\n          this.change.emit({\n            type: 'addComponent',\n            builder: instance,\n            form: instance.schema,\n            component: component,\n            parent: parent,\n            path: path,\n            index: index,\n          });\n          this.componentAdding = false;\n        }\n      });\n    });\n    instance.on('saveComponent', (component, original, parent, path, index, isNew) => {\n      this.ngZone.run(() => {\n        this.change.emit({\n          type: this.componentAdding ? 'addComponent' : 'saveComponent',\n          builder: instance,\n          form: instance.schema,\n          component: component,\n          originalComponent: original,\n          parent: parent,\n          path: path,\n          index: index,\n          isNew: isNew || false,\n        });\n        this.componentAdding = false;\n      });\n    });\n    instance.on('updateComponent', (component) => {\n      this.ngZone.run(() => {\n        this.change.emit({\n          type: 'updateComponent',\n          builder: instance,\n          form: instance.schema,\n          component: component,\n        });\n      });\n    });\n    instance.on('removeComponent', (component, parent, path, index) => {\n      this.ngZone.run(() => {\n        this.change.emit({\n          type: 'deleteComponent',\n          builder: instance,\n          form: instance.schema,\n          component: component,\n          parent: parent,\n          path: path,\n          index: index,\n        });\n      });\n    });\n    this.ngZone.run(() => {\n      this.readyResolve(instance);\n    });\n    return instance;\n  }\n\n  setDisplay(display: String, prevDisplay?: string) {\n    if (display && display !== prevDisplay) {\n      (this.builder as any).setDisplay(display);\n    }\n  }\n\n  buildForm(form: any, prevForm?: any) {\n    if (!form || !this.builderElement || !this.builderElement.nativeElement) {\n      return;\n    }\n\n    if (this.builder) {\n      this.setDisplay(form.display, prevForm?.display);\n      this.setInstance(this.builder.instance);\n      this.builder.form = form;\n      this.builder.instance.form = form;\n      return this.builder.instance;\n    }\n\n    return this.rebuildForm(form);\n  }\n\n  rebuildForm(form: any, options?: object) {\n    const Builder = this.formbuilder || FormBuilder;\n    const extraTags = this.customTags ? this.customTags.tags : [];\n    this.builder = new Builder(\n      this.builderElement.nativeElement,\n      form,\n      assign(\n        {\n          icons: 'fontawesome',\n          sanitizeConfig: {\n            addTags: extraTags,\n          },\n        },\n        options || this.options || {},\n      ),\n    );\n    return this.builder.ready.then((instance) => this.setInstance(instance));\n  }\n\n  ngOnChanges(changes: any) {\n    Utils.Evaluator.noeval = this.noeval;\n\n    if (changes.form && changes.form.currentValue) {\n      this.ngZone.runOutsideAngular(() => {\n        this.buildForm(changes.form.currentValue || { components: [] }, changes.form.previousValue);\n      });\n    }\n  }\n\n  ngOnDestroy() {\n    if (this.refreshSubscription) {\n      this.refreshSubscription.unsubscribe();\n    }\n\n    if (this.formio) {\n      this.formio.destroy();\n    }\n  }\n}\n","<div #builder></div>\n","import {\n  Component,\n  OnInit,\n  ViewEncapsulation,\n  Input,\n  OnChanges,\n  ViewChild,\n  ElementRef,\n  EventEmitter,\n  Output,\n} from '@angular/core';\nimport { Formio } from '@formio/js';\nimport { FormioComponent } from '../formio/formio.component';\nimport { FormioReport } from '../../formio.common';\nimport { FormioLoaderComponent } from '../loader/formio.loader.component';\nimport { FormioAlertsComponent } from '../alerts/formio.alerts.component';\n\n/* tslint:disable */\n@Component({\n  selector: 'formio-report',\n  templateUrl: './formioreport.component.html',\n  styleUrls: ['../../../../../node_modules/@formio/js/dist/formio.form.min.css'],\n  encapsulation: ViewEncapsulation.None,\n  imports: [FormioLoaderComponent, FormioAlertsComponent],\n})\n/* tslint:enable */\nexport class FormioReportComponent extends FormioComponent implements OnInit, OnChanges {\n  @Input() report?: FormioReport;\n  @Input() projectEndpoint?: string;\n  @Output() fetchDataError = new EventEmitter<any>();\n  @ViewChild('report', { static: true }) declare formioElement?: ElementRef<any>;\n\n  public isReportLoading: boolean;\n\n  setFormFromSrc() {\n    this.service.loadSubmission({ params: { live: 1 } }).subscribe(\n      (report: FormioReport) => {\n        this.report = report;\n        if (report && report.data) {\n          this.ngZone.runOutsideAngular(() => {\n            this.setForm({ components: [], report });\n            this.isReportLoading = false;\n            this.changeDetectorRef.markForCheck();\n          });\n        }\n      },\n      (err) => this.onError(err),\n    );\n  }\n\n  setFormUrl(url) {\n    return;\n  }\n\n  ngOnChanges(changes: any) {\n    super.ngOnChanges(changes);\n\n    if (changes.report && changes.report.currentValue) {\n      this.ngZone.runOutsideAngular(() => {\n        this.setForm({ report: changes.report.currentValue, components: [] });\n        this.isReportLoading = false;\n        this.changeDetectorRef.markForCheck();\n      });\n    }\n  }\n\n  getRendererOptions() {\n    const projectEndpoint =\n      this.projectEndpoint || this.config?.appUrl || this.service?.formio?.projectUrl;\n\n    if (!projectEndpoint && !this.src) {\n      console.warn('The projectEndpoint url is required to render the Report using JSON schema.');\n    }\n    return {\n      projectEndpoint,\n      ...super.getRendererOptions(),\n    };\n  }\n  createRenderer() {\n    const Renderer = this.getRenderer();\n    if (!Renderer) {\n      return null;\n    }\n\n    const form = new Renderer(\n      this.formioElement ? this.formioElement.nativeElement : null,\n      this.report,\n      this.getRendererOptions(),\n    );\n    return form.instance;\n  }\n\n  attachFormEvents() {\n    this.formio.on('fetchDataError', (error: any, component: any) =>\n      this.ngZone.run(() => {\n        this.alerts.addAlert({\n          type: 'danger',\n          message: error ? JSON.stringify(error) : error,\n        });\n        this.changeDetectorRef.markForCheck();\n        this.fetchDataError.emit({ error, component });\n      }),\n    );\n  }\n\n  getRenderer() {\n    const reportRenderer = (Formio as any).Report;\n    if (!reportRenderer) {\n      console.error(\n        'Report is not found in Formio. Please make sure that you are using the Formio Reporting module and it is correctly included in your application.',\n      );\n    }\n\n    return reportRenderer;\n  }\n}\n","<div role=\"form\" [attr.aria-label]=\"label\">\n  @if (isReportLoading && !hideLoading) {\n    <div style=\"position: relative; height: 200px\">\n      <formio-loader [isLoading]=\"isReportLoading\"></formio-loader>\n    </div>\n  }\n  @if (\n    this.options.alertsPosition === AlertsPosition.top ||\n    this.options.alertsPosition === AlertsPosition.both\n  ) {\n    <formio-alerts (focusComponent)=\"focusOnComponet($event)\" [alerts]=\"alerts\"></formio-alerts>\n  }\n  <div #report></div>\n  @if (\n    this.options.alertsPosition === AlertsPosition.bottom ||\n    this.options.alertsPosition === AlertsPosition.both\n  ) {\n    <formio-alerts (focusComponent)=\"focusOnComponet($event)\" [alerts]=\"alerts\"></formio-alerts>\n  }\n</div>\n","import { NgModule, Optional } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Formio } from '@formio/js';\nimport { FormioComponent } from './components/formio/formio.component';\nimport { FormioReportComponent } from './components/formioreport/formioreport.component';\nimport { FormBuilderComponent } from './components/formbuilder/formbuilder.component';\nimport { FormioAlerts } from './components/alerts/formio.alerts';\nimport { ParseHtmlContentPipe } from './components/alerts/parse-html-content.pipe';\nimport { FormioAlertsComponent } from './components/alerts/formio.alerts.component';\nimport { FormioLoaderComponent } from './components/loader/formio.loader.component';\nimport { CustomTagsService } from './custom-tags.service';\nimport { FormioBaseComponent } from './FormioBaseComponent';\nimport { FormioAppConfig } from './formio.config';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    FormioComponent,\n    FormioReportComponent,\n    FormioBaseComponent,\n    FormBuilderComponent,\n    FormioLoaderComponent,\n    FormioAlertsComponent,\n    ParseHtmlContentPipe,\n  ],\n  exports: [\n    FormioComponent,\n    FormioReportComponent,\n    FormBuilderComponent,\n    FormioLoaderComponent,\n    FormioAlertsComponent,\n  ],\n  providers: [FormioAlerts, CustomTagsService],\n})\nexport class FormioModule {\n  constructor(@Optional() config?: FormioAppConfig) {\n    const apiUrl = config?.apiUrl || config?.baseUrl;\n    const appUrl = config?.appUrl || config?.projectUrl;\n    if (apiUrl) {\n      Formio.setBaseUrl(apiUrl);\n    }\n    if (appUrl) {\n      Formio.setProjectUrl(appUrl);\n    }\n  }\n}\n","if (window && typeof (window as any).global === 'undefined') {\n  (window as any).global = window;\n}\nexport * from './formio.config';\nexport * from './formio.common';\nexport * from './formio.service';\nexport * from './formio-promise.service';\nexport * from './formio.utils';\nexport * from './FormioBaseComponent';\nexport * from './components/formio/formio.component';\nexport * from './components/formbuilder/formbuilder.component';\nexport * from './components/formioreport/formioreport.component';\nexport * from './components/loader/formio.loader.component';\nexport * from './components/alerts/formio.alerts';\nexport * from './components/alerts/formio.alerts.component';\nexport { FormioModule } from './formio.module';\nexport { ComponentSchema, ExtendedComponentSchema, ElementInfo } from '@formio/deprecated-types';\nexport { Utils as FormioUtils } from '@formio/js';\nexport { Formio } from '@formio/js';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["Formio","i1.FormioAppConfig","i2.CustomTagsService"],"mappings":"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"}