@cuby-ui/core 0.0.575 → 0.0.577

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.
@@ -3565,11 +3565,11 @@ class CuiInputNumberComponent {
3565
3565
  this.maskOptions = this.generateMask();
3566
3566
  }
3567
3567
  set min(value) {
3568
- this._min = value;
3568
+ this._min = value ?? this._min;
3569
3569
  this.maskOptions = this.generateMask();
3570
3570
  }
3571
3571
  set max(value) {
3572
- this._max = value;
3572
+ this._max = value ?? this._max;
3573
3573
  this.maskOptions = this.generateMask();
3574
3574
  }
3575
3575
  get id() {
@@ -4619,6 +4619,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4619
4619
  args: [{ selector: 'cui-tabs', imports: [CuiAbstractTabsComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, providers: [provideCuiTabs()], template: "<cui-abstract-tabs\n [headerSlot]=\"headerSlot()\"\n [selectedIndex]=\"selectedIndex()\"\n/>\n", styles: [":host{display:contents}\n"] }]
4620
4620
  }] });
4621
4621
 
4622
+ class CuiTreeComponent {
4623
+ constructor() {
4624
+ this.nodes = input.required();
4625
+ this.nodeTemplate = input.required();
4626
+ }
4627
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiTreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4628
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiTreeComponent, isStandalone: true, selector: "cui-tree", inputs: { nodes: { classPropertyName: "nodes", publicName: "nodes", isSignal: true, isRequired: true, transformFunction: null }, nodeTemplate: { classPropertyName: "nodeTemplate", publicName: "nodeTemplate", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<ng-template\n #branch\n let-items\n let-level=\"level\"\n>\n <ul class=\"list\">\n @for (node of items; track node.key) {\n @let isOpen = node.expanded?.() === true;\n\n <li class=\"item\">\n <ng-container *ngTemplateOutlet=\"nodeTemplate(); context: { $implicit: node, level: level }\" />\n @if (isOpen && node.children?.length) {\n <div class=\"children\">\n <ng-container\n *ngTemplateOutlet=\"branch; context: { $implicit: node.children, level: level + 1 }\"\n />\n </div>\n }\n </li>\n }\n </ul>\n</ng-template>\n\n<ng-container *ngTemplateOutlet=\"branch; context: { $implicit: nodes(), level: 0 }\" />\n", styles: [":host{display:block}.list,.item{display:flex;flex-direction:column;gap:0}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4629
+ }
4630
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiTreeComponent, decorators: [{
4631
+ type: Component,
4632
+ args: [{ selector: 'cui-tree', standalone: true, imports: [NgTemplateOutlet], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template\n #branch\n let-items\n let-level=\"level\"\n>\n <ul class=\"list\">\n @for (node of items; track node.key) {\n @let isOpen = node.expanded?.() === true;\n\n <li class=\"item\">\n <ng-container *ngTemplateOutlet=\"nodeTemplate(); context: { $implicit: node, level: level }\" />\n @if (isOpen && node.children?.length) {\n <div class=\"children\">\n <ng-container\n *ngTemplateOutlet=\"branch; context: { $implicit: node.children, level: level + 1 }\"\n />\n </div>\n }\n </li>\n }\n </ul>\n</ng-template>\n\n<ng-container *ngTemplateOutlet=\"branch; context: { $implicit: nodes(), level: 0 }\" />\n", styles: [":host{display:block}.list,.item{display:flex;flex-direction:column;gap:0}\n"] }]
4633
+ }] });
4634
+
4622
4635
  class CuiTextareaComponent {
4623
4636
  constructor() {
4624
4637
  this.cuiTextFieldController = inject(CUI_TEXT_FIELD_CONTROLLER);
@@ -9876,12 +9889,12 @@ class CuiCategoryTreeItemComponent {
9876
9889
  this.destroyRef = inject(DestroyRef);
9877
9890
  this.categoriesDataSourceService = inject(CUI_CATEGORIES_TREE_DATA_SOURCE_SERVICE_TOKEN);
9878
9891
  this.categoryTreeStateService = inject(CuiCategoryTreeStateService);
9892
+ this.cuiDialogService = inject(CuiDialogService);
9879
9893
  this.isDeleteSupported = !!this.categoriesDataSourceService.delete;
9880
9894
  this.storageChildren = signal([]);
9881
9895
  this.areChildrenOpened = signal(false);
9882
9896
  this.isSubcategoryCreating = signal(false);
9883
9897
  this.isSubcategoryCreationLoading = signal(false);
9884
- this.isDeleting = signal(false);
9885
9898
  this.openCloseButtonIcon = computed(() => this.areChildrenOpened() ? 'cuiIconChevronDown' : 'cuiIconChevronRight');
9886
9899
  this.doChildrenExist = computed(() => this.storage().children.length || this.storageChildren().length);
9887
9900
  this.isOpenCloseButtonHidden = computed(() => !this.doChildrenExist());
@@ -9890,7 +9903,8 @@ class CuiCategoryTreeItemComponent {
9890
9903
  this.isTitleEdit = computed(() => this.categoryTreeStateService.editingId() === this.storage().id);
9891
9904
  this.isCreateCategoryControlVisible = computed(() => (this.categoryTreeStateService.creatingParentId() === this.storage().id && this.isSubcategoryCreating()) ||
9892
9905
  this.isSubcategoryCreationLoading());
9893
- this.isEmpty = computed(() => !this.storage().elements.length && !this.storage().children.length && !this.storageChildren().length);
9906
+ this.isEmpty = computed(() => !this.storage().elements.length &&
9907
+ (this.areChildrenOpened() ? !this.storageChildren().length : !this.storage().children.length));
9894
9908
  this.categoryTitle = signal('');
9895
9909
  this.category = computed(() => ({
9896
9910
  ...this.storage(),
@@ -9957,42 +9971,54 @@ class CuiCategoryTreeItemComponent {
9957
9971
  onDelete(event) {
9958
9972
  event.stopPropagation();
9959
9973
  const deleteRequest = this.categoriesDataSourceService.delete;
9960
- if (!deleteRequest || !this.isEmpty() || this.isDeleting()) {
9974
+ if (!deleteRequest) {
9961
9975
  return;
9962
9976
  }
9963
- this.isDeleting.set(true);
9964
- deleteRequest
9965
- .call(this.categoriesDataSourceService, this.storage().id)
9966
- .pipe(finalize(() => this.isDeleting.set(false)), takeUntilDestroyed(this.destroyRef))
9967
- .subscribe(() => this.deleted.emit(this.storage().id));
9977
+ this.cuiDialogService
9978
+ .open(CuiDeleteModalComponent, {
9979
+ data: {
9980
+ title: 'DELETE_CATEGORY_QUESTION',
9981
+ content: ['ACTION_WILL_DELETE_CATEGORY'],
9982
+ delete: () => deleteRequest.call(this.categoriesDataSourceService, this.storage().id)
9983
+ }
9984
+ })
9985
+ .pipe(takeUntilDestroyed(this.destroyRef))
9986
+ .subscribe((data) => {
9987
+ if (data?.canceled) {
9988
+ return;
9989
+ }
9990
+ this.deleted.emit(this.storage().id);
9991
+ });
9968
9992
  }
9969
9993
  onChildDeleted(id) {
9970
9994
  this.storageChildren.update((children) => children.filter((child) => child.id !== id));
9971
9995
  }
9972
9996
  initStorageChildren() {
9973
- effect(() => {
9974
- if (!this.areChildrenOpened() || this.storageChildren().length) {
9975
- return;
9976
- }
9977
- const storage = this.storage();
9978
- const children = storage.children;
9979
- if (!children.length) {
9980
- return;
9981
- }
9982
- if (typeof children[0] !== 'string') {
9983
- this.storageChildren.set(children);
9997
+ const effectRef = effect(() => {
9998
+ if (!this.areChildrenOpened()) {
9984
9999
  return;
9985
10000
  }
9986
- this.categoriesDataSourceService
9987
- .loadChildren(storage.id)
9988
- .pipe(takeUntilDestroyed(this.destroyRef))
9989
- .subscribe((storages) => {
9990
- this.storageChildren.set(storages);
9991
- });
10001
+ effectRef.destroy();
10002
+ untracked(() => this.loadChildren());
9992
10003
  }, { allowSignalWrites: true });
9993
10004
  }
10005
+ loadChildren() {
10006
+ const storage = this.storage();
10007
+ const children = storage.children;
10008
+ if (!children.length) {
10009
+ return;
10010
+ }
10011
+ if (typeof children[0] !== 'string') {
10012
+ this.storageChildren.set(children);
10013
+ return;
10014
+ }
10015
+ this.categoriesDataSourceService
10016
+ .loadChildren(storage.id)
10017
+ .pipe(takeUntilDestroyed(this.destroyRef))
10018
+ .subscribe((storages) => this.storageChildren.set(storages));
10019
+ }
9994
10020
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCategoryTreeItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9995
- 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(() => 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(() => 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 }); }
10021
+ 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=\"toggle-button\"\n [class.toggle-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=\"title\">{{ stage.title }}</span>\n\n <button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconEdit\"\n class=\"button edit-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=\"button add-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 class=\"button delete-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:hover .delete-button{display:inline-block}}.category:active{background:var(--cui-base-10)}.toggle-button{display:flex;flex-direction:row;gap:0;padding:2px;border-radius:4px;margin:4px 0}@media (hover: hover){.toggle-button:hover{background:var(--cui-base-100)}}.toggle-button:active{background:var(--cui-base-100)}.toggle-button_hidden{visibility:hidden}.title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;text-align:start}.button{--cui-base-50: var(--cui-base-200)}@media (hover: hover){.delete-button{display:none}}.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(() => 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(() => 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 }); }
9996
10022
  }
9997
10023
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCategoryTreeItemComponent, decorators: [{
9998
10024
  type: Component,
@@ -10004,7 +10030,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
10004
10030
  CuiCategoryTreeFormComponent,
10005
10031
  CuiCreateCategoryTreeItemComponent,
10006
10032
  forwardRef(() => CuiCategoriesTreeListComponent)
10007
- ], 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"] }]
10033
+ ], 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=\"toggle-button\"\n [class.toggle-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=\"title\">{{ stage.title }}</span>\n\n <button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconEdit\"\n class=\"button edit-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=\"button add-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 class=\"button delete-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:hover .delete-button{display:inline-block}}.category:active{background:var(--cui-base-10)}.toggle-button{display:flex;flex-direction:row;gap:0;padding:2px;border-radius:4px;margin:4px 0}@media (hover: hover){.toggle-button:hover{background:var(--cui-base-100)}}.toggle-button:active{background:var(--cui-base-100)}.toggle-button_hidden{visibility:hidden}.title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;text-align:start}.button{--cui-base-50: var(--cui-base-200)}@media (hover: hover){.delete-button{display:none}}.list-wrapper{padding-left:8px}.create-category{margin-left:24px}.icon{padding-right:2px;padding-left:2px;height:28px}\n"] }]
10008
10034
  }], ctorParameters: () => [] });
10009
10035
 
10010
10036
  class CuiCategoriesTreeComponent {
@@ -13948,5 +13974,5 @@ const CuiTranslations = {
13948
13974
  * Generated bundle index. Do not edit.
13949
13975
  */
13950
13976
 
13951
- export { AlertHintComponent, AngularOutsideLoaderService, AssigneeRoleItemComponent, AssigneeRolesTabsComponent, ButtonChangeThemeComponent, CUI_ACTIVITY_SERVICE_TOKEN, CUI_ALERTS, CUI_ALERT_CONTEXT, CUI_ALERT_DEFAULT_OPTIONS, CUI_ALERT_OPTIONS, CUI_ANIMATIONS_DEFAULT_DURATION, CUI_BADGE_DEFAULT_OPTIONS, CUI_BADGE_OPTIONS, CUI_BANNER_DEFAULT_OPTIONS, CUI_BANNER_OPTIONS, CUI_BUTTON_DEFAULT_OPTIONS, CUI_BUTTON_OPTIONS, CUI_CATEGORIES_TREE_DATA_SOURCE_SERVICE_TOKEN, CUI_DEFAULT_THEME, CUI_DIALOGS, CUI_DIALOG_CONTEXT, CUI_DIALOG_DEFAULT_OPTIONS, CUI_DIALOG_OPTIONS, CUI_FILTER_BAR_DEFAULT_TRANSLATIONS, CUI_INPUT_TIME_DEFAULT_OPTIONS, CUI_INPUT_TIME_OPTIONS, CUI_NOTIFICATION_DEFAULT_OPTIONS, CUI_NOTIFICATION_ICONS, CUI_NOTIFICATION_ICON_OPTIONS, CUI_NOTIFICATION_ICON_OPTIONS_DEFAULT_MODE, CUI_NOTIFICATION_ICON_OPTIONS_LIGHT_MODE, CUI_NOTIFICATION_OPTIONS, CUI_RESOURCE_STATE_SERVICE_TOKEN, CUI_ROOT_SELECTOR, CUI_STORAGE_LIST_SERVICE_TOKEN, CUI_SUBJECT_MODAL_SERVICE_TOKEN, CUI_TABS_SERVICE_TOKEN, CUI_TEXT_FIELD_CONTROLLER, CUI_TEXT_FIELD_ICON_LEFT, CUI_TEXT_FIELD_ID, CUI_TEXT_FIELD_IS_ERROR, CUI_TEXT_FIELD_PLACEHOLDER, CUI_TEXT_FIELD_SIZE, CUI_TEXT_FILED_CONTROLLER_PROVIDER, CUI_THEME, CUI_THEME_STORAGE_DEFAULT_KEY, CUI_THEME_STORAGE_KEY, CUI_TOOLTIP_COMPONENT, CUI_TOOLTIP_DEFAULT_OPTIONS, CUI_TOOLTIP_DIRECTIONS, CUI_TOOLTIP_OPTIONS, CUI_TOOLTIP_PROVIDERS, CUI_USED_ELEMENTS_SERVICE_TOKEN, CUI_UTILITY_SERVICE_TOKEN, ContentHeaderComponent, CuiAbstractTabsComponent, CuiAccessor, CuiAccordionComponent, CuiAccordionDirective, CuiAccordionItemComponent, CuiAccordionModule, CuiActivityBaseService, CuiActivityImplService, CuiAlertComponent, CuiAlertModule, CuiAlertService, CuiAlertsComponent, CuiAttachesTool, CuiAuthBase, CuiAuthService, CuiBadgeComponent, CuiBadgeModule, CuiBannerComponent, CuiBannerModule, CuiBreadcrumbComponent, CuiBreadcrumbsComponent, CuiBreadcrumbsModule, CuiBrowserLoginStrategyService, CuiButtonComponent, CuiButtonGroupComponent, CuiButtonGroupModule, CuiButtonModule, CuiCardWrapperComponent, CuiCategoriesComponent, CuiCategoriesTreeComponent, CuiCategoriesTreeListComponent, CuiCategoryTreeItemComponent, CuiCategoryTreeStateService, CuiCheckListBlockListItemActionCardComponent, CuiCheckListBlockListItemActionWithVerificationComponent, CuiCheckListBlockListItemActionWithoutVerificationComponent, CuiCheckListBlockListItemEvaluationComponent, CuiCheckListBlockListItemEvaluationCriteriaComponent, CuiCheckListBlockService, CuiCheckboxComponent, CuiCheckboxModule, CuiChecklistBlockComponent, CuiChecklistBlockListComponent, CuiChecklistBlockListItemContainerComponent, CuiChecklistBlockTitleControlComponent, CuiCircleLoaderComponent, CuiContentWrapperComponent, CuiContextMenuComponent, CuiContextMenuModule, CuiCriterionInfoComponent, CuiCriterionInfoFormComponent, CuiCriterionModalCreateComponent, CuiCriterionReadonlyInfoComponent, CuiDateRangeCalendarComponent, CuiDateRangeCalendarModule, CuiDeleteModalComponent, CuiDialogActionsComponent, CuiDialogComponent, CuiDialogHeaderComponent, CuiDialogModule, CuiDialogService, CuiDialogsComponent, CuiDriver, CuiDriverDirective, CuiDropdownDirective, CuiDropdownWrapperComponent, CuiEditorBlockComponent, CuiEditorComponent, CuiEditorModalComponent, CuiEditorReadonlyComponent, CuiEditorTranslations, CuiEmptyStateComponent, CuiFileIconComponent, CuiFileUploader, CuiFileUploaderStatus, CuiFilterBarComponent, CuiFilterBarModule, CuiFormFieldComponent, CuiFormFieldModule, CuiFramerPreviewComponent, CuiGeneralControlErrorHintComponent, CuiGhostInputComponent, CuiGlobalErrorHandler, CuiHeaderTool, CuiHintComponent, CuiHintModule, CuiHybridStorageService, CuiIconButtonComponent, CuiIconButtonModule, CuiImageTool, CuiInputModule, CuiInputNumberComponent, CuiInputNumberModule, CuiInputPasswordComponent, CuiInputPasswordModule, CuiInputTextComponent, CuiInputTimeComponent, CuiInputTimeModule, CuiInstructionInfoComponent, CuiInstructionInfoFormComponent, CuiInstructionModalCreateComponent, CuiInstructionReadonlyInfoComponent, CuiLabelComponent, CuiLabelModule, CuiLayoutComponent, CuiLetterBoxComponent, CuiLibTranslations, CuiLinearLoaderComponent, CuiLinkMarker, CuiListTool, CuiLoaderComponent, CuiLoaderService, CuiLoadingState, CuiNotificationComponent, CuiNotificationModule, CuiPositionAccessor, CuiPositionService, CuiPulseLoaderComponent, CuiRadioComponent, CuiRadioModule, CuiReadonlyCriterionModalComponent, CuiReadonlyInstructionModalComponent, CuiReadonlyUtilityModalComponent, CuiRectAccessor, CuiRenderDynamicComponentsComponent, CuiRenderDynamicComponentsService, CuiRoleMarker, CuiRootComponent, CuiRootModule, CuiSelectComponent, CuiSelectModalComponent, CuiSelectModalFolderComponent, CuiSelectModalSearchComponent, CuiSelectModalService, CuiSelectModule, CuiSelectedCategoryService, CuiSidebarContainerComponent, CuiSidebarHeaderComponent, CuiSidebarNavigationComponent, CuiSidebarNavigationContainerComponent, CuiSidebarNavigationItemComponent, CuiSidebarService, CuiSkeleton, CuiStatedLoaderComponent, CuiStorageListComponent, CuiSvgComponent, CuiSvgModule, CuiTabDirective, CuiTabsComponent, CuiTabsServiceImpl, CuiTextFieldController, CuiTextFieldControllerModule, CuiTextFieldIconLeftDirective, CuiTextFieldIdDirective, CuiTextFieldIsErrorDirective, CuiTextFieldPlaceholderDirective, CuiTextFieldSizeDirective, CuiTextareaComponent, CuiTextareaModule, CuiThemeService, CuiTimePipe, CuiToggleComponent, CuiToggleModule, CuiToolMarker, CuiTooltip, CuiTooltipComponent, CuiTooltipDescribe, CuiTooltipDirective, CuiTooltipDriver, CuiTooltipHost, CuiTooltipHover, CuiTooltipManual, CuiTooltipOptionsDirective, CuiTooltipOverflow, CuiTooltipPointer, CuiTooltipPosition, CuiTooltipService, CuiTooltipUnstyled, CuiTooltipUnstyledComponent, CuiTooltips, CuiTranslations, CuiUserActionContextMenuComponent, CuiUtilityModalComponent, CuiUtilityModalCreateComponent, CuiUtilityReadonlyThumbnailComponent, CuiUtilityThumbnailComponent, CuiVehicle, CuiVideoTool, CuiVisualViewportService, FileSizePipe, InsertedComponent, ModalDividedSectionComponent, ModalHeaderComponent, ModalHeaderInsertedButtonsComponent, ModalInfoTabComponent, ModalOperationPartComponent, ModalResourcesTabComponent, OptionsButtonComponent, RenderDynamicModalComponent, ResourceStateBaseService, ResourcesBlockComponent, ResourcesBlockPartComponent, ResourcesBlockTabsComponent$1 as ResourcesBlockTabsComponent, ResourcesOptionsComponent, SubjectModalBaseService, UTILITY_MODAL_SERVICE_TOKEN, UsedElementsBaseService, UtilityBaseService, UtilityInfoReadonlyComponent, createEditorTools, cuiAsDriver, cuiAsPositionAccessor, cuiAsRectAccessor, cuiAsVehicle, cuiAuthErrorInterceptor, cuiAuthInterceptor, cuiCheckAuthFailureEvent, cuiCheckFixedPosition, cuiCreateDefaultValidators, cuiErrorHandlerInterceptor, cuiFallbackAccessor, cuiGetDuration, cuiIsObscured, cuiLoaderInterceptor, cuiOverrideOptions, cuiPositionAccessorFor, cuiProvideAccessor, cuiProvideEditor, cuiRectAccessorFor, cuiRemoveSpaces, cuiReplace, cuiToAnimationOptions, cuiTooltipOptionsProvider, cuiXNdjsonInterceptor, handleError, openFileInBrowser, presetConfigToken, provideCuiAuth, provideCuiErrorHandler, provideCuiTabs, setLoading, sseStreamReaderInterceptor };
13977
+ export { AlertHintComponent, AngularOutsideLoaderService, AssigneeRoleItemComponent, AssigneeRolesTabsComponent, ButtonChangeThemeComponent, CUI_ACTIVITY_SERVICE_TOKEN, CUI_ALERTS, CUI_ALERT_CONTEXT, CUI_ALERT_DEFAULT_OPTIONS, CUI_ALERT_OPTIONS, CUI_ANIMATIONS_DEFAULT_DURATION, CUI_BADGE_DEFAULT_OPTIONS, CUI_BADGE_OPTIONS, CUI_BANNER_DEFAULT_OPTIONS, CUI_BANNER_OPTIONS, CUI_BUTTON_DEFAULT_OPTIONS, CUI_BUTTON_OPTIONS, CUI_CATEGORIES_TREE_DATA_SOURCE_SERVICE_TOKEN, CUI_DEFAULT_THEME, CUI_DIALOGS, CUI_DIALOG_CONTEXT, CUI_DIALOG_DEFAULT_OPTIONS, CUI_DIALOG_OPTIONS, CUI_FILTER_BAR_DEFAULT_TRANSLATIONS, CUI_INPUT_TIME_DEFAULT_OPTIONS, CUI_INPUT_TIME_OPTIONS, CUI_NOTIFICATION_DEFAULT_OPTIONS, CUI_NOTIFICATION_ICONS, CUI_NOTIFICATION_ICON_OPTIONS, CUI_NOTIFICATION_ICON_OPTIONS_DEFAULT_MODE, CUI_NOTIFICATION_ICON_OPTIONS_LIGHT_MODE, CUI_NOTIFICATION_OPTIONS, CUI_RESOURCE_STATE_SERVICE_TOKEN, CUI_ROOT_SELECTOR, CUI_STORAGE_LIST_SERVICE_TOKEN, CUI_SUBJECT_MODAL_SERVICE_TOKEN, CUI_TABS_SERVICE_TOKEN, CUI_TEXT_FIELD_CONTROLLER, CUI_TEXT_FIELD_ICON_LEFT, CUI_TEXT_FIELD_ID, CUI_TEXT_FIELD_IS_ERROR, CUI_TEXT_FIELD_PLACEHOLDER, CUI_TEXT_FIELD_SIZE, CUI_TEXT_FILED_CONTROLLER_PROVIDER, CUI_THEME, CUI_THEME_STORAGE_DEFAULT_KEY, CUI_THEME_STORAGE_KEY, CUI_TOOLTIP_COMPONENT, CUI_TOOLTIP_DEFAULT_OPTIONS, CUI_TOOLTIP_DIRECTIONS, CUI_TOOLTIP_OPTIONS, CUI_TOOLTIP_PROVIDERS, CUI_USED_ELEMENTS_SERVICE_TOKEN, CUI_UTILITY_SERVICE_TOKEN, ContentHeaderComponent, CuiAbstractTabsComponent, CuiAccessor, CuiAccordionComponent, CuiAccordionDirective, CuiAccordionItemComponent, CuiAccordionModule, CuiActivityBaseService, CuiActivityImplService, CuiAlertComponent, CuiAlertModule, CuiAlertService, CuiAlertsComponent, CuiAttachesTool, CuiAuthBase, CuiAuthService, CuiBadgeComponent, CuiBadgeModule, CuiBannerComponent, CuiBannerModule, CuiBreadcrumbComponent, CuiBreadcrumbsComponent, CuiBreadcrumbsModule, CuiBrowserLoginStrategyService, CuiButtonComponent, CuiButtonGroupComponent, CuiButtonGroupModule, CuiButtonModule, CuiCardWrapperComponent, CuiCategoriesComponent, CuiCategoriesTreeComponent, CuiCategoriesTreeListComponent, CuiCategoryTreeItemComponent, CuiCategoryTreeStateService, CuiCheckListBlockListItemActionCardComponent, CuiCheckListBlockListItemActionWithVerificationComponent, CuiCheckListBlockListItemActionWithoutVerificationComponent, CuiCheckListBlockListItemEvaluationComponent, CuiCheckListBlockListItemEvaluationCriteriaComponent, CuiCheckListBlockService, CuiCheckboxComponent, CuiCheckboxModule, CuiChecklistBlockComponent, CuiChecklistBlockListComponent, CuiChecklistBlockListItemContainerComponent, CuiChecklistBlockTitleControlComponent, CuiCircleLoaderComponent, CuiContentWrapperComponent, CuiContextMenuComponent, CuiContextMenuModule, CuiCriterionInfoComponent, CuiCriterionInfoFormComponent, CuiCriterionModalCreateComponent, CuiCriterionReadonlyInfoComponent, CuiDateRangeCalendarComponent, CuiDateRangeCalendarModule, CuiDeleteModalComponent, CuiDialogActionsComponent, CuiDialogComponent, CuiDialogHeaderComponent, CuiDialogModule, CuiDialogService, CuiDialogsComponent, CuiDriver, CuiDriverDirective, CuiDropdownDirective, CuiDropdownWrapperComponent, CuiEditorBlockComponent, CuiEditorComponent, CuiEditorModalComponent, CuiEditorReadonlyComponent, CuiEditorTranslations, CuiEmptyStateComponent, CuiFileIconComponent, CuiFileUploader, CuiFileUploaderStatus, CuiFilterBarComponent, CuiFilterBarModule, CuiFormFieldComponent, CuiFormFieldModule, CuiFramerPreviewComponent, CuiGeneralControlErrorHintComponent, CuiGhostInputComponent, CuiGlobalErrorHandler, CuiHeaderTool, CuiHintComponent, CuiHintModule, CuiHybridStorageService, CuiIconButtonComponent, CuiIconButtonModule, CuiImageTool, CuiInputModule, CuiInputNumberComponent, CuiInputNumberModule, CuiInputPasswordComponent, CuiInputPasswordModule, CuiInputTextComponent, CuiInputTimeComponent, CuiInputTimeModule, CuiInstructionInfoComponent, CuiInstructionInfoFormComponent, CuiInstructionModalCreateComponent, CuiInstructionReadonlyInfoComponent, CuiLabelComponent, CuiLabelModule, CuiLayoutComponent, CuiLetterBoxComponent, CuiLibTranslations, CuiLinearLoaderComponent, CuiLinkMarker, CuiListTool, CuiLoaderComponent, CuiLoaderService, CuiLoadingState, CuiNotificationComponent, CuiNotificationModule, CuiPositionAccessor, CuiPositionService, CuiPulseLoaderComponent, CuiRadioComponent, CuiRadioModule, CuiReadonlyCriterionModalComponent, CuiReadonlyInstructionModalComponent, CuiReadonlyUtilityModalComponent, CuiRectAccessor, CuiRenderDynamicComponentsComponent, CuiRenderDynamicComponentsService, CuiRoleMarker, CuiRootComponent, CuiRootModule, CuiSelectComponent, CuiSelectModalComponent, CuiSelectModalFolderComponent, CuiSelectModalSearchComponent, CuiSelectModalService, CuiSelectModule, CuiSelectedCategoryService, CuiSidebarContainerComponent, CuiSidebarHeaderComponent, CuiSidebarNavigationComponent, CuiSidebarNavigationContainerComponent, CuiSidebarNavigationItemComponent, CuiSidebarService, CuiSkeleton, CuiStatedLoaderComponent, CuiStorageListComponent, CuiSvgComponent, CuiSvgModule, CuiTabDirective, CuiTabsComponent, CuiTabsServiceImpl, CuiTextFieldController, CuiTextFieldControllerModule, CuiTextFieldIconLeftDirective, CuiTextFieldIdDirective, CuiTextFieldIsErrorDirective, CuiTextFieldPlaceholderDirective, CuiTextFieldSizeDirective, CuiTextareaComponent, CuiTextareaModule, CuiThemeService, CuiTimePipe, CuiToggleComponent, CuiToggleModule, CuiToolMarker, CuiTooltip, CuiTooltipComponent, CuiTooltipDescribe, CuiTooltipDirective, CuiTooltipDriver, CuiTooltipHost, CuiTooltipHover, CuiTooltipManual, CuiTooltipOptionsDirective, CuiTooltipOverflow, CuiTooltipPointer, CuiTooltipPosition, CuiTooltipService, CuiTooltipUnstyled, CuiTooltipUnstyledComponent, CuiTooltips, CuiTranslations, CuiTreeComponent, CuiUserActionContextMenuComponent, CuiUtilityModalComponent, CuiUtilityModalCreateComponent, CuiUtilityReadonlyThumbnailComponent, CuiUtilityThumbnailComponent, CuiVehicle, CuiVideoTool, CuiVisualViewportService, FileSizePipe, InsertedComponent, ModalDividedSectionComponent, ModalHeaderComponent, ModalHeaderInsertedButtonsComponent, ModalInfoTabComponent, ModalOperationPartComponent, ModalResourcesTabComponent, OptionsButtonComponent, RenderDynamicModalComponent, ResourceStateBaseService, ResourcesBlockComponent, ResourcesBlockPartComponent, ResourcesBlockTabsComponent$1 as ResourcesBlockTabsComponent, ResourcesOptionsComponent, SubjectModalBaseService, UTILITY_MODAL_SERVICE_TOKEN, UsedElementsBaseService, UtilityBaseService, UtilityInfoReadonlyComponent, createEditorTools, cuiAsDriver, cuiAsPositionAccessor, cuiAsRectAccessor, cuiAsVehicle, cuiAuthErrorInterceptor, cuiAuthInterceptor, cuiCheckAuthFailureEvent, cuiCheckFixedPosition, cuiCreateDefaultValidators, cuiErrorHandlerInterceptor, cuiFallbackAccessor, cuiGetDuration, cuiIsObscured, cuiLoaderInterceptor, cuiOverrideOptions, cuiPositionAccessorFor, cuiProvideAccessor, cuiProvideEditor, cuiRectAccessorFor, cuiRemoveSpaces, cuiReplace, cuiToAnimationOptions, cuiTooltipOptionsProvider, cuiXNdjsonInterceptor, handleError, openFileInBrowser, presetConfigToken, provideCuiAuth, provideCuiErrorHandler, provideCuiTabs, setLoading, sseStreamReaderInterceptor };
13952
13978
  //# sourceMappingURL=cuby-ui-core.mjs.map