@cuby-ui/core 0.0.573 → 0.0.574

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/esm2022/widgets/ui/categories/categories.component.mjs +2 -1
  2. package/esm2022/widgets/ui/categories/services/selected-category.service.mjs +2 -1
  3. package/esm2022/widgets/ui/categories-tree/categories-tree.component.mjs +81 -0
  4. package/esm2022/widgets/ui/categories-tree/components/categories-tree-list/categories-tree-list.component.mjs +17 -0
  5. package/esm2022/widgets/ui/categories-tree/components/categories-tree-list/index.mjs +2 -0
  6. package/esm2022/widgets/ui/categories-tree/components/category-tree-form/category-tree-form.component.mjs +79 -0
  7. package/esm2022/widgets/ui/categories-tree/components/category-tree-form/index.mjs +2 -0
  8. package/esm2022/widgets/ui/categories-tree/components/category-tree-item/category-tree-item.component.mjs +149 -0
  9. package/esm2022/widgets/ui/categories-tree/components/category-tree-item/index.mjs +2 -0
  10. package/esm2022/widgets/ui/categories-tree/components/create-category-tree-item/create-category-tree-item.component.mjs +25 -0
  11. package/esm2022/widgets/ui/categories-tree/components/create-category-tree-item/index.mjs +2 -0
  12. package/esm2022/widgets/ui/categories-tree/components/index.mjs +5 -0
  13. package/esm2022/widgets/ui/categories-tree/index.mjs +5 -0
  14. package/esm2022/widgets/ui/categories-tree/models/categories-tree-data-source.token.mjs +3 -0
  15. package/esm2022/widgets/ui/categories-tree/models/index.mjs +2 -0
  16. package/esm2022/widgets/ui/categories-tree/services/category-tree-state.service.mjs +44 -0
  17. package/esm2022/widgets/ui/categories-tree/services/index.mjs +2 -0
  18. package/esm2022/widgets/ui/index.mjs +2 -1
  19. package/fesm2022/cuby-ui-core.mjs +374 -19
  20. package/fesm2022/cuby-ui-core.mjs.map +1 -1
  21. package/package.json +4 -4
  22. package/widgets/ui/categories-tree/categories-tree.component.d.ts +24 -0
  23. package/widgets/ui/categories-tree/components/categories-tree-list/categories-tree-list.component.d.ts +8 -0
  24. package/widgets/ui/categories-tree/components/categories-tree-list/index.d.ts +1 -0
  25. package/widgets/ui/categories-tree/components/category-tree-form/category-tree-form.component.d.ts +28 -0
  26. package/widgets/ui/categories-tree/components/category-tree-form/index.d.ts +1 -0
  27. package/widgets/ui/categories-tree/components/category-tree-item/category-tree-item.component.d.ts +47 -0
  28. package/widgets/ui/categories-tree/components/category-tree-item/index.d.ts +1 -0
  29. package/widgets/ui/categories-tree/components/create-category-tree-item/create-category-tree-item.component.d.ts +10 -0
  30. package/widgets/ui/categories-tree/components/create-category-tree-item/index.d.ts +1 -0
  31. package/widgets/ui/categories-tree/components/index.d.ts +4 -0
  32. package/widgets/ui/categories-tree/index.d.ts +5 -0
  33. package/widgets/ui/categories-tree/models/categories-tree-data-source.token.d.ts +12 -0
  34. package/widgets/ui/categories-tree/models/index.d.ts +2 -0
  35. package/widgets/ui/categories-tree/services/category-tree-state.service.d.ts +21 -0
  36. package/widgets/ui/categories-tree/services/index.d.ts +1 -0
  37. package/widgets/ui/index.d.ts +2 -0
