@ruc-lib/metaform 3.1.0 → 3.2.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.
Files changed (31) hide show
  1. package/README.md +163 -1
  2. package/components/ruc-meta-checkbox-group/ruc-meta-checkbox-group.component.d.ts +18 -0
  3. package/components/ruc-meta-inputs/ruc-meta-inputs.component.d.ts +23 -0
  4. package/components/ruc-meta-radio-group/ruc-meta-radio-group.component.d.ts +20 -0
  5. package/components/ruc-meta-select/ruc-meta-select.component.d.ts +17 -0
  6. package/components/ruc-text-area/ruc-text-area.component.d.ts +19 -0
  7. package/esm2020/components/ruc-meta-checkbox-group/ruc-meta-checkbox-group.component.mjs +42 -0
  8. package/esm2020/components/ruc-meta-inputs/ruc-meta-inputs.component.mjs +54 -0
  9. package/esm2020/components/ruc-meta-radio-group/ruc-meta-radio-group.component.mjs +38 -0
  10. package/esm2020/components/ruc-meta-select/ruc-meta-select.component.mjs +56 -0
  11. package/esm2020/components/ruc-text-area/ruc-text-area.component.mjs +39 -0
  12. package/esm2020/index.mjs +3 -0
  13. package/esm2020/interfaces/metaFormsDefault.mjs +2 -0
  14. package/esm2020/lib/ruclib-metaform/ruclib-metaform.component.mjs +105 -0
  15. package/esm2020/lib/ruclib-metaform.module.mjs +100 -0
  16. package/esm2020/ruc-lib-metaform.mjs +5 -0
  17. package/esm2020/services/ruc-meta-form-validation.service.mjs +29 -0
  18. package/esm2020/services/ruc-meta-form.service.mjs +23 -0
  19. package/fesm2015/ruc-lib-metaform.mjs +432 -0
  20. package/fesm2015/ruc-lib-metaform.mjs.map +1 -0
  21. package/fesm2020/ruc-lib-metaform.mjs +432 -0
  22. package/fesm2020/ruc-lib-metaform.mjs.map +1 -0
  23. package/index.d.ts +2 -125
  24. package/interfaces/metaFormsDefault.d.ts +73 -0
  25. package/lib/ruclib-metaform/ruclib-metaform.component.d.ts +45 -0
  26. package/lib/ruclib-metaform.module.d.ts +27 -0
  27. package/package.json +36 -9
  28. package/services/ruc-meta-form-validation.service.d.ts +12 -0
  29. package/services/ruc-meta-form.service.d.ts +14 -0
  30. package/fesm2022/ruc-lib-metaform.mjs +0 -450
  31. package/fesm2022/ruc-lib-metaform.mjs.map +0 -1
