@cuby-ui/core 0.0.267 → 0.0.270

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.
@@ -58,7 +58,7 @@ export class CuiChecklistBlockComponent {
58
58
  .subscribe((checkListItem) => this.checkListBlockService.addCheckListItem(checkListItem));
59
59
  }
60
60
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CuiChecklistBlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
61
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CuiChecklistBlockComponent, isStandalone: true, selector: "cui-checklist-block, [cuiCheckListBlock]", inputs: { componentId: { classPropertyName: "componentId", publicName: "componentId", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, providers: [CuiCheckListBlockService], ngImport: i0, template: "<cui-content-wrapper\n *transloco=\"let t\"\n backgroundColor=\"var(--cui-base-10)\"\n [gap]=\"16\"\n>\n <ng-container *cuiLet=\"checkListItems() as checkListItems\">\n <header class=\"header\">\n <h2 class=\"heading\">{{ t('CHECKLIST') }}</h2>\n\n @if (checkListItems) {\n <span class=\"item\">{{ checkListItems?.length }} {{ t('ITEM_VARIANT') }}</span>\n }\n </header>\n <cui-content-wrapper>\n <cui-checklist-block-list [config]=\"config()\" />\n </cui-content-wrapper>\n <div>\n <button\n #actionButton=\"elementRef\"\n cuiElement\n cuiButton\n type=\"button\"\n appearance=\"flat\"\n size=\"xxs\"\n icon=\"cuiIconPlus\"\n >\n {{ t('ADD_NEW_ITEM') }}\n </button>\n <cui-context-menu\n [items]=\"CHECKLIST_BLOCK_SELECT_OPTIONS\"\n [target]=\"actionButton.nativeElement\"\n />\n </div>\n </ng-container>\n</cui-content-wrapper>\n", styles: [".header{display:flex;gap:12px;align-items:center;justify-content:space-between}.heading{font-weight:500;font-size:16px;line-height:24px}.item{font-weight:400;font-size:12px;line-height:14px;color:var(--cui-base-500)}\n"], dependencies: [{ kind: "component", type: CuiChecklistBlockListComponent, selector: "cui-checklist-block-list", inputs: ["config"] }, { kind: "component", type: CuiContentWrapperComponent, selector: "cui-content-wrapper, [cuiContentWrapper]", inputs: ["backgroundColor", "gap"] }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: i1.CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "size"] }, { kind: "ngmodule", type: CuiContextMenuModule }, { kind: "component", type: i2.CuiContextMenuComponent, selector: "cui-context-menu[items][target]", inputs: ["items", "target", "width"] }, { kind: "directive", type: CuiElementDirective, selector: "[cuiElement]", exportAs: ["elementRef"] }, { kind: "directive", type: CuiLetDirective, selector: "[cuiLet]", inputs: ["cuiLet"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
61
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CuiChecklistBlockComponent, isStandalone: true, selector: "cui-checklist-block, [cuiCheckListBlock]", inputs: { componentId: { classPropertyName: "componentId", publicName: "componentId", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, providers: [CuiCheckListBlockService], ngImport: i0, template: "<cui-content-wrapper\n *transloco=\"let t\"\n backgroundColor=\"var(--cui-base-10)\"\n [gap]=\"16\"\n>\n <ng-container *cuiLet=\"checkListItems() as checkListItems\">\n <header class=\"header\">\n <h2 class=\"heading\">{{ t('CHECKLIST') }}</h2>\n\n @if (checkListItems) {\n <span class=\"item\">{{ checkListItems?.length }} {{ t('ITEM_VARIANT') }}</span>\n }\n </header>\n <cui-content-wrapper>\n <cui-checklist-block-list [config]=\"config()\" />\n </cui-content-wrapper>\n <div>\n <button\n #actionButton=\"elementRef\"\n cuiElement\n cuiButton\n type=\"button\"\n appearance=\"flat\"\n size=\"xxs\"\n icon=\"cuiIconPlus\"\n >\n {{ t('ADD_NEW_ITEM') }}\n </button>\n <cui-context-menu\n [items]=\"CHECKLIST_BLOCK_SELECT_OPTIONS\"\n [target]=\"actionButton.nativeElement\"\n />\n </div>\n </ng-container>\n</cui-content-wrapper>\n", styles: [".header{display:flex;gap:12px;align-items:center;justify-content:space-between}.heading{font-weight:500;font-size:16px;line-height:24px}.item{font-weight:400;font-size:12px;line-height:14px;color:var(--cui-base-500)}\n"], dependencies: [{ kind: "component", type: CuiChecklistBlockListComponent, selector: "cui-checklist-block-list", inputs: ["config"] }, { kind: "component", type: CuiContentWrapperComponent, selector: "cui-content-wrapper, [cuiContentWrapper]", inputs: ["backgroundColor", "gap"] }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: i1.CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "size"] }, { kind: "ngmodule", type: CuiContextMenuModule }, { kind: "component", type: i2.CuiContextMenuComponent, selector: "cui-context-menu[items][target]", inputs: ["items", "target", "width", "withPaddings"] }, { kind: "directive", type: CuiElementDirective, selector: "[cuiElement]", exportAs: ["elementRef"] }, { kind: "directive", type: CuiLetDirective, selector: "[cuiLet]", inputs: ["cuiLet"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
62
62
  }
63
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CuiChecklistBlockComponent, decorators: [{
64
64
  type: Component,
@@ -72,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
72
72
  TranslocoDirective
73
73
  ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, providers: [CuiCheckListBlockService], template: "<cui-content-wrapper\n *transloco=\"let t\"\n backgroundColor=\"var(--cui-base-10)\"\n [gap]=\"16\"\n>\n <ng-container *cuiLet=\"checkListItems() as checkListItems\">\n <header class=\"header\">\n <h2 class=\"heading\">{{ t('CHECKLIST') }}</h2>\n\n @if (checkListItems) {\n <span class=\"item\">{{ checkListItems?.length }} {{ t('ITEM_VARIANT') }}</span>\n }\n </header>\n <cui-content-wrapper>\n <cui-checklist-block-list [config]=\"config()\" />\n </cui-content-wrapper>\n <div>\n <button\n #actionButton=\"elementRef\"\n cuiElement\n cuiButton\n type=\"button\"\n appearance=\"flat\"\n size=\"xxs\"\n icon=\"cuiIconPlus\"\n >\n {{ t('ADD_NEW_ITEM') }}\n </button>\n <cui-context-menu\n [items]=\"CHECKLIST_BLOCK_SELECT_OPTIONS\"\n [target]=\"actionButton.nativeElement\"\n />\n </div>\n </ng-container>\n</cui-content-wrapper>\n", styles: [".header{display:flex;gap:12px;align-items:center;justify-content:space-between}.heading{font-weight:500;font-size:16px;line-height:24px}.item{font-weight:400;font-size:12px;line-height:14px;color:var(--cui-base-500)}\n"] }]
74
74
  }], ctorParameters: () => [] });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LWJsb2NrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy9jaGVja2xpc3QtYmxvY2svY2hlY2tsaXN0LWJsb2NrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy9jaGVja2xpc3QtYmxvY2svY2hlY2tsaXN0LWJsb2NrLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLHVCQUF1QixFQUFtRCxNQUFNLGNBQWMsQ0FBQztBQUVwSSxPQUFPLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFckcsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFlBQVksQ0FBQzs7OztBQXFCdEQsTUFBTSxPQUFPLDBCQUEwQjtJQTRCbkM7UUEzQmlCLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMseUJBQW9CLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7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V0FDM0M7d0JBQ0wsOEJBQThCO3dCQUM5QiwwQkFBMEI7d0JBQzFCLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2Ysa0JBQWtCO3FCQUNyQixjQUNXLElBQUksbUJBR0MsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRGVzdHJveVJlZiwgZWZmZWN0LCBpbmplY3QsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEN1aUVsZW1lbnREaXJlY3RpdmUsIEN1aUxldERpcmVjdGl2ZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5pbXBvcnQgeyBUcmFuc2xvY29EaXJlY3RpdmUsIFRyYW5zbG9jb1NlcnZpY2UgfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nO1xuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IH0gZnJvbSAnQGN1YnktdWkvYXBpJztcbmltcG9ydCB7IEN1aU5vZGVDaGVja2xpc3RBcGlTZXJ2aWNlLCBDdWlUcmVlU3RydWN0QXBpU2VydmljZSwgTm9kZUNoZWNrTGlzdEl0ZW0sIE5vZGVDaGVja0xpc3RJdGVtQ29udGVudFR5cGUgfSBmcm9tICdAY3VieS11aS9hcGknO1xuXG5pbXBvcnQgeyBDdWlCdXR0b25Nb2R1bGUsIEN1aUNvbnRleHRNZW51TW9kdWxlLCBDdWlDb250ZW50V3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQ3VpQ2hlY2tMaXN0QmxvY2tJdGVtVHlwZSB9IGZyb20gJy4vY2hlY2tsaXN0LWJsb2NrLm9wdGlvbnMnO1xuaW1wb3J0IHsgQ3VpQ2hlY2tsaXN0QmxvY2tMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzJztcbmltcG9ydCB7IEN1aUNoZWNrTGlzdEJsb2NrU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ3VpQ29udGV4dE1lbnVJdGVtIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBDdWlFZGl0b3JDb25maWcgfSBmcm9tICcuLi8uLi9lZGl0b3IvaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY3VpLWNoZWNrbGlzdC1ibG9jaywgW2N1aUNoZWNrTGlzdEJsb2NrXScsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDdWlDaGVja2xpc3RCbG9ja0xpc3RDb21wb25lbnQsXG4gICAgICAgIEN1aUNvbnRlbnRXcmFwcGVyQ29tcG9uZW50LFxuICAgICAgICBDdWlCdXR0b25Nb2R1bGUsXG4gICAgICAgIEN1aUNvbnRleHRNZW51TW9kdWxlLFxuICAgICAgICBDdWlFbGVtZW50RGlyZWN0aXZlLFxuICAgICAgICBDdWlMZXREaXJlY3RpdmUsXG4gICAgICAgIFRyYW5zbG9jb0RpcmVjdGl2ZVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tsaXN0LWJsb2NrLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jaGVja2xpc3QtYmxvY2suY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtDdWlDaGVja0xpc3RCbG9ja1NlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIEN1aUNoZWNrbGlzdEJsb2NrQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmVlU3RydWN0QXBpU2VydmljZSA9IGluamVjdChDdWlUcmVlU3RydWN0QXBpU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xvY29TZXJ2aWNlID0gaW5qZWN0KFRyYW5zbG9jb1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbm9kZUNoZWNrTGlzdEFwaVNlcnZpY2UgPSBpbmplY3QoQ3VpTm9kZUNoZWNrbGlzdEFwaVNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hlY2tMaXN0QmxvY2tTZXJ2aWNlID0gaW5qZWN0KEN1aUNoZWNrTGlzdEJsb2NrU2VydmljZSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgQ0hFQ0tMSVNUX0JMT0NLX1NFTEVDVF9PUFRJT05TOiBDdWlDb250ZXh0TWVudUl0ZW1bXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ0FTU0lHTkVFX0FQUFJPVkFMJyksXG4gICAgICAgICAgICBjb21tYW5kOiAoKSA9PiB0aGlzLmFkZENoZWNrTGlzdEl0ZW0oQ3VpQ2hlY2tMaXN0QmxvY2tJdGVtVHlwZS5XSVRIT1VUX1ZFUklGSUNBVElPTilcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ0RPVUJMRV9DSEVDS19BUFBST1ZBTCcpLFxuICAgICAgICAgICAgY29tbWFuZDogKCkgPT4gdGhpcy5hZGRDaGVja0xpc3RJdGVtKEN1aUNoZWNrTGlzdEJsb2NrSXRlbVR5cGUuV0lUSF9WRVJJRklDQVRJT04pXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCdFVkFMVUFUSU9OX09QVElPTlMnKSxcbiAgICAgICAgICAgIGNvbW1hbmQ6ICgpID0+IHRoaXMuYWRkQ2hlY2tMaXN0SXRlbShDdWlDaGVja0xpc3RCbG9ja0l0ZW1UeXBlLkVWQUxVQVRJT04pXG4gICAgICAgIH1cbiAgICBdO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNoZWNrTGlzdEl0ZW1zID0gdGhpcy5jaGVja0xpc3RCbG9ja1NlcnZpY2UuY2hlY2tMaXN0SXRlbXM7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzTG9hZGluZyA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgY29tcG9uZW50SWQgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbmZpZyA9IGlucHV0LnJlcXVpcmVkPEN1aUVkaXRvckNvbmZpZz4oKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmluaXROb2RlQ2hlY2tMaXN0QmxvY2soKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXROb2RlQ2hlY2tMaXN0QmxvY2soKTogdm9pZCB7XG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrTGlzdEJsb2NrU2VydmljZS5zZXRDb21wb25lbnRJZCh0aGlzLmNvbXBvbmVudElkKCkpO1xuICAgICAgICAgICAgdGhpcy50cmVlU3RydWN0QXBpU2VydmljZVxuICAgICAgICAgICAgICAgIC5nZXRCeUlkPE5vZGVDaGVja0xpc3RJdGVtPE5vZGVDaGVja0xpc3RJdGVtQ29udGVudFR5cGU+Pih0aGlzLmNvbXBvbmVudElkKCkpXG4gICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgodHJlZVN0cnVjdCkgPT4gdGhpcy5jaGVja0xpc3RCbG9ja1NlcnZpY2Uuc2V0Q2hlY2tMaXN0SXRlbXModHJlZVN0cnVjdC5lbGVtZW50cykpO1xuICAgICAgICB9LCB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkQ2hlY2tMaXN0SXRlbSh0eXBlOiBDdWlDaGVja0xpc3RCbG9ja0l0ZW1UeXBlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nLnNldCh0cnVlKTtcbiAgICAgICAgdGhpcy5ub2RlQ2hlY2tMaXN0QXBpU2VydmljZVxuICAgICAgICAgICAgLmFkZE5vZGVDaGVja0xpc3RJdGVtKHtcbiAgICAgICAgICAgICAgICB0cmVlU3RydWN0Q29udGFpbmVyQ2hlY2tMaXN0SWQ6IHRoaXMuY29tcG9uZW50SWQoKSxcbiAgICAgICAgICAgICAgICB0aXRsZTogJ05ldyBjaGVja2xpc3QgaXRlbScsXG4gICAgICAgICAgICAgICAgdHlwZV9vcGVyYXRpb25zOiB0eXBlXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksIGZpbmFsaXplKCgpID0+IHRoaXMuaXNMb2FkaW5nLnNldChmYWxzZSkpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoY2hlY2tMaXN0SXRlbSkgPT4gdGhpcy5jaGVja0xpc3RCbG9ja1NlcnZpY2UuYWRkQ2hlY2tMaXN0SXRlbShjaGVja0xpc3RJdGVtKSk7XG4gICAgfVxufVxuIiwiPGN1aS1jb250ZW50LXdyYXBwZXJcbiAgICAqdHJhbnNsb2NvPVwibGV0IHRcIlxuICAgIGJhY2tncm91bmRDb2xvcj1cInZhcigtLWN1aS1iYXNlLTEwKVwiXG4gICAgW2dhcF09XCIxNlwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqY3VpTGV0PVwiY2hlY2tMaXN0SXRlbXMoKSBhcyBjaGVja0xpc3RJdGVtc1wiPlxuICAgICAgICA8aGVhZGVyIGNsYXNzPVwiaGVhZGVyXCI+XG4gICAgICAgICAgICA8aDIgY2xhc3M9XCJoZWFkaW5nXCI+e3sgdCgnQ0hFQ0tMSVNUJykgfX08L2gyPlxuXG4gICAgICAgICAgICBAaWYgKGNoZWNrTGlzdEl0ZW1zKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpdGVtXCI+e3sgY2hlY2tMaXN0SXRlbXM/Lmxlbmd0aCB9fSB7eyB0KCdJVEVNX1ZBUklBTlQnKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9oZWFkZXI+XG4gICAgICAgIDxjdWktY29udGVudC13cmFwcGVyPlxuICAgICAgICAgICAgPGN1aS1jaGVja2xpc3QtYmxvY2stbGlzdCBbY29uZmlnXT1cImNvbmZpZygpXCIgLz5cbiAgICAgICAgPC9jdWktY29udGVudC13cmFwcGVyPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICNhY3Rpb25CdXR0b249XCJlbGVtZW50UmVmXCJcbiAgICAgICAgICAgICAgICBjdWlFbGVtZW50XG4gICAgICAgICAgICAgICAgY3VpQnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImZsYXRcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJ4eHNcIlxuICAgICAgICAgICAgICAgIGljb249XCJjdWlJY29uUGx1c1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdCgnQUREX05FV19JVEVNJykgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGN1aS1jb250ZXh0LW1lbnVcbiAgICAgICAgICAgICAgICBbaXRlbXNdPVwiQ0hFQ0tMSVNUX0JMT0NLX1NFTEVDVF9PUFRJT05TXCJcbiAgICAgICAgICAgICAgICBbdGFyZ2V0XT1cImFjdGlvbkJ1dHRvbi5uYXRpdmVFbGVtZW50XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9jdWktY29udGVudC13cmFwcGVyPlxuIl19
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LWJsb2NrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy9jaGVja2xpc3QtYmxvY2svY2hlY2tsaXN0LWJsb2NrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy9jaGVja2xpc3QtYmxvY2svY2hlY2tsaXN0LWJsb2NrLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLHVCQUF1QixFQUFtRCxNQUFNLGNBQWMsQ0FBQztBQUVwSSxPQUFPLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFckcsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFlBQVksQ0FBQzs7OztBQXFCdEQsTUFBTSxPQUFPLDBCQUEwQjtJQTRCbkM7UUEzQmlCLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMseUJBQW9CLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7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V0FDM0M7d0JBQ0wsOEJBQThCO3dCQUM5QiwwQkFBMEI7d0JBQzFCLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2Ysa0JBQWtCO3FCQUNyQixjQUNXLElBQUksbUJBR0MsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRGVzdHJveVJlZiwgZWZmZWN0LCBpbmplY3QsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEN1aUVsZW1lbnREaXJlY3RpdmUsIEN1aUxldERpcmVjdGl2ZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5pbXBvcnQgeyBUcmFuc2xvY29EaXJlY3RpdmUsIFRyYW5zbG9jb1NlcnZpY2UgfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nO1xuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IH0gZnJvbSAnQGN1YnktdWkvYXBpJztcbmltcG9ydCB7IEN1aU5vZGVDaGVja2xpc3RBcGlTZXJ2aWNlLCBDdWlUcmVlU3RydWN0QXBpU2VydmljZSwgTm9kZUNoZWNrTGlzdEl0ZW0sIE5vZGVDaGVja0xpc3RJdGVtQ29udGVudFR5cGUgfSBmcm9tICdAY3VieS11aS9hcGknO1xuXG5pbXBvcnQgeyBDdWlCdXR0b25Nb2R1bGUsIEN1aUNvbnRleHRNZW51TW9kdWxlLCBDdWlDb250ZW50V3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQ3VpQ2hlY2tMaXN0QmxvY2tJdGVtVHlwZSB9IGZyb20gJy4vY2hlY2tsaXN0LWJsb2NrLm9wdGlvbnMnO1xuaW1wb3J0IHsgQ3VpQ2hlY2tsaXN0QmxvY2tMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzJztcbmltcG9ydCB7IEN1aUNoZWNrTGlzdEJsb2NrU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ3VpQ29udGV4dE1lbnVJdGVtIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBDdWlFZGl0b3JDb25maWcgfSBmcm9tICcuLi8uLi9lZGl0b3IvaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY3VpLWNoZWNrbGlzdC1ibG9jaywgW2N1aUNoZWNrTGlzdEJsb2NrXScsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDdWlDaGVja2xpc3RCbG9ja0xpc3RDb21wb25lbnQsXG4gICAgICAgIEN1aUNvbnRlbnRXcmFwcGVyQ29tcG9uZW50LFxuICAgICAgICBDdWlCdXR0b25Nb2R1bGUsXG4gICAgICAgIEN1aUNvbnRleHRNZW51TW9kdWxlLFxuICAgICAgICBDdWlFbGVtZW50RGlyZWN0aXZlLFxuICAgICAgICBDdWlMZXREaXJlY3RpdmUsXG4gICAgICAgIFRyYW5zbG9jb0RpcmVjdGl2ZVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tsaXN0LWJsb2NrLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jaGVja2xpc3QtYmxvY2suY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtDdWlDaGVja0xpc3RCbG9ja1NlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIEN1aUNoZWNrbGlzdEJsb2NrQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmVlU3RydWN0QXBpU2VydmljZSA9IGluamVjdChDdWlUcmVlU3RydWN0QXBpU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xvY29TZXJ2aWNlID0gaW5qZWN0KFRyYW5zbG9jb1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbm9kZUNoZWNrTGlzdEFwaVNlcnZpY2UgPSBpbmplY3QoQ3VpTm9kZUNoZWNrbGlzdEFwaVNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hlY2tMaXN0QmxvY2tTZXJ2aWNlID0gaW5qZWN0KEN1aUNoZWNrTGlzdEJsb2NrU2VydmljZSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgQ0hFQ0tMSVNUX0JMT0NLX1NFTEVDVF9PUFRJT05TOiBDdWlDb250ZXh0TWVudUl0ZW1bXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ0FTU0lHTkVFX0FQUFJPVkFMJyksXG4gICAgICAgICAgICBjb21tYW5kOiAoKSA9PiB0aGlzLmFkZENoZWNrTGlzdEl0ZW0oQ3VpQ2hlY2tMaXN0QmxvY2tJdGVtVHlwZS5XSVRIT1VUX1ZFUklGSUNBVElPTilcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ0RPVUJMRV9DSEVDS19BUFBST1ZBTCcpLFxuICAgICAgICAgICAgY29tbWFuZDogKCkgPT4gdGhpcy5hZGRDaGVja0xpc3RJdGVtKEN1aUNoZWNrTGlzdEJsb2NrSXRlbVR5cGUuV0lUSF9WRVJJRklDQVRJT04pXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCdFVkFMVUFUSU9OX09QVElPTlMnKSxcbiAgICAgICAgICAgIGNvbW1hbmQ6ICgpID0+IHRoaXMuYWRkQ2hlY2tMaXN0SXRlbShDdWlDaGVja0xpc3RCbG9ja0l0ZW1UeXBlLkVWQUxVQVRJT04pXG4gICAgICAgIH1cbiAgICBdO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNoZWNrTGlzdEl0ZW1zID0gdGhpcy5jaGVja0xpc3RCbG9ja1NlcnZpY2UuY2hlY2tMaXN0SXRlbXM7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzTG9hZGluZyA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgY29tcG9uZW50SWQgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbmZpZyA9IGlucHV0LnJlcXVpcmVkPEN1aUVkaXRvckNvbmZpZz4oKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmluaXROb2RlQ2hlY2tMaXN0QmxvY2soKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXROb2RlQ2hlY2tMaXN0QmxvY2soKTogdm9pZCB7XG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrTGlzdEJsb2NrU2VydmljZS5zZXRDb21wb25lbnRJZCh0aGlzLmNvbXBvbmVudElkKCkpO1xuICAgICAgICAgICAgdGhpcy50cmVlU3RydWN0QXBpU2VydmljZVxuICAgICAgICAgICAgICAgIC5nZXRCeUlkPE5vZGVDaGVja0xpc3RJdGVtPE5vZGVDaGVja0xpc3RJdGVtQ29udGVudFR5cGU+Pih0aGlzLmNvbXBvbmVudElkKCkpXG4gICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgodHJlZVN0cnVjdCkgPT4gdGhpcy5jaGVja0xpc3RCbG9ja1NlcnZpY2Uuc2V0Q2hlY2tMaXN0SXRlbXModHJlZVN0cnVjdC5lbGVtZW50cykpO1xuICAgICAgICB9LCB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkQ2hlY2tMaXN0SXRlbSh0eXBlOiBDdWlDaGVja0xpc3RCbG9ja0l0ZW1UeXBlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nLnNldCh0cnVlKTtcbiAgICAgICAgdGhpcy5ub2RlQ2hlY2tMaXN0QXBpU2VydmljZVxuICAgICAgICAgICAgLmFkZE5vZGVDaGVja0xpc3RJdGVtKHtcbiAgICAgICAgICAgICAgICB0cmVlU3RydWN0Q29udGFpbmVyQ2hlY2tMaXN0SWQ6IHRoaXMuY29tcG9uZW50SWQoKSxcbiAgICAgICAgICAgICAgICB0aXRsZTogJ05ldyBjaGVja2xpc3QgaXRlbScsXG4gICAgICAgICAgICAgICAgdHlwZV9vcGVyYXRpb25zOiB0eXBlXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksIGZpbmFsaXplKCgpID0+IHRoaXMuaXNMb2FkaW5nLnNldChmYWxzZSkpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoY2hlY2tMaXN0SXRlbSkgPT4gdGhpcy5jaGVja0xpc3RCbG9ja1NlcnZpY2UuYWRkQ2hlY2tMaXN0SXRlbShjaGVja0xpc3RJdGVtKSk7XG4gICAgfVxufVxuIiwiPGN1aS1jb250ZW50LXdyYXBwZXJcbiAgICAqdHJhbnNsb2NvPVwibGV0IHRcIlxuICAgIGJhY2tncm91bmRDb2xvcj1cInZhcigtLWN1aS1iYXNlLTEwKVwiXG4gICAgW2dhcF09XCIxNlwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqY3VpTGV0PVwiY2hlY2tMaXN0SXRlbXMoKSBhcyBjaGVja0xpc3RJdGVtc1wiPlxuICAgICAgICA8aGVhZGVyIGNsYXNzPVwiaGVhZGVyXCI+XG4gICAgICAgICAgICA8aDIgY2xhc3M9XCJoZWFkaW5nXCI+e3sgdCgnQ0hFQ0tMSVNUJykgfX08L2gyPlxuXG4gICAgICAgICAgICBAaWYgKGNoZWNrTGlzdEl0ZW1zKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpdGVtXCI+e3sgY2hlY2tMaXN0SXRlbXM/Lmxlbmd0aCB9fSB7eyB0KCdJVEVNX1ZBUklBTlQnKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9oZWFkZXI+XG4gICAgICAgIDxjdWktY29udGVudC13cmFwcGVyPlxuICAgICAgICAgICAgPGN1aS1jaGVja2xpc3QtYmxvY2stbGlzdCBbY29uZmlnXT1cImNvbmZpZygpXCIgLz5cbiAgICAgICAgPC9jdWktY29udGVudC13cmFwcGVyPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICNhY3Rpb25CdXR0b249XCJlbGVtZW50UmVmXCJcbiAgICAgICAgICAgICAgICBjdWlFbGVtZW50XG4gICAgICAgICAgICAgICAgY3VpQnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImZsYXRcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJ4eHNcIlxuICAgICAgICAgICAgICAgIGljb249XCJjdWlJY29uUGx1c1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdCgnQUREX05FV19JVEVNJykgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGN1aS1jb250ZXh0LW1lbnVcbiAgICAgICAgICAgICAgICBbaXRlbXNdPVwiQ0hFQ0tMSVNUX0JMT0NLX1NFTEVDVF9PUFRJT05TXCJcbiAgICAgICAgICAgICAgICBbdGFyZ2V0XT1cImFjdGlvbkJ1dHRvbi5uYXRpdmVFbGVtZW50XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9jdWktY29udGVudC13cmFwcGVyPlxuIl19
@@ -130,7 +130,7 @@ export class CuiChecklistBlockListItemContainerComponent {
130
130
  .subscribe((data) => data?.canceled || this.checkListBlockService.deleteCheckListItem(this.checkListItem().id));
131
131
  }
132
132
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CuiChecklistBlockListItemContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
133
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CuiChecklistBlockListItemContainerComponent, isStandalone: true, selector: "cui-checklist-block-list-item-container", inputs: { checkListBlockItem: { classPropertyName: "checkListBlockItem", publicName: "checkListBlockItem", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\n <ng-container *cuiLet=\"checkListItemWithOptions() as checkListItem\">\n <header\n class=\"header\"\n [style.border-left-color]=\"headerBorderColor()\"\n [class.header__opened]=\"isOpen()\"\n >\n <button\n class=\"icon-drag\"\n cuiButton\n cuiDragPointer\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n [icon]=\"'cuiIconDragHandleDots'\"\n (mouseenter)=\"onAllowDrag()\"\n (mouseleave)=\"onProhibitDrag()\"\n ></button>\n <button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n [style.transform]=\"rotate()\"\n icon=\"cuiIconCaretDownFillXxs\"\n (click)=\"onRowToggle()\"\n ></button>\n <cui-svg\n [icon]=\"iconChecklistType()\"\n color=\"var(--cui-base-500)\"\n />\n <div class=\"header__content\">\n <div class=\"header__numeration\">{{ index() }}.</div>\n <div class=\"header__text\">{{ headerText() }}</div>\n </div>\n @if (isTitleEmpty) {\n <cui-svg\n [cuiTooltip]=\"t('TITLE_IS_REQUIRED')\"\n icon=\"cuiIconAlertTriangle\"\n color=\"var(--cui-danger)\"\n class=\"icon\"\n />\n }\n <button\n #actionButton=\"elementRef\"\n cuiButton\n type=\"button\"\n cuiElement\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconMoreVertical\"\n class=\"list__context-menu-button\"\n ></button>\n <cui-context-menu\n [items]=\"checkListItem.options\"\n [target]=\"actionButton.nativeElement\"\n />\n </header>\n @if (isOpen()) {\n <div class=\"info\">\n <cui-checklist-block-title-control [control]=\"titleControl\" />\n <cui-editor-block\n [config]=\"config()\"\n [editorId]=\"checkListItem.textContainerId!\"\n [title]=\"titleControl.value\"\n />\n </div>\n <ng-container\n [ngComponentOutlet]=\"checkListItemComponent()\"\n [ngComponentOutletInputs]=\"{\n checkListItem: checkListItem\n }\"\n />\n }\n </ng-container>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;gap:16px;border-radius:inherit;background-color:var(--cui-base-0)}.header{padding-right:7px;padding-left:7px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:4px;background:var(--cui-base-0);border-radius:inherit;border-left:6px solid var(--cui-yellow-bg)}.header__content{display:flex;flex-direction:row;align-items:center;gap:8px;flex:1}.header__numeration{font-weight:600;font-size:13px;line-height:16px;padding-right:8px;padding-left:8px;display:flex;justify-content:center;align-items:center}.header__text{font-weight:500;font-size:14px;line-height:20px;padding-top:11px;padding-bottom:11px;flex:1;width:0;overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}.header__opened{background:var(--cui-badge-info-bg);border-bottom:.5px solid var(--cui-base-200);border-bottom-left-radius:0;border-bottom-right-radius:0}.header:hover{background:var(--cui-base-10)}.info{padding-right:15px;padding-left:15px;display:flex;flex-direction:column;gap:16px}.icon{padding:6px;width:max-content}\n"], dependencies: [{ kind: "directive", type: i1.CuiTooltipDirective, selector: "[cuiTooltip]:not(ng-container):not(ng-template)", inputs: ["cuiTooltipContext", "cuiTooltipAppearance", "cuiTooltip"] }, { kind: "component", type: CuiEditorBlockComponent, selector: "cui-editor-block", inputs: ["title", "editorId", "config", "required"], outputs: ["editorEmpty"] }, { kind: "component", type: CuiChecklistBlockTitleControlComponent, selector: "cui-checklist-block-title-control", inputs: ["control"] }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: i2.CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "size"] }, { kind: "ngmodule", type: CuiContextMenuModule }, { kind: "component", type: i3.CuiContextMenuComponent, selector: "cui-context-menu[items][target]", inputs: ["items", "target", "width"] }, { kind: "directive", type: CuiElementDirective, selector: "[cuiElement]", exportAs: ["elementRef"] }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "directive", type: CuiLetDirective, selector: "[cuiLet]", inputs: ["cuiLet"] }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: i4.CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "directive", type: CuiDragPointerDirective, selector: "[cuiDragPointer]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
133
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CuiChecklistBlockListItemContainerComponent, isStandalone: true, selector: "cui-checklist-block-list-item-container", inputs: { checkListBlockItem: { classPropertyName: "checkListBlockItem", publicName: "checkListBlockItem", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\n <ng-container *cuiLet=\"checkListItemWithOptions() as checkListItem\">\n <header\n class=\"header\"\n [style.border-left-color]=\"headerBorderColor()\"\n [class.header__opened]=\"isOpen()\"\n >\n <button\n class=\"icon-drag\"\n cuiButton\n cuiDragPointer\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n [icon]=\"'cuiIconDragHandleDots'\"\n (mouseenter)=\"onAllowDrag()\"\n (mouseleave)=\"onProhibitDrag()\"\n ></button>\n <button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n [style.transform]=\"rotate()\"\n icon=\"cuiIconCaretDownFillXxs\"\n (click)=\"onRowToggle()\"\n ></button>\n <cui-svg\n [icon]=\"iconChecklistType()\"\n color=\"var(--cui-base-500)\"\n />\n <div class=\"header__content\">\n <div class=\"header__numeration\">{{ index() }}.</div>\n <div class=\"header__text\">{{ headerText() }}</div>\n </div>\n @if (isTitleEmpty) {\n <cui-svg\n [cuiTooltip]=\"t('TITLE_IS_REQUIRED')\"\n icon=\"cuiIconAlertTriangle\"\n color=\"var(--cui-danger)\"\n class=\"icon\"\n />\n }\n <button\n #actionButton=\"elementRef\"\n cuiButton\n type=\"button\"\n cuiElement\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconMoreVertical\"\n class=\"list__context-menu-button\"\n ></button>\n <cui-context-menu\n [items]=\"checkListItem.options\"\n [target]=\"actionButton.nativeElement\"\n />\n </header>\n @if (isOpen()) {\n <div class=\"info\">\n <cui-checklist-block-title-control [control]=\"titleControl\" />\n <cui-editor-block\n [config]=\"config()\"\n [editorId]=\"checkListItem.textContainerId!\"\n [title]=\"titleControl.value\"\n />\n </div>\n <ng-container\n [ngComponentOutlet]=\"checkListItemComponent()\"\n [ngComponentOutletInputs]=\"{\n checkListItem: checkListItem\n }\"\n />\n }\n </ng-container>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;gap:16px;border-radius:inherit;background-color:var(--cui-base-0)}.header{padding-right:7px;padding-left:7px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:4px;background:var(--cui-base-0);border-radius:inherit;border-left:6px solid var(--cui-yellow-bg)}.header__content{display:flex;flex-direction:row;align-items:center;gap:8px;flex:1}.header__numeration{font-weight:600;font-size:13px;line-height:16px;padding-right:8px;padding-left:8px;display:flex;justify-content:center;align-items:center}.header__text{font-weight:500;font-size:14px;line-height:20px;padding-top:11px;padding-bottom:11px;flex:1;width:0;overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}.header__opened{background:var(--cui-badge-info-bg);border-bottom:.5px solid var(--cui-base-200);border-bottom-left-radius:0;border-bottom-right-radius:0}.header:hover{background:var(--cui-base-10)}.info{padding-right:15px;padding-left:15px;display:flex;flex-direction:column;gap:16px}.icon{padding:6px;width:max-content}\n"], dependencies: [{ kind: "directive", type: i1.CuiTooltipDirective, selector: "[cuiTooltip]:not(ng-container):not(ng-template)", inputs: ["cuiTooltipContext", "cuiTooltipAppearance", "cuiTooltip"] }, { kind: "component", type: CuiEditorBlockComponent, selector: "cui-editor-block", inputs: ["title", "editorId", "config", "required"], outputs: ["editorEmpty"] }, { kind: "component", type: CuiChecklistBlockTitleControlComponent, selector: "cui-checklist-block-title-control", inputs: ["control"] }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: i2.CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "size"] }, { kind: "ngmodule", type: CuiContextMenuModule }, { kind: "component", type: i3.CuiContextMenuComponent, selector: "cui-context-menu[items][target]", inputs: ["items", "target", "width", "withPaddings"] }, { kind: "directive", type: CuiElementDirective, selector: "[cuiElement]", exportAs: ["elementRef"] }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "directive", type: CuiLetDirective, selector: "[cuiLet]", inputs: ["cuiLet"] }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: i4.CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "directive", type: CuiDragPointerDirective, selector: "[cuiDragPointer]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
134
134
  }
