lib-portal-angular 0.0.110 → 0.0.112

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.
@@ -30,6 +30,7 @@ import { DynamicTableComponent } from "./dynamic-table/dynamic-table.component";
30
30
  import { FileUploadComponent } from "./file-upload/file-upload.component";
31
31
  import { ImageUploadComponent } from "./image-upload/image-upload.component";
32
32
  import { InputComponent } from "./imput/input.component";
33
+ import { JsonEditorComponent } from "./json-editor/json-editor.component";
33
34
  import { JsonViewerComponent } from "./json-viewer/json-viewer.component";
34
35
  import { ModalComponent } from "./modal/modal.component";
35
36
  import { MultiSelectCategoryComponent } from "./multi-select-category/multi-select-category.component";
@@ -79,6 +80,7 @@ export class ComponentsModule {
79
80
  CalendarArgentaComponent,
80
81
  AccordionArgentaComponent,
81
82
  JsonViewerComponent,
83
+ JsonEditorComponent,
82
84
  ModalComponent,
83
85
  DragDropListComponent,
84
86
  DynamicModalComponent,
@@ -127,6 +129,7 @@ export class ComponentsModule {
127
129
  CalendarArgentaComponent,
128
130
  AccordionArgentaComponent,
129
131
  JsonViewerComponent,
132
+ JsonEditorComponent,
130
133
  ModalComponent,
131
134
  DragDropListComponent,
132
135
  DynamicModalComponent,
@@ -181,6 +184,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
181
184
  CalendarArgentaComponent,
182
185
  AccordionArgentaComponent,
183
186
  JsonViewerComponent,
187
+ JsonEditorComponent,
184
188
  ModalComponent,
185
189
  DragDropListComponent,
186
190
  DynamicModalComponent,
@@ -235,6 +239,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
235
239
  CalendarArgentaComponent,
236
240
  AccordionArgentaComponent,
237
241
  JsonViewerComponent,
242
+ JsonEditorComponent,
238
243
  ModalComponent,
239
244
  DragDropListComponent,
240
245
  DynamicModalComponent,
@@ -247,4 +252,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
247
252
  ],
248
253
  }]
249
254
  }] });
