@vgip/meta-ui 1.7.5 → 1.7.7

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 (75) hide show
  1. package/esm2022/lib/fieldAbstract.mjs +1 -1
  2. package/esm2022/lib/fieldBoolean/index.mjs +4 -6
  3. package/esm2022/lib/fieldComposite/index.mjs +5 -9
  4. package/esm2022/lib/fieldDatetime/index.mjs +10 -8
  5. package/esm2022/lib/fieldInput/index.mjs +22 -11
  6. package/esm2022/lib/fieldList/index.mjs +2 -2
  7. package/esm2022/lib/fieldRadio/index.mjs +4 -6
  8. package/esm2022/lib/fieldReference/index.mjs +16 -14
  9. package/esm2022/lib/fieldRichtext/index.mjs +4 -6
  10. package/esm2022/lib/fieldSelect/index.mjs +54 -16
  11. package/esm2022/lib/fieldText/index.mjs +25 -16
  12. package/esm2022/lib/layout/index.mjs +5 -4
  13. package/esm2022/lib/metaField/index.mjs +5 -2
  14. package/esm2022/lib/refDialog/index.mjs +1 -1
  15. package/esm2022/lib/resource/index.mjs +31 -11
  16. package/esm2022/lib/services/metaContext/index.mjs +9 -1
  17. package/esm2022/lib/services/metaReference/index.mjs +8 -3
  18. package/esm2022/lib/services/metaResource/index.mjs +4 -4
  19. package/fesm2022/vgip-meta-ui-fieldAbstract-9955be39.mjs.map +1 -1
  20. package/fesm2022/{vgip-meta-ui-index-24fe289e.mjs → vgip-meta-ui-index-09f92f24.mjs} +48 -24
  21. package/fesm2022/vgip-meta-ui-index-09f92f24.mjs.map +1 -0
  22. package/fesm2022/{vgip-meta-ui-index-9fd8e1b0.mjs → vgip-meta-ui-index-1b9f700a.mjs} +6 -10
  23. package/fesm2022/vgip-meta-ui-index-1b9f700a.mjs.map +1 -0
  24. package/fesm2022/vgip-meta-ui-index-3cd63fdb.mjs +864 -0
  25. package/fesm2022/vgip-meta-ui-index-3cd63fdb.mjs.map +1 -0
  26. package/fesm2022/{vgip-meta-ui-index-ea5c2466.mjs → vgip-meta-ui-index-4e34299c.mjs} +9 -1
  27. package/fesm2022/vgip-meta-ui-index-4e34299c.mjs.map +1 -0
  28. package/fesm2022/vgip-meta-ui-index-5fbb0fc8.mjs +77 -0
  29. package/fesm2022/vgip-meta-ui-index-5fbb0fc8.mjs.map +1 -0
  30. package/fesm2022/{vgip-meta-ui-index-0349968f.mjs → vgip-meta-ui-index-6f2365c3.mjs} +10 -8
  31. package/fesm2022/vgip-meta-ui-index-6f2365c3.mjs.map +1 -0
  32. package/fesm2022/{vgip-meta-ui-index-c39ea0ec.mjs → vgip-meta-ui-index-8b2ba164.mjs} +4 -6
  33. package/fesm2022/vgip-meta-ui-index-8b2ba164.mjs.map +1 -0
  34. package/fesm2022/{vgip-meta-ui-index-bc945c3c.mjs → vgip-meta-ui-index-94c9df13.mjs} +57 -19
  35. package/fesm2022/vgip-meta-ui-index-94c9df13.mjs.map +1 -0
  36. package/fesm2022/{vgip-meta-ui-index-b0a76073.mjs → vgip-meta-ui-index-af0ec42f.mjs} +5 -7
  37. package/fesm2022/vgip-meta-ui-index-af0ec42f.mjs.map +1 -0
  38. package/fesm2022/vgip-meta-ui-index-af8c0f14.mjs +471 -0
  39. package/fesm2022/vgip-meta-ui-index-af8c0f14.mjs.map +1 -0
  40. package/fesm2022/{vgip-meta-ui-index-5871a6f2.mjs → vgip-meta-ui-index-ee4a5a52.mjs} +4 -6
  41. package/fesm2022/vgip-meta-ui-index-ee4a5a52.mjs.map +1 -0
  42. package/fesm2022/{vgip-meta-ui-index-9c99e9b0.mjs → vgip-meta-ui-index-f98de31b.mjs} +3 -3
  43. package/fesm2022/{vgip-meta-ui-index-9c99e9b0.mjs.map → vgip-meta-ui-index-f98de31b.mjs.map} +1 -1
  44. package/fesm2022/{vgip-meta-ui-index-c5756fbe.mjs → vgip-meta-ui-index-fdeb80d6.mjs} +15 -12
  45. package/fesm2022/vgip-meta-ui-index-fdeb80d6.mjs.map +1 -0
  46. package/fesm2022/vgip-meta-ui.mjs +15 -15
  47. package/lib/fieldAbstract.d.ts +1 -0
  48. package/lib/fieldBoolean/index.d.ts +1 -2
  49. package/lib/fieldComposite/index.d.ts +1 -3
  50. package/lib/fieldInput/index.d.ts +2 -0
  51. package/lib/fieldRadio/index.d.ts +1 -2
  52. package/lib/fieldRichtext/index.d.ts +1 -2
  53. package/lib/fieldSelect/index.d.ts +1 -2
  54. package/lib/fieldText/index.d.ts +2 -2
  55. package/lib/layout/index.d.ts +1 -0
  56. package/lib/metaField/index.d.ts +2 -1
  57. package/lib/resource/index.d.ts +6 -1
  58. package/lib/services/metaContext/index.d.ts +2 -0
  59. package/lib/services/metaReference/index.d.ts +1 -1
  60. package/package.json +1 -1
  61. package/fesm2022/vgip-meta-ui-index-0349968f.mjs.map +0 -1
  62. package/fesm2022/vgip-meta-ui-index-24fe289e.mjs.map +0 -1
  63. package/fesm2022/vgip-meta-ui-index-44af92c9.mjs +0 -460
  64. package/fesm2022/vgip-meta-ui-index-44af92c9.mjs.map +0 -1
  65. package/fesm2022/vgip-meta-ui-index-5871a6f2.mjs.map +0 -1
  66. package/fesm2022/vgip-meta-ui-index-9e4137fe.mjs +0 -68
  67. package/fesm2022/vgip-meta-ui-index-9e4137fe.mjs.map +0 -1
  68. package/fesm2022/vgip-meta-ui-index-9fd8e1b0.mjs.map +0 -1
  69. package/fesm2022/vgip-meta-ui-index-a3a43cf7.mjs +0 -862
  70. package/fesm2022/vgip-meta-ui-index-a3a43cf7.mjs.map +0 -1
  71. package/fesm2022/vgip-meta-ui-index-b0a76073.mjs.map +0 -1
  72. package/fesm2022/vgip-meta-ui-index-bc945c3c.mjs.map +0 -1
  73. package/fesm2022/vgip-meta-ui-index-c39ea0ec.mjs.map +0 -1
  74. package/fesm2022/vgip-meta-ui-index-c5756fbe.mjs.map +0 -1
  75. package/fesm2022/vgip-meta-ui-index-ea5c2466.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, Input } from '@angular/core';
2
+ import { Component } from '@angular/core';
3
3
  import * as i2 from '@angular/forms';
4
4
  import { ControlContainer, NgForm } from '@angular/forms';
5
5
  import { F as FieldAbstract } from './vgip-meta-ui-fieldAbstract-9955be39.mjs';
@@ -82,14 +82,12 @@ class FieldRadio extends FieldAbstract {
82
82
  }
83
83
  }