package/README.md CHANGED
@@ -1 +1,163 @@
1
- utf8
1
+ # ruclib-metaform
2
+
3
+ The main aim of meta forms is to make forms based on JSON along with validation support, dependent fields, custom theming etc.
4
+
5
+ ## RUC Library Installation Guide
6
+
7
+ Users can easily install the RUC (Ruxptest Library) from npm. Additionally, they can also choose to install individual components based on their requirements.
8
+ Install RUC Library.
9
+
10
+ To install the entire RUC library:
11
+
12
+ `npm install @uxpractice/ruc-lib`
13
+
14
+ ## Install Individual Components
15
+
16
+ If users only need the metaform component, they can install it separately:
17
+
18
+ `npm install @ruc-lib/metaform`
19
+
20
+
21
+ # Version Compatibility
22
+
23
+ Please ensure you install the correct version of `@ruc-lib/metaform` based on your Angular version.
24
+
25
+ | Angular Version | Compatible `@ruc-lib/metaform` Version |
26
+ |--------------------|--------------------------------------------|
27
+ | 15.x.x | `npm install @ruc-lib/metaform@^3.2.0` |
28
+ | 16.x.x | `npm install @ruc-lib/metaform@^3.2.0` |
29
+
30
+
31
+ ## Usage
32
+
33
+ To use the metaform component in your project, follow the integration guidelines provided in the documentation. Customize the metaform as per your requirements by adjusting the configuration options mentioned below.
34
+
35
+ ## Import from RUC Library
36
+
37
+ If you want to use metaform from RUC library then import into `app.module.ts` like -
38
+
39
+ `import "@uxpractice/ruc-lib/metaform"`.
40
+
41
+ If you installed metaform as a individual component then import like -
42
+
43
+ `import "@ruc-lib/metaform"`
44
+
45
+ Then add `RuclibMetaformModule` into `import` array.
46
+
47
+ Then use the metaform selector in your HTML file.
48
+
49
+ ```
50
+ <uxp-ruclib-metaform [rucInputData]="formData" [customTheme]="customTheme"
51
+ (rucEvent)="passEvent($event)"></uxp-ruclib-metaform>
52
+ ```
53
+
54
+ ## Input and Output
55
+
56
+ Inputs:
57
+ • rucInputData: Data to be passed to the metaform.
58
+ • customTheme: Custom styling/theme for the metaform.
59
+
60
+ Outputs:
61
+ • rucEvent: Event emitted from the metaform.
62
+
63
+ ## rucInputData configurations options-
64
+
65
+ ```
66
+ {
67
+ formType?: 'simple' | 'stepper' // less priority
68
+ inputType: 'text' | 'password' | 'button' | 'checkbox' | 'email' | 'color' | 'date' | 'file' | 'hidden' | 'image' | 'radio' | 'number' | 'range' | 'reset' | 'search' | 'submit' | 'time' | 'tel' | 'url' | 'week' | 'month' | 'number' | 'custom' | 'select' | 'rucMultiFileUpload' | 'rucMultiSelect',
69
+ fieldType: string,
70
+ id?: string,
71
+ errorMsg? : boolean,
72
+ name?: string,
73
+ label?: string,
74
+ value?: any,
75
+ className?: string, // to be check value?: string, //Specifies the default value for an input field src?: string,
76
+ alt?: string,
77
+ appearance?: string,
78
+ min?: string, //Specifies the minimum value for an input field
79
+ max?: string, //Specifies the maximum value for an input field
80
+ width?: string, // like for image
81
+ height?: string, // like for image
82
+ checked?: boolean, //Specifies that an input field should be pre-selected when the page loads (for type="checkbox" or type="radio")
83
+ disabled?: boolean, //Specifies that an input field should be disabled
84
+ maxlength?: string, //Specifies the maximum number of character for an input field
85
+ readonly?: boolean, //Specifies that an input field is read only (cannot be changed)
86
+ required?: boolean, //Specifies that an input field is required (must be filled out)
87
+ size?: string, //Specifies the width (in characters) of an input field
88
+ step?: string, //Specifies the legal number intervals for an input field
89
+ sameRow? : boolean,
90
+ sameRowColumnWidth? : string,
91
+ tooltip? : string,
92
+ tooltipPosition? : string, //'after', 'before', 'above', 'below', 'left', 'right'
93
+ pattern? : any, // The input pattern attribute specifies a regular expression that the input field's value is checked against, when the form is submitted. The pattern attribute works with the following input types: text, date, search, url, tel, email, and password.
94
+ placeholder?: any,
95
+ autofocus?: any, //The input autofocus attribute specifies that an input field should automatically get focus when the page loads.
96
+ autocomplete?: any,
97
+ customComponentName?: 'multifileupload' | 'multiselect' | 'none',
98
+ rucMultiselectInput? : {
99
+ rucInputData? : any,
100
+ dataSource? : any
101
+ }, // multiselect interface
102
+ rucMultiFileUpload? : {rucInputData? : any}
103
+ hasDependentFields?: boolean,
104
+ dependentFieldParentId?: any,
105
+ dependentFields?: MetaFormConfig[];
106
+ selectedParentId?: any;
107
+ toolTipDescription?: string,
108
+ customErrorMessage?: string,
109
+ showErrorOnPopUp?: boolean, //need to be discuss more. as a enhancement
110
+ groupOptions?: groupOptions[] = [{
111
+ id: string,
112
+ name: string,
113
+ value?: string, // compulsary if its select option part selected?: boolean
114
+ disable? : boolean
115
+ }],
116
+ stepperForm?: boolean;
117
+ stepper?: Stepper[] = [{
118
+ stepControl?: string;
119
+ stepperlabel?: string;
120
+ stepperFormData?: MetaFormConfig[];
121
+ }],
122
+ rucMultiFileUploadInput?:{
123
+ rucInputData? : any,
124
+ }
125
+ }
126
+
127
+ export interface groupOptions{
128
+ id: string,
129
+ name: string,
130
+ value?: string,
131
+ disable? : boolean
132
+ }
133
+ export interface Stepper{
134
+ stepControl?: string;
135
+ stepperlabel?: string;
136
+ stepperFormData?: MetaFormConfig[];
137
+ }
138
+ ```
139
+
140
+ > ⚠️ **IMPORTANT: Custom Theme Usage in Angular Material**
141
+
142
+ When implementing **custom themes**, such as:
143
+
144
+ ```scss
145
+ .custom-theme-1 {
146
+ @include angular-material-theme($custom-theme);
147
+ }
148
+
149
+ // You must also include the typography mixin to ensure text styles are applied correctly as shown below:
150
+ .custom-theme-1 {
151
+ @include angular-material-theme($custom-theme);
152
+ @include mat.typography-level($theme-custom-typography-name, body-1);
153
+ }
154
+ ```
155
+
156
+
157
+ ## Contribution
158
+
159
+ Contributions are welcome! Feel free to open issues or pull requests for any enhancements or fixes.
160
+
161
+ ## Acknowledgements
162
+
163
+ Thank you for choosing the Metaform Component Library. If you have any feedback or suggestions, please let us know!
@@ -0,0 +1,18 @@
1
+ import { OnInit, EventEmitter } from '@angular/core';
2
+ import { RucMetaFormValidationService } from '../../services/ruc-meta-form-validation.service';
3
+ import * as i0 from "@angular/core";
4
+ export declare class RucMetaCheckboxGroupComponent implements OnInit {
5
+ validationService: RucMetaFormValidationService;
6
+ rucInputData: any;
7
+ transferUserInput: EventEmitter<any>;
8
+ errorMessage: string | undefined;
9
+ constructor(validationService: RucMetaFormValidationService);
10
+ ngOnInit(): void;
11
+ /**
12
+ *
13
+ * @param e
14
+ */
15
+ modelChangeFn(e: any): void;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<RucMetaCheckboxGroupComponent, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<RucMetaCheckboxGroupComponent, "ruc-meta-checkbox-group", never, { "rucInputData": "rucInputData"; }, { "transferUserInput": "transferUserInput"; }, never, never, false, never>;
18
+ }
@@ -0,0 +1,23 @@
1
+ import { OnInit, EventEmitter } from '@angular/core';
2
+ import { RucMetaFormValidationService } from '../../services/ruc-meta-form-validation.service';
3
+ import * as i0 from "@angular/core";
4
+ export declare class RucMetaInputsComponent implements OnInit {
5
+ validationService: RucMetaFormValidationService;
6
+ rucInputData: any;
7
+ selectedParentId?: any;
8
+ transferUserInput: EventEmitter<any>;
9
+ customTheme: string | undefined;
10
+ errorMessage: string | undefined;
11
+ options: string[];
12
+ filteredOptions: any;
13
+ constructor(validationService: RucMetaFormValidationService);
14
+ ngOnInit(): void;
15
+ /**
16
+ *
17
+ * @param e
18
+ */
19
+ modelChangeFn(e: any): void;
20
+ private _filter;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<RucMetaInputsComponent, never>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<RucMetaInputsComponent, "ruc-meta-inputs", never, { "rucInputData": "rucInputData"; "selectedParentId": "selectedParentId"; "customTheme": "customTheme"; }, { "transferUserInput": "transferUserInput"; }, never, never, false, never>;
23
+ }
@@ -0,0 +1,20 @@
1
+ import { OnInit, EventEmitter } from '@angular/core';
2
+ import { RucMetaFormValidationService } from '../../services/ruc-meta-form-validation.service';
3
+ import * as i0 from "@angular/core";
4
+ export declare class RucMetaRadioGroupComponent implements OnInit {
5
+ validationService: RucMetaFormValidationService;
6
+ rucInputData: any;
7
+ customTheme: string | undefined;
8
+ transferUserInput: EventEmitter<any>;
9
+ errorMessage: string | undefined;
10
+ radioValue: string | undefined;
11
+ constructor(validationService: RucMetaFormValidationService);
12
+ ngOnInit(): void;
13
+ /**
14
+ *
15
+ * @param e
16
+ */
17
+ modelChangeFn(e: any): void;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<RucMetaRadioGroupComponent, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<RucMetaRadioGroupComponent, "ruc-meta-radio-group", never, { "rucInputData": "rucInputData"; "customTheme": "customTheme"; }, { "transferUserInput": "transferUserInput"; }, never, never, false, never>;
20
+ }
@@ -0,0 +1,17 @@
1
+ import { OnInit, EventEmitter } from '@angular/core';
2
+ import { RucMetaFormService } from "../../services/ruc-meta-form.service";
3
+ import { RucMetaFormValidationService } from '../../services/ruc-meta-form-validation.service';
4
+ import * as i0 from "@angular/core";
5
+ export declare class RucMetaSelectComponent implements OnInit {
6
+ service: RucMetaFormService;
7
+ validationService: RucMetaFormValidationService;
8
+ rucInputData: any;
9
+ errorMessage: string | undefined;
10
+ transferUserInput: EventEmitter<any>;
11
+ constructor(service: RucMetaFormService, validationService: RucMetaFormValidationService);
12
+ ngOnInit(): void;
13
+ modelChangeFn(e: any): void;
14
+ removDependentFieldParentIdFromOther(child: any): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<RucMetaSelectComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<RucMetaSelectComponent, "ruc-meta-select", never, { "rucInputData": "rucInputData"; }, { "transferUserInput": "transferUserInput"; }, never, never, false, never>;
17
+ }
@@ -0,0 +1,19 @@
1
+ import { OnInit, EventEmitter } from '@angular/core';
2
+ import { RucMetaFormValidationService } from '../../services/ruc-meta-form-validation.service';
3
+ import * as i0 from "@angular/core";
4
+ export declare class RucTextAreaComponent implements OnInit {
5
+ validationService: RucMetaFormValidationService;
6
+ rucInputData: any;
7
+ transferUserInput: EventEmitter<any>;
8
+ customTheme: string | undefined;
9
+ errorMessage: string | undefined;
10
+ constructor(validationService: RucMetaFormValidationService);
11
+ ngOnInit(): void;
12
+ /**
13
+ *
14
+ * @param e
15
+ */
16
+ modelChangeFn(e: any): void;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<RucTextAreaComponent, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<RucTextAreaComponent, "ruc-text-area", never, { "rucInputData": "rucInputData"; "customTheme": "customTheme"; }, { "transferUserInput": "transferUserInput"; }, never, never, false, never>;
19
+ }
@@ -0,0 +1,42 @@
1
+ import { Component, Input, EventEmitter, Output } from '@angular/core';
2
+ import { RucMetaFormValidationService } from '../../services/ruc-meta-form-validation.service';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../services/ruc-meta-form-validation.service";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@angular/forms";
7
+ import * as i4 from "@angular/material/form-field";
8
+ import * as i5 from "@angular/material/checkbox";
9
+ export class RucMetaCheckboxGroupComponent {
10
+ constructor(validationService) {
11
+ this.validationService = validationService;
12
+ this.transferUserInput = new EventEmitter();
13
+ }
14
+ ngOnInit() {
15
+ this.errorMessage = this.validationService.defaultErrorMessage;
16
+ }
17
+ /**
18
+ *
19
+ * @param e
20
+ */
21
+ modelChangeFn(e) {
22
+ const checkboxValues = [];
23
+ this.rucInputData.groupOptions.forEach((x) => {
24
+ if (x.value) {
25
+ checkboxValues.push(x.name);
26
+ }
27
+ });
28
+ this.rucInputData.value = checkboxValues;
29
+ this.transferUserInput.emit(this.rucInputData);
30
+ }
31
+ }
32
+ RucMetaCheckboxGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucMetaCheckboxGroupComponent, deps: [{ token: i1.RucMetaFormValidationService }], target: i0.ɵɵFactoryTarget.Component });
33
+ RucMetaCheckboxGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: RucMetaCheckboxGroupComponent, selector: "ruc-meta-checkbox-group", inputs: { rucInputData: "rucInputData" }, outputs: { transferUserInput: "transferUserInput" }, ngImport: i0, template: "<mat-label class=\"margin-\">{{rucInputData?.label}}</mat-label>\r\n<ul class=\"ruc-checkbox\">\r\n <li *ngFor=\"let item of rucInputData?.groupOptions\">\r\n <mat-checkbox [(ngModel)]=\"item.value\" (ngModelChange)=\"modelChangeFn($event)\">\r\n {{item?.name}}\r\n </mat-checkbox>\r\n </li>\r\n</ul>\r\n<div *ngIf=\"rucInputData?.errorMsg\" class=\"form-error\">\r\n {{rucInputData?.customErrorMessage ? rucInputData?.customErrorMessage : errorMessage}}\r\n</div>", styles: ["ul{list-style-type:none;margin-top:4px}.form-error{color:red}.ruc-checkbox{padding-left:10px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }] });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucMetaCheckboxGroupComponent, decorators: [{
35
+ type: Component,
36
+ args: [{ selector: 'ruc-meta-checkbox-group', template: "<mat-label class=\"margin-\">{{rucInputData?.label}}</mat-label>\r\n<ul class=\"ruc-checkbox\">\r\n <li *ngFor=\"let item of rucInputData?.groupOptions\">\r\n <mat-checkbox [(ngModel)]=\"item.value\" (ngModelChange)=\"modelChangeFn($event)\">\r\n {{item?.name}}\r\n </mat-checkbox>\r\n </li>\r\n</ul>\r\n<div *ngIf=\"rucInputData?.errorMsg\" class=\"form-error\">\r\n {{rucInputData?.customErrorMessage ? rucInputData?.customErrorMessage : errorMessage}}\r\n</div>", styles: ["ul{list-style-type:none;margin-top:4px}.form-error{color:red}.ruc-checkbox{padding-left:10px}\n"] }]
37
+ }], ctorParameters: function () { return [{ type: i1.RucMetaFormValidationService }]; }, propDecorators: { rucInputData: [{
38
+ type: Input
39
+ }], transferUserInput: [{
40
+ type: Output
41
+ }] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVjLW1ldGEtY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcnVjLW1ldGEtY2hlY2tib3gtZ3JvdXAvcnVjLW1ldGEtY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcnVjLW1ldGEtY2hlY2tib3gtZ3JvdXAvcnVjLW1ldGEtY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTyxpREFBaUQsQ0FBQzs7Ozs7OztBQU85RixNQUFNLE9BQU8sNkJBQTZCO0lBS3hDLFlBQW1CLGlCQUE4QztRQUE5QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQTZCO1FBSHZELHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFHZSxDQUFDO0lBRXRFLFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQztJQUNqRSxDQUFDO0lBQ0Q7OztPQUdHO0lBQ0gsYUFBYSxDQUFDLENBQUs7UUFDakIsTUFBTSxjQUFjLEdBQVUsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQU0sRUFBQyxFQUFFO1lBQy9DLElBQUcsQ0FBQyxDQUFDLEtBQUssRUFBQztnQkFDVCxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM3QjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsY0FBYyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2pELENBQUM7OzJIQXZCVSw2QkFBNkI7K0dBQTdCLDZCQUE2Qiw4SkNSMUMsb2ZBVU07NEZERk8sNkJBQTZCO2tCQUx6QyxTQUFTOytCQUNFLHlCQUF5QjttSEFLMUIsWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7UnVjTWV0YUZvcm1WYWxpZGF0aW9uU2VydmljZX0gZnJvbSAgJy4uLy4uL3NlcnZpY2VzL3J1Yy1tZXRhLWZvcm0tdmFsaWRhdGlvbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncnVjLW1ldGEtY2hlY2tib3gtZ3JvdXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ydWMtbWV0YS1jaGVja2JveC1ncm91cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcnVjLW1ldGEtY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSdWNNZXRhQ2hlY2tib3hHcm91cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgcnVjSW5wdXREYXRhIDogYW55O1xyXG4gIEBPdXRwdXQoKSB0cmFuc2ZlclVzZXJJbnB1dCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIGVycm9yTWVzc2FnZTogc3RyaW5nIHwgdW5kZWZpbmVkXHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB2YWxpZGF0aW9uU2VydmljZTpSdWNNZXRhRm9ybVZhbGlkYXRpb25TZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMudmFsaWRhdGlvblNlcnZpY2UuZGVmYXVsdEVycm9yTWVzc2FnZTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIGUgXHJcbiAgICovXHJcbiAgbW9kZWxDaGFuZ2VGbihlOmFueSkge1xyXG4gICAgY29uc3QgY2hlY2tib3hWYWx1ZXM6IGFueVtdID0gW107XHJcbiAgICB0aGlzLnJ1Y0lucHV0RGF0YS5ncm91cE9wdGlvbnMuZm9yRWFjaCgoeDogYW55KT0+e1xyXG4gICAgICBpZih4LnZhbHVlKXtcclxuICAgICAgICBjaGVja2JveFZhbHVlcy5wdXNoKHgubmFtZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5ydWNJbnB1dERhdGEudmFsdWUgPSBjaGVja2JveFZhbHVlcztcclxuICAgIHRoaXMudHJhbnNmZXJVc2VySW5wdXQuZW1pdCh0aGlzLnJ1Y0lucHV0RGF0YSk7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtbGFiZWwgY2xhc3M9XCJtYXJnaW4tXCI+e3tydWNJbnB1dERhdGE/LmxhYmVsfX08L21hdC1sYWJlbD5cclxuPHVsIGNsYXNzPVwicnVjLWNoZWNrYm94XCI+XHJcbiAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcnVjSW5wdXREYXRhPy5ncm91cE9wdGlvbnNcIj5cclxuICAgICAgICA8bWF0LWNoZWNrYm94IFsobmdNb2RlbCldPVwiaXRlbS52YWx1ZVwiIChuZ01vZGVsQ2hhbmdlKT1cIm1vZGVsQ2hhbmdlRm4oJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICB7e2l0ZW0/Lm5hbWV9fVxyXG4gICAgICAgIDwvbWF0LWNoZWNrYm94PlxyXG4gICAgPC9saT5cclxuPC91bD5cclxuPGRpdiAqbmdJZj1cInJ1Y0lucHV0RGF0YT8uZXJyb3JNc2dcIiBjbGFzcz1cImZvcm0tZXJyb3JcIj5cclxuICAgIHt7cnVjSW5wdXREYXRhPy5jdXN0b21FcnJvck1lc3NhZ2UgPyBydWNJbnB1dERhdGE/LmN1c3RvbUVycm9yTWVzc2FnZSA6IGVycm9yTWVzc2FnZX19XHJcbjwvZGl2PiJdfQ==
@@ -0,0 +1,54 @@
1
+ import { Component, Input, EventEmitter, Output } from '@angular/core';
2
+ import { RucMetaFormValidationService } from '../../services/ruc-meta-form-validation.service';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../services/ruc-meta-form-validation.service";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@angular/forms";
7
+ import * as i4 from "@angular/material/form-field";
8
+ import * as i5 from "@angular/material/input";
9
+ import * as i6 from "@angular/material/core";
10
+ import * as i7 from "@angular/material/autocomplete";
11
+ import * as i8 from "@angular/material/tooltip";
12
+ export class RucMetaInputsComponent {
13
+ constructor(validationService) {
14
+ this.validationService = validationService;
15
+ this.transferUserInput = new EventEmitter();
16
+ this.options = [];
17
+ }
18
+ ngOnInit() {
19
+ this.errorMessage = this.validationService.defaultErrorMessage;
20
+ this.rucInputData.value === undefined ? "" : this.rucInputData.value;
21
+ this.options = this.rucInputData.autocomplete;
22
+ }
23
+ /**
24
+ *
25
+ * @param e
26
+ */
27
+ modelChangeFn(e) {
28
+ const validate = this.validationService.alphaNumericValidator(this.rucInputData);
29
+ this.rucInputData.errorMsg = validate;
30
+ if (this.rucInputData.autocomplete) {
31
+ this.filteredOptions = this._filter(this.rucInputData.value);
32
+ }
33
+ this.transferUserInput.emit(this.rucInputData);
34
+ }
35
+ _filter(value) {
36
+ const filterValue = value.toLowerCase();
37
+ return this.options.filter(option => option.toLowerCase().includes(filterValue));
38
+ }
39
+ }
40
+ RucMetaInputsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucMetaInputsComponent, deps: [{ token: i1.RucMetaFormValidationService }], target: i0.ɵɵFactoryTarget.Component });
41
+ RucMetaInputsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: RucMetaInputsComponent, selector: "ruc-meta-inputs", inputs: { rucInputData: "rucInputData", selectedParentId: "selectedParentId", customTheme: "customTheme" }, outputs: { transferUserInput: "transferUserInput" }, ngImport: i0, template: "<mat-form-field class=\"{{customTheme }}\" [ngStyle]=\"{ 'width.%': rucInputData?.width }\" [appearance]=\"rucInputData?.appearance || 'fill'\">\r\n <mat-label>{{rucInputData?.label}}</mat-label>\r\n <input type=\"{{rucInputData?.inputType}}\" color=\"accent\" matInput placeholder=\"{{rucInputData?.placeholder}}\" [(ngModel)]=\"rucInputData.value\" \r\n (ngModelChange)=\"modelChangeFn($event.target)\" required=\"{{rucInputData?.required}}\" size=\"{{rucInputData?.size}}\"\r\n maxlength=\"{{rucInputData?.maxlength}}\" min=\"{{rucInputData?.min}}\" max=\"{{rucInputData?.max}}\" pattern=\"{{rucInputData?.pattern}}\"\r\n step=\"{{rucInputData?.step}}\" autofocus=\"{{rucInputData?.autofocus}}\" width=\"{{rucInputData?.width}}\" height=\"{{rucInputData?.height}}\"\r\n matTooltip=\"{{rucInputData?.tooltip}}\"\r\n [matAutocomplete]=\"auto\" [matAutocompleteDisabled]=\"!rucInputData?.autocomplete\" [readonly]=\"rucInputData?.readonly\" [matTooltipPosition]=\"rucInputData?.tooltipPosition\"\r\n > \r\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\">\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\r\n {{option}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n <div *ngIf=\"rucInputData?.errorMsg\" class=\"form-error\">\r\n {{rucInputData?.customErrorMessage ? rucInputData?.customErrorMessage : errorMessage}}\r\n </div> \r\n", styles: [".example-full-width{width:100%}.example-form{min-width:150px;max-width:500px;width:100%}.form-error{color:red}.margin-right{margin-right:10px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i7.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple", "hideSingleSelectionIndicator"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i7.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucMetaInputsComponent, decorators: [{
43
+ type: Component,
44
+ args: [{ selector: 'ruc-meta-inputs', template: "<mat-form-field class=\"{{customTheme }}\" [ngStyle]=\"{ 'width.%': rucInputData?.width }\" [appearance]=\"rucInputData?.appearance || 'fill'\">\r\n <mat-label>{{rucInputData?.label}}</mat-label>\r\n <input type=\"{{rucInputData?.inputType}}\" color=\"accent\" matInput placeholder=\"{{rucInputData?.placeholder}}\" [(ngModel)]=\"rucInputData.value\" \r\n (ngModelChange)=\"modelChangeFn($event.target)\" required=\"{{rucInputData?.required}}\" size=\"{{rucInputData?.size}}\"\r\n maxlength=\"{{rucInputData?.maxlength}}\" min=\"{{rucInputData?.min}}\" max=\"{{rucInputData?.max}}\" pattern=\"{{rucInputData?.pattern}}\"\r\n step=\"{{rucInputData?.step}}\" autofocus=\"{{rucInputData?.autofocus}}\" width=\"{{rucInputData?.width}}\" height=\"{{rucInputData?.height}}\"\r\n matTooltip=\"{{rucInputData?.tooltip}}\"\r\n [matAutocomplete]=\"auto\" [matAutocompleteDisabled]=\"!rucInputData?.autocomplete\" [readonly]=\"rucInputData?.readonly\" [matTooltipPosition]=\"rucInputData?.tooltipPosition\"\r\n > \r\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\">\r\n <mat-option *ngFor=\"let option of filteredOptions\" [value]=\"option\">\r\n {{option}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n <div *ngIf=\"rucInputData?.errorMsg\" class=\"form-error\">\r\n {{rucInputData?.customErrorMessage ? rucInputData?.customErrorMessage : errorMessage}}\r\n </div> \r\n", styles: [".example-full-width{width:100%}.example-form{min-width:150px;max-width:500px;width:100%}.form-error{color:red}.margin-right{margin-right:10px}\n"] }]
45
+ }], ctorParameters: function () { return [{ type: i1.RucMetaFormValidationService }]; }, propDecorators: { rucInputData: [{
46
+ type: Input
47
+ }], selectedParentId: [{
48
+ type: Input
49
+ }], transferUserInput: [{
50
+ type: Output
51
+ }], customTheme: [{
52
+ type: Input
53
+ }] } });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVjLW1ldGEtaW5wdXRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3J1Yy1tZXRhLWlucHV0cy9ydWMtbWV0YS1pbnB1dHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcnVjLW1ldGEtaW5wdXRzL3J1Yy1tZXRhLWlucHV0cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFPLGlEQUFpRCxDQUFDOzs7Ozs7Ozs7O0FBTzlGLE1BQU0sT0FBTyxzQkFBc0I7SUFRakMsWUFBbUIsaUJBQThDO1FBQTlDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBNkI7UUFMdkQsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUd0RCxZQUFPLEdBQWEsRUFBRSxDQUFDO0lBSXZCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUM7UUFDL0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUM7SUFDaEQsQ0FBQztJQUNEOzs7T0FHRztJQUNILGFBQWEsQ0FBQyxDQUFLO1FBQ2pCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3RDLElBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUM7WUFDaEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDOUQ7UUFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU8sT0FBTyxDQUFDLEtBQWE7UUFDM0IsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDbkYsQ0FBQzs7b0hBakNVLHNCQUFzQjt3R0FBdEIsc0JBQXNCLHdOQ1JuQyxxN0NBa0JBOzRGRFZhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxpQkFBaUI7bUhBS2xCLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNJLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRSxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1J1Y01ldGFGb3JtVmFsaWRhdGlvblNlcnZpY2V9IGZyb20gICcuLi8uLi9zZXJ2aWNlcy9ydWMtbWV0YS1mb3JtLXZhbGlkYXRpb24uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3J1Yy1tZXRhLWlucHV0cycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3J1Yy1tZXRhLWlucHV0cy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcnVjLW1ldGEtaW5wdXRzLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUnVjTWV0YUlucHV0c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgcnVjSW5wdXREYXRhIDogYW55O1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkUGFyZW50SWQ/OmFueTsgXHJcbiAgQE91dHB1dCgpIHRyYW5zZmVyVXNlcklucHV0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQElucHV0KCkgY3VzdG9tVGhlbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBlcnJvck1lc3NhZ2U6IHN0cmluZyB8IHVuZGVmaW5lZFxyXG4gIG9wdGlvbnM6IHN0cmluZ1tdID0gW107XHJcbiAgZmlsdGVyZWRPcHRpb25zOiBhbnk7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHZhbGlkYXRpb25TZXJ2aWNlOlJ1Y01ldGFGb3JtVmFsaWRhdGlvblNlcnZpY2UpIHsgXHJcbiAgICBcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmRlZmF1bHRFcnJvck1lc3NhZ2U7IFxyXG4gICAgdGhpcy5ydWNJbnB1dERhdGEudmFsdWUgPT09IHVuZGVmaW5lZCA/IFwiXCIgOiB0aGlzLnJ1Y0lucHV0RGF0YS52YWx1ZTtcclxuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMucnVjSW5wdXREYXRhLmF1dG9jb21wbGV0ZTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIGUgXHJcbiAgICovXHJcbiAgbW9kZWxDaGFuZ2VGbihlOmFueSkge1xyXG4gICAgY29uc3QgdmFsaWRhdGUgPSB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmFscGhhTnVtZXJpY1ZhbGlkYXRvcih0aGlzLnJ1Y0lucHV0RGF0YSk7XHJcbiAgICB0aGlzLnJ1Y0lucHV0RGF0YS5lcnJvck1zZyA9IHZhbGlkYXRlO1xyXG4gICAgaWYodGhpcy5ydWNJbnB1dERhdGEuYXV0b2NvbXBsZXRlKXtcclxuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLl9maWx0ZXIodGhpcy5ydWNJbnB1dERhdGEudmFsdWUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy50cmFuc2ZlclVzZXJJbnB1dC5lbWl0KHRoaXMucnVjSW5wdXREYXRhKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2ZpbHRlcih2YWx1ZTogc3RyaW5nKTogc3RyaW5nW10ge1xyXG4gICAgY29uc3QgZmlsdGVyVmFsdWUgPSB2YWx1ZS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5maWx0ZXIob3B0aW9uID0+IG9wdGlvbi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGZpbHRlclZhbHVlKSk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJ7e2N1c3RvbVRoZW1lIH19XCIgW25nU3R5bGVdPVwieyAnd2lkdGguJSc6IHJ1Y0lucHV0RGF0YT8ud2lkdGggfVwiIFthcHBlYXJhbmNlXT1cInJ1Y0lucHV0RGF0YT8uYXBwZWFyYW5jZSB8fCAnZmlsbCdcIj5cclxuICAgIDxtYXQtbGFiZWw+e3tydWNJbnB1dERhdGE/LmxhYmVsfX08L21hdC1sYWJlbD5cclxuICAgIDxpbnB1dCB0eXBlPVwie3tydWNJbnB1dERhdGE/LmlucHV0VHlwZX19XCIgY29sb3I9XCJhY2NlbnRcIiBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cInt7cnVjSW5wdXREYXRhPy5wbGFjZWhvbGRlcn19XCIgWyhuZ01vZGVsKV09XCJydWNJbnB1dERhdGEudmFsdWVcIiBcclxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIm1vZGVsQ2hhbmdlRm4oJGV2ZW50LnRhcmdldClcIiByZXF1aXJlZD1cInt7cnVjSW5wdXREYXRhPy5yZXF1aXJlZH19XCIgc2l6ZT1cInt7cnVjSW5wdXREYXRhPy5zaXplfX1cIlxyXG4gICAgbWF4bGVuZ3RoPVwie3tydWNJbnB1dERhdGE/Lm1heGxlbmd0aH19XCIgbWluPVwie3tydWNJbnB1dERhdGE/Lm1pbn19XCIgbWF4PVwie3tydWNJbnB1dERhdGE/Lm1heH19XCIgcGF0dGVybj1cInt7cnVjSW5wdXREYXRhPy5wYXR0ZXJufX1cIlxyXG4gICAgc3RlcD1cInt7cnVjSW5wdXREYXRhPy5zdGVwfX1cIiBhdXRvZm9jdXM9XCJ7e3J1Y0lucHV0RGF0YT8uYXV0b2ZvY3VzfX1cIiB3aWR0aD1cInt7cnVjSW5wdXREYXRhPy53aWR0aH19XCIgaGVpZ2h0PVwie3tydWNJbnB1dERhdGE/LmhlaWdodH19XCJcclxuICAgIG1hdFRvb2x0aXA9XCJ7e3J1Y0lucHV0RGF0YT8udG9vbHRpcH19XCJcclxuICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiIFttYXRBdXRvY29tcGxldGVEaXNhYmxlZF09XCIhcnVjSW5wdXREYXRhPy5hdXRvY29tcGxldGVcIiBbcmVhZG9ubHldPVwicnVjSW5wdXREYXRhPy5yZWFkb25seVwiIFttYXRUb29sdGlwUG9zaXRpb25dPVwicnVjSW5wdXREYXRhPy50b29sdGlwUG9zaXRpb25cIlxyXG4gICAgPiAgICAgXHJcbiAgICA8bWF0LWF1dG9jb21wbGV0ZSBhdXRvQWN0aXZlRmlyc3RPcHRpb24gI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIj5cclxuICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbnNcIiBbdmFsdWVdPVwib3B0aW9uXCI+XHJcbiAgICAgICAge3tvcHRpb259fVxyXG4gICAgICA8L21hdC1vcHRpb24+XHJcbiAgICA8L21hdC1hdXRvY29tcGxldGU+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8ZGl2ICpuZ0lmPVwicnVjSW5wdXREYXRhPy5lcnJvck1zZ1wiIGNsYXNzPVwiZm9ybS1lcnJvclwiPlxyXG4gICAge3tydWNJbnB1dERhdGE/LmN1c3RvbUVycm9yTWVzc2FnZSA/IHJ1Y0lucHV0RGF0YT8uY3VzdG9tRXJyb3JNZXNzYWdlIDogZXJyb3JNZXNzYWdlfX1cclxuICA8L2Rpdj4gICBcclxuIl19
@@ -0,0 +1,38 @@
1
+ import { Component, Input, EventEmitter, Output } from '@angular/core';
2
+ import { RucMetaFormValidationService } from '../../services/ruc-meta-form-validation.service';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../services/ruc-meta-form-validation.service";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@angular/forms";
7
+ import * as i4 from "@angular/material/form-field";
8
+ import * as i5 from "@angular/material/radio";
9
+ export class RucMetaRadioGroupComponent {
10
+ constructor(validationService) {
11
+ this.validationService = validationService;
12
+ this.transferUserInput = new EventEmitter();
13
+ }
14
+ ngOnInit() {
15
+ this.errorMessage = this.validationService.defaultErrorMessage;
16
+ }
17
+ /**
18
+ *
19
+ * @param e
20
+ */
21
+ modelChangeFn(e) {
22
+ this.rucInputData.value = e.value;
23
+ this.transferUserInput.emit(this.rucInputData);
24
+ }
25
+ }
26
+ RucMetaRadioGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucMetaRadioGroupComponent, deps: [{ token: i1.RucMetaFormValidationService }], target: i0.ɵɵFactoryTarget.Component });
27
+ RucMetaRadioGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: RucMetaRadioGroupComponent, selector: "ruc-meta-radio-group", inputs: { rucInputData: "rucInputData", customTheme: "customTheme" }, outputs: { transferUserInput: "transferUserInput" }, ngImport: i0, template: "<mat-label>{{rucInputData?.label}}</mat-label>\r\n<mat-radio-group \r\n aria-labelledby=\"radio-group-label\"\r\n class=\"{{customTheme}} radio-group\" [(ngModel)]=\"radioValue\">\r\n <mat-radio-button class=\"radio-button\" *ngFor=\"let item of rucInputData?.groupOptions\" [value]=\"item.value\"\r\n (change)=\"modelChangeFn($event)\">\r\n {{item?.name}}\r\n </mat-radio-button>\r\n</mat-radio-group>\r\n<div *ngIf=\"rucInputData?.errorMsg\" class=\"form-error\">\r\n {{rucInputData?.customErrorMessage ? rucInputData?.customErrorMessage : errorMessage}}\r\n</div> \r\n", styles: [".form-error{color:red}.radio-group{display:flex;flex-direction:column;margin:15px 0;align-items:flex-start}.radio-button{margin:5px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i5.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }] });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucMetaRadioGroupComponent, decorators: [{
29
+ type: Component,
30
+ args: [{ selector: 'ruc-meta-radio-group', template: "<mat-label>{{rucInputData?.label}}</mat-label>\r\n<mat-radio-group \r\n aria-labelledby=\"radio-group-label\"\r\n class=\"{{customTheme}} radio-group\" [(ngModel)]=\"radioValue\">\r\n <mat-radio-button class=\"radio-button\" *ngFor=\"let item of rucInputData?.groupOptions\" [value]=\"item.value\"\r\n (change)=\"modelChangeFn($event)\">\r\n {{item?.name}}\r\n </mat-radio-button>\r\n</mat-radio-group>\r\n<div *ngIf=\"rucInputData?.errorMsg\" class=\"form-error\">\r\n {{rucInputData?.customErrorMessage ? rucInputData?.customErrorMessage : errorMessage}}\r\n</div> \r\n", styles: [".form-error{color:red}.radio-group{display:flex;flex-direction:column;margin:15px 0;align-items:flex-start}.radio-button{margin:5px}\n"] }]
31
+ }], ctorParameters: function () { return [{ type: i1.RucMetaFormValidationService }]; }, propDecorators: { rucInputData: [{
32
+ type: Input
33
+ }], customTheme: [{
34
+ type: Input
35
+ }], transferUserInput: [{
36
+ type: Output
37
+ }] } });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVjLW1ldGEtcmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcnVjLW1ldGEtcmFkaW8tZ3JvdXAvcnVjLW1ldGEtcmFkaW8tZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcnVjLW1ldGEtcmFkaW8tZ3JvdXAvcnVjLW1ldGEtcmFkaW8tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVMsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTyxpREFBaUQsQ0FBQzs7Ozs7OztBQU85RixNQUFNLE9BQU8sMEJBQTBCO0lBTXJDLFlBQW1CLGlCQUE4QztRQUE5QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQTZCO1FBSHZELHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFHZSxDQUFDO0lBRXRFLFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQztJQUNqRSxDQUFDO0lBQ0Q7OztPQUdHO0lBQ0gsYUFBYSxDQUFDLENBQUs7UUFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNsQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNqRCxDQUFDOzt3SEFsQlUsMEJBQTBCOzRHQUExQiwwQkFBMEIsdUxDUnZDLHVrQkFZQTs0RkRKYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0Usc0JBQXNCO21IQUt2QixZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7UnVjTWV0YUZvcm1WYWxpZGF0aW9uU2VydmljZX0gZnJvbSAgJy4uLy4uL3NlcnZpY2VzL3J1Yy1tZXRhLWZvcm0tdmFsaWRhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWF0UmFkaW9DaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncnVjLW1ldGEtcmFkaW8tZ3JvdXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ydWMtbWV0YS1yYWRpby1ncm91cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcnVjLW1ldGEtcmFkaW8tZ3JvdXAuY29tcG9uZW50LmNzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUnVjTWV0YVJhZGlvR3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHJ1Y0lucHV0RGF0YSA6IGFueTtcclxuICBASW5wdXQoKSBjdXN0b21UaGVtZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIEBPdXRwdXQoKSB0cmFuc2ZlclVzZXJJbnB1dCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIGVycm9yTWVzc2FnZTogc3RyaW5nIHwgdW5kZWZpbmVkXHJcbiAgcmFkaW9WYWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB2YWxpZGF0aW9uU2VydmljZTpSdWNNZXRhRm9ybVZhbGlkYXRpb25TZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMudmFsaWRhdGlvblNlcnZpY2UuZGVmYXVsdEVycm9yTWVzc2FnZTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIGUgXHJcbiAgICovXHJcbiAgbW9kZWxDaGFuZ2VGbihlOmFueSkge1xyXG4gICAgdGhpcy5ydWNJbnB1dERhdGEudmFsdWUgPSBlLnZhbHVlO1xyXG4gICAgdGhpcy50cmFuc2ZlclVzZXJJbnB1dC5lbWl0KHRoaXMucnVjSW5wdXREYXRhKTtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1sYWJlbD57e3J1Y0lucHV0RGF0YT8ubGFiZWx9fTwvbWF0LWxhYmVsPlxyXG48bWF0LXJhZGlvLWdyb3VwIFxyXG4gIGFyaWEtbGFiZWxsZWRieT1cInJhZGlvLWdyb3VwLWxhYmVsXCJcclxuICBjbGFzcz1cInt7Y3VzdG9tVGhlbWV9fSByYWRpby1ncm91cFwiIFsobmdNb2RlbCldPVwicmFkaW9WYWx1ZVwiPlxyXG4gIDxtYXQtcmFkaW8tYnV0dG9uIGNsYXNzPVwicmFkaW8tYnV0dG9uXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcnVjSW5wdXREYXRhPy5ncm91cE9wdGlvbnNcIiBbdmFsdWVdPVwiaXRlbS52YWx1ZVwiXHJcbiAgIChjaGFuZ2UpPVwibW9kZWxDaGFuZ2VGbigkZXZlbnQpXCI+XHJcbiAgICB7e2l0ZW0/Lm5hbWV9fVxyXG4gIDwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuPC9tYXQtcmFkaW8tZ3JvdXA+XHJcbjxkaXYgKm5nSWY9XCJydWNJbnB1dERhdGE/LmVycm9yTXNnXCIgY2xhc3M9XCJmb3JtLWVycm9yXCI+XHJcbiAge3tydWNJbnB1dERhdGE/LmN1c3RvbUVycm9yTWVzc2FnZSA/IHJ1Y0lucHV0RGF0YT8uY3VzdG9tRXJyb3JNZXNzYWdlIDogZXJyb3JNZXNzYWdlfX1cclxuPC9kaXY+IFxyXG4iXX0=
@@ -0,0 +1,56 @@
1
+ import { Component, Input, EventEmitter, Output } from '@angular/core';
2
+ import { RucMetaFormService } from "../../services/ruc-meta-form.service";
3
+ import { RucMetaFormValidationService } from '../../services/ruc-meta-form-validation.service';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../services/ruc-meta-form.service";
6
+ import * as i2 from "../../services/ruc-meta-form-validation.service";
7
+ import * as i3 from "@angular/common";
8
+ import * as i4 from "@angular/forms";
9
+ import * as i5 from "@angular/material/form-field";
10
+ import * as i6 from "@angular/material/select";
11
+ import * as i7 from "@angular/material/core";
12
+ import * as i8 from "@angular/material/tooltip";
13
+ export class RucMetaSelectComponent {
14
+ constructor(service, validationService) {
15
+ this.service = service;
16
+ this.validationService = validationService;
17
+ this.transferUserInput = new EventEmitter();
18
+ }
19
+ ngOnInit() {
20
+ this.errorMessage = this.validationService.defaultErrorMessage;
21
+ }
22
+ modelChangeFn(e) {
23
+ this.rucInputData.groupOptions.forEach((x) => {
24
+ if (x.value == e.value) {
25
+ this.rucInputData.selectedParentId = x.id;
26
+ }
27
+ });
28
+ if (this.rucInputData.dependentFields) {
29
+ this.removDependentFieldParentIdFromOther(this.rucInputData.dependentFields);
30
+ }
31
+ this.service.currentFormElement = this.rucInputData;
32
+ this.transferUserInput.emit(this.rucInputData);
33
+ }
34
+ removDependentFieldParentIdFromOther(child) {
35
+ child.forEach((x) => {
36
+ if (x.selectedParentId) {
37
+ delete (x.selectedParentId);
38
+ x.value = "";
39
+ if (x.dependentFields) {
40
+ this.removDependentFieldParentIdFromOther(x.dependentFields);
41
+ }
42
+ }
43
+ });
44
+ }
45
+ }
46
+ RucMetaSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucMetaSelectComponent, deps: [{ token: i1.RucMetaFormService }, { token: i2.RucMetaFormValidationService }], target: i0.ɵɵFactoryTarget.Component });
47
+ RucMetaSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: RucMetaSelectComponent, selector: "ruc-meta-select", inputs: { rucInputData: "rucInputData" }, outputs: { transferUserInput: "transferUserInput" }, ngImport: i0, template: "<div class=\"select-label\">\r\n <mat-label>{{rucInputData?.label}}</mat-label>\r\n</div>\r\n<mat-form-field [ngStyle]=\"{ 'width.%': rucInputData?.width }\" matTooltip=\"{{rucInputData?.tooltip}}\" [appearance]=\"rucInputData?.appearance || 'fill'\">\r\n <mat-label>Choose an option</mat-label>\r\n <mat-select (selectionChange)=\"modelChangeFn($event)\" [(ngModel)]=\"rucInputData.value\">\r\n <mat-option *ngFor=\"let item of rucInputData?.groupOptions\" [value]=\"item.value\" [disabled]=\"item?.disable\"> {{item.name}}</mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n<div *ngIf=\"rucInputData?.errorMsg\" class=\"form-error\">\r\n {{rucInputData?.customErrorMessage ? rucInputData?.customErrorMessage : errorMessage}}\r\n</div>", styles: [".form-error{color:red}::ng-deep .mat-icon{cursor:pointer}.select-label{margin-bottom:8px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucMetaSelectComponent, decorators: [{
49
+ type: Component,
50
+ args: [{ selector: 'ruc-meta-select', template: "<div class=\"select-label\">\r\n <mat-label>{{rucInputData?.label}}</mat-label>\r\n</div>\r\n<mat-form-field [ngStyle]=\"{ 'width.%': rucInputData?.width }\" matTooltip=\"{{rucInputData?.tooltip}}\" [appearance]=\"rucInputData?.appearance || 'fill'\">\r\n <mat-label>Choose an option</mat-label>\r\n <mat-select (selectionChange)=\"modelChangeFn($event)\" [(ngModel)]=\"rucInputData.value\">\r\n <mat-option *ngFor=\"let item of rucInputData?.groupOptions\" [value]=\"item.value\" [disabled]=\"item?.disable\"> {{item.name}}</mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n<div *ngIf=\"rucInputData?.errorMsg\" class=\"form-error\">\r\n {{rucInputData?.customErrorMessage ? rucInputData?.customErrorMessage : errorMessage}}\r\n</div>", styles: [".form-error{color:red}::ng-deep .mat-icon{cursor:pointer}.select-label{margin-bottom:8px}\n"] }]
51
+ }], ctorParameters: function () { return [{ type: i1.RucMetaFormService }, { type: i2.RucMetaFormValidationService }]; }, propDecorators: { rucInputData: [{
52
+ type: Input
53
+ }], transferUserInput: [{
54
+ type: Output
55
+ }] } });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVjLW1ldGEtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3J1Yy1tZXRhLXNlbGVjdC9ydWMtbWV0YS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcnVjLW1ldGEtc2VsZWN0L3J1Yy1tZXRhLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFBO0FBQ3pFLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFPLGlEQUFpRCxDQUFDOzs7Ozs7Ozs7O0FBTzlGLE1BQU0sT0FBTyxzQkFBc0I7SUFLakMsWUFBbUIsT0FBMkIsRUFBUSxpQkFBOEM7UUFBakYsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFBUSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQTZCO1FBRDFGLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDa0QsQ0FBQztJQUV6RyxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUM7SUFDakUsQ0FBQztJQUVELGFBQWEsQ0FBQyxDQUFLO1FBQ2pCLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQU0sRUFBQyxFQUFFO1lBQy9DLElBQUcsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFDO2dCQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7YUFDM0M7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUM7WUFDbkMsSUFBSSxDQUFDLG9DQUFvQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDOUU7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDcEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELG9DQUFvQyxDQUFDLEtBQVU7UUFDM0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUssRUFBQyxFQUFFO1lBQ3JCLElBQUcsQ0FBQyxDQUFDLGdCQUFnQixFQUFDO2dCQUNwQixPQUFNLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQzNCLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUNiLElBQUcsQ0FBQyxDQUFDLGVBQWUsRUFBQztvQkFDbkIsSUFBSSxDQUFDLG9DQUFvQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQztpQkFDOUQ7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQzs7b0hBbENVLHNCQUFzQjt3R0FBdEIsc0JBQXNCLHNKQ1RuQyw4dUJBV007NEZERk8sc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLGlCQUFpQjtvSkFNbEIsWUFBWTtzQkFBcEIsS0FBSztnQkFFSSxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJ1Y01ldGFGb3JtU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9ydWMtbWV0YS1mb3JtLnNlcnZpY2VcIlxyXG5pbXBvcnQge1J1Y01ldGFGb3JtVmFsaWRhdGlvblNlcnZpY2V9IGZyb20gICcuLi8uLi9zZXJ2aWNlcy9ydWMtbWV0YS1mb3JtLXZhbGlkYXRpb24uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3J1Yy1tZXRhLXNlbGVjdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3J1Yy1tZXRhLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcnVjLW1ldGEtc2VsZWN0LmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUnVjTWV0YVNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgXHJcbiAgQElucHV0KCkgcnVjSW5wdXREYXRhIDogYW55O1xyXG4gIGVycm9yTWVzc2FnZTogc3RyaW5nIHwgdW5kZWZpbmVkXHJcbiAgQE91dHB1dCgpIHRyYW5zZmVyVXNlcklucHV0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHNlcnZpY2U6IFJ1Y01ldGFGb3JtU2VydmljZSxwdWJsaWMgdmFsaWRhdGlvblNlcnZpY2U6UnVjTWV0YUZvcm1WYWxpZGF0aW9uU2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmRlZmF1bHRFcnJvck1lc3NhZ2U7XHJcbiAgfVxyXG5cclxuICBtb2RlbENoYW5nZUZuKGU6YW55KSB7ICAgIFxyXG4gICAgdGhpcy5ydWNJbnB1dERhdGEuZ3JvdXBPcHRpb25zLmZvckVhY2goKHg6IGFueSk9PntcclxuICAgICAgaWYoeC52YWx1ZSA9PSBlLnZhbHVlKXtcclxuICAgICAgICB0aGlzLnJ1Y0lucHV0RGF0YS5zZWxlY3RlZFBhcmVudElkID0geC5pZDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBpZih0aGlzLnJ1Y0lucHV0RGF0YS5kZXBlbmRlbnRGaWVsZHMpe1xyXG4gICAgICB0aGlzLnJlbW92RGVwZW5kZW50RmllbGRQYXJlbnRJZEZyb21PdGhlcih0aGlzLnJ1Y0lucHV0RGF0YS5kZXBlbmRlbnRGaWVsZHMpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXJ2aWNlLmN1cnJlbnRGb3JtRWxlbWVudCA9IHRoaXMucnVjSW5wdXREYXRhO1xyXG4gICAgdGhpcy50cmFuc2ZlclVzZXJJbnB1dC5lbWl0KHRoaXMucnVjSW5wdXREYXRhKTtcclxuICB9XHJcblxyXG4gIHJlbW92RGVwZW5kZW50RmllbGRQYXJlbnRJZEZyb21PdGhlcihjaGlsZDogYW55KXtcclxuICAgICAgY2hpbGQuZm9yRWFjaCgoeDphbnkpPT57XHJcbiAgICAgICAgaWYoeC5zZWxlY3RlZFBhcmVudElkKXtcclxuICAgICAgICAgIGRlbGV0ZSh4LnNlbGVjdGVkUGFyZW50SWQpO1xyXG4gICAgICAgICAgeC52YWx1ZSA9IFwiXCI7XHJcbiAgICAgICAgICBpZih4LmRlcGVuZGVudEZpZWxkcyl7XHJcbiAgICAgICAgICAgIHRoaXMucmVtb3ZEZXBlbmRlbnRGaWVsZFBhcmVudElkRnJvbU90aGVyKHguZGVwZW5kZW50RmllbGRzKTtcclxuICAgICAgICAgIH0gICAgXHJcbiAgICAgICAgfSAgICAgICAgICAgICBcclxuICAgICAgfSlcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInNlbGVjdC1sYWJlbFwiPlxyXG4gIDxtYXQtbGFiZWw+e3tydWNJbnB1dERhdGE/LmxhYmVsfX08L21hdC1sYWJlbD5cclxuPC9kaXY+XHJcbjxtYXQtZm9ybS1maWVsZCBbbmdTdHlsZV09XCJ7ICd3aWR0aC4lJzogcnVjSW5wdXREYXRhPy53aWR0aCB9XCIgbWF0VG9vbHRpcD1cInt7cnVjSW5wdXREYXRhPy50b29sdGlwfX1cIiBbYXBwZWFyYW5jZV09XCJydWNJbnB1dERhdGE/LmFwcGVhcmFuY2UgfHwgJ2ZpbGwnXCI+XHJcbiAgPG1hdC1sYWJlbD5DaG9vc2UgYW4gb3B0aW9uPC9tYXQtbGFiZWw+XHJcbiAgPG1hdC1zZWxlY3QgKHNlbGVjdGlvbkNoYW5nZSk9XCJtb2RlbENoYW5nZUZuKCRldmVudClcIiBbKG5nTW9kZWwpXT1cInJ1Y0lucHV0RGF0YS52YWx1ZVwiPlxyXG4gICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGl0ZW0gb2YgcnVjSW5wdXREYXRhPy5ncm91cE9wdGlvbnNcIiBbdmFsdWVdPVwiaXRlbS52YWx1ZVwiIFtkaXNhYmxlZF09XCJpdGVtPy5kaXNhYmxlXCI+IHt7aXRlbS5uYW1lfX08L21hdC1vcHRpb24+XHJcbiAgPC9tYXQtc2VsZWN0PlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG48ZGl2ICpuZ0lmPVwicnVjSW5wdXREYXRhPy5lcnJvck1zZ1wiIGNsYXNzPVwiZm9ybS1lcnJvclwiPlxyXG4gIHt7cnVjSW5wdXREYXRhPy5jdXN0b21FcnJvck1lc3NhZ2UgPyBydWNJbnB1dERhdGE/LmN1c3RvbUVycm9yTWVzc2FnZSA6IGVycm9yTWVzc2FnZX19XHJcbjwvZGl2PiJdfQ==
@@ -0,0 +1,39 @@
1
+ import { Component, Input, EventEmitter, Output } from '@angular/core';
2
+ import { RucMetaFormValidationService } from '../../services/ruc-meta-form-validation.service';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../services/ruc-meta-form-validation.service";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@angular/forms";
7
+ import * as i4 from "@angular/material/form-field";
8
+ import * as i5 from "@angular/material/input";
9
+ import * as i6 from "@angular/cdk/text-field";
10
+ import * as i7 from "@angular/material/tooltip";
11
+ export class RucTextAreaComponent {
12
+ constructor(validationService) {
13
+ this.validationService = validationService;
14
+ this.transferUserInput = new EventEmitter();
15
+ }
16
+ ngOnInit() {
17
+ this.errorMessage = this.validationService.defaultErrorMessage;
18
+ }
19
+ /**
20
+ *
21
+ * @param e
22
+ */
23
+ modelChangeFn(e) {
24
+ this.transferUserInput.emit(this.rucInputData);
25
+ }
26
+ }
27
+ RucTextAreaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucTextAreaComponent, deps: [{ token: i1.RucMetaFormValidationService }], target: i0.ɵɵFactoryTarget.Component });
28
+ RucTextAreaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: RucTextAreaComponent, selector: "ruc-text-area", inputs: { rucInputData: "rucInputData", customTheme: "customTheme" }, outputs: { transferUserInput: "transferUserInput" }, ngImport: i0, template: "<mat-form-field [ngStyle]=\"{ 'width.%': rucInputData?.width }\" [appearance]=\"rucInputData?.appearance || 'fill'\" class=\"{{customTheme}}\">\r\n <mat-label>{{rucInputData?.label}}</mat-label>\r\n <textarea matInput\r\n placeholder=\"{{rucInputData?.placeholder}}\"\r\n cdkTextareaAutosize\r\n #autosize=\"cdkTextareaAutosize\"\r\n cdkAutosizeMinRows=\"{{rucInputData.min}}\"\r\n cdkAutosizeMaxRows=\"{{rucInputData.max}}\"\r\n [readonly]=\"rucInputData?.readonly\"\r\n [(ngModel)]=\"rucInputData.value\" \r\n matTooltip=\"{{rucInputData?.tooltip}}\"\r\n (ngModelChange)=\"modelChangeFn($event.target)\"></textarea>\r\n </mat-form-field>\r\n <div *ngIf=\"rucInputData?.errorMsg\" class=\"form-error\">\r\n {{rucInputData?.customErrorMessage ? rucInputData?.customErrorMessage : errorMessage}}\r\n </div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i6.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RucTextAreaComponent, decorators: [{
30
+ type: Component,
31
+ args: [{ selector: 'ruc-text-area', template: "<mat-form-field [ngStyle]=\"{ 'width.%': rucInputData?.width }\" [appearance]=\"rucInputData?.appearance || 'fill'\" class=\"{{customTheme}}\">\r\n <mat-label>{{rucInputData?.label}}</mat-label>\r\n <textarea matInput\r\n placeholder=\"{{rucInputData?.placeholder}}\"\r\n cdkTextareaAutosize\r\n #autosize=\"cdkTextareaAutosize\"\r\n cdkAutosizeMinRows=\"{{rucInputData.min}}\"\r\n cdkAutosizeMaxRows=\"{{rucInputData.max}}\"\r\n [readonly]=\"rucInputData?.readonly\"\r\n [(ngModel)]=\"rucInputData.value\" \r\n matTooltip=\"{{rucInputData?.tooltip}}\"\r\n (ngModelChange)=\"modelChangeFn($event.target)\"></textarea>\r\n </mat-form-field>\r\n <div *ngIf=\"rucInputData?.errorMsg\" class=\"form-error\">\r\n {{rucInputData?.customErrorMessage ? rucInputData?.customErrorMessage : errorMessage}}\r\n </div>\r\n" }]
32
+ }], ctorParameters: function () { return [{ type: i1.RucMetaFormValidationService }]; }, propDecorators: { rucInputData: [{
33
+ type: Input
34
+ }], transferUserInput: [{
35
+ type: Output
36
+ }], customTheme: [{
37
+ type: Input
38
+ }] } });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVjLXRleHQtYXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9ydWMtdGV4dC1hcmVhL3J1Yy10ZXh0LWFyZWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcnVjLXRleHQtYXJlYS9ydWMtdGV4dC1hcmVhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU8saURBQWlELENBQUM7Ozs7Ozs7OztBQU85RixNQUFNLE9BQU8sb0JBQW9CO0lBTS9CLFlBQW1CLGlCQUE4QztRQUE5QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQTZCO1FBSnZELHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFNdEQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQztJQUNqRSxDQUFDO0lBQ0Q7OztPQUdHO0lBQ0gsYUFBYSxDQUFDLENBQUs7UUFDakIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDakQsQ0FBQzs7a0hBbkJVLG9CQUFvQjtzR0FBcEIsb0JBQW9CLGdMQ1JqQyw0NkJBZ0JBOzRGRFJhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxlQUFlO21IQUtoQixZQUFZO3NCQUFwQixLQUFLO2dCQUNJLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRSxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1J1Y01ldGFGb3JtVmFsaWRhdGlvblNlcnZpY2V9IGZyb20gICcuLi8uLi9zZXJ2aWNlcy9ydWMtbWV0YS1mb3JtLXZhbGlkYXRpb24uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3J1Yy10ZXh0LWFyZWEnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ydWMtdGV4dC1hcmVhLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9ydWMtdGV4dC1hcmVhLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUnVjVGV4dEFyZWFDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHJ1Y0lucHV0RGF0YSA6IGFueTtcclxuICBAT3V0cHV0KCkgdHJhbnNmZXJVc2VySW5wdXQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBASW5wdXQoKSBjdXN0b21UaGVtZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIGVycm9yTWVzc2FnZTogc3RyaW5nIHwgdW5kZWZpbmVkXHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB2YWxpZGF0aW9uU2VydmljZTpSdWNNZXRhRm9ybVZhbGlkYXRpb25TZXJ2aWNlKSB7IFxyXG4gICAgXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy52YWxpZGF0aW9uU2VydmljZS5kZWZhdWx0RXJyb3JNZXNzYWdlO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gZSBcclxuICAgKi9cclxuICBtb2RlbENoYW5nZUZuKGU6YW55KSB7XHJcbiAgICB0aGlzLnRyYW5zZmVyVXNlcklucHV0LmVtaXQodGhpcy5ydWNJbnB1dERhdGEpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPG1hdC1mb3JtLWZpZWxkIFtuZ1N0eWxlXT1cInsgJ3dpZHRoLiUnOiBydWNJbnB1dERhdGE/LndpZHRoIH1cIiBbYXBwZWFyYW5jZV09XCJydWNJbnB1dERhdGE/LmFwcGVhcmFuY2UgfHwgJ2ZpbGwnXCIgY2xhc3M9XCJ7e2N1c3RvbVRoZW1lfX1cIj5cclxuICAgIDxtYXQtbGFiZWw+e3tydWNJbnB1dERhdGE/LmxhYmVsfX08L21hdC1sYWJlbD5cclxuICAgIDx0ZXh0YXJlYSBtYXRJbnB1dFxyXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3tydWNJbnB1dERhdGE/LnBsYWNlaG9sZGVyfX1cIlxyXG4gICAgICAgICAgICAgIGNka1RleHRhcmVhQXV0b3NpemVcclxuICAgICAgICAgICAgICAjYXV0b3NpemU9XCJjZGtUZXh0YXJlYUF1dG9zaXplXCJcclxuICAgICAgICAgICAgICBjZGtBdXRvc2l6ZU1pblJvd3M9XCJ7e3J1Y0lucHV0RGF0YS5taW59fVwiXHJcbiAgICAgICAgICAgICAgY2RrQXV0b3NpemVNYXhSb3dzPVwie3tydWNJbnB1dERhdGEubWF4fX1cIlxyXG4gICAgICAgICAgICAgIFtyZWFkb25seV09XCJydWNJbnB1dERhdGE/LnJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInJ1Y0lucHV0RGF0YS52YWx1ZVwiIFxyXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJ7e3J1Y0lucHV0RGF0YT8udG9vbHRpcH19XCJcclxuICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJtb2RlbENoYW5nZUZuKCRldmVudC50YXJnZXQpXCI+PC90ZXh0YXJlYT5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDxkaXYgKm5nSWY9XCJydWNJbnB1dERhdGE/LmVycm9yTXNnXCIgY2xhc3M9XCJmb3JtLWVycm9yXCI+XHJcbiAgICB7e3J1Y0lucHV0RGF0YT8uY3VzdG9tRXJyb3JNZXNzYWdlID8gcnVjSW5wdXREYXRhPy5jdXN0b21FcnJvck1lc3NhZ2UgOiBlcnJvck1lc3NhZ2V9fVxyXG4gIDwvZGl2PlxyXG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './lib/ruclib-metaform.module';
2
+ export * from './lib/ruclib-metaform/ruclib-metaform.component';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGlEQUFpRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvcnVjbGliLW1ldGFmb3JtLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3J1Y2xpYi1tZXRhZm9ybS9ydWNsaWItbWV0YWZvcm0uY29tcG9uZW50JzsiXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YUZvcm1zRGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbnRlcmZhY2VzL21ldGFGb3Jtc0RlZmF1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFGb3JtQ29uZmlnIHtcclxuICAgIGZvcm1UeXBlPzogJ3NpbXBsZScgfCAnc3RlcHBlcicgLy8gbGVzcyBwcmlvcml0eSAgICBcclxuICAgIGlucHV0VHlwZTogJ3RleHQnIHwgJ3Bhc3N3b3JkJyB8ICdidXR0b24nIHwgJ2NoZWNrYm94JyB8ICdlbWFpbCcgfCAnY29sb3InIHwgJ2RhdGUnIHwgJ2ZpbGUnIHwgJ2hpZGRlbicgfCAnaW1hZ2UnIHwgJ3JhZGlvJyB8ICdudW1iZXInIHwgJ3JhbmdlJyAgICB8ICdyZXNldCcgfCAnc2VhcmNoJyB8ICdzdWJtaXQnIHwgJ3RpbWUnIHwgJ3RlbCcgfCAndXJsJyB8ICd3ZWVrJyB8ICdtb250aCcgfCAnbnVtYmVyJyB8ICdjdXN0b20nIHwgJ3NlbGVjdCcgfCAncnVjTXVsdGlGaWxlVXBsb2FkJyB8ICdydWNNdWx0aVNlbGVjdCcsXHJcbiAgICBmaWVsZFR5cGU6IHN0cmluZyxcclxuICAgIGlkPzogc3RyaW5nLFxyXG4gICAgZXJyb3JNc2c/IDogYm9vbGVhbixcclxuICAgIG5hbWU/OiBzdHJpbmcsXHJcbiAgICBsYWJlbD86IHN0cmluZyxcclxuICAgIHZhbHVlPzogYW55LFxyXG4gICAgY2xhc3NOYW1lPzogc3RyaW5nLCAvLyB0byBiZSBjaGVjayAgICB2YWx1ZT86IHN0cmluZywgLy9TcGVjaWZpZXMgdGhlIGRlZmF1bHQgdmFsdWUgZm9yIGFuIGlucHV0IGZpZWxkICAgIHNyYz86IHN0cmluZyxcclxuICAgIGFsdD86IHN0cmluZyxcclxuICAgIGFwcGVhcmFuY2U/OiBzdHJpbmcsXHJcbiAgICBtaW4/OiBzdHJpbmcsIC8vU3BlY2lmaWVzIHRoZSBtaW5pbXVtIHZhbHVlIGZvciBhbiBpbnB1dCBmaWVsZCAgICBcclxuICAgIG1heD86IHN0cmluZywgLy9TcGVjaWZpZXMgdGhlIG1heGltdW0gdmFsdWUgZm9yIGFuIGlucHV0IGZpZWxkICAgIFxyXG4gICAgd2lkdGg/OiBzdHJpbmcsIC8vIGxpa2UgZm9yIGltYWdlICAgIFxyXG4gICAgaGVpZ2h0Pzogc3RyaW5nLCAvLyBsaWtlIGZvciBpbWFnZSAgICBcclxuICAgIGNoZWNrZWQ/OiBib29sZWFuLCAvL1NwZWNpZmllcyB0aGF0IGFuIGlucHV0IGZpZWxkIHNob3VsZCBiZSBwcmUtc2VsZWN0ZWQgd2hlbiB0aGUgcGFnZSBsb2FkcyAoZm9yIHR5cGU9XCJjaGVja2JveFwiIG9yIHR5cGU9XCJyYWRpb1wiKSAgICBcclxuICAgIGRpc2FibGVkPzogYm9vbGVhbiwgLy9TcGVjaWZpZXMgdGhhdCBhbiBpbnB1dCBmaWVsZCBzaG91bGQgYmUgZGlzYWJsZWQgICAgXHJcbiAgICBtYXhsZW5ndGg/OiBzdHJpbmcsIC8vU3BlY2lmaWVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBjaGFyYWN0ZXIgZm9yIGFuIGlucHV0IGZpZWxkICAgIFxyXG4gICAgcmVhZG9ubHk/OiBib29sZWFuLCAvL1NwZWNpZmllcyB0aGF0IGFuIGlucHV0IGZpZWxkIGlzIHJlYWQgb25seSAoY2Fubm90IGJlIGNoYW5nZWQpICAgIFxyXG4gICAgcmVxdWlyZWQ/OiBib29sZWFuLCAvL1NwZWNpZmllcyB0aGF0IGFuIGlucHV0IGZpZWxkIGlzIHJlcXVpcmVkIChtdXN0IGJlIGZpbGxlZCBvdXQpICAgIFxyXG4gICAgc2l6ZT86IHN0cmluZywgLy9TcGVjaWZpZXMgdGhlIHdpZHRoIChpbiBjaGFyYWN0ZXJzKSBvZiBhbiBpbnB1dCBmaWVsZCAgICBcclxuICAgIHN0ZXA/OiBzdHJpbmcsIC8vU3BlY2lmaWVzIHRoZSBsZWdhbCBudW1iZXIgaW50ZXJ2YWxzIGZvciBhbiBpbnB1dCBmaWVsZCAgIFxyXG4gICAgc2FtZVJvdz8gOiBib29sZWFuLCBcclxuICAgIHNhbWVSb3dDb2x1bW5XaWR0aD8gOiBzdHJpbmcsIFxyXG4gICAgdG9vbHRpcD8gOiBzdHJpbmcsXHJcbiAgICB0b29sdGlwUG9zaXRpb24/IDogc3RyaW5nLCAvLydhZnRlcicsICdiZWZvcmUnLCAnYWJvdmUnLCAnYmVsb3cnLCAnbGVmdCcsICdyaWdodCdcclxuICAgIHBhdHRlcm4/IDogYW55LCAvLyBUaGUgaW5wdXQgcGF0dGVybiBhdHRyaWJ1dGUgc3BlY2lmaWVzIGEgcmVndWxhciBleHByZXNzaW9uIHRoYXQgdGhlIGlucHV0IGZpZWxkJ3MgdmFsdWUgaXMgY2hlY2tlZCBhZ2FpbnN0LCB3aGVuIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZC4gVGhlIHBhdHRlcm4gYXR0cmlidXRlIHdvcmtzIHdpdGggdGhlIGZvbGxvd2luZyBpbnB1dCB0eXBlczogdGV4dCwgZGF0ZSwgc2VhcmNoLCB1cmwsIHRlbCwgZW1haWwsIGFuZCBwYXNzd29yZC4gICAgXHJcbiAgICBwbGFjZWhvbGRlcj86IGFueSxcclxuICAgIGF1dG9mb2N1cz86IGFueSwgLy9UaGUgaW5wdXQgYXV0b2ZvY3VzIGF0dHJpYnV0ZSBzcGVjaWZpZXMgdGhhdCBhbiBpbnB1dCBmaWVsZCBzaG91bGQgYXV0b21hdGljYWxseSBnZXQgZm9jdXMgd2hlbiB0aGUgcGFnZSBsb2Fkcy4gICBcclxuICAgIGF1dG9jb21wbGV0ZT86IGFueSxcclxuICAgIGN1c3RvbUNvbXBvbmVudE5hbWU/OiAnZGlhbG9nJyB8ICdtdWx0aXNlbGVjdCcgfCAnbm9uZScsXHJcbiAgICBydWNEaWFsb2dJbnB1dD8gOiBhbnksICAgIFxyXG4gICAgcnVjTXVsdGlzZWxlY3RJbnB1dD8gOiB7XHJcbiAgICAgIHJ1Y0lucHV0RGF0YT8gOiBhbnksXHJcbiAgICAgIGRhdGFTb3VyY2U/IDogYW55XHJcbiAgICB9LCAvLyBtdWx0aXNlbGVjdCBpbnRlcmZhY2UgICBcclxuICAgIHJ1Y011bHRpRmlsZVVwbG9hZD8gOiB7cnVjSW5wdXREYXRhPyA6IGFueX1cclxuICAgIGhhc0RlcGVuZGVudEZpZWxkcz86IGJvb2xlYW4sXHJcbiAgICBkZXBlbmRlbnRGaWVsZFBhcmVudElkPzogYW55LFxyXG4gICAgZGVwZW5kZW50RmllbGRzPzogTWV0YUZvcm1Db25maWdbXTtcclxuICAgIHNlbGVjdGVkUGFyZW50SWQ/OiBhbnk7XHJcbiAgICB0b29sVGlwRGVzY3JpcHRpb24/OiBzdHJpbmcsXHJcbiAgICBjdXN0b21FcnJvck1lc3NhZ2U/OiBzdHJpbmcsXHJcbiAgICBzaG93RXJyb3JPblBvcFVwPzogYm9vbGVhbiwgLy9uZWVkIHRvIGJlIGRpc2N1c3MgbW9yZS4gYXMgYSBlbmhhbmNlbWVudCAgICBcclxuICAgIGdyb3VwT3B0aW9ucz86IGdyb3VwT3B0aW9uc1tdIC8vIE9yIGxpa2UgWycnXSxcclxuICAgIHN0ZXBwZXJGb3JtPzogYm9vbGVhbjtcclxuICAgIHN0ZXBwZXI/OiBTdGVwcGVyW10sXHJcbiAgICBydWNNdWx0aUZpbGVVcGxvYWRJbnB1dD86e1xyXG4gICAgICBydWNJbnB1dERhdGE/IDogYW55LFxyXG4gICAgfVxyXG59XHJcbiAgZXhwb3J0IGludGVyZmFjZSBGb3JtQXR0cmlidXRlcyB7XHJcbiAgICBhY3Rpb246IGFueSxcclxuICAgIHRhcmdldD86IGFueSxcclxuICAgIG1ldGhvZD86YW55LFxyXG4gICAgbm92YWxpZGF0ZT86IGJvb2xlYW4sXHJcbiAgICBzaG93Rm9ybVByb2dyZXNzPzogYm9vbGVhbiAvLyBuZWVkIHRvIHNwZW5kIHRpbWUgb24gaXQgIFxyXG59XHJcbiAgZXhwb3J0IGludGVyZmFjZSBncm91cE9wdGlvbnN7XHJcbiAgICBpZDogc3RyaW5nLFxyXG4gICAgbmFtZTogc3RyaW5nLFxyXG4gICAgdmFsdWU/OiBzdHJpbmcsIC8vIGNvbXB1bHNhcnkgaWYgaXRzIHNlbGVjdCBvcHRpb24gcGFydCAgICBcclxuICAgIHNlbGVjdGVkPzogYm9vbGVhbiBcclxuICAgIGRpc2FibGU/IDogYm9vbGVhblxyXG4gfVxyXG4gZXhwb3J0IGludGVyZmFjZSBTdGVwcGVye1xyXG4gIHN0ZXBDb250cm9sPzogc3RyaW5nO1xyXG4gIHN0ZXBwZXJsYWJlbD86IHN0cmluZztcclxuICBzdGVwcGVyRm9ybURhdGE/OiBNZXRhRm9ybUNvbmZpZ1tdOyAgXHJcbiB9Il19