135
135
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CuiChecklistBlockListItemContainerComponent, decorators: [{
136
136
  type: Component,
@@ -149,4 +149,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
149
149
  CuiDragPointerDirective
150
150
  ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *transloco=\"let t\">\n <ng-container *cuiLet=\"checkListItemWithOptions() as checkListItem\">\n <header\n class=\"header\"\n [style.border-left-color]=\"headerBorderColor()\"\n [class.header__opened]=\"isOpen()\"\n >\n <button\n class=\"icon-drag\"\n cuiButton\n cuiDragPointer\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n [icon]=\"'cuiIconDragHandleDots'\"\n (mouseenter)=\"onAllowDrag()\"\n (mouseleave)=\"onProhibitDrag()\"\n ></button>\n <button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n [style.transform]=\"rotate()\"\n icon=\"cuiIconCaretDownFillXxs\"\n (click)=\"onRowToggle()\"\n ></button>\n <cui-svg\n [icon]=\"iconChecklistType()\"\n color=\"var(--cui-base-500)\"\n />\n <div class=\"header__content\">\n <div class=\"header__numeration\">{{ index() }}.</div>\n <div class=\"header__text\">{{ headerText() }}</div>\n </div>\n @if (isTitleEmpty) {\n <cui-svg\n [cuiTooltip]=\"t('TITLE_IS_REQUIRED')\"\n icon=\"cuiIconAlertTriangle\"\n color=\"var(--cui-danger)\"\n class=\"icon\"\n />\n }\n <button\n #actionButton=\"elementRef\"\n cuiButton\n type=\"button\"\n cuiElement\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconMoreVertical\"\n class=\"list__context-menu-button\"\n ></button>\n <cui-context-menu\n [items]=\"checkListItem.options\"\n [target]=\"actionButton.nativeElement\"\n />\n </header>\n @if (isOpen()) {\n <div class=\"info\">\n <cui-checklist-block-title-control [control]=\"titleControl\" />\n <cui-editor-block\n [config]=\"config()\"\n [editorId]=\"checkListItem.textContainerId!\"\n [title]=\"titleControl.value\"\n />\n </div>\n <ng-container\n [ngComponentOutlet]=\"checkListItemComponent()\"\n [ngComponentOutletInputs]=\"{\n checkListItem: checkListItem\n }\"\n />\n }\n </ng-container>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;gap:16px;border-radius:inherit;background-color:var(--cui-base-0)}.header{padding-right:7px;padding-left:7px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:4px;background:var(--cui-base-0);border-radius:inherit;border-left:6px solid var(--cui-yellow-bg)}.header__content{display:flex;flex-direction:row;align-items:center;gap:8px;flex:1}.header__numeration{font-weight:600;font-size:13px;line-height:16px;padding-right:8px;padding-left:8px;display:flex;justify-content:center;align-items:center}.header__text{font-weight:500;font-size:14px;line-height:20px;padding-top:11px;padding-bottom:11px;flex:1;width:0;overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}.header__opened{background:var(--cui-badge-info-bg);border-bottom:.5px solid var(--cui-base-200);border-bottom-left-radius:0;border-bottom-right-radius:0}.header:hover{background:var(--cui-base-10)}.info{padding-right:15px;padding-left:15px;display:flex;flex-direction:column;gap:16px}.icon{padding:6px;width:max-content}\n"] }]