84
84
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: FieldRadio, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
85
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: FieldRadio, selector: "ng-component", inputs: { meta: "meta" }, usesInheritance: true, ngImport: i0, template: "<div class='vgip-meta-field-preview' *ngIf='preview && model'>\n <div class='vgip-meta-field-label' [title]='meta.label || meta.name'>{{meta.label || meta.name}}</div>\n <div class='vgip-meta-field-value __gu'>\n {{ model.label || model }}\n </div>\n</div>\n<div *ngIf='!preview' class=\"Vlt-form__element\" [ngClass]=\"{ 'Vlt-form__element--error': f && f.invalid && ((f | metaModel)._parent.submitted || (f | metaModel ).touched) }\">\n\t<label class=\"Vlt-label\">{{meta.label || meta.name}}<span *ngIf='validations.required' class='Vlt-red'>*</span></label> <!-- eslint-disable-line @angular-eslint/template/label-has-associated-control -->\n\t<input class='model' type='hidden' [required]='validations.required' [(ngModel)]='model' #f='ngModel' [name]='name' />\n\t<fieldset *ngFor='let option of options' class=\"Vlt-radio Vlt-radio--inline\">\n\t\t<label style='cursor: pointer;'>\n\t\t\t<span class=\"Vlt-radio__button\">\n <input class='main' (change)='onOptionChange(option)' type=\"radio\" [checked]='option === model' [value]='option' [name]='name' (focus)='onActivated($event)' (blur)='onBlur($event)'/>\n <span class=\"Vlt-radio__icon\"></span>\n </span>\n\t\t\t<span style='white-space: nowrap;'>{{option.label || option}}</span>\n\t\t</label>\n\t</fieldset>\n\t<small *ngIf='f && f.invalid && ((f | metaModel)._parent.submitted || (f | metaModel ).touched)' class=\"Vlt-form__element__error\">\n\t\t<span *ngIf=\"f.errors.required\">Required.&nbsp;</span>\n\t\t<span *ngIf=\"f.errors.custom\">{{f.errors.custom}}&nbsp;</span>\n\t</small>\n\t<small *ngIf='meta.hint' class=\"Vlt-form__element__hint\">{{meta.hint}}</small>\n</div>\n", styles: [".Vlt-form__element{padding-bottom:4px}.Vlt-form__element__hint,.Vlt-form__element__error{margin-top:4px}.Vlt-radio--inline{margin-bottom:4px}.Vlt-radio .Vlt-radio__icon{border-color:var(--vgip-meta-input-border-color)}.Vlt-radio:hover .Vlt-radio__icon{border-color:var(--vgip-meta-input-active-border-color)}.Vlt-radio input:checked~.Vlt-radio__icon{border-color:var(--vgip-meta-input-active-border-color)}.Vlt-radio input:checked~.Vlt-radio__icon:after{background:var(--vgip-meta-input-active-border-color)}.Vlt-radio input:focus+.Vlt-radio__icon,.Vlt-radio input:active+.Vlt-radio__icon{background:var(--vgip-meta-input-bg-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: MetaModelPipe, name: "metaModel" }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }] }); }
85
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: FieldRadio, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class='vgip-meta-field-preview' *ngIf='preview && model'>\n <div class='vgip-meta-field-label' [title]='meta.label || meta.name'>{{meta.label || meta.name}}</div>\n <div class='vgip-meta-field-value __gu'>\n {{ model.label || model }}\n </div>\n</div>\n<div *ngIf='!preview' class=\"Vlt-form__element\" [ngClass]=\"{ 'Vlt-form__element--error': f && f.invalid && ((f | metaModel)._parent.submitted || (f | metaModel ).touched) }\">\n\t<label class=\"Vlt-label\">{{meta.label || meta.name}}<span *ngIf='validations.required' class='Vlt-red'>*</span></label> <!-- eslint-disable-line @angular-eslint/template/label-has-associated-control -->\n\t<input class='model' type='hidden' [required]='validations.required' [(ngModel)]='model' #f='ngModel' [name]='name' />\n\t<fieldset *ngFor='let option of options' class=\"Vlt-radio Vlt-radio--inline\">\n\t\t<label style='cursor: pointer;'>\n\t\t\t<span class=\"Vlt-radio__button\">\n <input class='main' (change)='onOptionChange(option)' type=\"radio\" [checked]='option === model' [value]='option' [name]='name' (focus)='onActivated($event)' (blur)='onBlur($event)'/>\n <span class=\"Vlt-radio__icon\"></span>\n </span>\n\t\t\t<span style='white-space: nowrap;'>{{option.label || option}}</span>\n\t\t</label>\n\t</fieldset>\n\t<small *ngIf='f && f.invalid && ((f | metaModel)._parent.submitted || (f | metaModel ).touched)' class=\"Vlt-form__element__error\">\n\t\t<span *ngIf=\"f.errors.required\">Required.&nbsp;</span>\n\t\t<span *ngIf=\"f.errors.custom\">{{f.errors.custom}}&nbsp;</span>\n\t</small>\n\t<small *ngIf='meta.hint' class=\"Vlt-form__element__hint\">{{meta.hint}}</small>\n</div>\n", styles: [".Vlt-form__element{padding-bottom:4px}.Vlt-form__element__hint,.Vlt-form__element__error{margin-top:4px}.Vlt-radio--inline{margin-bottom:4px}.Vlt-radio .Vlt-radio__icon{border-color:var(--vgip-meta-input-border-color)}.Vlt-radio:hover .Vlt-radio__icon{border-color:var(--vgip-meta-input-active-border-color)}.Vlt-radio input:checked~.Vlt-radio__icon{border-color:var(--vgip-meta-input-active-border-color)}.Vlt-radio input:checked~.Vlt-radio__icon:after{background:var(--vgip-meta-input-active-border-color)}.Vlt-radio input:focus+.Vlt-radio__icon,.Vlt-radio input:active+.Vlt-radio__icon{background:var(--vgip-meta-input-bg-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: MetaModelPipe, name: "metaModel" }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }] }); }
86
86
  }
87
87
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: FieldRadio, decorators: [{
88
88
  type: Component,
89
89
  args: [{ viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], template: "<div class='vgip-meta-field-preview' *ngIf='preview && model'>\n <div class='vgip-meta-field-label' [title]='meta.label || meta.name'>{{meta.label || meta.name}}</div>\n <div class='vgip-meta-field-value __gu'>\n {{ model.label || model }}\n </div>\n</div>\n<div *ngIf='!preview' class=\"Vlt-form__element\" [ngClass]=\"{ 'Vlt-form__element--error': f && f.invalid && ((f | metaModel)._parent.submitted || (f | metaModel ).touched) }\">\n\t<label class=\"Vlt-label\">{{meta.label || meta.name}}<span *ngIf='validations.required' class='Vlt-red'>*</span></label> <!-- eslint-disable-line @angular-eslint/template/label-has-associated-control -->\n\t<input class='model' type='hidden' [required]='validations.required' [(ngModel)]='model' #f='ngModel' [name]='name' />\n\t<fieldset *ngFor='let option of options' class=\"Vlt-radio Vlt-radio--inline\">\n\t\t<label style='cursor: pointer;'>\n\t\t\t<span class=\"Vlt-radio__button\">\n <input class='main' (change)='onOptionChange(option)' type=\"radio\" [checked]='option === model' [value]='option' [name]='name' (focus)='onActivated($event)' (blur)='onBlur($event)'/>\n <span class=\"Vlt-radio__icon\"></span>\n </span>\n\t\t\t<span style='white-space: nowrap;'>{{option.label || option}}</span>\n\t\t</label>\n\t</fieldset>\n\t<small *ngIf='f && f.invalid && ((f | metaModel)._parent.submitted || (f | metaModel ).touched)' class=\"Vlt-form__element__error\">\n\t\t<span *ngIf=\"f.errors.required\">Required.&nbsp;</span>\n\t\t<span *ngIf=\"f.errors.custom\">{{f.errors.custom}}&nbsp;</span>\n\t</small>\n\t<small *ngIf='meta.hint' class=\"Vlt-form__element__hint\">{{meta.hint}}</small>\n</div>\n", styles: [".Vlt-form__element{padding-bottom:4px}.Vlt-form__element__hint,.Vlt-form__element__error{margin-top:4px}.Vlt-radio--inline{margin-bottom:4px}.Vlt-radio .Vlt-radio__icon{border-color:var(--vgip-meta-input-border-color)}.Vlt-radio:hover .Vlt-radio__icon{border-color:var(--vgip-meta-input-active-border-color)}.Vlt-radio input:checked~.Vlt-radio__icon{border-color:var(--vgip-meta-input-active-border-color)}.Vlt-radio input:checked~.Vlt-radio__icon:after{background:var(--vgip-meta-input-active-border-color)}.Vlt-radio input:focus+.Vlt-radio__icon,.Vlt-radio input:active+.Vlt-radio__icon{background:var(--vgip-meta-input-bg-color)}\n"] }]
90
- }], propDecorators: { meta: [{
91
- type: Input
92
- }] } });
90
+ }] });
93
91
 
94
92
  export { FieldRadio };
95
- //# sourceMappingURL=vgip-meta-ui-index-5871a6f2.mjs.map
93
+ //# sourceMappingURL=vgip-meta-ui-index-ee4a5a52.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vgip-meta-ui-index-ee4a5a52.mjs","sources":["../../../projects/meta-ui/src/lib/fieldRadio/index.ts","../../../projects/meta-ui/src/lib/fieldRadio/view.html"],"sourcesContent":["/*\n * @Author: Alexander.Vangelov@vonage.com\n * @Date: 2019-09-19 17:35:19\n * @Last Modified by: Alexander.Vangelov@vonage.com\n * @Last Modified time: 2020-03-26 12:56:38\n */\n\nimport { Component, OnInit } from '@angular/core';\nimport { ControlContainer, NgForm } from '@angular/forms';\n\nimport { FieldAbstract } from '../fieldAbstract';\n\n@Component({\n templateUrl: './view.html',\n styleUrls: ['./style.scss'],\n viewProviders: [{ provide: ControlContainer, useExisting: NgForm }]\n})\n\nexport class FieldRadio extends FieldAbstract implements OnInit {\n // @Input() meta: any;\n value: any;\n\n get options() {\n return this.meta.options || this.meta.picklist;\n }\n\n ngOnInit() {\n this.validationAttributes = ['required'];\n const origValue = this.parent[this.meta.name];\n Object.defineProperty(this.parent, this.meta.name, {\n set: (value) => {\n if (value) {\n for (const o of this.options) {\n if ((value.id || value) === (o.id || o.value || o.name || o)) {\n this.model = o;\n this.value = this.modelToValue(o, this.meta.valueType);\n break;\n }\n }\n } else {\n delete this.model;\n delete this.value;\n }\n this.meta.$optional = this.isOptional;\n },\n get: () => this.value,\n enumerable: this.sendToServer,\n configurable: true\n });\n\n if (origValue) {\n this.parent[this.meta.name] = origValue;\n }\n\n if (this.default && !this.model) {\n setTimeout(() => {\n this.parent[this.meta.name] = this.meta.valueType === 'object' ? this.default : (this.default.id || this.default);\n setTimeout(() => {\n this.onModelChange(this.model);\n }, 0);\n }, 0);\n }\n }\n\n onOptionChange(model) {\n this.model = model;\n this.onModelChange(this.model);\n }\n\n onActivated(ev) {\n if (!this.keyListenerActive) {\n ev.srcElement.addEventListener('keydown', this.keydown);\n }\n }\n\n onBlur(ev) {\n if (this.keyListenerActive) {\n ev.srcElement.removeEventListener('keydown', this.keydown);\n }\n }\n\n private keydown = (event) => {\n switch (event.key) {\n case 'Backspace': {\n event.preventDefault();\n event.stopPropagation();\n this.clear();\n break;\n }\n }\n };\n}\n","<div class='vgip-meta-field-preview' *ngIf='preview && model'>\n <div class='vgip-meta-field-label' [title]='meta.label || meta.name'>{{meta.label || meta.name}}</div>\n <div class='vgip-meta-field-value __gu'>\n {{ model.label || model }}\n </div>\n</div>\n<div *ngIf='!preview' class=\"Vlt-form__element\" [ngClass]=\"{ 'Vlt-form__element--error': f && f.invalid && ((f | metaModel)._parent.submitted || (f | metaModel ).touched) }\">\n\t<label class=\"Vlt-label\">{{meta.label || meta.name}}<span *ngIf='validations.required' class='Vlt-red'>*</span></label> <!-- eslint-disable-line @angular-eslint/template/label-has-associated-control -->\n\t<input class='model' type='hidden' [required]='validations.required' [(ngModel)]='model' #f='ngModel' [name]='name' />\n\t<fieldset *ngFor='let option of options' class=\"Vlt-radio Vlt-radio--inline\">\n\t\t<label style='cursor: pointer;'>\n\t\t\t<span class=\"Vlt-radio__button\">\n <input class='main' (change)='onOptionChange(option)' type=\"radio\" [checked]='option === model' [value]='option' [name]='name' (focus)='onActivated($event)' (blur)='onBlur($event)'/>\n <span class=\"Vlt-radio__icon\"></span>\n </span>\n\t\t\t<span style='white-space: nowrap;'>{{option.label || option}}</span>\n\t\t</label>\n\t</fieldset>\n\t<small *ngIf='f && f.invalid && ((f | metaModel)._parent.submitted || (f | metaModel ).touched)' class=\"Vlt-form__element__error\">\n\t\t<span *ngIf=\"f.errors.required\">Required.&nbsp;</span>\n\t\t<span *ngIf=\"f.errors.custom\">{{f.errors.custom}}&nbsp;</span>\n\t</small>\n\t<small *ngIf='meta.hint' class=\"Vlt-form__element__hint\">{{meta.hint}}</small>\n</div>\n"],"names":["i3.MetaModelPipe"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { F as FieldAbstract } from './vgip-meta-ui-fieldAbstract-9955be39.mjs';
4
4
  import * as i2 from '@angular/forms';
