@cuby-ui/core 0.0.594 → 0.0.596

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.
@@ -38,16 +38,16 @@ export class CuiEditorService {
38
38
  });
39
39
  return blocks;
40
40
  }
41
- collectAddedBlocksRequest(editorId, addedBlocks) {
41
+ collectAddedBlocksRequest(editorId, addedBlocks, requestOptions) {
42
42
  const addBlocksBody = {
43
43
  jtextContainerId: editorId,
44
44
  position: addedBlocks[0]?.index,
45
45
  block: addedBlocks.map((e) => e.block)
46
46
  };
47
- const addBlocks$ = addedBlocks.length ? this.jtextService.createBlocks(addBlocksBody) : of([]);
47
+ const addBlocks$ = addedBlocks.length ? this.jtextService.createBlocks(addBlocksBody, requestOptions) : of([]);
48
48
  return addBlocks$;
49
49
  }
50
- collectUpdatedBlocksRequest(updatedBlocks, blockIdsMap) {
50
+ collectUpdatedBlocksRequest(updatedBlocks, blockIdsMap, requestOptions) {
51
51
  const updatedBlocksWithId = updatedBlocks.reduce((acc, block) => {
52
52
  const blockWithId = {
53
53
  ...block,
@@ -58,11 +58,11 @@ export class CuiEditorService {
58
58
  }
59
59
  return acc;
60
60
  }, []);
61
- const updateBlocksArray = updatedBlocksWithId.map((block) => this.jtextService.updateBlock(block));
61
+ const updateBlocksArray = updatedBlocksWithId.map((block) => this.jtextService.updateBlock(block, requestOptions));
62
62
  const updateBlocks$ = updatedBlocksWithId.length ? forkJoin(updateBlocksArray) : of([]);
63
63
  return updateBlocks$;
64
64
  }
65
- collectRemovedBlocksRequest(editorId, removedBlocksIds, blockIdsMap) {
65
+ collectRemovedBlocksRequest(editorId, removedBlocksIds, blockIdsMap, requestOptions) {
66
66
  const removedBlocks = removedBlocksIds.reduce((blockIds, blockId) => {
67
67
  const backendID = blockIdsMap.get(blockId);
68
68
  if (backendID) {
@@ -71,7 +71,9 @@ export class CuiEditorService {
71
71
  return blockIds;
72
72
  }, []);
73
73
  const uniqueBackendIds = [...new Set(removedBlocks)];
74
- const removeBlocks$ = uniqueBackendIds.length ? this.jtextService.deleteBlocks(editorId, uniqueBackendIds) : of();
74
+ const removeBlocks$ = uniqueBackendIds.length
75
+ ? this.jtextService.deleteBlocks(editorId, uniqueBackendIds, requestOptions)
76
+ : of();
75
77
  removedBlocks.forEach((removedBlock) => {
76
78
  blockIdsMap.delete(removedBlock);
77
79
  });
@@ -99,7 +101,7 @@ export class CuiEditorService {
99
101
  editor.on(COMBINED_TEXT_BLOCK_UPDATED, data.updatedCallback);
100
102
  editor.on(COMBINED_TEXT_BLOCK_REMOVED, data.removedCallback);
101
103
  }
102
- setStartBlock(editorId, callback) {
104
+ setStartBlock(editorId, requestOptions, callback) {
103
105
  const blockId = generateId();
104
106
  const emptyBlock = {
105
107
  type: COMBINED_TEXT_BLOCK_PART,
@@ -115,7 +117,7 @@ export class CuiEditorService {
115
117
  jtextContainerId: editorId
116
118
  };
117
119
  this.jtextService
118
- .createBlock(body)
120
+ .createBlock(body, requestOptions)
119
121
  .pipe(takeUntilDestroyed(this.destroyRef))
120
122
  .subscribe((id) => {
121
123
  emptyBlock.id = id;
@@ -136,4 +138,4 @@ export class CuiEditorService {
136
138
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiEditorService, decorators: [{
137
139
  type: Injectable
138
140
  }] });
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci9zZXJ2aWNlcy9lZGl0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFJaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLHFCQUFxQixFQUFZLE1BQU0sY0FBYyxDQUFDO0FBRS9ELE9BQU8sRUFDSCx5QkFBeUIsRUFDekIsd0JBQXdCLEVBQ3hCLHdCQUF3QixFQUN4QiwyQkFBMkIsRUFDM0IsMkJBQTJCLEVBQzlCLE1BQU0sY0FBYyxDQUFDO0FBUXRCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFJbEQsTUFBTSxPQUFPLGdCQUFnQjtJQUQ3QjtRQUVxQixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLGlCQUFZLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7S0E2S2pFO0lBM0tVLGlCQUFpQixDQUFDLE1BQTRCO1FBQ2pELE1BQU0sTUFBTSxHQUF1QjtZQUMvQixlQUFlLEVBQUUsRUFBRTtZQUNuQixhQUFhLEVBQUUsRUFBRTtZQUNqQixlQUFlLEVBQUUsRUFBRTtTQUN0QixDQUFDO1FBRUYsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQzNCLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLHdCQUF3QixFQUFFLENBQUM7Z0JBQzlELE9BQU87WUFDWCxDQUFDO1lBRUQsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFD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QyxVQUFVLENBQUMsQ0FBQzthQUN6QyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUNkLFVBQVUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBRW5CLE1BQU0sS0FBSyxHQUF1QztnQkFDOUMsRUFBRSxFQUFFLE9BQU87Z0JBQ1gsSUFBSSxFQUFFLHdCQUF3QjtnQkFDOUIsSUFBSSxFQUFFO29CQUNGLEVBQUUsRUFBRSxPQUFPO29CQUNYLFVBQVUsRUFBRSxDQUFDLFVBQVUsQ0FBQztpQkFDM0I7YUFDSixDQUFDO1lBRUYsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7K0dBOUtRLGdCQUFnQjttSEFBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzdHJveVJlZiwgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuaW1wb3J0IHR5cGUgRWRpdG9ySlMgZnJvbSAnQGVkaXRvcmpzL2VkaXRvcmpzJztcclxuaW1wb3J0IHR5cGUgeyBCbG9ja011dGF0aW9uRXZlbnQsIE91dHB1dERhdGEgfSBmcm9tICdAZWRpdG9yanMvZWRpdG9yanMnO1xyXG5pbXBvcnQgdHlwZSB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZm9ya0pvaW4sIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENVSV9KVEVYVF9BUElfU0VSVklDRSwgQ3VpQmxvY2sgfSBmcm9tICdAY3VieS11aS9hcGknO1xyXG5cclxuaW1wb3J0IHtcclxuICAgIENPTUJJTkVEX1RFWFRfQkxPQ0tfQURERUQsXHJcbiAgICBDT01CSU5FRF9URVhUX0JMT0NLX05BTUUsXHJcbiAgICBDT01CSU5FRF9URVhUX0JMT0NLX1BBUlQsXHJcbiAgICBDT01CSU5FRF9URVhUX0JMT0NLX1JFTU9WRUQsXHJcbiAgICBDT01CSU5FRF9URVhUX0JMT0NLX1VQREFURURcclxufSBmcm9tICcuLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgdHlwZSB7XHJcbiAgICBDdWlDb21iaW5lZEJsb2NrQWRkaW5nRXZlbnQsXHJcbiAgICBDdWlDb21iaW5lZEJsb2NrVG9vbERhdGEsXHJcbiAgICBDdWlDb21iaW5lZFBhcnRCbG9jayxcclxuICAgIEN1aUV2ZW50QWN0aW9uRGF0YSxcclxuICAgIEN1aUZ1bGxCbG9ja0RhdGFcclxufSBmcm9tICcuLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgZ2VuZXJhdGVJZCB9IGZyb20gJy4uL3V0aWxzL2dlbmVyYXRlLWlkJztcclxuaW1wb3J0IHsgRXZlbnRBY3Rpb25zIH0gZnJvbSAnLi9lZGl0b3Itc2VydmljZS5vcHRpb25zJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEN1aUVkaXRvclNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBqdGV4dFNlcnZpY2UgPSBpbmplY3QoQ1VJX0pURVhUX0FQSV9TRVJWSUNFKTtcclxuXHJcbiAgICBwdWJsaWMgc29ydEV2ZW50c0J5VHlwZXMoZXZlbnRzOiBCbG9ja011dGF0aW9uRXZlbnRbXSk6IEN1aUV2ZW50QWN0aW9uRGF0YSB7XHJcbiAgICAgICAgY29uc3QgYmxvY2tzOiBDdWlFdmVudEFjdGlvbkRhdGEgPSB7XHJcbiAgICAgICAgICAgICdibG9jay1yZW1vdmVkJzogW10sXHJcbiAgICAgICAgICAgICdibG9jay1hZGRlZCc6IFtdLFxyXG4gICAgICAgICAgICAnYmxvY2stY2hhbmdlZCc6IFtdXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgZXZlbnRzLmZvckVhY2goKGVkaXRvckV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChlZGl0b3JFdmVudC5kZXRhaWwudGFyZ2V0Lm5hbWUgPT09IENPTUJJTkVEX1RFWFRfQkxPQ0tfTkFNRSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBjb25zdCBldmVudFR5cGUgPSBlZGl0b3JFdmVudC50eXBlO1xyXG5cclxuICAgICAgICAgICAgaWYgKGV2ZW50VHlwZSA9PT0gRXZlbnRBY3Rpb25zLnVwZGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY2hhbmdlZEJsb2NrID0gYmxvY2tzW0V2ZW50QWN0aW9ucy5hZGRdLmZpbmQoXHJcbiAgICAgICAgICAgICAgICAgICAgKGJsb2NrKSA9PiBibG9jay5kZXRhaWwudGFyZ2V0LmlkID09PSBlZGl0b3JFdmVudC5kZXRhaWwudGFyZ2V0LmlkXHJcbiAgICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChjaGFuZ2VkQmxvY2spIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChldmVudFR5cGUgPT09IEV2ZW50QWN0aW9ucy5yZW1vdmUpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGxlbiA9IGJsb2Nrc1tFdmVudEFjdGlvbnMuYWRkXS5sZW5ndGg7XHJcblxyXG4gICAgICAgICAgICAgICAgYmxvY2tzW0V2ZW50QWN0aW9ucy5hZGRdID0gYmxvY2tzW0V2ZW50QWN0aW9ucy5hZGRdLmZpbHRlcihcclxuICAgICAgICAgICAgICAgICAgICAoYmxvY2spID0+IGJsb2NrLmRldGFpbC50YXJnZXQuaWQgIT09IGVkaXRvckV2ZW50LmRldGFpbC50YXJnZXQuaWRcclxuICAgICAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGxlbiA+IGJsb2Nrc1tFdmVudEFjdGlvbnMuYWRkXS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGJsb2Nrc1tldmVudFR5cGUgYXMgRXZlbnRBY3Rpb25zXS5wdXNoKGVkaXRvckV2ZW50KTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGJsb2NrcztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY29sbGVjdEFkZGVkQmxvY2tzUmVxdWVzdChlZGl0b3JJZDogc3RyaW5nLCBhZGRlZEJsb2NrczogQ3VpRnVsbEJsb2NrRGF0YVtdKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xyXG4gICAgICAgIGNvbnN0IGFkZEJsb2Nrc0JvZHkgPSB7XHJcbiAgICAgICAgICAgIGp0ZXh0Q29udGFpbmVySWQ6IGVkaXRvcklkLFxyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWRkZWRCbG9ja3NbMF0/LmluZGV4LFxyXG4gICAgICAgICAgICBibG9jazogYWRkZWRCbG9ja3MubWFwKChlKSA9PiBlLmJsb2NrKVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY29uc3QgYWRkQmxvY2tzJCA9IGFkZGVkQmxvY2tzLmxlbmd0aCA/IHRoaXMuanRleHRTZXJ2aWNlLmNyZWF0ZUJsb2NrcyhhZGRCbG9ja3NCb2R5KSA6IG9mKFtdKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGFkZEJsb2NrcyQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNvbGxlY3RVcGRhdGVkQmxvY2tzUmVxdWVzdChcclxuICAgICAgICB1cGRhdGVkQmxvY2tzOiBDdWlCbG9ja1tdLFxyXG4gICAgICAgIGJsb2NrSWRzTWFwOiBNYXA8c3RyaW5nLCBzdHJpbmc+XHJcbiAgICApOiBPYnNlcnZhYmxlPEN1aUJsb2NrW10+IHtcclxuICAgICAgICBjb25zdCB1cGRhdGVkQmxvY2tzV2l0aElkID0gdXBkYXRlZEJsb2Nrcy5yZWR1Y2UoKGFjYywgYmxvY2spID0+IHtcclxuICAgICAgICAgICAgY29uc3QgYmxvY2tXaXRoSWQgPSB7XHJcbiAgICAgICAgICAgICAgICAuLi5ibG9jayxcclxuICAgICAgICAgICAgICAgIGlkOiBibG9ja0lkc01hcC5nZXQoYmxvY2suaWQhKVxyXG4gICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgaWYgKGJsb2NrV2l0aElkLmlkKSB7XHJcbiAgICAgICAgICAgICAgICBhY2MucHVzaChibG9ja1dpdGhJZCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHJldHVybiBhY2M7XHJcbiAgICAgICAgfSwgW10gYXMgQ3VpQmxvY2tbXSk7XHJcblxyXG4gICAgICAgIGNvbnN0IHVwZGF0ZUJsb2Nrc0FycmF5ID0gdXBkYXRlZEJsb2Nrc1dpdGhJZC5tYXAoKGJsb2NrKSA9PiB0aGlzLmp0ZXh0U2VydmljZS51cGRhdGVCbG9jayhibG9jaykpO1xyXG4gICAgICAgIGNvbnN0IHVwZGF0ZUJsb2NrcyQgPSB1cGRhdGVkQmxvY2tzV2l0aElkLmxlbmd0aCA/IGZvcmtKb2luKHVwZGF0ZUJsb2Nrc0FycmF5KSA6IG9mKFtdKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHVwZGF0ZUJsb2NrcyQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNvbGxlY3RSZW1vdmVkQmxvY2tzUmVxdWVzdChcclxuICAgICAgICBlZGl0b3JJZDogc3RyaW5nLFxyXG4gICAgICAgIHJlbW92ZWRCbG9ja3NJZHM6IHN0cmluZ1tdLFxyXG4gICAgICAgIGJsb2NrSWRzTWFwOiBNYXA8c3RyaW5nLCBzdHJpbmc+XHJcbiAgICApOiBPYnNlcnZhYmxlPHZvaWQ+IHtcclxuICAgICAgICBjb25zdCByZW1vdmVkQmxvY2tzOiBzdHJpbmdbXSA9IHJlbW92ZWRCbG9ja3NJZHMucmVkdWNlKChibG9ja0lkcywgYmxvY2tJZCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBiYWNrZW5kSUQgPSBibG9ja0lkc01hcC5nZXQoYmxvY2tJZCk7XHJcblxyXG4gICAgICAgICAgICBpZiAoYmFja2VuZElEKSB7XHJcbiAgICAgICAgICAgICAgICBibG9ja0lkcy5wdXNoKGJhY2tlbmRJRCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHJldHVybiBibG9ja0lkcztcclxuICAgICAgICB9LCBbXSBhcyBzdHJpbmdbXSk7XHJcblxyXG4gICAgICAgIGNvbnN0IHVuaXF1ZUJhY2tlbmRJZHMgPSBbLi4ubmV3IFNldChyZW1vdmVkQmxvY2tzKV07XHJcbiAgICAgICAgY29uc3QgcmVtb3ZlQmxvY2tzJCA9XHJcbiAgICAgICAgICAgIHVuaXF1ZUJhY2tlbmRJZHMubGVuZ3RoID8gdGhpcy5qdGV4dFNlcnZpY2UuZGVsZXRlQmxvY2tzKGVkaXRvcklkLCB1bmlxdWVCYWNrZW5kSWRzKSA6IG9mKCk7XHJcblxyXG4gICAgICAgIHJlbW92ZWRCbG9ja3MuZm9yRWFjaCgocmVtb3ZlZEJsb2NrKSA9PiB7XHJcbiAgICAgICAgICAgIGJsb2NrSWRzTWFwLmRlbGV0ZShyZW1vdmVkQmxvY2spO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gcmVtb3ZlQmxvY2tzJDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0RnVsbEJsb2NrRGF0YShldmVudDogQmxvY2tNdXRhdGlvbkV2ZW50LCBlZGl0b3JEYXRhOiBPdXRwdXREYXRhKTogQ3VpRnVsbEJsb2NrRGF0YSB7XHJcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQuZGV0YWlsLnRhcmdldDtcclxuICAgICAgICBjb25zdCBpbmRleCA9IE51bWJlcih0YXJnZXQuaG9sZGVyLmRhdGFzZXRbJ2luZGV4J10pO1xyXG4gICAgICAgIGNvbnN0IGJsb2NrSW5kZXggPSAoZXZlbnQuZGV0YWlsIGFzIHVua25vd24gYXMgeyBpbmRleDogbnVtYmVyIH0pLmluZGV4O1xyXG4gICAgICAgIGNvbnN0IGJsb2NrVHlwZSA9IHRhcmdldC5uYW1lO1xyXG4gICAgICAgIGNvbnN0IGJsb2NrSWQgPSB0YXJnZXQuaWQ7XHJcbiAgICAgICAgY29uc3QgY3VycmVudEJsb2NrQnlJbmRleCA9IGVkaXRvckRhdGEuYmxvY2tzW2Jsb2NrSW5kZXhdO1xyXG4gICAgICAgIGNvbnN0IGJsb2NrRGF0YSA9IGN1cnJlbnRCbG9ja0J5SW5kZXg/LmlkID09PSBibG9ja0lkID8gZWRpdG9yRGF0YS5ibG9ja3NbYmxvY2tJbmRleF0uZGF0YSA6IHsgdGV4dDogJycgfTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaW5kZXgsXHJcbiAgICAgICAgICAgIGlkOiBibG9ja0lkLFxyXG4gICAgICAgICAgICBibG9jazoge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogYmxvY2tUeXBlLFxyXG4gICAgICAgICAgICAgICAgZGF0YTogYmxvY2tEYXRhXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXRMaXN0ZW5lcnNPbkN1c3RvbUJsb2NrQ2hhbmdlcyhcclxuICAgICAgICBlZGl0b3I6IEVkaXRvckpTLFxyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgcmVtb3ZlZENhbGxiYWNrOiAoYmxvY2tJZHM6IHN0cmluZ1tdKSA9PiB2b2lkO1xyXG4gICAgICAgICAgICB1cGRhdGVkQ2FsbGJhY2s6ICh1cGRhdGVkQmxvY2tzOiBDdWlCbG9ja1tdKSA9PiB2b2lkO1xyXG4gICAgICAgICAgICBhZGRlZENhbGxiYWNrOiAoZGF0YTogQ3VpQ29tYmluZWRCbG9ja0FkZGluZ0V2ZW50KSA9PiB2b2lkO1xyXG4gICAgICAgIH1cclxuICAgICk6IHZvaWQge1xyXG4gICAgICAgIGVkaXRvci5vbihDT01CSU5FRF9URVhUX0JMT0NLX0FEREVELCBkYXRhLmFkZGVkQ2FsbGJhY2spO1xyXG4gICAgICAgIGVkaXRvci5vbihDT01CSU5FRF9URVhUX0JMT0NLX1VQREFURUQsIGRhdGEudXBkYXRlZENhbGxiYWNrKTtcclxuICAgICAgICBlZGl0b3Iub24oQ09NQklORURfVEVYVF9CTE9DS19SRU1PVkVELCBkYXRhLnJlbW92ZWRDYWxsYmFjayk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldFN0YXJ0QmxvY2soXHJcbiAgICAgICAgZWRpdG9ySWQ6IHN0cmluZyxcclxuICAgICAgICBjYWxsYmFjazogKGJsb2NrOiBDdWlCbG9jazxDdWlDb21iaW5lZEJsb2NrVG9vbERhdGE+LCBpZDogc3RyaW5nKSA9PiB2b2lkXHJcbiAgICApOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBibG9ja0lkID0gZ2VuZXJhdGVJZCgpO1xyXG4gICAgICAgIGNvbnN0IGVtcHR5QmxvY2s6IEN1aUNvbWJpbmVkUGFydEJsb2NrID0ge1xyXG4gICAgICAgICAgICB0eXBlOiBDT01CSU5FRF9URVhUX0JMT0NLX1BBUlQsXHJcbiAgICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgICAgIHRleHQ6ICcnLFxyXG4gICAgICAgICAgICAgICAgcGFyZW50SWQ6IGJsb2NrSWQsXHJcbiAgICAgICAgICAgICAgICBwYXJlbnRUeXBlOiBDT01CSU5FRF9URVhUX0JMT0NLX05BTUVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY29uc3QgYm9keSA9IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IDAsXHJcbiAgICAgICAgICAgIGJsb2NrOiBlbXB0eUJsb2NrLFxyXG4gICAgICAgICAgICBqdGV4dENvbnRhaW5lcklkOiBlZGl0b3JJZFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuanRleHRTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5jcmVhdGVCbG9jayhib2R5KVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoaWQpID0+IHtcclxuICAgICAgICAgICAgICAgIGVtcHR5QmxvY2suaWQgPSBpZDtcclxuXHJcbiAgICAgICAgICAgICAgICBjb25zdCBibG9jazogQ3VpQmxvY2s8Q3VpQ29tYmluZWRCbG9ja1Rvb2xEYXRhPiA9IHtcclxuICAgICAgICAgICAgICAgICAgICBpZDogYmxvY2tJZCxcclxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBDT01CSU5FRF9URVhUX0JMT0NLX05BTUUsXHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogYmxvY2tJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEJsb2NrczogW2VtcHR5QmxvY2tdXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICBjYWxsYmFjayhibG9jaywgaWQpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci9zZXJ2aWNlcy9lZGl0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFJaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLHFCQUFxQixFQUEyQixNQUFNLGNBQWMsQ0FBQztBQUU5RSxPQUFPLEVBQ0gseUJBQXlCLEVBQ3pCLHdCQUF3QixFQUN4Qix3QkFBd0IsRUFDeEIsMkJBQTJCLEVBQzNCLDJCQUEyQixFQUM5QixNQUFNLGNBQWMsQ0FBQztBQVF0QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBSWxELE1BQU0sT0FBTyxnQkFBZ0I7SUFEN0I7UUFFcUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0tBdUxqRTtJQXJMVSxpQkFBaUIsQ0FBQyxNQUE0QjtRQUNqRCxNQUFNLE1BQU0sR0FBdUI7WUFDL0IsZUFBZSxFQUFFLEVBQUU7WUFDbkIsYUFBYSxFQUFFLEVBQUU7WUFDakIsZUFBZSxFQUFFLEVBQUU7U0FDdEIsQ0FBQztRQUVGLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUMzQixJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyx3QkFBd0IsRUFBRSxDQUFDO2dCQUM5RCxPQUFPO1lBQ1gsQ0FBQztZQUVELE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUM7WUFFbkMsSUFBSSxTQUFTLDhDQUF3QixFQUFFLENBQUM7Z0JBQ3BDLE1BQU0sWUFBWSxHQUFHLE1BQU0sc0NBQWtCLENBQUMsSUFBSSxDQUM5QyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FDckUsQ0FBQztnQkFFRixJQUFJLFlBQVksRUFBRSxDQUFDO29CQUNmLE9BQU87Z0JBQ1gsQ0FBQztZQUNMLENBQUM7WUFFRCxJQUFJLFNBQVMsOENBQXdCLEVBQUUsQ0FBQztnQkFDcEMsTUFBTSxHQUFHLEdBQUcsTUFBTSxzQ0FBa0IsQ0FBQyxNQUFNLENBQUM7Z0JBRTVDLE1BQU0sc0NBQWtCLEdBQUcsTUFBTSxzQ0FBa0IsQ0FBQyxNQUFNLENBQ3RELENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUNyRSxDQUFDO2dCQUVGLElBQUksR0FBRyxHQUFHLE1BQU0sc0NBQWtCLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ3hDLE9BQU87Z0JBQ1gsQ0FBQztZQUNMLENBQUM7WUFFRCxNQUFNLENBQUMsU0FBeUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFTSx5QkFBeUIsQ0FDNUIsUUFBZ0IsRUFDaEIsV0FBK0IsRUFDL0IsY0FBOEI7UUFFOUIsTUFBTSxhQUFhLEdBQUc7WUFDbEIsZ0JBQWdCLEVBQUUsUUFBUTtZQUMxQixRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUs7WUFDL0IsS0FBSyxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7U0FDekMsQ0FBQztRQUNGLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRS9HLE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7SUFFTSwyQkFBMkIsQ0FDOUIsYUFBeUIsRUFDekIsV0FBZ0MsRUFDaEMsY0FBOEI7UUFFOUIsTUFBTSxtQkFBbUIsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQzVELE1BQU0sV0FBVyxHQUFHO2dCQUNoQixHQUFHLEtBQUs7Z0JBQ1IsRUFBRSxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUcsQ0FBQzthQUNqQyxDQUFDO1lBRUYsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ2pCLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDMUIsQ0FBQztZQUVELE9BQU8sR0FBRyxDQUFDO1FBQ2YsQ0FBQyxFQUFFLEVBQWdCLENBQUMsQ0FBQztRQUVyQixNQUFNLGlCQUFpQixHQUFHLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ3hELElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxjQUFjLENBQUMsQ0FDdkQsQ0FBQztRQUNGLE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV4RixPQUFPLGFBQWEsQ0FBQztJQUN6QixDQUFDO0lBRU0sMkJBQTJCLENBQzlCLFFBQWdCLEVBQ2hCLGdCQUEwQixFQUMxQixXQUFnQyxFQUNoQyxjQUE4QjtRQUU5QixNQUFNLGFBQWEsR0FBYSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDMUUsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUUzQyxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUNaLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDN0IsQ0FBQztZQUVELE9BQU8sUUFBUSxDQUFDO1FBQ3BCLENBQUMsRUFBRSxFQUFjLENBQUMsQ0FBQztRQUVuQixNQUFNLGdCQUFnQixHQUFHLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDLE1BQU07WUFDekMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLENBQUM7WUFDNUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBRVgsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ25DLFdBQVcsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLGFBQWEsQ0FBQztJQUN6QixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsS0FBeUIsRUFBRSxVQUFzQjtRQUNyRSxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUNuQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNyRCxNQUFNLFVBQVUsR0FBSSxLQUFLLENBQUMsTUFBdUMsQ0FBQyxLQUFLLENBQUM7UUFDeEUsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUM5QixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQzFCLE1BQU0sbUJBQW1CLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxRCxNQUFNLFNBQVMsR0FBRyxtQkFBbUIsRUFBRSxFQUFFLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFFMUcsT0FBTztZQUNILEtBQUs7WUFDTCxFQUFFLEVBQUUsT0FBTztZQUNYLEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsU0FBUztnQkFDZixJQUFJLEVBQUUsU0FBUzthQUNsQjtTQUNKLENBQUM7SUFDTixDQUFDO0lBRU0sZ0NBQWdDLENBQ25DLE1BQWdCLEVBQ2hCLElBSUM7UUFFRCxNQUFNLENBQUMsRUFBRSxDQUFDLHlCQUF5QixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN6RCxNQUFNLENBQUMsRUFBRSxDQUFDLDJCQUEyQixFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM3RCxNQUFNLENBQUMsRUFBRSxDQUFDLDJCQUEyQixFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU0sYUFBYSxDQUNoQixRQUFnQixFQUNoQixjQUF5QyxFQUN6QyxRQUF5RTtRQUV6RSxNQUFNLE9BQU8sR0FBRyxVQUFVLEVBQUUsQ0FBQztRQUM3QixNQUFNLFVBQVUsR0FBeUI7WUFDckMsSUFBSSxFQUFFLHdCQUF3QjtZQUM5QixJQUFJLEVBQUU7Z0JBQ0YsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsUUFBUSxFQUFFLE9BQU87Z0JBQ2pCLFVBQVUsRUFBRSx3QkFBd0I7YUFDdkM7U0FDSixDQUFDO1FBQ0YsTUFBTSxJQUFJLEdBQUc7WUFDVCxRQUFRLEVBQUUsQ0FBQztZQUNYLEtBQUssRUFBRSxVQUFVO1lBQ2pCLGdCQUFnQixFQUFFLFFBQVE7U0FDN0IsQ0FBQztRQUVGLElBQUksQ0FBQyxZQUFZO2FBQ1osV0FBVyxDQUFDLElBQUksRUFBRSxjQUFjLENBQUM7YUFDakMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN6QyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUNkLFVBQVUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBRW5CLE1BQU0sS0FBSyxHQUF1QztnQkFDOUMsRUFBRSxFQUFFLE9BQU87Z0JBQ1gsSUFBSSxFQUFFLHdCQUF3QjtnQkFDOUIsSUFBSSxFQUFFO29CQUNGLEVBQUUsRUFBRSxPQUFPO29CQUNYLFVBQVUsRUFBRSxDQUFDLFVBQVUsQ0FBQztpQkFDM0I7YUFDSixDQUFDO1lBRUYsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7K0dBeExRLGdCQUFnQjttSEFBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzdHJveVJlZiwgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuaW1wb3J0IHR5cGUgRWRpdG9ySlMgZnJvbSAnQGVkaXRvcmpzL2VkaXRvcmpzJztcclxuaW1wb3J0IHR5cGUgeyBCbG9ja011dGF0aW9uRXZlbnQsIE91dHB1dERhdGEgfSBmcm9tICdAZWRpdG9yanMvZWRpdG9yanMnO1xyXG5pbXBvcnQgdHlwZSB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZm9ya0pvaW4sIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENVSV9KVEVYVF9BUElfU0VSVklDRSwgQ3VpQXBpQ29udGV4dCwgQ3VpQmxvY2sgfSBmcm9tICdAY3VieS11aS9hcGknO1xyXG5cclxuaW1wb3J0IHtcclxuICAgIENPTUJJTkVEX1RFWFRfQkxPQ0tfQURERUQsXHJcbiAgICBDT01CSU5FRF9URVhUX0JMT0NLX05BTUUsXHJcbiAgICBDT01CSU5FRF9URVhUX0JMT0NLX1BBUlQsXHJcbiAgICBDT01CSU5FRF9URVhUX0JMT0NLX1JFTU9WRUQsXHJcbiAgICBDT01CSU5FRF9URVhUX0JMT0NLX1VQREFURURcclxufSBmcm9tICcuLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgdHlwZSB7XHJcbiAgICBDdWlDb21iaW5lZEJsb2NrQWRkaW5nRXZlbnQsXHJcbiAgICBDdWlDb21iaW5lZEJsb2NrVG9vbERhdGEsXHJcbiAgICBDdWlDb21iaW5lZFBhcnRCbG9jayxcclxuICAgIEN1aUV2ZW50QWN0aW9uRGF0YSxcclxuICAgIEN1aUZ1bGxCbG9ja0RhdGFcclxufSBmcm9tICcuLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgZ2VuZXJhdGVJZCB9IGZyb20gJy4uL3V0aWxzL2dlbmVyYXRlLWlkJztcclxuaW1wb3J0IHsgRXZlbnRBY3Rpb25zIH0gZnJvbSAnLi9lZGl0b3Itc2VydmljZS5vcHRpb25zJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEN1aUVkaXRvclNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBqdGV4dFNlcnZpY2UgPSBpbmplY3QoQ1VJX0pURVhUX0FQSV9TRVJWSUNFKTtcclxuXHJcbiAgICBwdWJsaWMgc29ydEV2ZW50c0J5VHlwZXMoZXZlbnRzOiBCbG9ja011dGF0aW9uRXZlbnRbXSk6IEN1aUV2ZW50QWN0aW9uRGF0YSB7XHJcbiAgICAgICAgY29uc3QgYmxvY2tzOiBDdWlFdmVudEFjdGlvbkRhdGEgPSB7XHJcbiAgICAgICAgICAgICdibG9jay1yZW1vdmVkJzogW10sXHJcbiAgICAgICAgICAgICdibG9jay1hZGRlZCc6IFtdLFxyXG4gICAgICAgICAgICAnYmxvY2stY2hhbmdlZCc6IFtdXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgZXZlbnRzLmZvckVhY2goKGVkaXRvckV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChlZGl0b3JFdmVudC5kZXRhaWwudGFyZ2V0Lm5hbWUgPT09IENPTUJJTkVEX1RFWFRfQkxPQ0tfTkFNRSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBjb25zdCBldmVudFR5cGUgPSBlZGl0b3JFdmVudC50eXBlO1xyXG5cclxuICAgICAgICAgICAgaWYgKGV2ZW50VHlwZSA9PT0gRXZlbnRBY3Rpb25zLnVwZGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY2hhbmdlZEJsb2NrID0gYmxvY2tzW0V2ZW50QWN0aW9ucy5hZGRdLmZpbmQoXHJcbiAgICAgICAgICAgICAgICAgICAgKGJsb2NrKSA9PiBibG9jay5kZXRhaWwudGFyZ2V0LmlkID09PSBlZGl0b3JFdmVudC5kZXRhaWwudGFyZ2V0LmlkXHJcbiAgICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChjaGFuZ2VkQmxvY2spIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChldmVudFR5cGUgPT09IEV2ZW50QWN0aW9ucy5yZW1vdmUpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGxlbiA9IGJsb2Nrc1tFdmVudEFjdGlvbnMuYWRkXS5sZW5ndGg7XHJcblxyXG4gICAgICAgICAgICAgICAgYmxvY2tzW0V2ZW50QWN0aW9ucy5hZGRdID0gYmxvY2tzW0V2ZW50QWN0aW9ucy5hZGRdLmZpbHRlcihcclxuICAgICAgICAgICAgICAgICAgICAoYmxvY2spID0+IGJsb2NrLmRldGFpbC50YXJnZXQuaWQgIT09IGVkaXRvckV2ZW50LmRldGFpbC50YXJnZXQuaWRcclxuICAgICAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGxlbiA+IGJsb2Nrc1tFdmVudEFjdGlvbnMuYWRkXS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGJsb2Nrc1tldmVudFR5cGUgYXMgRXZlbnRBY3Rpb25zXS5wdXNoKGVkaXRvckV2ZW50KTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGJsb2NrcztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY29sbGVjdEFkZGVkQmxvY2tzUmVxdWVzdChcclxuICAgICAgICBlZGl0b3JJZDogc3RyaW5nLFxyXG4gICAgICAgIGFkZGVkQmxvY2tzOiBDdWlGdWxsQmxvY2tEYXRhW10sXHJcbiAgICAgICAgcmVxdWVzdE9wdGlvbnM/OiBDdWlBcGlDb250ZXh0XHJcbiAgICApOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XHJcbiAgICAgICAgY29uc3QgYWRkQmxvY2tzQm9keSA9IHtcclxuICAgICAgICAgICAganRleHRDb250YWluZXJJZDogZWRpdG9ySWQsXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhZGRlZEJsb2Nrc1swXT8uaW5kZXgsXHJcbiAgICAgICAgICAgIGJsb2NrOiBhZGRlZEJsb2Nrcy5tYXAoKGUpID0+IGUuYmxvY2spXHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb25zdCBhZGRCbG9ja3MkID0gYWRkZWRCbG9ja3MubGVuZ3RoID8gdGhpcy5qdGV4dFNlcnZpY2UuY3JlYXRlQmxvY2tzKGFkZEJsb2Nrc0JvZHksIHJlcXVlc3RPcHRpb25zKSA6IG9mKFtdKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGFkZEJsb2NrcyQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNvbGxlY3RVcGRhdGVkQmxvY2tzUmVxdWVzdChcclxuICAgICAgICB1cGRhdGVkQmxvY2tzOiBDdWlCbG9ja1tdLFxyXG4gICAgICAgIGJsb2NrSWRzTWFwOiBNYXA8c3RyaW5nLCBzdHJpbmc+LFxyXG4gICAgICAgIHJlcXVlc3RPcHRpb25zPzogQ3VpQXBpQ29udGV4dFxyXG4gICAgKTogT2JzZXJ2YWJsZTxDdWlCbG9ja1tdPiB7XHJcbiAgICAgICAgY29uc3QgdXBkYXRlZEJsb2Nrc1dpdGhJZCA9IHVwZGF0ZWRCbG9ja3MucmVkdWNlKChhY2MsIGJsb2NrKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGJsb2NrV2l0aElkID0ge1xyXG4gICAgICAgICAgICAgICAgLi4uYmxvY2ssXHJcbiAgICAgICAgICAgICAgICBpZDogYmxvY2tJZHNNYXAuZ2V0KGJsb2NrLmlkISlcclxuICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgIGlmIChibG9ja1dpdGhJZC5pZCkge1xyXG4gICAgICAgICAgICAgICAgYWNjLnB1c2goYmxvY2tXaXRoSWQpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gYWNjO1xyXG4gICAgICAgIH0sIFtdIGFzIEN1aUJsb2NrW10pO1xyXG5cclxuICAgICAgICBjb25zdCB1cGRhdGVCbG9ja3NBcnJheSA9IHVwZGF0ZWRCbG9ja3NXaXRoSWQubWFwKChibG9jaykgPT5cclxuICAgICAgICAgICAgdGhpcy5qdGV4dFNlcnZpY2UudXBkYXRlQmxvY2soYmxvY2ssIHJlcXVlc3RPcHRpb25zKVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgY29uc3QgdXBkYXRlQmxvY2tzJCA9IHVwZGF0ZWRCbG9ja3NXaXRoSWQubGVuZ3RoID8gZm9ya0pvaW4odXBkYXRlQmxvY2tzQXJyYXkpIDogb2YoW10pO1xyXG5cclxuICAgICAgICByZXR1cm4gdXBkYXRlQmxvY2tzJDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY29sbGVjdFJlbW92ZWRCbG9ja3NSZXF1ZXN0KFxyXG4gICAgICAgIGVkaXRvcklkOiBzdHJpbmcsXHJcbiAgICAgICAgcmVtb3ZlZEJsb2Nrc0lkczogc3RyaW5nW10sXHJcbiAgICAgICAgYmxvY2tJZHNNYXA6IE1hcDxzdHJpbmcsIHN0cmluZz4sXHJcbiAgICAgICAgcmVxdWVzdE9wdGlvbnM/OiBDdWlBcGlDb250ZXh0XHJcbiAgICApOiBPYnNlcnZhYmxlPHZvaWQ+IHtcclxuICAgICAgICBjb25zdCByZW1vdmVkQmxvY2tzOiBzdHJpbmdbXSA9IHJlbW92ZWRCbG9ja3NJZHMucmVkdWNlKChibG9ja0lkcywgYmxvY2tJZCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBiYWNrZW5kSUQgPSBibG9ja0lkc01hcC5nZXQoYmxvY2tJZCk7XHJcblxyXG4gICAgICAgICAgICBpZiAoYmFja2VuZElEKSB7XHJcbiAgICAgICAgICAgICAgICBibG9ja0lkcy5wdXNoKGJhY2tlbmRJRCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHJldHVybiBibG9ja0lkcztcclxuICAgICAgICB9LCBbXSBhcyBzdHJpbmdbXSk7XHJcblxyXG4gICAgICAgIGNvbnN0IHVuaXF1ZUJhY2tlbmRJZHMgPSBbLi4ubmV3IFNldChyZW1vdmVkQmxvY2tzKV07XHJcbiAgICAgICAgY29uc3QgcmVtb3ZlQmxvY2tzJCA9IHVuaXF1ZUJhY2tlbmRJZHMubGVuZ3RoXHJcbiAgICAgICAgICAgID8gdGhpcy5qdGV4dFNlcnZpY2UuZGVsZXRlQmxvY2tzKGVkaXRvcklkLCB1bmlxdWVCYWNrZW5kSWRzLCByZXF1ZXN0T3B0aW9ucylcclxuICAgICAgICAgICAgOiBvZigpO1xyXG5cclxuICAgICAgICByZW1vdmVkQmxvY2tzLmZvckVhY2goKHJlbW92ZWRCbG9jaykgPT4ge1xyXG4gICAgICAgICAgICBibG9ja0lkc01hcC5kZWxldGUocmVtb3ZlZEJsb2NrKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHJlbW92ZUJsb2NrcyQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEZ1bGxCbG9ja0RhdGEoZXZlbnQ6IEJsb2NrTXV0YXRpb25FdmVudCwgZWRpdG9yRGF0YTogT3V0cHV0RGF0YSk6IEN1aUZ1bGxCbG9ja0RhdGEge1xyXG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LmRldGFpbC50YXJnZXQ7XHJcbiAgICAgICAgY29uc3QgaW5kZXggPSBOdW1iZXIodGFyZ2V0LmhvbGRlci5kYXRhc2V0WydpbmRleCddKTtcclxuICAgICAgICBjb25zdCBibG9ja0luZGV4ID0gKGV2ZW50LmRldGFpbCBhcyB1bmtub3duIGFzIHsgaW5kZXg6IG51bWJlciB9KS5pbmRleDtcclxuICAgICAgICBjb25zdCBibG9ja1R5cGUgPSB0YXJnZXQubmFtZTtcclxuICAgICAgICBjb25zdCBibG9ja0lkID0gdGFyZ2V0LmlkO1xyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRCbG9ja0J5SW5kZXggPSBlZGl0b3JEYXRhLmJsb2Nrc1tibG9ja0luZGV4XTtcclxuICAgICAgICBjb25zdCBibG9ja0RhdGEgPSBjdXJyZW50QmxvY2tCeUluZGV4Py5pZCA9PT0gYmxvY2tJZCA/IGVkaXRvckRhdGEuYmxvY2tzW2Jsb2NrSW5kZXhdLmRhdGEgOiB7IHRleHQ6ICcnIH07XHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGluZGV4LFxyXG4gICAgICAgICAgICBpZDogYmxvY2tJZCxcclxuICAgICAgICAgICAgYmxvY2s6IHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IGJsb2NrVHlwZSxcclxuICAgICAgICAgICAgICAgIGRhdGE6IGJsb2NrRGF0YVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0TGlzdGVuZXJzT25DdXN0b21CbG9ja0NoYW5nZXMoXHJcbiAgICAgICAgZWRpdG9yOiBFZGl0b3JKUyxcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgIHJlbW92ZWRDYWxsYmFjazogKGJsb2NrSWRzOiBzdHJpbmdbXSkgPT4gdm9pZDtcclxuICAgICAgICAgICAgdXBkYXRlZENhbGxiYWNrOiAodXBkYXRlZEJsb2NrczogQ3VpQmxvY2tbXSkgPT4gdm9pZDtcclxuICAgICAgICAgICAgYWRkZWRDYWxsYmFjazogKGRhdGE6IEN1aUNvbWJpbmVkQmxvY2tBZGRpbmdFdmVudCkgPT4gdm9pZDtcclxuICAgICAgICB9XHJcbiAgICApOiB2b2lkIHtcclxuICAgICAgICBlZGl0b3Iub24oQ09NQklORURfVEVYVF9CTE9DS19BRERFRCwgZGF0YS5hZGRlZENhbGxiYWNrKTtcclxuICAgICAgICBlZGl0b3Iub24oQ09NQklORURfVEVYVF9CTE9DS19VUERBVEVELCBkYXRhLnVwZGF0ZWRDYWxsYmFjayk7XHJcbiAgICAgICAgZWRpdG9yLm9uKENPTUJJTkVEX1RFWFRfQkxPQ0tfUkVNT1ZFRCwgZGF0YS5yZW1vdmVkQ2FsbGJhY2spO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXRTdGFydEJsb2NrKFxyXG4gICAgICAgIGVkaXRvcklkOiBzdHJpbmcsXHJcbiAgICAgICAgcmVxdWVzdE9wdGlvbnM6IEN1aUFwaUNvbnRleHQgfCB1bmRlZmluZWQsXHJcbiAgICAgICAgY2FsbGJhY2s6IChibG9jazogQ3VpQmxvY2s8Q3VpQ29tYmluZWRCbG9ja1Rvb2xEYXRhPiwgaWQ6IHN0cmluZykgPT4gdm9pZFxyXG4gICAgKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgYmxvY2tJZCA9IGdlbmVyYXRlSWQoKTtcclxuICAgICAgICBjb25zdCBlbXB0eUJsb2NrOiBDdWlDb21iaW5lZFBhcnRCbG9jayA9IHtcclxuICAgICAgICAgICAgdHlwZTogQ09NQklORURfVEVYVF9CTE9DS19QQVJULFxyXG4gICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0OiAnJyxcclxuICAgICAgICAgICAgICAgIHBhcmVudElkOiBibG9ja0lkLFxyXG4gICAgICAgICAgICAgICAgcGFyZW50VHlwZTogQ09NQklORURfVEVYVF9CTE9DS19OQU1FXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgICAgIGNvbnN0IGJvZHkgPSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiAwLFxyXG4gICAgICAgICAgICBibG9jazogZW1wdHlCbG9jayxcclxuICAgICAgICAgICAganRleHRDb250YWluZXJJZDogZWRpdG9ySWRcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmp0ZXh0U2VydmljZVxyXG4gICAgICAgICAgICAuY3JlYXRlQmxvY2soYm9keSwgcmVxdWVzdE9wdGlvbnMpXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChpZCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgZW1wdHlCbG9jay5pZCA9IGlkO1xyXG5cclxuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2NrOiBDdWlCbG9jazxDdWlDb21iaW5lZEJsb2NrVG9vbERhdGE+ID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlkOiBibG9ja0lkLFxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IENPTUJJTkVEX1RFWFRfQkxPQ0tfTkFNRSxcclxuICAgICAgICAgICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBibG9ja0lkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0QmxvY2tzOiBbZW1wdHlCbG9ja11cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgIGNhbGxiYWNrKGJsb2NrLCBpZCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -2680,6 +2680,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
2680
2680
  }]
2681
2681
  }] });
2682
2682
 
2683
+ class CuiCollapsiblePanelComponent {
2684
+ constructor() {
2685
+ this.toggleIcon = computed(() => this.isCollapsed() ? 'cuiIconChevronsRightSm' : 'cuiIconChevronsLeftSm');
2686
+ this.isCollapsed = model(false);
2687
+ }
2688
+ onToggleCollapsed() {
2689
+ this.isCollapsed.update((isCollapsed) => !isCollapsed);
2690
+ }
2691
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCollapsiblePanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2692
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: CuiCollapsiblePanelComponent, isStandalone: true, selector: "cui-collapsible-panel", inputs: { isCollapsed: { classPropertyName: "isCollapsed", publicName: "isCollapsed", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isCollapsed: "isCollapsedChange" }, host: { properties: { "class._collapsed": "isCollapsed()" } }, ngImport: i0, template: "<div class=\"head\">\n <div [hidden]=\"isCollapsed()\">\n <ng-content select=\"[cuiCollapsiblePanelTitle]\" />\n </div>\n\n <button\n type=\"button\"\n cuiButton\n appearance=\"ghost\"\n size=\"xs\"\n [icon]=\"toggleIcon()\"\n (click)=\"onToggleCollapsed()\"\n ></button>\n</div>\n\n<div\n [hidden]=\"isCollapsed()\"\n class=\"body\"\n>\n <ng-content />\n</div>\n", styles: [":host{--gap: 8px;--width: 100%;--min-width: 300px;--max-width: 100%;--collapsed-width: 44px;--transition-duration: .25s;display:flex;flex-direction:column;gap:var(--gap);padding:16px 8px;min-width:var(--min-width);max-width:var(--max-width);width:var(--width);transition:width var(--transition-duration) ease,min-width var(--transition-duration) ease,max-width var(--transition-duration) ease}:host._collapsed{min-width:var(--collapsed-width);max-width:var(--collapsed-width);width:var(--collapsed-width)}.head{display:flex;flex-direction:row;gap:var(--gap);align-items:center;justify-content:space-between}:host(._collapsed) .head{align-items:center;justify-content:center}\n"], dependencies: [{ kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "theme", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2693
+ }
2694
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCollapsiblePanelComponent, decorators: [{
2695
+ type: Component,
2696
+ args: [{ selector: 'cui-collapsible-panel', standalone: true, imports: [CuiButtonModule], changeDetection: ChangeDetectionStrategy.OnPush, host: {
2697
+ '[class._collapsed]': 'isCollapsed()'
2698
+ }, template: "<div class=\"head\">\n <div [hidden]=\"isCollapsed()\">\n <ng-content select=\"[cuiCollapsiblePanelTitle]\" />\n </div>\n\n <button\n type=\"button\"\n cuiButton\n appearance=\"ghost\"\n size=\"xs\"\n [icon]=\"toggleIcon()\"\n (click)=\"onToggleCollapsed()\"\n ></button>\n</div>\n\n<div\n [hidden]=\"isCollapsed()\"\n class=\"body\"\n>\n <ng-content />\n</div>\n", styles: [":host{--gap: 8px;--width: 100%;--min-width: 300px;--max-width: 100%;--collapsed-width: 44px;--transition-duration: .25s;display:flex;flex-direction:column;gap:var(--gap);padding:16px 8px;min-width:var(--min-width);max-width:var(--max-width);width:var(--width);transition:width var(--transition-duration) ease,min-width var(--transition-duration) ease,max-width var(--transition-duration) ease}:host._collapsed{min-width:var(--collapsed-width);max-width:var(--collapsed-width);width:var(--collapsed-width)}.head{display:flex;flex-direction:row;gap:var(--gap);align-items:center;justify-content:space-between}:host(._collapsed) .head{align-items:center;justify-content:center}\n"] }]
2699
+ }] });
2700
+
2683
2701
  class ContentHeaderComponent {
2684
2702
  constructor() {
2685
2703
  this.heading = input.required();
@@ -5700,16 +5718,16 @@ class CuiEditorService {
5700
5718
  });
5701
5719
  return blocks;
5702
5720
  }
5703
- collectAddedBlocksRequest(editorId, addedBlocks) {
5721
+ collectAddedBlocksRequest(editorId, addedBlocks, requestOptions) {
5704
5722
  const addBlocksBody = {
5705
5723
  jtextContainerId: editorId,
5706
5724
  position: addedBlocks[0]?.index,
5707
5725
  block: addedBlocks.map((e) => e.block)
5708
5726
  };
5709
- const addBlocks$ = addedBlocks.length ? this.jtextService.createBlocks(addBlocksBody) : of([]);
5727
+ const addBlocks$ = addedBlocks.length ? this.jtextService.createBlocks(addBlocksBody, requestOptions) : of([]);
5710
5728
  return addBlocks$;
5711
5729
  }
5712
- collectUpdatedBlocksRequest(updatedBlocks, blockIdsMap) {
5730
+ collectUpdatedBlocksRequest(updatedBlocks, blockIdsMap, requestOptions) {
5713
5731
  const updatedBlocksWithId = updatedBlocks.reduce((acc, block) => {
5714
5732
  const blockWithId = {
5715
5733
  ...block,
@@ -5720,11 +5738,11 @@ class CuiEditorService {
5720
5738
  }
5721
5739
  return acc;
5722
5740
  }, []);
5723
- const updateBlocksArray = updatedBlocksWithId.map((block) => this.jtextService.updateBlock(block));
5741
+ const updateBlocksArray = updatedBlocksWithId.map((block) => this.jtextService.updateBlock(block, requestOptions));
5724
5742
  const updateBlocks$ = updatedBlocksWithId.length ? forkJoin(updateBlocksArray) : of([]);
5725
5743
  return updateBlocks$;
5726
5744
  }
5727
- collectRemovedBlocksRequest(editorId, removedBlocksIds, blockIdsMap) {
5745
+ collectRemovedBlocksRequest(editorId, removedBlocksIds, blockIdsMap, requestOptions) {
5728
5746
  const removedBlocks = removedBlocksIds.reduce((blockIds, blockId) => {
5729
5747
  const backendID = blockIdsMap.get(blockId);
5730
5748
  if (backendID) {
@@ -5733,7 +5751,9 @@ class CuiEditorService {
5733
5751
  return blockIds;
5734
5752
  }, []);
5735
5753
  const uniqueBackendIds = [...new Set(removedBlocks)];
5736
- const removeBlocks$ = uniqueBackendIds.length ? this.jtextService.deleteBlocks(editorId, uniqueBackendIds) : of();
5754
+ const removeBlocks$ = uniqueBackendIds.length
5755
+ ? this.jtextService.deleteBlocks(editorId, uniqueBackendIds, requestOptions)
5756
+ : of();
5737
5757
  removedBlocks.forEach((removedBlock) => {
5738
5758
  blockIdsMap.delete(removedBlock);
5739
5759
  });
@@ -5761,7 +5781,7 @@ class CuiEditorService {
5761
5781
  editor.on(COMBINED_TEXT_BLOCK_UPDATED, data.updatedCallback);
5762
5782
  editor.on(COMBINED_TEXT_BLOCK_REMOVED, data.removedCallback);
5763
5783
  }
5764
- setStartBlock(editorId, callback) {
5784
+ setStartBlock(editorId, requestOptions, callback) {
5765
5785
  const blockId = generateId();
5766
5786
  const emptyBlock = {
5767
5787
  type: COMBINED_TEXT_BLOCK_PART,
@@ -5777,7 +5797,7 @@ class CuiEditorService {
5777
5797
  jtextContainerId: editorId
5778
5798
  };
5779
5799
  this.jtextService
5780
- .createBlock(body)
5800
+ .createBlock(body, requestOptions)
5781
5801
  .pipe(takeUntilDestroyed(this.destroyRef))
5782
5802
  .subscribe((id) => {
5783
5803
  emptyBlock.id = id;
@@ -8489,6 +8509,7 @@ class CuiEditorComponent {
8489
8509
  this.abortController = new AbortController();
8490
8510
  this.editorId = this.cuiIdService.generate();
8491
8511
  this.isReadonly = computed(() => this.config()?.readOnly);
8512
+ this.requestOptions = computed(() => this.config()?.requestOptions);
8492
8513
  this.editorRef = viewChild.required('editor');
8493
8514
  this.editorApiId = input.required();
8494
8515
  this.config = input(DEFAULT_CONFIG);
@@ -8622,7 +8643,6 @@ class CuiEditorComponent {
8622
8643
  if (this.isDestroyed) {
8623
8644
  return;
8624
8645
  }
8625
- this.jTextService.addOptions(this.config()?.requestOptions);
8626
8646
  this.editor = this.buildEditor(this.editorId);
8627
8647
  await this.editor.isReady;
8628
8648
  if (this.isDestroyed) {
@@ -8690,7 +8710,7 @@ class CuiEditorComponent {
8690
8710
  return { ...block, index };
8691
8711
  });
8692
8712
  const addedBlocks = [...defaultBlocksWithIndex, ...combinedBlocksWithIndex].sort((first, second) => first.index - second.index);
8693
- const addBlocks$ = this.editorService.collectAddedBlocksRequest(this.editorApiId(), addedBlocks);
8713
+ const addBlocks$ = this.editorService.collectAddedBlocksRequest(this.editorApiId(), addedBlocks, this.requestOptions());
8694
8714
  return {
8695
8715
  addedBlocks,
8696
8716
  addBlocks$
@@ -8702,7 +8722,7 @@ class CuiEditorComponent {
8702
8722
  block.id = id;
8703
8723
  this.updatedBlocks.push(block);
8704
8724
  });
8705
- const updateBlocks$ = this.editorService.collectUpdatedBlocksRequest(this.updatedBlocks, this.blockIdsMap);
8725
+ const updateBlocks$ = this.editorService.collectUpdatedBlocksRequest(this.updatedBlocks, this.blockIdsMap, this.requestOptions());
8706
8726
  this.updatedBlocks = [];
8707
8727
  return updateBlocks$;
8708
8728
  }
@@ -8711,13 +8731,13 @@ class CuiEditorComponent {
8711
8731
  const id = block.detail.target.id;
8712
8732
  this.removedBlocksIds.push(id);
8713
8733
  });
8714
- const removeBlocks$ = this.editorService.collectRemovedBlocksRequest(this.editorApiId(), this.removedBlocksIds, this.blockIdsMap);
8734
+ const removeBlocks$ = this.editorService.collectRemovedBlocksRequest(this.editorApiId(), this.removedBlocksIds, this.blockIdsMap, this.requestOptions());
8715
8735
  this.removedBlocksIds = [];
8716
8736
  return removeBlocks$;
8717
8737
  }
8718
8738
  getBlocks(page = 0, size = 40) {
8719
8739
  let combinedBlock;
8720
- return this.jTextService.getBlocks(this.editorApiId(), page, size).pipe(takeUntilDestroyed(this.destroy), finalize(() => {
8740
+ return this.jTextService.getBlocks(this.editorApiId(), page, size, this.requestOptions()).pipe(takeUntilDestroyed(this.destroy), finalize(() => {
8721
8741
  if (combinedBlock) {
8722
8742
  this.addCombinedBlock(combinedBlock);
8723
8743
  combinedBlock = null;
@@ -8818,7 +8838,7 @@ class CuiEditorComponent {
8818
8838
  this.editor.render({ blocks: [] });
8819
8839
  return;
8820
8840
  }
8821
- this.editorService.setStartBlock(this.editorApiId(), async (block, id) => {
8841
+ this.editorService.setStartBlock(this.editorApiId(), this.requestOptions(), async (block, id) => {
8822
8842
  this.blockIdsMap.set(id, id);
8823
8843
  this.isSkipCombinedBlockOnChange.push(true);
8824
8844
  await this.editor.render({ blocks: [block] });
@@ -13981,5 +14001,5 @@ const CuiTranslations = {
13981
14001
  * Generated bundle index. Do not edit.
13982
14002
  */
13983
14003
 
13984
- export { AlertHintComponent, AngularOutsideLoaderService, AssigneeRoleItemComponent, AssigneeRolesTabsComponent, ButtonChangeThemeComponent, CUI_ACTIVITY_SERVICE_TOKEN, CUI_ALERTS, CUI_ALERT_CONTEXT, CUI_ALERT_DEFAULT_OPTIONS, CUI_ALERT_OPTIONS, CUI_ANIMATIONS_DEFAULT_DURATION, CUI_BADGE_DEFAULT_OPTIONS, CUI_BADGE_OPTIONS, CUI_BANNER_DEFAULT_OPTIONS, CUI_BANNER_OPTIONS, CUI_BUTTON_DEFAULT_OPTIONS, CUI_BUTTON_OPTIONS, CUI_CATEGORIES_TREE_DATA_SOURCE_SERVICE_TOKEN, CUI_DEFAULT_THEME, CUI_DIALOGS, CUI_DIALOG_CONTEXT, CUI_DIALOG_DEFAULT_OPTIONS, CUI_DIALOG_OPTIONS, CUI_FILTER_BAR_DEFAULT_TRANSLATIONS, CUI_INPUT_TIME_DEFAULT_OPTIONS, CUI_INPUT_TIME_OPTIONS, CUI_NOTIFICATION_DEFAULT_OPTIONS, CUI_NOTIFICATION_ICONS, CUI_NOTIFICATION_ICON_OPTIONS, CUI_NOTIFICATION_ICON_OPTIONS_DEFAULT_MODE, CUI_NOTIFICATION_ICON_OPTIONS_LIGHT_MODE, CUI_NOTIFICATION_OPTIONS, CUI_RESOURCE_STATE_SERVICE_TOKEN, CUI_ROOT_SELECTOR, CUI_STORAGE_LIST_SERVICE_TOKEN, CUI_SUBJECT_MODAL_SERVICE_TOKEN, CUI_TABS_SERVICE_TOKEN, CUI_TEXT_FIELD_CONTROLLER, CUI_TEXT_FIELD_ICON_LEFT, CUI_TEXT_FIELD_ID, CUI_TEXT_FIELD_IS_ERROR, CUI_TEXT_FIELD_PLACEHOLDER, CUI_TEXT_FIELD_SIZE, CUI_TEXT_FILED_CONTROLLER_PROVIDER, CUI_THEME, CUI_THEME_STORAGE_DEFAULT_KEY, CUI_THEME_STORAGE_KEY, CUI_TOOLTIP_COMPONENT, CUI_TOOLTIP_DEFAULT_OPTIONS, CUI_TOOLTIP_DIRECTIONS, CUI_TOOLTIP_OPTIONS, CUI_TOOLTIP_PROVIDERS, CUI_USED_ELEMENTS_SERVICE_TOKEN, CUI_UTILITY_SERVICE_TOKEN, ContentHeaderComponent, CuiAbstractTabsComponent, CuiAccessor, CuiAccordionComponent, CuiAccordionDirective, CuiAccordionItemComponent, CuiAccordionModule, CuiActivityBaseService, CuiActivityImplService, CuiAlertComponent, CuiAlertModule, CuiAlertService, CuiAlertsComponent, CuiAttachesTool, CuiAuthBase, CuiAuthService, CuiBadgeComponent, CuiBadgeModule, CuiBannerComponent, CuiBannerModule, CuiBreadcrumbComponent, CuiBreadcrumbsComponent, CuiBreadcrumbsModule, CuiBrowserLoginStrategyService, CuiButtonComponent, CuiButtonGroupComponent, CuiButtonGroupModule, CuiButtonModule, CuiCardWrapperComponent, CuiCategoriesComponent, CuiCategoriesTreeComponent, CuiCategoriesTreeListComponent, CuiCategoryTreeItemComponent, CuiCategoryTreeStateService, CuiCheckListBlockListItemActionCardComponent, CuiCheckListBlockListItemActionWithVerificationComponent, CuiCheckListBlockListItemActionWithoutVerificationComponent, CuiCheckListBlockListItemEvaluationComponent, CuiCheckListBlockListItemEvaluationCriteriaComponent, CuiCheckListBlockService, CuiCheckboxComponent, CuiCheckboxModule, CuiChecklistBlockComponent, CuiChecklistBlockListComponent, CuiChecklistBlockListItemContainerComponent, CuiChecklistBlockTitleControlComponent, CuiCircleLoaderComponent, CuiContentWrapperComponent, CuiContextMenuComponent, CuiContextMenuModule, CuiCriterionInfoComponent, CuiCriterionInfoFormComponent, CuiCriterionModalCreateComponent, CuiCriterionReadonlyInfoComponent, CuiDateRangeCalendarComponent, CuiDateRangeCalendarModule, CuiDeleteModalComponent, CuiDialogActionsComponent, CuiDialogComponent, CuiDialogHeaderComponent, CuiDialogModule, CuiDialogService, CuiDialogsComponent, CuiDriver, CuiDriverDirective, CuiDropdownDirective, CuiDropdownWrapperComponent, CuiEditorBlockComponent, CuiEditorComponent, CuiEditorModalComponent, CuiEditorReadonlyComponent, CuiEditorTranslations, CuiEmptyStateComponent, CuiFileIconComponent, CuiFileUploader, CuiFileUploaderStatus, CuiFilterBarComponent, CuiFilterBarModule, CuiFormFieldComponent, CuiFormFieldModule, CuiFramerPreviewComponent, CuiGeneralControlErrorHintComponent, CuiGhostInputComponent, CuiGlobalErrorHandler, CuiHeaderTool, CuiHintComponent, CuiHintModule, CuiHybridStorageService, CuiIconButtonComponent, CuiIconButtonModule, CuiImageTool, CuiInputModule, CuiInputNumberComponent, CuiInputNumberModule, CuiInputPasswordComponent, CuiInputPasswordModule, CuiInputTextComponent, CuiInputTimeComponent, CuiInputTimeModule, CuiInstructionInfoComponent, CuiInstructionInfoFormComponent, CuiInstructionModalCreateComponent, CuiInstructionReadonlyInfoComponent, CuiLabelComponent, CuiLabelModule, CuiLayoutComponent, CuiLetterBoxComponent, CuiLibTranslations, CuiLinearLoaderComponent, CuiLinkMarker, CuiListTool, CuiLoaderComponent, CuiLoaderService, CuiLoadingState, CuiNotificationComponent, CuiNotificationModule, CuiPositionAccessor, CuiPositionService, CuiPulseLoaderComponent, CuiRadioComponent, CuiRadioModule, CuiReadonlyCriterionModalComponent, CuiReadonlyInstructionModalComponent, CuiReadonlyUtilityModalComponent, CuiRectAccessor, CuiRenderDynamicComponentsComponent, CuiRenderDynamicComponentsService, CuiRoleMarker, CuiRootComponent, CuiRootModule, CuiSelectComponent, CuiSelectModalComponent, CuiSelectModalFolderComponent, CuiSelectModalSearchComponent, CuiSelectModalService, CuiSelectModule, CuiSelectedCategoryService, CuiSidebarContainerComponent, CuiSidebarHeaderComponent, CuiSidebarNavigationComponent, CuiSidebarNavigationContainerComponent, CuiSidebarNavigationItemComponent, CuiSidebarService, CuiSkeleton, CuiStatedLoaderComponent, CuiStorageListComponent, CuiSvgComponent, CuiSvgModule, CuiTabDirective, CuiTabsComponent, CuiTabsServiceImpl, CuiTextFieldController, CuiTextFieldControllerModule, CuiTextFieldIconLeftDirective, CuiTextFieldIdDirective, CuiTextFieldIsErrorDirective, CuiTextFieldPlaceholderDirective, CuiTextFieldSizeDirective, CuiTextareaComponent, CuiTextareaModule, CuiThemeService, CuiTimePipe, CuiToggleComponent, CuiToggleModule, CuiToolMarker, CuiTooltip, CuiTooltipComponent, CuiTooltipDescribe, CuiTooltipDirective, CuiTooltipDriver, CuiTooltipHost, CuiTooltipHover, CuiTooltipManual, CuiTooltipOptionsDirective, CuiTooltipOverflow, CuiTooltipPointer, CuiTooltipPosition, CuiTooltipService, CuiTooltipUnstyled, CuiTooltipUnstyledComponent, CuiTooltips, CuiTranslations, CuiTreeComponent, CuiUserActionContextMenuComponent, CuiUtilityModalComponent, CuiUtilityModalCreateComponent, CuiUtilityReadonlyThumbnailComponent, CuiUtilityThumbnailComponent, CuiVehicle, CuiVideoTool, CuiVisualViewportService, FileSizePipe, InsertedComponent, ModalDividedSectionComponent, ModalHeaderComponent, ModalHeaderInsertedButtonsComponent, ModalInfoTabComponent, ModalOperationPartComponent, ModalResourcesTabComponent, OptionsButtonComponent, RenderDynamicModalComponent, ResourceStateBaseService, ResourcesBlockComponent, ResourcesBlockPartComponent, ResourcesBlockTabsComponent$1 as ResourcesBlockTabsComponent, ResourcesOptionsComponent, SubjectModalBaseService, UTILITY_MODAL_SERVICE_TOKEN, UsedElementsBaseService, UtilityBaseService, UtilityInfoReadonlyComponent, createEditorTools, cuiAsDriver, cuiAsPositionAccessor, cuiAsRectAccessor, cuiAsVehicle, cuiAuthErrorInterceptor, cuiAuthInterceptor, cuiCheckAuthFailureEvent, cuiCheckFixedPosition, cuiCreateDefaultValidators, cuiErrorHandlerInterceptor, cuiFallbackAccessor, cuiGetDuration, cuiIsObscured, cuiLoaderInterceptor, cuiOverrideOptions, cuiPositionAccessorFor, cuiProvideAccessor, cuiProvideEditor, cuiRectAccessorFor, cuiRemoveSpaces, cuiReplace, cuiToAnimationOptions, cuiTooltipOptionsProvider, cuiXNdjsonInterceptor, handleError, openFileInBrowser, presetConfigToken, provideCuiAuth, provideCuiErrorHandler, provideCuiTabs, setLoading, sseStreamReaderInterceptor };
14004
+ export { AlertHintComponent, AngularOutsideLoaderService, AssigneeRoleItemComponent, AssigneeRolesTabsComponent, ButtonChangeThemeComponent, CUI_ACTIVITY_SERVICE_TOKEN, CUI_ALERTS, CUI_ALERT_CONTEXT, CUI_ALERT_DEFAULT_OPTIONS, CUI_ALERT_OPTIONS, CUI_ANIMATIONS_DEFAULT_DURATION, CUI_BADGE_DEFAULT_OPTIONS, CUI_BADGE_OPTIONS, CUI_BANNER_DEFAULT_OPTIONS, CUI_BANNER_OPTIONS, CUI_BUTTON_DEFAULT_OPTIONS, CUI_BUTTON_OPTIONS, CUI_CATEGORIES_TREE_DATA_SOURCE_SERVICE_TOKEN, CUI_DEFAULT_THEME, CUI_DIALOGS, CUI_DIALOG_CONTEXT, CUI_DIALOG_DEFAULT_OPTIONS, CUI_DIALOG_OPTIONS, CUI_FILTER_BAR_DEFAULT_TRANSLATIONS, CUI_INPUT_TIME_DEFAULT_OPTIONS, CUI_INPUT_TIME_OPTIONS, CUI_NOTIFICATION_DEFAULT_OPTIONS, CUI_NOTIFICATION_ICONS, CUI_NOTIFICATION_ICON_OPTIONS, CUI_NOTIFICATION_ICON_OPTIONS_DEFAULT_MODE, CUI_NOTIFICATION_ICON_OPTIONS_LIGHT_MODE, CUI_NOTIFICATION_OPTIONS, CUI_RESOURCE_STATE_SERVICE_TOKEN, CUI_ROOT_SELECTOR, CUI_STORAGE_LIST_SERVICE_TOKEN, CUI_SUBJECT_MODAL_SERVICE_TOKEN, CUI_TABS_SERVICE_TOKEN, CUI_TEXT_FIELD_CONTROLLER, CUI_TEXT_FIELD_ICON_LEFT, CUI_TEXT_FIELD_ID, CUI_TEXT_FIELD_IS_ERROR, CUI_TEXT_FIELD_PLACEHOLDER, CUI_TEXT_FIELD_SIZE, CUI_TEXT_FILED_CONTROLLER_PROVIDER, CUI_THEME, CUI_THEME_STORAGE_DEFAULT_KEY, CUI_THEME_STORAGE_KEY, CUI_TOOLTIP_COMPONENT, CUI_TOOLTIP_DEFAULT_OPTIONS, CUI_TOOLTIP_DIRECTIONS, CUI_TOOLTIP_OPTIONS, CUI_TOOLTIP_PROVIDERS, CUI_USED_ELEMENTS_SERVICE_TOKEN, CUI_UTILITY_SERVICE_TOKEN, ContentHeaderComponent, CuiAbstractTabsComponent, CuiAccessor, CuiAccordionComponent, CuiAccordionDirective, CuiAccordionItemComponent, CuiAccordionModule, CuiActivityBaseService, CuiActivityImplService, CuiAlertComponent, CuiAlertModule, CuiAlertService, CuiAlertsComponent, CuiAttachesTool, CuiAuthBase, CuiAuthService, CuiBadgeComponent, CuiBadgeModule, CuiBannerComponent, CuiBannerModule, CuiBreadcrumbComponent, CuiBreadcrumbsComponent, CuiBreadcrumbsModule, CuiBrowserLoginStrategyService, CuiButtonComponent, CuiButtonGroupComponent, CuiButtonGroupModule, CuiButtonModule, CuiCardWrapperComponent, CuiCategoriesComponent, CuiCategoriesTreeComponent, CuiCategoriesTreeListComponent, CuiCategoryTreeItemComponent, CuiCategoryTreeStateService, CuiCheckListBlockListItemActionCardComponent, CuiCheckListBlockListItemActionWithVerificationComponent, CuiCheckListBlockListItemActionWithoutVerificationComponent, CuiCheckListBlockListItemEvaluationComponent, CuiCheckListBlockListItemEvaluationCriteriaComponent, CuiCheckListBlockService, CuiCheckboxComponent, CuiCheckboxModule, CuiChecklistBlockComponent, CuiChecklistBlockListComponent, CuiChecklistBlockListItemContainerComponent, CuiChecklistBlockTitleControlComponent, CuiCircleLoaderComponent, CuiCollapsiblePanelComponent, CuiContentWrapperComponent, CuiContextMenuComponent, CuiContextMenuModule, CuiCriterionInfoComponent, CuiCriterionInfoFormComponent, CuiCriterionModalCreateComponent, CuiCriterionReadonlyInfoComponent, CuiDateRangeCalendarComponent, CuiDateRangeCalendarModule, CuiDeleteModalComponent, CuiDialogActionsComponent, CuiDialogComponent, CuiDialogHeaderComponent, CuiDialogModule, CuiDialogService, CuiDialogsComponent, CuiDriver, CuiDriverDirective, CuiDropdownDirective, CuiDropdownWrapperComponent, CuiEditorBlockComponent, CuiEditorComponent, CuiEditorModalComponent, CuiEditorReadonlyComponent, CuiEditorTranslations, CuiEmptyStateComponent, CuiFileIconComponent, CuiFileUploader, CuiFileUploaderStatus, CuiFilterBarComponent, CuiFilterBarModule, CuiFormFieldComponent, CuiFormFieldModule, CuiFramerPreviewComponent, CuiGeneralControlErrorHintComponent, CuiGhostInputComponent, CuiGlobalErrorHandler, CuiHeaderTool, CuiHintComponent, CuiHintModule, CuiHybridStorageService, CuiIconButtonComponent, CuiIconButtonModule, CuiImageTool, CuiInputModule, CuiInputNumberComponent, CuiInputNumberModule, CuiInputPasswordComponent, CuiInputPasswordModule, CuiInputTextComponent, CuiInputTimeComponent, CuiInputTimeModule, CuiInstructionInfoComponent, CuiInstructionInfoFormComponent, CuiInstructionModalCreateComponent, CuiInstructionReadonlyInfoComponent, CuiLabelComponent, CuiLabelModule, CuiLayoutComponent, CuiLetterBoxComponent, CuiLibTranslations, CuiLinearLoaderComponent, CuiLinkMarker, CuiListTool, CuiLoaderComponent, CuiLoaderService, CuiLoadingState, CuiNotificationComponent, CuiNotificationModule, CuiPositionAccessor, CuiPositionService, CuiPulseLoaderComponent, CuiRadioComponent, CuiRadioModule, CuiReadonlyCriterionModalComponent, CuiReadonlyInstructionModalComponent, CuiReadonlyUtilityModalComponent, CuiRectAccessor, CuiRenderDynamicComponentsComponent, CuiRenderDynamicComponentsService, CuiRoleMarker, CuiRootComponent, CuiRootModule, CuiSelectComponent, CuiSelectModalComponent, CuiSelectModalFolderComponent, CuiSelectModalSearchComponent, CuiSelectModalService, CuiSelectModule, CuiSelectedCategoryService, CuiSidebarContainerComponent, CuiSidebarHeaderComponent, CuiSidebarNavigationComponent, CuiSidebarNavigationContainerComponent, CuiSidebarNavigationItemComponent, CuiSidebarService, CuiSkeleton, CuiStatedLoaderComponent, CuiStorageListComponent, CuiSvgComponent, CuiSvgModule, CuiTabDirective, CuiTabsComponent, CuiTabsServiceImpl, CuiTextFieldController, CuiTextFieldControllerModule, CuiTextFieldIconLeftDirective, CuiTextFieldIdDirective, CuiTextFieldIsErrorDirective, CuiTextFieldPlaceholderDirective, CuiTextFieldSizeDirective, CuiTextareaComponent, CuiTextareaModule, CuiThemeService, CuiTimePipe, CuiToggleComponent, CuiToggleModule, CuiToolMarker, CuiTooltip, CuiTooltipComponent, CuiTooltipDescribe, CuiTooltipDirective, CuiTooltipDriver, CuiTooltipHost, CuiTooltipHover, CuiTooltipManual, CuiTooltipOptionsDirective, CuiTooltipOverflow, CuiTooltipPointer, CuiTooltipPosition, CuiTooltipService, CuiTooltipUnstyled, CuiTooltipUnstyledComponent, CuiTooltips, CuiTranslations, CuiTreeComponent, CuiUserActionContextMenuComponent, CuiUtilityModalComponent, CuiUtilityModalCreateComponent, CuiUtilityReadonlyThumbnailComponent, CuiUtilityThumbnailComponent, CuiVehicle, CuiVideoTool, CuiVisualViewportService, FileSizePipe, InsertedComponent, ModalDividedSectionComponent, ModalHeaderComponent, ModalHeaderInsertedButtonsComponent, ModalInfoTabComponent, ModalOperationPartComponent, ModalResourcesTabComponent, OptionsButtonComponent, RenderDynamicModalComponent, ResourceStateBaseService, ResourcesBlockComponent, ResourcesBlockPartComponent, ResourcesBlockTabsComponent$1 as ResourcesBlockTabsComponent, ResourcesOptionsComponent, SubjectModalBaseService, UTILITY_MODAL_SERVICE_TOKEN, UsedElementsBaseService, UtilityBaseService, UtilityInfoReadonlyComponent, createEditorTools, cuiAsDriver, cuiAsPositionAccessor, cuiAsRectAccessor, cuiAsVehicle, cuiAuthErrorInterceptor, cuiAuthInterceptor, cuiCheckAuthFailureEvent, cuiCheckFixedPosition, cuiCreateDefaultValidators, cuiErrorHandlerInterceptor, cuiFallbackAccessor, cuiGetDuration, cuiIsObscured, cuiLoaderInterceptor, cuiOverrideOptions, cuiPositionAccessorFor, cuiProvideAccessor, cuiProvideEditor, cuiRectAccessorFor, cuiRemoveSpaces, cuiReplace, cuiToAnimationOptions, cuiTooltipOptionsProvider, cuiXNdjsonInterceptor, handleError, openFileInBrowser, presetConfigToken, provideCuiAuth, provideCuiErrorHandler, provideCuiTabs, setLoading, sseStreamReaderInterceptor };
13985
14005
  //# sourceMappingURL=cuby-ui-core.mjs.map