250
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saWItcG9ydGFsLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2NvbXBvbmVudHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0RBQXNELENBQUE7QUFDekYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDaEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFBO0FBQ2xGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQTtBQUM5RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDM0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUE7QUFDeEYs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QkFDekIsaUJBQWlCO3dCQUNqQixvQkFBb0I7d0JBQ3BCLGlCQUFpQjt3QkFDakIsc0JBQXNCO3dCQUN0QiwwQkFBMEI7d0JBQzFCLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2QixZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQiw0QkFBNEI7d0JBQzVCLHdCQUF3Qjt3QkFDeEIseUJBQXlCO3dCQUN6QixtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QscUJBQXFCO3dCQUNyQixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsOEJBQThCO3dCQUM5QiwyQkFBMkI7d0JBQzNCLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQixvQkFBb0I7cUJBQ3JCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCJcbmltcG9ydCB7IE5nU2VsZWN0TW9kdWxlIH0gZnJvbSBcIkBuZy1zZWxlY3Qvbmctc2VsZWN0XCJcbmltcG9ydCB7IEF1dG9mb2N1c0RpcmVjdGl2ZSB9IGZyb20gXCIuLi9kaXJlY3RpdmUvYXV0b2ZvY3VzLWRpcmVjdGl2ZS9hdXRvZm9jdXMuZGlyZWN0aXZlXCJcbmltcG9ydCB7IENlcE1hc2tEaXJlY3RpdmUgfSBmcm9tIFwiLi4vZGlyZWN0aXZlL2NlcC1tYXNrLmRpcmVjdGl2ZVwiXG5pbXBvcnQgeyBDbnBqTWFza0RpcmVjdGl2ZSB9IGZyb20gXCIuLi9kaXJlY3RpdmUvY25wai1tYXNrLmRpcmVjdGl2ZVwiXG5pbXBvcnQgeyBDcGZNYXNrRGlyZWN0aXZlIH0gZnJvbSBcIi4uL2RpcmVjdGl2ZS9jcGYtbWFzay5kaXJlY3RpdmVcIlxuaW1wb3J0IHsgTHVjaWRlSWNvbnNNb2R1bGUgfSBmcm9tIFwiLi4vaWNvbnMvbHVjaWRlLWljb25zLm1vZHVsZVwiXG5pbXBvcnQgeyBBY2NvcmRpb25BcmdlbnRhQ29tcG9uZW50IH0gZnJvbSBcIi4vYWNjb3JkaW9uL2FjY29yZGlvbi5jb21wb25lbnRcIlxuaW1wb3J0IHsgQWxlcnRDb21wb25lbnQgfSBmcm9tIFwiLi9hbGVydC9hbGVydC5jb21wb25lbnRcIlxuaW1wb3J0IHsgQXBwQmFja2dyb3VuZENvbXBvbmVudCB9IGZyb20gXCIuL2FwcC1iYWNrZ3JvdW5kL2FwcC1iYWNrZ3JvdW5kLmNvbXBvbmVudFwiXG5pbXBvcnQgeyBCYWRnZUNvbXBvbmVudCB9IGZyb20gXCIuL2JhZGdlL2JhZGdlLmNvbXBvbmVudFwiXG5pbXBvcnQgeyBCYXNpY1JlZ2lzdHJhdGlvbkNvbXBvbmVudCB9IGZyb20gXCIuL2Jhc2ljLXJlZ2lzdHJhdGlvbi9iYXNpYy1yZWdpc3RyYXRpb24uY29tcG9uZW50XCJcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gXCIuL2J1dHRvbi9idXR0b24uY29tcG9uZW50XCJcbmltcG9ydCB7IENhbGVuZGFyQXJnZW50YUNvbXBvbmVudCB9IGZyb20gXCIuL2NhbGVuZGFyLWFyZ2VudGEvY2FsZW5kYXItYXJnZW50YS5jb21wb25lbnRcIlxuaW1wb3J0IHsgQ2FyZEluZm9Db21wb25lbnQgfSBmcm9tIFwiLi9jYXJkLWluZm8vY2FyZC1pbmZvLmNvbXBvbmVudFwiXG5pbXBvcnQgeyBDYXJkQ29tcG9uZW50IH0gZnJvbSBcIi4vY2FyZC9jYXJkLmNvbXBvbmVudFwiXG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gXCIuL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudFwiXG5pbXBvcnQgeyBDb2RlSGlnaGxpZ2h0Q29tcG9uZW50IH0gZnJvbSBcIi4vY29kZS1oaWdobGlnaHQvY29kZS1oaWdobGlnaHQuY29tcG9uZW50XCJcbmltcG9ydCB7IENvbmZpcm1hdGlvbkNvbXBvbmVudCB9IGZyb20gXCIuL2NvbmZpcm1hdGlvbi9jb25maXJtYXRpb24uY29tcG9uZW50XCJcbmltcG9ydCB7IENzdkltcG9ydGVyQ29tcG9uZW50IH0gZnJvbSBcIi4vY3N2LWltcG9ydGVyL2Nzdi1pbXBvcnRlci5jb21wb25lbnRcIlxuaW1wb3J0IHsgQ3VzdG9tUGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gXCIuL2N1c3RvbS1wYWdpbmF0aW9uL2N1c3RvbS1wYWdpbmF0aW9uLmNvbXBvbmVudFwiXG5pbXBvcnQgeyBDdXN0b21Td2l0Y2hDb21wb25lbnQgfSBmcm9tIFwiLi9jdXN0b20tc3dpdGNoL2N1c3RvbS1zd2l0Y2guY29tcG9uZW50XCJcbmltcG9ydCB7IERhdGFFeGNlbEV4cG9ydGVyQ29tcG9uZW50IH0gZnJvbSBcIi4vZGF0YS1leGNlbC1leHBvcnRlci9kYXRhLWV4Y2VsLWV4cG9ydGVyLmNvbXBvbmVudFwiXG5pbXBvcnQgeyBEYXRhRXhjZWxJbXBvcnRlckNvbXBvbmVudCB9IGZyb20gXCIuL2RhdGEtZXhjZWwtaW1wb3J0L2RhdGEtZXhjZWwtaW1wb3J0ZXIuY29tcG9uZW50XCJcbmltcG9ydCB7IERyYWdEcm9wTGlzdENvbXBvbmVudCB9IGZyb20gXCIuL2RyYWctZHJvcC1saXN0L2RyYWctZHJvcC1saXN0LmNvbXBvbmVudFwiXG5pbXBvcnQgeyBEeW5hbWljTW9kYWxDb21wb25lbnQgfSBmcm9tIFwiLi9keW5hbWljLW1vZGFsL2R5bmFtaWMtbW9kYWwuY29tcG9uZW50XCJcbmltcG9ydCB7IER5bmFtaWNUYWJsZUNvbXBvbmVudCB9IGZyb20gXCIuL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS5jb21wb25lbnRcIlxuaW1wb3J0IHsgRmlsZVVwbG9hZENvbXBvbmVudCB9IGZyb20gXCIuL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudFwiXG5pbXBvcnQgeyBJbWFnZVVwbG9hZENvbXBvbmVudCB9IGZyb20gXCIuL2ltYWdlLXVwbG9hZC9pbWFnZS11cGxvYWQuY29tcG9uZW50XCJcbmltcG9ydCB7IElucHV0Q29tcG9uZW50IH0gZnJvbSBcIi4vaW1wdXQvaW5wdXQuY29tcG9uZW50XCJcbmltcG9ydCB7IEpzb25WaWV3ZXJDb21wb25lbnQgfSBmcm9tIFwiLi9qc29uLXZpZXdlci9qc29uLXZpZXdlci5jb21wb25lbnRcIlxuaW1wb3J0IHsgTW9kYWxDb21wb25lbnQgfSBmcm9tIFwiLi9tb2RhbC9tb2RhbC5jb21wb25lbnRcIlxuaW1wb3J0IHsgTXVsdGlTZWxlY3RDYXRlZ29yeUNvbXBvbmVudCB9IGZyb20gXCIuL211bHRpLXNlbGVjdC1jYXRlZ29yeS9tdWx0aS1zZWxlY3QtY2F0ZWdvcnkuY29tcG9uZW50XCJcbmltcG9ydCB7IE11bHRpU2VsZWN0Q29tcG9uZW50IH0gZnJvbSBcIi4vbXVsdGktc2VsZWN0L211bHRpLXNlbGVjdC5jb21wb25lbnRcIlxuaW1wb3J0IHsgQXJnZW50YVBkZkRhdGFIYW5kbGVyQ29tcG9uZW50IH0gZnJvbSBcIi4vcGRmLWRhdGEtaGFuZGxlci9hcmdlbnRhLXBkZi1kYXRhLWhhbmRsZXIuY29tcG9uZW50XCJcbmltcG9ydCB7IEFyZ2VudGFQZGZEb3dubG9hZENvbXBvbmVudCB9IGZyb20gXCIuL3BkZi1kb3dubG9hZC9hcmdlbnRhLXBkZi1kb3dubG9hZC5jb21wb25lbnRcIlxuaW1wb3J0IHsgUmFkaW9Db21wb25lbnQgfSBmcm9tIFwiLi9yYWRpby9yYWRpby5jb21wb25lbnRcIlxuaW1wb3J0IHsgU2VhcmNoQ3VzdG9tZXJDb21wb25lbnQgfSBmcm9tIFwiLi9zZWFyY2gtY3VzdG9tZXIvc2VhcmNoLWN1c3RvbWVyLmNvbXBvbmVudFwiXG5pbXBvcnQgeyBTZWFyY2hJbnB1dENvbXBvbmVudCB9IGZyb20gXCIuL3NlYXJjaC1pbnB1dC9zZWFyY2gtaW5wdXQuY29tcG9uZW50XCJcbmltcG9ydCB7IFNlbGVjdENvbXBvbmVudCB9IGZyb20gXCIuL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50XCJcbmltcG9ydCB7IFRhYkNvbXBvbmVudCB9IGZyb20gXCIuL3RhYi90YWIuY29tcG9uZW50XCJcbmltcG9ydCB7IERhdGFUYWJsZUNvbXBvbmVudCB9IGZyb20gXCIuL3RhYmxlcy9kYXRhLXRhYmxlLmNvbXBvbmVudFwiXG5pbXBvcnQgeyBUZXh0YXJlYUNvbXBvbmVudCB9IGZyb20gXCIuL3RleHRhcmVhL3RleHRhcmVhLmNvbXBvbmVudFwiXG5pbXBvcnQgeyBUcmVlTm9kZUNvbXBvbmVudCB9IGZyb20gXCIuL3RyZWUtbm9kZS90cmVlLW5vZGUuY29tcG9uZW50XCJcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIENhcmRDb21wb25lbnQsXG4gICAgSW5wdXRDb21wb25lbnQsXG4gICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgVGV4dGFyZWFDb21wb25lbnQsXG4gICAgU2VsZWN0Q29tcG9uZW50LFxuICAgIFJhZGlvQ29tcG9uZW50LFxuICAgIE11bHRpU2VsZWN0Q29tcG9uZW50LFxuICAgIERhdGFUYWJsZUNvbXBvbmVudCxcbiAgICBDb2RlSGlnaGxpZ2h0Q29tcG9uZW50LFxuICAgIEJhZGdlQ29tcG9uZW50LFxuICAgIEFsZXJ0Q29tcG9uZW50LFxuICAgIENhcmRJbmZvQ29tcG9uZW50LFxuICAgIENvbmZpcm1hdGlvbkNvbXBvbmVudCxcbiAgICBBdXRvZm9jdXNEaXJlY3RpdmUsXG4gICAgQ2VwTWFza0RpcmVjdGl2ZSxcbiAgICBDbnBqTWFza0RpcmVjdGl2ZSxcbiAgICBDcGZNYXNrRGlyZWN0aXZlLFxuICAgIEN1c3RvbVBhZ2luYXRpb25Db21wb25lbnQsXG4gICAgVHJlZU5vZGVDb21wb25lbnQsXG4gICAgU2VhcmNoSW5wdXRDb21wb25lbnQsXG4gICAgQXBwQmFja2dyb3VuZENvbXBvbmVudCxcbiAgICBCYXNpY1JlZ2lzdHJhdGlvbkNvbXBvbmVudCxcbiAgICBDdXN0b21Td2l0Y2hDb21wb25lbnQsXG4gICAgU2VhcmNoQ3VzdG9tZXJDb21wb25lbnQsXG4gICAgVGFiQ29tcG9uZW50LFxuICAgIEZpbGVVcGxvYWRDb21wb25lbnQsXG4gICAgSW1hZ2VVcGxvYWRDb21wb25lbnQsXG4gICAgTXVsdGlTZWxlY3RDYXRlZ29yeUNvbXBvbmVudCxcbiAgICBDYWxlbmRhckFyZ2VudGFDb21wb25lbnQsXG4gICAgQWNjb3JkaW9uQXJnZW50YUNvbXBvbmVudCxcbiAgICBKc29uVmlld2VyQ29tcG9uZW50LFxuICAgIE1vZGFsQ29tcG9uZW50LFxuICAgIERyYWdEcm9wTGlzdENvbXBvbmVudCxcbiAgICBEeW5hbWljTW9kYWxDb21wb25lbnQsXG4gICAgRHluYW1pY1RhYmxlQ29tcG9uZW50LFxuICAgIEFyZ2VudGFQZGZEYXRhSGFuZGxlckNvbXBvbmVudCxcbiAgICBBcmdlbnRhUGRmRG93bmxvYWRDb21wb25lbnQsXG4gICAgRGF0YUV4Y2VsRXhwb3J0ZXJDb21wb25lbnQsXG4gICAgRGF0YUV4Y2VsSW1wb3J0ZXJDb21wb25lbnQsXG4gICAgQ3N2SW1wb3J0ZXJDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBOZ1NlbGVjdE1vZHVsZSxcbiAgICBMdWNpZGVJY29uc01vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBDYXJkQ29tcG9uZW50LFxuICAgIElucHV0Q29tcG9uZW50LFxuICAgIENoZWNrYm94Q29tcG9uZW50LFxuICAgIFRleHRhcmVhQ29tcG9uZW50LFxuICAgIFNlbGVjdENvbXBvbmVudCxcbiAgICBSYWRpb0NvbXBvbmVudCxcbiAgICBNdWx0aVNlbGVjdENvbXBvbmVudCxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE5nU2VsZWN0TW9kdWxlLFxuICAgIERhdGFUYWJsZUNvbXBvbmVudCxcbiAgICBDb2RlSGlnaGxpZ2h0Q29tcG9uZW50LFxuICAgIEJhZGdlQ29tcG9uZW50LFxuICAgIEFsZXJ0Q29tcG9uZW50LFxuICAgIENhcmRJbmZvQ29tcG9uZW50LFxuICAgIENvbmZpcm1hdGlvbkNvbXBvbmVudCxcbiAgICBBdXRvZm9jdXNEaXJlY3RpdmUsXG4gICAgQ2VwTWFza0RpcmVjdGl2ZSxcbiAgICBDbnBqTWFza0RpcmVjdGl2ZSxcbiAgICBDcGZNYXNrRGlyZWN0aXZlLFxuICAgIEN1c3RvbVBhZ2luYXRpb25Db21wb25lbnQsXG4gICAgVHJlZU5vZGVDb21wb25lbnQsXG4gICAgU2VhcmNoSW5wdXRDb21wb25lbnQsXG4gICAgTHVjaWRlSWNvbnNNb2R1bGUsXG4gICAgQXBwQmFja2dyb3VuZENvbXBvbmVudCxcbiAgICBCYXNpY1JlZ2lzdHJhdGlvbkNvbXBvbmVudCxcbiAgICBDdXN0b21Td2l0Y2hDb21wb25lbnQsXG4gICAgU2VhcmNoQ3VzdG9tZXJDb21wb25lbnQsXG4gICAgVGFiQ29tcG9uZW50LFxuICAgIEZpbGVVcGxvYWRDb21wb25lbnQsXG4gICAgSW1hZ2VVcGxvYWRDb21wb25lbnQsXG4gICAgTXVsdGlTZWxlY3RDYXRlZ29yeUNvbXBvbmVudCxcbiAgICBDYWxlbmRhckFyZ2VudGFDb21wb25lbnQsXG4gICAgQWNjb3JkaW9uQXJnZW50YUNvbXBvbmVudCxcbiAgICBKc29uVmlld2VyQ29tcG9uZW50LFxuICAgIE1vZGFsQ29tcG9uZW50LFxuICAgIERyYWdEcm9wTGlzdENvbXBvbmVudCxcbiAgICBEeW5hbWljTW9kYWxDb21wb25lbnQsXG4gICAgRHluYW1pY1RhYmxlQ29tcG9uZW50LFxuICAgIEFyZ2VudGFQZGZEYXRhSGFuZGxlckNvbXBvbmVudCxcbiAgICBBcmdlbnRhUGRmRG93bmxvYWRDb21wb25lbnQsXG4gICAgRGF0YUV4Y2VsRXhwb3J0ZXJDb21wb25lbnQsXG4gICAgRGF0YUV4Y2VsSW1wb3J0ZXJDb21wb25lbnQsXG4gICAgQ3N2SW1wb3J0ZXJDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENvbXBvbmVudHNNb2R1bGUge31cbiJdfQ==
255
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saWItcG9ydGFsLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2NvbXBvbmVudHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0RBQXNELENBQUE7QUFDekYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDaEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFBO0FBQ2xGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQTtBQUM5RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDM0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUE7QUFDeEYs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d0JBQ2pCLHFCQUFxQjt3QkFDckIsa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQix5QkFBeUI7d0JBQ3pCLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixpQkFBaUI7d0JBQ2pCLHNCQUFzQjt3QkFDdEIsMEJBQTBCO3dCQUMxQixxQkFBcUI7d0JBQ3JCLHVCQUF1Qjt3QkFDdkIsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsNEJBQTRCO3dCQUM1Qix3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QscUJBQXFCO3dCQUNyQixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsOEJBQThCO3dCQUM5QiwyQkFBMkI7d0JBQzNCLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQixvQkFBb0I7cUJBQ3JCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCJcbmltcG9ydCB7IE5nU2VsZWN0TW9kdWxlIH0gZnJvbSBcIkBuZy1zZWxlY3Qvbmctc2VsZWN0XCJcbmltcG9ydCB7IEF1dG9mb2N1c0RpcmVjdGl2ZSB9IGZyb20gXCIuLi9kaXJlY3RpdmUvYXV0b2ZvY3VzLWRpcmVjdGl2ZS9hdXRvZm9jdXMuZGlyZWN0aXZlXCJcbmltcG9ydCB7IENlcE1hc2tEaXJlY3RpdmUgfSBmcm9tIFwiLi4vZGlyZWN0aXZlL2NlcC1tYXNrLmRpcmVjdGl2ZVwiXG5pbXBvcnQgeyBDbnBqTWFza0RpcmVjdGl2ZSB9IGZyb20gXCIuLi9kaXJlY3RpdmUvY25wai1tYXNrLmRpcmVjdGl2ZVwiXG5pbXBvcnQgeyBDcGZNYXNrRGlyZWN0aXZlIH0gZnJvbSBcIi4uL2RpcmVjdGl2ZS9jcGYtbWFzay5kaXJlY3RpdmVcIlxuaW1wb3J0IHsgTHVjaWRlSWNvbnNNb2R1bGUgfSBmcm9tIFwiLi4vaWNvbnMvbHVjaWRlLWljb25zLm1vZHVsZVwiXG5pbXBvcnQgeyBBY2NvcmRpb25BcmdlbnRhQ29tcG9uZW50IH0gZnJvbSBcIi4vYWNjb3JkaW9uL2FjY29yZGlvbi5jb21wb25lbnRcIlxuaW1wb3J0IHsgQWxlcnRDb21wb25lbnQgfSBmcm9tIFwiLi9hbGVydC9hbGVydC5jb21wb25lbnRcIlxuaW1wb3J0IHsgQXBwQmFja2dyb3VuZENvbXBvbmVudCB9IGZyb20gXCIuL2FwcC1iYWNrZ3JvdW5kL2FwcC1iYWNrZ3JvdW5kLmNvbXBvbmVudFwiXG5pbXBvcnQgeyBCYWRnZUNvbXBvbmVudCB9IGZyb20gXCIuL2JhZGdlL2JhZGdlLmNvbXBvbmVudFwiXG5pbXBvcnQgeyBCYXNpY1JlZ2lzdHJhdGlvbkNvbXBvbmVudCB9IGZyb20gXCIuL2Jhc2ljLXJlZ2lzdHJhdGlvbi9iYXNpYy1yZWdpc3RyYXRpb24uY29tcG9uZW50XCJcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gXCIuL2J1dHRvbi9idXR0b24uY29tcG9uZW50XCJcbmltcG9ydCB7IENhbGVuZGFyQXJnZW50YUNvbXBvbmVudCB9IGZyb20gXCIuL2NhbGVuZGFyLWFyZ2VudGEvY2FsZW5kYXItYXJnZW50YS5jb21wb25lbnRcIlxuaW1wb3J0IHsgQ2FyZEluZm9Db21wb25lbnQgfSBmcm9tIFwiLi9jYXJkLWluZm8vY2FyZC1pbmZvLmNvbXBvbmVudFwiXG5pbXBvcnQgeyBDYXJkQ29tcG9uZW50IH0gZnJvbSBcIi4vY2FyZC9jYXJkLmNvbXBvbmVudFwiXG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gXCIuL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudFwiXG5pbXBvcnQgeyBDb2RlSGlnaGxpZ2h0Q29tcG9uZW50IH0gZnJvbSBcIi4vY29kZS1oaWdobGlnaHQvY29kZS1oaWdobGlnaHQuY29tcG9uZW50XCJcbmltcG9ydCB7IENvbmZpcm1hdGlvbkNvbXBvbmVudCB9IGZyb20gXCIuL2NvbmZpcm1hdGlvbi9jb25maXJtYXRpb24uY29tcG9uZW50XCJcbmltcG9ydCB7IENzdkltcG9ydGVyQ29tcG9uZW50IH0gZnJvbSBcIi4vY3N2LWltcG9ydGVyL2Nzdi1pbXBvcnRlci5jb21wb25lbnRcIlxuaW1wb3J0IHsgQ3VzdG9tUGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gXCIuL2N1c3RvbS1wYWdpbmF0aW9uL2N1c3RvbS1wYWdpbmF0aW9uLmNvbXBvbmVudFwiXG5pbXBvcnQgeyBDdXN0b21Td2l0Y2hDb21wb25lbnQgfSBmcm9tIFwiLi9jdXN0b20tc3dpdGNoL2N1c3RvbS1zd2l0Y2guY29tcG9uZW50XCJcbmltcG9ydCB7IERhdGFFeGNlbEV4cG9ydGVyQ29tcG9uZW50IH0gZnJvbSBcIi4vZGF0YS1leGNlbC1leHBvcnRlci9kYXRhLWV4Y2VsLWV4cG9ydGVyLmNvbXBvbmVudFwiXG5pbXBvcnQgeyBEYXRhRXhjZWxJbXBvcnRlckNvbXBvbmVudCB9IGZyb20gXCIuL2RhdGEtZXhjZWwtaW1wb3J0L2RhdGEtZXhjZWwtaW1wb3J0ZXIuY29tcG9uZW50XCJcbmltcG9ydCB7IERyYWdEcm9wTGlzdENvbXBvbmVudCB9IGZyb20gXCIuL2RyYWctZHJvcC1saXN0L2RyYWctZHJvcC1saXN0LmNvbXBvbmVudFwiXG5pbXBvcnQgeyBEeW5hbWljTW9kYWxDb21wb25lbnQgfSBmcm9tIFwiLi9keW5hbWljLW1vZGFsL2R5bmFtaWMtbW9kYWwuY29tcG9uZW50XCJcbmltcG9ydCB7IER5bmFtaWNUYWJsZUNvbXBvbmVudCB9IGZyb20gXCIuL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS5jb21wb25lbnRcIlxuaW1wb3J0IHsgRmlsZVVwbG9hZENvbXBvbmVudCB9IGZyb20gXCIuL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudFwiXG5pbXBvcnQgeyBJbWFnZVVwbG9hZENvbXBvbmVudCB9IGZyb20gXCIuL2ltYWdlLXVwbG9hZC9pbWFnZS11cGxvYWQuY29tcG9uZW50XCJcbmltcG9ydCB7IElucHV0Q29tcG9uZW50IH0gZnJvbSBcIi4vaW1wdXQvaW5wdXQuY29tcG9uZW50XCJcbmltcG9ydCB7IEpzb25FZGl0b3JDb21wb25lbnQgfSBmcm9tIFwiLi9qc29uLWVkaXRvci9qc29uLWVkaXRvci5jb21wb25lbnRcIlxuaW1wb3J0IHsgSnNvblZpZXdlckNvbXBvbmVudCB9IGZyb20gXCIuL2pzb24tdmlld2VyL2pzb24tdmlld2VyLmNvbXBvbmVudFwiXG5pbXBvcnQgeyBNb2RhbENvbXBvbmVudCB9IGZyb20gXCIuL21vZGFsL21vZGFsLmNvbXBvbmVudFwiXG5pbXBvcnQgeyBNdWx0aVNlbGVjdENhdGVnb3J5Q29tcG9uZW50IH0gZnJvbSBcIi4vbXVsdGktc2VsZWN0LWNhdGVnb3J5L211bHRpLXNlbGVjdC1jYXRlZ29yeS5jb21wb25lbnRcIlxuaW1wb3J0IHsgTXVsdGlTZWxlY3RDb21wb25lbnQgfSBmcm9tIFwiLi9tdWx0aS1zZWxlY3QvbXVsdGktc2VsZWN0LmNvbXBvbmVudFwiXG5pbXBvcnQgeyBBcmdlbnRhUGRmRGF0YUhhbmRsZXJDb21wb25lbnQgfSBmcm9tIFwiLi9wZGYtZGF0YS1oYW5kbGVyL2FyZ2VudGEtcGRmLWRhdGEtaGFuZGxlci5jb21wb25lbnRcIlxuaW1wb3J0IHsgQXJnZW50YVBkZkRvd25sb2FkQ29tcG9uZW50IH0gZnJvbSBcIi4vcGRmLWRvd25sb2FkL2FyZ2VudGEtcGRmLWRvd25sb2FkLmNvbXBvbmVudFwiXG5pbXBvcnQgeyBSYWRpb0NvbXBvbmVudCB9IGZyb20gXCIuL3JhZGlvL3JhZGlvLmNvbXBvbmVudFwiXG5pbXBvcnQgeyBTZWFyY2hDdXN0b21lckNvbXBvbmVudCB9IGZyb20gXCIuL3NlYXJjaC1jdXN0b21lci9zZWFyY2gtY3VzdG9tZXIuY29tcG9uZW50XCJcbmltcG9ydCB7IFNlYXJjaElucHV0Q29tcG9uZW50IH0gZnJvbSBcIi4vc2VhcmNoLWlucHV0L3NlYXJjaC1pbnB1dC5jb21wb25lbnRcIlxuaW1wb3J0IHsgU2VsZWN0Q29tcG9uZW50IH0gZnJvbSBcIi4vc2VsZWN0L3NlbGVjdC5jb21wb25lbnRcIlxuaW1wb3J0IHsgVGFiQ29tcG9uZW50IH0gZnJvbSBcIi4vdGFiL3RhYi5jb21wb25lbnRcIlxuaW1wb3J0IHsgRGF0YVRhYmxlQ29tcG9uZW50IH0gZnJvbSBcIi4vdGFibGVzL2RhdGEtdGFibGUuY29tcG9uZW50XCJcbmltcG9ydCB7IFRleHRhcmVhQ29tcG9uZW50IH0gZnJvbSBcIi4vdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50XCJcbmltcG9ydCB7IFRyZWVOb2RlQ29tcG9uZW50IH0gZnJvbSBcIi4vdHJlZS1ub2RlL3RyZWUtbm9kZS5jb21wb25lbnRcIlxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgQ2FyZENvbXBvbmVudCxcbiAgICBJbnB1dENvbXBvbmVudCxcbiAgICBDaGVja2JveENvbXBvbmVudCxcbiAgICBUZXh0YXJlYUNvbXBvbmVudCxcbiAgICBTZWxlY3RDb21wb25lbnQsXG4gICAgUmFkaW9Db21wb25lbnQsXG4gICAgTXVsdGlTZWxlY3RDb21wb25lbnQsXG4gICAgRGF0YVRhYmxlQ29tcG9uZW50LFxuICAgIENvZGVIaWdobGlnaHRDb21wb25lbnQsXG4gICAgQmFkZ2VDb21wb25lbnQsXG4gICAgQWxlcnRDb21wb25lbnQsXG4gICAgQ2FyZEluZm9Db21wb25lbnQsXG4gICAgQ29uZmlybWF0aW9uQ29tcG9uZW50LFxuICAgIEF1dG9mb2N1c0RpcmVjdGl2ZSxcbiAgICBDZXBNYXNrRGlyZWN0aXZlLFxuICAgIENucGpNYXNrRGlyZWN0aXZlLFxuICAgIENwZk1hc2tEaXJlY3RpdmUsXG4gICAgQ3VzdG9tUGFnaW5hdGlvbkNvbXBvbmVudCxcbiAgICBUcmVlTm9kZUNvbXBvbmVudCxcbiAgICBTZWFyY2hJbnB1dENvbXBvbmVudCxcbiAgICBBcHBCYWNrZ3JvdW5kQ29tcG9uZW50LFxuICAgIEJhc2ljUmVnaXN0cmF0aW9uQ29tcG9uZW50LFxuICAgIEN1c3RvbVN3aXRjaENvbXBvbmVudCxcbiAgICBTZWFyY2hDdXN0b21lckNvbXBvbmVudCxcbiAgICBUYWJDb21wb25lbnQsXG4gICAgRmlsZVVwbG9hZENvbXBvbmVudCxcbiAgICBJbWFnZVVwbG9hZENvbXBvbmVudCxcbiAgICBNdWx0aVNlbGVjdENhdGVnb3J5Q29tcG9uZW50LFxuICAgIENhbGVuZGFyQXJnZW50YUNvbXBvbmVudCxcbiAgICBBY2NvcmRpb25BcmdlbnRhQ29tcG9uZW50LFxuICAgIEpzb25WaWV3ZXJDb21wb25lbnQsXG4gICAgSnNvbkVkaXRvckNvbXBvbmVudCxcbiAgICBNb2RhbENvbXBvbmVudCxcbiAgICBEcmFnRHJvcExpc3RDb21wb25lbnQsXG4gICAgRHluYW1pY01vZGFsQ29tcG9uZW50LFxuICAgIER5bmFtaWNUYWJsZUNvbXBvbmVudCxcbiAgICBBcmdlbnRhUGRmRGF0YUhhbmRsZXJDb21wb25lbnQsXG4gICAgQXJnZW50YVBkZkRvd25sb2FkQ29tcG9uZW50LFxuICAgIERhdGFFeGNlbEV4cG9ydGVyQ29tcG9uZW50LFxuICAgIERhdGFFeGNlbEltcG9ydGVyQ29tcG9uZW50LFxuICAgIENzdkltcG9ydGVyQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTmdTZWxlY3RNb2R1bGUsXG4gICAgTHVjaWRlSWNvbnNNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgQ2FyZENvbXBvbmVudCxcbiAgICBJbnB1dENvbXBvbmVudCxcbiAgICBDaGVja2JveENvbXBvbmVudCxcbiAgICBUZXh0YXJlYUNvbXBvbmVudCxcbiAgICBTZWxlY3RDb21wb25lbnQsXG4gICAgUmFkaW9Db21wb25lbnQsXG4gICAgTXVsdGlTZWxlY3RDb21wb25lbnQsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBOZ1NlbGVjdE1vZHVsZSxcbiAgICBEYXRhVGFibGVDb21wb25lbnQsXG4gICAgQ29kZUhpZ2hsaWdodENvbXBvbmVudCxcbiAgICBCYWRnZUNvbXBvbmVudCxcbiAgICBBbGVydENvbXBvbmVudCxcbiAgICBDYXJkSW5mb0NvbXBvbmVudCxcbiAgICBDb25maXJtYXRpb25Db21wb25lbnQsXG4gICAgQXV0b2ZvY3VzRGlyZWN0aXZlLFxuICAgIENlcE1hc2tEaXJlY3RpdmUsXG4gICAgQ25wak1hc2tEaXJlY3RpdmUsXG4gICAgQ3BmTWFza0RpcmVjdGl2ZSxcbiAgICBDdXN0b21QYWdpbmF0aW9uQ29tcG9uZW50LFxuICAgIFRyZWVOb2RlQ29tcG9uZW50LFxuICAgIFNlYXJjaElucHV0Q29tcG9uZW50LFxuICAgIEx1Y2lkZUljb25zTW9kdWxlLFxuICAgIEFwcEJhY2tncm91bmRDb21wb25lbnQsXG4gICAgQmFzaWNSZWdpc3RyYXRpb25Db21wb25lbnQsXG4gICAgQ3VzdG9tU3dpdGNoQ29tcG9uZW50LFxuICAgIFNlYXJjaEN1c3RvbWVyQ29tcG9uZW50LFxuICAgIFRhYkNvbXBvbmVudCxcbiAgICBGaWxlVXBsb2FkQ29tcG9uZW50LFxuICAgIEltYWdlVXBsb2FkQ29tcG9uZW50LFxuICAgIE11bHRpU2VsZWN0Q2F0ZWdvcnlDb21wb25lbnQsXG4gICAgQ2FsZW5kYXJBcmdlbnRhQ29tcG9uZW50LFxuICAgIEFjY29yZGlvbkFyZ2VudGFDb21wb25lbnQsXG4gICAgSnNvblZpZXdlckNvbXBvbmVudCxcbiAgICBKc29uRWRpdG9yQ29tcG9uZW50LFxuICAgIE1vZGFsQ29tcG9uZW50LFxuICAgIERyYWdEcm9wTGlzdENvbXBvbmVudCxcbiAgICBEeW5hbWljTW9kYWxDb21wb25lbnQsXG4gICAgRHluYW1pY1RhYmxlQ29tcG9uZW50LFxuICAgIEFyZ2VudGFQZGZEYXRhSGFuZGxlckNvbXBvbmVudCxcbiAgICBBcmdlbnRhUGRmRG93bmxvYWRDb21wb25lbnQsXG4gICAgRGF0YUV4Y2VsRXhwb3J0ZXJDb21wb25lbnQsXG4gICAgRGF0YUV4Y2VsSW1wb3J0ZXJDb21wb25lbnQsXG4gICAgQ3N2SW1wb3J0ZXJDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENvbXBvbmVudHNNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,125 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "@angular/forms";
5
+ import * as i3 from "lucide-angular";
6
+ export class JsonEditorComponent {
7
+ constructor() {
8
+ this.readonly = false;
9
+ this.jsonChange = new EventEmitter();
10
+ this.isJsonValid = new EventEmitter();
11
+ this.jsonText = '';
12
+ this.isValidJson = true;
13
+ this.copyFeedback = '';
14
+ this.showExample = false;
15
+ this.exampleJson = {
16
+ nome: "João",
17
+ idade: 30,
18
+ ativo: true,
19
+ notas: [9.5, 8.3, 7.8],
20
+ endereco: {
21
+ cidade: "São Paulo",
22
+ estado: "SP"
23
+ },
24
+ email: null
25
+ };
26
+ }
27
+ get formattedExample() {
28
+ return JSON.stringify(this.exampleJson, null, 2);
29
+ }
30
+ toggleExample() {
31
+ this.showExample = !this.showExample;
32
+ }
33
+ ngOnInit() {
34
+ this.jsonText = this.formatJson(this.data);
35
+ this.isValidJson = this.checkValidJson(this.jsonText);
36
+ }
37
+ onTextChange(text) {
38
+ this.jsonText = text;
39
+ this.isValidJson = this.checkValidJson(text);
40
+ if (this.isValidJson) {
41
+ try {
42
+ const parsed = JSON.parse(text);
43
+ this.jsonChange.emit(parsed);
44
+ }
45
+ catch {
46
+ this.isValidJson = false;
47
+ }
48
+ }
49
+ }
50
+ format() {
51
+ try {
52
+ const fixed = this.tryFixInvalidJson(this.jsonText);
53
+ const parsed = JSON.parse(fixed);
54
+ this.jsonText = JSON.stringify(parsed, null, 2);
55
+ this.isValidJson = true;
56
+ this.jsonChange.emit(parsed);
57
+ }
58
+ catch {
59
+ this.isValidJson = false;
60
+ }
61
+ this.isJsonValid.emit(this.isValidJson);
62
+ }
63
+ copyToClipboard() {
64
+ navigator.clipboard.writeText(this.jsonText).then(() => {
65
+ this.copyFeedback = 'Copiado!';
66
+ setTimeout(() => this.copyFeedback = '', 2000);
67
+ });
68
+ }
69
+ checkValidJson(text) {
70
+ try {
71
+ JSON.parse(text);
72
+ return true;
73
+ }
74
+ catch {
75
+ return false;
76
+ }
77
+ }
78
+ formatJson(data) {
79
+ try {
80
+ return JSON.stringify(data, null, 2);
81
+ }
82
+ catch {
83
+ return '';
84
+ }
85
+ }
86
+ tryFixInvalidJson(text) {
87
+ let fixed = text;
88
+ // 1) Remove comentários de linha e de bloco
89
+ fixed = fixed.replace(/\/\/.*|\/\*[\s\S]*?\*\//g, '');
90
+ // 2) Aspas simples → duplas em strings
91
+ fixed = fixed.replace(/'([^']*)'/g, '"$1"');
92
+ // 3) Remove trailing commas antes de ] ou }
93
+ fixed = fixed.replace(/,\s*(?=[}\]])/g, '');
94
+ // 4) Chaves não-aspadas → entre aspas
95
+ fixed = fixed.replace(/([{,]\s*)([A-Za-z0-9_\$]+)\s*:/g, '$1"$2":');
96
+ // 5) Valores string soltos → entre aspas duplas
97
+ fixed = fixed.replace(/:\s*([^\s"'`\{\}\[\],][^,\}\]]*)(?=[,\}\]])/g, (_match, p1) => {
98
+ const v = p1.trim();
99
+ // se for número ou literal JSON, deixa como está
100
+ if (/^[-+]?\d+(\.\d+)?([eE][-+]?\d+)?$/.test(v) ||
101
+ /^(true|false|null)$/.test(v.toLowerCase())) {
102
+ return `: ${v}`;
103
+ }
104
+ // escapa eventuais aspas internas e envolve em duplas
105
+ const escaped = v.replace(/"/g, '\\"');
106
+ return `: "${escaped}"`;
107
+ });
108
+ return fixed;
109
+ }
110
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: JsonEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
111
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: JsonEditorComponent, selector: "argenta-json-editor", inputs: { data: "data", readonly: "readonly" }, outputs: { jsonChange: "jsonChange", isJsonValid: "isJsonValid" }, ngImport: i0, template: "<div class=\"json-editor-container\">\n <div\n class=\"status-indicator\"\n *ngIf=\"!readonly\"\n [ngClass]=\"{ valid: isValidJson, invalid: !isValidJson }\"\n >\n {{ isValidJson ? \"\u2705\" : \"\u274C\" }}\n </div>\n\n <div class=\"actions\" *ngIf=\"!readonly\">\n <button (click)=\"format()\">\n <i-lucide name=\"file-json\" [size]=\"20\" color=\"white\"></i-lucide>\n </button>\n <button (click)=\"copyToClipboard()\">\n <i-lucide name=\"copy\" [size]=\"20\" color=\"white\"></i-lucide>\n </button>\n <button class=\"info\" (click)=\"toggleExample()\">\n <i-lucide name=\"info\" [size]=\"20\" color=\"white\"></i-lucide>\n </button>\n\n <span class=\"feedback\" *ngIf=\"copyFeedback\">{{ copyFeedback }}</span>\n </div>\n\n <div class=\"example-box\" *ngIf=\"showExample\">\n <pre>{{ formattedExample }}</pre>\n </div>\n\n <textarea\n [readonly]=\"readonly\"\n [ngClass]=\"{ invalid: !isValidJson }\"\n [(ngModel)]=\"jsonText\"\n (ngModelChange)=\"onTextChange($event)\"\n placeholder=\"Digite ou cole seu JSON aqui...\"\n ></textarea>\n</div>\n", styles: [".json-editor-container{position:relative;width:100%}.json-editor-container textarea{width:100%;height:300px;padding:10px 12px;font-family:monospace;font-size:14px;border:1px solid #ccc;border-radius:8px;resize:vertical;box-sizing:border-box}.json-editor-container textarea.invalid{border-color:#ef4444}.json-editor-container .actions{display:flex;gap:8px;margin-bottom:10px}.json-editor-container .actions button{padding:6px 12px;border:none;border-radius:6px;background-color:var(--primary-color);color:#fff;cursor:pointer}.json-editor-container .actions .feedback{font-size:12px;color:#10b981;margin-left:8px;align-self:center}.json-editor-container .status-indicator{position:absolute;top:10px;right:12px;height:32px;width:32px;border-radius:6px;text-align:center;line-height:32px;font-size:16px;background-color:#f3f4f6;box-shadow:0 0 0 1px #ccc}.json-editor-container .status-indicator.valid{color:#10b981}.json-editor-container .status-indicator.invalid{color:#ef4444}.json-editor-container .info-button{position:absolute;top:10px;left:12px;height:32px;width:32px;border-radius:6px;background-color:#f3f4f6;text-align:center;line-height:32px;font-size:18px;cursor:pointer;box-shadow:0 0 0 1px #ccc}.json-editor-container .info-button:hover{background-color:#e5e7eb}.json-editor-container .example-box{background-color:#f9fafb;border:1px solid #ccc;border-radius:8px;padding:10px;margin-bottom:10px;font-family:monospace;font-size:14px;white-space:pre;overflow-x:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.LucideAngularComponent, selector: "lucide-angular, lucide-icon, i-lucide, span-lucide", inputs: ["class", "name", "img", "color", "absoluteStrokeWidth", "size", "strokeWidth"] }] }); }
112
+ }
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: JsonEditorComponent, decorators: [{
114
+ type: Component,
115
+ args: [{ selector: 'argenta-json-editor', template: "<div class=\"json-editor-container\">\n <div\n class=\"status-indicator\"\n *ngIf=\"!readonly\"\n [ngClass]=\"{ valid: isValidJson, invalid: !isValidJson }\"\n >\n {{ isValidJson ? \"\u2705\" : \"\u274C\" }}\n </div>\n\n <div class=\"actions\" *ngIf=\"!readonly\">\n <button (click)=\"format()\">\n <i-lucide name=\"file-json\" [size]=\"20\" color=\"white\"></i-lucide>\n </button>\n <button (click)=\"copyToClipboard()\">\n <i-lucide name=\"copy\" [size]=\"20\" color=\"white\"></i-lucide>\n </button>\n <button class=\"info\" (click)=\"toggleExample()\">\n <i-lucide name=\"info\" [size]=\"20\" color=\"white\"></i-lucide>\n </button>\n\n <span class=\"feedback\" *ngIf=\"copyFeedback\">{{ copyFeedback }}</span>\n </div>\n\n <div class=\"example-box\" *ngIf=\"showExample\">\n <pre>{{ formattedExample }}</pre>\n </div>\n\n <textarea\n [readonly]=\"readonly\"\n [ngClass]=\"{ invalid: !isValidJson }\"\n [(ngModel)]=\"jsonText\"\n (ngModelChange)=\"onTextChange($event)\"\n placeholder=\"Digite ou cole seu JSON aqui...\"\n ></textarea>\n</div>\n", styles: [".json-editor-container{position:relative;width:100%}.json-editor-container textarea{width:100%;height:300px;padding:10px 12px;font-family:monospace;font-size:14px;border:1px solid #ccc;border-radius:8px;resize:vertical;box-sizing:border-box}.json-editor-container textarea.invalid{border-color:#ef4444}.json-editor-container .actions{display:flex;gap:8px;margin-bottom:10px}.json-editor-container .actions button{padding:6px 12px;border:none;border-radius:6px;background-color:var(--primary-color);color:#fff;cursor:pointer}.json-editor-container .actions .feedback{font-size:12px;color:#10b981;margin-left:8px;align-self:center}.json-editor-container .status-indicator{position:absolute;top:10px;right:12px;height:32px;width:32px;border-radius:6px;text-align:center;line-height:32px;font-size:16px;background-color:#f3f4f6;box-shadow:0 0 0 1px #ccc}.json-editor-container .status-indicator.valid{color:#10b981}.json-editor-container .status-indicator.invalid{color:#ef4444}.json-editor-container .info-button{position:absolute;top:10px;left:12px;height:32px;width:32px;border-radius:6px;background-color:#f3f4f6;text-align:center;line-height:32px;font-size:18px;cursor:pointer;box-shadow:0 0 0 1px #ccc}.json-editor-container .info-button:hover{background-color:#e5e7eb}.json-editor-container .example-box{background-color:#f9fafb;border:1px solid #ccc;border-radius:8px;padding:10px;margin-bottom:10px;font-family:monospace;font-size:14px;white-space:pre;overflow-x:auto}\n"] }]
116
+ }], propDecorators: { data: [{
117
+ type: Input
118
+ }], readonly: [{
119
+ type: Input
120
+ }], jsonChange: [{
121
+ type: Output
122
+ }], isJsonValid: [{
123
+ type: Output
124
+ }] } });
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGliLXBvcnRhbC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9qc29uLWVkaXRvci9qc29uLWVkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saWItcG9ydGFsLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2pzb24tZWRpdG9yL2pzb24tZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7Ozs7O0FBTzlFLE1BQU0sT0FBTyxtQkFBbUI7SUFMaEM7UUFPVyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQ3pCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3JDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQTtRQUVuRCxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2QsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFDbkIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsZ0JBQVcsR0FBRztZQUNaLElBQUksRUFBRSxNQUFNO1lBQ1osS0FBSyxFQUFFLEVBQUU7WUFDVCxLQUFLLEVBQUUsSUFBSTtZQUNYLEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO1lBQ3RCLFFBQVEsRUFBRTtnQkFDUixNQUFNLEVBQUUsV0FBVztnQkFDbkIsTUFBTSxFQUFFLElBQUk7YUFDYjtZQUNELEtBQUssRUFBRSxJQUFJO1NBQ1osQ0FBQztLQXlHSDtJQXZHQyxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFD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NUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFNUMsc0NBQXNDO1FBQ3RDLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUFpQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRXBFLGdEQUFnRDtRQUNoRCxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FDbkIsOENBQThDLEVBQzlDLENBQUMsTUFBTSxFQUFFLEVBQVUsRUFBRSxFQUFFO1lBQ3JCLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNwQixpREFBaUQ7WUFDakQsSUFBSSxtQ0FBbUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUMzQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUU7Z0JBQy9DLE9BQU8sS0FBSyxDQUFDLEVBQUUsQ0FBQzthQUNqQjtZQUNELHNEQUFzRDtZQUN0RCxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN2QyxPQUFPLE1BQU0sT0FBTyxHQUFHLENBQUM7UUFDMUIsQ0FBQyxDQUNGLENBQUM7UUFFRixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7K0dBeEhVLG1CQUFtQjttR0FBbkIsbUJBQW1CLDhLQ1BoQyxzbUNBbUNBOzs0RkQ1QmEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLHFCQUFxQjs4QkFLdEIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FyZ2VudGEtanNvbi1lZGl0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vanNvbi1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9qc29uLWVkaXRvci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBKc29uRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgZGF0YTogYW55XG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBqc29uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBpc0pzb25WYWxpZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKVxuXG4gIGpzb25UZXh0ID0gJyc7XG4gIGlzVmFsaWRKc29uID0gdHJ1ZTtcbiAgY29weUZlZWRiYWNrID0gJyc7XG4gIHNob3dFeGFtcGxlID0gZmFsc2U7XG4gIGV4YW1wbGVKc29uID0ge1xuICAgIG5vbWU6IFwiSm/Do29cIixcbiAgICBpZGFkZTogMzAsXG4gICAgYXRpdm86IHRydWUsXG4gICAgbm90YXM6IFs5LjUsIDguMywgNy44XSxcbiAgICBlbmRlcmVjbzoge1xuICAgICAgY2lkYWRlOiBcIlPDo28gUGF1bG9cIixcbiAgICAgIGVzdGFkbzogXCJTUFwiXG4gICAgfSxcbiAgICBlbWFpbDogbnVsbFxuICB9O1xuXG4gIGdldCBmb3JtYXR0ZWRFeGFtcGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHRoaXMuZXhhbXBsZUpzb24sIG51bGwsIDIpXG4gIH1cblxuICB0b2dnbGVFeGFtcGxlKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd0V4YW1wbGUgPSAhdGhpcy5zaG93RXhhbXBsZVxuICB9XG5cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmpzb25UZXh0ID0gdGhpcy5mb3JtYXRKc29uKHRoaXMuZGF0YSlcbiAgICB0aGlzLmlzVmFsaWRKc29uID0gdGhpcy5jaGVja1ZhbGlkSnNvbih0aGlzLmpzb25UZXh0KVxuICB9XG5cbiAgb25UZXh0Q2hhbmdlKHRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuanNvblRleHQgPSB0ZXh0XG4gICAgdGhpcy5pc1ZhbGlkSnNvbiA9IHRoaXMuY2hlY2tWYWxpZEpzb24odGV4dClcblxuICAgIGlmICh0aGlzLmlzVmFsaWRKc29uKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKHRleHQpXG4gICAgICAgIHRoaXMuanNvbkNoYW5nZS5lbWl0KHBhcnNlZClcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICB0aGlzLmlzVmFsaWRKc29uID0gZmFsc2VcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmb3JtYXQoKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGZpeGVkID0gdGhpcy50cnlGaXhJbnZhbGlkSnNvbih0aGlzLmpzb25UZXh0KVxuICAgICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShmaXhlZClcbiAgICAgIHRoaXMuanNvblRleHQgPSBKU09OLnN0cmluZ2lmeShwYXJzZWQsIG51bGwsIDIpXG4gICAgICB0aGlzLmlzVmFsaWRKc29uID0gdHJ1ZVxuICAgICAgdGhpcy5qc29uQ2hhbmdlLmVtaXQocGFyc2VkKVxuICAgIH0gY2F0Y2gge1xuICAgICAgdGhpcy5pc1ZhbGlkSnNvbiA9IGZhbHNlXG4gICAgfVxuICAgIHRoaXMuaXNKc29uVmFsaWQuZW1pdCh0aGlzLmlzVmFsaWRKc29uKVxuICB9XG5cblxuICBjb3B5VG9DbGlwYm9hcmQoKTogdm9pZCB7XG4gICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodGhpcy5qc29uVGV4dCkudGhlbigoKSA9PiB7XG4gICAgICB0aGlzLmNvcHlGZWVkYmFjayA9ICdDb3BpYWRvISdcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jb3B5RmVlZGJhY2sgPSAnJywgMjAwMClcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBjaGVja1ZhbGlkSnNvbih0ZXh0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0cnkge1xuICAgICAgSlNPTi5wYXJzZSh0ZXh0KVxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0SnNvbihkYXRhOiBhbnkpOiBzdHJpbmcge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoZGF0YSwgbnVsbCwgMilcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiAnJ1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdHJ5Rml4SW52YWxpZEpzb24odGV4dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBsZXQgZml4ZWQgPSB0ZXh0O1xuICBcbiAgICAvLyAxKSBSZW1vdmUgY29tZW50w6FyaW9zIGRlIGxpbmhhIGUgZGUgYmxvY29cbiAgICBmaXhlZCA9IGZpeGVkLnJlcGxhY2UoL1xcL1xcLy4qfFxcL1xcKltcXHNcXFNdKj9cXCpcXC8vZywgJycpO1xuICBcbiAgICAvLyAyKSBBc3BhcyBzaW1wbGVzIOKGkiBkdXBsYXMgZW0gc3RyaW5nc1xuICAgIGZpeGVkID0gZml4ZWQucmVwbGFjZSgvJyhbXiddKiknL2csICdcIiQxXCInKTtcbiAgXG4gICAgLy8gMykgUmVtb3ZlIHRyYWlsaW5nIGNvbW1hcyBhbnRlcyBkZSBdIG91IH1cbiAgICBmaXhlZCA9IGZpeGVkLnJlcGxhY2UoLyxcXHMqKD89W31cXF1dKS9nLCAnJyk7XG4gIFxuICAgIC8vIDQpIENoYXZlcyBuw6NvLWFzcGFkYXMg4oaSIGVudHJlIGFzcGFzXG4gICAgZml4ZWQgPSBmaXhlZC5yZXBsYWNlKC8oW3ssXVxccyopKFtBLVphLXowLTlfXFwkXSspXFxzKjovZywgJyQxXCIkMlwiOicpO1xuICBcbiAgICAvLyA1KSBWYWxvcmVzIHN0cmluZyBzb2x0b3Mg4oaSIGVudHJlIGFzcGFzIGR1cGxhc1xuICAgIGZpeGVkID0gZml4ZWQucmVwbGFjZShcbiAgICAgIC86XFxzKihbXlxcc1wiJ2BcXHtcXH1cXFtcXF0sXVteLFxcfVxcXV0qKSg/PVssXFx9XFxdXSkvZyxcbiAgICAgIChfbWF0Y2gsIHAxOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdiA9IHAxLnRyaW0oKTtcbiAgICAgICAgLy8gc2UgZm9yIG7Dum1lcm8gb3UgbGl0ZXJhbCBKU09OLCBkZWl4YSBjb21vIGVzdMOhXG4gICAgICAgIGlmICgvXlstK10/XFxkKyhcXC5cXGQrKT8oW2VFXVstK10/XFxkKyk/JC8udGVzdCh2KSB8fFxuICAgICAgICAgICAgL14odHJ1ZXxmYWxzZXxudWxsKSQvLnRlc3Qodi50b0xvd2VyQ2FzZSgpKSkge1xuICAgICAgICAgIHJldHVybiBgOiAke3Z9YDtcbiAgICAgICAgfVxuICAgICAgICAvLyBlc2NhcGEgZXZlbnR1YWlzIGFzcGFzIGludGVybmFzIGUgZW52b2x2ZSBlbSBkdXBsYXNcbiAgICAgICAgY29uc3QgZXNjYXBlZCA9IHYucmVwbGFjZSgvXCIvZywgJ1xcXFxcIicpO1xuICAgICAgICByZXR1cm4gYDogXCIke2VzY2FwZWR9XCJgO1xuICAgICAgfVxuICAgICk7XG4gIFxuICAgIHJldHVybiBmaXhlZDtcbiAgfVxuICBcbiAgXG5cblxufVxuIiwiPGRpdiBjbGFzcz1cImpzb24tZWRpdG9yLWNvbnRhaW5lclwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJzdGF0dXMtaW5kaWNhdG9yXCJcbiAgICAqbmdJZj1cIiFyZWFkb25seVwiXG4gICAgW25nQ2xhc3NdPVwieyB2YWxpZDogaXNWYWxpZEpzb24sIGludmFsaWQ6ICFpc1ZhbGlkSnNvbiB9XCJcbiAgPlxuICAgIHt7IGlzVmFsaWRKc29uID8gXCLinIVcIiA6IFwi4p2MXCIgfX1cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImFjdGlvbnNcIiAqbmdJZj1cIiFyZWFkb25seVwiPlxuICAgIDxidXR0b24gKGNsaWNrKT1cImZvcm1hdCgpXCI+XG4gICAgICA8aS1sdWNpZGUgbmFtZT1cImZpbGUtanNvblwiIFtzaXplXT1cIjIwXCIgY29sb3I9XCJ3aGl0ZVwiPjwvaS1sdWNpZGU+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwiY29weVRvQ2xpcGJvYXJkKClcIj5cbiAgICAgIDxpLWx1Y2lkZSBuYW1lPVwiY29weVwiIFtzaXplXT1cIjIwXCIgY29sb3I9XCJ3aGl0ZVwiPjwvaS1sdWNpZGU+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImluZm9cIiAoY2xpY2spPVwidG9nZ2xlRXhhbXBsZSgpXCI+XG4gICAgICA8aS1sdWNpZGUgbmFtZT1cImluZm9cIiBbc2l6ZV09XCIyMFwiIGNvbG9yPVwid2hpdGVcIj48L2ktbHVjaWRlPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPHNwYW4gY2xhc3M9XCJmZWVkYmFja1wiICpuZ0lmPVwiY29weUZlZWRiYWNrXCI+e3sgY29weUZlZWRiYWNrIH19PC9zcGFuPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZXhhbXBsZS1ib3hcIiAqbmdJZj1cInNob3dFeGFtcGxlXCI+XG4gICAgPHByZT57eyBmb3JtYXR0ZWRFeGFtcGxlIH19PC9wcmU+XG4gIDwvZGl2PlxuXG4gIDx0ZXh0YXJlYVxuICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgW25nQ2xhc3NdPVwieyBpbnZhbGlkOiAhaXNWYWxpZEpzb24gfVwiXG4gICAgWyhuZ01vZGVsKV09XCJqc29uVGV4dFwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwib25UZXh0Q2hhbmdlKCRldmVudClcIlxuICAgIHBsYWNlaG9sZGVyPVwiRGlnaXRlIG91IGNvbGUgc2V1IEpTT04gYXF1aS4uLlwiXG4gID48L3RleHRhcmVhPlxuPC9kaXY+XG4iXX0=
@@ -28,6 +28,7 @@ export * from "./lib/components/dynamic-table/dynamic-table.component";
28
28
  export * from "./lib/components/file-upload/file-upload.component";