5
5
  import { ControlContainer, NgForm } from '@angular/forms';
6
6
  import * as i1 from '@angular/common';
7
- import { M as MetaField } from './vgip-meta-ui-index-c5756fbe.mjs';
7
+ import { M as MetaField } from './vgip-meta-ui-index-fdeb80d6.mjs';
8
8
  import { M as MetaModelPipe } from './vgip-meta-ui-metaModel.pipe-6b803e66.mjs';
9
9
  import 'rxjs';
10
10
  import 'rxjs/operators';
@@ -63,7 +63,7 @@ class FieldList extends FieldAbstract {
63
63
  this.value = this.model;
64
64
  }
65
65
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: FieldList, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
66
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: FieldList, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div *ngIf='true' class=\"Vlt-form__element\" [ngClass]=\"{ 'Vlt-form__element--error': (f | metaModel)._parent.submitted && f.invalid }\">\n <label class=\"Vlt-label\">{{meta.label || meta.name}} ({{(model || []).length}})<span *ngIf='validations.required' class='Vlt-red'>*</span></label> <!-- eslint-disable-line @angular-eslint/template/label-has-associated-control -->\n <small style='margin-bottom: 4px;' *ngIf='meta.hint' class=\"Vlt-form__element__hint\">{{meta.hint}}</small>\n <input class='model' type='hidden' [required]='validations.required' [(ngModel)]='model' #f='ngModel' [name]='name' />\n <ng-container *ngIf='model'>\n <div *ngFor='let item of model; let i = index;' style='display: flex; border-bottom: 1px solid var(--vgip-meta-separator-color);'>\n <vgip-meta-field style='flex: 1;' [index]='i' [scope]='scope' [meta]='cloneList' [parent]='item' [integrationCode]='integrationCode' [resourceType]='meta.resourceType || resourceType' theme='inherit' [preview]='preview'></vgip-meta-field>\n <vgip-meta-field *ngIf='meta.selectable' [meta]=\"{ name: meta.selectable.name, label: ' ', type: 'radio', options: [ { id: meta.selectable.value, label: meta.selectable.label } ] }\" [parent]='item' [integrationCode]='integrationCode' theme='inherit' style='margin-left: 12px; margin-top: 12px; margin-right: -12px;'></vgip-meta-field>\n <div *ngIf='!preview' style='padding-left: 12px; margin-top: 3px;'>\n <button type='button' (click)='remove(i)' class=\"Vlt-btn Vlt-btn--link item-remove-button\" [disabled]='model.length === (validations.min || 0)' aria-label='Remove'>\n <svg><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-bin\"/></svg>\n </button>\n </div>\n </div>\n </ng-container>\n <button *ngIf='!preview && (!validations.max || !model || model.length < validations.max)' style='width: 100%;' type='button' (click)='add()' class=\"Vlt-btn Vlt-btn--small Vlt-btn--tertiary Vlt-btn--app Vlt-btn--no-focus item-add-button\" [disabled]='validations.max && model && model.length === validations.max'>\n <svg><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-plus\"/></svg>{{list.label}}\n </button>\n <small *ngIf='(f | metaModel)._parent.submitted && f.invalid' class=\"Vlt-form__element__error\">\n <span *ngIf=\"f.errors.required\">Required</span>\n <span *ngIf=\"f.errors.maxlength\">Length can not exceed {{validations.maxlength}} characters</span>\n <span *ngIf=\"f.errors.custom\">{{f.errors.custom}}&nbsp;</span>\n </small>\n <small *ngIf='meta.helpText' class=\"Vlt-form__element__hint\">{{meta.helpText}}</small>\n</div>\n", styles: [".Vlt-btn--link:not([disabled]) svg{fill:#e84545}.Vlt-btn--link:not([disabled]):hover svg{fill:#de1c1c}.item-add-button{background-color:var(--vgip-meta-input-action-hover-bg-color);color:var(--vgip-meta-input-color)}.item-add-button svg{fill:var(--vgip-meta-input-color)}.item-add-button:hover{transform:scale(1.02);box-shadow:inset 0 0 0 1px var(--vgip-meta-input-active-border-color)}.item-remove-button{border:0}.item-remove-button:disabled{cursor:not-allowed}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: MetaField, selector: "vgip-meta-field", inputs: ["meta", "parent", "integrationCode", "resourceType", "index", "scope", "preview", "theme"], outputs: ["onChange", "onLeave"] }, { kind: "pipe", type: MetaModelPipe, name: "metaModel" }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }] }); }
66
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: FieldList, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div *ngIf='true' class=\"Vlt-form__element\" [ngClass]=\"{ 'Vlt-form__element--error': (f | metaModel)._parent.submitted && f.invalid }\">\n <label class=\"Vlt-label\">{{meta.label || meta.name}} ({{(model || []).length}})<span *ngIf='validations.required' class='Vlt-red'>*</span></label> <!-- eslint-disable-line @angular-eslint/template/label-has-associated-control -->\n <small style='margin-bottom: 4px;' *ngIf='meta.hint' class=\"Vlt-form__element__hint\">{{meta.hint}}</small>\n <input class='model' type='hidden' [required]='validations.required' [(ngModel)]='model' #f='ngModel' [name]='name' />\n <ng-container *ngIf='model'>\n <div *ngFor='let item of model; let i = index;' style='display: flex; border-bottom: 1px solid var(--vgip-meta-separator-color);'>\n <vgip-meta-field style='flex: 1;' [index]='i' [scope]='scope' [meta]='cloneList' [parent]='item' [integrationCode]='integrationCode' [resourceType]='meta.resourceType || resourceType' theme='inherit' [preview]='preview'></vgip-meta-field>\n <vgip-meta-field *ngIf='meta.selectable' [meta]=\"{ name: meta.selectable.name, label: ' ', type: 'radio', options: [ { id: meta.selectable.value, label: meta.selectable.label } ] }\" [parent]='item' [integrationCode]='integrationCode' theme='inherit' style='margin-left: 12px; margin-top: 12px; margin-right: -12px;'></vgip-meta-field>\n <div *ngIf='!preview' style='padding-left: 12px; margin-top: 3px;'>\n <button type='button' (click)='remove(i)' class=\"Vlt-btn Vlt-btn--link item-remove-button\" [disabled]='model.length === (validations.min || 0)' aria-label='Remove'>\n <svg><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-bin\"/></svg>\n </button>\n </div>\n </div>\n </ng-container>\n <button *ngIf='!preview && (!validations.max || !model || model.length < validations.max)' style='width: 100%;' type='button' (click)='add()' class=\"Vlt-btn Vlt-btn--small Vlt-btn--tertiary Vlt-btn--app Vlt-btn--no-focus item-add-button\" [disabled]='validations.max && model && model.length === validations.max'>\n <svg><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-plus\"/></svg>{{list.label}}\n </button>\n <small *ngIf='(f | metaModel)._parent.submitted && f.invalid' class=\"Vlt-form__element__error\">\n <span *ngIf=\"f.errors.required\">Required</span>\n <span *ngIf=\"f.errors.maxlength\">Length can not exceed {{validations.maxlength}} characters</span>\n <span *ngIf=\"f.errors.custom\">{{f.errors.custom}}&nbsp;</span>\n </small>\n <small *ngIf='meta.helpText' class=\"Vlt-form__element__hint\">{{meta.helpText}}</small>\n</div>\n", styles: [".Vlt-btn--link:not([disabled]) svg{fill:#e84545}.Vlt-btn--link:not([disabled]):hover svg{fill:#de1c1c}.item-add-button{background-color:var(--vgip-meta-input-action-hover-bg-color);color:var(--vgip-meta-input-color)}.item-add-button svg{fill:var(--vgip-meta-input-color)}.item-add-button:hover{transform:scale(1.02);box-shadow:inset 0 0 0 1px var(--vgip-meta-input-active-border-color)}.item-remove-button{border:0}.item-remove-button:disabled{cursor:not-allowed}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: MetaField, selector: "vgip-meta-field", inputs: ["meta", "parent", "integrationCode", "resourceType", "index", "scope", "preview", "theme", "overlayContainer"], outputs: ["onChange", "onLeave"] }, { kind: "pipe", type: MetaModelPipe, name: "metaModel" }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }] }); }
67
67
  }
68
68
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: FieldList, decorators: [{
69
69
  type: Component,
@@ -71,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
71
71
  }] });
72
72
 
73
73
  export { FieldList };