@@ -8,6 +8,7 @@ import { CuiEmptyStateComponent, CuiButtonModule, CuiDropdownDirective, CuiDropd
8
8
  import { CuiSelectedCategoryService } from './services';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "../../../components/button/button.component";
11
+ /** @deprecated Use `CuiCategoriesTreeComponent` (`cui-categories-tree`) with `CUI_CATEGORIES_TREE_DATA_SOURCE_SERVICE_TOKEN`. */
11
12
  export class CuiCategoriesComponent {
12
13
  constructor() {
13
14
  this.treeStructNavigatorApiService = inject(CuiTreeStructNavigatorApiService);
@@ -75,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
75
76
  TranslocoDirective
76
77
  ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n [attr.id]=\"buttonId()\"\n #dropdown=\"cuiDropdown\"\n [cuiDropdown]=\"dropdownContent\"\n orientation=\"stretch\"\n type=\"button\"\n class=\"target\"\n [disabled]=\"disabled()\"\n (click)=\"onOpenStageStorages()\"\n>\n <ng-content />\n</button>\n\n<ng-template #dropdownContent>\n <cui-dropdown-wrapper\n *transloco=\"let t\"\n [title]=\"t('SELECT_OR_CREATE_CATEGORY')\"\n width=\"100%\"\n class=\"dropdown-wrapper\"\n >\n <ng-container *cuiLet=\"stageStorages() as stageStorages\">\n @if (stageStorages && stageStorages?.length) {\n <cui-categories-list\n [stageStorages]=\"stageStorages\"\n [context]=\"context()\"\n />\n }\n @if (isCreateCategoryControlVisible()) {\n <cui-create-category-item\n class=\"create-category\"\n [isDisabled]=\"isCategoryCreationLoading()\"\n (created)=\"onCreateNewCategory($event)\"\n (canceled)=\"onCreatingCategoryCanceled()\"\n />\n } @else if (!stageStorages?.length) {\n <cui-empty-state\n class=\"empty\"\n [subtitle]=\"t('NO_CATEGORY_TO_VIEW_YET')\"\n />\n }\n </ng-container>\n <button\n ccDropdownFooterContent\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconPlus\"\n (click)=\"onStartCreatingNewCategory()\"\n >\n {{ t('NEW_CATEGORY') }}\n </button>\n </cui-dropdown-wrapper>\n</ng-template>\n", styles: ["::ng-deep .dropdown-wrapper .scrollable-content{flex:1;display:flex;flex-direction:column}.target{display:block;padding:0;width:100%;border-radius:8px;border:1px solid transparent}.target:focus{box-shadow:0 0 0 2px var(--cui-focus);border:1px solid var(--cui-info)}.target:disabled{cursor:default}.create-category{margin-left:24px}.empty{margin:auto}.dropdown-wrapper{display:block;height:350px}\n"] }]
77
78
  }], ctorParameters: () => [] });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcmllcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvY2F0ZWdvcmllcy9jYXRlZ29yaWVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9jYXRlZ29yaWVzL2NhdGVnb3JpZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoQyxPQUFPLEVBQWlCLGdDQUFnQyxFQUE4QixNQUFNLGNBQWMsQ0FBQztBQUUzRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUYsT0FBTyxFQUNILHNCQUFzQixFQUN0QixlQUFlLEVBQ2Ysb0JBQW9CLEVBQ3BCLDJCQUEyQixFQUM5QixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLFlBQVksQ0FBQzs7O0FBbUJ4RCxNQUFNLE9BQU8sc0JBQXNCO0lBb0IvQjtRQW5CaUIsa0NBQTZCLEdBQUcsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFDekUsNEJBQXVCLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFFM0Qsa0JBQWEsR0FBRyxNQUFNLENBQTRCLElBQUksQ0FBQyxD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LENBQUMsZUFBZSxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVPLHdCQUF3QjtRQUM1QixNQUFNLENBQ0YsR0FBRyxFQUFFO1lBQ0QsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM1QixDQUFDLEVBQ0QsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FDOUIsQ0FBQztJQUNOLENBQUM7K0dBckVRLHNCQUFzQjttR0FBdEIsc0JBQXNCLDh0QkM1Q25DLDB1REFzREEsc2NEeEJRLGVBQWUsb09BQ2YsZUFBZSx5RUFDZixvQkFBb0Isb0pBQ3BCLDJCQUEyQiwwR0FDM0Isc0JBQXNCLDRHQUN0Qiw4QkFBOEIsK0hBQzlCLDBCQUEwQixzR0FDMUIsa0JBQWtCOzs0RkFPYixzQkFBc0I7a0JBakJsQyxTQUFTOytCQUNJLGdCQUFnQixXQUNqQjt3QkFDTCxlQUFlO3dCQUNmLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQiwyQkFBMkI7d0JBQzNCLHNCQUFzQjt3QkFDdEIsOEJBQThCO3dCQUM5QiwwQkFBMEI7d0JBQzFCLGtCQUFrQjtxQkFDckIsY0FDVyxJQUFJLG1CQUdDLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIGVmZmVjdCxcbiAgICBpbmplY3QsXG4gICAgaW5wdXQsXG4gICAgc2lnbmFsLFxuICAgIHZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgQ3VpTnVsbGFibGUgfSBmcm9tICdAY3VieS11aS9jZGsnO1xuaW1wb3J0IHsgQ3VpTGV0RGlyZWN0aXZlIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcbmltcG9ydCB7IFRyYW5zbG9jb0RpcmVjdGl2ZSB9IGZyb20gJ0Bqc3ZlcnNlL3RyYW5zbG9jbyc7XG5pbXBvcnQgeyBmaW5hbGl6ZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDdWlBcGlDb250ZXh0LCBDdWlUcmVlU3RydWN0TmF2aWdhdG9yQXBpU2VydmljZSwgVHJlZVN0cnVjdCwgVHJlZVN0cnVjdFR5cGUgfSBmcm9tICdAY3VieS11aS9hcGknO1xuXG5pbXBvcnQgeyBDdWlDYXRlZ29yaWVzTGlzdENvbXBvbmVudCwgQ3VpQ3JlYXRlQ2F0ZWdvcnlJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzJztcbmltcG9ydCB7XG4gICAgQ3VpRW1wdHlTdGF0ZUNvbXBvbmVudCxcbiAgICBDdWlCdXR0b25Nb2R1bGUsXG4gICAgQ3VpRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgQ3VpRHJvcGRvd25XcmFwcGVyQ29tcG9uZW50XG59IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQ3VpU2VsZWN0ZWRDYXRlZ29yeVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjdWktY2F0ZWdvcmllcycsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDdWlCdXR0b25Nb2R1bGUsXG4gICAgICAgIEN1aUxldERpcmVjdGl2ZSxcbiAgICAgICAgQ3VpRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgICAgIEN1aURyb3Bkb3duV3JhcHBlckNvbXBvbmVudCxcbiAgICAgICAgQ3VpRW1wdHlTdGF0ZUNvbXBvbmVudCxcbiAgICAgICAgQ3VpQ3JlYXRlQ2F0ZWdvcnlJdGVtQ29tcG9uZW50LFxuICAgICAgICBDdWlDYXRlZ29yaWVzTGlzdENvbXBvbmVudCxcbiAgICAgICAgVHJhbnNsb2NvRGlyZWN0aXZlXG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYXRlZ29yaWVzLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jYXRlZ29yaWVzLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQ3VpQ2F0ZWdvcmllc0NvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmVlU3RydWN0TmF2aWdhdG9yQXBpU2VydmljZSA9IGluamVjdChDdWlUcmVlU3RydWN0TmF2aWdhdG9yQXBpU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWxlY3RlZENhdGVnb3J5U2VydmljZSA9IGluamVjdChDdWlTZWxlY3RlZENhdGVnb3J5U2VydmljZSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RhZ2VTdG9yYWdlcyA9IHNpZ25hbDxDdWlOdWxsYWJsZTxUcmVlU3RydWN0W10+PihudWxsKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNDYXRlZ29yeUNyZWF0aW5nID0gc2lnbmFsKGZhbHNlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNDYXRlZ29yeUNyZWF0aW9uTG9hZGluZyA9IHNpZ25hbChmYWxzZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzQ3JlYXRlQ2F0ZWdvcnlDb250cm9sVmlzaWJsZSA9IGNvbXB1dGVkKFxuICAgICAgICAoKSA9PlxuICAgICAgICAgICAgKHRoaXMuc2VsZWN0ZWRDYXRlZ29yeVNlcnZpY2UuY3JlYXRpbmdJZCgpID09PSB0aGlzLnRyZWVTdHJ1Y3RUeXBlKCkgJiYgdGhpcy5pc0NhdGVnb3J5Q3JlYXRpbmcoKSkgfHxcbiAgICAgICAgICAgIHRoaXMuaXNDYXRlZ29yeUNyZWF0aW9uTG9hZGluZygpXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBkcm9wZG93biA9IHZpZXdDaGlsZC5yZXF1aXJlZDxDdWlEcm9wZG93bkRpcmVjdGl2ZT4oJ2Ryb3Bkb3duJyk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgdHJlZVN0cnVjdFR5cGUgPSBpbnB1dC5yZXF1aXJlZDxUcmVlU3RydWN0VHlwZT4oKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgYnV0dG9uSWQgPSBpbnB1dDxzdHJpbmc+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuICAgIHB1YmxpYyByZWFkb25seSBjb250ZXh0ID0gaW5wdXQ8Q3VpQXBpQ29udGV4dD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmluaXRTZWxlY3RDYXRlZ29yeUVmZmVjdCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbk9wZW5TdGFnZVN0b3JhZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlTZXJ2aWNlLmNsZWFyQ3JlYXRpbmdJZCgpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlTZXJ2aWNlLmNsZWFyRWRpdGluZ0lkKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuc3RhZ2VTdG9yYWdlcygpPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudHJlZVN0cnVjdE5hdmlnYXRvckFwaVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRTdGFnZVN0b3JhZ2VzKHRoaXMudHJlZVN0cnVjdFR5cGUoKSwgdGhpcy5jb250ZXh0KCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChzdGFnZVN0b3JhZ2UpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YWdlU3RvcmFnZXMudXBkYXRlKChwcmV2U3RhZ2VTdG9yYWdlcykgPT5cbiAgICAgICAgICAgICAgICAgICAgcHJldlN0YWdlU3RvcmFnZXMgPyBbLi4ucHJldlN0YWdlU3RvcmFnZXMsIHN0YWdlU3RvcmFnZV0gOiBbc3RhZ2VTdG9yYWdlXVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25TdGFydENyZWF0aW5nTmV3Q2F0ZWdvcnkoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNDYXRlZ29yeUNyZWF0aW5nLnNldCh0cnVlKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5U2VydmljZS5zZXRDcmVhdGluZ0lkKHRoaXMudHJlZVN0cnVjdFR5cGUoKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ3JlYXRlTmV3Q2F0ZWdvcnkodGl0bGU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzQ2F0ZWdvcnlDcmVhdGluZy5zZXQoZmFsc2UpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlTZXJ2aWNlLmNsZWFyQ3JlYXRpbmdJZCgpO1xuICAgICAgICB0aGlzLmlzQ2F0ZWdvcnlDcmVhdGlvbkxvYWRpbmcuc2V0KHRydWUpO1xuICAgICAgICB0aGlzLnRyZWVTdHJ1Y3ROYXZpZ2F0b3JBcGlTZXJ2aWNlXG4gICAgICAgICAgICAuY3JlYXRlU3RhZ2VTdG9yYWdlKHRpdGxlLCB0aGlzLnRyZWVTdHJ1Y3RUeXBlKCksIHRoaXMuY29udGV4dCgpKVxuICAgICAgICAgICAgLnBpcGUoZmluYWxpemUodGhpcy5pc0NhdGVnb3J5Q3JlYXRpb25Mb2FkaW5nLnNldC5iaW5kKHRoaXMsIGZhbHNlKSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChzdGF0ZVN0b3JhZ2UpID0+IHRoaXMuc3RhZ2VTdG9yYWdlcy51cGRhdGUoKHZhbHVlKSA9PiBbLi4uKHZhbHVlIHx8IFtdKSwgc3RhdGVTdG9yYWdlXSkpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkNyZWF0aW5nQ2F0ZWdvcnlDYW5jZWxlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0NhdGVnb3J5Q3JlYXRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5U2VydmljZS5jbGVhckNyZWF0aW5nSWQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRTZWxlY3RDYXRlZ29yeUVmZmVjdCgpOiB2b2lkIHtcbiAgICAgICAgZWZmZWN0KFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeVNlcnZpY2UuY2F0ZWdvcnkoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmRyb3Bkb3duKCkuY2xvc2UoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8YnV0dG9uXG4gICAgW2F0dHIuaWRdPVwiYnV0dG9uSWQoKVwiXG4gICAgI2Ryb3Bkb3duPVwiY3VpRHJvcGRvd25cIlxuICAgIFtjdWlEcm9wZG93bl09XCJkcm9wZG93bkNvbnRlbnRcIlxuICAgIG9yaWVudGF0aW9uPVwic3RyZXRjaFwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJ0YXJnZXRcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICAoY2xpY2spPVwib25PcGVuU3RhZ2VTdG9yYWdlcygpXCJcbj5cbiAgICA8bmctY29udGVudCAvPlxuPC9idXR0b24+XG5cbjxuZy10ZW1wbGF0ZSAjZHJvcGRvd25Db250ZW50PlxuICAgIDxjdWktZHJvcGRvd24td3JhcHBlclxuICAgICAgICAqdHJhbnNsb2NvPVwibGV0IHRcIlxuICAgICAgICBbdGl0bGVdPVwidCgnU0VMRUNUX09SX0NSRUFURV9DQVRFR09SWScpXCJcbiAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgY2xhc3M9XCJkcm9wZG93bi13cmFwcGVyXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKmN1aUxldD1cInN0YWdlU3RvcmFnZXMoKSBhcyBzdGFnZVN0b3JhZ2VzXCI+XG4gICAgICAgICAgICBAaWYgKHN0YWdlU3RvcmFnZXMgJiYgc3RhZ2VTdG9yYWdlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgPGN1aS1jYXRlZ29yaWVzLWxpc3RcbiAgICAgICAgICAgICAgICAgICAgW3N0YWdlU3RvcmFnZXNdPVwic3RhZ2VTdG9yYWdlc1wiXG4gICAgICAgICAgICAgICAgICAgIFtjb250ZXh0XT1cImNvbnRleHQoKVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoaXNDcmVhdGVDYXRlZ29yeUNvbnRyb2xWaXNpYmxlKCkpIHtcbiAgICAgICAgICAgICAgICA8Y3VpLWNyZWF0ZS1jYXRlZ29yeS1pdGVtXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY3JlYXRlLWNhdGVnb3J5XCJcbiAgICAgICAgICAgICAgICAgICAgW2lzRGlzYWJsZWRdPVwiaXNDYXRlZ29yeUNyZWF0aW9uTG9hZGluZygpXCJcbiAgICAgICAgICAgICAgICAgICAgKGNyZWF0ZWQpPVwib25DcmVhdGVOZXdDYXRlZ29yeSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgKGNhbmNlbGVkKT1cIm9uQ3JlYXRpbmdDYXRlZ29yeUNhbmNlbGVkKClcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9IEBlbHNlIGlmICghc3RhZ2VTdG9yYWdlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgPGN1aS1lbXB0eS1zdGF0ZVxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImVtcHR5XCJcbiAgICAgICAgICAgICAgICAgICAgW3N1YnRpdGxlXT1cInQoJ05PX0NBVEVHT1JZX1RPX1ZJRVdfWUVUJylcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjY0Ryb3Bkb3duRm9vdGVyQ29udGVudFxuICAgICAgICAgICAgY3VpQnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJnaG9zdFwiXG4gICAgICAgICAgICBzaXplPVwieHhzXCJcbiAgICAgICAgICAgIGljb249XCJjdWlJY29uUGx1c1wiXG4gICAgICAgICAgICAoY2xpY2spPVwib25TdGFydENyZWF0aW5nTmV3Q2F0ZWdvcnkoKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7IHQoJ05FV19DQVRFR09SWScpIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvY3VpLWRyb3Bkb3duLXdyYXBwZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcmllcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvY2F0ZWdvcmllcy9jYXRlZ29yaWVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9jYXRlZ29yaWVzL2NhdGVnb3JpZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoQyxPQUFPLEVBQWlCLGdDQUFnQyxFQUE4QixNQUFNLGNBQWMsQ0FBQztBQUUzRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUYsT0FBTyxFQUNILHNCQUFzQixFQUN0QixlQUFlLEVBQ2Ysb0JBQW9CLEVBQ3BCLDJCQUEyQixFQUM5QixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLFlBQVksQ0FBQzs7O0FBbUJ4RCxpSUFBaUk7QUFDakksTUFBTSxPQUFPLHNCQUFzQjtJQW9CL0I7UUFuQmlCLGtDQUE2QixHQUFHLE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ3pFLDRCQUF1QixHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBRTNELGtCQUFhLEdBQUcsTUFBTSxDQUE0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SSxDQUFDLHVCQUF1QixDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFTyx3QkFBd0I7UUFDNUIsTUFBTSxDQUNGLEdBQUcsRUFBRTtZQUNELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDNUIsQ0FBQyxFQUNELEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQzlCLENBQUM7SUFDTixDQUFDOytHQXJFUSxzQkFBc0I7bUdBQXRCLHNCQUFzQiw4dEJDN0NuQywwdURBc0RBLHNjRHhCUSxlQUFlLG9PQUNmLGVBQWUseUVBQ2Ysb0JBQW9CLG9KQUNwQiwyQkFBMkIsMEdBQzNCLHNCQUFzQiw0R0FDdEIsOEJBQThCLCtIQUM5QiwwQkFBMEIsc0dBQzFCLGtCQUFrQjs7NEZBUWIsc0JBQXNCO2tCQWxCbEMsU0FBUzsrQkFDSSxnQkFBZ0IsV0FDakI7d0JBQ0wsZUFBZTt3QkFDZixlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsMkJBQTJCO3dCQUMzQixzQkFBc0I7d0JBQ3RCLDhCQUE4Qjt3QkFDOUIsMEJBQTBCO3dCQUMxQixrQkFBa0I7cUJBQ3JCLGNBQ1csSUFBSSxtQkFHQyx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBlZmZlY3QsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0LFxuICAgIHNpZ25hbCxcbiAgICB2aWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IEN1aU51bGxhYmxlIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcbmltcG9ydCB7IEN1aUxldERpcmVjdGl2ZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5pbXBvcnQgeyBUcmFuc2xvY29EaXJlY3RpdmUgfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nO1xuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQ3VpQXBpQ29udGV4dCwgQ3VpVHJlZVN0cnVjdE5hdmlnYXRvckFwaVNlcnZpY2UsIFRyZWVTdHJ1Y3QsIFRyZWVTdHJ1Y3RUeXBlIH0gZnJvbSAnQGN1YnktdWkvYXBpJztcblxuaW1wb3J0IHsgQ3VpQ2F0ZWdvcmllc0xpc3RDb21wb25lbnQsIEN1aUNyZWF0ZUNhdGVnb3J5SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cyc7XG5pbXBvcnQge1xuICAgIEN1aUVtcHR5U3RhdGVDb21wb25lbnQsXG4gICAgQ3VpQnV0dG9uTW9kdWxlLFxuICAgIEN1aURyb3Bkb3duRGlyZWN0aXZlLFxuICAgIEN1aURyb3Bkb3duV3JhcHBlckNvbXBvbmVudFxufSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzJztcbmltcG9ydCB7IEN1aVNlbGVjdGVkQ2F0ZWdvcnlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY3VpLWNhdGVnb3JpZXMnLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ3VpQnV0dG9uTW9kdWxlLFxuICAgICAgICBDdWlMZXREaXJlY3RpdmUsXG4gICAgICAgIEN1aURyb3Bkb3duRGlyZWN0aXZlLFxuICAgICAgICBDdWlEcm9wZG93bldyYXBwZXJDb21wb25lbnQsXG4gICAgICAgIEN1aUVtcHR5U3RhdGVDb21wb25lbnQsXG4gICAgICAgIEN1aUNyZWF0ZUNhdGVnb3J5SXRlbUNvbXBvbmVudCxcbiAgICAgICAgQ3VpQ2F0ZWdvcmllc0xpc3RDb21wb25lbnQsXG4gICAgICAgIFRyYW5zbG9jb0RpcmVjdGl2ZVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2F0ZWdvcmllcy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2F0ZWdvcmllcy5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuLyoqIEBkZXByZWNhdGVkIFVzZSBgQ3VpQ2F0ZWdvcmllc1RyZWVDb21wb25lbnRgIChgY3VpLWNhdGVnb3JpZXMtdHJlZWApIHdpdGggYENVSV9DQVRFR09SSUVTX1RSRUVfREFUQV9TT1VSQ0VfU0VSVklDRV9UT0tFTmAuICovXG5leHBvcnQgY2xhc3MgQ3VpQ2F0ZWdvcmllc0NvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmVlU3RydWN0TmF2aWdhdG9yQXBpU2VydmljZSA9IGluamVjdChDdWlUcmVlU3RydWN0TmF2aWdhdG9yQXBpU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWxlY3RlZENhdGVnb3J5U2VydmljZSA9IGluamVjdChDdWlTZWxlY3RlZENhdGVnb3J5U2VydmljZSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RhZ2VTdG9yYWdlcyA9IHNpZ25hbDxDdWlOdWxsYWJsZTxUcmVlU3RydWN0W10+PihudWxsKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNDYXRlZ29yeUNyZWF0aW5nID0gc2lnbmFsKGZhbHNlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNDYXRlZ29yeUNyZWF0aW9uTG9hZGluZyA9IHNpZ25hbChmYWxzZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzQ3JlYXRlQ2F0ZWdvcnlDb250cm9sVmlzaWJsZSA9IGNvbXB1dGVkKFxuICAgICAgICAoKSA9PlxuICAgICAgICAgICAgKHRoaXMuc2VsZWN0ZWRDYXRlZ29yeVNlcnZpY2UuY3JlYXRpbmdJZCgpID09PSB0aGlzLnRyZWVTdHJ1Y3RUeXBlKCkgJiYgdGhpcy5pc0NhdGVnb3J5Q3JlYXRpbmcoKSkgfHxcbiAgICAgICAgICAgIHRoaXMuaXNDYXRlZ29yeUNyZWF0aW9uTG9hZGluZygpXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBkcm9wZG93biA9IHZpZXdDaGlsZC5yZXF1aXJlZDxDdWlEcm9wZG93bkRpcmVjdGl2ZT4oJ2Ryb3Bkb3duJyk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgdHJlZVN0cnVjdFR5cGUgPSBpbnB1dC5yZXF1aXJlZDxUcmVlU3RydWN0VHlwZT4oKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgYnV0dG9uSWQgPSBpbnB1dDxzdHJpbmc+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuICAgIHB1YmxpYyByZWFkb25seSBjb250ZXh0ID0gaW5wdXQ8Q3VpQXBpQ29udGV4dD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmluaXRTZWxlY3RDYXRlZ29yeUVmZmVjdCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbk9wZW5TdGFnZVN0b3JhZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlTZXJ2aWNlLmNsZWFyQ3JlYXRpbmdJZCgpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlTZXJ2aWNlLmNsZWFyRWRpdGluZ0lkKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuc3RhZ2VTdG9yYWdlcygpPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudHJlZVN0cnVjdE5hdmlnYXRvckFwaVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRTdGFnZVN0b3JhZ2VzKHRoaXMudHJlZVN0cnVjdFR5cGUoKSwgdGhpcy5jb250ZXh0KCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChzdGFnZVN0b3JhZ2UpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YWdlU3RvcmFnZXMudXBkYXRlKChwcmV2U3RhZ2VTdG9yYWdlcykgPT5cbiAgICAgICAgICAgICAgICAgICAgcHJldlN0YWdlU3RvcmFnZXMgPyBbLi4ucHJldlN0YWdlU3RvcmFnZXMsIHN0YWdlU3RvcmFnZV0gOiBbc3RhZ2VTdG9yYWdlXVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25TdGFydENyZWF0aW5nTmV3Q2F0ZWdvcnkoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNDYXRlZ29yeUNyZWF0aW5nLnNldCh0cnVlKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5U2VydmljZS5zZXRDcmVhdGluZ0lkKHRoaXMudHJlZVN0cnVjdFR5cGUoKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ3JlYXRlTmV3Q2F0ZWdvcnkodGl0bGU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzQ2F0ZWdvcnlDcmVhdGluZy5zZXQoZmFsc2UpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlTZXJ2aWNlLmNsZWFyQ3JlYXRpbmdJZCgpO1xuICAgICAgICB0aGlzLmlzQ2F0ZWdvcnlDcmVhdGlvbkxvYWRpbmcuc2V0KHRydWUpO1xuICAgICAgICB0aGlzLnRyZWVTdHJ1Y3ROYXZpZ2F0b3JBcGlTZXJ2aWNlXG4gICAgICAgICAgICAuY3JlYXRlU3RhZ2VTdG9yYWdlKHRpdGxlLCB0aGlzLnRyZWVTdHJ1Y3RUeXBlKCksIHRoaXMuY29udGV4dCgpKVxuICAgICAgICAgICAgLnBpcGUoZmluYWxpemUodGhpcy5pc0NhdGVnb3J5Q3JlYXRpb25Mb2FkaW5nLnNldC5iaW5kKHRoaXMsIGZhbHNlKSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChzdGF0ZVN0b3JhZ2UpID0+IHRoaXMuc3RhZ2VTdG9yYWdlcy51cGRhdGUoKHZhbHVlKSA9PiBbLi4uKHZhbHVlIHx8IFtdKSwgc3RhdGVTdG9yYWdlXSkpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkNyZWF0aW5nQ2F0ZWdvcnlDYW5jZWxlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0NhdGVnb3J5Q3JlYXRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5U2VydmljZS5jbGVhckNyZWF0aW5nSWQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRTZWxlY3RDYXRlZ29yeUVmZmVjdCgpOiB2b2lkIHtcbiAgICAgICAgZWZmZWN0KFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeVNlcnZpY2UuY2F0ZWdvcnkoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmRyb3Bkb3duKCkuY2xvc2UoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8YnV0dG9uXG4gICAgW2F0dHIuaWRdPVwiYnV0dG9uSWQoKVwiXG4gICAgI2Ryb3Bkb3duPVwiY3VpRHJvcGRvd25cIlxuICAgIFtjdWlEcm9wZG93bl09XCJkcm9wZG93bkNvbnRlbnRcIlxuICAgIG9yaWVudGF0aW9uPVwic3RyZXRjaFwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJ0YXJnZXRcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICAoY2xpY2spPVwib25PcGVuU3RhZ2VTdG9yYWdlcygpXCJcbj5cbiAgICA8bmctY29udGVudCAvPlxuPC9idXR0b24+XG5cbjxuZy10ZW1wbGF0ZSAjZHJvcGRvd25Db250ZW50PlxuICAgIDxjdWktZHJvcGRvd24td3JhcHBlclxuICAgICAgICAqdHJhbnNsb2NvPVwibGV0IHRcIlxuICAgICAgICBbdGl0bGVdPVwidCgnU0VMRUNUX09SX0NSRUFURV9DQVRFR09SWScpXCJcbiAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgY2xhc3M9XCJkcm9wZG93bi13cmFwcGVyXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKmN1aUxldD1cInN0YWdlU3RvcmFnZXMoKSBhcyBzdGFnZVN0b3JhZ2VzXCI+XG4gICAgICAgICAgICBAaWYgKHN0YWdlU3RvcmFnZXMgJiYgc3RhZ2VTdG9yYWdlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgPGN1aS1jYXRlZ29yaWVzLWxpc3RcbiAgICAgICAgICAgICAgICAgICAgW3N0YWdlU3RvcmFnZXNdPVwic3RhZ2VTdG9yYWdlc1wiXG4gICAgICAgICAgICAgICAgICAgIFtjb250ZXh0XT1cImNvbnRleHQoKVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoaXNDcmVhdGVDYXRlZ29yeUNvbnRyb2xWaXNpYmxlKCkpIHtcbiAgICAgICAgICAgICAgICA8Y3VpLWNyZWF0ZS1jYXRlZ29yeS1pdGVtXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY3JlYXRlLWNhdGVnb3J5XCJcbiAgICAgICAgICAgICAgICAgICAgW2lzRGlzYWJsZWRdPVwiaXNDYXRlZ29yeUNyZWF0aW9uTG9hZGluZygpXCJcbiAgICAgICAgICAgICAgICAgICAgKGNyZWF0ZWQpPVwib25DcmVhdGVOZXdDYXRlZ29yeSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgKGNhbmNlbGVkKT1cIm9uQ3JlYXRpbmdDYXRlZ29yeUNhbmNlbGVkKClcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9IEBlbHNlIGlmICghc3RhZ2VTdG9yYWdlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgPGN1aS1lbXB0eS1zdGF0ZVxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImVtcHR5XCJcbiAgICAgICAgICAgICAgICAgICAgW3N1YnRpdGxlXT1cInQoJ05PX0NBVEVHT1JZX1RPX1ZJRVdfWUVUJylcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjY0Ryb3Bkb3duRm9vdGVyQ29udGVudFxuICAgICAgICAgICAgY3VpQnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJnaG9zdFwiXG4gICAgICAgICAgICBzaXplPVwieHhzXCJcbiAgICAgICAgICAgIGljb249XCJjdWlJY29uUGx1c1wiXG4gICAgICAgICAgICAoY2xpY2spPVwib25TdGFydENyZWF0aW5nTmV3Q2F0ZWdvcnkoKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7IHQoJ05FV19DQVRFR09SWScpIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvY3VpLWRyb3Bkb3duLXdyYXBwZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,5 +1,6 @@
