@ng-formworks/core 17.2.7 → 18.0.0
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.
- package/LICENSE +21 -0
- package/README.md +834 -0
- package/esm2022/lib/framework-library/framework-library.service.mjs +175 -0
- package/esm2022/lib/framework-library/framework.mjs +15 -0
- package/esm2022/lib/framework-library/no-framework.component.mjs +18 -0
- package/esm2022/lib/framework-library/no-framework.module.mjs +27 -0
- package/esm2022/lib/framework-library/no.framework.mjs +19 -0
- package/esm2022/lib/json-schema-form.component.mjs +765 -0
- package/esm2022/lib/json-schema-form.module.mjs +26 -0
- package/esm2022/lib/json-schema-form.service.mjs +676 -0
- package/esm2022/lib/locale/de-validation-messages.mjs +60 -0
- package/esm2022/lib/locale/en-validation-messages.mjs +60 -0
- package/esm2022/lib/locale/es-validation-messages.mjs +57 -0
- package/esm2022/lib/locale/fr-validation-messages.mjs +60 -0
- package/esm2022/lib/locale/index.mjs +8 -0
- package/esm2022/lib/locale/it-validation-messages.mjs +60 -0
- package/esm2022/lib/locale/pt-validation-messages.mjs +60 -0
- package/esm2022/lib/locale/zh-validation-messages.mjs +60 -0
- package/esm2022/lib/shared/convert-schema-to-draft6.function.mjs +300 -0
- package/esm2022/lib/shared/form-group.functions.mjs +442 -0
- package/esm2022/lib/shared/format-regex.constants.mjs +54 -0
- package/esm2022/lib/shared/index.mjs +12 -0
- package/esm2022/lib/shared/json-schema.functions.mjs +784 -0
- package/esm2022/lib/shared/json.validators.mjs +884 -0
- package/esm2022/lib/shared/jsonpointer.functions.mjs +1026 -0
- package/esm2022/lib/shared/layout.functions.mjs +1158 -0
- package/esm2022/lib/shared/merge-schemas.function.mjs +345 -0
- package/esm2022/lib/shared/utility.functions.mjs +380 -0
- package/esm2022/lib/shared/validator.functions.mjs +584 -0
- package/esm2022/lib/widget-library/add-reference.component.mjs +61 -0
- package/esm2022/lib/widget-library/button.component.mjs +72 -0
- package/esm2022/lib/widget-library/checkbox.component.mjs +105 -0
- package/esm2022/lib/widget-library/checkboxes.component.mjs +147 -0
- package/esm2022/lib/widget-library/file.component.mjs +35 -0
- package/esm2022/lib/widget-library/hidden.component.mjs +54 -0
- package/esm2022/lib/widget-library/index.mjs +55 -0
- package/esm2022/lib/widget-library/input.component.mjs +119 -0
- package/esm2022/lib/widget-library/message.component.mjs +38 -0
- package/esm2022/lib/widget-library/none.component.mjs +21 -0
- package/esm2022/lib/widget-library/number.component.mjs +123 -0
- package/esm2022/lib/widget-library/one-of.component.mjs +35 -0
- package/esm2022/lib/widget-library/orderable.directive.mjs +123 -0
- package/esm2022/lib/widget-library/radios.component.mjs +153 -0
- package/esm2022/lib/widget-library/root.component.mjs +79 -0
- package/esm2022/lib/widget-library/section.component.mjs +199 -0
- package/esm2022/lib/widget-library/select-framework.component.mjs +51 -0
- package/esm2022/lib/widget-library/select-widget.component.mjs +46 -0
- package/esm2022/lib/widget-library/select.component.mjs +150 -0
- package/esm2022/lib/widget-library/submit.component.mjs +82 -0
- package/esm2022/lib/widget-library/tab.component.mjs +41 -0
- package/esm2022/lib/widget-library/tabs.component.mjs +108 -0
- package/esm2022/lib/widget-library/template.component.mjs +46 -0
- package/esm2022/lib/widget-library/textarea.component.mjs +104 -0
- package/esm2022/lib/widget-library/widget-library.module.mjs +42 -0
- package/esm2022/lib/widget-library/widget-library.service.mjs +226 -0
- package/esm2022/ng-formworks-core.mjs +5 -0
- package/esm2022/public_api.mjs +13 -0
- package/fesm2022/ng-formworks-core.mjs +10151 -0
- package/fesm2022/ng-formworks-core.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/framework-library/framework-library.service.d.ts +55 -0
- package/lib/framework-library/framework.d.ts +13 -0
- package/lib/framework-library/no-framework.component.d.ts +8 -0
- package/lib/framework-library/no-framework.module.d.ts +9 -0
- package/lib/framework-library/no.framework.d.ts +10 -0
- package/lib/json-schema-form.component.d.ts +218 -0
- package/lib/json-schema-form.module.d.ts +11 -0
- package/lib/json-schema-form.service.d.ts +115 -0
- package/lib/locale/de-validation-messages.d.ts +1 -0
- package/lib/locale/en-validation-messages.d.ts +1 -0
- package/lib/locale/es-validation-messages.d.ts +1 -0
- package/lib/locale/fr-validation-messages.d.ts +1 -0
- package/{src/lib/locale/index.ts → lib/locale/index.d.ts} +7 -7
- package/lib/locale/it-validation-messages.d.ts +1 -0
- package/lib/locale/pt-validation-messages.d.ts +1 -0
- package/lib/locale/zh-validation-messages.d.ts +1 -0
- package/lib/shared/convert-schema-to-draft6.function.d.ts +21 -0
- package/lib/shared/form-group.functions.d.ts +100 -0
- package/lib/shared/format-regex.constants.d.ts +19 -0
- package/lib/shared/index.d.ts +9 -0
- package/lib/shared/json-schema.functions.d.ts +193 -0
- package/lib/shared/json.validators.d.ts +441 -0
- package/lib/shared/jsonpointer.functions.d.ts +416 -0
- package/lib/shared/layout.functions.d.ts +83 -0
- package/lib/shared/merge-schemas.function.d.ts +19 -0
- package/lib/shared/utility.functions.d.ts +165 -0
- package/{src/lib/shared/validator.functions.ts → lib/shared/validator.functions.d.ts} +364 -601
- package/lib/widget-library/add-reference.component.d.ts +20 -0
- package/lib/widget-library/button.component.d.ts +21 -0
- package/lib/widget-library/checkbox.component.d.ts +24 -0
- package/lib/widget-library/checkboxes.component.d.ts +24 -0
- package/lib/widget-library/file.component.d.ts +21 -0
- package/lib/widget-library/hidden.component.d.ts +19 -0
- package/{src/lib/widget-library/index.ts → lib/widget-library/index.d.ts} +47 -56
- package/lib/widget-library/input.component.d.ts +22 -0
- package/lib/widget-library/message.component.d.ts +15 -0
- package/lib/widget-library/none.component.d.ts +8 -0
- package/lib/widget-library/number.component.d.ts +25 -0
- package/lib/widget-library/one-of.component.d.ts +21 -0
- package/lib/widget-library/orderable.directive.d.ts +41 -0
- package/lib/widget-library/radios.component.d.ts +23 -0
- package/lib/widget-library/root.component.d.ts +17 -0
- package/lib/widget-library/section.component.d.ts +19 -0
- package/lib/widget-library/select-framework.component.d.ts +18 -0
- package/lib/widget-library/select-widget.component.d.ts +18 -0
- package/lib/widget-library/select.component.d.ts +24 -0
- package/lib/widget-library/submit.component.d.ts +24 -0
- package/lib/widget-library/tab.component.d.ts +14 -0
- package/lib/widget-library/tabs.component.d.ts +20 -0
- package/lib/widget-library/template.component.d.ts +18 -0
- package/lib/widget-library/textarea.component.d.ts +21 -0
- package/lib/widget-library/widget-library.module.d.ts +31 -0
- package/lib/widget-library/widget-library.service.d.ts +22 -0
- package/package.json +66 -53
- package/{src/public_api.ts → public_api.d.ts} +9 -21
- package/karma.conf.js +0 -46
- package/ng-package.json +0 -11
- package/src/lib/framework-library/framework-library.service.ts +0 -195
- package/src/lib/framework-library/framework.ts +0 -11
- package/src/lib/framework-library/no-framework.component.html +0 -2
- package/src/lib/framework-library/no-framework.component.ts +0 -11
- package/src/lib/framework-library/no-framework.module.ts +0 -18
- package/src/lib/framework-library/no.framework.ts +0 -11
- package/src/lib/json-schema-form.component.html +0 -7
- package/src/lib/json-schema-form.component.ts +0 -809
- package/src/lib/json-schema-form.module.ts +0 -17
- package/src/lib/json-schema-form.service.ts +0 -907
- package/src/lib/locale/de-validation-messages.ts +0 -58
- package/src/lib/locale/en-validation-messages.ts +0 -58
- package/src/lib/locale/es-validation-messages.ts +0 -55
- package/src/lib/locale/fr-validation-messages.ts +0 -58
- package/src/lib/locale/it-validation-messages.ts +0 -58
- package/src/lib/locale/pt-validation-messages.ts +0 -58
- package/src/lib/locale/zh-validation-messages.ts +0 -58
- package/src/lib/locale-dates/en-US.ts +0 -5
- package/src/lib/shared/convert-schema-to-draft6.function.ts +0 -321
- package/src/lib/shared/form-group.functions.ts +0 -522
- package/src/lib/shared/format-regex.constants.ts +0 -73
- package/src/lib/shared/index.ts +0 -40
- package/src/lib/shared/json-schema.functions.ts +0 -788
- package/src/lib/shared/json.validators.ts +0 -878
- package/src/lib/shared/jsonpointer.functions.ts +0 -1012
- package/src/lib/shared/jspointer.functions.json.spec.ts +0 -103
- package/src/lib/shared/layout.functions.ts +0 -1233
- package/src/lib/shared/merge-schemas.function.ts +0 -329
- package/src/lib/shared/utility.functions.ts +0 -373
- package/src/lib/shared/validator.functions.spec.ts +0 -55
- package/src/lib/widget-library/add-reference.component.ts +0 -59
- package/src/lib/widget-library/button.component.ts +0 -54
- package/src/lib/widget-library/checkbox.component.ts +0 -74
- package/src/lib/widget-library/checkboxes.component.ts +0 -104
- package/src/lib/widget-library/file.component.ts +0 -36
- package/src/lib/widget-library/hidden.component.ts +0 -39
- package/src/lib/widget-library/input.component.ts +0 -76
- package/src/lib/widget-library/message.component.ts +0 -29
- package/src/lib/widget-library/none.component.ts +0 -12
- package/src/lib/widget-library/number.component.ts +0 -79
- package/src/lib/widget-library/one-of.component.ts +0 -36
- package/src/lib/widget-library/orderable.directive.ts +0 -130
- package/src/lib/widget-library/radios.component.ts +0 -101
- package/src/lib/widget-library/root.component.ts +0 -78
- package/src/lib/widget-library/section.component.ts +0 -133
- package/src/lib/widget-library/select-framework.component.ts +0 -50
- package/src/lib/widget-library/select-widget.component.ts +0 -46
- package/src/lib/widget-library/select.component.ts +0 -96
- package/src/lib/widget-library/submit.component.ts +0 -68
- package/src/lib/widget-library/tab.component.ts +0 -29
- package/src/lib/widget-library/tabs.component.ts +0 -83
- package/src/lib/widget-library/template.component.ts +0 -52
- package/src/lib/widget-library/textarea.component.ts +0 -68
- package/src/lib/widget-library/widget-library.module.ts +0 -13
- package/src/lib/widget-library/widget-library.service.ts +0 -234
- package/src/test.ts +0 -18
- package/tsconfig.lib.json +0 -25
- package/tsconfig.lib.prod.json +0 -9
- package/tsconfig.spec.json +0 -17
- package/tslint.json +0 -11
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { BASIC_WIDGETS } from './index';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { NgModule } from '@angular/core';
|
|
5
|
+
import { OrderableDirective } from './orderable.directive';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "./add-reference.component";
|
|
8
|
+
import * as i2 from "./one-of.component";
|
|
9
|
+
import * as i3 from "./button.component";
|
|
10
|
+
import * as i4 from "./checkbox.component";
|
|
11
|
+
import * as i5 from "./checkboxes.component";
|
|
12
|
+
import * as i6 from "./file.component";
|
|
13
|
+
import * as i7 from "./hidden.component";
|
|
14
|
+
import * as i8 from "./input.component";
|
|
15
|
+
import * as i9 from "./message.component";
|
|
16
|
+
import * as i10 from "./none.component";
|
|
17
|
+
import * as i11 from "./number.component";
|
|
18
|
+
import * as i12 from "./radios.component";
|
|
19
|
+
import * as i13 from "./root.component";
|
|
20
|
+
import * as i14 from "./section.component";
|
|
21
|
+
import * as i15 from "./select.component";
|
|
22
|
+
import * as i16 from "./select-framework.component";
|
|
23
|
+
import * as i17 from "./select-widget.component";
|
|
24
|
+
import * as i18 from "./submit.component";
|
|
25
|
+
import * as i19 from "./tab.component";
|
|
26
|
+
import * as i20 from "./tabs.component";
|
|
27
|
+
import * as i21 from "./template.component";
|
|
28
|
+
import * as i22 from "./textarea.component";
|
|
29
|
+
export class WidgetLibraryModule {
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: WidgetLibraryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
31
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: WidgetLibraryModule, declarations: [i1.AddReferenceComponent, i2.OneOfComponent, i3.ButtonComponent, i4.CheckboxComponent, i5.CheckboxesComponent, i6.FileComponent, i7.HiddenComponent, i8.InputComponent, i9.MessageComponent, i10.NoneComponent, i11.NumberComponent, i12.RadiosComponent, i13.RootComponent, i14.SectionComponent, i15.SelectComponent, i16.SelectFrameworkComponent, i17.SelectWidgetComponent, i18.SubmitComponent, i19.TabComponent, i20.TabsComponent, i21.TemplateComponent, i22.TextareaComponent, OrderableDirective], imports: [CommonModule, FormsModule, ReactiveFormsModule], exports: [i1.AddReferenceComponent, i2.OneOfComponent, i3.ButtonComponent, i4.CheckboxComponent, i5.CheckboxesComponent, i6.FileComponent, i7.HiddenComponent, i8.InputComponent, i9.MessageComponent, i10.NoneComponent, i11.NumberComponent, i12.RadiosComponent, i13.RootComponent, i14.SectionComponent, i15.SelectComponent, i16.SelectFrameworkComponent, i17.SelectWidgetComponent, i18.SubmitComponent, i19.TabComponent, i20.TabsComponent, i21.TemplateComponent, i22.TextareaComponent, OrderableDirective] }); }
|
|
32
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: WidgetLibraryModule, imports: [CommonModule, FormsModule, ReactiveFormsModule] }); }
|
|
33
|
+
}
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: WidgetLibraryModule, decorators: [{
|
|
35
|
+
type: NgModule,
|
|
36
|
+
args: [{
|
|
37
|
+
imports: [CommonModule, FormsModule, ReactiveFormsModule],
|
|
38
|
+
declarations: [...BASIC_WIDGETS, OrderableDirective],
|
|
39
|
+
exports: [...BASIC_WIDGETS, OrderableDirective]
|
|
40
|
+
}]
|
|
41
|
+
}] });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWxpYnJhcnkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZm9ybXdvcmtzLWNvcmUvc3JjL2xpYi93aWRnZXQtbGlicmFyeS93aWRnZXQtbGlicmFyeS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU8zRCxNQUFNLE9BQU8sbUJBQW1COzhHQUFuQixtQkFBbUI7K0dBQW5CLG1CQUFtQiwwZUFISyxrQkFBa0IsYUFEekMsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsc2VBRTVCLGtCQUFrQjsrR0FFckMsbUJBQW1CLFlBSmxCLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1COzsyRkFJL0MsbUJBQW1CO2tCQUwvQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLENBQUM7b0JBQ3pELFlBQVksRUFBRSxDQUFDLEdBQUcsYUFBYSxFQUFFLGtCQUFrQixDQUFDO29CQUNwRCxPQUFPLEVBQUUsQ0FBQyxHQUFHLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQztpQkFDbEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCQVNJQ19XSURHRVRTIH0gZnJvbSAnLi9pbmRleCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPcmRlcmFibGVEaXJlY3RpdmUgfSBmcm9tICcuL29yZGVyYWJsZS5kaXJlY3RpdmUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcclxuICAgIGRlY2xhcmF0aW9uczogWy4uLkJBU0lDX1dJREdFVFMsIE9yZGVyYWJsZURpcmVjdGl2ZV0sXHJcbiAgICBleHBvcnRzOiBbLi4uQkFTSUNfV0lER0VUUywgT3JkZXJhYmxlRGlyZWN0aXZlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgV2lkZ2V0TGlicmFyeU1vZHVsZSB7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
import { AddReferenceComponent } from './add-reference.component';
|
|
2
|
+
import { ButtonComponent } from './button.component';
|
|
3
|
+
import { CheckboxComponent } from './checkbox.component';
|
|
4
|
+
import { CheckboxesComponent } from './checkboxes.component';
|
|
5
|
+
import { FileComponent } from './file.component';
|
|
6
|
+
import { hasOwn } from '../shared/utility.functions';
|
|
7
|
+
import { Injectable } from '@angular/core';
|
|
8
|
+
import { InputComponent } from './input.component';
|
|
9
|
+
import { MessageComponent } from './message.component';
|
|
10
|
+
import { NoneComponent } from './none.component';
|
|
11
|
+
import { NumberComponent } from './number.component';
|
|
12
|
+
import { OneOfComponent } from './one-of.component';
|
|
13
|
+
import { RadiosComponent } from './radios.component';
|
|
14
|
+
import { RootComponent } from './root.component';
|
|
15
|
+
import { SectionComponent } from './section.component';
|
|
16
|
+
import { SelectComponent } from './select.component';
|
|
17
|
+
import { SelectFrameworkComponent } from './select-framework.component';
|
|
18
|
+
import { SelectWidgetComponent } from './select-widget.component';
|
|
19
|
+
import { SubmitComponent } from './submit.component';
|
|
20
|
+
import { TabsComponent } from './tabs.component';
|
|
21
|
+
import { TemplateComponent } from './template.component';
|
|
22
|
+
import { TextareaComponent } from './textarea.component';
|
|
23
|
+
import * as i0 from "@angular/core";
|
|
24
|
+
export class WidgetLibraryService {
|
|
25
|
+
constructor() {
|
|
26
|
+
this.defaultWidget = 'text';
|
|
27
|
+
this.widgetLibrary = {
|
|
28
|
+
// Angular JSON Schema Form administrative widgets
|
|
29
|
+
'none': NoneComponent, // Placeholder, for development - displays nothing
|
|
30
|
+
'root': RootComponent, // Form root, renders a complete layout
|
|
31
|
+
'select-framework': SelectFrameworkComponent, // Applies the selected framework to a specified widget
|
|
32
|
+
'select-widget': SelectWidgetComponent, // Displays a specified widget
|
|
33
|
+
'$ref': AddReferenceComponent, // Button to add a new array item or $ref element
|
|
34
|
+
// Free-form text HTML 'input' form control widgets <input type="...">
|
|
35
|
+
'email': 'text',
|
|
36
|
+
'integer': 'number', // Note: 'integer' is not a recognized HTML input type
|
|
37
|
+
'number': NumberComponent,
|
|
38
|
+
'password': 'text',
|
|
39
|
+
'search': 'text',
|
|
40
|
+
'tel': 'text',
|
|
41
|
+
'text': InputComponent,
|
|
42
|
+
'url': 'text',
|
|
43
|
+
// Controlled text HTML 'input' form control widgets <input type="...">
|
|
44
|
+
'color': 'text',
|
|
45
|
+
'date': 'text',
|
|
46
|
+
'datetime': 'text',
|
|
47
|
+
'datetime-local': 'text',
|
|
48
|
+
'month': 'text',
|
|
49
|
+
'range': 'number',
|
|
50
|
+
'time': 'text',
|
|
51
|
+
'week': 'text',
|
|
52
|
+
// Non-text HTML 'input' form control widgets <input type="...">
|
|
53
|
+
// 'button': <input type="button"> not used, use <button> instead
|
|
54
|
+
'checkbox': CheckboxComponent, // TODO: Set ternary = true for 3-state ??
|
|
55
|
+
'file': FileComponent, // TODO: Finish 'file' widget
|
|
56
|
+
'hidden': 'text',
|
|
57
|
+
'image': 'text', // TODO: Figure out how to handle these
|
|
58
|
+
'radio': 'radios',
|
|
59
|
+
'reset': 'submit', // TODO: Figure out how to handle these
|
|
60
|
+
'submit': SubmitComponent,
|
|
61
|
+
// Other (non-'input') HTML form control widgets
|
|
62
|
+
'button': ButtonComponent,
|
|
63
|
+
'select': SelectComponent,
|
|
64
|
+
// 'option': automatically generated by select widgets
|
|
65
|
+
// 'optgroup': automatically generated by select widgets
|
|
66
|
+
'textarea': TextareaComponent,
|
|
67
|
+
// HTML form control widget sets
|
|
68
|
+
'checkboxes': CheckboxesComponent, // Grouped list of checkboxes
|
|
69
|
+
'checkboxes-inline': 'checkboxes', // Checkboxes in one line
|
|
70
|
+
'checkboxbuttons': 'checkboxes', // Checkboxes as html buttons
|
|
71
|
+
'radios': RadiosComponent, // Grouped list of radio buttons
|
|
72
|
+
'radios-inline': 'radios', // Radio controls in one line
|
|
73
|
+
'radiobuttons': 'radios', // Radio controls as html buttons
|
|
74
|
+
// HTML Layout widgets
|
|
75
|
+
// 'label': automatically added to data widgets
|
|
76
|
+
// 'legend': automatically added to fieldsets
|
|
77
|
+
'section': SectionComponent, // Just a div <div>
|
|
78
|
+
'div': 'section', // Still just a div <div>
|
|
79
|
+
'fieldset': 'section', // A fieldset, with an optional legend <fieldset>
|
|
80
|
+
'flex': 'section', // A flexbox container <div style="display: flex">
|
|
81
|
+
// Non-HTML layout widgets
|
|
82
|
+
'one-of': OneOfComponent, // A select box that changes another input
|
|
83
|
+
// TODO: Finish 'one-of' widget
|
|
84
|
+
'array': 'section', // A list you can add, remove and reorder <fieldset>
|
|
85
|
+
'tabarray': 'tabs', // A tabbed version of array
|
|
86
|
+
'tab': 'section', // A tab group, similar to a fieldset or section <fieldset>
|
|
87
|
+
'tabs': TabsComponent, // A tabbed set of panels with different controls
|
|
88
|
+
'message': MessageComponent, // Insert arbitrary html
|
|
89
|
+
'help': 'message', // Insert arbitrary html
|
|
90
|
+
'msg': 'message', // Insert arbitrary html
|
|
91
|
+
'html': 'message', // Insert arbitrary html
|
|
92
|
+
'template': TemplateComponent, // Insert a custom Angular component
|
|
93
|
+
// Widgets included for compatibility with JSON Form API
|
|
94
|
+
'advancedfieldset': 'section', // Adds 'Advanced settings' title <fieldset>
|
|
95
|
+
'authfieldset': 'section', // Adds 'Authentication settings' title <fieldset>
|
|
96
|
+
'optionfieldset': 'one-of', // Option control, displays selected sub-item <fieldset>
|
|
97
|
+
'selectfieldset': 'one-of', // Select control, displays selected sub-item <fieldset>
|
|
98
|
+
'conditional': 'section', // Identical to 'section' (depeciated) <div>
|
|
99
|
+
'actions': 'section', // Horizontal button list, can only submit, uses buttons as items <div>
|
|
100
|
+
'tagsinput': 'section', // For entering short text tags <div>
|
|
101
|
+
// See: http://ulion.github.io/jsonform/playground/?example=fields-checkboxbuttons
|
|
102
|
+
// Widgets included for compatibility with React JSON Schema Form API
|
|
103
|
+
'updown': 'number',
|
|
104
|
+
'date-time': 'datetime-local',
|
|
105
|
+
'alt-datetime': 'datetime-local',
|
|
106
|
+
'alt-date': 'date',
|
|
107
|
+
// Widgets included for compatibility with Angular Schema Form API
|
|
108
|
+
'wizard': 'section', // TODO: Sequential panels with "Next" and "Previous" buttons
|
|
109
|
+
// Widgets included for compatibility with other libraries
|
|
110
|
+
'textline': 'text',
|
|
111
|
+
// Recommended 3rd-party add-on widgets (TODO: create wrappers for these...)
|
|
112
|
+
// 'ng2-select': Select control replacement - http://valor-software.com/ng2-select/
|
|
113
|
+
// 'flatpickr': Flatpickr date picker - https://github.com/chmln/flatpickr
|
|
114
|
+
// 'pikaday': Pikaday date picker - https://github.com/dbushell/Pikaday
|
|
115
|
+
// 'spectrum': Spectrum color picker - http://bgrins.github.io/spectrum
|
|
116
|
+
// 'bootstrap-slider': Bootstrap Slider range control - https://github.com/seiyria/bootstrap-slider
|
|
117
|
+
// 'ace': ACE code editor - https://ace.c9.io
|
|
118
|
+
// 'ckeditor': CKEditor HTML / rich text editor - http://ckeditor.com
|
|
119
|
+
// 'tinymce': TinyMCE HTML / rich text editor - https://www.tinymce.com
|
|
120
|
+
// 'imageselect': Bootstrap drop-down image selector - http://silviomoreto.github.io/bootstrap-select
|
|
121
|
+
// 'wysihtml5': HTML editor - http://jhollingworth.github.io/bootstrap-wysihtml5
|
|
122
|
+
// 'quill': Quill HTML / rich text editor (?) - https://quilljs.com
|
|
123
|
+
};
|
|
124
|
+
this.registeredWidgets = {};
|
|
125
|
+
this.frameworkWidgets = {};
|
|
126
|
+
this.activeWidgets = {};
|
|
127
|
+
this.setActiveWidgets();
|
|
128
|
+
}
|
|
129
|
+
setActiveWidgets() {
|
|
130
|
+
this.activeWidgets = Object.assign({}, this.widgetLibrary, this.frameworkWidgets, this.registeredWidgets);
|
|
131
|
+
for (const widgetName of Object.keys(this.activeWidgets)) {
|
|
132
|
+
let widget = this.activeWidgets[widgetName];
|
|
133
|
+
// Resolve aliases
|
|
134
|
+
if (typeof widget === 'string') {
|
|
135
|
+
const usedAliases = [];
|
|
136
|
+
while (typeof widget === 'string' && !usedAliases.includes(widget)) {
|
|
137
|
+
usedAliases.push(widget);
|
|
138
|
+
widget = this.activeWidgets[widget];
|
|
139
|
+
}
|
|
140
|
+
if (typeof widget !== 'string') {
|
|
141
|
+
this.activeWidgets[widgetName] = widget;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return true;
|
|
146
|
+
}
|
|
147
|
+
setDefaultWidget(type) {
|
|
148
|
+
if (!this.hasWidget(type)) {
|
|
149
|
+
return false;
|
|
150
|
+
}
|
|
151
|
+
this.defaultWidget = type;
|
|
152
|
+
return true;
|
|
153
|
+
}
|
|
154
|
+
hasWidget(type, widgetSet = 'activeWidgets') {
|
|
155
|
+
if (!type || typeof type !== 'string') {
|
|
156
|
+
return false;
|
|
157
|
+
}
|
|
158
|
+
return hasOwn(this[widgetSet], type);
|
|
159
|
+
}
|
|
160
|
+
hasDefaultWidget(type) {
|
|
161
|
+
return this.hasWidget(type, 'widgetLibrary');
|
|
162
|
+
}
|
|
163
|
+
registerWidget(type, widget) {
|
|
164
|
+
if (!type || !widget || typeof type !== 'string') {
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
this.registeredWidgets[type] = widget;
|
|
168
|
+
return this.setActiveWidgets();
|
|
169
|
+
}
|
|
170
|
+
unRegisterWidget(type) {
|
|
171
|
+
if (!hasOwn(this.registeredWidgets, type)) {
|
|
172
|
+
return false;
|
|
173
|
+
}
|
|
174
|
+
delete this.registeredWidgets[type];
|
|
175
|
+
return this.setActiveWidgets();
|
|
176
|
+
}
|
|
177
|
+
unRegisterAllWidgets(unRegisterFrameworkWidgets = true) {
|
|
178
|
+
this.registeredWidgets = {};
|
|
179
|
+
if (unRegisterFrameworkWidgets) {
|
|
180
|
+
this.frameworkWidgets = {};
|
|
181
|
+
}
|
|
182
|
+
return this.setActiveWidgets();
|
|
183
|
+
}
|
|
184
|
+
registerFrameworkWidgets(widgets) {
|
|
185
|
+
if (widgets === null || typeof widgets !== 'object') {
|
|
186
|
+
widgets = {};
|
|
187
|
+
}
|
|
188
|
+
this.frameworkWidgets = widgets;
|
|
189
|
+
return this.setActiveWidgets();
|
|
190
|
+
}
|
|
191
|
+
unRegisterFrameworkWidgets() {
|
|
192
|
+
if (Object.keys(this.frameworkWidgets).length) {
|
|
193
|
+
this.frameworkWidgets = {};
|
|
194
|
+
return this.setActiveWidgets();
|
|
195
|
+
}
|
|
196
|
+
return false;
|
|
197
|
+
}
|
|
198
|
+
getWidget(type, widgetSet = 'activeWidgets') {
|
|
199
|
+
if (this.hasWidget(type, widgetSet)) {
|
|
200
|
+
return this[widgetSet][type];
|
|
201
|
+
}
|
|
202
|
+
else if (this.hasWidget(this.defaultWidget, widgetSet)) {
|
|
203
|
+
return this[widgetSet][this.defaultWidget];
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
return null;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
getAllWidgets() {
|
|
210
|
+
return {
|
|
211
|
+
widgetLibrary: this.widgetLibrary,
|
|
212
|
+
registeredWidgets: this.registeredWidgets,
|
|
213
|
+
frameworkWidgets: this.frameworkWidgets,
|
|
214
|
+
activeWidgets: this.activeWidgets,
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: WidgetLibraryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
218
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: WidgetLibraryService, providedIn: 'root' }); }
|
|
219
|
+
}
|
|
220
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: WidgetLibraryService, decorators: [{
|
|
221
|
+
type: Injectable,
|
|
222
|
+
args: [{
|
|
223
|
+
providedIn: 'root',
|
|
224
|
+
}]
|
|
225
|
+
}], ctorParameters: () => [] });
|
|
226
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWxpYnJhcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWZvcm13b3Jrcy1jb3JlL3NyYy9saWIvd2lkZ2V0LWxpYnJhcnkvd2lkZ2V0LWxpYnJhcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFP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QUFFLElBQUksQ0FBQyxhQUFhO1NBQ2xDLENBQUM7SUFDSixDQUFDOzhHQTlNVSxvQkFBb0I7a0hBQXBCLG9CQUFvQixjQUZuQixNQUFNOzsyRkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWRkUmVmZXJlbmNlQ29tcG9uZW50IH0gZnJvbSAnLi9hZGQtcmVmZXJlbmNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9jaGVja2JveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGVja2JveGVzQ29tcG9uZW50IH0gZnJvbSAnLi9jaGVja2JveGVzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZpbGVDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgaGFzT3duIH0gZnJvbSAnLi4vc2hhcmVkL3V0aWxpdHkuZnVuY3Rpb25zJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vbWVzc2FnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOb25lQ29tcG9uZW50IH0gZnJvbSAnLi9ub25lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE51bWJlckNvbXBvbmVudCB9IGZyb20gJy4vbnVtYmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE9uZU9mQ29tcG9uZW50IH0gZnJvbSAnLi9vbmUtb2YuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmFkaW9zQ29tcG9uZW50IH0gZnJvbSAnLi9yYWRpb3MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUm9vdENvbXBvbmVudCB9IGZyb20gJy4vcm9vdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9zZWN0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdEZyYW1ld29ya0NvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LWZyYW1ld29yay5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RXaWRnZXRDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC13aWRnZXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3VibWl0Q29tcG9uZW50IH0gZnJvbSAnLi9zdWJtaXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFic0NvbXBvbmVudCB9IGZyb20gJy4vdGFicy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vdGVtcGxhdGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICcuL3RleHRhcmVhLmNvbXBvbmVudCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgV2lkZ2V0TGlicmFyeVNlcnZpY2Uge1xyXG5cclxuICBkZWZhdWx0V2lkZ2V0ID0gJ3RleHQnO1xyXG4gIHdpZGdldExpYnJhcnk6IGFueSA9IHtcclxuXHJcbiAgLy8gQW5ndWxhciBKU09OIFNjaGVtYSBGb3JtIGFkbWluaXN0cmF0aXZlIHdpZGdldHNcclxuICAgICdub25lJzogTm9uZUNvbXBvbmVudCwgLy8gUGxhY2Vob2xkZXIsIGZvciBkZXZlbG9wbWVudCAtIGRpc3BsYXlzIG5vdGhpbmdcclxuICAgICdyb290JzogUm9vdENvbXBvbmVudCwgLy8gRm9ybSByb290LCByZW5kZXJzIGEgY29tcGxldGUgbGF5b3V0XHJcbiAgICAnc2VsZWN0LWZyYW1ld29yayc6IFNlbGVjdEZyYW1ld29ya0NvbXBvbmVudCwgLy8gQXBwbGllcyB0aGUgc2VsZWN0ZWQgZnJhbWV3b3JrIHRvIGEgc3BlY2lmaWVkIHdpZGdldFxyXG4gICAgJ3NlbGVjdC13aWRnZXQnOiBTZWxlY3RXaWRnZXRDb21wb25lbnQsIC8vIERpc3BsYXlzIGEgc3BlY2lmaWVkIHdpZGdldFxyXG4gICAgJyRyZWYnOiBBZGRSZWZlcmVuY2VDb21wb25lbnQsIC8vIEJ1dHRvbiB0byBhZGQgYSBuZXcgYXJyYXkgaXRlbSBvciAkcmVmIGVsZW1lbnRcclxuXHJcbiAgLy8gRnJlZS1mb3JtIHRleHQgSFRNTCAnaW5wdXQnIGZvcm0gY29udHJvbCB3aWRnZXRzIDxpbnB1dCB0eXBlPVwiLi4uXCI+XHJcbiAgICAnZW1haWwnOiAndGV4dCcsXHJcbiAgICAnaW50ZWdlcic6ICdudW1iZXInLCAvLyBOb3RlOiAnaW50ZWdlcicgaXMgbm90IGEgcmVjb2duaXplZCBIVE1MIGlucHV0IHR5cGVcclxuICAgICdudW1iZXInOiBOdW1iZXJDb21wb25lbnQsXHJcbiAgICAncGFzc3dvcmQnOiAndGV4dCcsXHJcbiAgICAnc2VhcmNoJzogJ3RleHQnLFxyXG4gICAgJ3RlbCc6ICd0ZXh0JyxcclxuICAgICd0ZXh0JzogSW5wdXRDb21wb25lbnQsXHJcbiAgICAndXJsJzogJ3RleHQnLFxyXG5cclxuICAvLyBDb250cm9sbGVkIHRleHQgSFRNTCAnaW5wdXQnIGZvcm0gY29udHJvbCB3aWRnZXRzIDxpbnB1dCB0eXBlPVwiLi4uXCI+XHJcbiAgICAnY29sb3InOiAndGV4dCcsXHJcbiAgICAnZGF0ZSc6ICd0ZXh0JyxcclxuICAgICdkYXRldGltZSc6ICd0ZXh0JyxcclxuICAgICdkYXRldGltZS1sb2NhbCc6ICd0ZXh0JyxcclxuICAgICdtb250aCc6ICd0ZXh0JyxcclxuICAgICdyYW5nZSc6ICdudW1iZXInLFxyXG4gICAgJ3RpbWUnOiAndGV4dCcsXHJcbiAgICAnd2Vlayc6ICd0ZXh0JyxcclxuXHJcbiAgLy8gTm9uLXRleHQgSFRNTCAnaW5wdXQnIGZvcm0gY29udHJvbCB3aWRnZXRzIDxpbnB1dCB0eXBlPVwiLi4uXCI+XHJcbiAgICAvLyAnYnV0dG9uJzogPGlucHV0IHR5cGU9XCJidXR0b25cIj4gbm90IHVzZWQsIHVzZSA8YnV0dG9uPiBpbnN0ZWFkXHJcbiAgICAnY2hlY2tib3gnOiBDaGVja2JveENvbXBvbmVudCwgLy8gVE9ETzogU2V0IHRlcm5hcnkgPSB0cnVlIGZvciAzLXN0YXRlID8/XHJcbiAgICAnZmlsZSc6IEZpbGVDb21wb25lbnQsIC8vIFRPRE86IEZpbmlzaCAnZmlsZScgd2lkZ2V0XHJcbiAgICAnaGlkZGVuJzogJ3RleHQnLFxyXG4gICAgJ2ltYWdlJzogJ3RleHQnLCAvLyBUT0RPOiBGaWd1cmUgb3V0IGhvdyB0byBoYW5kbGUgdGhlc2VcclxuICAgICdyYWRpbyc6ICdyYWRpb3MnLFxyXG4gICAgJ3Jlc2V0JzogJ3N1Ym1pdCcsIC8vIFRPRE86IEZpZ3VyZSBvdXQgaG93IHRvIGhhbmRsZSB0aGVzZVxyXG4gICAgJ3N1Ym1pdCc6IFN1Ym1pdENvbXBvbmVudCxcclxuXHJcbiAgLy8gT3RoZXIgKG5vbi0naW5wdXQnKSBIVE1MIGZvcm0gY29udHJvbCB3aWRnZXRzXHJcbiAgICAnYnV0dG9uJzogQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgJ3NlbGVjdCc6IFNlbGVjdENvbXBvbmVudCxcclxuICAgIC8vICdvcHRpb24nOiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBzZWxlY3Qgd2lkZ2V0c1xyXG4gICAgLy8gJ29wdGdyb3VwJzogYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgc2VsZWN0IHdpZGdldHNcclxuICAgICd0ZXh0YXJlYSc6IFRleHRhcmVhQ29tcG9uZW50LFxyXG5cclxuICAvLyBIVE1MIGZvcm0gY29udHJvbCB3aWRnZXQgc2V0c1xyXG4gICAgJ2NoZWNrYm94ZXMnOiBDaGVja2JveGVzQ29tcG9uZW50LCAvLyBHcm91cGVkIGxpc3Qgb2YgY2hlY2tib3hlc1xyXG4gICAgJ2NoZWNrYm94ZXMtaW5saW5lJzogJ2NoZWNrYm94ZXMnLCAvLyBDaGVja2JveGVzIGluIG9uZSBsaW5lXHJcbiAgICAnY2hlY2tib3hidXR0b25zJzogJ2NoZWNrYm94ZXMnLCAvLyBDaGVja2JveGVzIGFzIGh0bWwgYnV0dG9uc1xyXG4gICAgJ3JhZGlvcyc6IFJhZGlvc0NvbXBvbmVudCwgLy8gR3JvdXBlZCBsaXN0IG9mIHJhZGlvIGJ1dHRvbnNcclxuICAgICdyYWRpb3MtaW5saW5lJzogJ3JhZGlvcycsIC8vIFJhZGlvIGNvbnRyb2xzIGluIG9uZSBsaW5lXHJcbiAgICAncmFkaW9idXR0b25zJzogJ3JhZGlvcycsIC8vIFJhZGlvIGNvbnRyb2xzIGFzIGh0bWwgYnV0dG9uc1xyXG5cclxuICAvLyBIVE1MIExheW91dCB3aWRnZXRzXHJcbiAgICAvLyAnbGFiZWwnOiBhdXRvbWF0aWNhbGx5IGFkZGVkIHRvIGRhdGEgd2lkZ2V0c1xyXG4gICAgLy8gJ2xlZ2VuZCc6IGF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gZmllbGRzZXRzXHJcbiAgICAnc2VjdGlvbic6IFNlY3Rpb25Db21wb25lbnQsIC8vIEp1c3QgYSBkaXYgPGRpdj5cclxuICAgICdkaXYnOiAnc2VjdGlvbicsIC8vIFN0aWxsIGp1c3QgYSBkaXYgPGRpdj5cclxuICAgICdmaWVsZHNldCc6ICdzZWN0aW9uJywgLy8gQSBmaWVsZHNldCwgd2l0aCBhbiBvcHRpb25hbCBsZWdlbmQgPGZpZWxkc2V0PlxyXG4gICAgJ2ZsZXgnOiAnc2VjdGlvbicsIC8vIEEgZmxleGJveCBjb250YWluZXIgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXhcIj5cclxuXHJcbiAgLy8gTm9uLUhUTUwgbGF5b3V0IHdpZGdldHNcclxuICAgICdvbmUtb2YnOiBPbmVPZkNvbXBvbmVudCwgLy8gQSBzZWxlY3QgYm94IHRoYXQgY2hhbmdlcyBhbm90aGVyIGlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IEZpbmlzaCAnb25lLW9mJyB3aWRnZXRcclxuICAgICdhcnJheSc6ICdzZWN0aW9uJywgLy8gQSBsaXN0IHlvdSBjYW4gYWRkLCByZW1vdmUgYW5kIHJlb3JkZXIgPGZpZWxkc2V0PlxyXG4gICAgJ3RhYmFycmF5JzogJ3RhYnMnLCAvLyBBIHRhYmJlZCB2ZXJzaW9uIG9mIGFycmF5XHJcbiAgICAndGFiJzogJ3NlY3Rpb24nLCAvLyBBIHRhYiBncm91cCwgc2ltaWxhciB0byBhIGZpZWxkc2V0IG9yIHNlY3Rpb24gPGZpZWxkc2V0PlxyXG4gICAgJ3RhYnMnOiBUYWJzQ29tcG9uZW50LCAvLyBBIHRhYmJlZCBzZXQgb2YgcGFuZWxzIHdpdGggZGlmZmVyZW50IGNvbnRyb2xzXHJcbiAgICAnbWVzc2FnZSc6IE1lc3NhZ2VDb21wb25lbnQsIC8vIEluc2VydCBhcmJpdHJhcnkgaHRtbFxyXG4gICAgJ2hlbHAnOiAnbWVzc2FnZScsIC8vIEluc2VydCBhcmJpdHJhcnkgaHRtbFxyXG4gICAgJ21zZyc6ICdtZXNzYWdlJywgLy8gSW5zZXJ0IGFyYml0cmFyeSBodG1sXHJcbiAgICAnaHRtbCc6ICdtZXNzYWdlJywgLy8gSW5zZXJ0IGFyYml0cmFyeSBodG1sXHJcbiAgICAndGVtcGxhdGUnOiBUZW1wbGF0ZUNvbXBvbmVudCwgLy8gSW5zZXJ0IGEgY3VzdG9tIEFuZ3VsYXIgY29tcG9uZW50XHJcblxyXG4gIC8vIFdpZGdldHMgaW5jbHVkZWQgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBKU09OIEZvcm0gQVBJXHJcbiAgICAnYWR2YW5jZWRmaWVsZHNldCc6ICdzZWN0aW9uJywgLy8gQWRkcyAnQWR2YW5jZWQgc2V0dGluZ3MnIHRpdGxlIDxmaWVsZHNldD5cclxuICAgICdhdXRoZmllbGRzZXQnOiAnc2VjdGlvbicsIC8vIEFkZHMgJ0F1dGhlbnRpY2F0aW9uIHNldHRpbmdzJyB0aXRsZSA8ZmllbGRzZXQ+XHJcbiAgICAnb3B0aW9uZmllbGRzZXQnOiAnb25lLW9mJywgLy8gT3B0aW9uIGNvbnRyb2wsIGRpc3BsYXlzIHNlbGVjdGVkIHN1Yi1pdGVtIDxmaWVsZHNldD5cclxuICAgICdzZWxlY3RmaWVsZHNldCc6ICdvbmUtb2YnLCAvLyBTZWxlY3QgY29udHJvbCwgZGlzcGxheXMgc2VsZWN0ZWQgc3ViLWl0ZW0gPGZpZWxkc2V0PlxyXG4gICAgJ2NvbmRpdGlvbmFsJzogJ3NlY3Rpb24nLCAvLyBJZGVudGljYWwgdG8gJ3NlY3Rpb24nIChkZXBlY2lhdGVkKSA8ZGl2PlxyXG4gICAgJ2FjdGlvbnMnOiAnc2VjdGlvbicsIC8vIEhvcml6b250YWwgYnV0dG9uIGxpc3QsIGNhbiBvbmx5IHN1Ym1pdCwgdXNlcyBidXR0b25zIGFzIGl0ZW1zIDxkaXY+XHJcbiAgICAndGFnc2lucHV0JzogJ3NlY3Rpb24nLCAvLyBGb3IgZW50ZXJpbmcgc2hvcnQgdGV4dCB0YWdzIDxkaXY+XHJcbiAgICAvLyBTZWU6IGh0dHA6Ly91bGlvbi5naXRodWIuaW8vanNvbmZvcm0vcGxheWdyb3VuZC8/ZXhhbXBsZT1maWVsZHMtY2hlY2tib3hidXR0b25zXHJcblxyXG4gIC8vIFdpZGdldHMgaW5jbHVkZWQgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBSZWFjdCBKU09OIFNjaGVtYSBGb3JtIEFQSVxyXG4gICAgJ3VwZG93bic6ICdudW1iZXInLFxyXG4gICAgJ2RhdGUtdGltZSc6ICdkYXRldGltZS1sb2NhbCcsXHJcbiAgICAnYWx0LWRhdGV0aW1lJzogJ2RhdGV0aW1lLWxvY2FsJyxcclxuICAgICdhbHQtZGF0ZSc6ICdkYXRlJyxcclxuXHJcbiAgLy8gV2lkZ2V0cyBpbmNsdWRlZCBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIEFuZ3VsYXIgU2NoZW1hIEZvcm0gQVBJXHJcbiAgICAnd2l6YXJkJzogJ3NlY3Rpb24nLCAvLyBUT0RPOiBTZXF1ZW50aWFsIHBhbmVscyB3aXRoIFwiTmV4dFwiIGFuZCBcIlByZXZpb3VzXCIgYnV0dG9uc1xyXG5cclxuICAvLyBXaWRnZXRzIGluY2x1ZGVkIGZvciBjb21wYXRpYmlsaXR5IHdpdGggb3RoZXIgbGlicmFyaWVzXHJcbiAgICAndGV4dGxpbmUnOiAndGV4dCcsXHJcblxyXG4gIC8vIFJlY29tbWVuZGVkIDNyZC1wYXJ0eSBhZGQtb24gd2lkZ2V0cyAoVE9ETzogY3JlYXRlIHdyYXBwZXJzIGZvciB0aGVzZS4uLilcclxuICAgIC8vICduZzItc2VsZWN0JzogU2VsZWN0IGNvbnRyb2wgcmVwbGFjZW1lbnQgLSBodHRwOi8vdmFsb3Itc29mdHdhcmUuY29tL25nMi1zZWxlY3QvXHJcbiAgICAvLyAnZmxhdHBpY2tyJzogRmxhdHBpY2tyIGRhdGUgcGlja2VyIC0gaHR0cHM6Ly9naXRodWIuY29tL2NobWxuL2ZsYXRwaWNrclxyXG4gICAgLy8gJ3Bpa2FkYXknOiBQaWthZGF5IGRhdGUgcGlja2VyIC0gaHR0cHM6Ly9naXRodWIuY29tL2RidXNoZWxsL1Bpa2FkYXlcclxuICAgIC8vICdzcGVjdHJ1bSc6IFNwZWN0cnVtIGNvbG9yIHBpY2tlciAtIGh0dHA6Ly9iZ3JpbnMuZ2l0aHViLmlvL3NwZWN0cnVtXHJcbiAgICAvLyAnYm9vdHN0cmFwLXNsaWRlcic6IEJvb3RzdHJhcCBTbGlkZXIgcmFuZ2UgY29udHJvbCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9zZWl5cmlhL2Jvb3RzdHJhcC1zbGlkZXJcclxuICAgIC8vICdhY2UnOiBBQ0UgY29kZSBlZGl0b3IgLSBodHRwczovL2FjZS5jOS5pb1xyXG4gICAgLy8gJ2NrZWRpdG9yJzogQ0tFZGl0b3IgSFRNTCAvIHJpY2ggdGV4dCBlZGl0b3IgLSBodHRwOi8vY2tlZGl0b3IuY29tXHJcbiAgICAvLyAndGlueW1jZSc6IFRpbnlNQ0UgSFRNTCAvIHJpY2ggdGV4dCBlZGl0b3IgLSBodHRwczovL3d3dy50aW55bWNlLmNvbVxyXG4gICAgLy8gJ2ltYWdlc2VsZWN0JzogQm9vdHN0cmFwIGRyb3AtZG93biBpbWFnZSBzZWxlY3RvciAtIGh0dHA6Ly9zaWx2aW9tb3JldG8uZ2l0aHViLmlvL2Jvb3RzdHJhcC1zZWxlY3RcclxuICAgIC8vICd3eXNpaHRtbDUnOiBIVE1MIGVkaXRvciAtIGh0dHA6Ly9qaG9sbGluZ3dvcnRoLmdpdGh1Yi5pby9ib290c3RyYXAtd3lzaWh0bWw1XHJcbiAgICAvLyAncXVpbGwnOiBRdWlsbCBIVE1MIC8gcmljaCB0ZXh0IGVkaXRvciAoPykgLSBodHRwczovL3F1aWxsanMuY29tXHJcbiAgfTtcclxuICByZWdpc3RlcmVkV2lkZ2V0czogYW55ID0geyB9O1xyXG4gIGZyYW1ld29ya1dpZGdldHM6IGFueSA9IHsgfTtcclxuICBhY3RpdmVXaWRnZXRzOiBhbnkgPSB7IH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5zZXRBY3RpdmVXaWRnZXRzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRBY3RpdmVXaWRnZXRzKCk6IGJvb2xlYW4ge1xyXG4gICAgdGhpcy5hY3RpdmVXaWRnZXRzID0gT2JqZWN0LmFzc2lnbihcclxuICAgICAgeyB9LCB0aGlzLndpZGdldExpYnJhcnksIHRoaXMuZnJhbWV3b3JrV2lkZ2V0cywgdGhpcy5yZWdpc3RlcmVkV2lkZ2V0c1xyXG4gICAgKTtcclxuICAgIGZvciAoY29uc3Qgd2lkZ2V0TmFtZSBvZiBPYmplY3Qua2V5cyh0aGlzLmFjdGl2ZVdpZGdldHMpKSB7XHJcbiAgICAgIGxldCB3aWRnZXQ6IGFueSA9IHRoaXMuYWN0aXZlV2lkZ2V0c1t3aWRnZXROYW1lXTtcclxuICAgICAgLy8gUmVzb2x2ZSBhbGlhc2VzXHJcbiAgICAgIGlmICh0eXBlb2Ygd2lkZ2V0ID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgIGNvbnN0IHVzZWRBbGlhc2VzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgICAgIHdoaWxlICh0eXBlb2Ygd2lkZ2V0ID09PSAnc3RyaW5nJyAmJiAhdXNlZEFsaWFzZXMuaW5jbHVkZXMod2lkZ2V0KSkge1xyXG4gICAgICAgICAgdXNlZEFsaWFzZXMucHVzaCh3aWRnZXQpO1xyXG4gICAgICAgICAgd2lkZ2V0ID0gdGhpcy5hY3RpdmVXaWRnZXRzW3dpZGdldF07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0eXBlb2Ygd2lkZ2V0ICE9PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgdGhpcy5hY3RpdmVXaWRnZXRzW3dpZGdldE5hbWVdID0gd2lkZ2V0O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBzZXREZWZhdWx0V2lkZ2V0KHR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLmhhc1dpZGdldCh0eXBlKSkgeyByZXR1cm4gZmFsc2U7IH1cclxuICAgIHRoaXMuZGVmYXVsdFdpZGdldCA9IHR5cGU7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGhhc1dpZGdldCh0eXBlOiBzdHJpbmcsIHdpZGdldFNldCA9ICdhY3RpdmVXaWRnZXRzJyk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0eXBlIHx8IHR5cGVvZiB0eXBlICE9PSAnc3RyaW5nJykgeyByZXR1cm4gZmFsc2U7IH1cclxuICAgIHJldHVybiBoYXNPd24odGhpc1t3aWRnZXRTZXRdLCB0eXBlKTtcclxuICB9XHJcblxyXG4gIGhhc0RlZmF1bHRXaWRnZXQodHlwZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5oYXNXaWRnZXQodHlwZSwgJ3dpZGdldExpYnJhcnknKTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyV2lkZ2V0KHR5cGU6IHN0cmluZywgd2lkZ2V0OiBhbnkpOiBib29sZWFuIHtcclxuICAgIGlmICghdHlwZSB8fCAhd2lkZ2V0IHx8IHR5cGVvZiB0eXBlICE9PSAnc3RyaW5nJykgeyByZXR1cm4gZmFsc2U7IH1cclxuICAgIHRoaXMucmVnaXN0ZXJlZFdpZGdldHNbdHlwZV0gPSB3aWRnZXQ7XHJcbiAgICByZXR1cm4gdGhpcy5zZXRBY3RpdmVXaWRnZXRzKCk7XHJcbiAgfVxyXG5cclxuICB1blJlZ2lzdGVyV2lkZ2V0KHR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCFoYXNPd24odGhpcy5yZWdpc3RlcmVkV2lkZ2V0cywgdHlwZSkpIHsgcmV0dXJuIGZhbHNlOyB9XHJcbiAgICBkZWxldGUgdGhpcy5yZWdpc3RlcmVkV2lkZ2V0c1t0eXBlXTtcclxuICAgIHJldHVybiB0aGlzLnNldEFjdGl2ZVdpZGdldHMoKTtcclxuICB9XHJcblxyXG4gIHVuUmVnaXN0ZXJBbGxXaWRnZXRzKHVuUmVnaXN0ZXJGcmFtZXdvcmtXaWRnZXRzID0gdHJ1ZSk6IGJvb2xlYW4ge1xyXG4gICAgdGhpcy5yZWdpc3RlcmVkV2lkZ2V0cyA9IHsgfTtcclxuICAgIGlmICh1blJlZ2lzdGVyRnJhbWV3b3JrV2lkZ2V0cykgeyB0aGlzLmZyYW1ld29ya1dpZGdldHMgPSB7IH07IH1cclxuICAgIHJldHVybiB0aGlzLnNldEFjdGl2ZVdpZGdldHMoKTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyRnJhbWV3b3JrV2lkZ2V0cyh3aWRnZXRzOiBhbnkpOiBib29sZWFuIHtcclxuICAgIGlmICh3aWRnZXRzID09PSBudWxsIHx8IHR5cGVvZiB3aWRnZXRzICE9PSAnb2JqZWN0JykgeyB3aWRnZXRzID0geyB9OyB9XHJcbiAgICB0aGlzLmZyYW1ld29ya1dpZGdldHMgPSB3aWRnZXRzO1xyXG4gICAgcmV0dXJuIHRoaXMuc2V0QWN0aXZlV2lkZ2V0cygpO1xyXG4gIH1cclxuXHJcbiAgdW5SZWdpc3RlckZyYW1ld29ya1dpZGdldHMoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoT2JqZWN0LmtleXModGhpcy5mcmFtZXdvcmtXaWRnZXRzKS5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5mcmFtZXdvcmtXaWRnZXRzID0geyB9O1xyXG4gICAgICByZXR1cm4gdGhpcy5zZXRBY3RpdmVXaWRnZXRzKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBnZXRXaWRnZXQodHlwZT86IHN0cmluZywgd2lkZ2V0U2V0ID0gJ2FjdGl2ZVdpZGdldHMnKTogYW55IHtcclxuICAgIGlmICh0aGlzLmhhc1dpZGdldCh0eXBlLCB3aWRnZXRTZXQpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzW3dpZGdldFNldF1bdHlwZV07XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuaGFzV2lkZ2V0KHRoaXMuZGVmYXVsdFdpZGdldCwgd2lkZ2V0U2V0KSkge1xyXG4gICAgICByZXR1cm4gdGhpc1t3aWRnZXRTZXRdW3RoaXMuZGVmYXVsdFdpZGdldF07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEFsbFdpZGdldHMoKTogYW55IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHdpZGdldExpYnJhcnk6IHRoaXMud2lkZ2V0TGlicmFyeSxcclxuICAgICAgcmVnaXN0ZXJlZFdpZGdldHM6IHRoaXMucmVnaXN0ZXJlZFdpZGdldHMsXHJcbiAgICAgIGZyYW1ld29ya1dpZGdldHM6IHRoaXMuZnJhbWV3b3JrV2lkZ2V0cyxcclxuICAgICAgYWN0aXZlV2lkZ2V0czogdGhpcy5hY3RpdmVXaWRnZXRzLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public_api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZm9ybXdvcmtzLWNvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1mb3Jtd29ya3MtY29yZS9zcmMvbmctZm9ybXdvcmtzLWNvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of json-schema-form
|
|
3
|
+
*/
|
|
4
|
+
export { JsonSchemaFormModule } from './lib/json-schema-form.module';
|
|
5
|
+
export { JsonSchemaFormService } from './lib/json-schema-form.service';
|
|
6
|
+
export { JsonSchemaFormComponent } from './lib/json-schema-form.component';
|
|
7
|
+
export { Framework } from './lib/framework-library/framework';
|
|
8
|
+
export { FrameworkLibraryService } from './lib/framework-library/framework-library.service';
|
|
9
|
+
export { deValidationMessages, enValidationMessages, esValidationMessages, frValidationMessages, itValidationMessages, ptValidationMessages, zhValidationMessages } from './lib/locale';
|
|
10
|
+
export * from './lib/widget-library';
|
|
11
|
+
export * from './lib/widget-library/widget-library.module';
|
|
12
|
+
export * from './lib/shared';
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWZvcm13b3Jrcy1jb3JlL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUErQixxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM1RixPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLG9CQUFvQixFQUNwQixvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLG9CQUFvQixFQUNwQixvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3JCLE1BQU0sY0FBYyxDQUFDO0FBQ3hCLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBqc29uLXNjaGVtYS1mb3JtXHJcbiAqL1xyXG5cclxuZXhwb3J0IHsgSnNvblNjaGVtYUZvcm1Nb2R1bGUgfSBmcm9tICcuL2xpYi9qc29uLXNjaGVtYS1mb3JtLm1vZHVsZSc7XHJcbmV4cG9ydCB7IFRpdGxlTWFwSXRlbSwgRXJyb3JNZXNzYWdlcywgSnNvblNjaGVtYUZvcm1TZXJ2aWNlIH0gZnJvbSAnLi9saWIvanNvbi1zY2hlbWEtZm9ybS5zZXJ2aWNlJztcclxuZXhwb3J0IHsgSnNvblNjaGVtYUZvcm1Db21wb25lbnQgfSBmcm9tICcuL2xpYi9qc29uLXNjaGVtYS1mb3JtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IEZyYW1ld29yayB9IGZyb20gJy4vbGliL2ZyYW1ld29yay1saWJyYXJ5L2ZyYW1ld29yayc7XHJcbmV4cG9ydCB7IEZyYW1ld29ya0xpYnJhcnlTZXJ2aWNlIH0gZnJvbSAnLi9saWIvZnJhbWV3b3JrLWxpYnJhcnkvZnJhbWV3b3JrLWxpYnJhcnkuc2VydmljZSc7XHJcbmV4cG9ydCB7XHJcbiAgICBkZVZhbGlkYXRpb25NZXNzYWdlcyxcclxuICAgIGVuVmFsaWRhdGlvbk1lc3NhZ2VzLFxyXG4gICAgZXNWYWxpZGF0aW9uTWVzc2FnZXMsXHJcbiAgICBmclZhbGlkYXRpb25NZXNzYWdlcyxcclxuICAgIGl0VmFsaWRhdGlvbk1lc3NhZ2VzLFxyXG4gICAgcHRWYWxpZGF0aW9uTWVzc2FnZXMsXHJcbiAgICB6aFZhbGlkYXRpb25NZXNzYWdlc1xyXG4gIH0gZnJvbSAnLi9saWIvbG9jYWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvd2lkZ2V0LWxpYnJhcnknO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi93aWRnZXQtbGlicmFyeS93aWRnZXQtbGlicmFyeS5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQnO1xyXG4iXX0=
|