74
- //# sourceMappingURL=vgip-meta-ui-index-9c99e9b0.mjs.map
74
+ //# sourceMappingURL=vgip-meta-ui-index-f98de31b.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"vgip-meta-ui-index-9c99e9b0.mjs","sources":["../../../projects/meta-ui/src/lib/fieldList/index.ts","../../../projects/meta-ui/src/lib/fieldList/view.html"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\nimport { FieldAbstract } from '../fieldAbstract';\nimport { ControlContainer, NgForm } from '@angular/forms';\n\n@Component({\n templateUrl: './view.html',\n styleUrls: ['./style.scss'],\n viewProviders: [{ provide: ControlContainer, useExisting: NgForm }]\n})\nexport class FieldList extends FieldAbstract implements OnInit {\n items: Array<any> = [];\n value: any;\n\n get list() {\n return this.meta.list || this.meta.reference;\n }\n\n get cloneList() {\n return JSON.parse(JSON.stringify(this.list));\n }\n\n ngOnInit() {\n this.scope += `${this.meta.name}_`;\n const origValue = this.parent[this.meta.name];\n Object.defineProperty(this.parent, this.meta.name, {\n set: (value) => {\n this.model = [];\n if (value && value.length) {\n for (const i of value) {\n if (this.model.indexOf(i) === -1) {\n this.model.push(i);\n }\n }\n }\n this.value = this.model;\n this.meta.$optional = this.isOptional;\n },\n get: () => this.value,\n enumerable: true,\n configurable: true\n });\n if (origValue) {\n this.parent[this.meta.name] = origValue;\n }\n if (!this.model && this.validations.min) {\n for (let i = 0; i < this.validations.min; i++) {\n this.add();\n }\n }\n }\n\n add() {\n if (!this.model) {\n this.model = [];\n }\n if (!this.validations.max || (this.validations.max > this.model.length)) {\n this.model.push({});\n this.value = this.model;\n }\n }\n\n remove(itemIndex) {\n this.model.splice(itemIndex, 1);\n this.value = this.model;\n }\n}\n","<div *ngIf='true' class=\"Vlt-form__element\" [ngClass]=\"{ 'Vlt-form__element--error': (f | metaModel)._parent.submitted && f.invalid }\">\n <label class=\"Vlt-label\">{{meta.label || meta.name}} ({{(model || []).length}})<span *ngIf='validations.required' class='Vlt-red'>*</span></label> <!-- eslint-disable-line @angular-eslint/template/label-has-associated-control -->\n <small style='margin-bottom: 4px;' *ngIf='meta.hint' class=\"Vlt-form__element__hint\">{{meta.hint}}</small>\n <input class='model' type='hidden' [required]='validations.required' [(ngModel)]='model' #f='ngModel' [name]='name' />\n <ng-container *ngIf='model'>\n <div *ngFor='let item of model; let i = index;' style='display: flex; border-bottom: 1px solid var(--vgip-meta-separator-color);'>\n <vgip-meta-field style='flex: 1;' [index]='i' [scope]='scope' [meta]='cloneList' [parent]='item' [integrationCode]='integrationCode' [resourceType]='meta.resourceType || resourceType' theme='inherit' [preview]='preview'></vgip-meta-field>\n <vgip-meta-field *ngIf='meta.selectable' [meta]=\"{ name: meta.selectable.name, label: ' ', type: 'radio', options: [ { id: meta.selectable.value, label: meta.selectable.label } ] }\" [parent]='item' [integrationCode]='integrationCode' theme='inherit' style='margin-left: 12px; margin-top: 12px; margin-right: -12px;'></vgip-meta-field>\n <div *ngIf='!preview' style='padding-left: 12px; margin-top: 3px;'>\n <button type='button' (click)='remove(i)' class=\"Vlt-btn Vlt-btn--link item-remove-button\" [disabled]='model.length === (validations.min || 0)' aria-label='Remove'>\n <svg><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-bin\"/></svg>\n </button>\n </div>\n </div>\n </ng-container>\n <button *ngIf='!preview && (!validations.max || !model || model.length < validations.max)' style='width: 100%;' type='button' (click)='add()' class=\"Vlt-btn Vlt-btn--small Vlt-btn--tertiary Vlt-btn--app Vlt-btn--no-focus item-add-button\" [disabled]='validations.max && model && model.length === validations.max'>\n <svg><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-plus\"/></svg>{{list.label}}\n </button>\n <small *ngIf='(f | metaModel)._parent.submitted && f.invalid' class=\"Vlt-form__element__error\">\n <span *ngIf=\"f.errors.required\">Required</span>\n <span *ngIf=\"f.errors.maxlength\">Length can not exceed {{validations.maxlength}} characters</span>\n <span *ngIf=\"f.errors.custom\">{{f.errors.custom}}&nbsp;</span>\n </small>\n <small *ngIf='meta.helpText' class=\"Vlt-form__element__hint\">{{meta.helpText}}</small>\n</div>\n"],"names":["i3.MetaField","i4.MetaModelPipe"],"mappings":"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"}
1
+ {"version":3,"file":"vgip-meta-ui-index-f98de31b.mjs","sources":["../../../projects/meta-ui/src/lib/fieldList/index.ts","../../../projects/meta-ui/src/lib/fieldList/view.html"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\nimport { FieldAbstract } from '../fieldAbstract';\nimport { ControlContainer, NgForm } from '@angular/forms';\n\n@Component({\n templateUrl: './view.html',\n styleUrls: ['./style.scss'],\n viewProviders: [{ provide: ControlContainer, useExisting: NgForm }]\n})\nexport class FieldList extends FieldAbstract implements OnInit {\n items: Array<any> = [];\n value: any;\n\n get list() {\n return this.meta.list || this.meta.reference;\n }\n\n get cloneList() {\n return JSON.parse(JSON.stringify(this.list));\n }\n\n ngOnInit() {\n this.scope += `${this.meta.name}_`;\n const origValue = this.parent[this.meta.name];\n Object.defineProperty(this.parent, this.meta.name, {\n set: (value) => {\n this.model = [];\n if (value && value.length) {\n for (const i of value) {\n if (this.model.indexOf(i) === -1) {\n this.model.push(i);\n }\n }\n }\n this.value = this.model;\n this.meta.$optional = this.isOptional;\n },\n get: () => this.value,\n enumerable: true,\n configurable: true\n });\n if (origValue) {\n this.parent[this.meta.name] = origValue;\n }\n if (!this.model && this.validations.min) {\n for (let i = 0; i < this.validations.min; i++) {\n this.add();\n }\n }\n }\n\n add() {\n if (!this.model) {\n this.model = [];\n }\n if (!this.validations.max || (this.validations.max > this.model.length)) {\n this.model.push({});\n this.value = this.model;\n }\n }\n\n remove(itemIndex) {\n this.model.splice(itemIndex, 1);\n this.value = this.model;\n }\n}\n","<div *ngIf='true' class=\"Vlt-form__element\" [ngClass]=\"{ 'Vlt-form__element--error': (f | metaModel)._parent.submitted && f.invalid }\">\n <label class=\"Vlt-label\">{{meta.label || meta.name}} ({{(model || []).length}})<span *ngIf='validations.required' class='Vlt-red'>*</span></label> <!-- eslint-disable-line @angular-eslint/template/label-has-associated-control -->\n <small style='margin-bottom: 4px;' *ngIf='meta.hint' class=\"Vlt-form__element__hint\">{{meta.hint}}</small>\n <input class='model' type='hidden' [required]='validations.required' [(ngModel)]='model' #f='ngModel' [name]='name' />\n <ng-container *ngIf='model'>\n <div *ngFor='let item of model; let i = index;' style='display: flex; border-bottom: 1px solid var(--vgip-meta-separator-color);'>\n <vgip-meta-field style='flex: 1;' [index]='i' [scope]='scope' [meta]='cloneList' [parent]='item' [integrationCode]='integrationCode' [resourceType]='meta.resourceType || resourceType' theme='inherit' [preview]='preview'></vgip-meta-field>\n <vgip-meta-field *ngIf='meta.selectable' [meta]=\"{ name: meta.selectable.name, label: ' ', type: 'radio', options: [ { id: meta.selectable.value, label: meta.selectable.label } ] }\" [parent]='item' [integrationCode]='integrationCode' theme='inherit' style='margin-left: 12px; margin-top: 12px; margin-right: -12px;'></vgip-meta-field>\n <div *ngIf='!preview' style='padding-left: 12px; margin-top: 3px;'>\n <button type='button' (click)='remove(i)' class=\"Vlt-btn Vlt-btn--link item-remove-button\" [disabled]='model.length === (validations.min || 0)' aria-label='Remove'>\n <svg><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-bin\"/></svg>\n </button>\n </div>\n </div>\n </ng-container>\n <button *ngIf='!preview && (!validations.max || !model || model.length < validations.max)' style='width: 100%;' type='button' (click)='add()' class=\"Vlt-btn Vlt-btn--small Vlt-btn--tertiary Vlt-btn--app Vlt-btn--no-focus item-add-button\" [disabled]='validations.max && model && model.length === validations.max'>\n <svg><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-plus\"/></svg>{{list.label}}\n </button>\n <small *ngIf='(f | metaModel)._parent.submitted && f.invalid' class=\"Vlt-form__element__error\">\n <span *ngIf=\"f.errors.required\">Required</span>\n <span *ngIf=\"f.errors.maxlength\">Length can not exceed {{validations.maxlength}} characters</span>\n <span *ngIf=\"f.errors.custom\">{{f.errors.custom}}&nbsp;</span>\n </small>\n <small *ngIf='meta.helpText' class=\"Vlt-form__element__hint\">{{meta.helpText}}</small>\n</div>\n"],"names":["i3.MetaField","i4.MetaModelPipe"],"mappings":"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"}
@@ -13,47 +13,47 @@ const FMAP = async (fType) => {
13
13
  // case 'date':
14
14
  case 'string': { // eslint-disable-line no-fallthrough
15
15
  // return FieldInput;
16
- return import('./vgip-meta-ui-index-44af92c9.mjs').then(m => m.FieldInput);
16
+ return import('./vgip-meta-ui-index-af8c0f14.mjs').then(m => m.FieldInput);
17
17
  }
18
18
  case 'textarea':
19
19
  case 'text': {
20
20
  // return FieldText
21
- return import('./vgip-meta-ui-index-9e4137fe.mjs').then(m => m.FieldText);
21
+ return import('./vgip-meta-ui-index-5fbb0fc8.mjs').then(m => m.FieldText);
22
22
  }
23
23
  case 'select':
24
24
  case 'options': {
25
25
  // return FieldSelect
26
- return import('./vgip-meta-ui-index-bc945c3c.mjs').then(m => m.FieldSelect);
26
+ return import('./vgip-meta-ui-index-94c9df13.mjs').then(m => m.FieldSelect);
27
27
  }
28
28
  case 'reference': {
29
29
  // return FieldReference;
30
- return import('./vgip-meta-ui-index-a3a43cf7.mjs').then(function (n) { return n.i; }).then(m => m.FieldReference);
30
+ return import('./vgip-meta-ui-index-3cd63fdb.mjs').then(function (n) { return n.i; }).then(m => m.FieldReference);
31
31
  }
32
32
  case 'composite': {
33
33
  // return FieldComposite;
34
- return import('./vgip-meta-ui-index-9fd8e1b0.mjs').then(m => m.FieldComposite);
34
+ return import('./vgip-meta-ui-index-1b9f700a.mjs').then(m => m.FieldComposite);
35
35
  }
36
36
  case 'boolean': {
37
37
  // return FieldBoolean;
38
- return import('./vgip-meta-ui-index-c39ea0ec.mjs').then(m => m.FieldBoolean);
38
+ return import('./vgip-meta-ui-index-8b2ba164.mjs').then(m => m.FieldBoolean);
39
39
  }
40
40
  case 'radio': {
41
41
  // return FieldRadio;
42
- return import('./vgip-meta-ui-index-5871a6f2.mjs').then(m => m.FieldRadio);
42
+ return import('./vgip-meta-ui-index-ee4a5a52.mjs').then(m => m.FieldRadio);
43
43
  }
44
44
  case 'list': {
45
45
  // return FieldList;
46
- return import('./vgip-meta-ui-index-9c99e9b0.mjs').then(m => m.FieldList);
46
+ return import('./vgip-meta-ui-index-f98de31b.mjs').then(m => m.FieldList);
47
47
  }
48
48
  case 'richtext': {
49
49
  // return FieldRichtext;
50
- return import('./vgip-meta-ui-index-b0a76073.mjs').then(m => m.FieldRichtext);
50
+ return import('./vgip-meta-ui-index-af0ec42f.mjs').then(m => m.FieldRichtext);
51
51
  }
52
52
  case 'datetime':
53
53
  case 'time':
54
54
  case 'date': {
55
55
  // return FieldDatetime;
56
- return import('./vgip-meta-ui-index-0349968f.mjs').then(m => m.FieldDatetime);
56
+ return import('./vgip-meta-ui-index-6f2365c3.mjs').then(m => m.FieldDatetime);
57
57
  }
58
58
  case 'hidden': {
59
59
  return import('./vgip-meta-ui-index-5d13f5e6.mjs').then(m => m.FieldHidden);
@@ -106,6 +106,7 @@ class MetaField extends FieldAbstract {
106
106
  field.onLeave = this.onLeave;
107
107
  field.preview = this.preview;
108
108
  field.theme = this.theme;
109
+ field.overlayContainer = this.overlayContainer;
109
110
  Object.defineProperty(field.meta, 'unset', {
110
111
  value: false,
111
112
  writable: true,
@@ -114,7 +115,7 @@ class MetaField extends FieldAbstract {
114
115
  });
115
116
  }
116
117
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: MetaField, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
117
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: MetaField, selector: "vgip-meta-field", inputs: { meta: "meta", parent: "parent", integrationCode: "integrationCode", resourceType: "resourceType", index: "index", scope: "scope", preview: "preview", theme: "theme" }, outputs: { onChange: "onChange", onLeave: "onLeave" }, viewQueries: [{ propertyName: "fieldContent", first: true, predicate: MetaFieldContentDirective, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: '<ng-template metaFieldContent>Loading</ng-template>', isInline: true, styles: [":host ::ng-deep label.wrapper{padding:0;pointer-events:initial;position:initial;top:initial;transition:none}@media only screen and (max-width: 575px){:host ::ng-deep .hidden-mobile{display:none}}@media only screen and (min-width: 576px){:host ::ng-deep .hidden-desktop{display:none}}:host ::ng-deep .Vlt-form__element>.Vlt-label,:host ::ng-deep .Vlt-form__element>label>.Vlt-label{margin-top:-6px}:host ::ng-deep .Vlt-form__element .Vlt-form__element__hint{color:var(--vgip-meta-input-hint-color)}:host ::ng-deep .Vlt-form__element .Vlt-input input,:host ::ng-deep .Vlt-form__element .Vlt-select select,:host ::ng-deep .Vlt-form__element .Vlt-textarea textarea{color:var(--vgip-meta-input-color)}@media (hover: none){:host ::ng-deep .Vlt-form__element .Vlt-input input,:host ::ng-deep .Vlt-form__element .Vlt-select select,:host ::ng-deep .Vlt-form__element .Vlt-textarea textarea{font-size:16px}}:host ::ng-deep .Vlt-form__element .Vlt-input input::placeholder,:host ::ng-deep .Vlt-form__element .Vlt-select select::placeholder,:host ::ng-deep .Vlt-form__element .Vlt-textarea textarea::placeholder{color:var(--vgip-meta-input-placeholder-color)}:host ::ng-deep .Vlt-form__element label{color:var(--vgip-meta-input-label-color)}:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-form-error-style,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-input input,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-input input.ng-untouched:invalid,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-select select.ng-untouched:invalid,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-textarea textarea,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-textarea textarea.ng-untouched:invalid,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-custom-select__input:invalid,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-radio input.ng-untouched:invalid+.Vlt-radio__icon,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-radio input.ng-untouched:invalid+.Vlt-checkbox__icon,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-checkbox input.ng-untouched:invalid+.Vlt-radio__icon,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-checkbox input.ng-untouched:invalid+.Vlt-checkbox__icon{background:var(--vgip-meta-input-bg-color);border-color:var(--vgip-meta-input-border-color)}:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-form-error-style:disabled,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-input input:disabled,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-input input.ng-untouched:invalid:disabled,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-select select.ng-untouched:invalid:disabled,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-textarea textarea:disabled,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-textarea textarea.ng-untouched:invalid:disabled,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-custom-select__input:invalid:disabled,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-radio input.ng-untouched:invalid+.Vlt-radio__icon:disabled,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-radio input.ng-untouched:invalid+.Vlt-checkbox__icon:disabled,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-checkbox input.ng-untouched:invalid+.Vlt-radio__icon:disabled,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-checkbox input.ng-untouched:invalid+.Vlt-checkbox__icon:disabled{background:var(--vgip-meta-input-disabled-bg-color);border-color:var(--vgip-meta-input-disabled-border-color)}:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-form-error-style:hover,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-form-error-style:focus,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-form-error-style .active,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-input input:hover,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-input input:focus,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-input input .active,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-input input.ng-untouched:invalid:hover,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-input input.ng-untouched:invalid:focus,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-input input.ng-untouched:invalid .active,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-select select.ng-untouched:invalid:hover,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-select select.ng-untouched:invalid:focus,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-select select.ng-untouched:invalid .active,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-textarea textarea:hover,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-textarea textarea:focus,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-textarea textarea .active,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-textarea textarea.ng-untouched:invalid:hover,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-textarea textarea.ng-untouched:invalid:focus,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-textarea textarea.ng-untouched:invalid .active,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-custom-select__input:invalid:hover,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-custom-select__input:invalid:focus,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-custom-select__input:invalid .active,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-radio input.ng-untouched:invalid+.Vlt-radio__icon:hover,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-radio input.ng-untouched:invalid+.Vlt-radio__icon:focus,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-radio input.ng-untouched:invalid+.Vlt-radio__icon .active,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-radio input.ng-untouched:invalid+.Vlt-checkbox__icon:hover,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-radio input.ng-untouched:invalid+.Vlt-checkbox__icon:focus,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-radio input.ng-untouched:invalid+.Vlt-checkbox__icon .active,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-checkbox input.ng-untouched:invalid+.Vlt-radio__icon:hover,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-checkbox input.ng-untouched:invalid+.Vlt-radio__icon:focus,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-checkbox input.ng-untouched:invalid+.Vlt-radio__icon .active,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-checkbox input.ng-untouched:invalid+.Vlt-checkbox__icon:hover,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-checkbox input.ng-untouched:invalid+.Vlt-checkbox__icon:focus,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-checkbox input.ng-untouched:invalid+.Vlt-checkbox__icon .active{border-color:var(--vgip-meta-input-active-border-color)}:host ::ng-deep .Vlt-form__element.Vlt-form__element--error .Vlt-input input:focus,:host ::ng-deep .Vlt-form__element.Vlt-form__element--error .Vlt-select select:focus,:host ::ng-deep .Vlt-form__element.Vlt-form__element--error .Vlt-textarea textarea:focus,:host ::ng-deep .Vlt-form__element.Vlt-form__element--error .Vlt-custom-select__input:focus{border-color:#f25a6b}:host ::ng-deep .Vlt-dropdown__link{padding:12px}:host ::ng-deep .Vlt-dropdown__link svg{margin-left:0}:host ::ng-deep .Vlt-dropdown__link small{line-height:inherit}:host ::ng-deep .Vlt-dropdown__link.Vlt-dropdown__link--selected:after{width:20px;top:14px;background:var(--vgip-meta-dropdown-check-icon) no-repeat right center;background-size:contain}:host ::ng-deep .Vlt-dropdown__block{padding:2px 16px}:host ::ng-deep .meta-field-reference .Vlt-dropdown__link.has-type.Vlt-dropdown__link--selected:after{position:initial}:host ::ng-deep .Vlt-dropdown__panel__content{background:var(--vgip-meta-dropdown-bg-color);box-shadow:var(--vgip-meta-dropdown-shadow)}:host ::ng-deep .Vlt-dropdown__panel__content .Vlt-dropdown__link,:host ::ng-deep .Vlt-dropdown__panel__content .Vlt-dropdown__block{color:var(--vgip-meta-input-color)}:host ::ng-deep .Vlt-dropdown__panel__content .Vlt-dropdown__scroll::-webkit-scrollbar{width:8px}:host ::ng-deep .Vlt-dropdown__panel__content .Vlt-dropdown__scroll::-webkit-scrollbar-thumb{background-color:var(--vgip-meta-scrollbar-color);border:2px solid transparent;border-radius:6px;background-clip:content-box}:host ::ng-deep .Vlt-dropdown__panel__content.suggestions{background:var(--vgip-meta-suggestions-bg-color)}:host ::ng-deep .Vlt-dropdown__panel{z-index:999}:host ::ng-deep .Vlt-dropdown__panel__content--scroll-area{padding:0}:host ::ng-deep .Vlt-composite__append--icon{bottom:0;height:initial}:host ::ng-deep .search-progress{display:block;position:relative;width:100%;height:3px;margin-top:-3px;padding-top:0!important;margin-bottom:0!important}:host ::ng-deep .search-progress .container{display:block;position:relative;overflow:hidden;width:100%;height:3px;transform:translate(0) scale(1)}:host ::ng-deep .search-progress .container .bar{position:absolute;left:0;top:0;bottom:0;width:100%;height:3px;border-radius:50%;transition:all .3s linear;animation:query .9s infinite cubic-bezier(.3,.6,.6,1)}@keyframes query{0%{opacity:1;transform:translate(35%) scaleX(.3)}to{opacity:0;transform:translate(-50%) scaleX(0)}}::ng-deep vgip-meta-field.shown vgip-meta-field{display:initial}::ng-deep vgip-meta-field .vgip-meta-field-preview{display:flex;flex-direction:row;padding-bottom:5px;padding-top:5px;margin-left:10px;border-bottom:1px solid #e7ebee}::ng-deep vgip-meta-field .vgip-meta-field-preview .vgip-meta-field-label{flex:1 1 100%;max-width:20%;max-height:100%;box-sizing:border-box;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-right:2px}::ng-deep vgip-meta-field .vgip-meta-field-preview .vgip-meta-field-value{min-width:0;width:0;box-sizing:border-box;flex:1;font-weight:700}\n"], dependencies: [{ kind: "directive", type: MetaFieldContentDirective, selector: "[metaFieldContent]" }] }); }
118
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: MetaField, selector: "vgip-meta-field", inputs: { meta: "meta", parent: "parent", integrationCode: "integrationCode", resourceType: "resourceType", index: "index", scope: "scope", preview: "preview", theme: "theme", overlayContainer: "overlayContainer" }, outputs: { onChange: "onChange", onLeave: "onLeave" }, viewQueries: [{ propertyName: "fieldContent", first: true, predicate: MetaFieldContentDirective, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: '<ng-template metaFieldContent>Loading</ng-template>', isInline: true, styles: [":host ::ng-deep label.wrapper{padding:0;pointer-events:initial;position:initial;top:initial;transition:none}@media only screen and (max-width: 575px){:host ::ng-deep .hidden-mobile{display:none}}@media only screen and (min-width: 576px){:host ::ng-deep .hidden-desktop{display:none}}:host ::ng-deep .Vlt-form__element>.Vlt-label,:host ::ng-deep .Vlt-form__element>label>.Vlt-label{margin-top:-6px}:host ::ng-deep .Vlt-form__element .Vlt-form__element__hint{color:var(--vgip-meta-input-hint-color)}:host ::ng-deep .Vlt-form__element .Vlt-input input,:host ::ng-deep .Vlt-form__element .Vlt-select select,:host ::ng-deep .Vlt-form__element .Vlt-textarea textarea{color:var(--vgip-meta-input-color)}@media (hover: none){:host ::ng-deep .Vlt-form__element .Vlt-input input,:host ::ng-deep .Vlt-form__element .Vlt-select select,:host ::ng-deep .Vlt-form__element .Vlt-textarea textarea{font-size:16px}}:host ::ng-deep .Vlt-form__element .Vlt-input input::placeholder,:host ::ng-deep .Vlt-form__element .Vlt-select select::placeholder,:host ::ng-deep .Vlt-form__element .Vlt-textarea textarea::placeholder{color:var(--vgip-meta-input-placeholder-color)}:host ::ng-deep .Vlt-form__element label{color:var(--vgip-meta-input-label-color)}:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-form-error-style,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-input input,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-input input.ng-untouched:invalid,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-select select.ng-untouched:invalid,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-textarea textarea,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-textarea textarea.ng-untouched:invalid,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-custom-select__input:invalid,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-radio input.ng-untouched:invalid+.Vlt-radio__icon,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-radio input.ng-untouched:invalid+.Vlt-checkbox__icon,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-checkbox input.ng-untouched:invalid+.Vlt-radio__icon,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-checkbox input.ng-untouched:invalid+.Vlt-checkbox__icon{background:var(--vgip-meta-input-bg-color);border-color:var(--vgip-meta-input-border-color)}:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-form-error-style:disabled,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-input input:disabled,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-input input.ng-untouched:invalid:disabled,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-select select.ng-untouched:invalid:disabled,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-textarea textarea:disabled,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-textarea textarea.ng-untouched:invalid:disabled,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-custom-select__input:invalid:disabled,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-radio input.ng-untouched:invalid+.Vlt-radio__icon:disabled,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-radio input.ng-untouched:invalid+.Vlt-checkbox__icon:disabled,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-checkbox input.ng-untouched:invalid+.Vlt-radio__icon:disabled,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-checkbox input.ng-untouched:invalid+.Vlt-checkbox__icon:disabled{background:var(--vgip-meta-input-disabled-bg-color);border-color:var(--vgip-meta-input-disabled-border-color)}:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-form-error-style:hover,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-form-error-style:focus,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-form-error-style .active,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-input input:hover,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-input input:focus,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-input input .active,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-input input.ng-untouched:invalid:hover,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-input input.ng-untouched:invalid:focus,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-input input.ng-untouched:invalid .active,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-select select.ng-untouched:invalid:hover,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-select select.ng-untouched:invalid:focus,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-select select.ng-untouched:invalid .active,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-textarea textarea:hover,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-textarea textarea:focus,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-textarea textarea .active,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-textarea textarea.ng-untouched:invalid:hover,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-textarea textarea.ng-untouched:invalid:focus,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-textarea textarea.ng-untouched:invalid .active,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-custom-select__input:invalid:hover,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-custom-select__input:invalid:focus,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-custom-select__input:invalid .active,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-radio input.ng-untouched:invalid+.Vlt-radio__icon:hover,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-radio input.ng-untouched:invalid+.Vlt-radio__icon:focus,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-radio input.ng-untouched:invalid+.Vlt-radio__icon .active,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-radio input.ng-untouched:invalid+.Vlt-checkbox__icon:hover,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-radio input.ng-untouched:invalid+.Vlt-checkbox__icon:focus,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-radio input.ng-untouched:invalid+.Vlt-checkbox__icon .active,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-checkbox input.ng-untouched:invalid+.Vlt-radio__icon:hover,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-checkbox input.ng-untouched:invalid+.Vlt-radio__icon:focus,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-checkbox input.ng-untouched:invalid+.Vlt-radio__icon .active,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-checkbox input.ng-untouched:invalid+.Vlt-checkbox__icon:hover,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-checkbox input.ng-untouched:invalid+.Vlt-checkbox__icon:focus,:host ::ng-deep .Vlt-form__element:not(.Vlt-form__element--error) .Vlt-checkbox input.ng-untouched:invalid+.Vlt-checkbox__icon .active{border-color:var(--vgip-meta-input-active-border-color)}:host ::ng-deep .Vlt-form__element.Vlt-form__element--error .Vlt-input input:focus,:host ::ng-deep .Vlt-form__element.Vlt-form__element--error .Vlt-select select:focus,:host ::ng-deep .Vlt-form__element.Vlt-form__element--error .Vlt-textarea textarea:focus,:host ::ng-deep .Vlt-form__element.Vlt-form__element--error .Vlt-custom-select__input:focus{border-color:#f25a6b}:host ::ng-deep .Vlt-dropdown__link{padding:12px}:host ::ng-deep .Vlt-dropdown__link svg{margin-left:0}:host ::ng-deep .Vlt-dropdown__link small{line-height:inherit}:host ::ng-deep .Vlt-dropdown__link.Vlt-dropdown__link--selected:after{width:20px;top:14px;background:var(--vgip-meta-dropdown-check-icon) no-repeat right center;background-size:contain}:host ::ng-deep .Vlt-dropdown__block{padding:2px 16px}:host ::ng-deep .meta-field-reference .Vlt-dropdown__link.has-type.Vlt-dropdown__link--selected:after{position:initial}:host ::ng-deep .Vlt-dropdown__panel__content{background:var(--vgip-meta-dropdown-bg-color);box-shadow:var(--vgip-meta-dropdown-shadow)}:host ::ng-deep .Vlt-dropdown__panel__content .Vlt-dropdown__link,:host ::ng-deep .Vlt-dropdown__panel__content .Vlt-dropdown__block{color:var(--vgip-meta-input-color)}:host ::ng-deep .Vlt-dropdown__panel__content .Vlt-dropdown__scroll::-webkit-scrollbar{width:8px}:host ::ng-deep .Vlt-dropdown__panel__content .Vlt-dropdown__scroll::-webkit-scrollbar-thumb{background-color:var(--vgip-meta-scrollbar-color);border:2px solid transparent;border-radius:6px;background-clip:content-box}:host ::ng-deep .Vlt-dropdown__panel__content.suggestions{background:var(--vgip-meta-suggestions-bg-color)}:host ::ng-deep .Vlt-dropdown__panel{z-index:999}:host ::ng-deep .Vlt-dropdown__panel__content--scroll-area{padding:0}:host ::ng-deep .Vlt-composite__append--icon{bottom:0;height:initial}:host ::ng-deep .search-progress{display:block;position:relative;width:100%;height:3px;margin-top:-3px;padding-top:0!important;margin-bottom:0!important}:host ::ng-deep .search-progress .container{display:block;position:relative;overflow:hidden;width:100%;height:3px;transform:translate(0) scale(1)}:host ::ng-deep .search-progress .container .bar{position:absolute;left:0;top:0;bottom:0;width:100%;height:3px;border-radius:50%;transition:all .3s linear;animation:query .9s infinite cubic-bezier(.3,.6,.6,1)}@keyframes query{0%{opacity:1;transform:translate(35%) scaleX(.3)}to{opacity:0;transform:translate(-50%) scaleX(0)}}::ng-deep vgip-meta-field.shown vgip-meta-field{display:initial}::ng-deep vgip-meta-field .vgip-meta-field-preview{display:flex;flex-direction:row;padding-bottom:5px;padding-top:5px;margin-left:10px;border-bottom:1px solid #e7ebee}::ng-deep vgip-meta-field .vgip-meta-field-preview .vgip-meta-field-label{flex:1 1 100%;max-width:20%;max-height:100%;box-sizing:border-box;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-right:2px}::ng-deep vgip-meta-field .vgip-meta-field-preview .vgip-meta-field-value{min-width:0;width:0;box-sizing:border-box;flex:1;font-weight:700}\n"], dependencies: [{ kind: "directive", type: MetaFieldContentDirective, selector: "[metaFieldContent]" }] }); }
118
119
  }