151
151
  }] });
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS93aWRnZXRzL2NoZWNrbGlzdC1ibG9jay9jb21wb25lbnRzL2NoZWNrbGlzdC1ibG9jay1saXN0LWl0ZW0tY29udGFpbmVyL2NoZWNrbGlzdC1ibG9jay1saXN0LWl0ZW0tY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy9jaGVja2xpc3QtYmxvY2svY29tcG9uZW50cy9jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWNvbnRhaW5lci9jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSwwQkFBMEIsRUFBbUQsTUFBTSxjQUFj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QixvUEFDakIsa0JBQWtCLGdNQUNsQix1QkFBdUI7OzRGQU9sQiwyQ0FBMkM7a0JBckJ2RCxTQUFTOytCQUNJLHlDQUF5QyxXQUMxQzt3QkFDTCxVQUFVO3dCQUNWLHVCQUF1Qjt3QkFDdkIsc0NBQXNDO3dCQUN0QyxlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsdUJBQXVCO3FCQUMxQixjQUNXLElBQUksbUJBR0MsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ29tcG9uZW50T3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB0eXBlIHsgT25Jbml0LCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgRGVzdHJveVJlZiwgaW5qZWN0LCBpbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBOb25OdWxsYWJsZUZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ3VpRWxlbWVudERpcmVjdGl2ZSwgQ3VpTGV0RGlyZWN0aXZlLCBDdWlEcmFnUG9pbnRlckRpcmVjdGl2ZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5pbXBvcnQgeyBUcmFuc2xvY29EaXJlY3RpdmUsIFRyYW5zbG9jb1NlcnZpY2UgfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ3VpVHJlZVN0cnVjdEFwaVNlcnZpY2UsIEN1aU5vZGVDaGVja2xpc3RBcGlTZXJ2aWNlLCBOb2RlQ2hlY2tMaXN0SXRlbSwgTm9kZUNoZWNrTGlzdEl0ZW1Db250ZW50VHlwZSB9IGZyb20gJ0BjdWJ5LXVpL2FwaSc7XG5cbmltcG9ydCB0eXBlIHsgQ3VpQ2hlY2tMaXN0QmxvY2tJdGVtIH0gZnJvbSAnLi4vLi4vY2hlY2tsaXN0LWJsb2NrLm9wdGlvbnMnO1xuaW1wb3J0IHsgQ3VpVG9vbHRpcCB9IGZyb20gJy4uLy4uLy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgQ3VpQnV0dG9uTW9kdWxlLCBDdWlDb250ZXh0TWVudU1vZHVsZSwgQ3VpRGlhbG9nU2VydmljZSwgQ3VpTGFiZWxNb2R1bGUsIEN1aVN2Z01vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQ3VpQ2hlY2tMaXN0QmxvY2tTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2hlY2tsaXN0LWJsb2NrLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ3VpQ2hlY2tsaXN0QmxvY2tUaXRsZUNvbnRyb2xDb21wb25lbnQgfSBmcm9tICcuLi9jaGVja2xpc3QtYmxvY2stdGl0bGUtY29udHJvbCc7XG5pbXBvcnQgeyBDdWlOb2RlQ2hlY2tMaXN0SXRlbVdpdGhPcHRpb24gfSBmcm9tICcuL2NoZWNrbGlzdC1ibG9jay1saXN0LWl0ZW0tY29udGFpbmVyLm9wdGlvbnMnO1xuaW1wb3J0IHsgQ3VpRWRpdG9yQmxvY2tDb21wb25lbnQsIEN1aUVkaXRvckNvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uL2VkaXRvcic7XG5pbXBvcnQgeyBDdWlEZWxldGVNb2RhbENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL3dpZGdldHMnO1xuaW1wb3J0IHsgY3VpQ3JlYXRlRGVmYXVsdFZhbGlkYXRvcnMgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY3VpLWNoZWNrbGlzdC1ibG9jay1saXN0LWl0ZW0tY29udGFpbmVyJyxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEN1aVRvb2x0aXAsXG4gICAgICAgIEN1aUVkaXRvckJsb2NrQ29tcG9uZW50LFxuICAgICAgICBDdWlDaGVja2xpc3RCbG9ja1RpdGxlQ29udHJvbENvbXBvbmVudCxcbiAgICAgICAgQ3VpQnV0dG9uTW9kdWxlLFxuICAgICAgICBDdWlDb250ZXh0TWVudU1vZHVsZSxcbiAgICAgICAgQ3VpRWxlbWVudERpcmVjdGl2ZSxcbiAgICAgICAgQ3VpTGFiZWxNb2R1bGUsXG4gICAgICAgIEN1aUxldERpcmVjdGl2ZSxcbiAgICAgICAgQ3VpU3ZnTW9kdWxlLFxuICAgICAgICBOZ0NvbXBvbmVudE91dGxldCxcbiAgICAgICAgVHJhbnNsb2NvRGlyZWN0aXZlLFxuICAgICAgICBDdWlEcmFnUG9pbnRlckRpcmVjdGl2ZVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQ3VpQ2hlY2tsaXN0QmxvY2tMaXN0SXRlbUNvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbm9uTnVsbGFibGVGb3JtQnVpbGRlciA9IGluamVjdChOb25OdWxsYWJsZUZvcm1CdWlsZGVyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbG9jb1NlcnZpY2UgPSBpbmplY3QoVHJhbnNsb2NvU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjdWlEaWFsb2dTZXJ2aWNlID0gaW5qZWN0KEN1aURpYWxvZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJlZVN0cnVjdEFwaVNlcnZpY2UgPSBpbmplY3QoQ3VpVHJlZVN0cnVjdEFwaVNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hlY2tMaXN0QmxvY2tTZXJ2aWNlID0gaW5qZWN0KEN1aUNoZWNrTGlzdEJsb2NrU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBub2RlQ2hlY2tMaXN0QXBpU2VydmljZSA9IGluamVjdChDdWlOb2RlQ2hlY2tsaXN0QXBpU2VydmljZSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgREVGQVVMVF9DT05UUk9MX0RFTEFZID0gNzAwO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzT3BlbiA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgY2hlY2tMaXN0QmxvY2tJdGVtID0gaW5wdXQucmVxdWlyZWQ8Q3VpQ2hlY2tMaXN0QmxvY2tJdGVtPigpO1xuICAgIHB1YmxpYyByZWFkb25seSBjb25maWcgPSBpbnB1dC5yZXF1aXJlZDxDdWlFZGl0b3JDb25maWc+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGluZGV4ID0gaW5wdXQ8bnVtYmVyPigwKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjb21wb25lbnRJZCA9IHRoaXMuY2hlY2tMaXN0QmxvY2tTZXJ2aWNlLmNvbXBvbmVudElkO1xuICAgIHByb3RlY3RlZCByZWFkb25seSByb3RhdGUgPSBjb21wdXRlZCgoKSA9PiBgcm90YXRlKCR7dGhpcy5pc09wZW4oKSA/ICcwZGVnJyA6ICctOTBkZWcnfSlgKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGVhZGVyVGV4dCA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIHRoaXMuY2hlY2tMaXN0SXRlbSgpLnRpdGxlID8gdGhpcy5jaGVja0xpc3RJdGVtKCkudGl0bGUgOiB0aGlzLnRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCdVTlRJVExFRCcpXG4gICAgKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hlY2tMaXN0SXRlbSA9IGNvbXB1dGVkPE5vZGVDaGVja0xpc3RJdGVtPE5vZGVDaGVja0xpc3RJdGVtQ29udGVudFR5cGU+PihcbiAgICAgICAgKCkgPT4gdGhpcy5jaGVja0xpc3RCbG9ja0l0ZW0oKS5jb250ZW50XG4gICAgKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hlY2tMaXN0SXRlbUNvbXBvbmVudCA9IGNvbXB1dGVkPFR5cGU8dW5rbm93bj4+KCgpID0+IHRoaXMuY2hlY2tMaXN0QmxvY2tJdGVtKCkuY29tcG9uZW50KTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hlY2tMaXN0SXRlbVdpdGhPcHRpb25zID0gY29tcHV0ZWQ8Q3VpTm9kZUNoZWNrTGlzdEl0ZW1XaXRoT3B0aW9uPE5vZGVDaGVja0xpc3RJdGVtQ29udGVudFR5cGU+PihcbiAgICAgICAgKCkgPT4gKHtcbiAgICAgICAgICAgIC4uLnRoaXMuY2hlY2tMaXN0SXRlbSgpLFxuICAgICAgICAgICAgb3B0aW9uczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ0RVUExJQ0FURScpLFxuICAgICAgICAgICAgICAgICAgICBpY29uOiAnY3VpSWNvbkNvcHknXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCdERUxFVEUnKSxcbiAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2N1aUljb25UcmFzaCcsXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tY3VpLWRhbmdlciknLFxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiB0aGlzLm9wZW5EZWxldGVDaGVja2xpc3ROb2RlTW9kYWwuYmluZCh0aGlzKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfSlcbiAgICApO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBoZWFkZXJCb3JkZXJDb2xvciA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgY2hlY2tMaXN0SXRlbSA9IHRoaXMuY2hlY2tMaXN0SXRlbSgpO1xuXG4gICAgICAgIGlmIChjaGVja0xpc3RJdGVtLmNvbnRlbnQuYWN0aW9uc0FwcHJvdmUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiAndmFyKC0tY3VpLXZpb2xldC1iZyknO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCdhY2NlcHRhbmNlQ3JpdGVyaWFFdmFsdWF0aW9ucycgaW4gY2hlY2tMaXN0SXRlbS5jb250ZW50LmFjdGlvbnNBc3NpZ25lZSFbMF0pIHtcbiAgICAgICAgICAgIHJldHVybiAndmFyKC0tY3VpLWN5YW4tYmcpJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH0pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpY29uQ2hlY2tsaXN0VHlwZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgY2hlY2tMaXN0SXRlbSA9IHRoaXMuY2hlY2tMaXN0SXRlbSgpO1xuXG4gICAgICAgIGlmIChjaGVja0xpc3RJdGVtLmNvbnRlbnQuYWN0aW9uc0FwcHJvdmUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiAnY3VpSWNvblVzZXJzU20nO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCdhY2NlcHRhbmNlQ3JpdGVyaWFFdmFsdWF0aW9ucycgaW4gY2hlY2tMaXN0SXRlbS5jb250ZW50LmFjdGlvbnNBc3NpZ25lZSFbMF0pIHtcbiAgICAgICAgICAgIHJldHVybiAnY3VpSWNvbkNoZWNrbGlzdCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gJ2N1aUljb25Vc2VyU20nO1xuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRpdGxlQ29udHJvbCA9IHRoaXMubm9uTnVsbGFibGVGb3JtQnVpbGRlci5jb250cm9sKFxuICAgICAgICB7IHZhbHVlOiAnJywgZGlzYWJsZWQ6IHRydWUgfSxcbiAgICAgICAgY3VpQ3JlYXRlRGVmYXVsdFZhbGlkYXRvcnMoKVxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGlzVGl0bGVFbXB0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnRpdGxlQ29udHJvbC52YWx1ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGlzVGl0bGVFcnJvcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGl0bGVDb250cm9sLmludmFsaWQgJiYgdGhpcy50aXRsZUNvbnRyb2wuZGlydHk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRDb250cm9scygpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblJvd1RvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc09wZW4udXBkYXRlKChwcmV2KSA9PiAhcHJldik7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQWxsb3dEcmFnKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoZWNrTGlzdEJsb2NrU2VydmljZS50b2dnbGVEcmFnUGVybWlzc2lvbih0cnVlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Qcm9oaWJpdERyYWcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hlY2tMaXN0QmxvY2tTZXJ2aWNlLnRvZ2dsZURyYWdQZXJtaXNzaW9uKGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRDb250cm9scygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0VGl0bGVDb250cm9sVmFsdWUoKTtcbiAgICAgICAgdGhpcy5pbml0VGl0bGVDb250cm9sU3Vic2NyaXB0aW9uKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0VGl0bGVDb250cm9sVmFsdWUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGl0bGVDb250cm9sLmVuYWJsZSgpO1xuICAgICAgICB0aGlzLnRpdGxlQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmNoZWNrTGlzdEl0ZW0oKS50aXRsZSA/IHRoaXMuY2hlY2tMaXN0SXRlbSgpLnRpdGxlIDogJycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFRpdGxlQ29udHJvbFN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aXRsZUNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUodGhpcy5ERUZBVUxUX0NPTlRST0xfREVMQVkpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHRpdGxlVmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50aXRsZUNvbnRyb2wuaW52YWxpZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlQ2hlY2tMaXN0QXBpU2VydmljZVxuICAgICAgICAgICAgICAgICAgICAudXBkYXRlTm9kZUNoZWNrTGlzdEl0ZW1UaXRsZSh0aGlzLmNoZWNrTGlzdEl0ZW0oKS5pZCwgdGl0bGVWYWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoZWNrTGlzdEJsb2NrU2VydmljZS51cGRhdGVDaGVja0xpc3RJdGVtKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmNoZWNrTGlzdEl0ZW0oKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogdGl0bGVWYWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcGVuRGVsZXRlQ2hlY2tsaXN0Tm9kZU1vZGFsKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gWydUSElTX0FDVElPTl9XSUxMX1BFUk1BTkVOVExZX0RFTEVURV9USEVfSVRFTV9GUk9NX0NIRUNLTElTVCddO1xuXG4gICAgICAgIHRoaXMuY3VpRGlhbG9nU2VydmljZVxuICAgICAgICAgICAgLm9wZW4oQ3VpRGVsZXRlTW9kYWxDb21wb25lbnQsIHtcbiAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnREVMRVRFX0VWQUxVQVRJT05fQ0hFQ0tMSVNUX0lURU1fUVVFU1RJT04nLFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50LFxuICAgICAgICAgICAgICAgICAgICBkZWxldGU6ICgpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyZWVTdHJ1Y3RBcGlTZXJ2aWNlLmRlbGV0ZVRyZWVTdHJ1Y3RFbGVtZW50KHRoaXMuY29tcG9uZW50SWQoKSEsIHRoaXMuY2hlY2tMaXN0SXRlbSgpLmlkKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgIChkYXRhKSA9PiBkYXRhPy5jYW5jZWxlZCB8fCB0aGlzLmNoZWNrTGlzdEJsb2NrU2VydmljZS5kZWxldGVDaGVja0xpc3RJdGVtKHRoaXMuY2hlY2tMaXN0SXRlbSgpLmlkKVxuICAgICAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICp0cmFuc2xvY289XCJsZXQgdFwiPlxuICAgIDxuZy1jb250YWluZXIgKmN1aUxldD1cImNoZWNrTGlzdEl0ZW1XaXRoT3B0aW9ucygpIGFzIGNoZWNrTGlzdEl0ZW1cIj5cbiAgICAgICAgPGhlYWRlclxuICAgICAgICAgICAgY2xhc3M9XCJoZWFkZXJcIlxuICAgICAgICAgICAgW3N0eWxlLmJvcmRlci1sZWZ0LWNvbG9yXT1cImhlYWRlckJvcmRlckNvbG9yKClcIlxuICAgICAgICAgICAgW2NsYXNzLmhlYWRlcl9fb3BlbmVkXT1cImlzT3BlbigpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbi1kcmFnXCJcbiAgICAgICAgICAgICAgICBjdWlCdXR0b25cbiAgICAgICAgICAgICAgICBjdWlEcmFnUG9pbnRlclxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInh4c1wiXG4gICAgICAgICAgICAgICAgW2ljb25dPVwiJ2N1aUljb25EcmFnSGFuZGxlRG90cydcIlxuICAgICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cIm9uQWxsb3dEcmFnKClcIlxuICAgICAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cIm9uUHJvaGliaXREcmFnKClcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGN1aUJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInh4c1wiXG4gICAgICAgICAgICAgICAgW3N0eWxlLnRyYW5zZm9ybV09XCJyb3RhdGUoKVwiXG4gICAgICAgICAgICAgICAgaWNvbj1cImN1aUljb25DYXJldERvd25GaWxsWHhzXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Sb3dUb2dnbGUoKVwiXG4gICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICA8Y3VpLXN2Z1xuICAgICAgICAgICAgICAgIFtpY29uXT1cImljb25DaGVja2xpc3RUeXBlKClcIlxuICAgICAgICAgICAgICAgIGNvbG9yPVwidmFyKC0tY3VpLWJhc2UtNTAwKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlcl9fY29udGVudFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJfX251bWVyYXRpb25cIj57eyBpbmRleCgpIH19LjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJfX3RleHRcIj57eyBoZWFkZXJUZXh0KCkgfX08L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgQGlmIChpc1RpdGxlRW1wdHkpIHtcbiAgICAgICAgICAgICAgICA8Y3VpLXN2Z1xuICAgICAgICAgICAgICAgICAgICBbY3VpVG9vbHRpcF09XCJ0KCdUSVRMRV9JU19SRVFVSVJFRCcpXCJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj1cImN1aUljb25BbGVydFRyaWFuZ2xlXCJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJ2YXIoLS1jdWktZGFuZ2VyKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvblwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAjYWN0aW9uQnV0dG9uPVwiZWxlbWVudFJlZlwiXG4gICAgICAgICAgICAgICAgY3VpQnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY3VpRWxlbWVudFxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInh4c1wiXG4gICAgICAgICAgICAgICAgaWNvbj1cImN1aUljb25Nb3JlVmVydGljYWxcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibGlzdF9fY29udGV4dC1tZW51LWJ1dHRvblwiXG4gICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICA8Y3VpLWNvbnRleHQtbWVudVxuICAgICAgICAgICAgICAgIFtpdGVtc109XCJjaGVja0xpc3RJdGVtLm9wdGlvbnNcIlxuICAgICAgICAgICAgICAgIFt0YXJnZXRdPVwiYWN0aW9uQnV0dG9uLm5hdGl2ZUVsZW1lbnRcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9oZWFkZXI+XG4gICAgICAgIEBpZiAoaXNPcGVuKCkpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvXCI+XG4gICAgICAgICAgICAgICAgPGN1aS1jaGVja2xpc3QtYmxvY2stdGl0bGUtY29udHJvbCBbY29udHJvbF09XCJ0aXRsZUNvbnRyb2xcIiAvPlxuICAgICAgICAgICAgICAgIDxjdWktZWRpdG9yLWJsb2NrXG4gICAgICAgICAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnKClcIlxuICAgICAgICAgICAgICAgICAgICBbZWRpdG9ySWRdPVwiY2hlY2tMaXN0SXRlbS50ZXh0Q29udGFpbmVySWQhXCJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cInRpdGxlQ29udHJvbC52YWx1ZVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgIFtuZ0NvbXBvbmVudE91dGxldF09XCJjaGVja0xpc3RJdGVtQ29tcG9uZW50KClcIlxuICAgICAgICAgICAgICAgIFtuZ0NvbXBvbmVudE91dGxldElucHV0c109XCJ7XG4gICAgICAgICAgICAgICAgICAgIGNoZWNrTGlzdEl0ZW06IGNoZWNrTGlzdEl0ZW1cbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS93aWRnZXRzL2NoZWNrbGlzdC1ibG9jay9jb21wb25lbnRzL2NoZWNrbGlzdC1ibG9jay1saXN0LWl0ZW0tY29udGFpbmVyL2NoZWNrbGlzdC1ibG9jay1saXN0LWl0ZW0tY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy9jaGVja2xpc3QtYmxvY2svY29tcG9uZW50cy9jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWNvbnRhaW5lci9jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSwwQkFBMEIsRUFBbUQsTUFBTSxjQUFj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QixvUEFDakIsa0JBQWtCLGdNQUNsQix1QkFBdUI7OzRGQU9sQiwyQ0FBMkM7a0JBckJ2RCxTQUFTOytCQUNJLHlDQUF5QyxXQUMxQzt3QkFDTCxVQUFVO3dCQUNWLHVCQUF1Qjt3QkFDdkIsc0NBQXNDO3dCQUN0QyxlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsdUJBQXVCO3FCQUMxQixjQUNXLElBQUksbUJBR0MsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ29tcG9uZW50T3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB0eXBlIHsgT25Jbml0LCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgRGVzdHJveVJlZiwgaW5qZWN0LCBpbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBOb25OdWxsYWJsZUZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ3VpRWxlbWVudERpcmVjdGl2ZSwgQ3VpTGV0RGlyZWN0aXZlLCBDdWlEcmFnUG9pbnRlckRpcmVjdGl2ZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5pbXBvcnQgeyBUcmFuc2xvY29EaXJlY3RpdmUsIFRyYW5zbG9jb1NlcnZpY2UgfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ3VpVHJlZVN0cnVjdEFwaVNlcnZpY2UsIEN1aU5vZGVDaGVja2xpc3RBcGlTZXJ2aWNlLCBOb2RlQ2hlY2tMaXN0SXRlbSwgTm9kZUNoZWNrTGlzdEl0ZW1Db250ZW50VHlwZSB9IGZyb20gJ0BjdWJ5LXVpL2FwaSc7XG5cbmltcG9ydCB0eXBlIHsgQ3VpQ2hlY2tMaXN0QmxvY2tJdGVtIH0gZnJvbSAnLi4vLi4vY2hlY2tsaXN0LWJsb2NrLm9wdGlvbnMnO1xuaW1wb3J0IHsgQ3VpVG9vbHRpcCB9IGZyb20gJy4uLy4uLy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgQ3VpQnV0dG9uTW9kdWxlLCBDdWlDb250ZXh0TWVudU1vZHVsZSwgQ3VpRGlhbG9nU2VydmljZSwgQ3VpTGFiZWxNb2R1bGUsIEN1aVN2Z01vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQ3VpQ2hlY2tMaXN0QmxvY2tTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2hlY2tsaXN0LWJsb2NrLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ3VpQ2hlY2tsaXN0QmxvY2tUaXRsZUNvbnRyb2xDb21wb25lbnQgfSBmcm9tICcuLi9jaGVja2xpc3QtYmxvY2stdGl0bGUtY29udHJvbCc7XG5pbXBvcnQgeyBDdWlOb2RlQ2hlY2tMaXN0SXRlbVdpdGhPcHRpb24gfSBmcm9tICcuL2NoZWNrbGlzdC1ibG9jay1saXN0LWl0ZW0tY29udGFpbmVyLm9wdGlvbnMnO1xuaW1wb3J0IHsgQ3VpRWRpdG9yQmxvY2tDb21wb25lbnQsIEN1aUVkaXRvckNvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uL2VkaXRvcic7XG5pbXBvcnQgeyBDdWlEZWxldGVNb2RhbENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL3dpZGdldHMnO1xuaW1wb3J0IHsgY3VpQ3JlYXRlRGVmYXVsdFZhbGlkYXRvcnMgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY3VpLWNoZWNrbGlzdC1ibG9jay1saXN0LWl0ZW0tY29udGFpbmVyJyxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEN1aVRvb2x0aXAsXG4gICAgICAgIEN1aUVkaXRvckJsb2NrQ29tcG9uZW50LFxuICAgICAgICBDdWlDaGVja2xpc3RCbG9ja1RpdGxlQ29udHJvbENvbXBvbmVudCxcbiAgICAgICAgQ3VpQnV0dG9uTW9kdWxlLFxuICAgICAgICBDdWlDb250ZXh0TWVudU1vZHVsZSxcbiAgICAgICAgQ3VpRWxlbWVudERpcmVjdGl2ZSxcbiAgICAgICAgQ3VpTGFiZWxNb2R1bGUsXG4gICAgICAgIEN1aUxldERpcmVjdGl2ZSxcbiAgICAgICAgQ3VpU3ZnTW9kdWxlLFxuICAgICAgICBOZ0NvbXBvbmVudE91dGxldCxcbiAgICAgICAgVHJhbnNsb2NvRGlyZWN0aXZlLFxuICAgICAgICBDdWlEcmFnUG9pbnRlckRpcmVjdGl2ZVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tsaXN0LWJsb2NrLWxpc3QtaXRlbS1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9jaGVja2xpc3QtYmxvY2stbGlzdC1pdGVtLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQ3VpQ2hlY2tsaXN0QmxvY2tMaXN0SXRlbUNvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbm9uTnVsbGFibGVGb3JtQnVpbGRlciA9IGluamVjdChOb25OdWxsYWJsZUZvcm1CdWlsZGVyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbG9jb1NlcnZpY2UgPSBpbmplY3QoVHJhbnNsb2NvU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjdWlEaWFsb2dTZXJ2aWNlID0gaW5qZWN0KEN1aURpYWxvZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJlZVN0cnVjdEFwaVNlcnZpY2UgPSBpbmplY3QoQ3VpVHJlZVN0cnVjdEFwaVNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hlY2tMaXN0QmxvY2tTZXJ2aWNlID0gaW5qZWN0KEN1aUNoZWNrTGlzdEJsb2NrU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBub2RlQ2hlY2tMaXN0QXBpU2VydmljZSA9IGluamVjdChDdWlOb2RlQ2hlY2tsaXN0QXBpU2VydmljZSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgREVGQVVMVF9DT05UUk9MX0RFTEFZID0gNzAwO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzT3BlbiA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgY2hlY2tMaXN0QmxvY2tJdGVtID0gaW5wdXQucmVxdWlyZWQ8Q3VpQ2hlY2tMaXN0QmxvY2tJdGVtPigpO1xuICAgIHB1YmxpYyByZWFkb25seSBjb25maWcgPSBpbnB1dC5yZXF1aXJlZDxDdWlFZGl0b3JDb25maWc+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGluZGV4ID0gaW5wdXQ8bnVtYmVyPigwKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjb21wb25lbnRJZCA9IHRoaXMuY2hlY2tMaXN0QmxvY2tTZXJ2aWNlLmNvbXBvbmVudElkO1xuICAgIHByb3RlY3RlZCByZWFkb25seSByb3RhdGUgPSBjb21wdXRlZCgoKSA9PiBgcm90YXRlKCR7dGhpcy5pc09wZW4oKSA/ICcwZGVnJyA6ICctOTBkZWcnfSlgKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGVhZGVyVGV4dCA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIHRoaXMuY2hlY2tMaXN0SXRlbSgpLnRpdGxlID8gdGhpcy5jaGVja0xpc3RJdGVtKCkudGl0bGUgOiB0aGlzLnRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCdVTlRJVExFRCcpXG4gICAgKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hlY2tMaXN0SXRlbSA9IGNvbXB1dGVkPE5vZGVDaGVja0xpc3RJdGVtPE5vZGVDaGVja0xpc3RJdGVtQ29udGVudFR5cGU+PihcbiAgICAgICAgKCkgPT4gdGhpcy5jaGVja0xpc3RCbG9ja0l0ZW0oKS5jb250ZW50XG4gICAgKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hlY2tMaXN0SXRlbUNvbXBvbmVudCA9IGNvbXB1dGVkPFR5cGU8dW5rbm93bj4+KCgpID0+IHRoaXMuY2hlY2tMaXN0QmxvY2tJdGVtKCkuY29tcG9uZW50KTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hlY2tMaXN0SXRlbVdpdGhPcHRpb25zID0gY29tcHV0ZWQ8Q3VpTm9kZUNoZWNrTGlzdEl0ZW1XaXRoT3B0aW9uPE5vZGVDaGVja0xpc3RJdGVtQ29udGVudFR5cGU+PihcbiAgICAgICAgKCkgPT4gKHtcbiAgICAgICAgICAgIC4uLnRoaXMuY2hlY2tMaXN0SXRlbSgpLFxuICAgICAgICAgICAgb3B0aW9uczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ0RVUExJQ0FURScpLFxuICAgICAgICAgICAgICAgICAgICBpY29uOiAnY3VpSWNvbkNvcHknXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCdERUxFVEUnKSxcbiAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2N1aUljb25UcmFzaCcsXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tY3VpLWRhbmdlciknLFxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiB0aGlzLm9wZW5EZWxldGVDaGVja2xpc3ROb2RlTW9kYWwuYmluZCh0aGlzKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfSlcbiAgICApO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBoZWFkZXJCb3JkZXJDb2xvciA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgY2hlY2tMaXN0SXRlbSA9IHRoaXMuY2hlY2tMaXN0SXRlbSgpO1xuXG4gICAgICAgIGlmIChjaGVja0xpc3RJdGVtLmNvbnRlbnQuYWN0aW9uc0FwcHJvdmUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiAndmFyKC0tY3VpLXZpb2xldC1iZyknO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCdhY2NlcHRhbmNlQ3JpdGVyaWFFdmFsdWF0aW9ucycgaW4gY2hlY2tMaXN0SXRlbS5jb250ZW50LmFjdGlvbnNBc3NpZ25lZSFbMF0pIHtcbiAgICAgICAgICAgIHJldHVybiAndmFyKC0tY3VpLWN5YW4tYmcpJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH0pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpY29uQ2hlY2tsaXN0VHlwZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgY2hlY2tMaXN0SXRlbSA9IHRoaXMuY2hlY2tMaXN0SXRlbSgpO1xuXG4gICAgICAgIGlmIChjaGVja0xpc3RJdGVtLmNvbnRlbnQuYWN0aW9uc0FwcHJvdmUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiAnY3VpSWNvblVzZXJzU20nO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCdhY2NlcHRhbmNlQ3JpdGVyaWFFdmFsdWF0aW9ucycgaW4gY2hlY2tMaXN0SXRlbS5jb250ZW50LmFjdGlvbnNBc3NpZ25lZSFbMF0pIHtcbiAgICAgICAgICAgIHJldHVybiAnY3VpSWNvbkNoZWNrbGlzdCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gJ2N1aUljb25Vc2VyU20nO1xuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRpdGxlQ29udHJvbCA9IHRoaXMubm9uTnVsbGFibGVGb3JtQnVpbGRlci5jb250cm9sKFxuICAgICAgICB7IHZhbHVlOiAnJywgZGlzYWJsZWQ6IHRydWUgfSxcbiAgICAgICAgY3VpQ3JlYXRlRGVmYXVsdFZhbGlkYXRvcnMoKVxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGlzVGl0bGVFbXB0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnRpdGxlQ29udHJvbC52YWx1ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGlzVGl0bGVFcnJvcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGl0bGVDb250cm9sLmludmFsaWQgJiYgdGhpcy50aXRsZUNvbnRyb2wuZGlydHk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRDb250cm9scygpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblJvd1RvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc09wZW4udXBkYXRlKChwcmV2KSA9PiAhcHJldik7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQWxsb3dEcmFnKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoZWNrTGlzdEJsb2NrU2VydmljZS50b2dnbGVEcmFnUGVybWlzc2lvbih0cnVlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Qcm9oaWJpdERyYWcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hlY2tMaXN0QmxvY2tTZXJ2aWNlLnRvZ2dsZURyYWdQZXJtaXNzaW9uKGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRDb250cm9scygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0VGl0bGVDb250cm9sVmFsdWUoKTtcbiAgICAgICAgdGhpcy5pbml0VGl0bGVDb250cm9sU3Vic2NyaXB0aW9uKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0VGl0bGVDb250cm9sVmFsdWUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGl0bGVDb250cm9sLmVuYWJsZSgpO1xuICAgICAgICB0aGlzLnRpdGxlQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmNoZWNrTGlzdEl0ZW0oKS50aXRsZSA/IHRoaXMuY2hlY2tMaXN0SXRlbSgpLnRpdGxlIDogJycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFRpdGxlQ29udHJvbFN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aXRsZUNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUodGhpcy5ERUZBVUxUX0NPTlRST0xfREVMQVkpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHRpdGxlVmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50aXRsZUNvbnRyb2wuaW52YWxpZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlQ2hlY2tMaXN0QXBpU2VydmljZVxuICAgICAgICAgICAgICAgICAgICAudXBkYXRlTm9kZUNoZWNrTGlzdEl0ZW1UaXRsZSh0aGlzLmNoZWNrTGlzdEl0ZW0oKS5pZCwgdGl0bGVWYWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoZWNrTGlzdEJsb2NrU2VydmljZS51cGRhdGVDaGVja0xpc3RJdGVtKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmNoZWNrTGlzdEl0ZW0oKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogdGl0bGVWYWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcGVuRGVsZXRlQ2hlY2tsaXN0Tm9kZU1vZGFsKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gWydUSElTX0FDVElPTl9XSUxMX1BFUk1BTkVOVExZX0RFTEVURV9USEVfSVRFTV9GUk9NX0NIRUNLTElTVCddO1xuXG4gICAgICAgIHRoaXMuY3VpRGlhbG9nU2VydmljZVxuICAgICAgICAgICAgLm9wZW4oQ3VpRGVsZXRlTW9kYWxDb21wb25lbnQsIHtcbiAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnREVMRVRFX0VWQUxVQVRJT05fQ0hFQ0tMSVNUX0lURU1fUVVFU1RJT04nLFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50LFxuICAgICAgICAgICAgICAgICAgICBkZWxldGU6ICgpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyZWVTdHJ1Y3RBcGlTZXJ2aWNlLmRlbGV0ZVRyZWVTdHJ1Y3RFbGVtZW50KHRoaXMuY29tcG9uZW50SWQoKSEsIHRoaXMuY2hlY2tMaXN0SXRlbSgpLmlkKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgIChkYXRhKSA9PiBkYXRhPy5jYW5jZWxlZCB8fCB0aGlzLmNoZWNrTGlzdEJsb2NrU2VydmljZS5kZWxldGVDaGVja0xpc3RJdGVtKHRoaXMuY2hlY2tMaXN0SXRlbSgpLmlkKVxuICAgICAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICp0cmFuc2xvY289XCJsZXQgdFwiPlxuICAgIDxuZy1jb250YWluZXIgKmN1aUxldD1cImNoZWNrTGlzdEl0ZW1XaXRoT3B0aW9ucygpIGFzIGNoZWNrTGlzdEl0ZW1cIj5cbiAgICAgICAgPGhlYWRlclxuICAgICAgICAgICAgY2xhc3M9XCJoZWFkZXJcIlxuICAgICAgICAgICAgW3N0eWxlLmJvcmRlci1sZWZ0LWNvbG9yXT1cImhlYWRlckJvcmRlckNvbG9yKClcIlxuICAgICAgICAgICAgW2NsYXNzLmhlYWRlcl9fb3BlbmVkXT1cImlzT3BlbigpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbi1kcmFnXCJcbiAgICAgICAgICAgICAgICBjdWlCdXR0b25cbiAgICAgICAgICAgICAgICBjdWlEcmFnUG9pbnRlclxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInh4c1wiXG4gICAgICAgICAgICAgICAgW2ljb25dPVwiJ2N1aUljb25EcmFnSGFuZGxlRG90cydcIlxuICAgICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cIm9uQWxsb3dEcmFnKClcIlxuICAgICAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cIm9uUHJvaGliaXREcmFnKClcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGN1aUJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInh4c1wiXG4gICAgICAgICAgICAgICAgW3N0eWxlLnRyYW5zZm9ybV09XCJyb3RhdGUoKVwiXG4gICAgICAgICAgICAgICAgaWNvbj1cImN1aUljb25DYXJldERvd25GaWxsWHhzXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Sb3dUb2dnbGUoKVwiXG4gICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICA8Y3VpLXN2Z1xuICAgICAgICAgICAgICAgIFtpY29uXT1cImljb25DaGVja2xpc3RUeXBlKClcIlxuICAgICAgICAgICAgICAgIGNvbG9yPVwidmFyKC0tY3VpLWJhc2UtNTAwKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlcl9fY29udGVudFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJfX251bWVyYXRpb25cIj57eyBpbmRleCgpIH19LjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJfX3RleHRcIj57eyBoZWFkZXJUZXh0KCkgfX08L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgQGlmIChpc1RpdGxlRW1wdHkpIHtcbiAgICAgICAgICAgICAgICA8Y3VpLXN2Z1xuICAgICAgICAgICAgICAgICAgICBbY3VpVG9vbHRpcF09XCJ0KCdUSVRMRV9JU19SRVFVSVJFRCcpXCJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj1cImN1aUljb25BbGVydFRyaWFuZ2xlXCJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJ2YXIoLS1jdWktZGFuZ2VyKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvblwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAjYWN0aW9uQnV0dG9uPVwiZWxlbWVudFJlZlwiXG4gICAgICAgICAgICAgICAgY3VpQnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY3VpRWxlbWVudFxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInh4c1wiXG4gICAgICAgICAgICAgICAgaWNvbj1cImN1aUljb25Nb3JlVmVydGljYWxcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibGlzdF9fY29udGV4dC1tZW51LWJ1dHRvblwiXG4gICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICA8Y3VpLWNvbnRleHQtbWVudVxuICAgICAgICAgICAgICAgIFtpdGVtc109XCJjaGVja0xpc3RJdGVtLm9wdGlvbnNcIlxuICAgICAgICAgICAgICAgIFt0YXJnZXRdPVwiYWN0aW9uQnV0dG9uLm5hdGl2ZUVsZW1lbnRcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9oZWFkZXI+XG4gICAgICAgIEBpZiAoaXNPcGVuKCkpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvXCI+XG4gICAgICAgICAgICAgICAgPGN1aS1jaGVja2xpc3QtYmxvY2stdGl0bGUtY29udHJvbCBbY29udHJvbF09XCJ0aXRsZUNvbnRyb2xcIiAvPlxuICAgICAgICAgICAgICAgIDxjdWktZWRpdG9yLWJsb2NrXG4gICAgICAgICAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnKClcIlxuICAgICAgICAgICAgICAgICAgICBbZWRpdG9ySWRdPVwiY2hlY2tMaXN0SXRlbS50ZXh0Q29udGFpbmVySWQhXCJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cInRpdGxlQ29udHJvbC52YWx1ZVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgIFtuZ0NvbXBvbmVudE91dGxldF09XCJjaGVja0xpc3RJdGVtQ29tcG9uZW50KClcIlxuICAgICAgICAgICAgICAgIFtuZ0NvbXBvbmVudE91dGxldElucHV0c109XCJ7XG4gICAgICAgICAgICAgICAgICAgIGNoZWNrTGlzdEl0ZW06IGNoZWNrTGlzdEl0ZW1cbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ChangeDetectionStrategy, inject, Renderer2, input, model, effect, Directive, InjectionToken, Input, HostBinding, ChangeDetectorRef, ElementRef, ViewChild, EventEmitter, Output, NgModule, Injector, Injectable, SkipSelf, Optional, DestroyRef, NgZone, signal, TemplateRef, ContentChildren, HostListener, Self, INJECTOR, forwardRef, ViewContainerRef, booleanAttribute, computed, Pipe, APP_INITIALIZER, viewChild, afterRender, output } from '@angular/core';
2
+ import { Component, ChangeDetectionStrategy, inject, Renderer2, input, model, effect, Directive, InjectionToken, Input, HostBinding, ChangeDetectorRef, ElementRef, ViewChild, EventEmitter, Output, NgModule, Injector, Injectable, SkipSelf, Optional, DestroyRef, NgZone, signal, TemplateRef, ContentChildren, HostListener, Self, INJECTOR, forwardRef, ViewContainerRef, booleanAttribute, computed, Pipe, APP_INITIALIZER, viewChild, afterRender, output, makeEnvironmentProviders } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule, DOCUMENT, NgForOf, NgIf, NgComponentOutlet, NgTemplateOutlet, NgFor, UpperCasePipe, NgClass } from '@angular/common';
5
5
  import * as i1$1 from '@cuby-ui/cdk';
