kwikid-forms 0.4.1 → 0.5.1

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 (104) hide show
  1. package/bundles/kwikid-forms.umd.js +1868 -3663
  2. package/bundles/kwikid-forms.umd.js.map +1 -1
  3. package/esm2015/lib/builder/builder-form-editor/builder-form-editor.component.js +403 -0
  4. package/esm2015/lib/builder/builder-form-editor/builder-form-editor.definitions.js +6 -0
  5. package/esm2015/lib/builder/builder-form-editor/builder-form-editor.helper.js +29 -0
  6. package/esm2015/lib/builder/builder-form-editor/builder-form-editor.module.js +39 -0
  7. package/esm2015/lib/builder/builder-form-editor/builder.form-editor.constants.js +189 -0
  8. package/esm2015/lib/builder/builder-form-editor/builder.form-editor.service.js +43 -0
  9. package/esm2015/lib/builder/builder-form-list/builder-forms-list.component.js +99 -0
  10. package/esm2015/lib/builder/builder-form-list/builder-forms-list.module.js +40 -0
  11. package/esm2015/lib/builder/builder.component.js +111 -258
  12. package/esm2015/lib/builder/builder.helper.js +78 -0
  13. package/esm2015/lib/builder/builder.module.js +15 -72
  14. package/esm2015/lib/kwikid-forms.module.js +4 -16
  15. package/esm2015/lib/renderer/config-converter/config-converter.constants.js +74 -0
  16. package/esm2015/lib/renderer/config-converter/config-converter.helper.js +49 -0
  17. package/esm2015/lib/renderer/config-converter/config-converter.js +514 -0
  18. package/esm2015/lib/renderer/form-view/definitions/form-view.fields.definition.js +2 -1
  19. package/esm2015/lib/renderer/form-view/form-view.component.js +4 -33
  20. package/esm2015/lib/renderer/form-view/form-view.module.js +7 -6
  21. package/esm2015/lib/renderer/forms-list/forms-list.component.js +3 -5
  22. package/esm2015/lib/renderer/forms-list/forms-list.module.js +7 -5
  23. package/esm2015/lib/renderer/renderer.component.js +4 -6
  24. package/esm2015/public_api.js +1 -3
  25. package/fesm2015/kwikid-forms.js +1452 -5045
  26. package/fesm2015/kwikid-forms.js.map +1 -1
  27. package/lib/builder/builder-form-editor/builder-form-editor.component.d.ts +108 -0
  28. package/lib/builder/builder-form-editor/builder-form-editor.definitions.d.ts +5 -0
  29. package/lib/builder/builder-form-editor/builder-form-editor.helper.d.ts +3 -0
  30. package/lib/builder/builder-form-editor/builder-form-editor.module.d.ts +11 -0
  31. package/lib/{builder2 → builder}/builder-form-editor/builder.form-editor.constants.d.ts +76 -0
  32. package/lib/builder/builder-form-editor/builder.form-editor.service.d.ts +7 -0
  33. package/lib/{builder2 → builder}/builder-form-list/builder-forms-list.component.d.ts +2 -1
  34. package/lib/{builder2 → builder}/builder-form-list/builder-forms-list.module.d.ts +1 -1
  35. package/lib/builder/builder.component.d.ts +15 -34
  36. package/lib/builder/builder.helper.d.ts +1 -0
  37. package/lib/builder/builder.module.d.ts +7 -21
  38. package/lib/kwikid-forms.module.d.ts +2 -3
  39. package/lib/renderer/config-converter/config-converter.constants.d.ts +73 -0
  40. package/lib/renderer/config-converter/config-converter.d.ts +5 -0
  41. package/lib/renderer/config-converter/config-converter.helper.d.ts +7 -0
  42. package/lib/renderer/form-view/definitions/form-view.fields.definition.d.ts +1 -0
  43. package/lib/renderer/form-view/form-view.component.d.ts +0 -4
  44. package/lib/renderer/form-view/form-view.module.d.ts +7 -9
  45. package/lib/renderer/forms-list/forms-list.module.d.ts +5 -6
  46. package/package.json +3 -3
  47. package/public_api.d.ts +0 -2
  48. package/esm2015/lib/builder/element-config-editor/editors/basic/checkbox-config.editor.component.js +0 -72
  49. package/esm2015/lib/builder/element-config-editor/editors/basic/date-config.editor.component.js +0 -72
  50. package/esm2015/lib/builder/element-config-editor/editors/basic/number-config.editor.component.js +0 -72
  51. package/esm2015/lib/builder/element-config-editor/editors/basic/otp-config.editor.component.js +0 -130
  52. package/esm2015/lib/builder/element-config-editor/editors/basic/phone-config.editor.component.js +0 -132
  53. package/esm2015/lib/builder/element-config-editor/editors/basic/radio-config.editor.component.js +0 -396
  54. package/esm2015/lib/builder/element-config-editor/editors/basic/select-config.editor.component.js +0 -302
  55. package/esm2015/lib/builder/element-config-editor/editors/basic/text-config.editor.component.js +0 -132
  56. package/esm2015/lib/builder/element-config-editor/editors/basic-element-config.editor.component.js +0 -698
  57. package/esm2015/lib/builder/element-config-editor/editors/document/aadhaar-number-config.editor.component.js +0 -130
  58. package/esm2015/lib/builder/element-config-editor/editors/document/pan-number-config.editor.component.js +0 -135
  59. package/esm2015/lib/builder/element-config-editor/editors/document-element-config.editor.component.js +0 -610
  60. package/esm2015/lib/builder/element-config-editor/editors/other/html-config.editor.component.js +0 -120
  61. package/esm2015/lib/builder/element-config-editor/editors/other/title-config.editor.component.js +0 -121
  62. package/esm2015/lib/builder/element-config-editor/editors/other-element-config.editor.component.js +0 -214
  63. package/esm2015/lib/builder/element-config-editor/element-config-editor.component.js +0 -97
  64. package/esm2015/lib/builder/shared/elements.js +0 -90
  65. package/esm2015/lib/builder/shared/helpers.js +0 -6
  66. package/esm2015/lib/builder2/builder-form-editor/builder-form-editor.component.js +0 -268
  67. package/esm2015/lib/builder2/builder-form-editor/builder-form-editor.module.js +0 -38
  68. package/esm2015/lib/builder2/builder-form-editor/builder-form-editor.pipe.js +0 -19
  69. package/esm2015/lib/builder2/builder-form-editor/builder.form-editor.constants.js +0 -178
  70. package/esm2015/lib/builder2/builder-form-list/builder-forms-list.component.js +0 -85
  71. package/esm2015/lib/builder2/builder-form-list/builder-forms-list.module.js +0 -37
  72. package/esm2015/lib/builder2/builder2.component.js +0 -169
  73. package/esm2015/lib/builder2/builder2.module.js +0 -46
  74. package/esm2015/lib/renderer/config-converter.helper.js +0 -629
  75. package/esm2015/lib/renderer/form-view/pipes/safe-html.pipe.js +0 -25
  76. package/esm2015/lib/renderer/form-view/pipes/safe-url.pipe.js +0 -25
  77. package/esm2015/lib/renderer/forms-list/pipes/safe-html.pipe.js +0 -25
  78. package/lib/builder/element-config-editor/editors/basic/checkbox-config.editor.component.d.ts +0 -16
  79. package/lib/builder/element-config-editor/editors/basic/date-config.editor.component.d.ts +0 -16
  80. package/lib/builder/element-config-editor/editors/basic/number-config.editor.component.d.ts +0 -16
  81. package/lib/builder/element-config-editor/editors/basic/otp-config.editor.component.d.ts +0 -16
  82. package/lib/builder/element-config-editor/editors/basic/phone-config.editor.component.d.ts +0 -16
  83. package/lib/builder/element-config-editor/editors/basic/radio-config.editor.component.d.ts +0 -25
  84. package/lib/builder/element-config-editor/editors/basic/select-config.editor.component.d.ts +0 -24
  85. package/lib/builder/element-config-editor/editors/basic/text-config.editor.component.d.ts +0 -16
  86. package/lib/builder/element-config-editor/editors/basic-element-config.editor.component.d.ts +0 -20
  87. package/lib/builder/element-config-editor/editors/document/aadhaar-number-config.editor.component.d.ts +0 -16
  88. package/lib/builder/element-config-editor/editors/document/pan-number-config.editor.component.d.ts +0 -16
  89. package/lib/builder/element-config-editor/editors/document-element-config.editor.component.d.ts +0 -20
  90. package/lib/builder/element-config-editor/editors/other/html-config.editor.component.d.ts +0 -16
  91. package/lib/builder/element-config-editor/editors/other/title-config.editor.component.d.ts +0 -16
  92. package/lib/builder/element-config-editor/editors/other-element-config.editor.component.d.ts +0 -20
  93. package/lib/builder/element-config-editor/element-config-editor.component.d.ts +0 -20
  94. package/lib/builder/shared/elements.d.ts +0 -34
  95. package/lib/builder/shared/helpers.d.ts +0 -1
  96. package/lib/builder2/builder-form-editor/builder-form-editor.component.d.ts +0 -48
  97. package/lib/builder2/builder-form-editor/builder-form-editor.module.d.ts +0 -12
  98. package/lib/builder2/builder-form-editor/builder-form-editor.pipe.d.ts +0 -7
  99. package/lib/builder2/builder2.component.d.ts +0 -37
  100. package/lib/builder2/builder2.module.d.ts +0 -13
  101. package/lib/renderer/config-converter.helper.d.ts +0 -9
  102. package/lib/renderer/form-view/pipes/safe-html.pipe.d.ts +0 -15
  103. package/lib/renderer/form-view/pipes/safe-url.pipe.d.ts +0 -15
  104. package/lib/renderer/forms-list/pipes/safe-html.pipe.d.ts +0 -15