119
120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: MetaField, decorators: [{
120
121
  type: Component,
@@ -135,6 +136,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
135
136
  type: Input
136
137
  }], theme: [{
137
138
  type: Input
139
+ }], overlayContainer: [{
140
+ type: Input
138
141
  }], onChange: [{
139
142
  type: Output
140
143
  }], onLeave: [{
@@ -145,4 +148,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
145
148
  }] } });
146
149
 
147
150
  export { MetaField as M, MetaFieldContentDirective as a };
148
- //# sourceMappingURL=vgip-meta-ui-index-c5756fbe.mjs.map
151
+ //# sourceMappingURL=vgip-meta-ui-index-fdeb80d6.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vgip-meta-ui-index-fdeb80d6.mjs","sources":["../../../projects/meta-ui/src/lib/metaField/index.ts"],"sourcesContent":["import { Component, Directive, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild, ViewContainerRef } from '@angular/core';\nimport { FieldAbstract } from '../fieldAbstract';\n\nconst FMAP = async (fType) => {\n switch (fType) {\n case '':\n case null:\n case undefined:\n case 'number':\n // case 'datetime':\n // case 'time':\n // case 'date':\n case 'string': { // eslint-disable-line no-fallthrough\n // return FieldInput;\n return import('../fieldInput').then(m => m.FieldInput);\n }\n case 'textarea':\n case 'text': {\n // return FieldText\n return import('../fieldText').then(m => m.FieldText);\n }\n case 'select':\n case 'options': {\n // return FieldSelect\n return import('../fieldSelect').then(m => m.FieldSelect);\n }\n case 'reference': {\n // return FieldReference;\n return import('../fieldReference').then(m => m.FieldReference);\n }\n case 'composite': {\n // return FieldComposite;\n return import('../fieldComposite').then(m => m.FieldComposite);\n }\n case 'boolean': {\n // return FieldBoolean;\n return import('../fieldBoolean').then(m => m.FieldBoolean);\n }\n case 'radio': {\n // return FieldRadio;\n return import('../fieldRadio').then(m => m.FieldRadio);\n }\n case 'list': {\n // return FieldList;\n return import('../fieldList').then(m => m.FieldList);\n }\n case 'richtext': {\n // return FieldRichtext;\n return import('../fieldRichtext').then(m => m.FieldRichtext);\n }\n case 'datetime':\n case 'time':\n case 'date': {\n // return FieldDatetime;\n return import('../fieldDatetime').then(m => m.FieldDatetime);\n }\n case 'hidden': {\n return import('../fieldHidden').then(m => m.FieldHidden);\n }\n default: {\n // return FieldUnknown;\n return import('../fieldUnknown').then(m => m.FieldUnknown);\n }\n }\n};\n\n@Directive({\n selector: '[metaFieldContent]'\n})\nexport class MetaFieldContentDirective {\n constructor(public viewContainerRef: ViewContainerRef) { }\n}\n\n@Component({\n selector: 'vgip-meta-field',\n template: '<ng-template metaFieldContent>Loading</ng-template>',\n styleUrls: ['../field.scss']\n})\nexport class MetaField extends FieldAbstract implements OnInit {\n @Input() meta: any;\n @Input() parent: any;\n @Input() integrationCode: any;\n @Input() resourceType: any;\n @Input() index: number;\n @Input() scope: string;\n @Input() preview: boolean;\n @Input() theme: string;\n @Input() overlayContainer: HTMLElement;\n // eslint-disable-next-line\n @Output() onChange = new EventEmitter();\n // eslint-disable-next-line\n @Output() onLeave = new EventEmitter();\n\n @ViewChild(MetaFieldContentDirective, { static: true }) fieldContent: MetaFieldContentDirective;\n\n constructor(private el: ElementRef) {\n super();\n }\n\n async ngOnInit() {\n const component = await FMAP(this.meta.type);\n this.fieldContent.viewContainerRef.clear();\n const componentRef = this.fieldContent.viewContainerRef.createComponent(component);\n const field: FieldAbstract = componentRef.instance;\n if (component.setup) {\n // console.log('setup', {a: this.el.nativeElement.parentNode.parentNode})\n component.setup(field, this.parent, this.meta);\n }\n field.meta = this.meta;\n field.parent = this.parent;\n field.integrationCode = (this.integrationCode || '').toLowerCase();\n field.resourceType = (this.resourceType || '');\n field.index = this.index;\n field.scope = this.scope;\n field.elementRef = this.el;\n field.onChange = this.onChange;\n field.onLeave = this.onLeave;\n field.preview = this.preview;\n field.theme = this.theme;\n field.overlayContainer = this.overlayContainer;\n Object.defineProperty(field.meta, 'unset', {\n value: false,\n writable: true,\n configurable: true,\n enumerable: false\n });\n }\n}\n"],"names":[],"mappings":"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"}
@@ -6,26 +6,26 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
6
6
  import { HttpClientModule } from '@angular/common/http';