1
1
  import { Injectable, signal } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
+ /** @deprecated Use `CuiCategoryTreeStateService` from `cui-categories-tree`. */
3
4
  export class CuiSelectedCategoryService {
4
5
  constructor() {
5
6
  this.editingIdSignal = signal(null);
@@ -35,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
35
36
  providedIn: 'root'
36
37
  }]
37
38
  }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0ZWQtY2F0ZWdvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9jYXRlZ29yaWVzL3NlcnZpY2VzL3NlbGVjdGVkLWNhdGVnb3J5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT25ELE1BQU0sT0FBTywwQkFBMEI7SUFIdkM7UUFJcUIsb0JBQWUsR0FBRyxNQUFNLENBQXNCLElBQUksQ0FBQyxDQUFDO1FBQ3BELHFCQUFnQixHQUFHLE1BQU0sQ0FBc0IsSUFBSSxDQUFDLENBQUM7UUFDckQsbUJBQWMsR0FBRyxNQUFNLENBQTBCLElBQUksQ0FBQyxDQUFDO1FBRXhELGNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzlDLGVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDaEQsYUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUM7S0F1Qi9EO0lBckJVLGtCQUFrQixDQUFDLFFBQWlDO1FBQ3ZELElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTSxZQUFZLENBQUMsRUFBVTtRQUMxQixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVNLGFBQWEsQ0FBQyxFQUFVO1FBQzNCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSxjQUFjO1FBQ2pCLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTSxlQUFlO1FBQ2xCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbEMsQ0FBQzsrR0E3QlEsMEJBQTBCO21IQUExQiwwQkFBMEIsY0FGdkIsTUFBTTs7NEZBRVQsMEJBQTBCO2tCQUh0QyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBDdWlOdWxsYWJsZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5pbXBvcnQgeyBUcmVlU3RydWN0IH0gZnJvbSAnQGN1YnktdWkvYXBpJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDdWlTZWxlY3RlZENhdGVnb3J5U2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlZGl0aW5nSWRTaWduYWwgPSBzaWduYWw8Q3VpTnVsbGFibGU8c3RyaW5nPj4obnVsbCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjcmVhdGluZ0lkU2lnbmFsID0gc2lnbmFsPEN1aU51bGxhYmxlPHN0cmluZz4+KG51bGwpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2F0ZWdvcnlTaWduYWwgPSBzaWduYWw8Q3VpTnVsbGFibGU8VHJlZVN0cnVjdD4+KG51bGwpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGVkaXRpbmdJZCA9IHRoaXMuZWRpdGluZ0lkU2lnbmFsLmFzUmVhZG9ubHkoKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY3JlYXRpbmdJZCA9IHRoaXMuY3JlYXRpbmdJZFNpZ25hbC5hc1JlYWRvbmx5KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGNhdGVnb3J5ID0gdGhpcy5jYXRlZ29yeVNpZ25hbC5hc1JlYWRvbmx5KCk7XG5cbiAgICBwdWJsaWMgc2V0Q3VycmVudENhdGVnb3J5KGNhdGVnb3J5OiBDdWlOdWxsYWJsZTxUcmVlU3RydWN0Pik6IHZvaWQge1xuICAgICAgICB0aGlzLmNhdGVnb3J5U2lnbmFsLnNldChjYXRlZ29yeSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEVkaXRpbmdJZChpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWRpdGluZ0lkU2lnbmFsLnNldChpZCk7XG4gICAgICAgIHRoaXMuY2xlYXJDcmVhdGluZ0lkKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldENyZWF0aW5nSWQoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmNyZWF0aW5nSWRTaWduYWwuc2V0KGlkKTtcbiAgICAgICAgdGhpcy5jbGVhckVkaXRpbmdJZCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhckVkaXRpbmdJZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0aW5nSWRTaWduYWwuc2V0KCcnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXJDcmVhdGluZ0lkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNyZWF0aW5nSWRTaWduYWwuc2V0KCcnKTtcbiAgICB9XG59XG4iXX0=
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0ZWQtY2F0ZWdvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9jYXRlZ29yaWVzL3NlcnZpY2VzL3NlbGVjdGVkLWNhdGVnb3J5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT25ELGdGQUFnRjtBQUNoRixNQUFNLE9BQU8sMEJBQTBCO0lBSnZDO1FBS3FCLG9CQUFlLEdBQUcsTUFBTSxDQUFzQixJQUFJLENBQUMsQ0FBQztRQUNwRCxxQkFBZ0IsR0FBRyxNQUFNLENBQXNCLElBQUksQ0FBQyxDQUFDO1FBQ3JELG1CQUFjLEdBQUcsTUFBTSxDQUEwQixJQUFJLENBQUMsQ0FBQztRQUV4RCxjQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM5QyxlQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2hELGFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxDQUFDO0tBdUIvRDtJQXJCVSxrQkFBa0IsQ0FBQyxRQUFpQztRQUN2RCxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU0sWUFBWSxDQUFDLEVBQVU7UUFDMUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTSxhQUFhLENBQUMsRUFBVTtRQUMzQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sY0FBYztRQUNqQixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sZUFBZTtRQUNsQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7K0dBN0JRLDBCQUEwQjttSEFBMUIsMEJBQTBCLGNBSHZCLE1BQU07OzRGQUdULDBCQUEwQjtrQkFKdEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgQ3VpTnVsbGFibGUgfSBmcm9tICdAY3VieS11aS9jZGsnO1xuaW1wb3J0IHsgVHJlZVN0cnVjdCB9IGZyb20gJ0BjdWJ5LXVpL2FwaSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG4vKiogQGRlcHJlY2F0ZWQgVXNlIGBDdWlDYXRlZ29yeVRyZWVTdGF0ZVNlcnZpY2VgIGZyb20gYGN1aS1jYXRlZ29yaWVzLXRyZWVgLiAqL1xuZXhwb3J0IGNsYXNzIEN1aVNlbGVjdGVkQ2F0ZWdvcnlTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVkaXRpbmdJZFNpZ25hbCA9IHNpZ25hbDxDdWlOdWxsYWJsZTxzdHJpbmc+PihudWxsKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNyZWF0aW5nSWRTaWduYWwgPSBzaWduYWw8Q3VpTnVsbGFibGU8c3RyaW5nPj4obnVsbCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXRlZ29yeVNpZ25hbCA9IHNpZ25hbDxDdWlOdWxsYWJsZTxUcmVlU3RydWN0Pj4obnVsbCk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgZWRpdGluZ0lkID0gdGhpcy5lZGl0aW5nSWRTaWduYWwuYXNSZWFkb25seSgpO1xuICAgIHB1YmxpYyByZWFkb25seSBjcmVhdGluZ0lkID0gdGhpcy5jcmVhdGluZ0lkU2lnbmFsLmFzUmVhZG9ubHkoKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY2F0ZWdvcnkgPSB0aGlzLmNhdGVnb3J5U2lnbmFsLmFzUmVhZG9ubHkoKTtcblxuICAgIHB1YmxpYyBzZXRDdXJyZW50Q2F0ZWdvcnkoY2F0ZWdvcnk6IEN1aU51bGxhYmxlPFRyZWVTdHJ1Y3Q+KTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2F0ZWdvcnlTaWduYWwuc2V0KGNhdGVnb3J5KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0RWRpdGluZ0lkKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0aW5nSWRTaWduYWwuc2V0KGlkKTtcbiAgICAgICAgdGhpcy5jbGVhckNyZWF0aW5nSWQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0Q3JlYXRpbmdJZChpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3JlYXRpbmdJZFNpZ25hbC5zZXQoaWQpO1xuICAgICAgICB0aGlzLmNsZWFyRWRpdGluZ0lkKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsZWFyRWRpdGluZ0lkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVkaXRpbmdJZFNpZ25hbC5zZXQoJycpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhckNyZWF0aW5nSWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3JlYXRpbmdJZFNpZ25hbC5zZXQoJycpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,81 @@
1
+ import { booleanAttribute, ChangeDetectionStrategy, Component, computed, DestroyRef, effect, inject, input, signal, viewChild } from '@angular/core';
2
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
+ import { CuiLetDirective } from '@cuby-ui/cdk';
4
+ import { TranslocoDirective } from '@jsverse/transloco';
5
+ import { finalize } from 'rxjs';
6
+ import { CuiEmptyStateComponent, CuiButtonModule, CuiDropdownDirective, CuiDropdownWrapperComponent } from '../../../components';
7
+ import { CuiCategoriesTreeListComponent, CuiCreateCategoryTreeItemComponent } from './components';
8
+ import { CUI_CATEGORIES_TREE_DATA_SOURCE_SERVICE_TOKEN } from './models';
9
+ import { CuiCategoryTreeStateService } from './services';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "../../../components/button/button.component";
12
+ export class CuiCategoriesTreeComponent {
13
+ constructor() {
14
+ this.destroyRef = inject(DestroyRef);
15
+ this.categoriesDataSourceService = inject(CUI_CATEGORIES_TREE_DATA_SOURCE_SERVICE_TOKEN);
16
+ this.categoryTreeStateService = inject(CuiCategoryTreeStateService);
17
+ this.storages = signal(null);
18
+ this.isCategoryCreating = signal(false);
19
+ this.isCategoryCreationLoading = signal(false);
20
+ this.isCreateCategoryControlVisible = computed(() => (this.categoryTreeStateService.isCreatingRoot() && this.isCategoryCreating()) ||
21
+ this.isCategoryCreationLoading());
22
+ this.dropdown = viewChild.required('dropdown');
23
+ this.disabled = input(false, { transform: booleanAttribute });
24
+ this.initSelectCategoryEffect();
25
+ }
26
+ onOpenStorages() {
27
+ this.categoryTreeStateService.clearCreating();
28
+ this.categoryTreeStateService.clearEditingId();
29
+ if (this.storages()?.length) {
30
+ return;
31
+ }
32
+ this.categoriesDataSourceService
33
+ .loadRoots()
34
+ .pipe(takeUntilDestroyed(this.destroyRef))
35
+ .subscribe((roots) => {
36
+ this.storages.set(roots);
37
+ });
38
+ }
39
+ onStartCreatingNewCategory() {
40
+ this.isCategoryCreating.set(true);
41
+ this.categoryTreeStateService.startCreatingRoot();
42
+ }
43
+ onCreateNewCategory(title) {
44
+ this.isCategoryCreating.set(false);
45
+ this.categoryTreeStateService.clearCreating();
46
+ this.isCategoryCreationLoading.set(true);
47
+ this.categoriesDataSourceService
48
+ .createRoot(title)
49
+ .pipe(finalize(() => this.isCategoryCreationLoading.set(false)), takeUntilDestroyed(this.destroyRef))
50
+ .subscribe((storage) => this.storages.update((value) => [...(value || []), storage]));
51
+ }
52
+ onCreatingCategoryCanceled() {
53
+ this.isCategoryCreating.set(false);
54
+ this.categoryTreeStateService.clearCreating();
55
+ }
56
+ onItemDeleted(id) {
57
+ this.storages.update((value) => (value ? value.filter((storage) => storage.id !== id) : value));
58
+ }
59
+ initSelectCategoryEffect() {
60
+ effect(() => {
61
+ this.categoryTreeStateService.category();
62
+ this.dropdown().close();
63
+ }, { allowSignalWrites: true });
64
+ }
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCategoriesTreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
66
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiCategoriesTreeComponent, isStandalone: true, selector: "cui-categories-tree", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, providers: [CuiCategoryTreeStateService], viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, isSignal: true }], ngImport: i0, template: "<button\n #dropdown=\"cuiDropdown\"\n [cuiDropdown]=\"dropdownContent\"\n orientation=\"stretch\"\n type=\"button\"\n class=\"target\"\n [disabled]=\"disabled()\"\n (click)=\"onOpenStorages()\"\n>\n <ng-content />\n</button>\n\n<ng-template #dropdownContent>\n <cui-dropdown-wrapper\n *transloco=\"let t\"\n [title]=\"t('SELECT_OR_CREATE_CATEGORY')\"\n width=\"100%\"\n class=\"dropdown-wrapper\"\n >\n <ng-container *cuiLet=\"storages() as storages\">\n @if (storages && storages.length) {\n <cui-categories-tree-list\n [storages]=\"storages\"\n (deleted)=\"onItemDeleted($event)\"\n />\n }\n @if (isCreateCategoryControlVisible()) {\n <cui-create-category-tree-item\n class=\"create-category\"\n [isDisabled]=\"isCategoryCreationLoading()\"\n (created)=\"onCreateNewCategory($event)\"\n (canceled)=\"onCreatingCategoryCanceled()\"\n />\n } @else if (!storages?.length) {\n <cui-empty-state\n class=\"empty\"\n [subtitle]=\"t('NO_CATEGORY_TO_VIEW_YET')\"\n />\n }\n </ng-container>\n <button\n ccDropdownFooterContent\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconPlus\"\n (click)=\"onStartCreatingNewCategory()\"\n >\n {{ t('NEW_CATEGORY') }}\n </button>\n </cui-dropdown-wrapper>\n</ng-template>\n", styles: ["::ng-deep .dropdown-wrapper .scrollable-content{flex:1;display:flex;flex-direction:column}.target{display:block;padding:0;width:100%;border-radius:8px;border:1px solid transparent}.target:focus{box-shadow:0 0 0 2px var(--cui-focus);border:1px solid var(--cui-info)}.target:disabled{cursor:default}.create-category{margin-left:24px}.empty{margin:auto}.dropdown-wrapper{display:block;height:350px}\n"], dependencies: [{ kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: i1.CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "theme", "size"] }, { kind: "directive", type: CuiLetDirective, selector: "[cuiLet]", inputs: ["cuiLet"] }, { kind: "directive", type: CuiDropdownDirective, selector: "[cuiDropdown]", inputs: ["cuiDropdown", "orientation"], outputs: ["isOpened"], exportAs: ["cuiDropdown"] }, { kind: "component", type: CuiDropdownWrapperComponent, selector: "cui-dropdown-wrapper", inputs: ["title", "width", "maxHeight"] }, { kind: "component", type: CuiEmptyStateComponent, selector: "cui-empty-state, [cuiEmptyState]", inputs: ["title", "subtitle"] }, { kind: "component", type: CuiCreateCategoryTreeItemComponent, selector: "cui-create-category-tree-item", inputs: ["isDisabled"], outputs: ["created", "canceled"] }, { kind: "component", type: CuiCategoriesTreeListComponent, selector: "cui-categories-tree-list", inputs: ["storages"], outputs: ["deleted"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
67
+ }
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCategoriesTreeComponent, decorators: [{
69
+ type: Component,
70
+ args: [{ selector: 'cui-categories-tree', imports: [
71
+ CuiButtonModule,
72
+ CuiLetDirective,
73
+ CuiDropdownDirective,
74
+ CuiDropdownWrapperComponent,
75
+ CuiEmptyStateComponent,
76
+ CuiCreateCategoryTreeItemComponent,
77
+ CuiCategoriesTreeListComponent,
78
+ TranslocoDirective
79
+ ], standalone: true, providers: [CuiCategoryTreeStateService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n #dropdown=\"cuiDropdown\"\n [cuiDropdown]=\"dropdownContent\"\n orientation=\"stretch\"\n type=\"button\"\n class=\"target\"\n [disabled]=\"disabled()\"\n (click)=\"onOpenStorages()\"\n>\n <ng-content />\n</button>\n\n<ng-template #dropdownContent>\n <cui-dropdown-wrapper\n *transloco=\"let t\"\n [title]=\"t('SELECT_OR_CREATE_CATEGORY')\"\n width=\"100%\"\n class=\"dropdown-wrapper\"\n >\n <ng-container *cuiLet=\"storages() as storages\">\n @if (storages && storages.length) {\n <cui-categories-tree-list\n [storages]=\"storages\"\n (deleted)=\"onItemDeleted($event)\"\n />\n }\n @if (isCreateCategoryControlVisible()) {\n <cui-create-category-tree-item\n class=\"create-category\"\n [isDisabled]=\"isCategoryCreationLoading()\"\n (created)=\"onCreateNewCategory($event)\"\n (canceled)=\"onCreatingCategoryCanceled()\"\n />\n } @else if (!storages?.length) {\n <cui-empty-state\n class=\"empty\"\n [subtitle]=\"t('NO_CATEGORY_TO_VIEW_YET')\"\n />\n }\n </ng-container>\n <button\n ccDropdownFooterContent\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconPlus\"\n (click)=\"onStartCreatingNewCategory()\"\n >\n {{ t('NEW_CATEGORY') }}\n </button>\n </cui-dropdown-wrapper>\n</ng-template>\n", styles: ["::ng-deep .dropdown-wrapper .scrollable-content{flex:1;display:flex;flex-direction:column}.target{display:block;padding:0;width:100%;border-radius:8px;border:1px solid transparent}.target:focus{box-shadow:0 0 0 2px var(--cui-focus);border:1px solid var(--cui-info)}.target:disabled{cursor:default}.create-category{margin-left:24px}.empty{margin:auto}.dropdown-wrapper{display:block;height:350px}\n"] }]
80
+ }], ctorParameters: () => [] });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcmllcy10cmVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9jYXRlZ29yaWVzLXRyZWUvY2F0ZWdvcmllcy10cmVlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9jYXRlZ29yaWVzLXRyZWUvY2F0ZWdvcmllcy10cmVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsVUFBVSxFQUNWLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSWhDLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsZUFBZSxFQUNmLG9CQUFvQixFQUNwQiwyQkFBMkIsRUFDOUIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsOEJBQThCLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEcsT0FBTyxFQUFFLDZDQUE2QyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFlBQVksQ0FBQzs7O0FBb0J6RCxNQUFNLE9BQU8sMEJBQTBCO0lBa0JuQztRQWpCaUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxnQ0FB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QUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcEcsQ0FBQztJQUVPLHdCQUF3QjtRQUM1QixNQUFNLENBQ0YsR0FBRyxFQUFFO1lBQ0QsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM1QixDQUFDLEVBQ0QsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FDOUIsQ0FBQztJQUNOLENBQUM7K0dBekVRLDBCQUEwQjttR0FBMUIsMEJBQTBCLCtNQUh4QixDQUFDLDJCQUEyQixDQUFDLGdKQzdDNUMseXJEQXFEQSxzY0RwQlEsZUFBZSxvT0FDZixlQUFlLHlFQUNmLG9CQUFvQixvSkFDcEIsMkJBQTJCLDBHQUMzQixzQkFBc0IsNEdBQ3RCLGtDQUFrQyxvSUFDbEMsOEJBQThCLGlIQUM5QixrQkFBa0I7OzRGQVFiLDBCQUEwQjtrQkFsQnRDLFNBQVM7K0JBQ0kscUJBQXFCLFdBQ3RCO3dCQUNMLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLDJCQUEyQjt3QkFDM0Isc0JBQXNCO3dCQUN0QixrQ0FBa0M7d0JBQ2xDLDhCQUE4Qjt3QkFDOUIsa0JBQWtCO3FCQUNyQixjQUNXLElBQUksYUFHTCxDQUFDLDJCQUEyQixDQUFDLG1CQUN2Qix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBEZXN0cm95UmVmLFxuICAgIGVmZmVjdCxcbiAgICBpbmplY3QsXG4gICAgaW5wdXQsXG4gICAgc2lnbmFsLFxuICAgIHZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB0eXBlIHsgQ3VpTnVsbGFibGUgfSBmcm9tICdAY3VieS11aS9jZGsnO1xuaW1wb3J0IHsgQ3VpTGV0RGlyZWN0aXZlIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcbmltcG9ydCB7IFRyYW5zbG9jb0RpcmVjdGl2ZSB9IGZyb20gJ0Bqc3ZlcnNlL3RyYW5zbG9jbyc7XG5pbXBvcnQgeyBmaW5hbGl6ZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgdHlwZSB7IFRyZWVTdHJ1Y3QgfSBmcm9tICdAY3VieS11aS9hcGknO1xuXG5pbXBvcnQge1xuICAgIEN1aUVtcHR5U3RhdGVDb21wb25lbnQsXG4gICAgQ3VpQnV0dG9uTW9kdWxlLFxuICAgIEN1aURyb3Bkb3duRGlyZWN0aXZlLFxuICAgIEN1aURyb3Bkb3duV3JhcHBlckNvbXBvbmVudFxufSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzJztcbmltcG9ydCB7IEN1aUNhdGVnb3JpZXNUcmVlTGlzdENvbXBvbmVudCwgQ3VpQ3JlYXRlQ2F0ZWdvcnlUcmVlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBDVUlfQ0FURUdPUklFU19UUkVFX0RBVEFfU09VUkNFX1NFUlZJQ0VfVE9LRU4gfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBDdWlDYXRlZ29yeVRyZWVTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjdWktY2F0ZWdvcmllcy10cmVlJyxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEN1aUJ1dHRvbk1vZHVsZSxcbiAgICAgICAgQ3VpTGV0RGlyZWN0aXZlLFxuICAgICAgICBDdWlEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICAgICAgQ3VpRHJvcGRvd25XcmFwcGVyQ29tcG9uZW50LFxuICAgICAgICBDdWlFbXB0eVN0YXRlQ29tcG9uZW50LFxuICAgICAgICBDdWlDcmVhdGVDYXRlZ29yeVRyZWVJdGVtQ29tcG9uZW50LFxuICAgICAgICBDdWlDYXRlZ29yaWVzVHJlZUxpc3RDb21wb25lbnQsXG4gICAgICAgIFRyYW5zbG9jb0RpcmVjdGl2ZVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2F0ZWdvcmllcy10cmVlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jYXRlZ29yaWVzLXRyZWUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtDdWlDYXRlZ29yeVRyZWVTdGF0ZVNlcnZpY2VdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEN1aUNhdGVnb3JpZXNUcmVlQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXRlZ29yaWVzRGF0YVNvdXJjZVNlcnZpY2UgPSBpbmplY3QoQ1VJX0NBVEVHT1JJRVNfVFJFRV9EQVRBX1NPVVJDRV9TRVJWSUNFX1RPS0VOKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhdGVnb3J5VHJlZVN0YXRlU2VydmljZSA9IGluamVjdChDdWlDYXRlZ29yeVRyZWVTdGF0ZVNlcnZpY2UpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0b3JhZ2VzID0gc2lnbmFsPEN1aU51bGxhYmxlPFRyZWVTdHJ1Y3RbXT4+KG51bGwpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc0NhdGVnb3J5Q3JlYXRpbmcgPSBzaWduYWwoZmFsc2UpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc0NhdGVnb3J5Q3JlYXRpb25Mb2FkaW5nID0gc2lnbmFsKGZhbHNlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNDcmVhdGVDYXRlZ29yeUNvbnRyb2xWaXNpYmxlID0gY29tcHV0ZWQoXG4gICAgICAgICgpID0+XG4gICAgICAgICAgICAodGhpcy5jYXRlZ29yeVRyZWVTdGF0ZVNlcnZpY2UuaXNDcmVhdGluZ1Jvb3QoKSAmJiB0aGlzLmlzQ2F0ZWdvcnlDcmVhdGluZygpKSB8fFxuICAgICAgICAgICAgdGhpcy5pc0NhdGVnb3J5Q3JlYXRpb25Mb2FkaW5nKClcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRyb3Bkb3duID0gdmlld0NoaWxkLnJlcXVpcmVkPEN1aURyb3Bkb3duRGlyZWN0aXZlPignZHJvcGRvd24nKTtcblxuICAgIHB1YmxpYyByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmluaXRTZWxlY3RDYXRlZ29yeUVmZmVjdCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbk9wZW5TdG9yYWdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jYXRlZ29yeVRyZWVTdGF0ZVNlcnZpY2UuY2xlYXJDcmVhdGluZygpO1xuICAgICAgICB0aGlzLmNhdGVnb3J5VHJlZVN0YXRlU2VydmljZS5jbGVhckVkaXRpbmdJZCgpO1xuXG4gICAgICAgIGlmICh0aGlzLnN0b3JhZ2VzKCk/Lmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jYXRlZ29yaWVzRGF0YVNvdXJjZVNlcnZpY2VcbiAgICAgICAgICAgIC5sb2FkUm9vdHMoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyb290cykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RvcmFnZXMuc2V0KHJvb3RzKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblN0YXJ0Q3JlYXRpbmdOZXdDYXRlZ29yeSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0NhdGVnb3J5Q3JlYXRpbmcuc2V0KHRydWUpO1xuICAgICAgICB0aGlzLmNhdGVnb3J5VHJlZVN0YXRlU2VydmljZS5zdGFydENyZWF0aW5nUm9vdCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkNyZWF0ZU5ld0NhdGVnb3J5KHRpdGxlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0NhdGVnb3J5Q3JlYXRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5jYXRlZ29yeVRyZWVTdGF0ZVNlcnZpY2UuY2xlYXJDcmVhdGluZygpO1xuICAgICAgICB0aGlzLmlzQ2F0ZWdvcnlDcmVhdGlvbkxvYWRpbmcuc2V0KHRydWUpO1xuICAgICAgICB0aGlzLmNhdGVnb3JpZXNEYXRhU291cmNlU2VydmljZVxuICAgICAgICAgICAgLmNyZWF0ZVJvb3QodGl0bGUpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmlzQ2F0ZWdvcnlDcmVhdGlvbkxvYWRpbmcuc2V0KGZhbHNlKSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZilcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHN0b3JhZ2UpID0+IHRoaXMuc3RvcmFnZXMudXBkYXRlKCh2YWx1ZSkgPT4gWy4uLih2YWx1ZSB8fCBbXSksIHN0b3JhZ2VdKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ3JlYXRpbmdDYXRlZ29yeUNhbmNlbGVkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzQ2F0ZWdvcnlDcmVhdGluZy5zZXQoZmFsc2UpO1xuICAgICAgICB0aGlzLmNhdGVnb3J5VHJlZVN0YXRlU2VydmljZS5jbGVhckNyZWF0aW5nKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uSXRlbURlbGV0ZWQoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JhZ2VzLnVwZGF0ZSgodmFsdWUpID0+ICh2YWx1ZSA/IHZhbHVlLmZpbHRlcigoc3RvcmFnZSkgPT4gc3RvcmFnZS5pZCAhPT0gaWQpIDogdmFsdWUpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRTZWxlY3RDYXRlZ29yeUVmZmVjdCgpOiB2b2lkIHtcbiAgICAgICAgZWZmZWN0KFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2F0ZWdvcnlUcmVlU3RhdGVTZXJ2aWNlLmNhdGVnb3J5KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5kcm9wZG93bigpLmNsb3NlKCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPGJ1dHRvblxuICAgICNkcm9wZG93bj1cImN1aURyb3Bkb3duXCJcbiAgICBbY3VpRHJvcGRvd25dPVwiZHJvcGRvd25Db250ZW50XCJcbiAgICBvcmllbnRhdGlvbj1cInN0cmV0Y2hcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGNsYXNzPVwidGFyZ2V0XCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgKGNsaWNrKT1cIm9uT3BlblN0b3JhZ2VzKClcIlxuPlxuICAgIDxuZy1jb250ZW50IC8+XG48L2J1dHRvbj5cblxuPG5nLXRlbXBsYXRlICNkcm9wZG93bkNvbnRlbnQ+XG4gICAgPGN1aS1kcm9wZG93bi13cmFwcGVyXG4gICAgICAgICp0cmFuc2xvY289XCJsZXQgdFwiXG4gICAgICAgIFt0aXRsZV09XCJ0KCdTRUxFQ1RfT1JfQ1JFQVRFX0NBVEVHT1JZJylcIlxuICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICBjbGFzcz1cImRyb3Bkb3duLXdyYXBwZXJcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqY3VpTGV0PVwic3RvcmFnZXMoKSBhcyBzdG9yYWdlc1wiPlxuICAgICAgICAgICAgQGlmIChzdG9yYWdlcyAmJiBzdG9yYWdlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICA8Y3VpLWNhdGVnb3JpZXMtdHJlZS1saXN0XG4gICAgICAgICAgICAgICAgICAgIFtzdG9yYWdlc109XCJzdG9yYWdlc1wiXG4gICAgICAgICAgICAgICAgICAgIChkZWxldGVkKT1cIm9uSXRlbURlbGV0ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoaXNDcmVhdGVDYXRlZ29yeUNvbnRyb2xWaXNpYmxlKCkpIHtcbiAgICAgICAgICAgICAgICA8Y3VpLWNyZWF0ZS1jYXRlZ29yeS10cmVlLWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjcmVhdGUtY2F0ZWdvcnlcIlxuICAgICAgICAgICAgICAgICAgICBbaXNEaXNhYmxlZF09XCJpc0NhdGVnb3J5Q3JlYXRpb25Mb2FkaW5nKClcIlxuICAgICAgICAgICAgICAgICAgICAoY3JlYXRlZCk9XCJvbkNyZWF0ZU5ld0NhdGVnb3J5KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAoY2FuY2VsZWQpPVwib25DcmVhdGluZ0NhdGVnb3J5Q2FuY2VsZWQoKVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCFzdG9yYWdlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgPGN1aS1lbXB0eS1zdGF0ZVxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImVtcHR5XCJcbiAgICAgICAgICAgICAgICAgICAgW3N1YnRpdGxlXT1cInQoJ05PX0NBVEVHT1JZX1RPX1ZJRVdfWUVUJylcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjY0Ryb3Bkb3duRm9vdGVyQ29udGVudFxuICAgICAgICAgICAgY3VpQnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJnaG9zdFwiXG4gICAgICAgICAgICBzaXplPVwieHhzXCJcbiAgICAgICAgICAgIGljb249XCJjdWlJY29uUGx1c1wiXG4gICAgICAgICAgICAoY2xpY2spPVwib25TdGFydENyZWF0aW5nTmV3Q2F0ZWdvcnkoKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7IHQoJ05FV19DQVRFR09SWScpIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvY3VpLWRyb3Bkb3duLXdyYXBwZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -0,0 +1,17 @@
1
+ import { ChangeDetectionStrategy, Component, forwardRef, input, output } from '@angular/core';
2
+ import { CuiIconButtonModule, CuiSvgModule } from '../../../../../components';
3
+ import { CuiCategoryTreeItemComponent } from '../category-tree-item';
4
+ import * as i0 from "@angular/core";
5
+ export class CuiCategoriesTreeListComponent {
6
+ constructor() {
7
+ this.storages = input.required();
8
+ this.deleted = output();
9
+ }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCategoriesTreeListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiCategoriesTreeListComponent, isStandalone: true, selector: "cui-categories-tree-list", inputs: { storages: { classPropertyName: "storages", publicName: "storages", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { deleted: "deleted" }, ngImport: i0, template: "@for (storage of storages(); track storage.id) {\n <cui-category-tree-item\n [storage]=\"storage\"\n (deleted)=\"deleted.emit($event)\"\n />\n}\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CuiIconButtonModule) }, { kind: "ngmodule", type: i0.forwardRef(() => CuiSvgModule) }, { kind: "component", type: i0.forwardRef(() => CuiCategoryTreeItemComponent), selector: "cui-category-tree-item", inputs: ["storage"], outputs: ["deleted"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCategoriesTreeListComponent, decorators: [{
14
+ type: Component,
15
+ args: [{ selector: 'cui-categories-tree-list', imports: [CuiIconButtonModule, CuiSvgModule, forwardRef(() => CuiCategoryTreeItemComponent)], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "@for (storage of storages(); track storage.id) {\n <cui-category-tree-item\n [storage]=\"storage\"\n (deleted)=\"deleted.emit($event)\"\n />\n}\n", styles: [":host{display:block}\n"] }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcmllcy10cmVlLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS93aWRnZXRzL3VpL2NhdGVnb3JpZXMtdHJlZS9jb21wb25lbnRzL2NhdGVnb3JpZXMtdHJlZS1saXN0L2NhdGVnb3JpZXMtdHJlZS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9jYXRlZ29yaWVzLXRyZWUvY29tcG9uZW50cy9jYXRlZ29yaWVzLXRyZWUtbGlzdC9jYXRlZ29yaWVzLXRyZWUtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzlGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFVckUsTUFBTSxPQUFPLDhCQUE4QjtJQVIzQztRQVNvQixhQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBZ0IsQ0FBQztRQUUxQyxZQUFPLEdBQUcsTUFBTSxFQUFVLENBQUM7S0FDOUM7K0dBSlksOEJBQThCO21HQUE5Qiw4QkFBOEIsaVFDZDNDLHVLQU1BLG1HREVjLG1CQUFtQixtREFBRSxZQUFZLG9EQUFtQiw0QkFBNEI7OzRGQU1qRiw4QkFBOEI7a0JBUjFDLFNBQVM7K0JBQ0ksMEJBQTBCLFdBQzNCLENBQUMsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLGNBQ2hGLElBQUksbUJBR0MsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGZvcndhcmRSZWYsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgVHJlZVN0cnVjdCB9IGZyb20gJ0BjdWJ5LXVpL2FwaSc7XG5cbmltcG9ydCB7IEN1aUljb25CdXR0b25Nb2R1bGUsIEN1aVN2Z01vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQ3VpQ2F0ZWdvcnlUcmVlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2NhdGVnb3J5LXRyZWUtaXRlbSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY3VpLWNhdGVnb3JpZXMtdHJlZS1saXN0JyxcbiAgICBpbXBvcnRzOiBbQ3VpSWNvbkJ1dHRvbk1vZHVsZSwgQ3VpU3ZnTW9kdWxlLCBmb3J3YXJkUmVmKCgpID0+IEN1aUNhdGVnb3J5VHJlZUl0ZW1Db21wb25lbnQpXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYXRlZ29yaWVzLXRyZWUtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2NhdGVnb3JpZXMtdHJlZS1saXN0LmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBDdWlDYXRlZ29yaWVzVHJlZUxpc3RDb21wb25lbnQge1xuICAgIHB1YmxpYyByZWFkb25seSBzdG9yYWdlcyA9IGlucHV0LnJlcXVpcmVkPFRyZWVTdHJ1Y3RbXT4oKTtcblxuICAgIHB1YmxpYyByZWFkb25seSBkZWxldGVkID0gb3V0cHV0PHN0cmluZz4oKTtcbn1cbiIsIkBmb3IgKHN0b3JhZ2Ugb2Ygc3RvcmFnZXMoKTsgdHJhY2sgc3RvcmFnZS5pZCkge1xuICAgIDxjdWktY2F0ZWdvcnktdHJlZS1pdGVtXG4gICAgICAgIFtzdG9yYWdlXT1cInN0b3JhZ2VcIlxuICAgICAgICAoZGVsZXRlZCk9XCJkZWxldGVkLmVtaXQoJGV2ZW50KVwiXG4gICAgLz5cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export { CuiCategoriesTreeListComponent } from './categories-tree-list.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvY2F0ZWdvcmllcy10cmVlL2NvbXBvbmVudHMvY2F0ZWdvcmllcy10cmVlLWxpc3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBDdWlDYXRlZ29yaWVzVHJlZUxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NhdGVnb3JpZXMtdHJlZS1saXN0LmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,79 @@
1
+ import { ChangeDetectionStrategy, Component, effect, ElementRef, inject, input, output, viewChild } from '@angular/core';
2
+ import { NonNullableFormBuilder, ReactiveFormsModule } from '@angular/forms';
3
+ import { TranslocoDirective } from '@jsverse/transloco';
4
+ import { cuiCreateDefaultValidators } from '../../../../../utils';
5
+ import { CuiFormFieldModule, CuiHintModule, CuiIconButtonModule, CuiGhostInputComponent } from '../../../../../components';
6
+ import { CuiGeneralControlErrorHintComponent } from '../../../general-control-error-hint';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../../../../../components/icon-button/icon-button.component";
9
+ import * as i2 from "@angular/forms";
10
+ export class CuiCategoryTreeFormComponent {
11
+ get isTitleInvalid() {
12
+ return this.titleControl.invalid && this.titleControl.dirty;
13
+ }
14
+ get isSubmitButtonDisabled() {
15
+ return this.isDisabled() || this.form.invalid;
16
+ }
17
+ constructor() {
18
+ this.nonNullableFormBuilder = inject(NonNullableFormBuilder);
19
+ this.form = this.nonNullableFormBuilder.group({
20
+ title: ['', cuiCreateDefaultValidators({ asyncDelay: 0 })]
21
+ });
22
+ this.titleControl = this.form.controls.title;
23
+ this.isDisabled = input(false);
24
+ this.defaultTitle = input('');
25
+ this.created = output();
26
+ this.canceled = output();
27
+ this.input = viewChild.required('input', { read: (ElementRef) });
28
+ this.initInputDisableStateSubscription();
29
+ }
30
+ ngOnInit() {
31
+ this.initDefaultTitle();
32
+ this.initInputFocus();
33
+ }
34
+ onHostClick(event) {
35
+ event.stopPropagation();
36
+ }
37
+ onSubmit() {
38
+ if (this.form.invalid) {
39
+ return;
40
+ }
41
+ this.created.emit(this.form.value.title);
42
+ }
43
+ onCancel(event) {
44
+ event.stopPropagation();
45
+ this.canceled.emit();
46
+ }
47
+ initInputDisableStateSubscription() {
48
+ effect(() => {
49
+ if (this.isDisabled()) {
50
+ this.titleControl.disable();
51
+ return;
52
+ }
53
+ this.titleControl.enable();
54
+ });
55
+ }
56
+ initDefaultTitle() {
57
+ this.form.patchValue({ title: this.defaultTitle() });
58
+ }
59
+ initInputFocus() {
60
+ Promise.resolve().then(() => this.input().nativeElement.focus());
61
+ }
62
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCategoryTreeFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
63
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.14", type: CuiCategoryTreeFormComponent, isStandalone: true, selector: "cui-category-tree-form", inputs: { isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, defaultTitle: { classPropertyName: "defaultTitle", publicName: "defaultTitle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { created: "created", canceled: "canceled" }, host: { listeners: { "click": "onHostClick($event)" } }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "<ng-container *transloco=\"let t\">\n <form\n [formGroup]=\"form\"\n class=\"form\"\n (ngSubmit)=\"onSubmit()\"\n >\n <div class=\"input\">\n <input\n #input\n cuiGhostInput\n formControlName=\"title\"\n type=\"text\"\n placeholder=\"{{ t('ADD_CATEGORY_NAME') }}...\"\n [isError]=\"isTitleInvalid\"\n (keyup)=\"$event.preventDefault()\"\n />\n <cui-general-control-error-hint [control]=\"titleControl\" />\n </div>\n <button\n cuiIconButton\n type=\"submit\"\n icon=\"cuiIconCheck\"\n color=\"var(--cui-success)\"\n [disabled]=\"isSubmitButtonDisabled\"\n class=\"button\"\n ></button>\n </form>\n <button\n cuiIconButton\n type=\"button\"\n icon=\"cuiIconXCircle\"\n color=\"var(--cui-danger)\"\n (click)=\"onCancel($event)\"\n [disabled]=\"isDisabled()\"\n class=\"button\"\n ></button>\n</ng-container>\n", styles: [":host{padding-top:2px;padding-bottom:2px;display:flex;gap:4px;flex-grow:1}.form,.input{flex-grow:1}.form{display:flex;flex-direction:row;gap:4px}.input{display:flex;flex-direction:column;gap:4px;align-items:flex-start;justify-content:flex-start}.button{width:28px}.button:disabled{opacity:.5}\n"], dependencies: [{ kind: "ngmodule", type: CuiFormFieldModule }, { kind: "ngmodule", type: CuiHintModule }, { kind: "ngmodule", type: CuiIconButtonModule }, { kind: "component", type: i1.CuiIconButtonComponent, selector: "button[cuiIconButton][icon], a[cuiIconButton][icon]", inputs: ["icon", "color", "hoverColor"] }, { kind: "component", type: CuiGeneralControlErrorHintComponent, selector: "cui-general-control-error-hint", inputs: ["control", "isVisible"] }, { kind: "component", type: CuiGhostInputComponent, selector: "input [cuiGhostInput]", inputs: ["isError"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
64
+ }
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCategoryTreeFormComponent, decorators: [{
66
+ type: Component,
67
+ args: [{ selector: 'cui-category-tree-form', imports: [
68
+ CuiFormFieldModule,
69
+ CuiHintModule,
70
+ CuiIconButtonModule,
71
+ CuiGeneralControlErrorHintComponent,
72
+ CuiGhostInputComponent,
73
+ ReactiveFormsModule,
74
+ TranslocoDirective
75
+ ], standalone: true, host: {
76
+ '(click)': 'onHostClick($event)'
77
+ }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *transloco=\"let t\">\n <form\n [formGroup]=\"form\"\n class=\"form\"\n (ngSubmit)=\"onSubmit()\"\n >\n <div class=\"input\">\n <input\n #input\n cuiGhostInput\n formControlName=\"title\"\n type=\"text\"\n placeholder=\"{{ t('ADD_CATEGORY_NAME') }}...\"\n [isError]=\"isTitleInvalid\"\n (keyup)=\"$event.preventDefault()\"\n />\n <cui-general-control-error-hint [control]=\"titleControl\" />\n </div>\n <button\n cuiIconButton\n type=\"submit\"\n icon=\"cuiIconCheck\"\n color=\"var(--cui-success)\"\n [disabled]=\"isSubmitButtonDisabled\"\n class=\"button\"\n ></button>\n </form>\n <button\n cuiIconButton\n type=\"button\"\n icon=\"cuiIconXCircle\"\n color=\"var(--cui-danger)\"\n (click)=\"onCancel($event)\"\n [disabled]=\"isDisabled()\"\n class=\"button\"\n ></button>\n</ng-container>\n", styles: [":host{padding-top:2px;padding-bottom:2px;display:flex;gap:4px;flex-grow:1}.form,.input{flex-grow:1}.form{display:flex;flex-direction:row;gap:4px}.input{display:flex;flex-direction:column;gap:4px;align-items:flex-start;justify-content:flex-start}.button{width:28px}.button:disabled{opacity:.5}\n"] }]
78
+ }], ctorParameters: () => [] });
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktdHJlZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9jYXRlZ29yaWVzLXRyZWUvY29tcG9uZW50cy9jYXRlZ29yeS10cmVlLWZvcm0vY2F0ZWdvcnktdHJlZS1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9jYXRlZ29yaWVzLXRyZWUvY29tcG9uZW50cy9jYXRlZ29yeS10cmVlLWZvcm0vY2F0ZWdvcnktdHJlZS1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXhELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xFLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLG1CQUFtQixFQUNuQixzQkFBc0IsRUFDekIsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7OztBQXFCMUYsTUFBTSxPQUFPLDRCQUE0QjtJQWdCckMsSUFBYyxjQUFjO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFDaEUsQ0FBQztJQUVELElBQWMsc0JBQXNCO1FBQ2hD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QUUscUJBQXFCO3FCQUNuQyxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBlZmZlY3QsXG4gICAgRWxlbWVudFJlZixcbiAgICBpbmplY3QsXG4gICAgaW5wdXQsXG4gICAgb3V0cHV0LFxuICAgIHZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vbk51bGxhYmxlRm9ybUJ1aWxkZXIsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUcmFuc2xvY29EaXJlY3RpdmUgfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nO1xuXG5pbXBvcnQgeyBjdWlDcmVhdGVEZWZhdWx0VmFsaWRhdG9ycyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7XG4gICAgQ3VpRm9ybUZpZWxkTW9kdWxlLFxuICAgIEN1aUhpbnRNb2R1bGUsXG4gICAgQ3VpSWNvbkJ1dHRvbk1vZHVsZSxcbiAgICBDdWlHaG9zdElucHV0Q29tcG9uZW50XG59IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQ3VpR2VuZXJhbENvbnRyb2xFcnJvckhpbnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9nZW5lcmFsLWNvbnRyb2wtZXJyb3ItaGludCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY3VpLWNhdGVnb3J5LXRyZWUtZm9ybScsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDdWlGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIEN1aUhpbnRNb2R1bGUsXG4gICAgICAgIEN1aUljb25CdXR0b25Nb2R1bGUsXG4gICAgICAgIEN1aUdlbmVyYWxDb250cm9sRXJyb3JIaW50Q29tcG9uZW50LFxuICAgICAgICBDdWlHaG9zdElucHV0Q29tcG9uZW50LFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBUcmFuc2xvY29EaXJlY3RpdmVcbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NhdGVnb3J5LXRyZWUtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2NhdGVnb3J5LXRyZWUtZm9ybS5jb21wb25lbnQuc2NzcycsXG4gICAgaG9zdDoge1xuICAgICAgICAnKGNsaWNrKSc6ICdvbkhvc3RDbGljaygkZXZlbnQpJ1xuICAgIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQ3VpQ2F0ZWdvcnlUcmVlRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG5vbk51bGxhYmxlRm9ybUJ1aWxkZXIgPSBpbmplY3QoTm9uTnVsbGFibGVGb3JtQnVpbGRlcik7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZm9ybSA9IHRoaXMubm9uTnVsbGFibGVGb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAgIHRpdGxlOiBbJycsIGN1aUNyZWF0ZURlZmF1bHRWYWxpZGF0b3JzKHsgYXN5bmNEZWxheTogMCB9KV1cbiAgICB9KTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGl0bGVDb250cm9sID0gdGhpcy5mb3JtLmNvbnRyb2xzLnRpdGxlO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGlzRGlzYWJsZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gICAgcHVibGljIHJlYWRvbmx5IGRlZmF1bHRUaXRsZSA9IGlucHV0PHN0cmluZz4oJycpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGNyZWF0ZWQgPSBvdXRwdXQ8c3RyaW5nPigpO1xuICAgIHB1YmxpYyByZWFkb25seSBjYW5jZWxlZCA9IG91dHB1dDx2b2lkPigpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlucHV0ID0gdmlld0NoaWxkLnJlcXVpcmVkKCdpbnB1dCcsIHsgcmVhZDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PiB9KTtcblxuICAgIHByb3RlY3RlZCBnZXQgaXNUaXRsZUludmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRpdGxlQ29udHJvbC5pbnZhbGlkICYmIHRoaXMudGl0bGVDb250cm9sLmRpcnR5O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgaXNTdWJtaXRCdXR0b25EaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNEaXNhYmxlZCgpIHx8IHRoaXMuZm9ybS5pbnZhbGlkO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmluaXRJbnB1dERpc2FibGVTdGF0ZVN1YnNjcmlwdGlvbigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0RGVmYXVsdFRpdGxlKCk7XG4gICAgICAgIHRoaXMuaW5pdElucHV0Rm9jdXMoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Ib3N0Q2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblN1Ym1pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNyZWF0ZWQuZW1pdCh0aGlzLmZvcm0udmFsdWUudGl0bGUhKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25DYW5jZWwoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLmNhbmNlbGVkLmVtaXQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRJbnB1dERpc2FibGVTdGF0ZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzRGlzYWJsZWQoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMudGl0bGVDb250cm9sLmRpc2FibGUoKTtcblxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy50aXRsZUNvbnRyb2wuZW5hYmxlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdERlZmF1bHRUaXRsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoeyB0aXRsZTogdGhpcy5kZWZhdWx0VGl0bGUoKSB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRJbnB1dEZvY3VzKCk6IHZvaWQge1xuICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHRoaXMuaW5wdXQoKS5uYXRpdmVFbGVtZW50LmZvY3VzKCkpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKnRyYW5zbG9jbz1cImxldCB0XCI+XG4gICAgPGZvcm1cbiAgICAgICAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgICAgICAgY2xhc3M9XCJmb3JtXCJcbiAgICAgICAgKG5nU3VibWl0KT1cIm9uU3VibWl0KClcIlxuICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0XCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAjaW5wdXRcbiAgICAgICAgICAgICAgICBjdWlHaG9zdElucHV0XG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IHQoJ0FERF9DQVRFR09SWV9OQU1FJykgfX0uLi5cIlxuICAgICAgICAgICAgICAgIFtpc0Vycm9yXT1cImlzVGl0bGVJbnZhbGlkXCJcbiAgICAgICAgICAgICAgICAoa2V5dXApPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxjdWktZ2VuZXJhbC1jb250cm9sLWVycm9yLWhpbnQgW2NvbnRyb2xdPVwidGl0bGVDb250cm9sXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGN1aUljb25CdXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgaWNvbj1cImN1aUljb25DaGVja1wiXG4gICAgICAgICAgICBjb2xvcj1cInZhcigtLWN1aS1zdWNjZXNzKVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNTdWJtaXRCdXR0b25EaXNhYmxlZFwiXG4gICAgICAgICAgICBjbGFzcz1cImJ1dHRvblwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICA8L2Zvcm0+XG4gICAgPGJ1dHRvblxuICAgICAgICBjdWlJY29uQnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBpY29uPVwiY3VpSWNvblhDaXJjbGVcIlxuICAgICAgICBjb2xvcj1cInZhcigtLWN1aS1kYW5nZXIpXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2FuY2VsKCRldmVudClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZCgpXCJcbiAgICAgICAgY2xhc3M9XCJidXR0b25cIlxuICAgID48L2J1dHRvbj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -0,0 +1,2 @@
1
+ export { CuiCategoryTreeFormComponent } from './category-tree-form.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvY2F0ZWdvcmllcy10cmVlL2NvbXBvbmVudHMvY2F0ZWdvcnktdHJlZS1mb3JtL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQ3VpQ2F0ZWdvcnlUcmVlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vY2F0ZWdvcnktdHJlZS1mb3JtLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,149 @@
1
+ import { ChangeDetectionStrategy, Component, computed, DestroyRef, effect, forwardRef, inject, input, output, signal } from '@angular/core';
2
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
+ import { CuiLetDirective } from '@cuby-ui/cdk';
4
+ import { finalize } from 'rxjs';
5
+ import { CuiButtonModule, CuiIconButtonModule, CuiSvgModule } from '../../../../../components';
6
+ import { CUI_CATEGORIES_TREE_DATA_SOURCE_SERVICE_TOKEN } from '../../models';
7
+ import { CuiCategoryTreeStateService } from '../../services';
8
+ import { CuiCategoriesTreeListComponent } from '../categories-tree-list';
9
+ import { CuiCategoryTreeFormComponent } from '../category-tree-form';
10
+ import { CuiCreateCategoryTreeItemComponent } from '../create-category-tree-item';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "../../../../../components/button/button.component";
13
+ import * as i2 from "../../../../../components/svg/svg.component";
14
+ export class CuiCategoryTreeItemComponent {
15
+ constructor() {
16
+ this.destroyRef = inject(DestroyRef);
17
+ this.categoriesDataSourceService = inject(CUI_CATEGORIES_TREE_DATA_SOURCE_SERVICE_TOKEN);
18
+ this.categoryTreeStateService = inject(CuiCategoryTreeStateService);
19
+ this.isDeleteSupported = !!this.categoriesDataSourceService.delete;
20
+ this.storageChildren = signal([]);
21
+ this.areChildrenOpened = signal(false);
22
+ this.isSubcategoryCreating = signal(false);
23
+ this.isSubcategoryCreationLoading = signal(false);
24
+ this.isDeleting = signal(false);
25
+ this.openCloseButtonIcon = computed(() => this.areChildrenOpened() ? 'cuiIconChevronDown' : 'cuiIconChevronRight');
26
+ this.doChildrenExist = computed(() => this.storage().children.length || this.storageChildren().length);
27
+ this.isOpenCloseButtonHidden = computed(() => !this.doChildrenExist());
28
+ this.storageIcon = computed(() => this.areChildrenOpened() && this.doChildrenExist() ? 'cuiIconFolderOpen' : 'cuiIconFolder');
29
+ this.alignItems = computed(() => (this.isTitleEdit() ? 'flex-start' : 'center'));
30
+ this.isTitleEdit = computed(() => this.categoryTreeStateService.editingId() === this.storage().id);
31
+ this.isCreateCategoryControlVisible = computed(() => (this.categoryTreeStateService.creatingParentId() === this.storage().id && this.isSubcategoryCreating()) ||
32
+ this.isSubcategoryCreationLoading());
33
+ this.isEmpty = computed(() => !this.storage().elements.length && !this.storage().children.length && !this.storageChildren().length);
34
+ this.categoryTitle = signal('');
35
+ this.category = computed(() => ({
36
+ ...this.storage(),
37
+ title: this.categoryTitle() || this.storage().title
38
+ }));
39
+ this.storage = input.required();
40
+ this.deleted = output();
41
+ this.initStorageChildren();
42
+ }
43
+ onSelectCategory() {
44
+ this.categoryTreeStateService.setCurrentCategory(this.category());
45
+ }
46
+ onToggleChildren(event) {
47
+ event.stopPropagation();
48
+ this.areChildrenOpened.update((value) => !value);
49
+ if (this.areChildrenOpened()) {
50
+ return;
51
+ }
52
+ this.isSubcategoryCreating.set(false);
53
+ }
54
+ onTitleChanged(title) {
55
+ this.onCancelTitleEdit();
56
+ if (title === this.category().title) {
57
+ return;
58
+ }
59
+ this.categoriesDataSourceService
60
+ .updateTitle(this.storage().id, title)
61
+ .pipe(takeUntilDestroyed(this.destroyRef))
62
+ .subscribe(() => {
63
+ this.categoryTitle.set(title);
64
+ if (this.category().id === this.categoryTreeStateService.category()?.id) {
65
+ this.categoryTreeStateService.setCurrentCategory(this.category());
66
+ }
67
+ });
68
+ }
69
+ onStartTitleEdit(event) {
70
+ event?.stopPropagation();
71
+ this.categoryTreeStateService.setEditingId(this.storage().id);
72
+ this.onCreatingSubcategoryCanceled();
73
+ }
74
+ onCancelTitleEdit() {
75
+ this.categoryTreeStateService.clearEditingId();
76
+ }
77
+ onStartCreatingSubcategory(event) {
78
+ event.stopPropagation();
79
+ this.isSubcategoryCreating.set(true);
80
+ this.areChildrenOpened.set(true);
81
+ this.categoryTreeStateService.startCreatingChildOf(this.storage().id);
82
+ }
83
+ onCreateNewSubcategory(title) {
84
+ this.isSubcategoryCreating.set(false);
85
+ this.isSubcategoryCreationLoading.set(true);
86
+ this.categoriesDataSourceService
87
+ .createChild(this.storage().id, title)
88
+ .pipe(finalize(() => this.isSubcategoryCreationLoading.set(false)), takeUntilDestroyed(this.destroyRef))
89
+ .subscribe((storage) => {
90
+ this.storageChildren.update((value) => [...value, storage]);
91
+ });
92
+ }
93
+ onCreatingSubcategoryCanceled() {
94
+ this.isSubcategoryCreating.set(false);
95
+ this.categoryTreeStateService.clearCreating();
96
+ }
97
+ onDelete(event) {
98
+ event.stopPropagation();
99
+ const deleteRequest = this.categoriesDataSourceService.delete;
100
+ if (!deleteRequest || !this.isEmpty() || this.isDeleting()) {
101
+ return;
102
+ }
103
+ this.isDeleting.set(true);
104
+ deleteRequest
105
+ .call(this.categoriesDataSourceService, this.storage().id)
106
+ .pipe(finalize(() => this.isDeleting.set(false)), takeUntilDestroyed(this.destroyRef))
107
+ .subscribe(() => this.deleted.emit(this.storage().id));
108
+ }
109
+ onChildDeleted(id) {
110
+ this.storageChildren.update((children) => children.filter((child) => child.id !== id));
111
+ }
112
+ initStorageChildren() {
113
+ effect(() => {
114
+ if (!this.areChildrenOpened() || this.storageChildren().length) {
115
+ return;
116
+ }
117
+ const storage = this.storage();
118
+ const children = storage.children;
119
+ if (!children.length) {
120
+ return;
121
+ }
122
+ if (typeof children[0] !== 'string') {
123
+ this.storageChildren.set(children);
124
+ return;
125
+ }
126
+ this.categoriesDataSourceService
127
+ .loadChildren(storage.id)
128
+ .pipe(takeUntilDestroyed(this.destroyRef))
129
+ .subscribe((storages) => {
130
+ this.storageChildren.set(storages);
131
+ });
132
+ }, { allowSignalWrites: true });
133
+ }
134
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCategoryTreeItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
135
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiCategoryTreeItemComponent, isStandalone: true, selector: "cui-category-tree-item", inputs: { storage: { classPropertyName: "storage", publicName: "storage", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { deleted: "deleted" }, ngImport: i0, template: "<ng-container *cuiLet=\"category() as stage\">\n <button\n type=\"button\"\n [style.align-items]=\"alignItems()\"\n class=\"category\"\n (click)=\"onSelectCategory()\"\n >\n <button\n type=\"button\"\n class=\"category__open-close-button\"\n [class.category__open-close-button_hidden]=\"isOpenCloseButtonHidden()\"\n (click)=\"onToggleChildren($event)\"\n >\n <cui-svg\n [icon]=\"openCloseButtonIcon()\"\n color=\"var(--cui-base-500)\"\n />\n </button>\n <cui-svg\n [icon]=\"storageIcon()\"\n color=\"var(--cui-base-500)\"\n class=\"icon\"\n />\n @if (isTitleEdit()) {\n <cui-category-tree-form\n [defaultTitle]=\"stage.title\"\n (created)=\"onTitleChanged($event)\"\n (canceled)=\"onCancelTitleEdit()\"\n />\n } @else {\n <span class=\"category__title\">{{ stage.title }}</span>\n\n <button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconEdit\"\n class=\"category__add-subcategory-button\"\n (click)=\"onStartTitleEdit($event)\"\n ></button>\n <button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconPlus\"\n class=\"category__add-subcategory-button\"\n (click)=\"onStartCreatingSubcategory($event)\"\n ></button>\n @if (isDeleteSupported) {\n <button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconTrash\"\n [disabled]=\"!isEmpty() || isDeleting()\"\n class=\"category__add-subcategory-button\"\n (click)=\"onDelete($event)\"\n ></button>\n }\n }\n </button>\n <div\n [hidden]=\"!areChildrenOpened()\"\n class=\"list-wrapper\"\n >\n <cui-categories-tree-list\n [storages]=\"storageChildren()\"\n (deleted)=\"onChildDeleted($event)\"\n />\n @if (isCreateCategoryControlVisible()) {\n <cui-create-category-tree-item\n class=\"create-category\"\n [isDisabled]=\"isSubcategoryCreationLoading()\"\n (created)=\"onCreateNewSubcategory($event)\"\n (canceled)=\"onCreatingSubcategoryCanceled()\"\n />\n }\n </div>\n</ng-container>\n", styles: [".category{display:flex;flex-direction:row;gap:4px;padding:2px 4px;width:100%;min-height:32px;border-radius:8px}@media (hover: hover){.category:hover{background:var(--cui-base-10)}}.category:active{background:var(--cui-base-10)}.category__open-close-button{display:flex;flex-direction:row;gap:0;padding:2px;border-radius:4px;margin:4px 0}@media (hover: hover){.category__open-close-button:hover{background:var(--cui-base-100)}}.category__open-close-button:active{background:var(--cui-base-100)}.category__open-close-button_hidden{visibility:hidden}.category__title{flex:1;text-align:start;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.category__add-subcategory-button{--cui-base-50: var(--cui-base-200)}.list-wrapper{padding-left:8px}.create-category{margin-left:24px}.icon{padding-right:2px;padding-left:2px;height:28px}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CuiButtonModule) }, { kind: "component", type: i0.forwardRef(() => i1.CuiButtonComponent), selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "theme", "size"] }, { kind: "ngmodule", type: i0.forwardRef(() => CuiIconButtonModule) }, { kind: "directive", type: i0.forwardRef(() => CuiLetDirective), selector: "[cuiLet]", inputs: ["cuiLet"] }, { kind: "ngmodule", type: i0.forwardRef(() => CuiSvgModule) }, { kind: "component", type: i0.forwardRef(() => i2.CuiSvgComponent), selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "component", type: i0.forwardRef(() => CuiCategoryTreeFormComponent), selector: "cui-category-tree-form", inputs: ["isDisabled", "defaultTitle"], outputs: ["created", "canceled"] }, { kind: "component", type: i0.forwardRef(() => CuiCreateCategoryTreeItemComponent), selector: "cui-create-category-tree-item", inputs: ["isDisabled"], outputs: ["created", "canceled"] }, { kind: "component", type: i0.forwardRef(() => CuiCategoriesTreeListComponent), selector: "cui-categories-tree-list", inputs: ["storages"], outputs: ["deleted"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
136
+ }
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCategoryTreeItemComponent, decorators: [{
138
+ type: Component,
139
+ args: [{ selector: 'cui-category-tree-item', imports: [
140
+ CuiButtonModule,
141
+ CuiIconButtonModule,
142
+ CuiLetDirective,
143
+ CuiSvgModule,
144
+ CuiCategoryTreeFormComponent,
145
+ CuiCreateCategoryTreeItemComponent,
146
+ forwardRef(() => CuiCategoriesTreeListComponent)
147
+ ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *cuiLet=\"category() as stage\">\n <button\n type=\"button\"\n [style.align-items]=\"alignItems()\"\n class=\"category\"\n (click)=\"onSelectCategory()\"\n >\n <button\n type=\"button\"\n class=\"category__open-close-button\"\n [class.category__open-close-button_hidden]=\"isOpenCloseButtonHidden()\"\n (click)=\"onToggleChildren($event)\"\n >\n <cui-svg\n [icon]=\"openCloseButtonIcon()\"\n color=\"var(--cui-base-500)\"\n />\n </button>\n <cui-svg\n [icon]=\"storageIcon()\"\n color=\"var(--cui-base-500)\"\n class=\"icon\"\n />\n @if (isTitleEdit()) {\n <cui-category-tree-form\n [defaultTitle]=\"stage.title\"\n (created)=\"onTitleChanged($event)\"\n (canceled)=\"onCancelTitleEdit()\"\n />\n } @else {\n <span class=\"category__title\">{{ stage.title }}</span>\n\n <button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconEdit\"\n class=\"category__add-subcategory-button\"\n (click)=\"onStartTitleEdit($event)\"\n ></button>\n <button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconPlus\"\n class=\"category__add-subcategory-button\"\n (click)=\"onStartCreatingSubcategory($event)\"\n ></button>\n @if (isDeleteSupported) {\n <button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconTrash\"\n [disabled]=\"!isEmpty() || isDeleting()\"\n class=\"category__add-subcategory-button\"\n (click)=\"onDelete($event)\"\n ></button>\n }\n }\n </button>\n <div\n [hidden]=\"!areChildrenOpened()\"\n class=\"list-wrapper\"\n >\n <cui-categories-tree-list\n [storages]=\"storageChildren()\"\n (deleted)=\"onChildDeleted($event)\"\n />\n @if (isCreateCategoryControlVisible()) {\n <cui-create-category-tree-item\n class=\"create-category\"\n [isDisabled]=\"isSubcategoryCreationLoading()\"\n (created)=\"onCreateNewSubcategory($event)\"\n (canceled)=\"onCreatingSubcategoryCanceled()\"\n />\n }\n </div>\n</ng-container>\n", styles: [".category{display:flex;flex-direction:row;gap:4px;padding:2px 4px;width:100%;min-height:32px;border-radius:8px}@media (hover: hover){.category:hover{background:var(--cui-base-10)}}.category:active{background:var(--cui-base-10)}.category__open-close-button{display:flex;flex-direction:row;gap:0;padding:2px;border-radius:4px;margin:4px 0}@media (hover: hover){.category__open-close-button:hover{background:var(--cui-base-100)}}.category__open-close-button:active{background:var(--cui-base-100)}.category__open-close-button_hidden{visibility:hidden}.category__title{flex:1;text-align:start;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.category__add-subcategory-button{--cui-base-50: var(--cui-base-200)}.list-wrapper{padding-left:8px}.create-category{margin-left:24px}.icon{padding-right:2px;padding-left:2px;height:28px}\n"] }]
148
+ }], ctorParameters: () => [] });
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktdHJlZS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9jYXRlZ29yaWVzLXRyZWUvY29tcG9uZW50cy9jYXRlZ29yeS10cmVlLWl0ZW0vY2F0ZWdvcnktdHJlZS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9jYXRlZ29yaWVzLXRyZWUvY29tcG9uZW50cy9jYXRlZ29yeS10cmVlLWl0ZW0vY2F0ZWdvcnktdHJlZS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsTUFBTSxFQUNOLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUcvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhDLE9BQU8sRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0YsT0FBTyxFQUFFLDZDQUE2QyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFN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QTRCLDRQQ3pDekMsbXlGQWtGQSxnNUJEdERRLGVBQWUsNlFBQ2YsbUJBQW1CLG9EQUNuQixlQUFlLDZGQUNmLFlBQVksa05BQ1osNEJBQTRCLGtLQUM1QixrQ0FBa0MseUpBQ2pCLDhCQUE4Qjs7NEZBTzFDLDRCQUE0QjtrQkFoQnhDLFNBQVM7K0JBQ0ksd0JBQXdCLFdBQ3pCO3dCQUNMLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLFlBQVk7d0JBQ1osNEJBQTRCO3dCQUM1QixrQ0FBa0M7d0JBQ2xDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQztxQkFDbkQsY0FDVyxJQUFJLG1CQUdDLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBEZXN0cm95UmVmLFxuICAgIGVmZmVjdCxcbiAgICBmb3J3YXJkUmVmLFxuICAgIGluamVjdCxcbiAgICBpbnB1dCxcbiAgICBvdXRwdXQsXG4gICAgc2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgQ3VpTGV0RGlyZWN0aXZlIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcbmltcG9ydCB0eXBlIHsgVHJlZVN0cnVjdCB9IGZyb20gJ0BjdWJ5LXVpL2FwaSc7XG5pbXBvcnQgdHlwZSB7IEN1aUljb24gfSBmcm9tICdAY3VieS11aS9pY29ucyc7XG5pbXBvcnQgeyBmaW5hbGl6ZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDdWlCdXR0b25Nb2R1bGUsIEN1aUljb25CdXR0b25Nb2R1bGUsIEN1aVN2Z01vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQ1VJX0NBVEVHT1JJRVNfVFJFRV9EQVRBX1NPVVJDRV9TRVJWSUNFX1RPS0VOIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEN1aUNhdGVnb3J5VHJlZVN0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IEN1aUNhdGVnb3JpZXNUcmVlTGlzdENvbXBvbmVudCB9IGZyb20gJy4uL2NhdGVnb3JpZXMtdHJlZS1saXN0JztcbmltcG9ydCB7IEN1aUNhdGVnb3J5VHJlZUZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9jYXRlZ29yeS10cmVlLWZvcm0nO1xuaW1wb3J0IHsgQ3VpQ3JlYXRlQ2F0ZWdvcnlUcmVlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2NyZWF0ZS1jYXRlZ29yeS10cmVlLWl0ZW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2N1aS1jYXRlZ29yeS10cmVlLWl0ZW0nLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ3VpQnV0dG9uTW9kdWxlLFxuICAgICAgICBDdWlJY29uQnV0dG9uTW9kdWxlLFxuICAgICAgICBDdWlMZXREaXJlY3RpdmUsXG4gICAgICAgIEN1aVN2Z01vZHVsZSxcbiAgICAgICAgQ3VpQ2F0ZWdvcnlUcmVlRm9ybUNvbXBvbmVudCxcbiAgICAgICAgQ3VpQ3JlYXRlQ2F0ZWdvcnlUcmVlSXRlbUNvbXBvbmVudCxcbiAgICAgICAgZm9yd2FyZFJlZigoKSA9PiBDdWlDYXRlZ29yaWVzVHJlZUxpc3RDb21wb25lbnQpXG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYXRlZ29yeS10cmVlLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9jYXRlZ29yeS10cmVlLWl0ZW0uY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEN1aUNhdGVnb3J5VHJlZUl0ZW1Db21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhdGVnb3JpZXNEYXRhU291cmNlU2VydmljZSA9IGluamVjdChDVUlfQ0FURUdPUklFU19UUkVFX0RBVEFfU09VUkNFX1NFUlZJQ0VfVE9LRU4pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2F0ZWdvcnlUcmVlU3RhdGVTZXJ2aWNlID0gaW5qZWN0KEN1aUNhdGVnb3J5VHJlZVN0YXRlU2VydmljZSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNEZWxldGVTdXBwb3J0ZWQgPSAhIXRoaXMuY2F0ZWdvcmllc0RhdGFTb3VyY2VTZXJ2aWNlLmRlbGV0ZTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBzdG9yYWdlQ2hpbGRyZW4gPSBzaWduYWw8VHJlZVN0cnVjdFtdPihbXSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGFyZUNoaWxkcmVuT3BlbmVkID0gc2lnbmFsKGZhbHNlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNTdWJjYXRlZ29yeUNyZWF0aW5nID0gc2lnbmFsKGZhbHNlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNTdWJjYXRlZ29yeUNyZWF0aW9uTG9hZGluZyA9IHNpZ25hbChmYWxzZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzRGVsZXRpbmcgPSBzaWduYWwoZmFsc2UpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBvcGVuQ2xvc2VCdXR0b25JY29uID0gY29tcHV0ZWQ8Q3VpSWNvbj4oKCkgPT5cbiAgICAgICAgdGhpcy5hcmVDaGlsZHJlbk9wZW5lZCgpID8gJ2N1aUljb25DaGV2cm9uRG93bicgOiAnY3VpSWNvbkNoZXZyb25SaWdodCdcbiAgICApO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkb0NoaWxkcmVuRXhpc3QgPSBjb21wdXRlZChcbiAgICAgICAgKCkgPT4gdGhpcy5zdG9yYWdlKCkuY2hpbGRyZW4ubGVuZ3RoIHx8IHRoaXMuc3RvcmFnZUNoaWxkcmVuKCkubGVuZ3RoXG4gICAgKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNPcGVuQ2xvc2VCdXR0b25IaWRkZW4gPSBjb21wdXRlZCgoKSA9PiAhdGhpcy5kb0NoaWxkcmVuRXhpc3QoKSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0b3JhZ2VJY29uID0gY29tcHV0ZWQ8Q3VpSWNvbj4oKCkgPT5cbiAgICAgICAgdGhpcy5hcmVDaGlsZHJlbk9wZW5lZCgpICYmIHRoaXMuZG9DaGlsZHJlbkV4aXN0KCkgPyAnY3VpSWNvbkZvbGRlck9wZW4nIDogJ2N1aUljb25Gb2xkZXInXG4gICAgKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWxpZ25JdGVtcyA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmlzVGl0bGVFZGl0KCkgPyAnZmxleC1zdGFydCcgOiAnY2VudGVyJykpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc1RpdGxlRWRpdCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY2F0ZWdvcnlUcmVlU3RhdGVTZXJ2aWNlLmVkaXRpbmdJZCgpID09PSB0aGlzLnN0b3JhZ2UoKS5pZCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzQ3JlYXRlQ2F0ZWdvcnlDb250cm9sVmlzaWJsZSA9IGNvbXB1dGVkKFxuICAgICAgICAoKSA9PlxuICAgICAgICAgICAgKHRoaXMuY2F0ZWdvcnlUcmVlU3RhdGVTZXJ2aWNlLmNyZWF0aW5nUGFyZW50SWQoKSA9PT0gdGhpcy5zdG9yYWdlKCkuaWQgJiYgdGhpcy5pc1N1YmNhdGVnb3J5Q3JlYXRpbmcoKSkgfHxcbiAgICAgICAgICAgIHRoaXMuaXNTdWJjYXRlZ29yeUNyZWF0aW9uTG9hZGluZygpXG4gICAgKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNFbXB0eSA9IGNvbXB1dGVkKFxuICAgICAgICAoKSA9PiAhdGhpcy5zdG9yYWdlKCkuZWxlbWVudHMubGVuZ3RoICYmICF0aGlzLnN0b3JhZ2UoKS5jaGlsZHJlbi5sZW5ndGggJiYgIXRoaXMuc3RvcmFnZUNoaWxkcmVuKCkubGVuZ3RoXG4gICAgKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2F0ZWdvcnlUaXRsZSA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2F0ZWdvcnkgPSBjb21wdXRlZCgoKSA9PiAoe1xuICAgICAgICAuLi50aGlzLnN0b3JhZ2UoKSxcbiAgICAgICAgdGl0bGU6IHRoaXMuY2F0ZWdvcnlUaXRsZSgpIHx8IHRoaXMuc3RvcmFnZSgpLnRpdGxlXG4gICAgfSkpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHN0b3JhZ2UgPSBpbnB1dC5yZXF1aXJlZDxUcmVlU3RydWN0PigpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGRlbGV0ZWQgPSBvdXRwdXQ8c3RyaW5nPigpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuaW5pdFN0b3JhZ2VDaGlsZHJlbigpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblNlbGVjdENhdGVnb3J5KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNhdGVnb3J5VHJlZVN0YXRlU2VydmljZS5zZXRDdXJyZW50Q2F0ZWdvcnkodGhpcy5jYXRlZ29yeSgpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Ub2dnbGVDaGlsZHJlbihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICB0aGlzLmFyZUNoaWxkcmVuT3BlbmVkLnVwZGF0ZSgodmFsdWUpID0+ICF2YWx1ZSk7XG5cbiAgICAgICAgaWYgKHRoaXMuYXJlQ2hpbGRyZW5PcGVuZWQoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc1N1YmNhdGVnb3J5Q3JlYXRpbmcuc2V0KGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25UaXRsZUNoYW5nZWQodGl0bGU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2FuY2VsVGl0bGVFZGl0KCk7XG5cbiAgICAgICAgaWYgKHRpdGxlID09PSB0aGlzLmNhdGVnb3J5KCkudGl0bGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2F0ZWdvcmllc0RhdGFTb3VyY2VTZXJ2aWNlXG4gICAgICAgICAgICAudXBkYXRlVGl0bGUodGhpcy5zdG9yYWdlKCkuaWQsIHRpdGxlKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhdGVnb3J5VGl0bGUuc2V0KHRpdGxlKTtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNhdGVnb3J5KCkuaWQgPT09IHRoaXMuY2F0ZWdvcnlUcmVlU3RhdGVTZXJ2aWNlLmNhdGVnb3J5KCk/LmlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2F0ZWdvcnlUcmVlU3RhdGVTZXJ2aWNlLnNldEN1cnJlbnRDYXRlZ29yeSh0aGlzLmNhdGVnb3J5KCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblN0YXJ0VGl0bGVFZGl0KGV2ZW50PzogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlUcmVlU3RhdGVTZXJ2aWNlLnNldEVkaXRpbmdJZCh0aGlzLnN0b3JhZ2UoKS5pZCk7XG4gICAgICAgIHRoaXMub25DcmVhdGluZ1N1YmNhdGVnb3J5Q2FuY2VsZWQoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25DYW5jZWxUaXRsZUVkaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2F0ZWdvcnlUcmVlU3RhdGVTZXJ2aWNlLmNsZWFyRWRpdGluZ0lkKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uU3RhcnRDcmVhdGluZ1N1YmNhdGVnb3J5KGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIHRoaXMuaXNTdWJjYXRlZ29yeUNyZWF0aW5nLnNldCh0cnVlKTtcbiAgICAgICAgdGhpcy5hcmVDaGlsZHJlbk9wZW5lZC5zZXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuY2F0ZWdvcnlUcmVlU3RhdGVTZXJ2aWNlLnN0YXJ0Q3JlYXRpbmdDaGlsZE9mKHRoaXMuc3RvcmFnZSgpLmlkKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25DcmVhdGVOZXdTdWJjYXRlZ29yeSh0aXRsZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNTdWJjYXRlZ29yeUNyZWF0aW5nLnNldChmYWxzZSk7XG4gICAgICAgIHRoaXMuaXNTdWJjYXRlZ29yeUNyZWF0aW9uTG9hZGluZy5zZXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuY2F0ZWdvcmllc0RhdGFTb3VyY2VTZXJ2aWNlXG4gICAgICAgICAgICAuY3JlYXRlQ2hpbGQodGhpcy5zdG9yYWdlKCkuaWQsIHRpdGxlKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5pc1N1YmNhdGVnb3J5Q3JlYXRpb25Mb2FkaW5nLnNldChmYWxzZSkpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChzdG9yYWdlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdG9yYWdlQ2hpbGRyZW4udXBkYXRlKCh2YWx1ZSkgPT4gWy4uLnZhbHVlLCBzdG9yYWdlXSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25DcmVhdGluZ1N1YmNhdGVnb3J5Q2FuY2VsZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNTdWJjYXRlZ29yeUNyZWF0aW5nLnNldChmYWxzZSk7XG4gICAgICAgIHRoaXMuY2F0ZWdvcnlUcmVlU3RhdGVTZXJ2aWNlLmNsZWFyQ3JlYXRpbmcoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25EZWxldGUoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgY29uc3QgZGVsZXRlUmVxdWVzdCA9IHRoaXMuY2F0ZWdvcmllc0RhdGFTb3VyY2VTZXJ2aWNlLmRlbGV0ZTtcblxuICAgICAgICBpZiAoIWRlbGV0ZVJlcXVlc3QgfHwgIXRoaXMuaXNFbXB0eSgpIHx8IHRoaXMuaXNEZWxldGluZygpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzRGVsZXRpbmcuc2V0KHRydWUpO1xuICAgICAgICBkZWxldGVSZXF1ZXN0XG4gICAgICAgICAgICAuY2FsbCh0aGlzLmNhdGVnb3JpZXNEYXRhU291cmNlU2VydmljZSwgdGhpcy5zdG9yYWdlKCkuaWQpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmlzRGVsZXRpbmcuc2V0KGZhbHNlKSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZilcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5kZWxldGVkLmVtaXQodGhpcy5zdG9yYWdlKCkuaWQpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25DaGlsZERlbGV0ZWQoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JhZ2VDaGlsZHJlbi51cGRhdGUoKGNoaWxkcmVuKSA9PiBjaGlsZHJlbi5maWx0ZXIoKGNoaWxkKSA9PiBjaGlsZC5pZCAhPT0gaWQpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRTdG9yYWdlQ2hpbGRyZW4oKTogdm9pZCB7XG4gICAgICAgIGVmZmVjdChcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuYXJlQ2hpbGRyZW5PcGVuZWQoKSB8fCB0aGlzLnN0b3JhZ2VDaGlsZHJlbigpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3Qgc3RvcmFnZSA9IHRoaXMuc3RvcmFnZSgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNoaWxkcmVuID0gc3RvcmFnZS5jaGlsZHJlbjtcblxuICAgICAgICAgICAgICAgIGlmICghY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNoaWxkcmVuWzBdICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0b3JhZ2VDaGlsZHJlbi5zZXQoY2hpbGRyZW4gYXMgVHJlZVN0cnVjdFtdKTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5jYXRlZ29yaWVzRGF0YVNvdXJjZVNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgLmxvYWRDaGlsZHJlbihzdG9yYWdlLmlkKVxuICAgICAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoc3RvcmFnZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RvcmFnZUNoaWxkcmVuLnNldChzdG9yYWdlcyk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfVxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKmN1aUxldD1cImNhdGVnb3J5KCkgYXMgc3RhZ2VcIj5cbiAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbc3R5bGUuYWxpZ24taXRlbXNdPVwiYWxpZ25JdGVtcygpXCJcbiAgICAgICAgY2xhc3M9XCJjYXRlZ29yeVwiXG4gICAgICAgIChjbGljayk9XCJvblNlbGVjdENhdGVnb3J5KClcIlxuICAgID5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cImNhdGVnb3J5X19vcGVuLWNsb3NlLWJ1dHRvblwiXG4gICAgICAgICAgICBbY2xhc3MuY2F0ZWdvcnlfX29wZW4tY2xvc2UtYnV0dG9uX2hpZGRlbl09XCJpc09wZW5DbG9zZUJ1dHRvbkhpZGRlbigpXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvblRvZ2dsZUNoaWxkcmVuKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8Y3VpLXN2Z1xuICAgICAgICAgICAgICAgIFtpY29uXT1cIm9wZW5DbG9zZUJ1dHRvbkljb24oKVwiXG4gICAgICAgICAgICAgICAgY29sb3I9XCJ2YXIoLS1jdWktYmFzZS01MDApXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8Y3VpLXN2Z1xuICAgICAgICAgICAgW2ljb25dPVwic3RvcmFnZUljb24oKVwiXG4gICAgICAgICAgICBjb2xvcj1cInZhcigtLWN1aS1iYXNlLTUwMClcIlxuICAgICAgICAgICAgY2xhc3M9XCJpY29uXCJcbiAgICAgICAgLz5cbiAgICAgICAgQGlmIChpc1RpdGxlRWRpdCgpKSB7XG4gICAgICAgICAgICA8Y3VpLWNhdGVnb3J5LXRyZWUtZm9ybVxuICAgICAgICAgICAgICAgIFtkZWZhdWx0VGl0bGVdPVwic3RhZ2UudGl0bGVcIlxuICAgICAgICAgICAgICAgIChjcmVhdGVkKT1cIm9uVGl0bGVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChjYW5jZWxlZCk9XCJvbkNhbmNlbFRpdGxlRWRpdCgpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXRlZ29yeV9fdGl0bGVcIj57eyBzdGFnZS50aXRsZSB9fTwvc3Bhbj5cblxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGN1aUJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInh4c1wiXG4gICAgICAgICAgICAgICAgaWNvbj1cImN1aUljb25FZGl0XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNhdGVnb3J5X19hZGQtc3ViY2F0ZWdvcnktYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TdGFydFRpdGxlRWRpdCgkZXZlbnQpXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBjdWlCdXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZ2hvc3RcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJ4eHNcIlxuICAgICAgICAgICAgICAgIGljb249XCJjdWlJY29uUGx1c1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjYXRlZ29yeV9fYWRkLXN1YmNhdGVnb3J5LWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU3RhcnRDcmVhdGluZ1N1YmNhdGVnb3J5KCRldmVudClcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgQGlmIChpc0RlbGV0ZVN1cHBvcnRlZCkge1xuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgY3VpQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZ2hvc3RcIlxuICAgICAgICAgICAgICAgICAgICBzaXplPVwieHhzXCJcbiAgICAgICAgICAgICAgICAgICAgaWNvbj1cImN1aUljb25UcmFzaFwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNFbXB0eSgpIHx8IGlzRGVsZXRpbmcoKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2F0ZWdvcnlfX2FkZC1zdWJjYXRlZ29yeS1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25EZWxldGUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgPC9idXR0b24+XG4gICAgPGRpdlxuICAgICAgICBbaGlkZGVuXT1cIiFhcmVDaGlsZHJlbk9wZW5lZCgpXCJcbiAgICAgICAgY2xhc3M9XCJsaXN0LXdyYXBwZXJcIlxuICAgID5cbiAgICAgICAgPGN1aS1jYXRlZ29yaWVzLXRyZWUtbGlzdFxuICAgICAgICAgICAgW3N0b3JhZ2VzXT1cInN0b3JhZ2VDaGlsZHJlbigpXCJcbiAgICAgICAgICAgIChkZWxldGVkKT1cIm9uQ2hpbGREZWxldGVkKCRldmVudClcIlxuICAgICAgICAvPlxuICAgICAgICBAaWYgKGlzQ3JlYXRlQ2F0ZWdvcnlDb250cm9sVmlzaWJsZSgpKSB7XG4gICAgICAgICAgICA8Y3VpLWNyZWF0ZS1jYXRlZ29yeS10cmVlLWl0ZW1cbiAgICAgICAgICAgICAgICBjbGFzcz1cImNyZWF0ZS1jYXRlZ29yeVwiXG4gICAgICAgICAgICAgICAgW2lzRGlzYWJsZWRdPVwiaXNTdWJjYXRlZ29yeUNyZWF0aW9uTG9hZGluZygpXCJcbiAgICAgICAgICAgICAgICAoY3JlYXRlZCk9XCJvbkNyZWF0ZU5ld1N1YmNhdGVnb3J5KCRldmVudClcIlxuICAgICAgICAgICAgICAgIChjYW5jZWxlZCk9XCJvbkNyZWF0aW5nU3ViY2F0ZWdvcnlDYW5jZWxlZCgpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -0,0 +1,2 @@
1
+ export { CuiCategoryTreeItemComponent } from './category-tree-item.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvY2F0ZWdvcmllcy10cmVlL2NvbXBvbmVudHMvY2F0ZWdvcnktdHJlZS1pdGVtL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQ3VpQ2F0ZWdvcnlUcmVlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY2F0ZWdvcnktdHJlZS1pdGVtLmNvbXBvbmVudCc7XG4iXX0=