@@ -8,6 +8,7 @@ import { DomSanitizer } from '@angular/platform-browser';
8
8
  import { cuiIsIcon, CUI_ICONS } from '@cuby-ui/icons';
9
9
  import { BehaviorSubject, takeUntil, Observable, merge, distinctUntilChanged, startWith, map, finalize, timer, Subject, switchMap, of, delay, repeat, filter, tap, takeWhile, fromEvent, debounce, skip, take, forkJoin, throttleTime, concatMap, toArray, catchError, throwError, pairwise, debounceTime } from 'rxjs';
10
10
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
11
+ import { OAuthService, provideOAuthClient, OAuthInfoEvent } from 'angular-oauth2-oidc';
11
12
  import { trigger, transition, query, animateChild, style, animate, stagger } from '@angular/animations';
12
13
  import * as i2 from '@taiga-ui/polymorpheus';
13
14
  import { PolymorpheusOutlet, PolymorpheusTemplate, PolymorpheusComponent, injectContext } from '@taiga-ui/polymorpheus';
@@ -858,6 +859,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
858
859
  }]
859
860
  }] });
860
861
 
862
+ class CuiAuthService extends OAuthService {
863
+ useCheckTokenFlow() {
864
+ const isTokenExist = this.hasValidAccessToken();
865
+ if (isTokenExist) {
866
+ return this.refreshTokenWithExpiredChecking();
867
+ }
868
+ return this.initCodeFlow();
869
+ }
870
+ checkIsTokenExpired() {
871
+ const expiredTime = this.getAccessTokenExpiration();
872
+ const currentTime = Date.now();
873
+ return currentTime >= expiredTime;
874
+ }
875
+ refreshTokenWithExpiredChecking() {
876
+ const isExpired = this.checkIsTokenExpired();
877
+ if (!isExpired) {
878
+ return;
879
+ }
880
+ this.refreshToken();
881
+ }
882
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CuiAuthService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
883
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CuiAuthService, providedIn: 'root' }); }
884
+ }
885
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CuiAuthService, decorators: [{
886
+ type: Injectable,
887
+ args: [{
888
+ providedIn: 'root'
889
+ }]
890
+ }] });
891
+
861
892
  class CuiBannerComponent {
862
893
  constructor() {
863
894
  this.options = inject(CUI_BANNER_OPTIONS);
@@ -2327,6 +2358,7 @@ class CuiContextMenuComponent {
2327
2358
  this.EXTRA_OFFSET_LEFT = 0;
2328
2359
  this.EXTRA_OFFSET_TOP = 0;
2329
2360
  this.isVisible = false;
2361
+ this.withPaddings = true;
2330
2362
  }
2331
2363
  ngOnInit() {
2332
2364
  this.initClickOutsideSubscription();
@@ -2425,7 +2457,7 @@ class CuiContextMenuComponent {
2425
2457
  this.viewContainerRef.clear();
2426
2458
  }
2427
2459
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CuiContextMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2428
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CuiContextMenuComponent, selector: "cui-context-menu[items][target]", inputs: { items: "items", target: "target", width: "width" }, host: { listeners: { "window:resize": "onClose()", "click": "onStopClickPropagation($event)" } }, providers: [CuiDestroyService], viewQueries: [{ propertyName: "list", first: true, predicate: ["list"], descendants: true }, { propertyName: "backdrop", first: true, predicate: ["backdrop"], descendants: true }], hostDirectives: [{ directive: i1$1.CuiClickOutsideDirective }, { directive: i1$1.CuiTargetDirective, inputs: ["ccTarget", "target"] }], ngImport: i0, template: "<ng-template #backdrop>\n <div class=\"c-backdrop\"></div>\n</ng-template>\n\n<ng-template #list>\n <div class=\"c-container\" [style.width]=\"width\">\n <ul class=\"c-ul\">\n <li\n *ngFor=\"let item of items; trackBy: trackByFn\"\n [style.color]=\"item.color\"\n >\n <button\n type=\"button\"\n class=\"c-button\"\n (click)=\"onSelect(item)\"\n >\n <cui-svg\n *ngIf=\"item.icon\"\n [icon]=\"item.icon\"\n [color]=\"item.color\"\n ></cui-svg>\n <span>{{ item.label }}</span>\n </button>\n </li>\n </ul>\n </div>\n</ng-template>\n", styles: [":host{display:none}.c-container{position:fixed;width:268px;border-radius:8px;z-index:1}.c-backdrop{position:fixed;inset:0}.c-ul{padding:7px 0;margin:0;list-style:none;font-weight:400;font-size:14px;line-height:20px;box-shadow:0 1px 4px #0000000a,0 1px 4px #0000000a;border:1px solid var(--cui-base-200);border-radius:inherit;width:100%;background:var(--cui-base-0);color:var(--cui-base-900);font-family:var(--cui-main-font)}.c-button{padding:8px 11px 8px 0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;padding:8px 11px;width:100%;display:flex;align-items:center;gap:12px}.c-button:active{background:var(--cui-base-50)}@media (hover: hover){.c-button:hover{background:var(--cui-base-50)}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2460
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CuiContextMenuComponent, selector: "cui-context-menu[items][target]", inputs: { items: "items", target: "target", width: "width", withPaddings: "withPaddings" }, host: { listeners: { "window:resize": "onClose()", "click": "onStopClickPropagation($event)" } }, providers: [CuiDestroyService], viewQueries: [{ propertyName: "list", first: true, predicate: ["list"], descendants: true }, { propertyName: "backdrop", first: true, predicate: ["backdrop"], descendants: true }], hostDirectives: [{ directive: i1$1.CuiClickOutsideDirective }, { directive: i1$1.CuiTargetDirective, inputs: ["ccTarget", "target"] }], ngImport: i0, template: "<ng-template #backdrop>\n <div class=\"c-backdrop\"></div>\n</ng-template>\n\n<ng-template #list>\n <div class=\"c-container\" [style.width]=\"width\">\n <ul class=\"c-ul\" [class.c-ul_with-padding]=\"withPaddings\">\n <li\n *ngFor=\"let item of items; trackBy: trackByFn\"\n [style.color]=\"item.color\"\n >\n <button\n type=\"button\"\n class=\"c-button\"\n (click)=\"onSelect(item)\"\n >\n <cui-svg\n *ngIf=\"item.icon\"\n [icon]=\"item.icon\"\n [color]=\"item.color\"\n ></cui-svg>\n <span>{{ item.label }}</span>\n </button>\n </li>\n </ul>\n </div>\n</ng-template>\n", styles: [":host{display:none}.c-container{position:fixed;width:268px;border-radius:8px;z-index:1}.c-backdrop{position:fixed;inset:0}.c-ul{padding:0;margin:0;list-style:none;font-weight:400;font-size:14px;line-height:20px;box-shadow:0 1px 4px #0000000a,0 1px 4px #0000000a;border:1px solid var(--cui-base-200);border-radius:inherit;width:100%;background:var(--cui-base-0);color:var(--cui-base-900);font-family:var(--cui-main-font)}.c-ul_with-padding{padding-top:7px;padding-bottom:7px}.c-button{padding:8px 11px 8px 0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;padding:8px 11px;width:100%;display:flex;align-items:center;gap:12px}.c-button:active{background:var(--cui-base-50)}@media (hover: hover){.c-button:hover{background:var(--cui-base-50)}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2429
2461
  }
2430
2462
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CuiContextMenuComponent, decorators: [{
2431
2463
  type: Component,
@@ -2435,13 +2467,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
2435
2467
  directive: CuiTargetDirective,
2436
2468
  inputs: ['ccTarget: target']
2437
2469
  }
2438
- ], template: "<ng-template #backdrop>\n <div class=\"c-backdrop\"></div>\n</ng-template>\n\n<ng-template #list>\n <div class=\"c-container\" [style.width]=\"width\">\n <ul class=\"c-ul\">\n <li\n *ngFor=\"let item of items; trackBy: trackByFn\"\n [style.color]=\"item.color\"\n >\n <button\n type=\"button\"\n class=\"c-button\"\n (click)=\"onSelect(item)\"\n >\n <cui-svg\n *ngIf=\"item.icon\"\n [icon]=\"item.icon\"\n [color]=\"item.color\"\n ></cui-svg>\n <span>{{ item.label }}</span>\n </button>\n </li>\n </ul>\n </div>\n</ng-template>\n", styles: [":host{display:none}.c-container{position:fixed;width:268px;border-radius:8px;z-index:1}.c-backdrop{position:fixed;inset:0}.c-ul{padding:7px 0;margin:0;list-style:none;font-weight:400;font-size:14px;line-height:20px;box-shadow:0 1px 4px #0000000a,0 1px 4px #0000000a;border:1px solid var(--cui-base-200);border-radius:inherit;width:100%;background:var(--cui-base-0);color:var(--cui-base-900);font-family:var(--cui-main-font)}.c-button{padding:8px 11px 8px 0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;padding:8px 11px;width:100%;display:flex;align-items:center;gap:12px}.c-button:active{background:var(--cui-base-50)}@media (hover: hover){.c-button:hover{background:var(--cui-base-50)}}\n"] }]
2470
+ ], template: "<ng-template #backdrop>\n <div class=\"c-backdrop\"></div>\n</ng-template>\n\n<ng-template #list>\n <div class=\"c-container\" [style.width]=\"width\">\n <ul class=\"c-ul\" [class.c-ul_with-padding]=\"withPaddings\">\n <li\n *ngFor=\"let item of items; trackBy: trackByFn\"\n [style.color]=\"item.color\"\n >\n <button\n type=\"button\"\n class=\"c-button\"\n (click)=\"onSelect(item)\"\n >\n <cui-svg\n *ngIf=\"item.icon\"\n [icon]=\"item.icon\"\n [color]=\"item.color\"\n ></cui-svg>\n <span>{{ item.label }}</span>\n </button>\n </li>\n </ul>\n </div>\n</ng-template>\n", styles: [":host{display:none}.c-container{position:fixed;width:268px;border-radius:8px;z-index:1}.c-backdrop{position:fixed;inset:0}.c-ul{padding:0;margin:0;list-style:none;font-weight:400;font-size:14px;line-height:20px;box-shadow:0 1px 4px #0000000a,0 1px 4px #0000000a;border:1px solid var(--cui-base-200);border-radius:inherit;width:100%;background:var(--cui-base-0);color:var(--cui-base-900);font-family:var(--cui-main-font)}.c-ul_with-padding{padding-top:7px;padding-bottom:7px}.c-button{padding:8px 11px 8px 0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;padding:8px 11px;width:100%;display:flex;align-items:center;gap:12px}.c-button:active{background:var(--cui-base-50)}@media (hover: hover){.c-button:hover{background:var(--cui-base-50)}}\n"] }]
2439
2471
  }], propDecorators: { items: [{
2440
2472
  type: Input
2441
2473
  }], target: [{
2442
2474
  type: Input
2443
2475
  }], width: [{
2444
2476
  type: Input
2477
+ }], withPaddings: [{
2478
+ type: Input
2445
2479
  }], list: [{
2446
2480
  type: ViewChild,
2447
2481
  args: ['list']
@@ -6960,7 +6994,7 @@ class CuiEditorComponent {
6960
6994
  .subscribe();
6961
6995
  this.page++;
6962
6996
  }
6963
- async onEditorChange(_, event) {
6997
+ onEditorChange(_, event) {
6964
6998
  if (this.isReadonly()) {
6965
6999
  return;
6966
7000
  }
@@ -7062,22 +7096,27 @@ class CuiEditorComponent {
7062
7096
  });
7063
7097
  }
7064
7098
  async startChanges(event) {
7065
- if (this.isSkip || this.isChanging || !this.editor) {
7099
+ if (this.isSkip || this.isChanging) {
7066
7100
  this.isSkip = false;
7067
7101
  return;
7068
7102
  }
7069
7103
  this.isChanging = true;
7070
- const editorOutput = await this.editor.save();
7071
- const events = event.filter((data) => data.detail.target.name !== COMBINED_TEXT_BLOCK_NAME);
7072
- const blocks = this.editorService.sortEventsByTypes(events);
7073
- const { addBlocks$, addedBlocks } = this.collectAddedBlocksRequest(blocks, editorOutput);
7074
- this.addedBlocks = [];
7075
- addBlocks$
7076
- .pipe(tap((blockIds) => this.setBlockIdsToMap(blockIds, addedBlocks)), concatMap(() => this.collectUpdatedBlocksRequest(blocks, editorOutput)), concatMap(() => this.collectRemovedBlocksRequest(blocks)))
7077
- .subscribe({
7078
- complete: () => this.startNextChange(),
7079
- error: () => this.startNextChange()
7080
- });
7104
+ try {
7105
+ const editorOutput = await this.editor.save();
7106
+ const events = event.filter((data) => data.detail.target.name !== COMBINED_TEXT_BLOCK_NAME);
7107
+ const blocks = this.editorService.sortEventsByTypes(events);
7108
+ const { addBlocks$, addedBlocks } = this.collectAddedBlocksRequest(blocks, editorOutput);
7109
+ this.addedBlocks = [];
7110
+ addBlocks$
7111
+ .pipe(tap((blockIds) => this.setBlockIdsToMap(blockIds, addedBlocks)), concatMap(() => this.collectUpdatedBlocksRequest(blocks, editorOutput)), concatMap(() => this.collectRemovedBlocksRequest(blocks)))
7112
+ .subscribe({
7113
+ complete: () => this.startNextChange(),
7114
+ error: () => this.startNextChange()
7115
+ });
7116
+ }
7117
+ catch (e) {
7118
+ return;
7119
+ }
7081
7120
  }
7082
7121
  startNextChange() {
7083
7122
  this.isChanging = false;
@@ -7470,6 +7509,19 @@ const cuiErrorHandlerInterceptor = (request, next) => {
7470
7509
  }));
7471
7510
  };
7472
7511
 
7512
+ const cuiAuthInterceptor = (request, next) => {
7513
+ const authService = inject(CuiAuthService);
7514
+ if (!authService.hasValidAccessToken()) {
7515
+ return next(request);
7516
+ }
7517
+ const modifiedRequest = request.clone({
7518
+ setHeaders: {
7519
+ Authorization: 'Bearer ' + authService.getAccessToken()
7520
+ }
7521
+ });
7522
+ return next(modifiedRequest);
7523
+ };
7524
+
7473
7525
  class CuiLoaderComponent {
7474
7526
  constructor() {
7475
7527
  this.loaderService = inject(CuiLoaderService);
@@ -8458,7 +8510,7 @@ class CuiChecklistBlockListItemContainerComponent {
8458
8510
  .subscribe((data) => data?.canceled || this.checkListBlockService.deleteCheckListItem(this.checkListItem().id));
8459
8511
  }
8460
8512
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CuiChecklistBlockListItemContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8461
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CuiChecklistBlockListItemContainerComponent, isStandalone: true, selector: "cui-checklist-block-list-item-container", inputs: { checkListBlockItem: { classPropertyName: "checkListBlockItem", publicName: "checkListBlockItem", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\n <ng-container *cuiLet=\"checkListItemWithOptions() as checkListItem\">\n <header\n class=\"header\"\n [style.border-left-color]=\"headerBorderColor()\"\n [class.header__opened]=\"isOpen()\"\n >\n <button\n class=\"icon-drag\"\n cuiButton\n cuiDragPointer\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n [icon]=\"'cuiIconDragHandleDots'\"\n (mouseenter)=\"onAllowDrag()\"\n (mouseleave)=\"onProhibitDrag()\"\n ></button>\n <button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n [style.transform]=\"rotate()\"\n icon=\"cuiIconCaretDownFillXxs\"\n (click)=\"onRowToggle()\"\n ></button>\n <cui-svg\n [icon]=\"iconChecklistType()\"\n color=\"var(--cui-base-500)\"\n />\n <div class=\"header__content\">\n <div class=\"header__numeration\">{{ index() }}.</div>\n <div class=\"header__text\">{{ headerText() }}</div>\n </div>\n @if (isTitleEmpty) {\n <cui-svg\n [cuiTooltip]=\"t('TITLE_IS_REQUIRED')\"\n icon=\"cuiIconAlertTriangle\"\n color=\"var(--cui-danger)\"\n class=\"icon\"\n />\n }\n <button\n #actionButton=\"elementRef\"\n cuiButton\n type=\"button\"\n cuiElement\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconMoreVertical\"\n class=\"list__context-menu-button\"\n ></button>\n <cui-context-menu\n [items]=\"checkListItem.options\"\n [target]=\"actionButton.nativeElement\"\n />\n </header>\n @if (isOpen()) {\n <div class=\"info\">\n <cui-checklist-block-title-control [control]=\"titleControl\" />\n <cui-editor-block\n [config]=\"config()\"\n [editorId]=\"checkListItem.textContainerId!\"\n [title]=\"titleControl.value\"\n />\n </div>\n <ng-container\n [ngComponentOutlet]=\"checkListItemComponent()\"\n [ngComponentOutletInputs]=\"{\n checkListItem: checkListItem\n }\"\n />\n }\n </ng-container>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;gap:16px;border-radius:inherit;background-color:var(--cui-base-0)}.header{padding-right:7px;padding-left:7px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:4px;background:var(--cui-base-0);border-radius:inherit;border-left:6px solid var(--cui-yellow-bg)}.header__content{display:flex;flex-direction:row;align-items:center;gap:8px;flex:1}.header__numeration{font-weight:600;font-size:13px;line-height:16px;padding-right:8px;padding-left:8px;display:flex;justify-content:center;align-items:center}.header__text{font-weight:500;font-size:14px;line-height:20px;padding-top:11px;padding-bottom:11px;flex:1;width:0;overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}.header__opened{background:var(--cui-badge-info-bg);border-bottom:.5px solid var(--cui-base-200);border-bottom-left-radius:0;border-bottom-right-radius:0}.header:hover{background:var(--cui-base-10)}.info{padding-right:15px;padding-left:15px;display:flex;flex-direction:column;gap:16px}.icon{padding:6px;width:max-content}\n"], dependencies: [{ kind: "directive", type: CuiTooltipDirective, selector: "[cuiTooltip]:not(ng-container):not(ng-template)", inputs: ["cuiTooltipContext", "cuiTooltipAppearance", "cuiTooltip"] }, { kind: "component", type: CuiEditorBlockComponent, selector: "cui-editor-block", inputs: ["title", "editorId", "config", "required"], outputs: ["editorEmpty"] }, { kind: "component", type: CuiChecklistBlockTitleControlComponent, selector: "cui-checklist-block-title-control", inputs: ["control"] }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "size"] }, { kind: "ngmodule", type: CuiContextMenuModule }, { kind: "component", type: CuiContextMenuComponent, selector: "cui-context-menu[items][target]", inputs: ["items", "target", "width"] }, { kind: "directive", type: CuiElementDirective, selector: "[cuiElement]", exportAs: ["elementRef"] }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "directive", type: CuiLetDirective, selector: "[cuiLet]", inputs: ["cuiLet"] }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "directive", type: CuiDragPointerDirective, selector: "[cuiDragPointer]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8513
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CuiChecklistBlockListItemContainerComponent, isStandalone: true, selector: "cui-checklist-block-list-item-container", inputs: { checkListBlockItem: { classPropertyName: "checkListBlockItem", publicName: "checkListBlockItem", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\n <ng-container *cuiLet=\"checkListItemWithOptions() as checkListItem\">\n <header\n class=\"header\"\n [style.border-left-color]=\"headerBorderColor()\"\n [class.header__opened]=\"isOpen()\"\n >\n <button\n class=\"icon-drag\"\n cuiButton\n cuiDragPointer\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n [icon]=\"'cuiIconDragHandleDots'\"\n (mouseenter)=\"onAllowDrag()\"\n (mouseleave)=\"onProhibitDrag()\"\n ></button>\n <button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n [style.transform]=\"rotate()\"\n icon=\"cuiIconCaretDownFillXxs\"\n (click)=\"onRowToggle()\"\n ></button>\n <cui-svg\n [icon]=\"iconChecklistType()\"\n color=\"var(--cui-base-500)\"\n />\n <div class=\"header__content\">\n <div class=\"header__numeration\">{{ index() }}.</div>\n <div class=\"header__text\">{{ headerText() }}</div>\n </div>\n @if (isTitleEmpty) {\n <cui-svg\n [cuiTooltip]=\"t('TITLE_IS_REQUIRED')\"\n icon=\"cuiIconAlertTriangle\"\n color=\"var(--cui-danger)\"\n class=\"icon\"\n />\n }\n <button\n #actionButton=\"elementRef\"\n cuiButton\n type=\"button\"\n cuiElement\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconMoreVertical\"\n class=\"list__context-menu-button\"\n ></button>\n <cui-context-menu\n [items]=\"checkListItem.options\"\n [target]=\"actionButton.nativeElement\"\n />\n </header>\n @if (isOpen()) {\n <div class=\"info\">\n <cui-checklist-block-title-control [control]=\"titleControl\" />\n <cui-editor-block\n [config]=\"config()\"\n [editorId]=\"checkListItem.textContainerId!\"\n [title]=\"titleControl.value\"\n />\n </div>\n <ng-container\n [ngComponentOutlet]=\"checkListItemComponent()\"\n [ngComponentOutletInputs]=\"{\n checkListItem: checkListItem\n }\"\n />\n }\n </ng-container>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;gap:16px;border-radius:inherit;background-color:var(--cui-base-0)}.header{padding-right:7px;padding-left:7px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:4px;background:var(--cui-base-0);border-radius:inherit;border-left:6px solid var(--cui-yellow-bg)}.header__content{display:flex;flex-direction:row;align-items:center;gap:8px;flex:1}.header__numeration{font-weight:600;font-size:13px;line-height:16px;padding-right:8px;padding-left:8px;display:flex;justify-content:center;align-items:center}.header__text{font-weight:500;font-size:14px;line-height:20px;padding-top:11px;padding-bottom:11px;flex:1;width:0;overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}.header__opened{background:var(--cui-badge-info-bg);border-bottom:.5px solid var(--cui-base-200);border-bottom-left-radius:0;border-bottom-right-radius:0}.header:hover{background:var(--cui-base-10)}.info{padding-right:15px;padding-left:15px;display:flex;flex-direction:column;gap:16px}.icon{padding:6px;width:max-content}\n"], dependencies: [{ kind: "directive", type: CuiTooltipDirective, selector: "[cuiTooltip]:not(ng-container):not(ng-template)", inputs: ["cuiTooltipContext", "cuiTooltipAppearance", "cuiTooltip"] }, { kind: "component", type: CuiEditorBlockComponent, selector: "cui-editor-block", inputs: ["title", "editorId", "config", "required"], outputs: ["editorEmpty"] }, { kind: "component", type: CuiChecklistBlockTitleControlComponent, selector: "cui-checklist-block-title-control", inputs: ["control"] }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "size"] }, { kind: "ngmodule", type: CuiContextMenuModule }, { kind: "component", type: CuiContextMenuComponent, selector: "cui-context-menu[items][target]", inputs: ["items", "target", "width", "withPaddings"] }, { kind: "directive", type: CuiElementDirective, selector: "[cuiElement]", exportAs: ["elementRef"] }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "directive", type: CuiLetDirective, selector: "[cuiLet]", inputs: ["cuiLet"] }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "directive", type: CuiDragPointerDirective, selector: "[cuiDragPointer]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8462
8514
  }
8463
8515
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CuiChecklistBlockListItemContainerComponent, decorators: [{
8464
8516
  type: Component,
@@ -8962,7 +9014,7 @@ class CuiChecklistBlockComponent {
8962
9014
  .subscribe((checkListItem) => this.checkListBlockService.addCheckListItem(checkListItem));
8963
9015
  }
8964
9016
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CuiChecklistBlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8965
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CuiChecklistBlockComponent, isStandalone: true, selector: "cui-checklist-block, [cuiCheckListBlock]", inputs: { componentId: { classPropertyName: "componentId", publicName: "componentId", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, providers: [CuiCheckListBlockService], ngImport: i0, template: "<cui-content-wrapper\n *transloco=\"let t\"\n backgroundColor=\"var(--cui-base-10)\"\n [gap]=\"16\"\n>\n <ng-container *cuiLet=\"checkListItems() as checkListItems\">\n <header class=\"header\">\n <h2 class=\"heading\">{{ t('CHECKLIST') }}</h2>\n\n @if (checkListItems) {\n <span class=\"item\">{{ checkListItems?.length }} {{ t('ITEM_VARIANT') }}</span>\n }\n </header>\n <cui-content-wrapper>\n <cui-checklist-block-list [config]=\"config()\" />\n </cui-content-wrapper>\n <div>\n <button\n #actionButton=\"elementRef\"\n cuiElement\n cuiButton\n type=\"button\"\n appearance=\"flat\"\n size=\"xxs\"\n icon=\"cuiIconPlus\"\n >\n {{ t('ADD_NEW_ITEM') }}\n </button>\n <cui-context-menu\n [items]=\"CHECKLIST_BLOCK_SELECT_OPTIONS\"\n [target]=\"actionButton.nativeElement\"\n />\n </div>\n </ng-container>\n</cui-content-wrapper>\n", styles: [".header{display:flex;gap:12px;align-items:center;justify-content:space-between}.heading{font-weight:500;font-size:16px;line-height:24px}.item{font-weight:400;font-size:12px;line-height:14px;color:var(--cui-base-500)}\n"], dependencies: [{ kind: "component", type: CuiChecklistBlockListComponent, selector: "cui-checklist-block-list", inputs: ["config"] }, { kind: "component", type: CuiContentWrapperComponent, selector: "cui-content-wrapper, [cuiContentWrapper]", inputs: ["backgroundColor", "gap"] }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "size"] }, { kind: "ngmodule", type: CuiContextMenuModule }, { kind: "component", type: CuiContextMenuComponent, selector: "cui-context-menu[items][target]", inputs: ["items", "target", "width"] }, { kind: "directive", type: CuiElementDirective, selector: "[cuiElement]", exportAs: ["elementRef"] }, { kind: "directive", type: CuiLetDirective, selector: "[cuiLet]", inputs: ["cuiLet"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9017
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CuiChecklistBlockComponent, isStandalone: true, selector: "cui-checklist-block, [cuiCheckListBlock]", inputs: { componentId: { classPropertyName: "componentId", publicName: "componentId", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, providers: [CuiCheckListBlockService], ngImport: i0, template: "<cui-content-wrapper\n *transloco=\"let t\"\n backgroundColor=\"var(--cui-base-10)\"\n [gap]=\"16\"\n>\n <ng-container *cuiLet=\"checkListItems() as checkListItems\">\n <header class=\"header\">\n <h2 class=\"heading\">{{ t('CHECKLIST') }}</h2>\n\n @if (checkListItems) {\n <span class=\"item\">{{ checkListItems?.length }} {{ t('ITEM_VARIANT') }}</span>\n }\n </header>\n <cui-content-wrapper>\n <cui-checklist-block-list [config]=\"config()\" />\n </cui-content-wrapper>\n <div>\n <button\n #actionButton=\"elementRef\"\n cuiElement\n cuiButton\n type=\"button\"\n appearance=\"flat\"\n size=\"xxs\"\n icon=\"cuiIconPlus\"\n >\n {{ t('ADD_NEW_ITEM') }}\n </button>\n <cui-context-menu\n [items]=\"CHECKLIST_BLOCK_SELECT_OPTIONS\"\n [target]=\"actionButton.nativeElement\"\n />\n </div>\n </ng-container>\n</cui-content-wrapper>\n", styles: [".header{display:flex;gap:12px;align-items:center;justify-content:space-between}.heading{font-weight:500;font-size:16px;line-height:24px}.item{font-weight:400;font-size:12px;line-height:14px;color:var(--cui-base-500)}\n"], dependencies: [{ kind: "component", type: CuiChecklistBlockListComponent, selector: "cui-checklist-block-list", inputs: ["config"] }, { kind: "component", type: CuiContentWrapperComponent, selector: "cui-content-wrapper, [cuiContentWrapper]", inputs: ["backgroundColor", "gap"] }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "size"] }, { kind: "ngmodule", type: CuiContextMenuModule }, { kind: "component", type: CuiContextMenuComponent, selector: "cui-context-menu[items][target]", inputs: ["items", "target", "width", "withPaddings"] }, { kind: "directive", type: CuiElementDirective, selector: "[cuiElement]", exportAs: ["elementRef"] }, { kind: "directive", type: CuiLetDirective, selector: "[cuiLet]", inputs: ["cuiLet"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8966
9018
  }
8967
9019
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CuiChecklistBlockComponent, decorators: [{
8968
9020
  type: Component,
@@ -8977,9 +9029,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
8977
9029
  ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, providers: [CuiCheckListBlockService], template: "<cui-content-wrapper\n *transloco=\"let t\"\n backgroundColor=\"var(--cui-base-10)\"\n [gap]=\"16\"\n>\n <ng-container *cuiLet=\"checkListItems() as checkListItems\">\n <header class=\"header\">\n <h2 class=\"heading\">{{ t('CHECKLIST') }}</h2>\n\n @if (checkListItems) {\n <span class=\"item\">{{ checkListItems?.length }} {{ t('ITEM_VARIANT') }}</span>\n }\n </header>\n <cui-content-wrapper>\n <cui-checklist-block-list [config]=\"config()\" />\n </cui-content-wrapper>\n <div>\n <button\n #actionButton=\"elementRef\"\n cuiElement\n cuiButton\n type=\"button\"\n appearance=\"flat\"\n size=\"xxs\"\n icon=\"cuiIconPlus\"\n >\n {{ t('ADD_NEW_ITEM') }}\n </button>\n <cui-context-menu\n [items]=\"CHECKLIST_BLOCK_SELECT_OPTIONS\"\n [target]=\"actionButton.nativeElement\"\n />\n </div>\n </ng-container>\n</cui-content-wrapper>\n", styles: [".header{display:flex;gap:12px;align-items:center;justify-content:space-between}.heading{font-weight:500;font-size:16px;line-height:24px}.item{font-weight:400;font-size:12px;line-height:14px;color:var(--cui-base-500)}\n"] }]
8978
9030
  }], ctorParameters: () => [] });
8979
9031
 
9032
+ function provideCuiAuth({ authConfig, moduleConfig }) {
9033
+ return [
9034
+ provideOAuthClient(moduleConfig),
9035
+ makeEnvironmentProviders([
9036
+ {
9037
+ provide: APP_INITIALIZER,
9038
+ useValue: () => configureAuth(authConfig),
9039
+ multi: true
9040
+ }
9041
+ ])
9042
+ ];
9043
+ }
9044
+ function configureAuth(authConfig) {
9045
+ const authService = inject(CuiAuthService);
9046
+ authService.setStorage(localStorage);
9047
+ authService.configure(authConfig);
9048
+ authService.loadDiscoveryDocumentAndTryLogin().then(() => {
9049
+ initAuthEvents();
9050
+ authService.useCheckTokenFlow();
9051
+ });
9052
+ function initAuthEvents() {
9053
+ authService.events.pipe(filter((event) => event instanceof OAuthInfoEvent)).subscribe((event) => {
9054
+ if (event.type !== 'token_expires' || event.info !== 'access_token') {
9055
+ return;
9056
+ }
9057
+ if (!authService.hasValidAccessToken()) {
9058
+ return authService.initCodeFlow();
9059
+ }
9060
+ authService.refreshToken();
9061
+ });
9062
+ }
9063
+ }
9064
+
8980
9065
  /**
8981
9066
  * Generated bundle index. Do not edit.
8982
9067
  */
8983
9068
 
8984
- export { AngularOutsideLoaderService, CUI_ALERTS, CUI_ALERT_CONTEXT, CUI_ALERT_DEFAULT_OPTIONS, CUI_ALERT_OPTIONS, CUI_ANIMATIONS_DEFAULT_DURATION, CUI_BANNER_DEFAULT_OPTIONS, CUI_BANNER_OPTIONS, CUI_BUTTON_DEFAULT_OPTIONS, CUI_BUTTON_OPTIONS, CUI_DEFAULT_THEME, CUI_DIALOGS, CUI_DIALOG_CONTEXT, CUI_DIALOG_DEFAULT_OPTIONS, CUI_DIALOG_OPTIONS, 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_ROOT_SELECTOR, CUI_TAB_ACTIVATE, 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, CuiAccordionComponent, CuiAccordionDirective, CuiAccordionItemComponent, CuiAccordionModule, CuiAlertComponent, CuiAlertModule, CuiAlertService, CuiAlertsComponent, CuiAttachesTool, CuiBadgeComponent, CuiBadgeModule, CuiBannerComponent, CuiBannerModule, CuiBreadcrumbComponent, CuiBreadcrumbsComponent, CuiBreadcrumbsModule, CuiButtonComponent, CuiButtonGroupComponent, CuiButtonGroupModule, CuiButtonModule, CuiCardWrapperComponent, CuiCategoriesComponent, CuiCheckboxComponent, CuiCheckboxModule, CuiChecklistBlockComponent, CuiContentWrapperComponent, CuiContextMenuComponent, CuiContextMenuModule, CuiDeleteModalComponent, CuiDialogActionsComponent, CuiDialogComponent, CuiDialogHeaderComponent, CuiDialogModule, CuiDialogService, CuiDialogsComponent, CuiDropdownDirective, CuiDropdownWrapperComponent, CuiEditorBlockComponent, CuiEditorComponent, CuiEditorModalComponent, CuiEditorReadonlyComponent, CuiEditorTranslations, CuiEmptyStateComponent, CuiFileUploaderStatus, CuiFormFieldComponent, CuiFormFieldModule, CuiGeneralControlErrorHintComponent, CuiGhostInputComponent, CuiHeaderTool, CuiHintComponent, CuiHintModule, CuiIconButtonComponent, CuiIconButtonModule, CuiImageTool, CuiInputModule, CuiInputNumberComponent, CuiInputNumberModule, CuiInputPasswordComponent, CuiInputPasswordModule, CuiInputTextComponent, CuiInputTimeComponent, CuiInputTimeModule, CuiLabelComponent, CuiLabelModule, CuiLayoutComponent, CuiLetterBoxComponent, CuiLinkMarker, CuiListTool, CuiLoaderComponent, CuiLoaderService, CuiLoadingState, CuiNotificationComponent, CuiNotificationModule, CuiPositionService, CuiRadioComponent, CuiRadioModule, CuiRenderDynamicComponentsComponent, CuiRenderDynamicComponentsService, CuiRoleMarker, CuiRootComponent, CuiRootModule, CuiSelectComponent, CuiSelectModule, CuiSelectedCategoryService, CuiSidebarContainerComponent, CuiSidebarHeaderComponent, CuiSidebarNavigationComponent, CuiSidebarNavigationContainerComponent, CuiSidebarNavigationItemComponent, CuiSidebarService, CuiSvgComponent, CuiSvgModule, CuiTabComponent, CuiTabsComponent, CuiTabsModule, CuiTextFieldController, CuiTextFieldControllerModule, CuiTextFieldIconLeftDirective, CuiTextFieldIdDirective, CuiTextFieldIsErrorDirective, CuiTextFieldPlaceholderDirective, CuiTextFieldSizeDirective, CuiTextareaComponent, CuiTextareaModule, CuiThemeService, CuiToggleComponent, CuiToggleModule, CuiToolMarker, CuiTooltip, CuiTooltipComponent, CuiTooltipDescribe, CuiTooltipDirective, CuiTooltipDriver, CuiTooltipHost, CuiTooltipHover, CuiTooltipManual, CuiTooltipOptionsDirective, CuiTooltipOverflow, CuiTooltipPointer, CuiTooltipPosition, CuiTooltipService, CuiTooltipUnstyled, CuiTooltipUnstyledComponent, CuiTooltips, CuiUtilityInfoComponent, CuiVideoTool, CuiVisualViewportService, cuiCreateDefaultValidators, cuiErrorHandlerInterceptor, cuiGetDuration, cuiIsObscured, cuiLoaderInterceptor, cuiOverrideOptions, cuiProvideEditor, cuiRemoveSpaces, cuiReplace, cuiToAnimationOptions, cuiTooltipOptionsProvider, cuiXNdjsonInterceptor };
9069
+ export { AngularOutsideLoaderService, CUI_ALERTS, CUI_ALERT_CONTEXT, CUI_ALERT_DEFAULT_OPTIONS, CUI_ALERT_OPTIONS, CUI_ANIMATIONS_DEFAULT_DURATION, CUI_BANNER_DEFAULT_OPTIONS, CUI_BANNER_OPTIONS, CUI_BUTTON_DEFAULT_OPTIONS, CUI_BUTTON_OPTIONS, CUI_DEFAULT_THEME, CUI_DIALOGS, CUI_DIALOG_CONTEXT, CUI_DIALOG_DEFAULT_OPTIONS, CUI_DIALOG_OPTIONS, 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_ROOT_SELECTOR, CUI_TAB_ACTIVATE, 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, CuiAccordionComponent, CuiAccordionDirective, CuiAccordionItemComponent, CuiAccordionModule, CuiAlertComponent, CuiAlertModule, CuiAlertService, CuiAlertsComponent, CuiAttachesTool, CuiAuthService, CuiBadgeComponent, CuiBadgeModule, CuiBannerComponent, CuiBannerModule, CuiBreadcrumbComponent, CuiBreadcrumbsComponent, CuiBreadcrumbsModule, CuiButtonComponent, CuiButtonGroupComponent, CuiButtonGroupModule, CuiButtonModule, CuiCardWrapperComponent, CuiCategoriesComponent, CuiCheckboxComponent, CuiCheckboxModule, CuiChecklistBlockComponent, CuiContentWrapperComponent, CuiContextMenuComponent, CuiContextMenuModule, CuiDeleteModalComponent, CuiDialogActionsComponent, CuiDialogComponent, CuiDialogHeaderComponent, CuiDialogModule, CuiDialogService, CuiDialogsComponent, CuiDropdownDirective, CuiDropdownWrapperComponent, CuiEditorBlockComponent, CuiEditorComponent, CuiEditorModalComponent, CuiEditorReadonlyComponent, CuiEditorTranslations, CuiEmptyStateComponent, CuiFileUploaderStatus, CuiFormFieldComponent, CuiFormFieldModule, CuiGeneralControlErrorHintComponent, CuiGhostInputComponent, CuiHeaderTool, CuiHintComponent, CuiHintModule, CuiIconButtonComponent, CuiIconButtonModule, CuiImageTool, CuiInputModule, CuiInputNumberComponent, CuiInputNumberModule, CuiInputPasswordComponent, CuiInputPasswordModule, CuiInputTextComponent, CuiInputTimeComponent, CuiInputTimeModule, CuiLabelComponent, CuiLabelModule, CuiLayoutComponent, CuiLetterBoxComponent, CuiLinkMarker, CuiListTool, CuiLoaderComponent, CuiLoaderService, CuiLoadingState, CuiNotificationComponent, CuiNotificationModule, CuiPositionService, CuiRadioComponent, CuiRadioModule, CuiRenderDynamicComponentsComponent, CuiRenderDynamicComponentsService, CuiRoleMarker, CuiRootComponent, CuiRootModule, CuiSelectComponent, CuiSelectModule, CuiSelectedCategoryService, CuiSidebarContainerComponent, CuiSidebarHeaderComponent, CuiSidebarNavigationComponent, CuiSidebarNavigationContainerComponent, CuiSidebarNavigationItemComponent, CuiSidebarService, CuiSvgComponent, CuiSvgModule, CuiTabComponent, CuiTabsComponent, CuiTabsModule, CuiTextFieldController, CuiTextFieldControllerModule, CuiTextFieldIconLeftDirective, CuiTextFieldIdDirective, CuiTextFieldIsErrorDirective, CuiTextFieldPlaceholderDirective, CuiTextFieldSizeDirective, CuiTextareaComponent, CuiTextareaModule, CuiThemeService, CuiToggleComponent, CuiToggleModule, CuiToolMarker, CuiTooltip, CuiTooltipComponent, CuiTooltipDescribe, CuiTooltipDirective, CuiTooltipDriver, CuiTooltipHost, CuiTooltipHover, CuiTooltipManual, CuiTooltipOptionsDirective, CuiTooltipOverflow, CuiTooltipPointer, CuiTooltipPosition, CuiTooltipService, CuiTooltipUnstyled, CuiTooltipUnstyledComponent, CuiTooltips, CuiUtilityInfoComponent, CuiVideoTool, CuiVisualViewportService, cuiAuthInterceptor, cuiCreateDefaultValidators, cuiErrorHandlerInterceptor, cuiGetDuration, cuiIsObscured, cuiLoaderInterceptor, cuiOverrideOptions, cuiProvideEditor, cuiRemoveSpaces, cuiReplace, cuiToAnimationOptions, cuiTooltipOptionsProvider, cuiXNdjsonInterceptor, provideCuiAuth };
8985
9070
  //# sourceMappingURL=cuby-ui-core.mjs.map