7
7
  import * as i4 from 'ngx-quill';
8
8
  import { QuillModule } from 'ngx-quill';
9
- import { M as MetaRefDialog, a as MetaResourceService, b as MetaReferenceService, c as MetaLayout, d as MetaResource, e as MetaAutofocusDirective } from './vgip-meta-ui-index-24fe289e.mjs';
10
- export { g as MetaHttpClient, f as MetaMsgService, m as metaNormalizer } from './vgip-meta-ui-index-24fe289e.mjs';
9
+ import { M as MetaRefDialog, a as MetaResourceService, b as MetaReferenceService, c as MetaLayout, d as MetaResource, e as MetaAutofocusDirective } from './vgip-meta-ui-index-09f92f24.mjs';
10
+ export { g as MetaHttpClient, f as MetaMsgService, m as metaNormalizer } from './vgip-meta-ui-index-09f92f24.mjs';
11
11
  import { FieldUnknown } from './vgip-meta-ui-index-5891b8e7.mjs';
12
- import { FieldInput } from './vgip-meta-ui-index-44af92c9.mjs';
13
- import { FieldText } from './vgip-meta-ui-index-9e4137fe.mjs';
14
- import { FieldSelect } from './vgip-meta-ui-index-bc945c3c.mjs';
15
- import { F as FieldReference } from './vgip-meta-ui-index-a3a43cf7.mjs';
16
- export { M as MetaTrackerService } from './vgip-meta-ui-index-a3a43cf7.mjs';
17
- import { FieldComposite } from './vgip-meta-ui-index-9fd8e1b0.mjs';
18
- import { FieldBoolean } from './vgip-meta-ui-index-c39ea0ec.mjs';
19
- import { FieldRadio } from './vgip-meta-ui-index-5871a6f2.mjs';
20
- import { FieldList } from './vgip-meta-ui-index-9c99e9b0.mjs';
21
- import { FieldRichtext } from './vgip-meta-ui-index-b0a76073.mjs';
22
- import { FieldDatetime } from './vgip-meta-ui-index-0349968f.mjs';
12
+ import { FieldInput } from './vgip-meta-ui-index-af8c0f14.mjs';
13
+ import { FieldText } from './vgip-meta-ui-index-5fbb0fc8.mjs';
14
+ import { FieldSelect } from './vgip-meta-ui-index-94c9df13.mjs';
15
+ import { F as FieldReference } from './vgip-meta-ui-index-3cd63fdb.mjs';
16
+ export { M as MetaTrackerService } from './vgip-meta-ui-index-3cd63fdb.mjs';
17
+ import { FieldComposite } from './vgip-meta-ui-index-1b9f700a.mjs';
18
+ import { FieldBoolean } from './vgip-meta-ui-index-8b2ba164.mjs';
19
+ import { FieldRadio } from './vgip-meta-ui-index-ee4a5a52.mjs';
20
+ import { FieldList } from './vgip-meta-ui-index-f98de31b.mjs';
21
+ import { FieldRichtext } from './vgip-meta-ui-index-af0ec42f.mjs';
22
+ import { FieldDatetime } from './vgip-meta-ui-index-6f2365c3.mjs';
23
23
  import { FieldHidden } from './vgip-meta-ui-index-5d13f5e6.mjs';