29
29
  export * from "./lib/components/image-upload/image-upload.component";
30
30
  export * from "./lib/components/imput/input.component";
31
+ export * from "./lib/components/json-editor/json-editor.component";
31
32
  export * from "./lib/components/json-viewer/json-viewer.component";
32
33
  export * from "./lib/components/modal/modal.component";
33
34
  export * from "./lib/components/multi-select-category/multi-select-category.component";
@@ -69,4 +70,4 @@ export * from "./lib/service/route-parameter.service";
69
70
  // function
70
71
  export * from "./lib/function/ConvertToSnakeCase";
71
72
  export * from "./lib/function/SetThemeColors";
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2xpYi1wb3J0YWwtYW5ndWxhci9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUVILGNBQWM7QUFDZCxjQUFjLGdEQUFnRCxDQUFBO0FBQzlELGNBQWMsd0NBQXdDLENBQUE7QUFDdEQsY0FBYywwREFBMEQsQ0FBQTtBQUN4RSxjQUFjLHdDQUF3QyxDQUFBO0FBQ3RELGNBQWMsa0VBQWtFLENBQUE7QUFDaEYsY0FBYywwQ0FBMEMsQ0FBQTtBQUN4RCxjQUFjLDhEQUE4RCxDQUFBO0FBQzVFLGNBQWMsZ0RBQWdELENBQUE7QUFDOUQsY0FBYyxzQ0FBc0MsQ0FBQTtBQUNwRCxjQUFjLDhDQUE4QyxDQUFBO0FBQzVELGNBQWMsMERBQTBELENBQUE7QUFDeEUsY0FBYyxzREFBc0QsQ0FBQTtBQUNwRSxjQUFjLHNEQUFzRCxDQUFBO0FBQ3BFLGNBQWMsZ0VBQWdFLENBQUE7QUFDOUUsY0FBYyx3REFBd0QsQ0FBQTtBQUN0RSxjQUFjLG9FQUFvRSxDQUFBO0FBQ2xGLGNBQWMsa0VBQWtFLENBQUE7QUFDaEYsY0FBYywwREFBMEQsQ0FBQTtBQUN4RSxjQUFjLHdEQUF3RCxDQUFBO0FBQ3RFLGNBQWMsd0RBQXdELENBQUE7QUFDdEUsY0FBYyxvREFBb0QsQ0FBQTtBQUNsRSxjQUFjLHNEQUFzRCxDQUFBO0FBQ3BFLGNBQWMsd0NBQXdDLENBQUE7QUFDdEQsY0FBYyxvREFBb0QsQ0FBQTtBQUNsRSxjQUFjLHdDQUF3QyxDQUFBO0FBQ3RELGNBQWMsd0VBQXdFLENBQUE7QUFDdEYsY0FBYyxzREFBc0QsQ0FBQTtBQUNwRSxjQUFjLHNFQUFzRSxDQUFBO0FBQ3BGLGNBQWMsOERBQThELENBQUE7QUFDNUUsY0FBYyx3Q0FBd0MsQ0FBQTtBQUN0RCxjQUFjLDREQUE0RCxDQUFBO0FBQzFFLGNBQWMsc0RBQXNELENBQUE7QUFDcEUsY0FBYywwQ0FBMEMsQ0FBQTtBQUN4RCxjQUFjLG9DQUFvQyxDQUFBO0FBQ2xELGNBQWMsOENBQThDLENBQUE7QUFDNUQsY0FBYyw4Q0FBOEMsQ0FBQTtBQUM1RCxjQUFjLGdEQUFnRCxDQUFBO0FBRTlELFlBQVk7QUFDWixjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMscURBQXFELENBQUE7QUFDbkUsY0FBYyw2REFBNkQsQ0FBQTtBQUMzRSxjQUFjLDREQUE0RCxDQUFBO0FBRTFFLFlBQVk7QUFDWixjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMsb0NBQW9DLENBQUE7QUFDbEQsY0FBYyxxQ0FBcUMsQ0FBQTtBQUNuRCxjQUFjLG9DQUFvQyxDQUFBO0FBRWxELFFBQVE7QUFDUixjQUFjLDhCQUE4QixDQUFBO0FBQzVDLGNBQWMsZ0NBQWdDLENBQUE7QUFFOUMsVUFBVTtBQUNWLGNBQWMsb0NBQW9DLENBQUE7QUFDbEQsY0FBYyxpQ0FBaUMsQ0FBQTtBQUMvQyxjQUFjLGlDQUFpQyxDQUFBO0FBRS9DLFVBQVU7QUFDVixjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMsb0RBQW9ELENBQUE7QUFDbEUsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLHFDQUFxQyxDQUFBO0FBQ25ELGNBQWMsdUNBQXVDLENBQUE7QUFDckQsY0FBYyx1Q0FBdUMsQ0FBQTtBQUVyRCxXQUFXO0FBQ1gsY0FBYyxtQ0FBbUMsQ0FBQTtBQUNqRCxjQUFjLCtCQUErQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBsaWItYXRyaXVuLWFuZ3VsYXJcbiAqXG4gKiBFc3RlIGFycXVpdm8gZXhwb3J0YSB0b2RvcyBvcyBjb21wb25lbnRlcywgZW51bXMgZSBtw7NkdWxvcyBuZWNlc3PDoXJpb3NcbiAqIHBhcmEgcXVlIG9zIGNvbnN1bWlkb3JlcyBkYSBiaWJsaW90ZWNhIHBvc3NhbSB1dGlsaXrDoS1sb3MgZW0gc3VhcyBhcGxpY2HDp8O1ZXMuXG4gKi9cblxuLy8gQ29tcG9uZW50ZXNcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24uY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9hcHAtYmFja2dyb3VuZC9hcHAtYmFja2dyb3VuZC5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvYmFkZ2UvYmFkZ2UuY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2Jhc2ljLXJlZ2lzdHJhdGlvbi9iYXNpYy1yZWdpc3RyYXRpb24uY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyLWFyZ2VudGEvY2FsZW5kYXItYXJnZW50YS5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvY2FyZC1pbmZvL2NhcmQtaW5mby5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvY2FyZC9jYXJkLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvY29kZS1oaWdobGlnaHQvY29kZS1oaWdobGlnaHQuY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2NvbmZpcm1hdGlvbi9jb25maXJtYXRpb24uY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2Nzdi1pbXBvcnRlci9jc3YtaW1wb3J0ZXIuY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2N1c3RvbS1wYWdpbmF0aW9uL2N1c3RvbS1wYWdpbmF0aW9uLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9jdXN0b20tc3dpdGNoL2N1c3RvbS1zd2l0Y2guY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2RhdGEtZXhjZWwtZXhwb3J0ZXIvZGF0YS1leGNlbC1leHBvcnRlci5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvZGF0YS1leGNlbC1pbXBvcnQvZGF0YS1leGNlbC1pbXBvcnRlci5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvZHJhZy1kcm9wLWxpc3QvZHJhZy1kcm9wLWxpc3QuY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtbW9kYWwvZHluYW1pYy1tb2RhbC5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvZHluYW1pYy10YWJsZS9keW5hbWljLXRhYmxlLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvaW1hZ2UtdXBsb2FkL2ltYWdlLXVwbG9hZC5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvaW1wdXQvaW5wdXQuY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2pzb24tdmlld2VyL2pzb24tdmlld2VyLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvbXVsdGktc2VsZWN0LWNhdGVnb3J5L211bHRpLXNlbGVjdC1jYXRlZ29yeS5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvbXVsdGktc2VsZWN0L211bHRpLXNlbGVjdC5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvcGRmLWRhdGEtaGFuZGxlci9hcmdlbnRhLXBkZi1kYXRhLWhhbmRsZXIuY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3BkZi1kb3dubG9hZC9hcmdlbnRhLXBkZi1kb3dubG9hZC5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvcmFkaW8vcmFkaW8uY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3NlYXJjaC1jdXN0b21lci9zZWFyY2gtY3VzdG9tZXIuY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3NlYXJjaC1pbnB1dC9zZWFyY2gtaW5wdXQuY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3RhYi90YWIuY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3RhYmxlcy9kYXRhLXRhYmxlLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy90ZXh0YXJlYS90ZXh0YXJlYS5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvdHJlZS1ub2RlL3RyZWUtbm9kZS5jb21wb25lbnRcIlxuXG4vLyBJbnRlcmZhY2VcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2RhdGEtZXhjZWwtZXhwb3J0ZXIvSUV4Y2VsRXhwb3J0Q29uZmlnXCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS1jb25maWdcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvcGRmLWRhdGEtaGFuZGxlci9pbnRlcmZhY2UvUGRmRXhwb3J0Q29uZmlnXCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3BkZi1kYXRhLWhhbmRsZXIvaW50ZXJmYWNlL1BkZlRhYmxlU3R5bGVzXCJcblxuLy8gRGlyZXRpdmFzXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZGlyZWN0aXZlL2F1dG9mb2N1cy1kaXJlY3RpdmUvYXV0b2ZvY3VzLmRpcmVjdGl2ZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZGlyZWN0aXZlL2NlcC1tYXNrLmRpcmVjdGl2ZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZGlyZWN0aXZlL2NucGotbWFzay5kaXJlY3RpdmVcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2RpcmVjdGl2ZS9jcGYtbWFzay5kaXJlY3RpdmVcIlxuXG4vLyBFbnVtc1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2VudW0vQnV0dG9uQ2xhc3Nlc0VudW1cIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2VudW0vQ2FyZEluZm9DbGFzc2VzRW51bVwiXG5cbi8vIE3Ds2R1bG9zXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9jb21wb25lbnRzLm1vZHVsZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvaWNvbnMvbHVjaWRlLWljb25zLm1vZHVsZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbGliLXBvcnRhbC1hbmd1bGFyLm1vZHVsZVwiXG5cbi8vIFNlcnZpY2VcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2FsZXJ0L25vdGlmaWNhdGlvbi5zZXJ2aWNlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2NvbmZpcm1hdGlvbi9jb25maXJtYXRpb24uc2VydmljZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy90YWJsZXMvZGF0YS1wYWdpbmF0ZS5zZXJ2aWNlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zZXJ2aWNlL2V4Y2VsLXNlcnZpY2Uuc2VydmljZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2VydmljZS9yZWZyZXNoLXNlcnZpY2Uuc2VydmljZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2VydmljZS9yb3V0ZS1wYXJhbWV0ZXIuc2VydmljZVwiXG5cbi8vIGZ1bmN0aW9uXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZnVuY3Rpb24vQ29udmVydFRvU25ha2VDYXNlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9mdW5jdGlvbi9TZXRUaGVtZUNvbG9yc1wiXG5cbiJdfQ==
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2xpYi1wb3J0YWwtYW5ndWxhci9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUVILGNBQWM7QUFDZCxjQUFjLGdEQUFnRCxDQUFBO0FBQzlELGNBQWMsd0NBQXdDLENBQUE7QUFDdEQsY0FBYywwREFBMEQsQ0FBQTtBQUN4RSxjQUFjLHdDQUF3QyxDQUFBO0FBQ3RELGNBQWMsa0VBQWtFLENBQUE7QUFDaEYsY0FBYywwQ0FBMEMsQ0FBQTtBQUN4RCxjQUFjLDhEQUE4RCxDQUFBO0FBQzVFLGNBQWMsZ0RBQWdELENBQUE7QUFDOUQsY0FBYyxzQ0FBc0MsQ0FBQTtBQUNwRCxjQUFjLDhDQUE4QyxDQUFBO0FBQzVELGNBQWMsMERBQTBELENBQUE7QUFDeEUsY0FBYyxzREFBc0QsQ0FBQTtBQUNwRSxjQUFjLHNEQUFzRCxDQUFBO0FBQ3BFLGNBQWMsZ0VBQWdFLENBQUE7QUFDOUUsY0FBYyx3REFBd0QsQ0FBQTtBQUN0RSxjQUFjLG9FQUFvRSxDQUFBO0FBQ2xGLGNBQWMsa0VBQWtFLENBQUE7QUFDaEYsY0FBYywwREFBMEQsQ0FBQTtBQUN4RSxjQUFjLHdEQUF3RCxDQUFBO0FBQ3RFLGNBQWMsd0RBQXdELENBQUE7QUFDdEUsY0FBYyxvREFBb0QsQ0FBQTtBQUNsRSxjQUFjLHNEQUFzRCxDQUFBO0FBQ3BFLGNBQWMsd0NBQXdDLENBQUE7QUFDdEQsY0FBYyxvREFBb0QsQ0FBQTtBQUNsRSxjQUFjLG9EQUFvRCxDQUFBO0FBQ2xFLGNBQWMsd0NBQXdDLENBQUE7QUFDdEQsY0FBYyx3RUFBd0UsQ0FBQTtBQUN0RixjQUFjLHNEQUFzRCxDQUFBO0FBQ3BFLGNBQWMsc0VBQXNFLENBQUE7QUFDcEYsY0FBYyw4REFBOEQsQ0FBQTtBQUM1RSxjQUFjLHdDQUF3QyxDQUFBO0FBQ3RELGNBQWMsNERBQTRELENBQUE7QUFDMUUsY0FBYyxzREFBc0QsQ0FBQTtBQUNwRSxjQUFjLDBDQUEwQyxDQUFBO0FBQ3hELGNBQWMsb0NBQW9DLENBQUE7QUFDbEQsY0FBYyw4Q0FBOEMsQ0FBQTtBQUM1RCxjQUFjLDhDQUE4QyxDQUFBO0FBQzVELGNBQWMsZ0RBQWdELENBQUE7QUFFOUQsWUFBWTtBQUNaLGNBQWMseURBQXlELENBQUE7QUFDdkUsY0FBYyxxREFBcUQsQ0FBQTtBQUNuRSxjQUFjLDZEQUE2RCxDQUFBO0FBQzNFLGNBQWMsNERBQTRELENBQUE7QUFFMUUsWUFBWTtBQUNaLGNBQWMseURBQXlELENBQUE7QUFDdkUsY0FBYyxvQ0FBb0MsQ0FBQTtBQUNsRCxjQUFjLHFDQUFxQyxDQUFBO0FBQ25ELGNBQWMsb0NBQW9DLENBQUE7QUFFbEQsUUFBUTtBQUNSLGNBQWMsOEJBQThCLENBQUE7QUFDNUMsY0FBYyxnQ0FBZ0MsQ0FBQTtBQUU5QyxVQUFVO0FBQ1YsY0FBYyxvQ0FBb0MsQ0FBQTtBQUNsRCxjQUFjLGlDQUFpQyxDQUFBO0FBQy9DLGNBQWMsaUNBQWlDLENBQUE7QUFFL0MsVUFBVTtBQUNWLGNBQWMsNkNBQTZDLENBQUE7QUFDM0QsY0FBYyxvREFBb0QsQ0FBQTtBQUNsRSxjQUFjLCtDQUErQyxDQUFBO0FBQzdELGNBQWMscUNBQXFDLENBQUE7QUFDbkQsY0FBYyx1Q0FBdUMsQ0FBQTtBQUNyRCxjQUFjLHVDQUF1QyxDQUFBO0FBRXJELFdBQVc7QUFDWCxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMsK0JBQStCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGxpYi1hdHJpdW4tYW5ndWxhclxuICpcbiAqIEVzdGUgYXJxdWl2byBleHBvcnRhIHRvZG9zIG9zIGNvbXBvbmVudGVzLCBlbnVtcyBlIG3Ds2R1bG9zIG5lY2Vzc8Ohcmlvc1xuICogcGFyYSBxdWUgb3MgY29uc3VtaWRvcmVzIGRhIGJpYmxpb3RlY2EgcG9zc2FtIHV0aWxpesOhLWxvcyBlbSBzdWFzIGFwbGljYcOnw7Vlcy5cbiAqL1xuXG4vLyBDb21wb25lbnRlc1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvYWxlcnQvYWxlcnQuY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2FwcC1iYWNrZ3JvdW5kL2FwcC1iYWNrZ3JvdW5kLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9iYWRnZS9iYWRnZS5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvYmFzaWMtcmVnaXN0cmF0aW9uL2Jhc2ljLXJlZ2lzdHJhdGlvbi5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvY2FsZW5kYXItYXJnZW50YS9jYWxlbmRhci1hcmdlbnRhLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9jYXJkLWluZm8vY2FyZC1pbmZvLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9jYXJkL2NhcmQuY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9jb2RlLWhpZ2hsaWdodC9jb2RlLWhpZ2hsaWdodC5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvY29uZmlybWF0aW9uL2NvbmZpcm1hdGlvbi5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvY3N2LWltcG9ydGVyL2Nzdi1pbXBvcnRlci5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvY3VzdG9tLXBhZ2luYXRpb24vY3VzdG9tLXBhZ2luYXRpb24uY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2N1c3RvbS1zd2l0Y2gvY3VzdG9tLXN3aXRjaC5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvZGF0YS1leGNlbC1leHBvcnRlci9kYXRhLWV4Y2VsLWV4cG9ydGVyLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9kYXRhLWV4Y2VsLWltcG9ydC9kYXRhLWV4Y2VsLWltcG9ydGVyLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9kcmFnLWRyb3AtbGlzdC9kcmFnLWRyb3AtbGlzdC5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvZHluYW1pYy1tb2RhbC9keW5hbWljLW1vZGFsLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUuY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9pbWFnZS11cGxvYWQvaW1hZ2UtdXBsb2FkLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9pbXB1dC9pbnB1dC5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvanNvbi1lZGl0b3IvanNvbi1lZGl0b3IuY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2pzb24tdmlld2VyL2pzb24tdmlld2VyLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvbXVsdGktc2VsZWN0LWNhdGVnb3J5L211bHRpLXNlbGVjdC1jYXRlZ29yeS5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvbXVsdGktc2VsZWN0L211bHRpLXNlbGVjdC5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvcGRmLWRhdGEtaGFuZGxlci9hcmdlbnRhLXBkZi1kYXRhLWhhbmRsZXIuY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3BkZi1kb3dubG9hZC9hcmdlbnRhLXBkZi1kb3dubG9hZC5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvcmFkaW8vcmFkaW8uY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3NlYXJjaC1jdXN0b21lci9zZWFyY2gtY3VzdG9tZXIuY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3NlYXJjaC1pbnB1dC9zZWFyY2gtaW5wdXQuY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3RhYi90YWIuY29tcG9uZW50XCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3RhYmxlcy9kYXRhLXRhYmxlLmNvbXBvbmVudFwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy90ZXh0YXJlYS90ZXh0YXJlYS5jb21wb25lbnRcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvdHJlZS1ub2RlL3RyZWUtbm9kZS5jb21wb25lbnRcIlxuXG4vLyBJbnRlcmZhY2VcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2RhdGEtZXhjZWwtZXhwb3J0ZXIvSUV4Y2VsRXhwb3J0Q29uZmlnXCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS1jb25maWdcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvcGRmLWRhdGEtaGFuZGxlci9pbnRlcmZhY2UvUGRmRXhwb3J0Q29uZmlnXCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3BkZi1kYXRhLWhhbmRsZXIvaW50ZXJmYWNlL1BkZlRhYmxlU3R5bGVzXCJcblxuLy8gRGlyZXRpdmFzXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZGlyZWN0aXZlL2F1dG9mb2N1cy1kaXJlY3RpdmUvYXV0b2ZvY3VzLmRpcmVjdGl2ZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZGlyZWN0aXZlL2NlcC1tYXNrLmRpcmVjdGl2ZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZGlyZWN0aXZlL2NucGotbWFzay5kaXJlY3RpdmVcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2RpcmVjdGl2ZS9jcGYtbWFzay5kaXJlY3RpdmVcIlxuXG4vLyBFbnVtc1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2VudW0vQnV0dG9uQ2xhc3Nlc0VudW1cIlxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2VudW0vQ2FyZEluZm9DbGFzc2VzRW51bVwiXG5cbi8vIE3Ds2R1bG9zXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy9jb21wb25lbnRzLm1vZHVsZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvaWNvbnMvbHVjaWRlLWljb25zLm1vZHVsZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbGliLXBvcnRhbC1hbmd1bGFyLm1vZHVsZVwiXG5cbi8vIFNlcnZpY2VcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2FsZXJ0L25vdGlmaWNhdGlvbi5zZXJ2aWNlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb21wb25lbnRzL2NvbmZpcm1hdGlvbi9jb25maXJtYXRpb24uc2VydmljZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29tcG9uZW50cy90YWJsZXMvZGF0YS1wYWdpbmF0ZS5zZXJ2aWNlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zZXJ2aWNlL2V4Y2VsLXNlcnZpY2Uuc2VydmljZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2VydmljZS9yZWZyZXNoLXNlcnZpY2Uuc2VydmljZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2VydmljZS9yb3V0ZS1wYXJhbWV0ZXIuc2VydmljZVwiXG5cbi8vIGZ1bmN0aW9uXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZnVuY3Rpb24vQ29udmVydFRvU25ha2VDYXNlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9mdW5jdGlvbi9TZXRUaGVtZUNvbG9yc1wiXG5cbiJdfQ==
@@ -2833,6 +2833,126 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2833
2833
  type: Output
