@formio/angular 5.2.11 → 5.2.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"formio-angular.umd.js","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/custom-component/custom-tags.service.ts","../../../projects/angular-formio/src/types/alerts-position.ts","../../../projects/angular-formio/src/FormioBaseComponent.ts","../../../node_modules/tslib/tslib.es6.mjs","../../../projects/angular-formio/src/components/formio/formio.component.ts","../../../projects/angular-formio/src/components/formbuilder/formbuilder.component.ts","../../../projects/angular-formio/src/components/formioreport/formioreport.component.ts","../../../projects/angular-formio/src/components/loader/formio.loader.component.ts","../../../projects/angular-formio/src/components/alerts/formio.alerts.component.ts","../../../projects/angular-formio/src/components/alerts/parse-html-content.pipe.ts","../../../projects/angular-formio/src/formio.module.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/public-api.ts","../../../projects/angular-formio/src/formio-angular.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class FormioAppConfig {\n appUrl = '';\n apiUrl = '';\n icons?: string;\n formOnly?: boolean;\n}\n","import { ExtendedComponentSchema, ValidateOptions } from 'formiojs';\nimport { AlertsPosition } from './types/alerts-position';\nexport { ConditionalOptions, ValidateOptions } from 'formiojs';\n\nexport interface ComponentOptions<T = any, V = ValidateOptions> 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 = (\n error: FormioError,\n submission: object\n) => void;\nexport type FormioBeforeSubmit = (\n submission: object,\n callback: FormioSubmissionCallback\n) => void;\n\nexport interface FormioHookOptions {\n beforeSubmit: FormioBeforeSubmit;\n}\n\nexport interface FormioOptions {\n errors?: ErrorsOptions;\n alerts?: AlertsOptions;\n alertsPosition?: AlertsPosition;\n disableAlerts?: boolean;\n i18n?: object;\n fileService?: object;\n hooks?: FormioHookOptions;\n sanitizeConfig?: any;\n}\n","import { Observable, Observer } from 'rxjs';\nimport { FormioForm } from './formio.common';\nimport { Formio } from 'formiojs';\n\nexport class FormioService {\n public formio: any;\n constructor(public url: string, public options?: object) {\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(public url: string, public options?: object) {\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 { find, trim, each, intersection } 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.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","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class CustomTagsService {\n tags: string[] = [];\n\n addCustomTag(tag: string) {\n this.tags.push(tag);\n }\n}\n","export enum AlertsPosition {\n none,\n top,\n bottom,\n both\n}\n","import { Component, ElementRef, EventEmitter, Input, NgZone, OnChanges, OnDestroy, OnInit, Optional, Output, ViewChild } from '@angular/core';\nimport { FormioService } from './formio.service';\nimport { FormioAlerts } from './components/alerts/formio.alerts';\nimport { FormioAppConfig } from './formio.config';\nimport { FormioError, FormioForm, FormioOptions, FormioRefreshValue } from './formio.common';\nimport { assign, get, isEmpty } from 'lodash';\nimport { CustomTagsService } from './custom-component/custom-tags.service';\nimport Evaluator from 'formiojs/utils/Evaluator';\nimport { fastCloneDeep } from 'formiojs/utils/utils';\nimport { AlertsPosition } from './types/alerts-position';\n\n@Component({\n template: ''\n})\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?: FormioOptions;\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>;\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\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 icons: get(this.config, 'icons', 'fontawesome'),\n noAlerts: get(this.options, 'noAlerts', true),\n readOnly: this.readOnly,\n viewAsHtml: this.viewOnly,\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 }, this.renderOptions || {});\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\n this.formio.submission = this.submission;\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.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 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) => this.ngZone.run(() => this.onChange(value, flags, isModified)));\n this.formio.on('rowAdd', (component: any) => this.ngZone.run(() => this.rowAdd.emit(component)));\n this.formio.on('rowAdded', (data: any, component: any) => this.ngZone.run(() => this.rowAdded.emit({component, row: data})));\n this.formio.on('rowEdit', (data: any, rowIndex: number, index: number, component: any) => this.ngZone.run(() => this.rowEdit.emit({component, row: data, rowIndex, index})));\n this.formio.on('rowEdited', (data: any, rowIndex: number, component: any) => this.ngZone.run(() => this.rowEdited.emit({component, row: data, rowIndex})));\n this.formio.on('rowDelete', (data: any, rowIndex: number, index: number, component: any) => this.ngZone.run(() => this.rowDelete.emit({component, row: data, rowIndex, index})));\n this.formio.on('rowClick', (row: any, rowIndex: number, index: number,component: any) => this.ngZone.run(() => this.rowClick.emit({component, row, rowIndex, index})));\n this.formio.on('rowSelectChange', (selectedRows: any[], component: any) => this.ngZone.run(() => this.rowSelectChange.emit({selectedRows, component})));\n this.formio.on('page', (currentPage: number, component: any) => this.ngZone.run(() => this.page.emit({currentPage, component})));\n this.formio.on('changeItemsPerPage', (itemsPerPage:number) => this.ngZone.run(() => this.changeItemsPerPage.emit({itemsPerPage})));\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, () =>\n this.ngZone.run(() => this.fileUploadingStatus.emit(status))\n );\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) => this.ngZone.run(() => {\n this.submissionSuccess = false;\n return this.onError(err);\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: FormioOptions = {\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) =>\n this.onRefresh(refresh)\n );\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 (\n isEmpty(this.submission) &&\n this.service &&\n this.service.formio.submissionId\n ) {\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.prevPage.emit(data);\n }\n\n onNextPage(data: any) {\n this.alerts.setAlerts([]);\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 }\n\n onError(err: any) {\n this.alerts.setAlerts([]);\n this.submitting = false;\n this.isLoading = false;\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 {\n message,\n paths,\n } = 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: error.path ? [error.path] : [],\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: message[index],\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 if (!this.noAlerts) {\n this.formio.showErrors();\n }\n }\n\n if (shouldErrorDisplay) {\n this.alerts.addAlert({\n type: 'danger',\n message,\n component: error.component,\n });\n }\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\n .saveSubmission(submission)\n .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","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","import { Component, OnInit, Optional, ViewEncapsulation, Input, NgZone, OnChanges } from '@angular/core';\nimport { FormioAppConfig } from '../../formio.config';\nimport { Formio, Form } from 'formiojs';\nimport { FormioBaseComponent } from '../../FormioBaseComponent';\nimport { CustomTagsService } from '../../custom-component/custom-tags.service';\n\n/* tslint:disable */\n@Component({\n selector: 'formio',\n templateUrl: './formio.component.html',\n styleUrls: ['../../../../../node_modules/formiojs/dist/formio.form.min.css'],\n encapsulation: ViewEncapsulation.None,\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","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 {\n FormioForm,\n FormioOptions\n} from '../../formio.common';\nimport { Formio, FormBuilder, Utils } from 'formiojs';\nimport { assign } from 'lodash';\nimport { Observable, Subscription } from 'rxjs';\nimport { CustomTagsService } from '../../custom-component/custom-tags.service';\n\n/* tslint:disable */\n@Component({\n selector: 'form-builder',\n templateUrl: './formbuilder.component.html',\n styleUrls: ['../../../../../node_modules/formiojs/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?: FormioOptions;\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 icons: 'fontawesome',\n sanitizeConfig: {\n addTags: extraTags\n }\n }, options || this.options || {})\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","import { Component, OnInit, ViewEncapsulation, Input, OnChanges, ViewChild, ElementRef, EventEmitter, Output } from '@angular/core';\nimport { Formio } from 'formiojs';\nimport { FormioComponent } from '../formio/formio.component';\nimport { FormioReport } from '../../formio.common';\n\n/* tslint:disable */\n@Component({\n selector: 'formio-report',\n templateUrl: './formioreport.component.html',\n styleUrls: ['../../../../../node_modules/formiojs/dist/formio.form.min.css'],\n encapsulation: ViewEncapsulation.None,\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 }) formioElement?: ElementRef<any>;\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 });\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 });\n }\n }\n\n getRendererOptions() {\n const projectEndpoint = 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) => this.ngZone.run(() => {\n this.alerts.addAlert({\n type: 'danger',\n message: error ? JSON.stringify(error) : error,\n });\n this.fetchDataError.emit({error, component});\n }));\n }\n\n getRenderer() {\n const reportRenderer = (Formio as any).Report;\n if (!reportRenderer) {\n console.error('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 return reportRenderer;\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","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport { FormioAlerts } from './formio.alerts';\n\n@Component({\n selector: 'formio-alerts',\n templateUrl: './formio.alerts.component.html'\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","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'parseHtmlContent', pure: false })\nexport class ParseHtmlContentPipe implements PipeTransform {\n\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 { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\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-component/custom-tags.service';\nimport { FormioBaseComponent } from './FormioBaseComponent';\n\n@NgModule({\n declarations: [\n FormioComponent,\n FormioBaseComponent,\n FormioReportComponent,\n FormBuilderComponent,\n FormioLoaderComponent,\n FormioAlertsComponent,\n ParseHtmlContentPipe\n ],\n imports: [\n CommonModule\n ],\n exports: [\n FormioComponent,\n FormBuilderComponent,\n FormioReportComponent, \n FormioLoaderComponent,\n FormioAlertsComponent\n ],\n providers: [\n FormioAlerts,\n CustomTagsService\n ],\n entryComponents: [\n FormioComponent,\n FormBuilderComponent,\n FormioReportComponent,\n ]\n})\nexport class FormioModule {}\n","// @ts-nocheck\nimport { BuilderInfo, Components, ExtendedComponentSchema, Utils as FormioUtils } from 'formiojs';\nimport { FormioCustomComponentInfo, FormioCustomElement, FormioEvent } from '../elements.common';\nimport { clone, isNil, isArray } from 'lodash';\n\nconst BaseInputComponent = Components.components.input;\nconst TextfieldComponent = Components.components.textfield;\n\nexport function createCustomFormioComponent(customComponentOptions: FormioCustomComponentInfo) {\n return class CustomComponent extends BaseInputComponent {\n static editForm = customComponentOptions.editForm || TextfieldComponent.editForm;\n id = FormioUtils.getRandomComponentId();\n type = customComponentOptions.type;\n _customAngularElement: FormioCustomElement;\n\n static schema() {\n return BaseInputComponent.schema({\n ...customComponentOptions.schema,\n type: customComponentOptions.type,\n });\n }\n\n get defaultSchema() {\n return CustomComponent.schema();\n }\n\n get emptyValue() {\n return customComponentOptions.emptyValue || null;\n }\n\n static get builderInfo(): BuilderInfo {\n return {\n title: customComponentOptions.title,\n group: customComponentOptions.group,\n icon: customComponentOptions.icon,\n weight: customComponentOptions.weight,\n documentation: customComponentOptions.documentation,\n schema: CustomComponent.schema(),\n };\n }\n\n constructor(public component: ExtendedComponentSchema, options: any, data: any) {\n super(component, {\n ...options,\n sanitizeConfig: {\n addTags: [customComponentOptions.selector],\n },\n }, data);\n\n if (customComponentOptions.extraValidators) {\n this.validators = this.validators.concat(customComponentOptions.extraValidators);\n }\n }\n\n elementInfo() {\n const info = super.elementInfo();\n info.type = customComponentOptions.selector;\n info.changeEvent = customComponentOptions.changeEvent || 'valueChange';\n info.attr = {\n ...info.attr,\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\n };\n return info;\n }\n\n get inputInfo() {\n const info = {\n id: this.key,\n ...this.elementInfo()\n }\n return info;\n }\n\n renderElement(value: any, index: number) {\n const info = this.inputInfo;\n return this.renderTemplate(customComponentOptions.template || 'input', {\n input: info,\n value,\n index\n });\n }\n\n attach(element: HTMLElement) {\n let superAttach = super.attach(element);\n\n this._customAngularElement = element.querySelector(customComponentOptions.selector);\n\n // Bind the custom options and the validations to the Angular component's inputs (flattened)\n if (this._customAngularElement) {\n // To make sure we have working input in IE...\n // IE doesn't render it properly if it's not visible on the screen\n // due to the whole structure applied via innerHTML to the parent\n // so we need to use appendChild\n if (!this._customAngularElement.getAttribute('ng-version')) {\n this._customAngularElement.removeAttribute('ref');\n\n const newCustomElement = document.createElement(customComponentOptions.selector) as FormioCustomElement;\n\n newCustomElement.setAttribute('ref', 'input');\n Object.keys(this.inputInfo.attr).forEach((attr: string) => {\n newCustomElement.setAttribute(attr, this.inputInfo.attr[attr]);\n });\n\n this._customAngularElement.appendChild(newCustomElement);\n this._customAngularElement = newCustomElement;\n\n superAttach = super.attach(element);\n }\n\n // Bind customOptions\n for (const key in this.component.customOptions) {\n if (this.component.customOptions.hasOwnProperty(key)) {\n this._customAngularElement[key] = this.component.customOptions[key];\n }\n }\n // Bind validate options\n for (const key in this.component.validate) {\n if (this.component.validate.hasOwnProperty(key)) {\n this._customAngularElement[key] = this.component.validate[key];\n }\n }\n // Bind options explicitly set\n const fieldOptions = customComponentOptions.fieldOptions;\n if (isArray(fieldOptions) && fieldOptions.length > 0) {\n for (const key in fieldOptions) {\n if (fieldOptions.hasOwnProperty(key)) {\n this._customAngularElement[fieldOptions[key]] = this.component[fieldOptions[key]];\n }\n }\n }\n\n // Attach event listener for emit event\n this._customAngularElement.addEventListener('formioEvent', (event: CustomEvent<FormioEvent>) => {\n this.emit(event.detail.eventName, {\n ...event.detail.data,\n component: this.component\n });\n });\n\n // Ensure we bind the value (if it isn't a multiple-value component with no wrapper)\n if (!this._customAngularElement.value && !this.component.disableMultiValueWrapper) {\n this.restoreValue();\n }\n\n }\n return superAttach;\n }\n\n // Add extra option to support multiple value (e.g. datagrid) with single angular component (disableMultiValueWrapper)\n useWrapper() {\n return this.component.hasOwnProperty('multiple') && this.component.multiple && !this.component.disableMultiValueWrapper;\n }\n\n get defaultValue() {\n let defaultValue = this.emptyValue;\n\n // handle falsy default value\n if (!isNil(this.component.defaultValue)) {\n defaultValue = this.component.defaultValue;\n }\n\n if (this.component.customDefaultValue && !this.options.preview) {\n defaultValue = this.evaluate(\n this.component.customDefaultValue,\n { value: '' },\n 'value'\n );\n }\n\n return clone(defaultValue);\n }\n };\n}\n","import { Injector, Type } from '@angular/core';\nimport { createCustomElement } from '@angular/elements';\nimport { Components } from 'formiojs';\nimport { FormioCustomComponentInfo } from '../elements.common';\nimport { createCustomFormioComponent } from './create-custom-component';\nimport { CustomTagsService } from './custom-tags.service';\n\nexport function registerCustomTag(tag: string, injector: Injector): void {\n injector.get(CustomTagsService).addCustomTag(tag);\n}\n\nexport function registerCustomTags(tags: string[], injector: Injector): void {\n tags.forEach(tag => registerCustomTag(tag, injector));\n}\n\nexport function registerCustomFormioComponent(\n options: FormioCustomComponentInfo,\n angularComponent: Type<any>,\n injector: Injector,\n): void {\n registerCustomTag(options.selector, injector);\n\n const complexCustomComponent = createCustomElement(angularComponent, { injector });\n customElements.define(options.selector, complexCustomComponent);\n\n Components.setComponent(options.type, createCustomFormioComponent(options));\n}\n\nexport function registerCustomFormioComponentWithClass(\n options: FormioCustomComponentInfo,\n angularComponent: Type<any>,\n formioClass: any,\n injector: Injector,\n): void {\n registerCustomTag(options.selector, injector);\n\n const complexCustomComponent = createCustomElement(angularComponent, { injector });\n customElements.define(options.selector, complexCustomComponent);\n\n Components.setComponent(options.type, formioClass);\n}\n","/*\n * Public API Surface of angular-formio\n */\n\nexport * from './index';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {ParseHtmlContentPipe as ɵb} from './components/alerts/parse-html-content.pipe';\nexport {CustomTagsService as ɵa} from './custom-component/custom-tags.service';"],"names":["Injectable","Formio","Observable","each","RouterModule","Evaluator","EventEmitter","assign","get","isEmpty","fastCloneDeep","Component","NgZone","Optional","Input","Output","ViewChild","Form","ViewEncapsulation","Utils","FormBuilder","Pipe","NgModule","CommonModule","Components","FormioUtils","isArray","isNil","clone","createCustomElement"],"mappings":"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"}
1
+ {"version":3,"file":"formio-angular.umd.js","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/custom-component/custom-tags.service.ts","../../../projects/angular-formio/src/types/alerts-position.ts","../../../projects/angular-formio/src/FormioBaseComponent.ts","../../../node_modules/tslib/tslib.es6.mjs","../../../projects/angular-formio/src/components/formio/formio.component.ts","../../../projects/angular-formio/src/components/formbuilder/formbuilder.component.ts","../../../projects/angular-formio/src/components/formioreport/formioreport.component.ts","../../../projects/angular-formio/src/components/loader/formio.loader.component.ts","../../../projects/angular-formio/src/components/alerts/formio.alerts.component.ts","../../../projects/angular-formio/src/components/alerts/parse-html-content.pipe.ts","../../../projects/angular-formio/src/formio.module.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/public-api.ts","../../../projects/angular-formio/src/formio-angular.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class FormioAppConfig {\n appUrl = '';\n apiUrl = '';\n icons?: string;\n formOnly?: boolean;\n}\n","import { ExtendedComponentSchema, ValidateOptions } from 'formiojs';\nimport { AlertsPosition } from './types/alerts-position';\nexport { ConditionalOptions, ValidateOptions } from 'formiojs';\n\nexport interface ComponentOptions<T = any, V = ValidateOptions> 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 = (\n error: FormioError,\n submission: object\n) => void;\nexport type FormioBeforeSubmit = (\n submission: object,\n callback: FormioSubmissionCallback\n) => void;\n\nexport interface FormioHookOptions {\n beforeSubmit: FormioBeforeSubmit;\n}\n\nexport interface FormioOptions {\n errors?: ErrorsOptions;\n alerts?: AlertsOptions;\n alertsPosition?: AlertsPosition;\n disableAlerts?: boolean;\n i18n?: object;\n fileService?: object;\n hooks?: FormioHookOptions;\n sanitizeConfig?: any;\n}\n","import { Observable, Observer } from 'rxjs';\nimport { FormioForm } from './formio.common';\nimport { Formio } from 'formiojs';\n\nexport class FormioService {\n public formio: any;\n constructor(public url: string, public options?: object) {\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(public url: string, public options?: object) {\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 { find, trim, each, intersection } 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.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","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class CustomTagsService {\n tags: string[] = [];\n\n addCustomTag(tag: string) {\n this.tags.push(tag);\n }\n}\n","export enum AlertsPosition {\n none,\n top,\n bottom,\n both\n}\n","import { Component, ElementRef, EventEmitter, Input, NgZone, OnChanges, OnDestroy, OnInit, Optional, Output, ViewChild } from '@angular/core';\nimport { FormioService } from './formio.service';\nimport { FormioAlerts } from './components/alerts/formio.alerts';\nimport { FormioAppConfig } from './formio.config';\nimport { FormioError, FormioForm, FormioOptions, FormioRefreshValue } from './formio.common';\nimport { assign, get, isEmpty } from 'lodash';\nimport { CustomTagsService } from './custom-component/custom-tags.service';\nimport Evaluator from 'formiojs/utils/Evaluator';\nimport { fastCloneDeep } from 'formiojs/utils/utils';\nimport { AlertsPosition } from './types/alerts-position';\n\n@Component({\n template: ''\n})\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?: FormioOptions;\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>;\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\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 icons: get(this.config, 'icons', 'fontawesome'),\n noAlerts: get(this.options, 'noAlerts', true),\n readOnly: this.readOnly,\n viewAsHtml: this.viewOnly,\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 }, this.renderOptions || {});\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\n this.formio.setSubmission(this.submission, {\n fromSubmission: false\n });\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.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 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) => this.ngZone.run(() => this.onChange(value, flags, isModified)));\n this.formio.on('rowAdd', (component: any) => this.ngZone.run(() => this.rowAdd.emit(component)));\n this.formio.on('rowAdded', (data: any, component: any) => this.ngZone.run(() => this.rowAdded.emit({component, row: data})));\n this.formio.on('rowEdit', (data: any, rowIndex: number, index: number, component: any) => this.ngZone.run(() => this.rowEdit.emit({component, row: data, rowIndex, index})));\n this.formio.on('rowEdited', (data: any, rowIndex: number, component: any) => this.ngZone.run(() => this.rowEdited.emit({component, row: data, rowIndex})));\n this.formio.on('rowDelete', (data: any, rowIndex: number, index: number, component: any) => this.ngZone.run(() => this.rowDelete.emit({component, row: data, rowIndex, index})));\n this.formio.on('rowClick', (row: any, rowIndex: number, index: number,component: any) => this.ngZone.run(() => this.rowClick.emit({component, row, rowIndex, index})));\n this.formio.on('rowSelectChange', (selectedRows: any[], component: any) => this.ngZone.run(() => this.rowSelectChange.emit({selectedRows, component})));\n this.formio.on('page', (currentPage: number, component: any) => this.ngZone.run(() => this.page.emit({currentPage, component})));\n this.formio.on('changeItemsPerPage', (itemsPerPage:number) => this.ngZone.run(() => this.changeItemsPerPage.emit({itemsPerPage})));\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, () =>\n this.ngZone.run(() => this.fileUploadingStatus.emit(status))\n );\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) => this.ngZone.run(() => {\n this.submissionSuccess = false;\n return this.onError(err);\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: FormioOptions = {\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) =>\n this.onRefresh(refresh)\n );\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 (\n isEmpty(this.submission) &&\n this.service &&\n this.service.formio.submissionId\n ) {\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.prevPage.emit(data);\n }\n\n onNextPage(data: any) {\n this.alerts.setAlerts([]);\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 }\n\n onError(err: any) {\n this.alerts.setAlerts([]);\n this.submitting = false;\n this.isLoading = false;\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 {\n message,\n paths,\n } = 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: error.path ? [error.path] : [],\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: message[index],\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 if (!this.noAlerts) {\n this.formio.showErrors();\n }\n }\n\n if (shouldErrorDisplay) {\n this.alerts.addAlert({\n type: 'danger',\n message,\n component: error.component,\n });\n }\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\n .saveSubmission(submission)\n .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","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","import { Component, OnInit, Optional, ViewEncapsulation, Input, NgZone, OnChanges } from '@angular/core';\nimport { FormioAppConfig } from '../../formio.config';\nimport { Formio, Form } from 'formiojs';\nimport { FormioBaseComponent } from '../../FormioBaseComponent';\nimport { CustomTagsService } from '../../custom-component/custom-tags.service';\n\n/* tslint:disable */\n@Component({\n selector: 'formio',\n templateUrl: './formio.component.html',\n styleUrls: ['../../../../../node_modules/formiojs/dist/formio.form.min.css'],\n encapsulation: ViewEncapsulation.None,\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","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 {\n FormioForm,\n FormioOptions\n} from '../../formio.common';\nimport { Formio, FormBuilder, Utils } from 'formiojs';\nimport { assign } from 'lodash';\nimport { Observable, Subscription } from 'rxjs';\nimport { CustomTagsService } from '../../custom-component/custom-tags.service';\n\n/* tslint:disable */\n@Component({\n selector: 'form-builder',\n templateUrl: './formbuilder.component.html',\n styleUrls: ['../../../../../node_modules/formiojs/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?: FormioOptions;\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 icons: 'fontawesome',\n sanitizeConfig: {\n addTags: extraTags\n }\n }, options || this.options || {})\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","import { Component, OnInit, ViewEncapsulation, Input, OnChanges, ViewChild, ElementRef, EventEmitter, Output } from '@angular/core';\nimport { Formio } from 'formiojs';\nimport { FormioComponent } from '../formio/formio.component';\nimport { FormioReport } from '../../formio.common';\n\n/* tslint:disable */\n@Component({\n selector: 'formio-report',\n templateUrl: './formioreport.component.html',\n styleUrls: ['../../../../../node_modules/formiojs/dist/formio.form.min.css'],\n encapsulation: ViewEncapsulation.None,\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 }) formioElement?: ElementRef<any>;\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 });\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 });\n }\n }\n\n getRendererOptions() {\n const projectEndpoint = 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) => this.ngZone.run(() => {\n this.alerts.addAlert({\n type: 'danger',\n message: error ? JSON.stringify(error) : error,\n });\n this.fetchDataError.emit({error, component});\n }));\n }\n\n getRenderer() {\n const reportRenderer = (Formio as any).Report;\n if (!reportRenderer) {\n console.error('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 return reportRenderer;\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","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport { FormioAlerts } from './formio.alerts';\n\n@Component({\n selector: 'formio-alerts',\n templateUrl: './formio.alerts.component.html'\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","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'parseHtmlContent', pure: false })\nexport class ParseHtmlContentPipe implements PipeTransform {\n\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 { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\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-component/custom-tags.service';\nimport { FormioBaseComponent } from './FormioBaseComponent';\n\n@NgModule({\n declarations: [\n FormioComponent,\n FormioBaseComponent,\n FormioReportComponent,\n FormBuilderComponent,\n FormioLoaderComponent,\n FormioAlertsComponent,\n ParseHtmlContentPipe\n ],\n imports: [\n CommonModule\n ],\n exports: [\n FormioComponent,\n FormBuilderComponent,\n FormioReportComponent, \n FormioLoaderComponent,\n FormioAlertsComponent\n ],\n providers: [\n FormioAlerts,\n CustomTagsService\n ],\n entryComponents: [\n FormioComponent,\n FormBuilderComponent,\n FormioReportComponent,\n ]\n})\nexport class FormioModule {}\n","// @ts-nocheck\nimport { BuilderInfo, Components, ExtendedComponentSchema, Utils as FormioUtils } from 'formiojs';\nimport { FormioCustomComponentInfo, FormioCustomElement, FormioEvent } from '../elements.common';\nimport { clone, isNil, isArray } from 'lodash';\n\nconst BaseInputComponent = Components.components.input;\nconst TextfieldComponent = Components.components.textfield;\n\nexport function createCustomFormioComponent(customComponentOptions: FormioCustomComponentInfo) {\n return class CustomComponent extends BaseInputComponent {\n static editForm = customComponentOptions.editForm || TextfieldComponent.editForm;\n id = FormioUtils.getRandomComponentId();\n type = customComponentOptions.type;\n _customAngularElement: FormioCustomElement;\n\n static schema() {\n return BaseInputComponent.schema({\n ...customComponentOptions.schema,\n type: customComponentOptions.type,\n });\n }\n\n get defaultSchema() {\n return CustomComponent.schema();\n }\n\n get emptyValue() {\n return customComponentOptions.emptyValue || null;\n }\n\n static get builderInfo(): BuilderInfo {\n return {\n title: customComponentOptions.title,\n group: customComponentOptions.group,\n icon: customComponentOptions.icon,\n weight: customComponentOptions.weight,\n documentation: customComponentOptions.documentation,\n schema: CustomComponent.schema(),\n };\n }\n\n constructor(public component: ExtendedComponentSchema, options: any, data: any) {\n super(component, {\n ...options,\n sanitizeConfig: {\n addTags: [customComponentOptions.selector],\n },\n }, data);\n\n if (customComponentOptions.extraValidators) {\n this.validators = this.validators.concat(customComponentOptions.extraValidators);\n }\n }\n\n elementInfo() {\n const info = super.elementInfo();\n info.type = customComponentOptions.selector;\n info.changeEvent = customComponentOptions.changeEvent || 'valueChange';\n info.attr = {\n ...info.attr,\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\n };\n return info;\n }\n\n get inputInfo() {\n const info = {\n id: this.key,\n ...this.elementInfo()\n }\n return info;\n }\n\n renderElement(value: any, index: number) {\n const info = this.inputInfo;\n return this.renderTemplate(customComponentOptions.template || 'input', {\n input: info,\n value,\n index\n });\n }\n\n attach(element: HTMLElement) {\n let superAttach = super.attach(element);\n\n this._customAngularElement = element.querySelector(customComponentOptions.selector);\n\n // Bind the custom options and the validations to the Angular component's inputs (flattened)\n if (this._customAngularElement) {\n // To make sure we have working input in IE...\n // IE doesn't render it properly if it's not visible on the screen\n // due to the whole structure applied via innerHTML to the parent\n // so we need to use appendChild\n if (!this._customAngularElement.getAttribute('ng-version')) {\n this._customAngularElement.removeAttribute('ref');\n\n const newCustomElement = document.createElement(customComponentOptions.selector) as FormioCustomElement;\n\n newCustomElement.setAttribute('ref', 'input');\n Object.keys(this.inputInfo.attr).forEach((attr: string) => {\n newCustomElement.setAttribute(attr, this.inputInfo.attr[attr]);\n });\n\n this._customAngularElement.appendChild(newCustomElement);\n this._customAngularElement = newCustomElement;\n\n superAttach = super.attach(element);\n }\n\n // Bind customOptions\n for (const key in this.component.customOptions) {\n if (this.component.customOptions.hasOwnProperty(key)) {\n this._customAngularElement[key] = this.component.customOptions[key];\n }\n }\n // Bind validate options\n for (const key in this.component.validate) {\n if (this.component.validate.hasOwnProperty(key)) {\n this._customAngularElement[key] = this.component.validate[key];\n }\n }\n // Bind options explicitly set\n const fieldOptions = customComponentOptions.fieldOptions;\n if (isArray(fieldOptions) && fieldOptions.length > 0) {\n for (const key in fieldOptions) {\n if (fieldOptions.hasOwnProperty(key)) {\n this._customAngularElement[fieldOptions[key]] = this.component[fieldOptions[key]];\n }\n }\n }\n\n // Attach event listener for emit event\n this._customAngularElement.addEventListener('formioEvent', (event: CustomEvent<FormioEvent>) => {\n this.emit(event.detail.eventName, {\n ...event.detail.data,\n component: this.component\n });\n });\n\n // Ensure we bind the value (if it isn't a multiple-value component with no wrapper)\n if (!this._customAngularElement.value && !this.component.disableMultiValueWrapper) {\n this.restoreValue();\n }\n\n }\n return superAttach;\n }\n\n // Add extra option to support multiple value (e.g. datagrid) with single angular component (disableMultiValueWrapper)\n useWrapper() {\n return this.component.hasOwnProperty('multiple') && this.component.multiple && !this.component.disableMultiValueWrapper;\n }\n\n get defaultValue() {\n let defaultValue = this.emptyValue;\n\n // handle falsy default value\n if (!isNil(this.component.defaultValue)) {\n defaultValue = this.component.defaultValue;\n }\n\n if (this.component.customDefaultValue && !this.options.preview) {\n defaultValue = this.evaluate(\n this.component.customDefaultValue,\n { value: '' },\n 'value'\n );\n }\n\n return clone(defaultValue);\n }\n };\n}\n","import { Injector, Type } from '@angular/core';\nimport { createCustomElement } from '@angular/elements';\nimport { Components } from 'formiojs';\nimport { FormioCustomComponentInfo } from '../elements.common';\nimport { createCustomFormioComponent } from './create-custom-component';\nimport { CustomTagsService } from './custom-tags.service';\n\nexport function registerCustomTag(tag: string, injector: Injector): void {\n injector.get(CustomTagsService).addCustomTag(tag);\n}\n\nexport function registerCustomTags(tags: string[], injector: Injector): void {\n tags.forEach(tag => registerCustomTag(tag, injector));\n}\n\nexport function registerCustomFormioComponent(\n options: FormioCustomComponentInfo,\n angularComponent: Type<any>,\n injector: Injector,\n): void {\n registerCustomTag(options.selector, injector);\n\n const complexCustomComponent = createCustomElement(angularComponent, { injector });\n customElements.define(options.selector, complexCustomComponent);\n\n Components.setComponent(options.type, createCustomFormioComponent(options));\n}\n\nexport function registerCustomFormioComponentWithClass(\n options: FormioCustomComponentInfo,\n angularComponent: Type<any>,\n formioClass: any,\n injector: Injector,\n): void {\n registerCustomTag(options.selector, injector);\n\n const complexCustomComponent = createCustomElement(angularComponent, { injector });\n customElements.define(options.selector, complexCustomComponent);\n\n Components.setComponent(options.type, formioClass);\n}\n","/*\n * Public API Surface of angular-formio\n */\n\nexport * from './index';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {ParseHtmlContentPipe as ɵb} from './components/alerts/parse-html-content.pipe';\nexport {CustomTagsService as ɵa} from './custom-component/custom-tags.service';"],"names":["Injectable","Formio","Observable","each","RouterModule","Evaluator","EventEmitter","assign","get","isEmpty","fastCloneDeep","Component","NgZone","Optional","Input","Output","ViewChild","Form","ViewEncapsulation","Utils","FormBuilder","Pipe","NgModule","CommonModule","Components","FormioUtils","isArray","isNil","clone","createCustomElement"],"mappings":"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"}