24
24
  import * as i1$1 from '@angular/platform-browser';
25
25
  import { M as MetaModelPipe } from './vgip-meta-ui-metaModel.pipe-6b803e66.mjs';
26
- import { M as MetaContextService } from './vgip-meta-ui-index-ea5c2466.mjs';
26
+ import { M as MetaContextService } from './vgip-meta-ui-index-4e34299c.mjs';
27
27
  export { r as relativeTimeBuilder } from './vgip-meta-ui-relativeTimeBuilder-31791ce4.mjs';
28
- import { M as MetaField, a as MetaFieldContentDirective } from './vgip-meta-ui-index-c5756fbe.mjs';
28
+ import { M as MetaField, a as MetaFieldContentDirective } from './vgip-meta-ui-index-fdeb80d6.mjs';
29
29
  export { a as metaDark, m as metaLight } from './vgip-meta-ui-fieldAbstract-9955be39.mjs';
30
30
  import 'rxjs';
31
31
  import 'rxjs/operators';
@@ -24,6 +24,7 @@ export declare abstract class FieldAbstract implements AfterViewInit {
24
24
  logicalDisabled: boolean;
25
25
  theme: string;
26
26
  flags: any;
27
+ overlayContainer: HTMLElement;
27
28
  get parentChangeSubject(): any;
28
29
  get isPersistedParent(): any;
29
30
  get validations(): any;
@@ -2,10 +2,9 @@ import { OnInit } from '@angular/core';
2
2
  import { FieldAbstract } from '../fieldAbstract';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class FieldBoolean extends FieldAbstract implements OnInit {
5
- meta: any;
6
5
  value: boolean;
7
6
  ngOnInit(): void;
8
7
  onOptionChange(): void;
9
8
  static ɵfac: i0.ɵɵFactoryDeclaration<FieldBoolean, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<FieldBoolean, "ng-component", never, { "meta": { "alias": "meta"; "required": false; }; }, {}, never, never, false, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<FieldBoolean, "ng-component", never, {}, {}, never, never, false, never>;
11
10
  }
@@ -2,8 +2,6 @@ import { OnInit, DoCheck } from '@angular/core';
2
2
  import { FieldAbstract } from '../fieldAbstract';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class FieldComposite extends FieldAbstract implements OnInit, DoCheck {
5
- meta: any;
6
- parent: any;
7
5
  value: any;
8
6
  private invisible;
9
7
  get isRow(): boolean;
@@ -11,5 +9,5 @@ export declare class FieldComposite extends FieldAbstract implements OnInit, DoC
11
9
  ngOnInit(): void;
12
10
  ngDoCheck(): void;
13
11
  static ɵfac: i0.ɵɵFactoryDeclaration<FieldComposite, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<FieldComposite, "ng-component", never, { "meta": { "alias": "meta"; "required": false; }; "parent": { "alias": "parent"; "required": false; }; }, {}, never, never, false, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<FieldComposite, "ng-component", never, {}, {}, never, never, false, never>;
15
13
  }
@@ -12,6 +12,7 @@ export declare class FieldInput extends FieldAbstract implements OnInit {
12
12
  addText: any;
13
13
  showClear: boolean;
14
14
  asyncSuggestions: Array<any>;
15
+ isPhoneNumber: boolean;
15
16
  constructor(metaContext: MetaContextService);
16
17
  get suggestions(): any;
17
18
  ngOnInit(): void;
@@ -23,6 +24,7 @@ export declare class FieldInput extends FieldAbstract implements OnInit {
23
24
  onSuggestionSelect(ev: any, suggestion: any): void;
24
25
  textToSpeech(): void;
25
26
  dismissDropdown(event?: any): void;
27
+ click2dial(ev: any): boolean;
26
28
  private ensureDropdownIsVisible;
27
29
  private showDropdown;
28
30
  private clickout;
@@ -2,7 +2,6 @@ import { OnInit } from '@angular/core';
2
2
  import { FieldAbstract } from '../fieldAbstract';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class FieldRadio extends FieldAbstract implements OnInit {
5
- meta: any;
6
5
  value: any;
7
6
  get options(): any;
8
7
  ngOnInit(): void;
@@ -11,5 +10,5 @@ export declare class FieldRadio extends FieldAbstract implements OnInit {
11
10
  onBlur(ev: any): void;
12
11
  private keydown;
13
12
  static ɵfac: i0.ɵɵFactoryDeclaration<FieldRadio, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<FieldRadio, "ng-component", never, { "meta": { "alias": "meta"; "required": false; }; }, {}, never, never, false, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<FieldRadio, "ng-component", never, {}, {}, never, never, false, never>;
15
14
  }
@@ -4,7 +4,6 @@ import { MetaContextService } from '../services/metaContext';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class FieldRichtext extends FieldAbstract implements OnInit {
6
6
  private metaContext;
7
- meta: any;
8
7
  active: boolean;
9
8
  quillConfigModules: {
10
9
  syntax: boolean;
@@ -24,5 +23,5 @@ export declare class FieldRichtext extends FieldAbstract implements OnInit {
24
23
  onModelChangeLocal(value: any): void;
25
24
  textToSpeech(): void;
26
25
  static ɵfac: i0.ɵɵFactoryDeclaration<FieldRichtext, never>;
27
- static ɵcmp: i0.ɵɵComponentDeclaration<FieldRichtext, "ng-component", never, { "meta": { "alias": "meta"; "required": false; }; }, {}, never, never, false, never>;
26
+ static ɵcmp: i0.ɵɵComponentDeclaration<FieldRichtext, "ng-component", never, {}, {}, never, never, false, never>;
28
27
  }
@@ -25,14 +25,13 @@ export declare class FieldSelect extends FieldAbstract implements OnInit {
25
25
  get groupedOptions(): any;
26
26
  get resourceService(): any;
27
27
  get optionsBackup(): any;
28
- static setup(instance: any, parent: any, meta: any): void;
29
28
  ngOnInit(): void;
30
29
  onActivated(ev: any): void;
31
30
  detectSearchBlock(element: any): any;
32
31
  onBlur(ev: any): void;
33
32
  onOptionSelect(ev: any, option: any): void;
34
33
  clear(ev?: any): boolean;
35
- openResource(ev: any): void;
34
+ openResource(ev: any): any;
36
35
  showDropdown(): void;
37
36
  dismissDropdown(event?: any): void;
38
37
  onSearchChange(): void;
@@ -4,12 +4,12 @@ import { MetaContextService } from '../services/metaContext';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class FieldText extends FieldAbstract implements OnInit {
6
6
  private metaContext;
7
- meta: any;
7
+ value: string;
8
8
  constructor(metaContext: MetaContextService);
9
9
  static setup(instance: any, parent: any, meta: any): void;
10
10
  ngOnInit(): void;
11
11
  onModelChangeLocal(value: any): void;
12
12
  textToSpeech(): void;
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<FieldText, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<FieldText, "ng-component", never, { "meta": { "alias": "meta"; "required": false; }; }, {}, never, never, false, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<FieldText, "ng-component", never, {}, {}, never, never, false, never>;
15
15
  }
@@ -23,6 +23,7 @@ export declare class MetaLayout implements OnInit, AfterContentChecked, OnChange
23
23
  integrationCode: string;
24
24
  resourceType: string;
25
25
  childResourceCardLabel: (r: any) => any;
26
+ overlayContainer: HTMLElement;
26
27
  constructor(viewContainerRef: ViewContainerRef, ref: ChangeDetectorRef, el: ElementRef, metaResource: MetaResourceService, referenceService: MetaReferenceService);
27
28
  get isPersistedResource(): any;
28
29
  ngOnInit(): void;
@@ -17,11 +17,12 @@ export declare class MetaField extends FieldAbstract implements OnInit {
17
17
  scope: string;
18
18
  preview: boolean;
19
19
  theme: string;
20
+ overlayContainer: HTMLElement;
20
21
  onChange: EventEmitter<any>;
21
22
  onLeave: EventEmitter<any>;
22
23
  fieldContent: MetaFieldContentDirective;
23
24
  constructor(el: ElementRef);
24
25
  ngOnInit(): Promise<void>;
25
26
  static ɵfac: i0.ɵɵFactoryDeclaration<MetaField, never>;
26
- static ɵcmp: i0.ɵɵComponentDeclaration<MetaField, "vgip-meta-field", never, { "meta": { "alias": "meta"; "required": false; }; "parent": { "alias": "parent"; "required": false; }; "integrationCode": { "alias": "integrationCode"; "required": false; }; "resourceType": { "alias": "resourceType"; "required": false; }; "index": { "alias": "index"; "required": false; }; "scope": { "alias": "scope"; "required": false; }; "preview": { "alias": "preview"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; }, { "onChange": "onChange"; "onLeave": "onLeave"; }, never, never, false, never>;
27
+ static ɵcmp: i0.ɵɵComponentDeclaration<MetaField, "vgip-meta-field", never, { "meta": { "alias": "meta"; "required": false; }; "parent": { "alias": "parent"; "required": false; }; "integrationCode": { "alias": "integrationCode"; "required": false; }; "resourceType": { "alias": "resourceType"; "required": false; }; "index": { "alias": "index"; "required": false; }; "scope": { "alias": "scope"; "required": false; }; "preview": { "alias": "preview"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "overlayContainer": { "alias": "overlayContainer"; "required": false; }; }, { "onChange": "onChange"; "onLeave": "onLeave"; }, never, never, false, never>;
27
28
  }
@@ -3,6 +3,7 @@ import { NgForm } from '@angular/forms';
3
3
  import { MetaResourceService } from '../services/metaResource';
4
4
  import { MetaContextService } from '../services/metaContext';
5
5
  import { MetaMsgService } from '../services/metaMsg';
6
+ import { Subject } from 'rxjs';
6
7
  import * as i0 from "@angular/core";
7
8
  export declare class MetaResource implements OnInit, OnChanges {
8
9
  private ref;
@@ -16,6 +17,7 @@ export declare class MetaResource implements OnInit, OnChanges {
16
17
  theme: string;
17
18
  editMode: boolean;
18
19
  done: EventEmitter<any>;
20
+ resourceChange: EventEmitter<any>;
19
21
  resourceForm: NgForm;
20
22
  integrationCode: string;
21
23
  resourceType: string;
@@ -32,6 +34,8 @@ export declare class MetaResource implements OnInit, OnChanges {
32
34
  contactsSuggestionsDone: boolean;
33
35
  isEditable: boolean;
34
36
  isPersistent: boolean;
37
+ resourceChanged: Subject<string>;
38
+ resourceVrn: string;
35
39
  constructor(ref: ChangeDetectorRef, el: ElementRef, metaResourceService: MetaResourceService, metaContext: MetaContextService, metaMsgService: MetaMsgService);
36
40
  get niceFields(): any;
37
41
  get fieldNames(): string[];
@@ -48,6 +52,7 @@ export declare class MetaResource implements OnInit, OnChanges {
48
52
  showParsedError(resourceForm: any, parsedError: any): void;
49
53
  submit(resourceForm: any): void;
50
54
  clearFormErrors(): void;
55
+ onFormChange(): void;
51
56
  private onMenuClickout;
52
57
  private suggestFieldProperty;
53
58
  private execTransformer;
@@ -57,5 +62,5 @@ export declare class MetaResource implements OnInit, OnChanges {
57
62
  private applyTheme;
58
63
  private forceUiUpdate;
59
64
  static ɵfac: i0.ɵɵFactoryDeclaration<MetaResource, never>;
60
- static ɵcmp: i0.ɵɵComponentDeclaration<MetaResource, "vgip-meta-resource", never, { "resource": { "alias": "resource"; "required": false; }; "model": { "alias": "model"; "required": false; }; "metaResourceServiceDelegated": { "alias": "metaResourceServiceDelegated"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "editMode": { "alias": "editMode"; "required": false; }; }, { "done": "done"; }, never, never, false, never>;
65
+ static ɵcmp: i0.ɵɵComponentDeclaration<MetaResource, "vgip-meta-resource", never, { "resource": { "alias": "resource"; "required": false; }; "model": { "alias": "model"; "required": false; }; "metaResourceServiceDelegated": { "alias": "metaResourceServiceDelegated"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "editMode": { "alias": "editMode"; "required": false; }; }, { "done": "done"; "resourceChange": "resourceChange"; }, never, never, false, never>;
61
66
  }
@@ -19,8 +19,10 @@ export declare class MetaContextService {
19
19
  context: any;
20
20
  uid: string;
21
21
  subject: string;
22
+ onClick2Dial: (phoneNumber: any, vrn?: string) => void;
22
23
  constructor();
23
24
  set(context?: any): void;
25
+ setOnClick2Dial(callback: (phoneNumber: any, vrn?: string) => void): void;
24
26
  static ɵfac: i0.ɵɵFactoryDeclaration<MetaContextService, never>;
25
27
  static ɵprov: i0.ɵɵInjectableDeclaration<MetaContextService>;
26
28
  }
@@ -5,7 +5,7 @@ export declare class MetaReferenceService {
5
5
  private router;
6
6
  dialogs: Array<any>;
7
7
  constructor(router: Router);
8
- openDialog(componentRef: any, metaResource: any, integrationCode: any, reference: any, resource: any, preview?: boolean, preferResourceType?: any, theme?: string): Observable<unknown>;
8
+ openDialog(componentRef: any, metaResource: any, integrationCode: any, reference: any, resource: any, preview?: boolean, preferResourceType?: any, theme?: string, overlayContainer?: HTMLElement): Observable<unknown>;
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<MetaReferenceService, never>;
10
10
  static ɵprov: i0.ɵɵInjectableDeclaration<MetaReferenceService>;
11
11
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vgip/meta-ui",
3
- "version": "1.7.5",
3
+ "version": "1.7.7",
4
4
  "description": "VGIP Meta UI",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^16.2.11",