@@ -1,90 +0,0 @@
1
- export class Elements {
2
- constructor() {
3
- this.commonValidators = {
4
- max: null,
5
- maxLength: null,
6
- min: null,
7
- minLength: null,
8
- required: true
9
- };
10
- this.commonProperties = {
11
- placeholder: "",
12
- readOnly: false
13
- };
14
- this.commonCore = {
15
- key: "",
16
- label: "",
17
- disabled: false,
18
- messages: [],
19
- default: {
20
- value: true
21
- }
22
- };
23
- this.basic = [
24
- Object.assign(Object.assign({ elementTitle: "Text", elementType: "text", isElement: true, elementCategory: "basic" }, this.commonCore), { validators: Object.assign({}, this.commonValidators), properties: Object.assign(Object.assign({}, this.commonProperties), { case: "default" }) }),
25
- Object.assign(Object.assign({ elementTitle: "Number", elementType: "number", isElement: true, elementCategory: "basic" }, this.commonCore), { validators: Object.assign({}, this.commonValidators), properties: Object.assign({}, this.commonProperties) }),
26
- Object.assign(Object.assign({ elementTitle: "Radio", elementType: "radio", isElement: true, elementCategory: "basic" }, this.commonCore), { validators: Object.assign({}, this.commonValidators), properties: Object.assign(Object.assign({}, this.commonProperties), { orientation: "vertical" }), options: [
27
- {
28
- label: "",
29
- disabled: false,
30
- description: ""
31
- }
32
- ] }),
33
- Object.assign(Object.assign({ elementTitle: "select", elementType: "select", isElement: true, elementCategory: "basic" }, this.commonCore), { validators: Object.assign({}, this.commonValidators), properties: Object.assign(Object.assign({}, this.commonProperties), { orientation: "vertical" }), options: [
34
- {
35
- title: "",
36
- value: ""
37
- }
38
- ] }),
39
- Object.assign(Object.assign({ elementTitle: "Checkbox", elementType: "checkbox", isElement: true, elementCategory: "basic" }, this.commonCore), { validators: Object.assign({}, this.commonValidators), properties: Object.assign({}, this.commonProperties) }),
40
- Object.assign(Object.assign({ elementTitle: "Date", elementType: "date", isElement: true, elementCategory: "basic" }, this.commonCore), { validators: Object.assign({}, this.commonValidators), properties: Object.assign({}, this.commonProperties) }),
41
- Object.assign(Object.assign({ elementTitle: "OTP", elementType: "otp", isElement: true, elementCategory: "basic" }, this.commonCore), { validators: Object.assign({}, this.commonValidators), properties: Object.assign(Object.assign({}, this.commonProperties), { mask: "####" }) }),
42
- Object.assign(Object.assign({ elementTitle: "Phone", elementType: "phone", isElement: true, elementCategory: "basic" }, this.commonCore), { validators: Object.assign({}, this.commonValidators), properties: Object.assign(Object.assign({}, this.commonProperties), { countryCode: "+91", removeCountryCodeFromValue: true, phoneMaskAfterCountryCode: "##########" }) })
43
- ];
44
- this.documents = [
45
- Object.assign(Object.assign({ elementTitle: "Aadhaar Number", elementType: "aadhaar-number", isElement: true, elementCategory: "document" }, this.commonCore), { validators: Object.assign({}, this.commonValidators), properties: Object.assign(Object.assign({}, this.commonProperties), { mask: "####-####-####" }) }),
46
- Object.assign(Object.assign({ elementTitle: "PAN Number", elementType: "text", isElement: true, elementCategory: "document" }, this.commonCore), { validators: Object.assign({ pattern: { key: "IS_PAN_NUMBER" } }, this.commonValidators), properties: Object.assign(Object.assign({}, this.commonProperties), { case: "upper" }) })
47
- ];
48
- this.others = [
49
- {
50
- elementTitle: "HTML",
51
- elementType: "html",
52
- isElement: true,
53
- elementCategory: "other",
54
- key: "",
55
- html: ""
56
- },
57
- {
58
- elementTitle: "Title",
59
- elementType: "title",
60
- isElement: true,
61
- elementCategory: "other",
62
- key: "",
63
- label: ""
64
- }
65
- ];
66
- this.demographics = [
67
- Object.assign(Object.assign({ elementTitle: "Gender", elementType: "gender", isElement: true, elementCategory: "demographics" }, this.commonCore), { validators: Object.assign({}, this.commonValidators), properties: Object.assign({}, this.commonProperties) })
68
- ];
69
- this.templates = [
70
- Object.assign(Object.assign({ elementTitle: "PAN with NSDL", elementType: "pan_with_nsdl", isElement: true, elementCategory: "template" }, this.commonCore), { validators: Object.assign({}, this.commonValidators), properties: Object.assign({}, this.commonProperties) })
71
- ];
72
- this.elementMapping = {
73
- basic: [
74
- "text",
75
- "number",
76
- "radio",
77
- "select",
78
- "checkbox",
79
- "date",
80
- "otp",
81
- "phone"
82
- ],
83
- documents: ["aadhaar-number", "pan-number"],
84
- others: ["html", "title"],
85
- templates: [],
86
- demographics: []
87
- };
88
- }
89
- }
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtZm9ybXMvc3JjL2xpYi9idWlsZGVyL3NoYXJlZC9lbGVtZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sUUFBUTtJQUFyQjtRQUNFLHFCQUFnQixHQUFHO1lBQ2pCLEdBQUcsRUFBRSxJQUFJO1lBQ1QsU0FBUyxFQUFFLElBQUk7WUFDZixHQUFHLEVBQUUsSUFBSTtZQUNULFNBQVMsRUFBRSxJQUFJO1lBQ2YsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO1FBQ0YscUJBQWdCLEdBQUc7WUFDakIsV0FBVyxFQUFFLEVBQUU7WUFDZixRQUFRLEVBQUUsS0FBSztTQUNoQixDQUFDO1FBQ0YsZUFBVSxHQUFHO1lBQ1gsR0FBRyxFQUFFLEVBQUU7WUFDUCxLQUFLLEVBQUUsRUFBRTtZQUNULFFBQVEsRUFBRSxLQUFLO1lBQ2YsUUFBUSxFQUFFLEVBQUU7WUFDWixPQUFPLEVBQUU7Z0JBQ1AsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLENBQUM7UUFDRixVQUFLLEdBQWU7MENBRWhCLFlBQVksRUFBRSxNQUFNLEVBQ3BCLFdBQVcsRUFBRSxNQUFNLEVBQ25CLFNBQVMsRUFBRSxJQUFJLEVBQ2YsZUFBZSxFQUFFLE9BQU8sSUFDckIsSUFBSSxDQUFDLFVBQVUsS0FDbEIsVUFBVSxvQkFDTCxJQUFJLENBQUMsZ0JBQWdCLEdBRTFCLFVBQVUsa0NBQ0wsSUFBSSxDQUFDLGdCQUFnQixLQUN4QixJQUFJLEVBQUUsU0FBUzswQ0FJakIsWUFBWSxFQUFFLFFBQVEsRUFDdEIsV0FBVyxFQUFFLFFBQVEsRUFDckIsU0FBUyxFQUFFLElBQUksRUFDZixlQUFlLEVBQUUsT0FBTyxJQUNyQixJQUFJLENBQUMsVUFBVSxLQUNsQixVQUFVLG9CQUNMLElBQUksQ0FBQyxnQkFBZ0IsR0FFMUIsVUFBVSxvQkFDTCxJQUFJ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QUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDO1lBQ3pCLFNBQVMsRUFBRSxFQUFFO1lBQ2IsWUFBWSxFQUFFLEVBQUU7U0FDakIsQ0FBQztJQUNKLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBFbGVtZW50cyB7XG4gIGNvbW1vblZhbGlkYXRvcnMgPSB7XG4gICAgbWF4OiBudWxsLFxuICAgIG1heExlbmd0aDogbnVsbCxcbiAgICBtaW46IG51bGwsXG4gICAgbWluTGVuZ3RoOiBudWxsLFxuICAgIHJlcXVpcmVkOiB0cnVlXG4gIH07XG4gIGNvbW1vblByb3BlcnRpZXMgPSB7XG4gICAgcGxhY2Vob2xkZXI6IFwiXCIsXG4gICAgcmVhZE9ubHk6IGZhbHNlXG4gIH07XG4gIGNvbW1vbkNvcmUgPSB7XG4gICAga2V5OiBcIlwiLFxuICAgIGxhYmVsOiBcIlwiLFxuICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICBtZXNzYWdlczogW10sXG4gICAgZGVmYXVsdDoge1xuICAgICAgdmFsdWU6IHRydWVcbiAgICB9XG4gIH07XG4gIGJhc2ljOiBBcnJheTxhbnk+ID0gW1xuICAgIHtcbiAgICAgIGVsZW1lbnRUaXRsZTogXCJUZXh0XCIsXG4gICAgICBlbGVtZW50VHlwZTogXCJ0ZXh0XCIsXG4gICAgICBpc0VsZW1lbnQ6IHRydWUsXG4gICAgICBlbGVtZW50Q2F0ZWdvcnk6IFwiYmFzaWNcIixcbiAgICAgIC4uLnRoaXMuY29tbW9uQ29yZSxcbiAgICAgIHZhbGlkYXRvcnM6IHtcbiAgICAgICAgLi4udGhpcy5jb21tb25WYWxpZGF0b3JzXG4gICAgICB9LFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAuLi50aGlzLmNvbW1vblByb3BlcnRpZXMsXG4gICAgICAgIGNhc2U6IFwiZGVmYXVsdFwiXG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBlbGVtZW50VGl0bGU6IFwiTnVtYmVyXCIsXG4gICAgICBlbGVtZW50VHlwZTogXCJudW1iZXJcIixcbiAgICAgIGlzRWxlbWVudDogdHJ1ZSxcbiAgICAgIGVsZW1lbnRDYXRlZ29yeTogXCJiYXNpY1wiLFxuICAgICAgLi4udGhpcy5jb21tb25Db3JlLFxuICAgICAgdmFsaWRhdG9yczoge1xuICAgICAgICAuLi50aGlzLmNvbW1vblZhbGlkYXRvcnNcbiAgICAgIH0sXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIC4uLnRoaXMuY29tbW9uUHJvcGVydGllc1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgZWxlbWVudFRpdGxlOiBcIlJhZGlvXCIsXG4gICAgICBlbGVtZW50VHlwZTogXCJyYWRpb1wiLFxuICAgICAgaXNFbGVtZW50OiB0cnVlLFxuICAgICAgZWxlbWVudENhdGVnb3J5OiBcImJhc2ljXCIsXG4gICAgICAuLi50aGlzLmNvbW1vbkNvcmUsXG4gICAgICB2YWxpZGF0b3JzOiB7XG4gICAgICAgIC4uLnRoaXMuY29tbW9uVmFsaWRhdG9yc1xuICAgICAgfSxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgLi4udGhpcy5jb21tb25Qcm9wZXJ0aWVzLFxuICAgICAgICBvcmllbnRhdGlvbjogXCJ2ZXJ0aWNhbFwiXG4gICAgICB9LFxuICAgICAgb3B0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6IFwiXCIsXG4gICAgICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlwiXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgIGVsZW1lbnRUaXRsZTogXCJzZWxlY3RcIixcbiAgICAgIGVsZW1lbnRUeXBlOiBcInNlbGVjdFwiLFxuICAgICAgaXNFbGVtZW50OiB0cnVlLFxuICAgICAgZWxlbWVudENhdGVnb3J5OiBcImJhc2ljXCIsXG4gICAgICAuLi50aGlzLmNvbW1vbkNvcmUsXG4gICAgICB2YWxpZGF0b3JzOiB7XG4gICAgICAgIC4uLnRoaXMuY29tbW9uVmFsaWRhdG9yc1xuICAgICAgfSxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgLi4udGhpcy5jb21tb25Qcm9wZXJ0aWVzLFxuICAgICAgICBvcmllbnRhdGlvbjogXCJ2ZXJ0aWNhbFwiXG4gICAgICB9LFxuICAgICAgb3B0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgdGl0bGU6IFwiXCIsXG4gICAgICAgICAgdmFsdWU6IFwiXCJcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgZWxlbWVudFRpdGxlOiBcIkNoZWNrYm94XCIsXG4gICAgICBlbGVtZW50VHlwZTogXCJjaGVja2JveFwiLFxuICAgICAgaXNFbGVtZW50OiB0cnVlLFxuICAgICAgZWxlbWVudENhdGVnb3J5OiBcImJhc2ljXCIsXG4gICAgICAuLi50aGlzLmNvbW1vbkNvcmUsXG4gICAgICB2YWxpZGF0b3JzOiB7XG4gICAgICAgIC4uLnRoaXMuY29tbW9uVmFsaWRhdG9yc1xuICAgICAgfSxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgLi4udGhpcy5jb21tb25Qcm9wZXJ0aWVzXG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBlbGVtZW50VGl0bGU6IFwiRGF0ZVwiLFxuICAgICAgZWxlbWVudFR5cGU6IFwiZGF0ZVwiLFxuICAgICAgaXNFbGVtZW50OiB0cnVlLFxuICAgICAgZWxlbWVudENhdGVnb3J5OiBcImJhc2ljXCIsXG4gICAgICAuLi50aGlzLmNvbW1vbkNvcmUsXG4gICAgICB2YWxpZGF0b3JzOiB7XG4gICAgICAgIC4uLnRoaXMuY29tbW9uVmFsaWRhdG9yc1xuICAgICAgfSxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgLi4udGhpcy5jb21tb25Qcm9wZXJ0aWVzXG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBlbGVtZW50VGl0bGU6IFwiT1RQXCIsXG4gICAgICBlbGVtZW50VHlwZTogXCJvdHBcIixcbiAgICAgIGlzRWxlbWVudDogdHJ1ZSxcbiAgICAgIGVsZW1lbnRDYXRlZ29yeTogXCJiYXNpY1wiLFxuICAgICAgLi4udGhpcy5jb21tb25Db3JlLFxuICAgICAgdmFsaWRhdG9yczoge1xuICAgICAgICAuLi50aGlzLmNvbW1vblZhbGlkYXRvcnNcbiAgICAgIH0sXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIC4uLnRoaXMuY29tbW9uUHJvcGVydGllcyxcbiAgICAgICAgbWFzazogXCIjIyMjXCJcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIGVsZW1lbnRUaXRsZTogXCJQaG9uZVwiLFxuICAgICAgZWxlbWVudFR5cGU6IFwicGhvbmVcIixcbiAgICAgIGlzRWxlbWVudDogdHJ1ZSxcbiAgICAgIGVsZW1lbnRDYXRlZ29yeTogXCJiYXNpY1wiLFxuICAgICAgLi4udGhpcy5jb21tb25Db3JlLFxuICAgICAgdmFsaWRhdG9yczoge1xuICAgICAgICAuLi50aGlzLmNvbW1vblZhbGlkYXRvcnNcbiAgICAgIH0sXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIC4uLnRoaXMuY29tbW9uUHJvcGVydGllcyxcbiAgICAgICAgY291bnRyeUNvZGU6IFwiKzkxXCIsXG4gICAgICAgIHJlbW92ZUNvdW50cnlDb2RlRnJvbVZhbHVlOiB0cnVlLFxuICAgICAgICBwaG9uZU1hc2tBZnRlckNvdW50cnlDb2RlOiBcIiMjIyMjIyMjIyNcIlxuICAgICAgfVxuICAgIH1cbiAgXTtcbiAgZG9jdW1lbnRzOiBBcnJheTxhbnk+ID0gW1xuICAgIHtcbiAgICAgIGVsZW1lbnRUaXRsZTogXCJBYWRoYWFyIE51bWJlclwiLFxuICAgICAgZWxlbWVudFR5cGU6IFwiYWFkaGFhci1udW1iZXJcIixcbiAgICAgIGlzRWxlbWVudDogdHJ1ZSxcbiAgICAgIGVsZW1lbnRDYXRlZ29yeTogXCJkb2N1bWVudFwiLFxuICAgICAgLi4udGhpcy5jb21tb25Db3JlLFxuICAgICAgdmFsaWRhdG9yczoge1xuICAgICAgICAuLi50aGlzLmNvbW1vblZhbGlkYXRvcnNcbiAgICAgIH0sXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIC4uLnRoaXMuY29tbW9uUHJvcGVydGllcyxcbiAgICAgICAgbWFzazogXCIjIyMjLSMjIyMtIyMjI1wiXG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBlbGVtZW50VGl0bGU6IFwiUEFOIE51bWJlclwiLFxuICAgICAgZWxlbWVudFR5cGU6IFwidGV4dFwiLFxuICAgICAgaXNFbGVtZW50OiB0cnVlLFxuICAgICAgZWxlbWVudENhdGVnb3J5OiBcImRvY3VtZW50XCIsXG4gICAgICAuLi50aGlzLmNvbW1vbkNvcmUsXG4gICAgICB2YWxpZGF0b3JzOiB7XG4gICAgICAgIHBhdHRlcm46IHsga2V5OiBcIklTX1BBTl9OVU1CRVJcIiB9LFxuICAgICAgICAuLi50aGlzLmNvbW1vblZhbGlkYXRvcnNcbiAgICAgIH0sXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIC4uLnRoaXMuY29tbW9uUHJvcGVydGllcyxcbiAgICAgICAgY2FzZTogXCJ1cHBlclwiXG4gICAgICB9XG4gICAgfVxuICBdO1xuICBvdGhlcnM6IEFycmF5PGFueT4gPSBbXG4gICAge1xuICAgICAgZWxlbWVudFRpdGxlOiBcIkhUTUxcIixcbiAgICAgIGVsZW1lbnRUeXBlOiBcImh0bWxcIixcbiAgICAgIGlzRWxlbWVudDogdHJ1ZSxcbiAgICAgIGVsZW1lbnRDYXRlZ29yeTogXCJvdGhlclwiLFxuICAgICAga2V5OiBcIlwiLFxuICAgICAgaHRtbDogXCJcIlxuICAgIH0sXG4gICAge1xuICAgICAgZWxlbWVudFRpdGxlOiBcIlRpdGxlXCIsXG4gICAgICBlbGVtZW50VHlwZTogXCJ0aXRsZVwiLFxuICAgICAgaXNFbGVtZW50OiB0cnVlLFxuICAgICAgZWxlbWVudENhdGVnb3J5OiBcIm90aGVyXCIsXG4gICAgICBrZXk6IFwiXCIsXG4gICAgICBsYWJlbDogXCJcIlxuICAgIH1cbiAgXTtcbiAgZGVtb2dyYXBoaWNzOiBBcnJheTxhbnk+ID0gW1xuICAgIHtcbiAgICAgIGVsZW1lbnRUaXRsZTogXCJHZW5kZXJcIixcbiAgICAgIGVsZW1lbnRUeXBlOiBcImdlbmRlclwiLFxuICAgICAgaXNFbGVtZW50OiB0cnVlLFxuICAgICAgZWxlbWVudENhdGVnb3J5OiBcImRlbW9ncmFwaGljc1wiLFxuICAgICAgLi4udGhpcy5jb21tb25Db3JlLFxuICAgICAgdmFsaWRhdG9yczoge1xuICAgICAgICAuLi50aGlzLmNvbW1vblZhbGlkYXRvcnNcbiAgICAgIH0sXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIC4uLnRoaXMuY29tbW9uUHJvcGVydGllc1xuICAgICAgfVxuICAgIH1cbiAgXTtcbiAgdGVtcGxhdGVzOiBBcnJheTxhbnk+ID0gW1xuICAgIHtcbiAgICAgIGVsZW1lbnRUaXRsZTogXCJQQU4gd2l0aCBOU0RMXCIsXG4gICAgICBlbGVtZW50VHlwZTogXCJwYW5fd2l0aF9uc2RsXCIsXG4gICAgICBpc0VsZW1lbnQ6IHRydWUsXG4gICAgICBlbGVtZW50Q2F0ZWdvcnk6IFwidGVtcGxhdGVcIixcbiAgICAgIC4uLnRoaXMuY29tbW9uQ29yZSxcbiAgICAgIHZhbGlkYXRvcnM6IHtcbiAgICAgICAgLi4udGhpcy5jb21tb25WYWxpZGF0b3JzXG4gICAgICB9LFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAuLi50aGlzLmNvbW1vblByb3BlcnRpZXNcbiAgICAgIH1cbiAgICB9XG4gIF07XG4gIGVsZW1lbnRNYXBwaW5nID0ge1xuICAgIGJhc2ljOiBbXG4gICAgICBcInRleHRcIixcbiAgICAgIFwibnVtYmVyXCIsXG4gICAgICBcInJhZGlvXCIsXG4gICAgICBcInNlbGVjdFwiLFxuICAgICAgXCJjaGVja2JveFwiLFxuICAgICAgXCJkYXRlXCIsXG4gICAgICBcIm90cFwiLFxuICAgICAgXCJwaG9uZVwiXG4gICAgXSxcbiAgICBkb2N1bWVudHM6IFtcImFhZGhhYXItbnVtYmVyXCIsIFwicGFuLW51bWJlclwiXSxcbiAgICBvdGhlcnM6IFtcImh0bWxcIiwgXCJ0aXRsZVwiXSxcbiAgICB0ZW1wbGF0ZXM6IFtdLFxuICAgIGRlbW9ncmFwaGljczogW11cbiAgfTtcbn1cbiJdfQ==
@@ -1,6 +0,0 @@
1
- export function revisedRandId() {
2
- return Math.random()
3
- .toString(36)
4
- .replace(/[^a-z]+/g, "");
5
- }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1mb3Jtcy9zcmMvbGliL2J1aWxkZXIvc2hhcmVkL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLGFBQWE7SUFDM0IsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFO1NBQ2pCLFFBQVEsQ0FBQyxFQUFFLENBQUM7U0FDWixPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQzdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gcmV2aXNlZFJhbmRJZCgpIHtcbiAgcmV0dXJuIE1hdGgucmFuZG9tKClcbiAgICAudG9TdHJpbmcoMzYpXG4gICAgLnJlcGxhY2UoL1teYS16XSsvZywgXCJcIik7XG59XG4iXX0=
@@ -1,268 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from "@angular/core";
3
- import { FormControl, FormGroup } from "@angular/forms";
4
- import { checkObjectKeyExists, getObjectValueFromPath, logMethod, mergeObjects, setValueToObjectPath } from "kwikid-toolkit";
5
- import _ from "lodash";
6
- import { FIELD_PROPERTIES_CONFIG, FIELD_VALIDATORS_CONFIG, OPTIONS, TABLE_COLUMNS } from "./builder.form-editor.constants";
7
- import { animate, style, transition, trigger } from "@angular/animations";
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/common";
10
- import * as i2 from "@angular/forms";
11
- export class KwikIDBuilderFormEditorComponent {
12
- constructor() {
13
- this.activeFormConfig = {};
14
- this.onClickSaveActiveFormConfig = new EventEmitter();
15
- this.activeEditor = "fields";
16
- this.activeFormConfig_Fields = [];
17
- this.activeFormConfig_NoFields = {};
18
- this.loader = false;
19
- this.rows = [];
20
- this.columns = TABLE_COLUMNS;
21
- this.showPreview = false;
22
- // Constants
23
- this.options = OPTIONS;
24
- this.fieldValidators = FIELD_VALIDATORS_CONFIG;
25
- this.fieldProperties = FIELD_PROPERTIES_CONFIG;
26
- // Forms
27
- this.formGroup = {};
28
- }
29
- ngOnInit() { }
30
- ngOnChanges(changes) {
31
- const verifyChange = (key) => {
32
- return checkObjectKeyExists(changes, key) && !changes[key].firstChange;
33
- };
34
- if (verifyChange("activeFormConfig")) {
35
- this.activeFormConfig = changes.activeFormConfig.currentValue;
36
- this.initializeActiveFormConfig(this.activeFormConfig);
37
- }
38
- }
39
- initializeActiveFormConfig(activeFormConfig) {
40
- this.loader = true;
41
- this.activeFormConfig_Fields = JSON.parse(JSON.stringify(activeFormConfig.fields));
42
- this.activeFormConfig_NoFields = JSON.parse(JSON.stringify(activeFormConfig));
43
- delete this.activeFormConfig_NoFields.fields;
44
- this.rows = this.activeFormConfig_Fields.map((field) => {
45
- return {
46
- key: field.key,
47
- label: field.label,
48
- type: field.type,
49
- disabled: field.disabled,
50
- validators: Object.assign(Object.assign({}, this.fieldValidators), field.validators),
51
- properties: Object.assign(Object.assign({}, this.fieldProperties[field.type]), field.properties)
52
- };
53
- });
54
- // Create the nested FormGroup dynamically
55
- this.formGroup = this.createNestedFormGroup(this.rows);
56
- console.log(this.formGroup);
57
- this.loader = false;
58
- }
59
- createNestedFormGroup(object) {
60
- const formGroup = {};
61
- for (let index in object) {
62
- formGroup[index] = new FormControl(object[index]);
63
- }
64
- return new FormGroup(formGroup);
65
- }
66
- handleOnClickChangeEditor(editorType) {
67
- this.activeEditor = editorType;
68
- }
69
- handleOnClickSaveActiveFormConfig_NoFields(e) {
70
- this.activeFormConfig_NoFields = JSON.parse(e);
71
- }
72
- handleOnInput(e) {
73
- const fieldConfig = this.formGroup.getRawValue()[e.index];
74
- const finalPath = e.path !== "" ? `${e.path}.${e.key}` : e.key;
75
- let newFieldConfig = setValueToObjectPath(fieldConfig, finalPath, e.value.new);
76
- // Update properties config if type is changed
77
- if (e.key === "type") {
78
- this.loader = true;
79
- const updatedPropertiesConfig = Object.assign({}, FIELD_PROPERTIES_CONFIG[e.value.new]);
80
- newFieldConfig = Object.assign(Object.assign({}, newFieldConfig), { properties: updatedPropertiesConfig });
81
- // Update properties config in this.rows as well
82
- const rowIndex = this.rows.findIndex((row) => row.key === fieldConfig.key);
83
- if (rowIndex !== -1) {
84
- this.rows[rowIndex].properties = updatedPropertiesConfig;
85
- }
86
- this.loader = false;
87
- }
88
- this.formGroup.controls[e.index].setValue(newFieldConfig, {
89
- emitEvent: false
90
- });
91
- }
92
- handleOnClickPreview() {
93
- this.showPreview = true;
94
- }
95
- handleOnClickAddField() { }
96
- handleOnClickDeleteField(e) {
97
- this.rows = this.rows.filter((row) => {
98
- if (row.key !== e.key) {
99
- return row;
100
- }
101
- });
102
- console.log(JSON.parse(JSON.stringify(this.rows)));
103
- // Create the nested FormGroup dynamically
104
- this.formGroup = this.createNestedFormGroup(this.rows);
105
- console.log(this.formGroup);
106
- this.formGroup.updateValueAndValidity();
107
- }
108
- handleOnClickSaveActiveFormConfig() {
109
- // print deep copies of rows and activeFormFields_Fields
110
- this.activeFormConfig_Fields = this.activeFormConfig_Fields
111
- .filter((field) => _.some(this.rows, { key: field.key }))
112
- .map((field) => {
113
- const matchingRow = _.find(this.rows, { key: field.key });
114
- return _.merge({}, field, matchingRow);
115
- });
116
- this.activeFormConfig = mergeObjects(this.activeFormConfig_NoFields, {
117
- fields: this.activeFormConfig_Fields
118
- });
119
- this.onClickSaveActiveFormConfig.emit(this.activeFormConfig);
120
- }
121
- /**
122
- * Other Methods
123
- */
124
- copyToClipboard() {
125
- navigator.clipboard.writeText(JSON.stringify(this.activeFormConfig));
126
- }
127
- downloadJSON() {
128
- const DATA = JSON.stringify(this.activeFormConfig); // Convert object to JSON string
129
- const type = "application/json";
130
- const FILE_NAME = `${this.activeFormConfig.key}.json`;
131
- const blob = new Blob([DATA], { type });
132
- const url = window.URL.createObjectURL(blob);
133
- const link = document.createElement("a");
134
- link.download = FILE_NAME;
135
- link.href = url;
136
- link.click();
137
- window.URL.revokeObjectURL(url);
138
- }
139
- closeJSONPopup() {
140
- this.showPreview = false;
141
- }
142
- /**
143
- * Misc Methods
144
- */
145
- trackByFn(index, item) {
146
- const key = (item === null || item === void 0 ? void 0 : item.key) || "";
147
- const value = (item === null || item === void 0 ? void 0 : item.value) || "";
148
- if (typeof item === "string") {
149
- return `${String(index)}_${item}_${new Date().getTime()}`;
150
- }
151
- else {
152
- return `${String(index)}_${key}_${value}_${new Date().getTime()}`;
153
- }
154
- }
155
- getOptions(index, value, key, path) {
156
- if (path.includes("properties")) {
157
- const fieldType = this.rows[index].type;
158
- const finalPath = `${path}['${fieldType}'].${key}`;
159
- return getObjectValueFromPath(this.options, finalPath);
160
- }
161
- else {
162
- const finalPath = path !== "" ? `${path}.${key}` : key;
163
- return getObjectValueFromPath(this.options, finalPath);
164
- }
165
- }
166
- isOptions(index, value, key, path) {
167
- if (path.includes("properties")) {
168
- const fieldType = this.rows[index].type;
169
- const finalPath = `${path}['${fieldType}'].${key}`;
170
- return Array.isArray(getObjectValueFromPath(this.options, finalPath));
171
- }
172
- else {
173
- const finalPath = path !== "" ? `${path}.${key}` : key;
174
- return Array.isArray(getObjectValueFromPath(this.options, finalPath));
175
- }
176
- }
177
- isBoolean(value) {
178
- return typeof value === "boolean";
179
- }
180
- isString(value) {
181
- return typeof value === "string";
182
- }
183
- isNumber(value) {
184
- return typeof value === "number";
185
- }
186
- isObject(value) {
187
- return typeof value === "object" && value !== null;
188
- }
189
- }
190
- /** @nocollapse */ KwikIDBuilderFormEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDBuilderFormEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
191
- /** @nocollapse */ KwikIDBuilderFormEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDBuilderFormEditorComponent, selector: "kwikid-builder-form-editor", inputs: { activeFormConfig: "activeFormConfig" }, outputs: { onClickSaveActiveFormConfig: "onClickSaveActiveFormConfig" }, usesOnChanges: true, ngImport: i0, template: "<div\n ngClass=\"container\"\n *ngIf=\"activeFormConfig\"\n>\n <header>\n <div>{{ activeFormConfig.title }} Form Editor</div>\n <div ngClass=\"header-form-editor-btns\">\n <button (click)=\"handleOnClickChangeEditor('non-fields')\">\n Edit Non-Fields\n </button>\n <button (click)=\"handleOnClickChangeEditor('fields')\">Edit Fields</button>\n </div>\n </header>\n <main>\n <div\n ngClass=\"form-config-no-fields\"\n *ngIf=\"activeEditor != 'fields'\"\n >\n <pre\n contenteditable=\"true\"\n (keyup)=\"\n handleOnClickSaveActiveFormConfig_NoFields($event.target.innerHTML)\n \"\n >{{ activeFormConfig_NoFields | json }}</pre\n >\n </div>\n <div\n ngClass=\"form-config-fields\"\n *ngIf=\"activeEditor == 'fields'\"\n >\n <table>\n <thead>\n <tr>\n <th *ngFor=\"let column of columns; trackBy: trackByFn\">{{\n column\n }}</th>\n </tr>\n </thead>\n <tbody>\n <ng-container\n *ngFor=\"let row of rows; let i = index; trackBy: trackByFn\"\n >\n <tr>\n <ng-container\n *ngFor=\"\n let column of columns;\n let j = index;\n trackBy: trackByFn\n \"\n >\n <td>\n <div [ngClass]=\"column\">\n <ng-container\n *ngIf=\"column !== 'delete'\"\n [ngTemplateOutlet]=\"getFieldTemplate\"\n [ngTemplateOutletContext]=\"{\n index: i,\n fieldValue: row[column],\n fieldKey: column,\n parentPath: ''\n }\"\n ></ng-container>\n <ng-container *ngIf=\"column === 'delete'\">\n <button\n (click)=\"\n handleOnClickDeleteField({\n index: i,\n key: row['key']\n })\n \"\n [disabled]=\"rows.length === 1\"\n >\n Delete\n </button>\n </ng-container>\n </div>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n </tbody>\n </table>\n </div>\n </main>\n <footer>\n <button (click)=\"handleOnClickPreview()\">Preview</button>\n <button (click)=\"handleOnClickAddField()\">Add Field</button>\n <button (click)=\"handleOnClickSaveActiveFormConfig()\">Save</button>\n </footer>\n</div>\n<div\n ngClass=\"container\"\n *ngIf=\"!activeFormConfig\"\n>\n <h1 ngClass=\"no-form-selected\">Please select a form</h1>\n</div>\n\n<!-- Template for rendering different field types -->\n<ng-template\n #getFieldTemplate\n let-index=\"index\"\n let-value=\"fieldValue\"\n let-key=\"fieldKey\"\n let-path=\"parentPath\"\n>\n <div>\n <ng-container\n [ngTemplateOutlet]=\"\n isObject(value) ? objectFieldTemplate : notObjectFieldTemplate\n \"\n [ngTemplateOutletContext]=\"{\n index: index,\n fieldValue: value,\n fieldKey: key,\n parentPath: path\n }\"\n >\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template\n #objectFieldTemplate\n let-index=\"index\"\n let-value=\"fieldValue\"\n let-key=\"fieldKey\"\n let-path=\"parentPath\"\n>\n <ng-container *ngFor=\"let item of value | keyvalue; trackBy: trackByFn\">\n <ng-container\n [ngTemplateOutlet]=\"getFieldTemplate\"\n [ngTemplateOutletContext]=\"{\n index: index,\n fieldValue: item.value,\n fieldKey: item.key,\n parentPath: path === '' ? key : path + '.' + key\n }\"\n >\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template\n #notObjectFieldTemplate\n let-index=\"index\"\n let-value=\"fieldValue\"\n let-key=\"fieldKey\"\n let-path=\"parentPath\"\n>\n <div>\n <ng-container *ngIf=\"isOptions(index, value, key, path)\">\n <ng-container\n [ngTemplateOutlet]=\"optionFieldTemplate\"\n [ngTemplateOutletContext]=\"{\n index: index,\n key: key,\n value: value,\n path: path,\n options: getOptions(index, value, key, path)\n }\"\n ></ng-container>\n </ng-container>\n <ng-container\n *ngIf=\"!isOptions(index, value, key, path) && isString(value)\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n textFieldTemplate;\n context: { index: index, key: key, value: value, path: path }\n \"\n ></ng-container>\n </ng-container>\n <ng-container\n *ngIf=\"!isOptions(index, value, key, path) && isNumber(value)\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n numberFieldTemplate;\n context: { index: index, key: key, value: value, path: path }\n \"\n ></ng-container>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template\n #optionFieldTemplate\n let-index=\"index\"\n let-key=\"key\"\n let-value=\"value\"\n let-path=\"path\"\n let-options=\"options\"\n>\n <div class=\"field-container options\">\n <label for=\"\">{{ path }}.{{ key }}</label>\n <select\n (change)=\"handleOnInput({ index, key, value: { previous: value, new: $event.target.value }, path })\"\n >\n <option\n *ngFor=\"let option of options; trackBy: trackByFn\"\n [value]=\"option\"\n [selected]=\"option === value\"\n >{{ option }}</option\n >\n </select>\n </div>\n</ng-template>\n\n<ng-template\n #booleanFieldTemplate\n let-index=\"index\"\n let-key=\"key\"\n let-value=\"value\"\n let-path=\"path\"\n>\n <div class=\"field-container checkbox\">\n <input\n type=\"checkbox\"\n [checked]=\"value\"\n (change)=\"handleOnInput({ index, key, value: { previous: value, new: $event.target.checked }, path })\"\n />\n <span>{{ path }}.{{ key }}</span>\n </div>\n</ng-template>\n\n<ng-template\n #textFieldTemplate\n let-index=\"index\"\n let-key=\"key\"\n let-value=\"value\"\n let-path=\"path\"\n>\n <div class=\"field-container text\">\n <label for=\"\">{{ path }}.{{ key }}</label>\n <input\n placeholder=\"Enter {{ key }}\"\n type=\"text\"\n [value]=\"value\"\n (keyup)=\"handleOnInput({ index, key, value: { previous: value, new: $event.target.value }, path })\"\n />\n </div>\n</ng-template>\n\n<ng-template\n #numberFieldTemplate\n let-index=\"index\"\n let-key=\"key\"\n let-value=\"value\"\n let-path=\"path\"\n>\n <div class=\"field-container number\">\n <label>{{ path }}.{{ key }}</label>\n <input\n placeholder=\"Enter {{ key }}\"\n type=\"number\"\n [value]=\"value\"\n (keyup)=\"handleOnInput({ index, key, value: { previous: value, new: $event.target.value }, path })\"\n />\n </div>\n</ng-template>\n\n<div\n ngClass=\"kwikid-forms-builder-loader\"\n *ngIf=\"loader\"\n>\n <div class=\"loader-container\">\n <span class=\"loader\"></span>\n <div class=\"loader-text\">Please wait</div>\n </div>\n</div>\n\n<div\n class=\"modal\"\n *ngIf=\"showPreview\"\n [@panelInOut]\n>\n <div class=\"modal-box\">\n <div class=\"modal-content\">\n <div class=\"modal-heading\">\n <div class=\"modal-title\">\n {{ activeFormConfig.title }}'s Config Preview\n </div>\n <div class=\"modal-actions\">\n <button (click)=\"downloadJSON()\">Download Config</button>\n <button (click)=\"copyToClipboard()\">Copy Config to Clipboard</button>\n <button (click)=\"closeJSONPopup()\">Close</button>\n </div>\n </div>\n <div class=\"modal-body\">\n <pre>\n <code>{{ activeFormConfig | json }}</code>\n </pre>\n </div>\n </div>\n </div>\n</div>\n", styles: ["input[type=text],input[type=number]{width:100%;padding:6px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box;-webkit-appearance:auto!important;appearance:auto!important}input[type=checkbox]{margin-right:5px;-webkit-appearance:auto!important;appearance:auto!important}select{width:100%;padding:6px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}textarea{overflow-wrap:anywhere;resize:none;unicode-bidi:embed;white-space:pre-wrap}button{display:inline-block;padding:10px 20px;background-color:#007bff;color:#fff;text-decoration:none;border-radius:4px;border:none;cursor:pointer}button:hover{background-color:#0069d9}button:active{background-color:#0056b3}button:focus{outline:none}.field-container{display:flex;margin-bottom:10px}.field-container label{color:gray}.field-container.checkbox{flex-direction:row;align-items:center}.field-container.options,.field-container.number,.field-container.text{flex-direction:column}.kwikid-forms-builder-loader{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(211,211,211,.5);display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center;grid-gap:1rem;gap:1rem;z-index:100}.kwikid-forms-builder-loader .loader-container{display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center;padding:2em 1.5em;grid-gap:1rem;gap:1rem;background-color:#fff;box-shadow:#959da533 0 8px 24px;border-radius:.5rem}.kwikid-forms-builder-loader .loader-container .loader{width:28px;height:28px;border-radius:50%;display:inline-block;position:relative;border:3px solid;box-sizing:border-box;border-color:var(--tui-primary) transparent transparent;animation:rotation 1s ease-out infinite}@keyframes rotation{0%{transform:rotate(0);animation-timing-function:ease-in}25%{animation-timing-function:linear}50%{transform:rotate(180deg);animation-timing-function:ease-out}75%{animation-timing-function:linear}to{transform:rotate(360deg);animation-timing-function:ease-in}}.kwikid-forms-builder-loader .loader-container .loader-text{font-size:1rem;color:#000;margin:0}.kwikid-forms-builder-loader .t-loader{display:none!important}\n", "::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}:host{all:unset;position:relative;width:100%;height:100%;overflow:auto}.container{display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;height:100%}.container header{padding:.5rem;display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;border-bottom:1px solid lightgray}.container header .header-form-editor-btns{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;grid-gap:1rem;gap:1rem}.container main{padding:.5rem;flex-grow:1;overflow:auto;display:flex;flex-direction:row;justify-content:flex-start;align-items:stretch;grid-gap:1rem;gap:1rem;white-space:nowrap}.container main .form-config-no-fields{overflow:auto;width:100%}.container main .form-config-fields{overflow:auto;width:100%}.container main .validators,.container main .properties{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;grid-gap:.5rem;gap:.5rem}.container main .input-checkbox-container{display:flex;flex-direction:row}.container footer{padding:.5rem;display:flex;flex-direction:row;justify-content:flex-end;align-items:stretch;grid-gap:1rem;gap:1rem;border-top:1px solid lightgray}.container .no-form-selected{display:flex;flex-direction:column;align-items:center;justify-content:center;grid-gap:1rem;gap:1rem;flex-grow:1}.modal{position:absolute;top:0;background-color:#0000004d;width:100%;height:100%;display:flex;justify-content:center;align-items:center;left:0;flex-direction:row}.modal-box{width:75%;height:75%;margin:auto;background-color:#fff;border-radius:1rem;box-shadow:#64646f33 0 7px 29px}.modal-content{display:flex;flex-direction:column;align-content:center;justify-content:flex-start;align-items:stretch;width:100%;height:100%}.modal-heading{padding:.5rem 1rem;width:100%;display:flex;flex-direction:row;justify-content:space-between;border-bottom:1px solid lightgray;align-items:center}.modal-title{font-weight:bold;font-size:1rem}.modal-actions{display:flex;flex-direction:row;grid-gap:1rem;gap:1rem;cursor:pointer}.modal-body{overflow:auto}.modal-body pre{padding:1rem}pre{white-space:pre-wrap;overflow:auto}table{width:100%;border-collapse:collapse;margin-bottom:20px}table th,table td{padding:8px;text-align:left;border:1px solid #ccc;vertical-align:top}table th{background-color:#f2f2f2}table tr:nth-child(even){background-color:#f9f9f9}table tr:hover{background-color:#eaeaea}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }], pipes: { "json": i1.JsonPipe, "keyvalue": i1.KeyValuePipe }, animations: [
192
- trigger("panelInOut", [
193
- transition(":enter", [
194
- style({ transform: "translateY(100%)" }),
195
- animate(150)
196
- ]),
197
- transition(":leave", [
198
- animate(100, style({ transform: "translateY(100%)" }))
199
- ])
200
- ])
201
- ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
202
- __decorate([
203
- logMethod
204
- ], KwikIDBuilderFormEditorComponent.prototype, "ngOnChanges", null);
205
- __decorate([
206
- logMethod
207
- ], KwikIDBuilderFormEditorComponent.prototype, "initializeActiveFormConfig", null);
208
- __decorate([
209
- logMethod
210
- ], KwikIDBuilderFormEditorComponent.prototype, "createNestedFormGroup", null);
211
- __decorate([
212
- logMethod
213
- ], KwikIDBuilderFormEditorComponent.prototype, "handleOnClickChangeEditor", null);
214
- __decorate([
215
- logMethod
216
- ], KwikIDBuilderFormEditorComponent.prototype, "handleOnClickSaveActiveFormConfig_NoFields", null);
217
- __decorate([
218
- logMethod
219
- ], KwikIDBuilderFormEditorComponent.prototype, "handleOnInput", null);
220
- __decorate([
221
- logMethod
222
- ], KwikIDBuilderFormEditorComponent.prototype, "handleOnClickPreview", null);
223
- __decorate([
224
- logMethod
225
- ], KwikIDBuilderFormEditorComponent.prototype, "handleOnClickAddField", null);
226
- __decorate([
227
- logMethod
228
- ], KwikIDBuilderFormEditorComponent.prototype, "handleOnClickDeleteField", null);
229
- __decorate([
230
- logMethod
231
- ], KwikIDBuilderFormEditorComponent.prototype, "handleOnClickSaveActiveFormConfig", null);
232
- __decorate([
233
- logMethod
234
- ], KwikIDBuilderFormEditorComponent.prototype, "copyToClipboard", null);
235
- __decorate([
236
- logMethod
237
- ], KwikIDBuilderFormEditorComponent.prototype, "downloadJSON", null);
238
- __decorate([
239
- logMethod
240
- ], KwikIDBuilderFormEditorComponent.prototype, "closeJSONPopup", null);
241
- __decorate([
242
- logMethod
243
- ], KwikIDBuilderFormEditorComponent.prototype, "trackByFn", null);
244
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDBuilderFormEditorComponent, decorators: [{
245
- type: Component,
246
- args: [{
247
- selector: "kwikid-builder-form-editor",
248
- templateUrl: "./builder-form-editor.component.html",
249
- styleUrls: ["../shared.scss", "./builder-form-editor.component.scss"],
250
- changeDetection: ChangeDetectionStrategy.OnPush,
251
- animations: [
252
- trigger("panelInOut", [
253
- transition(":enter", [
254
- style({ transform: "translateY(100%)" }),
255
- animate(150)
256
- ]),
257
- transition(":leave", [
258
- animate(100, style({ transform: "translateY(100%)" }))
259
- ])
260
- ])
261
- ]
262
- }]
263
- }], ctorParameters: function () { return []; }, propDecorators: { activeFormConfig: [{
264
- type: Input
265
- }], onClickSaveActiveFormConfig: [{
266
- type: Output
267
- }], ngOnChanges: [], initializeActiveFormConfig: [], createNestedFormGroup: [], handleOnClickChangeEditor: [], handleOnClickSaveActiveFormConfig_NoFields: [], handleOnInput: [], handleOnClickPreview: [], handleOnClickAddField: [], handleOnClickDeleteField: [], handleOnClickSaveActiveFormConfig: [], copyToClipboard: [], downloadJSON: [], closeJSONPopup: [], trackByFn: [] } });
268
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci1mb3JtLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtZm9ybXMvc3JjL2xpYi9idWlsZGVyMi9idWlsZGVyLWZvcm0tZWRpdG9yL2J1aWxkZXItZm9ybS1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWZvcm1zL3NyYy9saWIvYnVpbGRlcjIvYnVpbGRlci1mb3JtLWVkaXRvci9idWlsZGVyLWZvcm0tZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsc0JBQXNCLEVBQ3RCLFNBQVMsRUFDVCxZQUFZLEVBQ1osb0JBQW9CLEVBQ3JCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsdUJBQXVCLEVBQ3ZCLE9BQU8sRUFDUCxhQUFhLEVBQ2QsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7QUFtQjFFLE1BQU0sT0FBTyxnQ0FBZ0M7SUEwQjNDO1FBeEJBLHFCQUFnQixHQUFRLEVBQUUsQ0FBQztRQUczQixnQ0FBMkIsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV6RSxpQkFBWSxHQUFXLFFBQVEsQ0FBQztRQUNoQyw0QkFBdUIsR0FBVSxFQUFFLENBQUM7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LENBQUM7b0JBQ3JFLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUU7d0JBQ1YsT0FBTyxDQUFDLFlBQVksRUFBRTs0QkFDcEIsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUM7Z0NBQ3hDLE9BQU8sQ0FBQyxHQUFHLENBQUM7NkJBQ2IsQ0FBQzs0QkFDRixVQUFVLENBQUMsUUFBUSxFQUFFO2dDQUNuQixPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7NkJBQ3ZELENBQUM7eUJBQ0gsQ0FBQztxQkFDSDtpQkFDRjswRUFHQyxnQkFBZ0I7c0JBRGYsS0FBSztnQkFJTiwyQkFBMkI7c0JBRDFCLE1BQU07Z0JBMkJQLFdBQVcsTUFZWCwwQkFBMEIsTUErQjFCLHFCQUFxQixNQVdyQix5QkFBeUIsTUFLekIsMENBQTBDLE1BSzFDLGFBQWEsTUF1Q2Isb0JBQW9CLE1BS3BCLHFCQUFxQixNQUdyQix3QkFBd0IsTUFpQnhCLGlDQUFpQyxNQXFCakMsZUFBZSxNQUtmLFlBQVksTUFlWixjQUFjLE1BUWQsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7XG4gIGNoZWNrT2JqZWN0S2V5RXhpc3RzLFxuICBnZXRPYmplY3RWYWx1ZUZyb21QYXRoLFxuICBsb2dNZXRob2QsXG4gIG1lcmdlT2JqZWN0cyxcbiAgc2V0VmFsdWVUb09iamVjdFBhdGhcbn0gZnJvbSBcImt3aWtpZC10b29sa2l0XCI7XG5pbXBvcnQgXyBmcm9tIFwibG9kYXNoXCI7XG5pbXBvcnQge1xuICBGSUVMRF9QUk9QRVJUSUVTX0NPTkZJRyxcbiAgRklFTERfVkFMSURBVE9SU19DT05GSUcsXG4gIE9QVElPTlMsXG4gIFRBQkxFX0NPTFVNTlNcbn0gZnJvbSBcIi4vYnVpbGRlci5mb3JtLWVkaXRvci5jb25zdGFudHNcIjtcbmltcG9ydCB7IGFuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSBcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImt3aWtpZC1idWlsZGVyLWZvcm0tZWRpdG9yXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vYnVpbGRlci1mb3JtLWVkaXRvci5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4uL3NoYXJlZC5zY3NzXCIsIFwiLi9idWlsZGVyLWZvcm0tZWRpdG9yLmNvbXBvbmVudC5zY3NzXCJdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoXCJwYW5lbEluT3V0XCIsIFtcbiAgICAgIHRyYW5zaXRpb24oXCI6ZW50ZXJcIiwgW1xuICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogXCJ0cmFuc2xhdGVZKDEwMCUpXCIgfSksXG4gICAgICAgIGFuaW1hdGUoMTUwKVxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKFwiOmxlYXZlXCIsIFtcbiAgICAgICAgYW5pbWF0ZSgxMDAsIHN0eWxlKHsgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZVkoMTAwJSlcIiB9KSlcbiAgICAgIF0pXG4gICAgXSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBLd2lrSURCdWlsZGVyRm9ybUVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KClcbiAgYWN0aXZlRm9ybUNvbmZpZzogYW55ID0ge307XG5cbiAgQE91dHB1dCgpXG4gIG9uQ2xpY2tTYXZlQWN0aXZlRm9ybUNvbmZpZzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBhY3RpdmVFZGl0b3I6IHN0cmluZyA9IFwiZmllbGRzXCI7XG4gIGFjdGl2ZUZvcm1Db25maWdfRmllbGRzOiBhbnlbXSA9IFtdO1xuICBhY3RpdmVGb3JtQ29uZmlnX05vRmllbGRzOiBhbnkgPSB7fTtcblxuICBsb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICByb3dzOiBhbnlbXSA9IFtdO1xuICBjb2x1bW5zOiBhbnlbXSA9IFRBQkxFX0NPTFVNTlM7XG5cbiAgc2hvd1ByZXZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvLyBDb25zdGFudHNcbiAgb3B0aW9uczogYW55ID0gT1BUSU9OUztcbiAgZmllbGRWYWxpZGF0b3JzOiBhbnkgPSBGSUVMRF9WQUxJREFUT1JTX0NPTkZJRztcbiAgZmllbGRQcm9wZXJ0aWVzOiBhbnkgPSBGSUVMRF9QUk9QRVJUSUVTX0NPTkZJRztcblxuICAvLyBGb3Jtc1xuICBmb3JtR3JvdXA6IGFueSA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgQGxvZ01ldGhvZFxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3QgdmVyaWZ5Q2hhbmdlID0gKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gY2hlY2tPYmplY3RLZXlFeGlzdHMoY2hhbmdlcywga2V5KSAmJiAhY2hhbmdlc1trZXldLmZpcnN0Q2hhbmdlO1xuICAgIH07XG4gICAgaWYgKHZlcmlmeUNoYW5nZShcImFjdGl2ZUZvcm1Db25maWdcIikpIHtcbiAgICAgIHRoaXMuYWN0aXZlRm9ybUNvbmZpZyA9IGNoYW5nZXMuYWN0aXZlRm9ybUNvbmZpZy5jdXJyZW50VmFsdWU7XG5cbiAgICAgIHRoaXMuaW5pdGlhbGl6ZUFjdGl2ZUZvcm1Db25maWcodGhpcy5hY3RpdmVGb3JtQ29uZmlnKTtcbiAgICB9XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIGluaXRpYWxpemVBY3RpdmVGb3JtQ29uZmlnKGFjdGl2ZUZvcm1Db25maWc6IGFueSkge1xuICAgIHRoaXMubG9hZGVyID0gdHJ1ZTtcblxuICAgIHRoaXMuYWN0aXZlRm9ybUNvbmZpZ19GaWVsZHMgPSBKU09OLnBhcnNlKFxuICAgICAgSlNPTi5zdHJpbmdpZnkoYWN0aXZlRm9ybUNvbmZpZy5maWVsZHMpXG4gICAgKTtcbiAgICB0aGlzLmFjdGl2ZUZvcm1Db25maWdfTm9GaWVsZHMgPSBKU09OLnBhcnNlKFxuICAgICAgSlNPTi5zdHJpbmdpZnkoYWN0aXZlRm9ybUNvbmZpZylcbiAgICApO1xuICAgIGRlbGV0ZSB0aGlzLmFjdGl2ZUZvcm1Db25maWdfTm9GaWVsZHMuZmllbGRzO1xuXG4gICAgdGhpcy5yb3dzID0gdGhpcy5hY3RpdmVGb3JtQ29uZmlnX0ZpZWxkcy5tYXAoKGZpZWxkOiBhbnkpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGtleTogZmllbGQua2V5LFxuICAgICAgICBsYWJlbDogZmllbGQubGFiZWwsXG4gICAgICAgIHR5cGU6IGZpZWxkLnR5cGUsXG4gICAgICAgIGRpc2FibGVkOiBmaWVsZC5kaXNhYmxlZCxcbiAgICAgICAgdmFsaWRhdG9yczogeyAuLi50aGlzLmZpZWxkVmFsaWRhdG9ycywgLi4uZmllbGQudmFsaWRhdG9ycyB9LFxuICAgICAgICBwcm9wZXJ0aWVzOiB7IC4uLnRoaXMuZmllbGRQcm9wZXJ0aWVzW2ZpZWxkLnR5cGVdLCAuLi5maWVsZC5wcm9wZXJ0aWVzIH1cbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICAvLyBDcmVhdGUgdGhlIG5lc3RlZCBGb3JtR3JvdXAgZHluYW1pY2FsbHlcbiAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuY3JlYXRlTmVzdGVkRm9ybUdyb3VwKHRoaXMucm93cyk7XG5cbiAgICBjb25zb2xlLmxvZyh0aGlzLmZvcm1Hcm91cCk7XG5cbiAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBjcmVhdGVOZXN0ZWRGb3JtR3JvdXAob2JqZWN0OiBhbnlbXSk6IEZvcm1Hcm91cCB7XG4gICAgY29uc3QgZm9ybUdyb3VwID0ge307XG5cbiAgICBmb3IgKGxldCBpbmRleCBpbiBvYmplY3QpIHtcbiAgICAgIGZvcm1Hcm91cFtpbmRleF0gPSBuZXcgRm9ybUNvbnRyb2wob2JqZWN0W2luZGV4XSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBGb3JtR3JvdXAoZm9ybUdyb3VwKTtcbiAgfVxuXG4gIEBsb2dNZXRob2RcbiAgaGFuZGxlT25DbGlja0NoYW5nZUVkaXRvcihlZGl0b3JUeXBlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmFjdGl2ZUVkaXRvciA9IGVkaXRvclR5cGU7XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIGhhbmRsZU9uQ2xpY2tTYXZlQWN0aXZlRm9ybUNvbmZpZ19Ob0ZpZWxkcyhlOiBhbnkpIHtcbiAgICB0aGlzLmFjdGl2ZUZvcm1Db25maWdfTm9GaWVsZHMgPSBKU09OLnBhcnNlKGUpO1xuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBoYW5kbGVPbklucHV0KGU6IGFueSkge1xuICAgIGNvbnN0IGZpZWxkQ29uZmlnID0gdGhpcy5mb3JtR3JvdXAuZ2V0UmF3VmFsdWUoKVtlLmluZGV4XTtcbiAgICBjb25zdCBmaW5hbFBhdGggPSBlLnBhdGggIT09IFwiXCIgPyBgJHtlLnBhdGh9LiR7ZS5rZXl9YCA6IGUua2V5O1xuXG4gICAgbGV0IG5ld0ZpZWxkQ29uZmlnID0gc2V0VmFsdWVUb09iamVjdFBhdGgoXG4gICAgICBmaWVsZENvbmZpZyxcbiAgICAgIGZpbmFsUGF0aCxcbiAgICAgIGUudmFsdWUubmV3XG4gICAgKTtcblxuICAgIC8vIFVwZGF0ZSBwcm9wZXJ0aWVzIGNvbmZpZyBpZiB0eXBlIGlzIGNoYW5nZWRcbiAgICBpZiAoZS5rZXkgPT09IFwidHlwZVwiKSB7XG4gICAgICB0aGlzLmxvYWRlciA9IHRydWU7XG5cbiAgICAgIGNvbnN0IHVwZGF0ZWRQcm9wZXJ0aWVzQ29uZmlnID0ge1xuICAgICAgICAuLi5GSUVMRF9QUk9QRVJUSUVTX0NPTkZJR1tlLnZhbHVlLm5ld11cbiAgICAgIH07XG4gICAgICBuZXdGaWVsZENvbmZpZyA9IHtcbiAgICAgICAgLi4ubmV3RmllbGRDb25maWcsXG4gICAgICAgIHByb3BlcnRpZXM6IHVwZGF0ZWRQcm9wZXJ0aWVzQ29uZmlnXG4gICAgICB9O1xuXG4gICAgICAvLyBVcGRhdGUgcHJvcGVydGllcyBjb25maWcgaW4gdGhpcy5yb3dzIGFzIHdlbGxcbiAgICAgIGNvbnN0IHJvd0luZGV4ID0gdGhpcy5yb3dzLmZpbmRJbmRleChcbiAgICAgICAgKHJvdykgPT4gcm93LmtleSA9PT0gZmllbGRDb25maWcua2V5XG4gICAgICApO1xuICAgICAgaWYgKHJvd0luZGV4ICE9PSAtMSkge1xuICAgICAgICB0aGlzLnJvd3Nbcm93SW5kZXhdLnByb3BlcnRpZXMgPSB1cGRhdGVkUHJvcGVydGllc0NvbmZpZztcbiAgICAgIH1cblxuICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLmZvcm1Hcm91cC5jb250cm9sc1tlLmluZGV4XS5zZXRWYWx1ZShuZXdGaWVsZENvbmZpZywge1xuICAgICAgZW1pdEV2ZW50OiBmYWxzZVxuICAgIH0pO1xuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBoYW5kbGVPbkNsaWNrUHJldmlldygpIHtcbiAgICB0aGlzLnNob3dQcmV2aWV3ID0gdHJ1ZTtcbiAgfVxuXG4gIEBsb2dNZXRob2RcbiAgaGFuZGxlT25DbGlja0FkZEZpZWxkKCkge31cblxuICBAbG9nTWV0aG9kXG4gIGhhbmRsZU9uQ2xpY2tEZWxldGVGaWVsZChlKSB7XG4gICAgdGhpcy5yb3dzID0gdGhpcy5yb3dzLmZpbHRlcigocm93KSA9PiB7XG4gICAgICBpZiAocm93LmtleSAhPT0gZS5rZXkpIHtcbiAgICAgICAgcmV0dXJuIHJvdztcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnNvbGUubG9nKEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5yb3dzKSkpO1xuXG4gICAgLy8gQ3JlYXRlIHRoZSBuZXN0ZWQgRm9ybUdyb3VwIGR5bmFtaWNhbGx5XG4gICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmNyZWF0ZU5lc3RlZEZvcm1Hcm91cCh0aGlzLnJvd3MpO1xuXG4gICAgY29uc29sZS5sb2codGhpcy5mb3JtR3JvdXApO1xuICAgIHRoaXMuZm9ybUdyb3VwLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIEBsb2dNZXRob2RcbiAgaGFuZGxlT25DbGlja1NhdmVBY3RpdmVGb3JtQ29uZmlnKCkge1xuICAgIC8vIHByaW50IGRlZXAgY29waWVzIG9mIHJvd3MgYW5kIGFjdGl2ZUZvcm1GaWVsZHNfRmllbGRzXG5cbiAgICB0aGlzLmFjdGl2ZUZvcm1Db25maWdfRmllbGRzID0gdGhpcy5hY3RpdmVGb3JtQ29uZmlnX0ZpZWxkc1xuICAgICAgLmZpbHRlcigoZmllbGQpID0+IF8uc29tZSh0aGlzLnJvd3MsIHsga2V5OiBmaWVsZC5rZXkgfSkpXG4gICAgICAubWFwKChmaWVsZCkgPT4ge1xuICAgICAgICBjb25zdCBtYXRjaGluZ1JvdyA9IF8uZmluZCh0aGlzLnJvd3MsIHsga2V5OiBmaWVsZC5rZXkgfSk7XG4gICAgICAgIHJldHVybiBfLm1lcmdlKHt9LCBmaWVsZCwgbWF0Y2hpbmdSb3cpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLmFjdGl2ZUZvcm1Db25maWcgPSBtZXJnZU9iamVjdHModGhpcy5hY3RpdmVGb3JtQ29uZmlnX05vRmllbGRzLCB7XG4gICAgICBmaWVsZHM6IHRoaXMuYWN0aXZlRm9ybUNvbmZpZ19GaWVsZHNcbiAgICB9KTtcblxuICAgIHRoaXMub25DbGlja1NhdmVBY3RpdmVGb3JtQ29uZmlnLmVtaXQodGhpcy5hY3RpdmVGb3JtQ29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPdGhlciBNZXRob2RzXG4gICAqL1xuICBAbG9nTWV0aG9kXG4gIGNvcHlUb0NsaXBib2FyZCgpIHtcbiAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChKU09OLnN0cmluZ2lmeSh0aGlzLmFjdGl2ZUZvcm1Db25maWcpKTtcbiAgfVxuXG4gIEBsb2dNZXRob2RcbiAgZG93bmxvYWRKU09OKCkge1xuICAgIGNvbnN0IERBVEEgPSBKU09OLnN0cmluZ2lmeSh0aGlzLmFjdGl2ZUZvcm1Db25maWcpOyAvLyBDb252ZXJ0IG9iamVjdCB0byBKU09OIHN0cmluZ1xuICAgIGNvbnN0IHR5cGUgPSBcImFwcGxpY2F0aW9uL2pzb25cIjtcbiAgICBjb25zdCBGSUxFX05BTUUgPSBgJHt0aGlzLmFjdGl2ZUZvcm1Db25maWcua2V5fS5qc29uYDtcblxuICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbREFUQV0sIHsgdHlwZSB9KTtcbiAgICBjb25zdCB1cmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbiAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7XG4gICAgbGluay5kb3dubG9hZCA9IEZJTEVfTkFNRTtcbiAgICBsaW5rLmhyZWYgPSB1cmw7XG4gICAgbGluay5jbGljaygpO1xuICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKHVybCk7XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIGNsb3NlSlNPTlBvcHVwKCkge1xuICAgIHRoaXMuc2hvd1ByZXZpZXcgPSBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNaXNjIE1ldGhvZHNcbiAgICovXG4gIEBsb2dNZXRob2RcbiAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IGFueSk6IGFueSB7XG4gICAgY29uc3Qga2V5ID0gaXRlbT8ua2V5IHx8IFwiXCI7XG4gICAgY29uc3QgdmFsdWUgPSBpdGVtPy52YWx1ZSB8fCBcIlwiO1xuXG4gICAgaWYgKHR5cGVvZiBpdGVtID09PSBcInN0cmluZ1wiKSB7XG4gICAgICByZXR1cm4gYCR7U3RyaW5nKGluZGV4KX1fJHtpdGVtfV8ke25ldyBEYXRlKCkuZ2V0VGltZSgpfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBgJHtTdHJpbmcoaW5kZXgpfV8ke2tleX1fJHt2YWx1ZX1fJHtuZXcgRGF0ZSgpLmdldFRpbWUoKX1gO1xuICAgIH1cbiAgfVxuXG4gIGdldE9wdGlvbnMoaW5kZXgsIHZhbHVlLCBrZXksIHBhdGgpIHtcbiAgICBpZiAocGF0aC5pbmNsdWRlcyhcInByb3BlcnRpZXNcIikpIHtcbiAgICAgIGNvbnN0IGZpZWxkVHlwZSA9IHRoaXMucm93c1tpbmRleF0udHlwZTtcblxuICAgICAgY29uc3QgZmluYWxQYXRoID0gYCR7cGF0aH1bJyR7ZmllbGRUeXBlfSddLiR7a2V5fWA7XG5cbiAgICAgIHJldHVybiBnZXRPYmplY3RWYWx1ZUZyb21QYXRoKHRoaXMub3B0aW9ucywgZmluYWxQYXRoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZmluYWxQYXRoID0gcGF0aCAhPT0gXCJcIiA/IGAke3BhdGh9LiR7a2V5fWAgOiBrZXk7XG5cbiAgICAgIHJldHVybiBnZXRPYmplY3RWYWx1ZUZyb21QYXRoKHRoaXMub3B0aW9ucywgZmluYWxQYXRoKTtcbiAgICB9XG4gIH1cblxuICBpc09wdGlvbnMoaW5kZXgsIHZhbHVlLCBrZXksIHBhdGgpIHtcbiAgICBpZiAocGF0aC5pbmNsdWRlcyhcInByb3BlcnRpZXNcIikpIHtcbiAgICAgIGNvbnN0IGZpZWxkVHlwZSA9IHRoaXMucm93c1tpbmRleF0udHlwZTtcblxuICAgICAgY29uc3QgZmluYWxQYXRoID0gYCR7cGF0aH1bJyR7ZmllbGRUeXBlfSddLiR7a2V5fWA7XG5cbiAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KGdldE9iamVjdFZhbHVlRnJvbVBhdGgodGhpcy5vcHRpb25zLCBmaW5hbFBhdGgpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZmluYWxQYXRoID0gcGF0aCAhPT0gXCJcIiA/IGAke3BhdGh9LiR7a2V5fWAgOiBrZXk7XG5cbiAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KGdldE9iamVjdFZhbHVlRnJvbVBhdGgodGhpcy5vcHRpb25zLCBmaW5hbFBhdGgpKTtcbiAgICB9XG4gIH1cblxuICBpc0Jvb2xlYW4odmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09IFwiYm9vbGVhblwiO1xuICB9XG5cbiAgaXNTdHJpbmcodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCI7XG4gIH1cblxuICBpc051bWJlcih2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIjtcbiAgfVxuXG4gIGlzT2JqZWN0KHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiICYmIHZhbHVlICE9PSBudWxsO1xuICB9XG59XG4iLCI8ZGl2XG4gIG5nQ2xhc3M9XCJjb250YWluZXJcIlxuICAqbmdJZj1cImFjdGl2ZUZvcm1Db25maWdcIlxuPlxuICA8aGVhZGVyPlxuICAgIDxkaXY+e3sgYWN0aXZlRm9ybUNvbmZpZy50aXRsZSB9fSBGb3JtIEVkaXRvcjwvZGl2PlxuICAgIDxkaXYgbmdDbGFzcz1cImhlYWRlci1mb3JtLWVkaXRvci1idG5zXCI+XG4gICAgICA8YnV0dG9uIChjbGljayk9XCJoYW5kbGVPbkNsaWNrQ2hhbmdlRWRpdG9yKCdub24tZmllbGRzJylcIj5cbiAgICAgICAgRWRpdCBOb24tRmllbGRzXG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gKGNsaWNrKT1cImhhbmRsZU9uQ2xpY2tDaGFuZ2VFZGl0b3IoJ2ZpZWxkcycpXCI+RWRpdCBGaWVsZHM8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9oZWFkZXI+XG4gIDxtYWluPlxuICAgIDxkaXZcbiAgICAgIG5nQ2xhc3M9XCJmb3JtLWNvbmZpZy1uby1maWVsZHNcIlxuICAgICAgKm5nSWY9XCJhY3RpdmVFZGl0b3IgIT0gJ2ZpZWxkcydcIlxuICAgID5cbiAgICAgIDxwcmVcbiAgICAgICAgY29udGVudGVkaXRhYmxlPVwidHJ1ZVwiXG4gICAgICAgIChrZXl1cCk9XCJcbiAgICAgICAgICBoYW5kbGVPbkNsaWNrU2F2ZUFjdGl2ZUZvcm1Db25maWdfTm9GaWVsZHMoJGV2ZW50LnRhcmdldC5pbm5lckhUTUwpXG4gICAgICAgIFwiXG4gICAgICAgID57eyBhY3RpdmVGb3JtQ29uZmlnX05vRmllbGRzIHwganNvbiB9fTwvcHJlXG4gICAgICA+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgbmdDbGFzcz1cImZvcm0tY29uZmlnLWZpZWxkc1wiXG4gICAgICAqbmdJZj1cImFjdGl2ZUVkaXRvciA9PSAnZmllbGRzJ1wiXG4gICAgPlxuICAgICAgPHRhYmxlPlxuICAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uczsgdHJhY2tCeTogdHJhY2tCeUZuXCI+e3tcbiAgICAgICAgICAgICAgY29sdW1uXG4gICAgICAgICAgICB9fTwvdGg+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgPC90aGVhZD5cbiAgICAgICAgPHRib2R5PlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCByb3cgb2Ygcm93czsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUZuXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgICAgIGxldCBjb2x1bW4gb2YgY29sdW1ucztcbiAgICAgICAgICAgICAgICAgIGxldCBqID0gaW5kZXg7XG4gICAgICAgICAgICAgICAgICB0cmFja0J5OiB0cmFja0J5Rm5cbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJjb2x1bW5cIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY29sdW1uICE9PSAnZGVsZXRlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZ2V0RmllbGRUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4OiBpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRWYWx1ZTogcm93W2NvbHVtbl0sXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZEtleTogY29sdW1uLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50UGF0aDogJydcbiAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uID09PSAnZGVsZXRlJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlT25DbGlja0RlbGV0ZUZpZWxkKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogaSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6IHJvd1sna2V5J11cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicm93cy5sZW5ndGggPT09IDFcIlxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIERlbGV0ZVxuICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC90Ym9keT5cbiAgICAgIDwvdGFibGU+XG4gICAgPC9kaXY+XG4gIDwvbWFpbj5cbiAgPGZvb3Rlcj5cbiAgICA8YnV0dG9uIChjbGljayk9XCJoYW5kbGVPbkNsaWNrUHJldmlldygpXCI+UHJldmlldzwvYnV0dG9uPlxuICAgIDxidXR0b24gKGNsaWNrKT1cImhhbmRsZU9uQ2xpY2tBZGRGaWVsZCgpXCI+QWRkIEZpZWxkPC9idXR0b24+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwiaGFuZGxlT25DbGlja1NhdmVBY3RpdmVGb3JtQ29uZmlnKClcIj5TYXZlPC9idXR0b24+XG4gIDwvZm9vdGVyPlxuPC9kaXY+XG48ZGl2XG4gIG5nQ2xhc3M9XCJjb250YWluZXJcIlxuICAqbmdJZj1cIiFhY3RpdmVGb3JtQ29uZmlnXCJcbj5cbiAgPGgxIG5nQ2xhc3M9XCJuby1mb3JtLXNlbGVjdGVkXCI+UGxlYXNlIHNlbGVjdCBhIGZvcm08L2gxPlxuPC9kaXY+XG5cbjwhLS0gVGVtcGxhdGUgZm9yIHJlbmRlcmluZyBkaWZmZXJlbnQgZmllbGQgdHlwZXMgLS0+XG48bmctdGVtcGxhdGVcbiAgI2dldEZpZWxkVGVtcGxhdGVcbiAgbGV0LWluZGV4PVwiaW5kZXhcIlxuICBsZXQtdmFsdWU9XCJmaWVsZFZhbHVlXCJcbiAgbGV0LWtleT1cImZpZWxkS2V5XCJcbiAgbGV0LXBhdGg9XCJwYXJlbnRQYXRoXCJcbj5cbiAgPGRpdj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJcbiAgICAgICAgaXNPYmplY3QodmFsdWUpID8gb2JqZWN0RmllbGRUZW1wbGF0ZSA6IG5vdE9iamVjdEZpZWxkVGVtcGxhdGVcbiAgICAgIFwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICBpbmRleDogaW5kZXgsXG4gICAgICAgIGZpZWxkVmFsdWU6IHZhbHVlLFxuICAgICAgICBmaWVsZEtleToga2V5LFxuICAgICAgICBwYXJlbnRQYXRoOiBwYXRoXG4gICAgICB9XCJcbiAgICA+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gICNvYmplY3RGaWVsZFRlbXBsYXRlXG4gIGxldC1pbmRleD1cImluZGV4XCJcbiAgbGV0LXZhbHVlPVwiZmllbGRWYWx1ZVwiXG4gIGxldC1rZXk9XCJmaWVsZEtleVwiXG4gIGxldC1wYXRoPVwicGFyZW50UGF0aFwiXG4+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdmFsdWUgfCBrZXl2YWx1ZTsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZ2V0RmllbGRUZW1wbGF0ZVwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICBpbmRleDogaW5kZXgsXG4gICAgICAgIGZpZWxkVmFsdWU6IGl0ZW0udmFsdWUsXG4gICAgICAgIGZpZWxkS2V5OiBpdGVtLmtleSxcbiAgICAgICAgcGFyZW50UGF0aDogcGF0aCA9PT0gJycgPyBrZXkgOiBwYXRoICsgJy4nICsga2V5XG4gICAgICB9XCJcbiAgICA+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gICNub3RPYmplY3RGaWVsZFRlbXBsYXRlXG4gIGxldC1pbmRleD1cImluZGV4XCJcbiAgbGV0LXZhbHVlPVwiZmllbGRWYWx1ZVwiXG4gIGxldC1rZXk9XCJmaWVsZEtleVwiXG4gIGxldC1wYXRoPVwicGFyZW50UGF0aFwiXG4+XG4gIDxkaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzT3B0aW9ucyhpbmRleCwgdmFsdWUsIGtleSwgcGF0aClcIj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9uRmllbGRUZW1wbGF0ZVwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgaW5kZXg6IGluZGV4LFxuICAgICAgICAgIGtleToga2V5LFxuICAgICAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgICAgICBwYXRoOiBwYXRoLFxuICAgICAgICAgIG9wdGlvbnM6IGdldE9wdGlvbnMoaW5kZXgsIHZhbHVlLCBrZXksIHBhdGgpXG4gICAgICAgIH1cIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ0lmPVwiIWlzT3B0aW9ucyhpbmRleCwgdmFsdWUsIGtleSwgcGF0aCkgJiYgaXNTdHJpbmcodmFsdWUpXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgdGV4dEZpZWxkVGVtcGxhdGU7XG4gICAgICAgICAgY29udGV4dDogeyBpbmRleDogaW5kZXgsIGtleToga2V5LCB2YWx1ZTogdmFsdWUsIHBhdGg6IHBhdGggfVxuICAgICAgICBcIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ0lmPVwiIWlzT3B0aW9ucyhpbmRleCwgdmFsdWUsIGtleSwgcGF0aCkgJiYgaXNOdW1iZXIodmFsdWUpXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgbnVtYmVyRmllbGRUZW1wbGF0ZTtcbiAgICAgICAgICBjb250ZXh0OiB7IGluZGV4OiBpbmRleCwga2V5OiBrZXksIHZhbHVlOiB2YWx1ZSwgcGF0aDogcGF0aCB9XG4gICAgICAgIFwiXG4gICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gICNvcHRpb25GaWVsZFRlbXBsYXRlXG4gIGxldC1pbmRleD1cImluZGV4XCJcbiAgbGV0LWtleT1cImtleVwiXG4gIGxldC12YWx1ZT1cInZhbHVlXCJcbiAgbGV0LXBhdGg9XCJwYXRoXCJcbiAgbGV0LW9wdGlvbnM9XCJvcHRpb25zXCJcbj5cbiAgPGRpdiBjbGFzcz1cImZpZWxkLWNvbnRhaW5lciBvcHRpb25zXCI+XG4gICAgPGxhYmVsIGZvcj1cIlwiPnt7IHBhdGggfX0ue3sga2V5IH19PC9sYWJlbD5cbiAgICA8c2VsZWN0XG4gICAgICAoY2hhbmdlKT1cImhhbmRsZU9uSW5wdXQoeyBpbmRleCwga2V5LCB2YWx1ZTogeyBwcmV2aW91czogdmFsdWUsIG5ldzogJGV2ZW50LnRhcmdldC52YWx1ZSB9LCBwYXRoIH0pXCJcbiAgICA+XG4gICAgICA8b3B0aW9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uczsgdHJhY2tCeTogdHJhY2tCeUZuXCJcbiAgICAgICAgW3ZhbHVlXT1cIm9wdGlvblwiXG4gICAgICAgIFtzZWxlY3RlZF09XCJvcHRpb24gPT09IHZhbHVlXCJcbiAgICAgICAgPnt7IG9wdGlvbiB9fTwvb3B0aW9uXG4gICAgICA+XG4gICAgPC9zZWxlY3Q+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gICNib29sZWFuRmllbGRUZW1wbGF0ZVxuICBsZXQtaW5kZXg9XCJpbmRleFwiXG4gIGxldC1rZXk9XCJrZXlcIlxuICBsZXQtdmFsdWU9XCJ2YWx1ZVwiXG4gIGxldC1wYXRoPVwicGF0aFwiXG4+XG4gIDxkaXYgY2xhc3M9XCJmaWVsZC1jb250YWluZXIgY2hlY2tib3hcIj5cbiAgICA8aW5wdXRcbiAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICBbY2hlY2tlZF09XCJ2YWx1ZVwiXG4gICAgICAoY2hhbmdlKT1cImhhbmRsZU9uSW5wdXQoeyBpbmRleCwga2V5LCB2YWx1ZTogeyBwcmV2aW91czogdmFsdWUsIG5ldzogJGV2ZW50LnRhcmdldC5jaGVja2VkIH0sIHBhdGggfSlcIlxuICAgIC8+XG4gICAgPHNwYW4+e3sgcGF0aCB9fS57eyBrZXkgfX08L3NwYW4+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gICN0ZXh0RmllbGRUZW1wbGF0ZVxuICBsZXQtaW5kZXg9XCJpbmRleFwiXG4gIGxldC1rZXk9XCJrZXlcIlxuICBsZXQtdmFsdWU9XCJ2YWx1ZVwiXG4gIGxldC1wYXRoPVwicGF0aFwiXG4+XG4gIDxkaXYgY2xhc3M9XCJmaWVsZC1jb250YWluZXIgdGV4dFwiPlxuICAgIDxsYWJlbCBmb3I9XCJcIj57eyBwYXRoIH19Lnt7IGtleSB9fTwvbGFiZWw+XG4gICAgPGlucHV0XG4gICAgICBwbGFjZWhvbGRlcj1cIkVudGVyIHt7IGtleSB9fVwiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgKGtleXVwKT1cImhhbmRsZU9uSW5wdXQoeyBpbmRleCwga2V5LCB2YWx1ZTogeyBwcmV2aW91czogdmFsdWUsIG5ldzogJGV2ZW50LnRhcmdldC52YWx1ZSB9LCBwYXRoIH0pXCJcbiAgICAvPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICAjbnVtYmVyRmllbGRUZW1wbGF0ZVxuICBsZXQtaW5kZXg9XCJpbmRleFwiXG4gIGxldC1rZXk9XCJrZXlcIlxuICBsZXQtdmFsdWU9XCJ2YWx1ZVwiXG4gIGxldC1wYXRoPVwicGF0aFwiXG4+XG4gIDxkaXYgY2xhc3M9XCJmaWVsZC1jb250YWluZXIgbnVtYmVyXCI+XG4gICAgPGxhYmVsPnt7IHBhdGggfX0ue3sga2V5IH19PC9sYWJlbD5cbiAgICA8aW5wdXRcbiAgICAgIHBsYWNlaG9sZGVyPVwiRW50ZXIge3sga2V5IH19XCJcbiAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgIChrZXl1cCk9XCJoYW5kbGVPbklucHV0KHsgaW5kZXgsIGtleSwgdmFsdWU6IHsgcHJldmlvdXM6IHZhbHVlLCBuZXc6ICRldmVudC50YXJnZXQudmFsdWUgfSwgcGF0aCB9KVwiXG4gICAgLz5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48ZGl2XG4gIG5nQ2xhc3M9XCJrd2lraWQtZm9ybXMtYnVpbGRlci1sb2FkZXJcIlxuICAqbmdJZj1cImxvYWRlclwiXG4+XG4gIDxkaXYgY2xhc3M9XCJsb2FkZXItY29udGFpbmVyXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJsb2FkZXJcIj48L3NwYW4+XG4gICAgPGRpdiBjbGFzcz1cImxvYWRlci10ZXh0XCI+UGxlYXNlIHdhaXQ8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdlxuICBjbGFzcz1cIm1vZGFsXCJcbiAgKm5nSWY9XCJzaG93UHJldmlld1wiXG4gIFtAcGFuZWxJbk91dF1cbj5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWJveFwiPlxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGluZ1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtdGl0bGVcIj5cbiAgICAgICAgICB7eyBhY3RpdmVGb3JtQ29uZmlnLnRpdGxlIH19J3MgQ29uZmlnIFByZXZpZXdcbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1hY3Rpb25zXCI+XG4gICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZG93bmxvYWRKU09OKClcIj5Eb3dubG9hZCBDb25maWc8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJjb3B5VG9DbGlwYm9hcmQoKVwiPkNvcHkgQ29uZmlnIHRvIENsaXBib2FyZDwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImNsb3NlSlNPTlBvcHVwKClcIj5DbG9zZTwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cbiAgICAgICAgPHByZT5cbiAgICAgICAgICA8Y29kZT57eyBhY3RpdmVGb3JtQ29uZmlnIHwganNvbiB9fTwvY29kZT5cbiAgICAgICAgPC9wcmU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,38 +0,0 @@
1
- import { CommonModule } from "@angular/common";
2
- import { NgModule } from "@angular/core";
3
- import { FormsModule, ReactiveFormsModule } from "@angular/forms";
4
- import { TuiSvgModule } from "@taiga-ui/core";
5
- import { KwikUIModule } from "kwikui";
6
- import { KwikIDBuilderFormEditorComponent } from "./builder-form-editor.component";
7
- import { ValueFormatterPipe } from "./builder-form-editor.pipe";
8
- import * as i0 from "@angular/core";
9
- export class KwikIDBuilderFormEditorModule {
10
- }
11
- /** @nocollapse */ KwikIDBuilderFormEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDBuilderFormEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- /** @nocollapse */ KwikIDBuilderFormEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDBuilderFormEditorModule, declarations: [KwikIDBuilderFormEditorComponent, ValueFormatterPipe], imports: [CommonModule,
13
- FormsModule,
14
- ReactiveFormsModule,
15
- KwikUIModule,
16
- TuiSvgModule], exports: [KwikIDBuilderFormEditorComponent] });
17
- /** @nocollapse */ KwikIDBuilderFormEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDBuilderFormEditorModule, imports: [[
18
- CommonModule,
19
- FormsModule,
20
- ReactiveFormsModule,
21
- KwikUIModule,
22
- TuiSvgModule
23
- ]] });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDBuilderFormEditorModule, decorators: [{
25
- type: NgModule,
26
- args: [{
27
- declarations: [KwikIDBuilderFormEditorComponent, ValueFormatterPipe],
28
- imports: [
29
- CommonModule,
30
- FormsModule,
31
- ReactiveFormsModule,
32
- KwikUIModule,
33
- TuiSvgModule
34
- ],
35
- exports: [KwikIDBuilderFormEditorComponent]
36
- }]
37
- }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci1mb3JtLWVkaXRvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtZm9ybXMvc3JjL2xpYi9idWlsZGVyMi9idWlsZGVyLWZvcm0tZWRpdG9yL2J1aWxkZXItZm9ybS1lZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFhaEUsTUFBTSxPQUFPLDZCQUE2Qjs7OElBQTdCLDZCQUE2QjsrSUFBN0IsNkJBQTZCLGlCQVZ6QixnQ0FBZ0MsRUFBRSxrQkFBa0IsYUFFakUsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsWUFBWTtRQUNaLFlBQVksYUFFSixnQ0FBZ0M7K0lBRS9CLDZCQUE2QixZQVQvQjtZQUNQLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLFlBQVk7WUFDWixZQUFZO1NBQ2I7NEZBR1UsNkJBQTZCO2tCQVh6QyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGdDQUFnQyxFQUFFLGtCQUFrQixDQUFDO29CQUNwRSxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsWUFBWTt3QkFDWixZQUFZO3FCQUNiO29CQUNELE9BQU8sRUFBRSxDQUFDLGdDQUFnQyxDQUFDO2lCQUM1QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBUdWlTdmdNb2R1bGUgfSBmcm9tIFwiQHRhaWdhLXVpL2NvcmVcIjtcbmltcG9ydCB7IEt3aWtVSU1vZHVsZSB9IGZyb20gXCJrd2lrdWlcIjtcbmltcG9ydCB7IEt3aWtJREJ1aWxkZXJGb3JtRWRpdG9yQ29tcG9uZW50IH0gZnJvbSBcIi4vYnVpbGRlci1mb3JtLWVkaXRvci5jb21wb25lbnRcIjtcbmltcG9ydCB7IFZhbHVlRm9ybWF0dGVyUGlwZSB9IGZyb20gXCIuL2J1aWxkZXItZm9ybS1lZGl0b3IucGlwZVwiO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtLd2lrSURCdWlsZGVyRm9ybUVkaXRvckNvbXBvbmVudCwgVmFsdWVGb3JtYXR0ZXJQaXBlXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEt3aWtVSU1vZHVsZSxcbiAgICBUdWlTdmdNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW0t3aWtJREJ1aWxkZXJGb3JtRWRpdG9yQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBLd2lrSURCdWlsZGVyRm9ybUVkaXRvck1vZHVsZSB7fVxuIl19
@@ -1,19 +0,0 @@
1
- import { Pipe } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- export class ValueFormatterPipe {
4
- transform(value) {
5
- if (value && typeof value === "object") {
6
- return JSON.stringify(value);
7
- }
8
- else {
9
- return value;
10
- }
11
- }
12
- }
13
- /** @nocollapse */ ValueFormatterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ValueFormatterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
14
- /** @nocollapse */ ValueFormatterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ValueFormatterPipe, name: "valueFormatter" });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ValueFormatterPipe, decorators: [{
16
- type: Pipe,
17
- args: [{ name: "valueFormatter" }]
18
- }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci1mb3JtLWVkaXRvci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWZvcm1zL3NyYy9saWIvYnVpbGRlcjIvYnVpbGRlci1mb3JtLWVkaXRvci9idWlsZGVyLWZvcm0tZWRpdG9yLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBR3BELE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsU0FBUyxDQUFDLEtBQVU7UUFDbEIsSUFBSSxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQ3RDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM5QjthQUFNO1lBQ0wsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7O21JQVBVLGtCQUFrQjtpSUFBbEIsa0JBQWtCOzRGQUFsQixrQkFBa0I7a0JBRDlCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuQFBpcGUoeyBuYW1lOiBcInZhbHVlRm9ybWF0dGVyXCIgfSlcbmV4cG9ydCBjbGFzcyBWYWx1ZUZvcm1hdHRlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHZhbHVlOiBhbnkpOiBhbnkge1xuICAgIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==