2834
2834
  }] } });
2835
2835
 
2836
+ class JsonEditorComponent {
2837
+ constructor() {
2838
+ this.readonly = false;
2839
+ this.jsonChange = new EventEmitter();
2840
+ this.isJsonValid = new EventEmitter();
2841
+ this.jsonText = '';
2842
+ this.isValidJson = true;
2843
+ this.copyFeedback = '';
2844
+ this.showExample = false;
2845
+ this.exampleJson = {
2846
+ nome: "João",
2847
+ idade: 30,
2848
+ ativo: true,
2849
+ notas: [9.5, 8.3, 7.8],
2850
+ endereco: {
2851
+ cidade: "São Paulo",
2852
+ estado: "SP"
2853
+ },
2854
+ email: null
2855
+ };
2856
+ }
2857
+ get formattedExample() {
2858
+ return JSON.stringify(this.exampleJson, null, 2);
2859
+ }
2860
+ toggleExample() {
2861
+ this.showExample = !this.showExample;
2862
+ }
2863
+ ngOnInit() {
2864
+ this.jsonText = this.formatJson(this.data);
2865
+ this.isValidJson = this.checkValidJson(this.jsonText);
2866
+ }
2867
+ onTextChange(text) {
2868
+ this.jsonText = text;
2869
+ this.isValidJson = this.checkValidJson(text);
2870
+ if (this.isValidJson) {
2871
+ try {
2872
+ const parsed = JSON.parse(text);
2873
+ this.jsonChange.emit(parsed);
2874
+ }
2875
+ catch {
2876
+ this.isValidJson = false;
2877
+ }
2878
+ }
2879
+ }
2880
+ format() {
2881
+ try {
2882
+ const fixed = this.tryFixInvalidJson(this.jsonText);
2883
+ const parsed = JSON.parse(fixed);
2884
+ this.jsonText = JSON.stringify(parsed, null, 2);
2885
+ this.isValidJson = true;
2886
+ this.jsonChange.emit(parsed);
2887
+ }
2888
+ catch {
2889
+ this.isValidJson = false;
2890
+ }
2891
+ this.isJsonValid.emit(this.isValidJson);
2892
+ }
2893
+ copyToClipboard() {
2894
+ navigator.clipboard.writeText(this.jsonText).then(() => {
2895
+ this.copyFeedback = 'Copiado!';
2896
+ setTimeout(() => this.copyFeedback = '', 2000);
2897
+ });
2898
+ }
2899
+ checkValidJson(text) {
2900
+ try {
2901
+ JSON.parse(text);
2902
+ return true;
2903
+ }
2904
+ catch {
2905
+ return false;
2906
+ }
2907
+ }
2908
+ formatJson(data) {
2909
+ try {
2910
+ return JSON.stringify(data, null, 2);
2911
+ }
2912
+ catch {
2913
+ return '';
2914
+ }
2915
+ }
2916
+ tryFixInvalidJson(text) {
2917
+ let fixed = text;
2918
+ // 1) Remove comentários de linha e de bloco
2919
+ fixed = fixed.replace(/\/\/.*|\/\*[\s\S]*?\*\//g, '');
2920
+ // 2) Aspas simples → duplas em strings
2921
+ fixed = fixed.replace(/'([^']*)'/g, '"$1"');
2922
+ // 3) Remove trailing commas antes de ] ou }
2923
+ fixed = fixed.replace(/,\s*(?=[}\]])/g, '');
2924
+ // 4) Chaves não-aspadas → entre aspas
2925
+ fixed = fixed.replace(/([{,]\s*)([A-Za-z0-9_\$]+)\s*:/g, '$1"$2":');
2926
+ // 5) Valores string soltos → entre aspas duplas
2927
+ fixed = fixed.replace(/:\s*([^\s"'`\{\}\[\],][^,\}\]]*)(?=[,\}\]])/g, (_match, p1) => {
2928
+ const v = p1.trim();
2929
+ // se for número ou literal JSON, deixa como está
2930
+ if (/^[-+]?\d+(\.\d+)?([eE][-+]?\d+)?$/.test(v) ||
2931
+ /^(true|false|null)$/.test(v.toLowerCase())) {
2932
+ return `: ${v}`;
2933
+ }
2934
+ // escapa eventuais aspas internas e envolve em duplas
2935
+ const escaped = v.replace(/"/g, '\\"');
2936
+ return `: "${escaped}"`;
2937
+ });
2938
+ return fixed;
2939
+ }
2940
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: JsonEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2941
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: JsonEditorComponent, selector: "argenta-json-editor", inputs: { data: "data", readonly: "readonly" }, outputs: { jsonChange: "jsonChange", isJsonValid: "isJsonValid" }, ngImport: i0, template: "<div class=\"json-editor-container\">\n <div\n class=\"status-indicator\"\n *ngIf=\"!readonly\"\n [ngClass]=\"{ valid: isValidJson, invalid: !isValidJson }\"\n >\n {{ isValidJson ? \"\u2705\" : \"\u274C\" }}\n </div>\n\n <div class=\"actions\" *ngIf=\"!readonly\">\n <button (click)=\"format()\">\n <i-lucide name=\"file-json\" [size]=\"20\" color=\"white\"></i-lucide>\n </button>\n <button (click)=\"copyToClipboard()\">\n <i-lucide name=\"copy\" [size]=\"20\" color=\"white\"></i-lucide>\n </button>\n <button class=\"info\" (click)=\"toggleExample()\">\n <i-lucide name=\"info\" [size]=\"20\" color=\"white\"></i-lucide>\n </button>\n\n <span class=\"feedback\" *ngIf=\"copyFeedback\">{{ copyFeedback }}</span>\n </div>\n\n <div class=\"example-box\" *ngIf=\"showExample\">\n <pre>{{ formattedExample }}</pre>\n </div>\n\n <textarea\n [readonly]=\"readonly\"\n [ngClass]=\"{ invalid: !isValidJson }\"\n [(ngModel)]=\"jsonText\"\n (ngModelChange)=\"onTextChange($event)\"\n placeholder=\"Digite ou cole seu JSON aqui...\"\n ></textarea>\n</div>\n", styles: [".json-editor-container{position:relative;width:100%}.json-editor-container textarea{width:100%;height:300px;padding:10px 12px;font-family:monospace;font-size:14px;border:1px solid #ccc;border-radius:8px;resize:vertical;box-sizing:border-box}.json-editor-container textarea.invalid{border-color:#ef4444}.json-editor-container .actions{display:flex;gap:8px;margin-bottom:10px}.json-editor-container .actions button{padding:6px 12px;border:none;border-radius:6px;background-color:var(--primary-color);color:#fff;cursor:pointer}.json-editor-container .actions .feedback{font-size:12px;color:#10b981;margin-left:8px;align-self:center}.json-editor-container .status-indicator{position:absolute;top:10px;right:12px;height:32px;width:32px;border-radius:6px;text-align:center;line-height:32px;font-size:16px;background-color:#f3f4f6;box-shadow:0 0 0 1px #ccc}.json-editor-container .status-indicator.valid{color:#10b981}.json-editor-container .status-indicator.invalid{color:#ef4444}.json-editor-container .info-button{position:absolute;top:10px;left:12px;height:32px;width:32px;border-radius:6px;background-color:#f3f4f6;text-align:center;line-height:32px;font-size:18px;cursor:pointer;box-shadow:0 0 0 1px #ccc}.json-editor-container .info-button:hover{background-color:#e5e7eb}.json-editor-container .example-box{background-color:#f9fafb;border:1px solid #ccc;border-radius:8px;padding:10px;margin-bottom:10px;font-family:monospace;font-size:14px;white-space:pre;overflow-x:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.LucideAngularComponent, selector: "lucide-angular, lucide-icon, i-lucide, span-lucide", inputs: ["class", "name", "img", "color", "absoluteStrokeWidth", "size", "strokeWidth"] }] }); }
2942
+ }
2943
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: JsonEditorComponent, decorators: [{
2944
+ type: Component,
2945
+ args: [{ selector: 'argenta-json-editor', template: "<div class=\"json-editor-container\">\n <div\n class=\"status-indicator\"\n *ngIf=\"!readonly\"\n [ngClass]=\"{ valid: isValidJson, invalid: !isValidJson }\"\n >\n {{ isValidJson ? \"\u2705\" : \"\u274C\" }}\n </div>\n\n <div class=\"actions\" *ngIf=\"!readonly\">\n <button (click)=\"format()\">\n <i-lucide name=\"file-json\" [size]=\"20\" color=\"white\"></i-lucide>\n </button>\n <button (click)=\"copyToClipboard()\">\n <i-lucide name=\"copy\" [size]=\"20\" color=\"white\"></i-lucide>\n </button>\n <button class=\"info\" (click)=\"toggleExample()\">\n <i-lucide name=\"info\" [size]=\"20\" color=\"white\"></i-lucide>\n </button>\n\n <span class=\"feedback\" *ngIf=\"copyFeedback\">{{ copyFeedback }}</span>\n </div>\n\n <div class=\"example-box\" *ngIf=\"showExample\">\n <pre>{{ formattedExample }}</pre>\n </div>\n\n <textarea\n [readonly]=\"readonly\"\n [ngClass]=\"{ invalid: !isValidJson }\"\n [(ngModel)]=\"jsonText\"\n (ngModelChange)=\"onTextChange($event)\"\n placeholder=\"Digite ou cole seu JSON aqui...\"\n ></textarea>\n</div>\n", styles: [".json-editor-container{position:relative;width:100%}.json-editor-container textarea{width:100%;height:300px;padding:10px 12px;font-family:monospace;font-size:14px;border:1px solid #ccc;border-radius:8px;resize:vertical;box-sizing:border-box}.json-editor-container textarea.invalid{border-color:#ef4444}.json-editor-container .actions{display:flex;gap:8px;margin-bottom:10px}.json-editor-container .actions button{padding:6px 12px;border:none;border-radius:6px;background-color:var(--primary-color);color:#fff;cursor:pointer}.json-editor-container .actions .feedback{font-size:12px;color:#10b981;margin-left:8px;align-self:center}.json-editor-container .status-indicator{position:absolute;top:10px;right:12px;height:32px;width:32px;border-radius:6px;text-align:center;line-height:32px;font-size:16px;background-color:#f3f4f6;box-shadow:0 0 0 1px #ccc}.json-editor-container .status-indicator.valid{color:#10b981}.json-editor-container .status-indicator.invalid{color:#ef4444}.json-editor-container .info-button{position:absolute;top:10px;left:12px;height:32px;width:32px;border-radius:6px;background-color:#f3f4f6;text-align:center;line-height:32px;font-size:18px;cursor:pointer;box-shadow:0 0 0 1px #ccc}.json-editor-container .info-button:hover{background-color:#e5e7eb}.json-editor-container .example-box{background-color:#f9fafb;border:1px solid #ccc;border-radius:8px;padding:10px;margin-bottom:10px;font-family:monospace;font-size:14px;white-space:pre;overflow-x:auto}\n"] }]
2946
+ }], propDecorators: { data: [{
2947
+ type: Input
2948
+ }], readonly: [{
2949
+ type: Input
2950
+ }], jsonChange: [{
2951
+ type: Output
2952
+ }], isJsonValid: [{
2953
+ type: Output
2954
+ }] } });
2955
+
2836
2956
  class JsonViewerComponent {
2837
2957
  constructor() {
2838
2958
  this.isRoot = true;
@@ -4557,6 +4677,7 @@ class ComponentsModule {
4557
4677
  CalendarArgentaComponent,
4558
4678
  AccordionArgentaComponent,
4559
4679
  JsonViewerComponent,
4680
+ JsonEditorComponent,
4560
4681
  ModalComponent,
4561
4682
  DragDropListComponent,
4562
4683
  DynamicModalComponent,
@@ -4605,6 +4726,7 @@ class ComponentsModule {
4605
4726
  CalendarArgentaComponent,
4606
4727
  AccordionArgentaComponent,
4607
4728
  JsonViewerComponent,
4729
+ JsonEditorComponent,
4608
4730
  ModalComponent,
4609
4731
  DragDropListComponent,
4610
4732
  DynamicModalComponent,
@@ -4659,6 +4781,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
4659
4781
  CalendarArgentaComponent,
4660
4782
  AccordionArgentaComponent,
4661
4783
  JsonViewerComponent,
4784
+ JsonEditorComponent,
4662
4785
  ModalComponent,
4663
4786
  DragDropListComponent,
4664
4787
  DynamicModalComponent,
@@ -4713,6 +4836,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
4713
4836
  CalendarArgentaComponent,
4714
4837
  AccordionArgentaComponent,
4715
4838
  JsonViewerComponent,
4839
+ JsonEditorComponent,
4716
4840
  ModalComponent,
4717
4841
  DragDropListComponent,
4718
4842
  DynamicModalComponent,
@@ -5010,5 +5134,5 @@ function setThemeColors(config) {
5010
5134
  * Generated bundle index. Do not edit.
5011
5135
  */
5012
5136
 
5013
- export { AccordionArgentaComponent, AlertComponent, AppBackgroundComponent, ArgentaPdfDataHandlerComponent, ArgentaPdfDownloadComponent, AutofocusDirective, BadgeComponent, BasicRegistrationComponent, ButtonClasses, ButtonComponent, CalendarArgentaComponent, CardComponent, CardInfoComponent, CepMaskDirective, CheckboxComponent, CnpjMaskDirective, CodeHighlightComponent, ComponentsModule, ConfirmationComponent, ConfirmationService, CpfMaskDirective, CsvImporterComponent, CustomPaginationComponent, CustomSwitchComponent, DataExcelExporterComponent, DataExcelImporterComponent, DataPaginateService, DataTableComponent, DragDropListComponent, DynamicModalComponent, DynamicTableComponent, ExcelService, FileUploadComponent, ImageUploadComponent, InputComponent, JsonViewerComponent, LibPortalAngularModule, LucideIconsModule, ModalComponent, MultiSelectCategoryComponent, MultiSelectComponent, NotificationService, RadioComponent, RefreshService, RouterParameterService, SearchCustomerComponent, SearchInputComponent, SelectComponent, TabComponent, TextareaComponent, TreeNodeComponent, convertToSnakeCase, setThemeColors };
5137
+ export { AccordionArgentaComponent, AlertComponent, AppBackgroundComponent, ArgentaPdfDataHandlerComponent, ArgentaPdfDownloadComponent, AutofocusDirective, BadgeComponent, BasicRegistrationComponent, ButtonClasses, ButtonComponent, CalendarArgentaComponent, CardComponent, CardInfoComponent, CepMaskDirective, CheckboxComponent, CnpjMaskDirective, CodeHighlightComponent, ComponentsModule, ConfirmationComponent, ConfirmationService, CpfMaskDirective, CsvImporterComponent, CustomPaginationComponent, CustomSwitchComponent, DataExcelExporterComponent, DataExcelImporterComponent, DataPaginateService, DataTableComponent, DragDropListComponent, DynamicModalComponent, DynamicTableComponent, ExcelService, FileUploadComponent, ImageUploadComponent, InputComponent, JsonEditorComponent, JsonViewerComponent, LibPortalAngularModule, LucideIconsModule, ModalComponent, MultiSelectCategoryComponent, MultiSelectComponent, NotificationService, RadioComponent, RefreshService, RouterParameterService, SearchCustomerComponent, SearchInputComponent, SelectComponent, TabComponent, TextareaComponent, TreeNodeComponent, convertToSnakeCase, setThemeColors };
5014
5138
  //# sourceMappingURL=lib-portal-angular.mjs.map