@formio/angular 5.2.5-rc.1 → 5.2.5-rc.2
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.
|
@@ -1141,7 +1141,7 @@
|
|
|
1141
1141
|
};
|
|
1142
1142
|
FormBuilderComponent.prototype.setDisplay = function (display, prevDisplay) {
|
|
1143
1143
|
if (display && display !== prevDisplay) {
|
|
1144
|
-
this.builder.display
|
|
1144
|
+
this.builder.setDisplay(display);
|
|
1145
1145
|
}
|
|
1146
1146
|
};
|
|
1147
1147
|
FormBuilderComponent.prototype.buildForm = function (form, prevForm) {
|
|
@@ -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.js","../../../projects/angular-formio/src/components/formio/formio.component.ts","../../../projects/angular-formio/src/components/formbuilder/formbuilder.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 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}\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() hideComponents?: string[];\n @Input() refresh?: EventEmitter<FormioRefreshValue>;\n @Input() error?: EventEmitter<any>;\n @Input() success?: 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() 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 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 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.formio.setUrl(this.url, this.formioOptions || {});\n }\n if (this.src) {\n this.formio.setUrl(this.src, this.formioOptions || {});\n }\n this.formio.nosubmit = true;\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('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 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 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.src) {\n if (!this.service) {\n this.service = new FormioService(this.src);\n }\n this.isLoading = true;\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 if (this.url && !this.service) {\n this.service = new FormioService(this.url);\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","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\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); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\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);\r\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); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\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\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\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\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\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).display = 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, 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 { 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 FormBuilderComponent,\n FormioLoaderComponent,\n FormioAlertsComponent,\n ParseHtmlContentPipe\n ],\n imports: [\n CommonModule\n ],\n exports: [\n FormioComponent,\n FormBuilderComponent,\n FormioLoaderComponent,\n FormioAlertsComponent\n ],\n providers: [\n FormioAlerts,\n CustomTagsService\n ],\n entryComponents: [\n FormioComponent,\n FormBuilderComponent\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.js","../../../projects/angular-formio/src/components/formio/formio.component.ts","../../../projects/angular-formio/src/components/formbuilder/formbuilder.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 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}\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() hideComponents?: string[];\n @Input() refresh?: EventEmitter<FormioRefreshValue>;\n @Input() error?: EventEmitter<any>;\n @Input() success?: 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() 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 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 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.formio.setUrl(this.url, this.formioOptions || {});\n }\n if (this.src) {\n this.formio.setUrl(this.src, this.formioOptions || {});\n }\n this.formio.nosubmit = true;\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('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 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 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.src) {\n if (!this.service) {\n this.service = new FormioService(this.src);\n }\n this.isLoading = true;\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 if (this.url && !this.service) {\n this.service = new FormioService(this.url);\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","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\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); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\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);\r\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); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\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\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\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\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\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, 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 { 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 FormBuilderComponent,\n FormioLoaderComponent,\n FormioAlertsComponent,\n ParseHtmlContentPipe\n ],\n imports: [\n CommonModule\n ],\n exports: [\n FormioComponent,\n FormBuilderComponent,\n FormioLoaderComponent,\n FormioAlertsComponent\n ],\n providers: [\n FormioAlerts,\n CustomTagsService\n ],\n entryComponents: [\n FormioComponent,\n FormBuilderComponent\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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"}
|
|
@@ -112,7 +112,7 @@ export class FormBuilderComponent {
|
|
|
112
112
|
}
|
|
113
113
|
setDisplay(display, prevDisplay) {
|
|
114
114
|
if (display && display !== prevDisplay) {
|
|
115
|
-
this.builder.display
|
|
115
|
+
this.builder.setDisplay(display);
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
118
|
buildForm(form, prevForm) {
|
|
@@ -179,4 +179,4 @@ FormBuilderComponent.propDecorators = {
|
|
|
179
179
|
change: [{ type: Output }],
|
|
180
180
|
builderElement: [{ type: ViewChild, args: ['builder', { static: true },] }]
|
|
181
181
|
};
|
|
182
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWJ1aWxkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1mb3JtaW8vc3JjL2NvbXBvbmVudHMvZm9ybWJ1aWxkZXIvZm9ybWJ1aWxkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUlMLGlCQUFpQixFQUNqQixRQUFRLEVBRVIsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUt0RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVoQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUUvRSxvQkFBb0I7QUFPcEIsbUJBQW1CO0FBQ25CLE1BQU0sT0FBTyxvQkFBb0I7SUFnQi9CLFlBQ1UsTUFBYyxFQUNGLE1BQXVCLEVBQ3ZCLFVBQThCO1FBRjFDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDRixXQUFNLEdBQU4sTUFBTSxDQUFpQjtRQUN2QixlQUFVLEdBQVYsVUFBVSxDQUFvQjtRQWQ3QyxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUt0QixXQUFNLEdBQUssS0FBSyxDQUFDO1FBV3hCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0QyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDMUM7YUFBTTtZQUNMLE9BQU8sQ0FBQyxJQUFJLENB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QU0sRUFBRTtZQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDdkI7SUFDSCxDQUFDOzs7WUExTEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxjQUFjO2dCQUN4QixrQ0FBMkM7Z0JBRTNDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJOzthQUN0Qzs7O1lBbEJDLE1BQU07WUFFQyxlQUFlLHVCQW9DbkIsUUFBUTtZQTVCSixpQkFBaUIsdUJBNkJyQixRQUFROzs7bUJBWlYsS0FBSztzQkFDTCxLQUFLOzBCQUNMLEtBQUs7cUJBQ0wsS0FBSztzQkFDTCxLQUFLO3NCQUNMLEtBQUs7cUJBQ0wsTUFBTTs2QkFDTixTQUFTLFNBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBPcHRpb25hbCxcbiAgRWxlbWVudFJlZixcbiAgVmlld0NoaWxkLFxuICBFdmVudEVtaXR0ZXIsXG4gIE91dHB1dCxcbiAgTmdab25lXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybWlvQXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vZm9ybWlvLmNvbmZpZyc7XG5pbXBvcnQge1xuICBGb3JtaW9Gb3JtLFxuICBGb3JtaW9PcHRpb25zXG59IGZyb20gJy4uLy4uL2Zvcm1pby5jb21tb24nO1xuaW1wb3J0IHsgRm9ybWlvLCBGb3JtQnVpbGRlciwgVXRpbHMgfSBmcm9tICdmb3JtaW9qcyc7XG5pbXBvcnQgeyBhc3NpZ24gfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDdXN0b21UYWdzU2VydmljZSB9IGZyb20gJy4uLy4uL2N1c3RvbS1jb21wb25lbnQvY3VzdG9tLXRhZ3Muc2VydmljZSc7XG5cbi8qIHRzbGludDpkaXNhYmxlICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmb3JtLWJ1aWxkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybWJ1aWxkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Zvcm1pb2pzL2Rpc3QvZm9ybWlvLmJ1aWxkZXIubWluLmNzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuLyogdHNsaW50OmVuYWJsZSAqL1xuZXhwb3J0IGNsYXNzIEZvcm1CdWlsZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyByZWFkeTogUHJvbWlzZTxvYmplY3Q+O1xuICBwdWJsaWMgcmVhZHlSZXNvbHZlOiBhbnk7XG4gIHB1YmxpYyBmb3JtaW86IGFueTtcbiAgcHVibGljIGJ1aWxkZXI6IEZvcm1CdWlsZGVyO1xuICBwdWJsaWMgY29tcG9uZW50QWRkaW5nID0gZmFsc2U7XG4gIHByaXZhdGUgcmVmcmVzaFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBASW5wdXQoKSBmb3JtPzogRm9ybWlvRm9ybTtcbiAgQElucHV0KCkgb3B0aW9ucz86IEZvcm1pb09wdGlvbnM7XG4gIEBJbnB1dCgpIGZvcm1idWlsZGVyPzogYW55O1xuICBASW5wdXQoKSBub2V2YWwgPyA9IGZhbHNlO1xuICBASW5wdXQoKSByZWZyZXNoPzogT2JzZXJ2YWJsZTx2b2lkPjtcbiAgQElucHV0KCkgcmVidWlsZD86IE9ic2VydmFibGU8b2JqZWN0PjtcbiAgQE91dHB1dCgpIGNoYW5nZT86IEV2ZW50RW1pdHRlcjxvYmplY3Q+O1xuICBAVmlld0NoaWxkKCdidWlsZGVyJywgeyBzdGF0aWM6IHRydWUgfSkgYnVpbGRlckVsZW1lbnQ/OiBFbGVtZW50UmVmPGFueT47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGNvbmZpZzogRm9ybWlvQXBwQ29uZmlnLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgY3VzdG9tVGFncz86IEN1c3RvbVRhZ3NTZXJ2aWNlXG4gICkge1xuICAgIGlmICh0aGlzLmNvbmZpZykge1xuICAgICAgRm9ybWlvLnNldEJhc2VVcmwodGhpcy5jb25maWcuYXBpVXJsKTtcbiAgICAgIEZvcm1pby5zZXRQcm9qZWN0VXJsKHRoaXMuY29uZmlnLmFwcFVybCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUud2FybignWW91IG11c3QgcHJvdmlkZSBhbiBBcHBDb25maWcgd2l0aGluIHlvdXIgYXBwbGljYXRpb24hJyk7XG4gICAgfVxuXG4gICAgdGhpcy5jaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgdGhpcy5yZWFkeSA9IG5ldyBQcm9taXNlKChyZXNvbHZlOiBhbnkpID0+IHtcbiAgICAgIHRoaXMucmVhZHlSZXNvbHZlID0gcmVzb2x2ZTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIFV0aWxzLkV2YWx1YXRvci5ub2V2YWwgPSB0aGlzLm5vZXZhbDtcblxuICAgIGlmICh0aGlzLnJlZnJlc2gpIHtcbiAgICAgIHRoaXMucmVmcmVzaFN1YnNjcmlwdGlvbiA9IHRoaXMucmVmcmVzaC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5idWlsZEZvcm0odGhpcy5mb3JtKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5yZWJ1aWxkKSB7XG4gICAgICB0aGlzLnJlYnVpbGQuc3Vic2NyaWJlKChvcHRpb25zKSA9PiB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnJlYnVpbGRGb3JtKHRoaXMuZm9ybSwgb3B0aW9ucyk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgc2V0SW5zdGFuY2UoaW5zdGFuY2U6IGFueSkge1xuICAgIHRoaXMuZm9ybWlvID0gaW5zdGFuY2U7XG4gICAgaW5zdGFuY2Uub2ZmKCdhZGRDb21wb25lbnQnKTtcbiAgICBpbnN0YW5jZS5vZmYoJ3NhdmVDb21wb25lbnQnKTtcbiAgICBpbnN0YW5jZS5vZmYoJ3VwZGF0ZUNvbXBvbmVudCcpO1xuICAgIGluc3RhbmNlLm9mZigncmVtb3ZlQ29tcG9uZW50Jyk7XG4gICAgaW5zdGFuY2Uub24oJ2FkZENvbXBvbmVudCcsIChjb21wb25lbnQsIHBhcmVudCwgcGF0aCwgaW5kZXgsIGlzTmV3KSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICBpZiAoaXNOZXcpIHtcbiAgICAgICAgICB0aGlzLmNvbXBvbmVudEFkZGluZyA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5jaGFuZ2UuZW1pdCh7XG4gICAgICAgICAgICB0eXBlOiAnYWRkQ29tcG9uZW50JyxcbiAgICAgICAgICAgIGJ1aWxkZXI6IGluc3RhbmNlLFxuICAgICAgICAgICAgZm9ybTogaW5zdGFuY2Uuc2NoZW1hLFxuICAgICAgICAgICAgY29tcG9uZW50OiBjb21wb25lbnQsXG4gICAgICAgICAgICBwYXJlbnQ6IHBhcmVudCxcbiAgICAgICAgICAgIHBhdGg6IHBhdGgsXG4gICAgICAgICAgICBpbmRleDogaW5kZXhcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLmNvbXBvbmVudEFkZGluZyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBpbnN0YW5jZS5vbignc2F2ZUNvbXBvbmVudCcsIChjb21wb25lbnQsIG9yaWdpbmFsLCBwYXJlbnQsIHBhdGgsIGluZGV4LCBpc05ldykgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5jaGFuZ2UuZW1pdCh7XG4gICAgICAgICAgdHlwZTogdGhpcy5jb21wb25lbnRBZGRpbmcgPyAnYWRkQ29tcG9uZW50JyA6ICdzYXZlQ29tcG9uZW50JyxcbiAgICAgICAgICBidWlsZGVyOiBpbnN0YW5jZSxcbiAgICAgICAgICBmb3JtOiBpbnN0YW5jZS5zY2hlbWEsXG4gICAgICAgICAgY29tcG9uZW50OiBjb21wb25lbnQsXG4gICAgICAgICAgb3JpZ2luYWxDb21wb25lbnQ6IG9yaWdpbmFsLFxuICAgICAgICAgIHBhcmVudDogcGFyZW50LFxuICAgICAgICAgIHBhdGg6IHBhdGgsXG4gICAgICAgICAgaW5kZXg6IGluZGV4LFxuICAgICAgICAgIGlzTmV3OiBpc05ldyB8fCBmYWxzZVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jb21wb25lbnRBZGRpbmcgPSBmYWxzZTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGluc3RhbmNlLm9uKCd1cGRhdGVDb21wb25lbnQnLCAoY29tcG9uZW50KSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KHtcbiAgICAgICAgICB0eXBlOiAndXBkYXRlQ29tcG9uZW50JyxcbiAgICAgICAgICBidWlsZGVyOiBpbnN0YW5jZSxcbiAgICAgICAgICBmb3JtOiBpbnN0YW5jZS5zY2hlbWEsXG4gICAgICAgICAgY29tcG9uZW50OiBjb21wb25lbnRcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBpbnN0YW5jZS5vbigncmVtb3ZlQ29tcG9uZW50JywgKGNvbXBvbmVudCwgcGFyZW50LCBwYXRoLCBpbmRleCkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5jaGFuZ2UuZW1pdCh7XG4gICAgICAgICAgdHlwZTogJ2RlbGV0ZUNvbXBvbmVudCcsXG4gICAgICAgICAgYnVpbGRlcjogaW5zdGFuY2UsXG4gICAgICAgICAgZm9ybTogaW5zdGFuY2Uuc2NoZW1hLFxuICAgICAgICAgIGNvbXBvbmVudDogY29tcG9uZW50LFxuICAgICAgICAgIHBhcmVudDogcGFyZW50LFxuICAgICAgICAgIHBhdGg6IHBhdGgsXG4gICAgICAgICAgaW5kZXg6IGluZGV4XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgIHRoaXMucmVhZHlSZXNvbHZlKGluc3RhbmNlKTtcbiAgICB9KTtcbiAgICByZXR1cm4gaW5zdGFuY2U7XG4gIH1cblxuICBzZXREaXNwbGF5KGRpc3BsYXk6IFN0cmluZywgcHJldkRpc3BsYXk/OiBzdHJpbmcpIHtcbiAgICBpZiAoZGlzcGxheSAmJiBkaXNwbGF5ICE9PSBwcmV2RGlzcGxheSkge1xuICAgICAgKHRoaXMuYnVpbGRlciBhcyBhbnkpLmRpc3BsYXkgPSBkaXNwbGF5O1xuICAgIH1cbiAgfVxuXG4gIGJ1aWxkRm9ybShmb3JtOiBhbnksIHByZXZGb3JtPzogYW55KSB7XG4gICAgaWYgKCFmb3JtIHx8ICF0aGlzLmJ1aWxkZXJFbGVtZW50IHx8ICF0aGlzLmJ1aWxkZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5idWlsZGVyKSB7XG4gICAgICB0aGlzLnNldERpc3BsYXkoZm9ybS5kaXNwbGF5LCBwcmV2Rm9ybT8uZGlzcGxheSk7XG4gICAgICB0aGlzLnNldEluc3RhbmNlKHRoaXMuYnVpbGRlci5pbnN0YW5jZSk7XG4gICAgICB0aGlzLmJ1aWxkZXIuZm9ybSA9IGZvcm07XG4gICAgICB0aGlzLmJ1aWxkZXIuaW5zdGFuY2UuZm9ybSA9IGZvcm07XG4gICAgICByZXR1cm4gdGhpcy5idWlsZGVyLmluc3RhbmNlO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnJlYnVpbGRGb3JtKGZvcm0pO1xuICB9XG5cbiAgcmVidWlsZEZvcm0oZm9ybTogYW55LCBvcHRpb25zPzogb2JqZWN0KSB7XG4gICAgY29uc3QgQnVpbGRlciA9IHRoaXMuZm9ybWJ1aWxkZXIgfHwgRm9ybUJ1aWxkZXI7XG4gICAgY29uc3QgZXh0cmFUYWdzID0gdGhpcy5jdXN0b21UYWdzID8gdGhpcy5jdXN0b21UYWdzLnRhZ3MgOiBbXTtcbiAgICB0aGlzLmJ1aWxkZXIgPSBuZXcgQnVpbGRlcihcbiAgICAgIHRoaXMuYnVpbGRlckVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgIGZvcm0sXG4gICAgICBhc3NpZ24oe1xuICAgICAgICBpY29uczogJ2ZvbnRhd2Vzb21lJyxcbiAgICAgICAgc2FuaXRpemVDb25maWc6IHtcbiAgICAgICAgICBhZGRUYWdzOiBleHRyYVRhZ3NcbiAgICAgICAgfVxuICAgICAgfSwgb3B0aW9ucyB8fCB0aGlzLm9wdGlvbnMgfHwge30pXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5idWlsZGVyLnJlYWR5LnRoZW4oaW5zdGFuY2UgPT4gdGhpcy5zZXRJbnN0YW5jZShpbnN0YW5jZSkpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogYW55KSB7XG4gICAgVXRpbHMuRXZhbHVhdG9yLm5vZXZhbCA9IHRoaXMubm9ldmFsO1xuXG4gICAgaWYgKGNoYW5nZXMuZm9ybSAmJiBjaGFuZ2VzLmZvcm0uY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgIHRoaXMuYnVpbGRGb3JtKGNoYW5nZXMuZm9ybS5jdXJyZW50VmFsdWUgfHwge2NvbXBvbmVudHM6IFtdfSwgY2hhbmdlcy5mb3JtLnByZXZpb3VzVmFsdWUpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMucmVmcmVzaFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5yZWZyZXNoU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZm9ybWlvKSB7XG4gICAgICB0aGlzLmZvcm1pby5kZXN0cm95KCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWJ1aWxkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1mb3JtaW8vc3JjL2NvbXBvbmVudHMvZm9ybWJ1aWxkZXIvZm9ybWJ1aWxkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUlMLGlCQUFpQixFQUNqQixRQUFRLEVBRVIsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUt0RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVoQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUUvRSxvQkFBb0I7QUFPcEIsbUJBQW1CO0FBQ25CLE1BQU0sT0FBTyxvQkFBb0I7SUFnQi9CLFlBQ1UsTUFBYyxFQUNGLE1BQXVCLEVBQ3ZCLFVBQThCO1FBRjFDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDRixXQUFNLEdBQU4sTUFBTSxDQUFpQjtRQUN2QixlQUFVLEdBQVYsVUFBVSxDQUFvQjtRQWQ3QyxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUt0QixXQUFNLEdBQUssS0FBSyxDQUFDO1FBV3hCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0QyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDMUM7YUFBTTtZQUNMLE9BQU8sQ0FBQyxJQUFJLENB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QUMsTUFBTSxFQUFFO1lBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUN2QjtJQUNILENBQUM7OztZQTFMRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLGtDQUEyQztnQkFFM0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7O2FBQ3RDOzs7WUFsQkMsTUFBTTtZQUVDLGVBQWUsdUJBb0NuQixRQUFRO1lBNUJKLGlCQUFpQix1QkE2QnJCLFFBQVE7OzttQkFaVixLQUFLO3NCQUNMLEtBQUs7MEJBQ0wsS0FBSztxQkFDTCxLQUFLO3NCQUNMLEtBQUs7c0JBQ0wsS0FBSztxQkFDTCxNQUFNOzZCQUNOLFNBQVMsU0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIE9wdGlvbmFsLFxuICBFbGVtZW50UmVmLFxuICBWaWV3Q2hpbGQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT3V0cHV0LFxuICBOZ1pvbmVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtaW9BcHBDb25maWcgfSBmcm9tICcuLi8uLi9mb3JtaW8uY29uZmlnJztcbmltcG9ydCB7XG4gIEZvcm1pb0Zvcm0sXG4gIEZvcm1pb09wdGlvbnNcbn0gZnJvbSAnLi4vLi4vZm9ybWlvLmNvbW1vbic7XG5pbXBvcnQgeyBGb3JtaW8sIEZvcm1CdWlsZGVyLCBVdGlscyB9IGZyb20gJ2Zvcm1pb2pzJztcbmltcG9ydCB7IGFzc2lnbiB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEN1c3RvbVRhZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY3VzdG9tLWNvbXBvbmVudC9jdXN0b20tdGFncy5zZXJ2aWNlJztcblxuLyogdHNsaW50OmRpc2FibGUgKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Zvcm0tYnVpbGRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtYnVpbGRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm9ybWlvanMvZGlzdC9mb3JtaW8uYnVpbGRlci5taW4uY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG4vKiB0c2xpbnQ6ZW5hYmxlICovXG5leHBvcnQgY2xhc3MgRm9ybUJ1aWxkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgcHVibGljIHJlYWR5OiBQcm9taXNlPG9iamVjdD47XG4gIHB1YmxpYyByZWFkeVJlc29sdmU6IGFueTtcbiAgcHVibGljIGZvcm1pbzogYW55O1xuICBwdWJsaWMgYnVpbGRlcjogRm9ybUJ1aWxkZXI7XG4gIHB1YmxpYyBjb21wb25lbnRBZGRpbmcgPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWZyZXNoU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIEBJbnB1dCgpIGZvcm0/OiBGb3JtaW9Gb3JtO1xuICBASW5wdXQoKSBvcHRpb25zPzogRm9ybWlvT3B0aW9ucztcbiAgQElucHV0KCkgZm9ybWJ1aWxkZXI/OiBhbnk7XG4gIEBJbnB1dCgpIG5vZXZhbCA/ID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJlZnJlc2g/OiBPYnNlcnZhYmxlPHZvaWQ+O1xuICBASW5wdXQoKSByZWJ1aWxkPzogT2JzZXJ2YWJsZTxvYmplY3Q+O1xuICBAT3V0cHV0KCkgY2hhbmdlPzogRXZlbnRFbWl0dGVyPG9iamVjdD47XG4gIEBWaWV3Q2hpbGQoJ2J1aWxkZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBidWlsZGVyRWxlbWVudD86IEVsZW1lbnRSZWY8YW55PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgY29uZmlnOiBGb3JtaW9BcHBDb25maWcsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBjdXN0b21UYWdzPzogQ3VzdG9tVGFnc1NlcnZpY2VcbiAgKSB7XG4gICAgaWYgKHRoaXMuY29uZmlnKSB7XG4gICAgICBGb3JtaW8uc2V0QmFzZVVybCh0aGlzLmNvbmZpZy5hcGlVcmwpO1xuICAgICAgRm9ybWlvLnNldFByb2plY3RVcmwodGhpcy5jb25maWcuYXBwVXJsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKCdZb3UgbXVzdCBwcm92aWRlIGFuIEFwcENvbmZpZyB3aXRoaW4geW91ciBhcHBsaWNhdGlvbiEnKTtcbiAgICB9XG5cbiAgICB0aGlzLmNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICB0aGlzLnJlYWR5ID0gbmV3IFByb21pc2UoKHJlc29sdmU6IGFueSkgPT4ge1xuICAgICAgdGhpcy5yZWFkeVJlc29sdmUgPSByZXNvbHZlO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgVXRpbHMuRXZhbHVhdG9yLm5vZXZhbCA9IHRoaXMubm9ldmFsO1xuXG4gICAgaWYgKHRoaXMucmVmcmVzaCkge1xuICAgICAgdGhpcy5yZWZyZXNoU3Vic2NyaXB0aW9uID0gdGhpcy5yZWZyZXNoLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmJ1aWxkRm9ybSh0aGlzLmZvcm0pO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnJlYnVpbGQpIHtcbiAgICAgIHRoaXMucmVidWlsZC5zdWJzY3JpYmUoKG9wdGlvbnMpID0+IHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgIHRoaXMucmVidWlsZEZvcm0odGhpcy5mb3JtLCBvcHRpb25zKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBzZXRJbnN0YW5jZShpbnN0YW5jZTogYW55KSB7XG4gICAgdGhpcy5mb3JtaW8gPSBpbnN0YW5jZTtcbiAgICBpbnN0YW5jZS5vZmYoJ2FkZENvbXBvbmVudCcpO1xuICAgIGluc3RhbmNlLm9mZignc2F2ZUNvbXBvbmVudCcpO1xuICAgIGluc3RhbmNlLm9mZigndXBkYXRlQ29tcG9uZW50Jyk7XG4gICAgaW5zdGFuY2Uub2ZmKCdyZW1vdmVDb21wb25lbnQnKTtcbiAgICBpbnN0YW5jZS5vbignYWRkQ29tcG9uZW50JywgKGNvbXBvbmVudCwgcGFyZW50LCBwYXRoLCBpbmRleCwgaXNOZXcpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIGlmIChpc05ldykge1xuICAgICAgICAgIHRoaXMuY29tcG9uZW50QWRkaW5nID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KHtcbiAgICAgICAgICAgIHR5cGU6ICdhZGRDb21wb25lbnQnLFxuICAgICAgICAgICAgYnVpbGRlcjogaW5zdGFuY2UsXG4gICAgICAgICAgICBmb3JtOiBpbnN0YW5jZS5zY2hlbWEsXG4gICAgICAgICAgICBjb21wb25lbnQ6IGNvbXBvbmVudCxcbiAgICAgICAgICAgIHBhcmVudDogcGFyZW50LFxuICAgICAgICAgICAgcGF0aDogcGF0aCxcbiAgICAgICAgICAgIGluZGV4OiBpbmRleFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMuY29tcG9uZW50QWRkaW5nID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGluc3RhbmNlLm9uKCdzYXZlQ29tcG9uZW50JywgKGNvbXBvbmVudCwgb3JpZ2luYWwsIHBhcmVudCwgcGF0aCwgaW5kZXgsIGlzTmV3KSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KHtcbiAgICAgICAgICB0eXBlOiB0aGlzLmNvbXBvbmVudEFkZGluZyA/ICdhZGRDb21wb25lbnQnIDogJ3NhdmVDb21wb25lbnQnLFxuICAgICAgICAgIGJ1aWxkZXI6IGluc3RhbmNlLFxuICAgICAgICAgIGZvcm06IGluc3RhbmNlLnNjaGVtYSxcbiAgICAgICAgICBjb21wb25lbnQ6IGNvbXBvbmVudCxcbiAgICAgICAgICBvcmlnaW5hbENvbXBvbmVudDogb3JpZ2luYWwsXG4gICAgICAgICAgcGFyZW50OiBwYXJlbnQsXG4gICAgICAgICAgcGF0aDogcGF0aCxcbiAgICAgICAgICBpbmRleDogaW5kZXgsXG4gICAgICAgICAgaXNOZXc6IGlzTmV3IHx8IGZhbHNlXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNvbXBvbmVudEFkZGluZyA9IGZhbHNlO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgaW5zdGFuY2Uub24oJ3VwZGF0ZUNvbXBvbmVudCcsIChjb21wb25lbnQpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMuY2hhbmdlLmVtaXQoe1xuICAgICAgICAgIHR5cGU6ICd1cGRhdGVDb21wb25lbnQnLFxuICAgICAgICAgIGJ1aWxkZXI6IGluc3RhbmNlLFxuICAgICAgICAgIGZvcm06IGluc3RhbmNlLnNjaGVtYSxcbiAgICAgICAgICBjb21wb25lbnQ6IGNvbXBvbmVudFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGluc3RhbmNlLm9uKCdyZW1vdmVDb21wb25lbnQnLCAoY29tcG9uZW50LCBwYXJlbnQsIHBhdGgsIGluZGV4KSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KHtcbiAgICAgICAgICB0eXBlOiAnZGVsZXRlQ29tcG9uZW50JyxcbiAgICAgICAgICBidWlsZGVyOiBpbnN0YW5jZSxcbiAgICAgICAgICBmb3JtOiBpbnN0YW5jZS5zY2hlbWEsXG4gICAgICAgICAgY29tcG9uZW50OiBjb21wb25lbnQsXG4gICAgICAgICAgcGFyZW50OiBwYXJlbnQsXG4gICAgICAgICAgcGF0aDogcGF0aCxcbiAgICAgICAgICBpbmRleDogaW5kZXhcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgdGhpcy5yZWFkeVJlc29sdmUoaW5zdGFuY2UpO1xuICAgIH0pO1xuICAgIHJldHVybiBpbnN0YW5jZTtcbiAgfVxuXG4gIHNldERpc3BsYXkoZGlzcGxheTogU3RyaW5nLCBwcmV2RGlzcGxheT86IHN0cmluZykge1xuICAgIGlmIChkaXNwbGF5ICYmIGRpc3BsYXkgIT09IHByZXZEaXNwbGF5KSB7XG4gICAgICAodGhpcy5idWlsZGVyIGFzIGFueSkuc2V0RGlzcGxheShkaXNwbGF5KTtcbiAgICB9XG4gIH1cblxuICBidWlsZEZvcm0oZm9ybTogYW55LCBwcmV2Rm9ybT86IGFueSkge1xuICAgIGlmICghZm9ybSB8fCAhdGhpcy5idWlsZGVyRWxlbWVudCB8fCAhdGhpcy5idWlsZGVyRWxlbWVudC5uYXRpdmVFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYnVpbGRlcikge1xuICAgICAgdGhpcy5zZXREaXNwbGF5KGZvcm0uZGlzcGxheSwgcHJldkZvcm0/LmRpc3BsYXkpO1xuICAgICAgdGhpcy5zZXRJbnN0YW5jZSh0aGlzLmJ1aWxkZXIuaW5zdGFuY2UpO1xuICAgICAgdGhpcy5idWlsZGVyLmZvcm0gPSBmb3JtO1xuICAgICAgdGhpcy5idWlsZGVyLmluc3RhbmNlLmZvcm0gPSBmb3JtO1xuICAgICAgcmV0dXJuIHRoaXMuYnVpbGRlci5pbnN0YW5jZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5yZWJ1aWxkRm9ybShmb3JtKTtcbiAgfVxuXG4gIHJlYnVpbGRGb3JtKGZvcm06IGFueSwgb3B0aW9ucz86IG9iamVjdCkge1xuICAgIGNvbnN0IEJ1aWxkZXIgPSB0aGlzLmZvcm1idWlsZGVyIHx8IEZvcm1CdWlsZGVyO1xuICAgIGNvbnN0IGV4dHJhVGFncyA9IHRoaXMuY3VzdG9tVGFncyA/IHRoaXMuY3VzdG9tVGFncy50YWdzIDogW107XG4gICAgdGhpcy5idWlsZGVyID0gbmV3IEJ1aWxkZXIoXG4gICAgICB0aGlzLmJ1aWxkZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICBmb3JtLFxuICAgICAgYXNzaWduKHtcbiAgICAgICAgaWNvbnM6ICdmb250YXdlc29tZScsXG4gICAgICAgIHNhbml0aXplQ29uZmlnOiB7XG4gICAgICAgICAgYWRkVGFnczogZXh0cmFUYWdzXG4gICAgICAgIH1cbiAgICAgIH0sIG9wdGlvbnMgfHwgdGhpcy5vcHRpb25zIHx8IHt9KVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuYnVpbGRlci5yZWFkeS50aGVuKGluc3RhbmNlID0+IHRoaXMuc2V0SW5zdGFuY2UoaW5zdGFuY2UpKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IGFueSkge1xuICAgIFV0aWxzLkV2YWx1YXRvci5ub2V2YWwgPSB0aGlzLm5vZXZhbDtcblxuICAgIGlmIChjaGFuZ2VzLmZvcm0gJiYgY2hhbmdlcy5mb3JtLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICB0aGlzLmJ1aWxkRm9ybShjaGFuZ2VzLmZvcm0uY3VycmVudFZhbHVlIHx8IHtjb21wb25lbnRzOiBbXX0sIGNoYW5nZXMuZm9ybS5wcmV2aW91c1ZhbHVlKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnJlZnJlc2hTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMucmVmcmVzaFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmZvcm1pbykge1xuICAgICAgdGhpcy5mb3JtaW8uZGVzdHJveSgpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formio-angular.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","../../../projects/angular-formio/src/components/formio/formio.component.ts","../../../projects/angular-formio/src/components/formbuilder/formbuilder.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 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}\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() hideComponents?: string[];\n @Input() refresh?: EventEmitter<FormioRefreshValue>;\n @Input() error?: EventEmitter<any>;\n @Input() success?: 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() 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 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 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.formio.setUrl(this.url, this.formioOptions || {});\n }\n if (this.src) {\n this.formio.setUrl(this.src, this.formioOptions || {});\n }\n this.formio.nosubmit = true;\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('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 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 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.src) {\n if (!this.service) {\n this.service = new FormioService(this.src);\n }\n this.isLoading = true;\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 if (this.url && !this.service) {\n this.service = new FormioService(this.url);\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","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).display = 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, 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 { 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 FormBuilderComponent,\n FormioLoaderComponent,\n FormioAlertsComponent,\n ParseHtmlContentPipe\n ],\n imports: [\n CommonModule\n ],\n exports: [\n FormioComponent,\n FormBuilderComponent,\n FormioLoaderComponent,\n FormioAlertsComponent\n ],\n providers: [\n FormioAlerts,\n CustomTagsService\n ],\n entryComponents: [\n FormioComponent,\n FormBuilderComponent\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":["FormioUtils"],"mappings":";;;;;;;;;;;MAGa,eAAe,CAAA;AAD5B,IAAA,WAAA,GAAA;QAEE,IAAM,CAAA,MAAA,GAAG,EAAE,CAAC;QACZ,IAAM,CAAA,MAAA,GAAG,EAAE,CAAC;KAGb;;;YANA,UAAU,EAAA;;;MCgDE,WAAW,CAAA;AACtB,IAAA,WAAA,CACS,OAAe,EACf,SAAkC,EAClC,MAAgB,EAAA;QAFhB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;QACf,IAAS,CAAA,SAAA,GAAT,SAAS,CAAyB;QAClC,IAAM,CAAA,MAAA,GAAN,MAAM,CAAU;KACrB;AACL;;MCpDY,aAAa,CAAA;IAExB,WAAmB,CAAA,GAAW,EAAS,OAAgB,EAAA;QAApC,IAAG,CAAA,GAAA,GAAH,GAAG,CAAQ;QAAS,IAAO,CAAA,OAAA,GAAP,OAAO,CAAS;AACrD,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KAClD;AACD,IAAA,cAAc,CAAC,EAAO,EAAA;AACpB,QAAA,IAAI,MAAW,CAAC;QAChB,IAAI,MAAM,GAAG,KAAK,CAAC;AACnB,QAAA,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,QAAuB,KAAI;YACnD,IAAI;gBACF,IAAI,CAAC,MAAM,EAAE;oBACX,MAAM,GAAG,IAAI,CAAC;AACd,oBAAA,EAAE,EAAE;AACD,yBAAA,IAAI,CAAC,CAAC,OAAY,KAAI;wBACrB,MAAM,GAAG,OAAO,CAAC;AACjB,wBAAA,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACtB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACtB,qBAAC,CAAC;AACD,yBAAA,KAAK,CAAC,CAAC,GAAQ,KAAK,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7C,iBAAA;AAAM,qBAAA,IAAI,MAAM,EAAE;AACjB,oBAAA,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACtB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACrB,iBAAA;AACF,aAAA;AAAC,YAAA,OAAO,GAAG,EAAE;AACZ,gBAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACrB,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;IACD,QAAQ,CAAC,IAAgB,EAAE,OAAa,EAAA;AACtC,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;KACvE;IACD,QAAQ,CAAC,KAAW,EAAE,OAAa,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;KACxE;IACD,SAAS,CAAC,KAAU,EAAE,OAAa,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;KACzE;IACD,cAAc,CAAC,KAAW,EAAE,OAAa,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;KAC9E;AACD,IAAA,eAAe,CAAC,IAAS,EAAE,IAAS,EAAE,UAAe,EAAA;QACnD,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;KACvF;IACD,gBAAgB,CAAC,IAAU,EAAE,OAAa,EAAA;AACxC,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;KAC/E;IACD,cAAc,CAAC,UAAc,EAAE,OAAa,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;KACnF;IACD,eAAe,CAAC,KAAW,EAAE,OAAa,EAAA;AACxC,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;KAC/E;AACF;;MCpDY,oBAAoB,CAAA;IAG/B,WAAmB,CAAA,GAAW,EAAS,OAAgB,EAAA;QAApC,IAAG,CAAA,GAAA,GAAH,GAAG,CAAQ;QAAS,IAAO,CAAA,OAAA,GAAP,OAAO,CAAS;QACrD,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;KACtD;IAED,QAAQ,CAAC,IAAgB,EAAE,OAAa,EAAA;AACtC,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;KAC/D;IACD,QAAQ,CAAC,KAAW,EAAE,OAAa,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;KAChE;IACD,cAAc,CAAC,KAAW,EAAE,OAAa,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;KACtE;AACD,IAAA,eAAe,CAAC,IAAS,EAAE,IAAS,EAAE,UAAe,EAAA;AACnD,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,SAAS,EAAE,CAAC;KAC/E;IACD,gBAAgB,CAAC,IAAU,EAAE,OAAa,EAAA;AACxC,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;KACvE;IACD,SAAS,CAAC,KAAU,EAAE,OAAa,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;KACjE;IACD,cAAc,CAAC,UAAc,EAAE,OAAa,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;KAC3E;IACD,eAAe,CAAC,KAAW,EAAE,OAAa,EAAA;AACxC,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;KACvE;AACF;;SChCe,YAAY,CAAC,KAAU,EAAE,MAAW,EAAE,WAAgB,EAAA;AACpE,IAAA,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,IAAG;AACjC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,IAAG;YACzB,IAAI,GAAG,CAAC,YAAY,EAAE;AACpB,gBAAA,IAAI,CAAC,MAAM,EAAE,SAAS,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AAC7D,aAAA;YACD,IAAI,GAAG,CAAC,OAAO,EAAE;gBACf,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,KAAI;AACnC,oBAAA,IACE,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC;AAC/D,yBAAC,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC,EACjC;AACA,wBAAA,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AACjE,qBAAA;AACH,iBAAC,CAAC,CAAC;AACJ,aAAA;AACH,SAAC,CAAC,CAAC;AACL,KAAC,CAAC,CAAC;AACH,IAAA,OAAO,KAAK,CAAC;AACf;;MChBa,YAAY,CAAA;AAAzB,IAAA,WAAA,GAAA;QACS,IAAM,CAAA,MAAA,GAAkB,EAAE,CAAC;KAanC;AAXC,IAAA,QAAQ,CAAC,KAAkB,EAAA;AACzB,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC;KACvB;AAED,IAAA,QAAQ,CAAC,KAAkB,EAAA;AACzB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACzB;AAED,IAAA,SAAS,CAAC,MAAqB,EAAA;AAC7B,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;KACtB;AACF;;MCjBY,iBAAiB,CAAA;AAD9B,IAAA,WAAA,GAAA;QAEE,IAAI,CAAA,IAAA,GAAa,EAAE,CAAC;KAKrB;AAHC,IAAA,YAAY,CAAC,GAAW,EAAA;AACtB,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACrB;;;YANF,UAAU,EAAA;;;ACFX,IAAY,cAKX,CAAA;AALD,CAAA,UAAY,cAAc,EAAA;AACxB,IAAA,cAAA,CAAA,cAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI,CAAA;AACJ,IAAA,cAAA,CAAA,cAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAG,CAAA;AACH,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM,CAAA;AACN,IAAA,cAAA,CAAA,cAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI,CAAA;AACN,CAAC,EALW,cAAc,KAAd,cAAc,GAKzB,EAAA,CAAA,CAAA;;MCSY,mBAAmB,CAAA;AAwD9B,IAAA,WAAA,CACS,MAAc,EACF,MAAuB,EACvB,UAA8B,EAAA;QAF1C,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACF,IAAM,CAAA,MAAA,GAAN,MAAM,CAAiB;QACvB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAoB;QAzD1C,IAAU,CAAA,UAAA,GAAS,EAAE,CAAC;AAKtB,QAAA,IAAA,CAAA,MAAM,GAAK,SAAS,CAAC,MAAM,CAAC;QAG5B,IAAQ,CAAA,QAAA,GAAK,KAAK,CAAC;QACnB,IAAQ,CAAA,QAAA,GAAK,KAAK,CAAC;QAMnB,IAAK,CAAA,KAAA,GAAS,EAAE,CAAC;QAEjB,IAAqB,CAAA,qBAAA,GAAK,KAAK,CAAC;QAChC,IAAgB,CAAA,gBAAA,GAAU,EAAE,CAAA;AAC3B,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAU,CAAC;AACpC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAU,CAAC;AACzC,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,YAAY,EAAU,CAAC;AACjD,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAU,CAAC;AACpC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAU,CAAC;AACtC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAU,CAAC;AACtC,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAU,CAAC;AAC1C,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAO,CAAC;AACjC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAO,CAAC;AACnC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAO,CAAC;AAClC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAO,CAAC;AACpC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAO,CAAC;AACpC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAO,CAAC;AACnC,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAO,CAAC;AAC1C,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAU,CAAC;AACpC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAW,CAAC;AACtC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAO,CAAC;AACtC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAO,CAAC;AACnC,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAO,CAAC;AACzC,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAuB,CAAC;QAGnD,IAAc,CAAA,cAAA,GAAG,cAAc,CAAC;QAEhC,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AACpB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAI3B,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;QACnB,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;AAUhC,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,OAAO,CAAC,CAAC,KAAK,KAAI;AACvC,YAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;AAClC,SAAC,CAAC,CAAC;KACJ;IAED,WAAW,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;IAED,kBAAkB,GAAA;AAChB,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,EAAE,CAAC;QAC9D,OAAO,MAAM,CAAC,EAAE,EAAE;YAChB,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC;YAC/C,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC;YAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,QAAQ;YACzB,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC;YACrC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC;YACnD,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,YAAA,cAAc,EAAE;AACd,gBAAA,OAAO,EAAE,SAAS;AACnB,aAAA;YACD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;AACxC,SAAA,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;KAC9B;IAED,cAAc,GAAA;AACZ,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AACpC,QAAA,MAAM,IAAI,IAAI,IAAI,QAAQ,CACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,IAAI,EAC5D,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,kBAAkB,EAAE,CAC1B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;AAED,IAAA,OAAO,CAAC,IAAgB,EAAA;AACtB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;AACvB,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AAC9B,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;AAC1D,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC5C,SAAA;;QAGD,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE;YAC1D,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,GAAG,EAAE,CAAC;AACjD,SAAA;AACD,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACzC,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE;AAC3D,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,EAAC,cAAc,EAAE,IAAI,EAAC,CAAC,CAAC;AAC/D,SAAA;QACD,IAAI,IAAI,CAAC,GAAG,EAAE;AACZ,YAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;AACxD,SAAA;QACD,IAAI,IAAI,CAAC,GAAG,EAAE;AACZ,YAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;AACxD,SAAA;AACD,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;AAC5B,QAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,IAAS,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACxF,QAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,IAAS,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACxF,QAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAU,EAAE,KAAU,EAAE,UAAmB,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;AAC1I,QAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,SAAc,KAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAClG,QAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,IAAS,EAAE,SAAc,KAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,CAAC;QAC9H,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAS,EAAE,QAAgB,EAAE,KAAa,EAAE,SAAc,KAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC,CAAC;AAC9K,QAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,IAAS,EAAE,QAAgB,EAAE,SAAc,KAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAC,CAAC;QAC5J,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,IAAS,EAAE,QAAgB,EAAE,KAAa,EAAE,SAAc,KAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC,CAAC;QAClL,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,GAAQ,EAAE,QAAgB,EAAE,KAAa,EAAC,SAAc,KAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC,CAAC;AACxK,QAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,YAAmB,EAAE,SAAc,KAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAC,YAAY,EAAE,SAAS,EAAC,CAAC,CAAC,CAAC,CAAC;AACzJ,QAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,KAAU,KACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CACpD,CAAC;AAEF,QAAA,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,KAAI;AACtE,YAAA,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;AACzC,YAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,MACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAC7D,CAAC;AACJ,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,UAAe,EAAE,KAAc,KACvD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAC1D,CAAC;AACF,QAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAQ,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACzD,YAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;AAC/B,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC1B,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC1E,QAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,UAAe,KACzC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CACtD,CAAC;QAEF,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAK;AACjC,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,gBAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AACvB,gBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtB,gBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACrC,gBAAA,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;oBAC/B,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,UAAU,KAAI;AAC9C,wBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACvC,qBAAC,CAAC,CAAC;AACJ,iBAAA;AACH,aAAC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB,SAAC,CAAC,CAAC;KACJ;IAED,UAAU,GAAA;QACR,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,OAAO;AACR,SAAA;AAED,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,EAAE,CAAC;AAC9D,QAAA,MAAM,cAAc,GAAkB;AACpC,YAAA,MAAM,EAAE;AACN,gBAAA,OAAO,EAAE,oDAAoD;AAC9D,aAAA;AACD,YAAA,MAAM,EAAE;AACN,gBAAA,aAAa,EAAE,sBAAsB;AACtC,aAAA;AACD,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAE,IAAI;AACnB,aAAA;AACD,YAAA,cAAc,EAAE;AACd,gBAAA,OAAO,EAAE,SAAS;AACnB,aAAA;YACD,cAAc,EAAE,cAAc,CAAC,GAAG;SACnC,CAAC;AACF,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AAC3D,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;YAC9B,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC;AACnD,SAAA;AACD,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;KACzB;IAED,QAAQ,GAAA;AACN,QAAA,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;AACtC,aAAA;AAAM,iBAAA;gBACL,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAY,KAAI;AACvC,oBAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;AAC9B,iBAAC,CAAC,CAAC;AACJ,aAAA;AACF,SAAA;QAED,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAA2B,KACjD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CACxB,CAAC;AACH,SAAA;QAED,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAQ,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AACvD,SAAA;QAED,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAe,KAAI;AACzC,gBAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;AACnB,oBAAA,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC;AAC9D,iBAAA,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;AACJ,SAAA;QAED,IAAI,IAAI,CAAC,GAAG,EAAE;AACZ,YAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5C,aAAA;AACD,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CACtD,CAAC,IAAgB,KAAI;AACnB,gBAAA,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;AAC3B,oBAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;AACjC,wBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACrB,qBAAC,CAAC,CAAC;AACJ,iBAAA;;AAGD,gBAAA,IACE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;AACxB,oBAAA,IAAI,CAAC,OAAO;AACZ,oBAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAChC;oBACA,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,SAAS,CACrC,CAAC,UAAe,KAAI;wBAClB,IAAI,IAAI,CAAC,QAAQ,EAAE;4BACjB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrC,yBAAA;wBACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;AACxD,qBAAC,EACD,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CACzB,CAAC;AACH,iBAAA;AACH,aAAC,EACD,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CACzB,CAAC;AACH,SAAA;QACD,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5C,SAAA;KACF;IAED,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;AACvB,SAAA;KACF;AAED,IAAA,SAAS,CAAC,OAA2B,EAAA;AACnC,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAK;YACzB,IAAI,OAAO,CAAC,IAAI,EAAE;AAChB,gBAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAK;oBAC1C,IAAI,OAAO,CAAC,UAAU,EAAE;wBACtB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAC/C,qBAAA;AACH,iBAAC,CAAC,CAAC;AACJ,aAAA;iBAAM,IAAI,OAAO,CAAC,UAAU,EAAE;gBAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAC/C,aAAA;AAAM,iBAAA;gBACL,QAAQ,OAAO,CAAC,QAAQ;AACtB,oBAAA,KAAK,YAAY;wBACf,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC;wBACvC,MAAM;AACR,oBAAA,KAAK,MAAM;wBACT,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;wBACjC,MAAM;AACT,iBAAA;AACF,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,WAAW,CAAC,OAAY,EAAA;AACtB,QAAA,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE;AAC7C,YAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;gBACjC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC1C,aAAC,CAAC,CAAC;AACJ,SAAA;AAED,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAK;YACzB,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE;gBACzD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE;AACzD,oBAAA,cAAc,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW;AAChD,iBAAA,CAAC,CAAC;AACJ,aAAA;YAED,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE;AACjE,gBAAA,MAAM,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC;gBAC7D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,gBAAgB,CAAC;gBAC5C,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,KAAI;AACvC,oBAAA,SAAS,CAAC,OAAO,CAAC,IAAI,GAAG,gBAAgB,CAAC;oBAC1C,IAAI,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;AACtD,wBAAA,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;AAC3B,qBAAA;AACH,iBAAC,CAAC,CAAC;AACJ,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,UAAU,CAAC,IAAS,EAAA;AAClB,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AAC1B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1B;AAED,IAAA,UAAU,CAAC,IAAS,EAAA;AAClB,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AAC1B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1B;AAED,IAAA,QAAQ,CAAC,UAAe,EAAE,KAAc,EAAE,MAAgB,EAAA;AACxD,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACxB,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAE9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE;AAC9C,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,OAAO,EAAE,IAAI;AACd,SAAA,CAAC,CAAC;AAEH,QAAA,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AAC5C,SAAA;QACD,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC9B,SAAA;AACD,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACjB,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;AACnB,gBAAA,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC;AACnD,aAAA,CAAC,CAAC;AACJ,SAAA;KACF;AAED,IAAA,OAAO,CAAC,GAAQ,EAAA;AACd,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AAC1B,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACxB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,IAAI,CAAC,GAAG,EAAE;YACR,OAAO;AACR,SAAA;;AAGD,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;;AAGhD,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE9B,IAAI,GAAG,CAAC,MAAM,EAAE;YACd,OAAO;AACR,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;YAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AACzC,SAAA;;AAGD,QAAA,MAAM,CAAC,OAAO,CAAC,CAAC,KAAU,KAAI;AAC5B,YAAA,MAAM,EACJ,OAAO,EACP,KAAK,GACN,GAAG,KAAK;kBACL,KAAK,CAAC,OAAO;AACb,sBAAE;AACA,wBAAA,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC;AACtD,wBAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC;AAClD,qBAAA;AACD,sBAAE;wBACA,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE;AAC1C,wBAAA,KAAK,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;AACtC,qBAAA;AACH,kBAAE;AACA,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,KAAK,EAAE,EAAE;iBACV,CAAC;YAEJ,IAAI,kBAAkB,GAAG,IAAI,CAAC;YAE9B,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;oBAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AACjD,oBAAA,IAAI,SAAS,EAAE;AACb,wBAAA,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,CAAC,SAAS,CAAC,CAAC;AACtE,wBAAA,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;AACtE,wBAAA,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;AACxE,wBAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;AACnB,4BAAA,IAAI,EAAE,QAAQ;AACd,4BAAA,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC;4BACvB,SAAS;AACV,yBAAA,CAAC,CAAC;wBACH,kBAAkB,GAAG,KAAK,CAAC;AAC5B,qBAAA;AACH,iBAAC,CAAC,CAAC;gBAEH,IAAK,MAAc,CAAC,YAAY,EAAE;oBAChC,IAAI,OAAO,KAAK,KAAI,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;wBACtD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACtC,4BAAA,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;AAClC,gCAAA,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACvC,6BAAA;AACH,yBAAC,CAAC,CAAC;AACJ,qBAAA;AACF,iBAAA;AAED,gBAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,oBAAA,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;AAC1B,iBAAA;AACF,aAAA;AAED,YAAA,IAAI,kBAAkB,EAAE;AACtB,gBAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;AACnB,oBAAA,IAAI,EAAE,QAAQ;oBACd,OAAO;oBACP,SAAS,EAAE,KAAK,CAAC,SAAS;AAC3B,iBAAA,CAAC,CAAC;AACJ,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,eAAe,CAAC,GAAQ,EAAA;QACtB,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AACnC,SAAA;KACF;AAED,IAAA,aAAa,CAAC,UAAkB,EAAE,KAAK,GAAG,KAAK,EAAA;QAC7C,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE;AACvC,YAAA,IAAI,CAAC,OAAO;iBACT,cAAc,CAAC,UAAU,CAAC;iBAC1B,SAAS,CACR,CAAC,GAAO,KAAK,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,EACrC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CACzB,CAAC;AACL,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AAClC,SAAA;KACF;AAED,IAAA,UAAU,CAAC,UAAe,EAAE,KAAK,GAAG,KAAK,EAAA;;QAEvC,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO;AACR,SAAA;AACD,QAAA,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AACpC,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;AAC/B,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACvB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;;;QAInC,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;AAC7D,QAAA,IAAI,YAAY,EAAE;YAChB,YAAY,CAAC,UAAU,EAAE,CAAC,GAAgB,EAAE,GAAW,KAAI;AACzD,gBAAA,IAAI,GAAG,EAAE;AACP,oBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAClB,OAAO;AACR,iBAAA;AACD,gBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACjC,aAAC,CAAC,CAAC;AACJ,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AACvC,SAAA;KACF;AAED,IAAA,QAAQ,CAAC,KAAU,EAAE,KAAU,EAAE,UAAmB,EAAA;QAClD,IAAI,IAAI,CAAC,qBAAqB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACzD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;YAC9C,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC;YACvD,IAAI,SAAS,KAAK,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE;AACjD,gBAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACtB,aAAA;AACF,SAAA;AACD,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAK,KAAK,CAAA,EAAA,EAAE,KAAK,EAAE,UAAU,EAAA,CAAA,CAAE,CAAC;KACxD;;;AA9fF,IAAA,EAAA,IAAA,EAAA,SAAS,EAAC,IAAA,EAAA,CAAA;AACT,gBAAA,QAAQ,EAAE,EAAE;AACb,aAAA,EAAA,EAAA;;;YAboD,MAAM,EAAA;AAGlD,IAAA,EAAA,IAAA,EAAA,eAAe,uBAqEnB,QAAQ,EAAA,CAAA,EAAA;AAlEJ,IAAA,EAAA,IAAA,EAAA,iBAAiB,uBAmErB,QAAQ,EAAA,CAAA,EAAA;;;mBA1DV,KAAK,EAAA,CAAA;yBACL,KAAK,EAAA,CAAA;kBACL,KAAK,EAAA,CAAA;kBACL,KAAK,EAAA,CAAA;sBACL,KAAK,EAAA,CAAA;sBACL,KAAK,EAAA,CAAA;qBACL,KAAK,EAAA,CAAA;4BACL,KAAK,EAAA,CAAA;4BACL,KAAK,EAAA,CAAA;uBACL,KAAK,EAAA,CAAA;uBACL,KAAK,EAAA,CAAA;6BACL,KAAK,EAAA,CAAA;sBACL,KAAK,EAAA,CAAA;oBACL,KAAK,EAAA,CAAA;sBACL,KAAK,EAAA,CAAA;uBACL,KAAK,EAAA,CAAA;oBACL,KAAK,EAAA,CAAA;uBACL,KAAK,EAAA,CAAA;oCACL,KAAK,EAAA,CAAA;+BACL,KAAK,EAAA,CAAA;qBACL,MAAM,EAAA,CAAA;0BACN,MAAM,EAAA,CAAA;kCACN,MAAM,EAAA,CAAA;qBACN,MAAM,EAAA,CAAA;uBACN,MAAM,EAAA,CAAA;uBACN,MAAM,EAAA,CAAA;2BACN,MAAM,EAAA,CAAA;qBACN,MAAM,EAAA,CAAA;uBACN,MAAM,EAAA,CAAA;sBACN,MAAM,EAAA,CAAA;wBACN,MAAM,EAAA,CAAA;wBACN,MAAM,EAAA,CAAA;uBACN,MAAM,EAAA,CAAA;8BACN,MAAM,EAAA,CAAA;qBACN,MAAM,EAAA,CAAA;sBACN,MAAM,EAAA,CAAA;0BACN,MAAM,EAAA,CAAA;uBACN,MAAM,EAAA,CAAA;6BACN,MAAM,EAAA,CAAA;oBACN,MAAM,EAAA,CAAA;AACN,IAAA,aAAA,EAAA,CAAA,EAAA,IAAA,EAAA,SAAS,SAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAA,EAAA,CAAA;;;ACjDvC;AAOA;AACM,MAAO,eAAgB,SAAQ,mBAAmB,CAAA;AACtD,IAAA,WAAA,CACS,MAAc,EACF,MAAuB,EACvB,UAA8B,EAAA;AAEjD,QAAA,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAJ3B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACF,IAAM,CAAA,MAAA,GAAN,MAAM,CAAiB;QACvB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAoB;QAGjD,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC1C,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;AACxE,SAAA;KACF;IAED,WAAW,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;KAC9B;;;AAxBF,IAAA,EAAA,IAAA,EAAA,SAAS,EAAC,IAAA,EAAA,CAAA;AACT,gBAAA,QAAQ,EAAE,QAAQ;gBAClB,QAAsC,EAAA,opBAAA;gBAEtC,aAAa,EAAE,iBAAiB,CAAC,IAAI;;AACtC,aAAA,EAAA,EAAA;;;YAZ+D,MAAM,EAAA;AAC7D,IAAA,EAAA,IAAA,EAAA,eAAe,uBAgBnB,QAAQ,EAAA,CAAA,EAAA;AAbJ,IAAA,EAAA,IAAA,EAAA,iBAAiB,uBAcrB,QAAQ,EAAA,CAAA,EAAA;;;ACMb;AAOA;MACa,oBAAoB,CAAA;AAgB/B,IAAA,WAAA,CACU,MAAc,EACF,MAAuB,EACvB,UAA8B,EAAA;QAF1C,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACF,IAAM,CAAA,MAAA,GAAN,MAAM,CAAiB;QACvB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAoB;QAd7C,IAAe,CAAA,eAAA,GAAG,KAAK,CAAC;QAKtB,IAAM,CAAA,MAAA,GAAK,KAAK,CAAC;QAWxB,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC1C,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;AACxE,SAAA;AAED,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,OAAY,KAAI;AACxC,YAAA,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;AAC9B,SAAC,CAAC,CAAC;KACJ;IAED,QAAQ,GAAA;QACN,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAErC,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAK;AACrD,gBAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;AACjC,oBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,iBAAC,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;AACJ,SAAA;QAED,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,KAAI;AACjC,gBAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;oBACjC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACvC,iBAAC,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;AACJ,SAAA;KACF;AAED,IAAA,WAAW,CAAC,QAAa,EAAA;AACvB,QAAA,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;AACvB,QAAA,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAC7B,QAAA,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAC9B,QAAA,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAChC,QAAA,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAChC,QAAA,QAAQ,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,KAAI;AACpE,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,gBAAA,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;AAC7B,iBAAA;AAAM,qBAAA;AACL,oBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACf,wBAAA,IAAI,EAAE,cAAc;AACpB,wBAAA,OAAO,EAAE,QAAQ;wBACjB,IAAI,EAAE,QAAQ,CAAC,MAAM;AACrB,wBAAA,SAAS,EAAE,SAAS;AACpB,wBAAA,MAAM,EAAE,MAAM;AACd,wBAAA,IAAI,EAAE,IAAI;AACV,wBAAA,KAAK,EAAE,KAAK;AACb,qBAAA,CAAC,CAAC;AACH,oBAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;AAC9B,iBAAA;AACH,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;AACH,QAAA,QAAQ,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,KAAI;AAC/E,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,IAAI,CAAC,eAAe,GAAG,cAAc,GAAG,eAAe;AAC7D,oBAAA,OAAO,EAAE,QAAQ;oBACjB,IAAI,EAAE,QAAQ,CAAC,MAAM;AACrB,oBAAA,SAAS,EAAE,SAAS;AACpB,oBAAA,iBAAiB,EAAE,QAAQ;AAC3B,oBAAA,MAAM,EAAE,MAAM;AACd,oBAAA,IAAI,EAAE,IAAI;AACV,oBAAA,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,KAAK,IAAI,KAAK;AACtB,iBAAA,CAAC,CAAC;AACH,gBAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;AAC/B,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;QACH,QAAQ,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,SAAS,KAAI;AAC3C,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACf,oBAAA,IAAI,EAAE,iBAAiB;AACvB,oBAAA,OAAO,EAAE,QAAQ;oBACjB,IAAI,EAAE,QAAQ,CAAC,MAAM;AACrB,oBAAA,SAAS,EAAE,SAAS;AACrB,iBAAA,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;AACH,QAAA,QAAQ,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,KAAI;AAChE,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACf,oBAAA,IAAI,EAAE,iBAAiB;AACvB,oBAAA,OAAO,EAAE,QAAQ;oBACjB,IAAI,EAAE,QAAQ,CAAC,MAAM;AACrB,oBAAA,SAAS,EAAE,SAAS;AACpB,oBAAA,MAAM,EAAE,MAAM;AACd,oBAAA,IAAI,EAAE,IAAI;AACV,oBAAA,KAAK,EAAE,KAAK;AACb,iBAAA,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,YAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AAC9B,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,QAAQ,CAAC;KACjB;IAED,UAAU,CAAC,OAAe,EAAE,WAAoB,EAAA;AAC9C,QAAA,IAAI,OAAO,IAAI,OAAO,KAAK,WAAW,EAAE;AACrC,YAAA,IAAI,CAAC,OAAe,CAAC,OAAO,GAAG,OAAO,CAAC;AACzC,SAAA;KACF;IAED,SAAS,CAAC,IAAS,EAAE,QAAc,EAAA;AACjC,QAAA,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE;YACvE,OAAO;AACR,SAAA;QAED,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAR,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,QAAQ,CAAE,OAAO,CAAC,CAAC;YACjD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACxC,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;AAClC,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;AAC9B,SAAA;AAED,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;KAC/B;IAED,WAAW,CAAC,IAAS,EAAE,OAAgB,EAAA;AACrC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC;AAChD,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,EAAE,CAAC;AAC9D,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CACxB,IAAI,CAAC,cAAc,CAAC,aAAa,EACjC,IAAI,EACJ,MAAM,CAAC;AACL,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,cAAc,EAAE;AACd,gBAAA,OAAO,EAAE,SAAS;AACnB,aAAA;SACF,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAClC,CAAC;AACF,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;KACxE;AAED,IAAA,WAAW,CAAC,OAAY,EAAA;QACtB,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAErC,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE;AAC7C,YAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;gBACjC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,EAAC,UAAU,EAAE,EAAE,EAAC,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC5F,aAAC,CAAC,CAAC;AACJ,SAAA;KACF;IAED,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC5B,YAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC;AACxC,SAAA;QAED,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;AACvB,SAAA;KACF;;;AA1LF,IAAA,EAAA,IAAA,EAAA,SAAS,EAAC,IAAA,EAAA,CAAA;AACT,gBAAA,QAAQ,EAAE,cAAc;gBACxB,QAA2C,EAAA,wBAAA;gBAE3C,aAAa,EAAE,iBAAiB,CAAC,IAAI;;AACtC,aAAA,EAAA,EAAA;;;YAlBC,MAAM,EAAA;AAEC,IAAA,EAAA,IAAA,EAAA,eAAe,uBAoCnB,QAAQ,EAAA,CAAA,EAAA;AA5BJ,IAAA,EAAA,IAAA,EAAA,iBAAiB,uBA6BrB,QAAQ,EAAA,CAAA,EAAA;;;mBAZV,KAAK,EAAA,CAAA;sBACL,KAAK,EAAA,CAAA;0BACL,KAAK,EAAA,CAAA;qBACL,KAAK,EAAA,CAAA;sBACL,KAAK,EAAA,CAAA;sBACL,KAAK,EAAA,CAAA;qBACL,MAAM,EAAA,CAAA;AACN,IAAA,cAAA,EAAA,CAAA,EAAA,IAAA,EAAA,SAAS,SAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAA,EAAA,CAAA;;;MCvC3B,qBAAqB,CAAA;;;AALjC,IAAA,EAAA,IAAA,EAAA,SAAS,EAAC,IAAA,EAAA,CAAA;AACT,gBAAA,QAAQ,EAAE,eAAe;gBAEzB,QAA6C,EAAA,4GAAA;;AAC9C,aAAA,EAAA,EAAA;;;wBAEE,KAAK,EAAA,CAAA;;;MCDK,qBAAqB,CAAA;AAJlC,IAAA,WAAA,GAAA;AAMY,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAU,CAAC;KASvD;IARC,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AAChB,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;AAClC,SAAA;KACF;IACD,YAAY,CAAE,KAAK,EAAE,KAAK,EAAA;QACxB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;KAC/C;;;AAdF,IAAA,EAAA,IAAA,EAAA,SAAS,EAAC,IAAA,EAAA,CAAA;AACT,gBAAA,QAAQ,EAAE,eAAe;gBACzB,QAA6C,EAAA,6LAAA;AAC9C,aAAA,EAAA,EAAA;;;qBAEE,KAAK,EAAA,CAAA;6BACL,MAAM,EAAA,CAAA;;;MCNI,oBAAoB,CAAA;AAE/B;;;AAGE;AACF,IAAA,SAAS,CAAC,OAAO,EAAA;AACf,QAAA,MAAM,aAAa,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAE/F,QAAA,OAAO,aAAa,KAAb,IAAA,IAAA,aAAa,uBAAb,aAAa,CAAE,WAAW,CAAC;KACnC;;;YAXF,IAAI,EAAA,IAAA,EAAA,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE,EAAA,EAAA;;;MCoClC,YAAY,CAAA;;;AA3BxB,IAAA,EAAA,IAAA,EAAA,QAAQ,EAAC,IAAA,EAAA,CAAA;AACR,gBAAA,YAAY,EAAE;oBACZ,eAAe;oBACf,mBAAmB;oBACnB,oBAAoB;oBACpB,qBAAqB;oBACrB,qBAAqB;oBACrB,oBAAoB;AACrB,iBAAA;AACD,gBAAA,OAAO,EAAE;oBACP,YAAY;AACb,iBAAA;AACD,gBAAA,OAAO,EAAE;oBACP,eAAe;oBACf,oBAAoB;oBACpB,qBAAqB;oBACrB,qBAAqB;AACtB,iBAAA;AACD,gBAAA,SAAS,EAAE;oBACT,YAAY;oBACZ,iBAAiB;AAClB,iBAAA;AACD,gBAAA,eAAe,EAAE;oBACf,eAAe;oBACf,oBAAoB;AACrB,iBAAA;AACF,aAAA,EAAA,EAAA;;;ACrCD;AAKA,MAAM,kBAAkB,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC;AACvD,MAAM,kBAAkB,GAAG,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC;AAErD,SAAU,2BAA2B,CAAC,sBAAiD,EAAA;;IAC3F,OAAO,EAAA,GAAA,MAAM,eAAgB,SAAQ,kBAAkB,CAAA;AAgCrD,YAAA,WAAA,CAAmB,SAAkC,EAAE,OAAY,EAAE,IAAS,EAAA;AAC5E,gBAAA,KAAK,CAAC,SAAS,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACV,OAAO,CAAA,EAAA,EACV,cAAc,EAAE;AACd,wBAAA,OAAO,EAAE,CAAC,sBAAsB,CAAC,QAAQ,CAAC;qBAC3C,EACA,CAAA,EAAA,IAAI,CAAC,CAAC;gBANQ,IAAS,CAAA,SAAA,GAAT,SAAS,CAAyB;AA9BrD,gBAAA,IAAA,CAAA,EAAE,GAAGA,KAAW,CAAC,oBAAoB,EAAE,CAAC;AACxC,gBAAA,IAAA,CAAA,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC;gBAqCjC,IAAI,sBAAsB,CAAC,eAAe,EAAE;AAC1C,oBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC;AAClF,iBAAA;aACF;AArCD,YAAA,OAAO,MAAM,GAAA;AACX,gBAAA,OAAO,kBAAkB,CAAC,MAAM,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAC3B,sBAAsB,CAAC,MAAM,CAChC,EAAA,EAAA,IAAI,EAAE,sBAAsB,CAAC,IAAI,IACjC,CAAC;aACJ;AAED,YAAA,IAAI,aAAa,GAAA;AACf,gBAAA,OAAO,eAAe,CAAC,MAAM,EAAE,CAAC;aACjC;AAED,YAAA,IAAI,UAAU,GAAA;AACZ,gBAAA,OAAO,sBAAsB,CAAC,UAAU,IAAI,IAAI,CAAC;aAClD;AAED,YAAA,WAAW,WAAW,GAAA;gBACpB,OAAO;oBACL,KAAK,EAAE,sBAAsB,CAAC,KAAK;oBACnC,KAAK,EAAE,sBAAsB,CAAC,KAAK;oBACnC,IAAI,EAAE,sBAAsB,CAAC,IAAI;oBACjC,MAAM,EAAE,sBAAsB,CAAC,MAAM;oBACrC,aAAa,EAAE,sBAAsB,CAAC,aAAa;AACnD,oBAAA,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE;iBACjC,CAAC;aACH;YAeD,WAAW,GAAA;AACT,gBAAA,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;AACjC,gBAAA,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC,QAAQ,CAAC;gBAC5C,IAAI,CAAC,WAAW,GAAG,sBAAsB,CAAC,WAAW,IAAI,aAAa,CAAC;gBACvE,IAAI,CAAC,IAAI,GACJ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,IAAI,CAAA,EAAA,EACZ,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,2BAA2B,CAAC;mBAC5E,CAAC;AACF,gBAAA,OAAO,IAAI,CAAC;aACb;AAED,YAAA,IAAI,SAAS,GAAA;AACX,gBAAA,MAAM,IAAI,GAAA,MAAA,CAAA,MAAA,CAAA,EACR,EAAE,EAAE,IAAI,CAAC,GAAG,EAAA,EACT,IAAI,CAAC,WAAW,EAAE,CACtB,CAAA;AACD,gBAAA,OAAO,IAAI,CAAC;aACb;YAED,aAAa,CAAC,KAAU,EAAE,KAAa,EAAA;AACrC,gBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC5B,OAAO,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,QAAQ,IAAI,OAAO,EAAE;AACrE,oBAAA,KAAK,EAAE,IAAI;oBACX,KAAK;oBACL,KAAK;AACN,iBAAA,CAAC,CAAC;aACJ;AAED,YAAA,MAAM,CAAC,OAAoB,EAAA;gBACzB,IAAI,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAExC,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;;gBAGpF,IAAI,IAAI,CAAC,qBAAqB,EAAE;;;;;oBAK9B,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE;AAC1D,wBAAA,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;wBAElD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,sBAAsB,CAAC,QAAQ,CAAwB,CAAC;AAExG,wBAAA,gBAAgB,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC9C,wBAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAY,KAAI;AACxD,4BAAA,gBAAgB,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACjE,yBAAC,CAAC,CAAC;AAEH,wBAAA,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;AACzD,wBAAA,IAAI,CAAC,qBAAqB,GAAG,gBAAgB,CAAC;AAE9C,wBAAA,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACrC,qBAAA;;oBAGD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE;wBAC9C,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;AACpD,4BAAA,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACrE,yBAAA;AACF,qBAAA;;oBAED,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;wBACzC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;AAC/C,4BAAA,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAChE,yBAAA;AACF,qBAAA;;AAED,oBAAA,MAAM,YAAY,GAAG,sBAAsB,CAAC,YAAY,CAAC;oBACzD,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;AACpD,wBAAA,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE;AAC9B,4BAAA,IAAI,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;AACpC,gCAAA,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;AACnF,6BAAA;AACF,yBAAA;AACF,qBAAA;;oBAGD,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,KAA+B,KAAI;wBAC7F,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAC3B,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CAAC,MAAM,CAAC,IAAI,CACpB,EAAA,EAAA,SAAS,EAAE,IAAI,CAAC,SAAS,EAAA,CAAA,CACzB,CAAC;AACL,qBAAC,CAAC,CAAC;;AAGH,oBAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,wBAAwB,EAAE;wBACjF,IAAI,CAAC,YAAY,EAAE,CAAC;AACrB,qBAAA;AAEF,iBAAA;AACD,gBAAA,OAAO,WAAW,CAAC;aACpB;;YAGD,UAAU,GAAA;gBACR,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC;aACzH;AAED,YAAA,IAAI,YAAY,GAAA;AACd,gBAAA,IAAI,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC;;gBAGnC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE;AACvC,oBAAA,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;AAC5C,iBAAA;AAED,gBAAA,IAAI,IAAI,CAAC,SAAS,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AAC9D,oBAAA,YAAY,GAAG,IAAI,CAAC,QAAQ,CAC1B,IAAI,CAAC,SAAS,CAAC,kBAAkB,EACjC,EAAE,KAAK,EAAE,EAAE,EAAE,EACb,OAAO,CACR,CAAC;AACH,iBAAA;AAED,gBAAA,OAAO,KAAK,CAAC,YAAY,CAAC,CAAC;aAC5B;AACF,SAAA;AAjKQ,QAAA,EAAA,CAAA,QAAQ,GAAG,sBAAsB,CAAC,QAAQ,IAAI,kBAAkB,CAAC,QAAS;AAiKjF,QAAA,EAAA,CAAA;AACJ;;ACrKgB,SAAA,iBAAiB,CAAC,GAAW,EAAE,QAAkB,EAAA;IAC/D,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;AACpD,CAAC;AAEe,SAAA,kBAAkB,CAAC,IAAc,EAAE,QAAkB,EAAA;AACnE,IAAA,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;AACxD,CAAC;SAEe,6BAA6B,CAC3C,OAAkC,EAClC,gBAA2B,EAC3B,QAAkB,EAAA;AAElB,IAAA,iBAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE9C,MAAM,sBAAsB,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnF,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;AAEhE,IAAA,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9E,CAAC;AAEK,SAAU,sCAAsC,CACpD,OAAkC,EAClC,gBAA2B,EAC3B,WAAgB,EAChB,QAAkB,EAAA;AAElB,IAAA,iBAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE9C,MAAM,sBAAsB,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnF,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;IAEhE,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AACrD;;ACxCA;;AAEG;;ACFH;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"formio-angular.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","../../../projects/angular-formio/src/components/formio/formio.component.ts","../../../projects/angular-formio/src/components/formbuilder/formbuilder.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 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}\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() hideComponents?: string[];\n @Input() refresh?: EventEmitter<FormioRefreshValue>;\n @Input() error?: EventEmitter<any>;\n @Input() success?: 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() 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 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 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.formio.setUrl(this.url, this.formioOptions || {});\n }\n if (this.src) {\n this.formio.setUrl(this.src, this.formioOptions || {});\n }\n this.formio.nosubmit = true;\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('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 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 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.src) {\n if (!this.service) {\n this.service = new FormioService(this.src);\n }\n this.isLoading = true;\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 if (this.url && !this.service) {\n this.service = new FormioService(this.url);\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","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, 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 { 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 FormBuilderComponent,\n FormioLoaderComponent,\n FormioAlertsComponent,\n ParseHtmlContentPipe\n ],\n imports: [\n CommonModule\n ],\n exports: [\n FormioComponent,\n FormBuilderComponent,\n FormioLoaderComponent,\n FormioAlertsComponent\n ],\n providers: [\n FormioAlerts,\n CustomTagsService\n ],\n entryComponents: [\n FormioComponent,\n FormBuilderComponent\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":["FormioUtils"],"mappings":"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"}
|