@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
@@ -16,7 +16,7 @@ import { HttpErrorResponse } from '@angular/common/http';
16
16
  import * as i4 from '@jsverse/transloco';
17
17
  import { TranslocoService, TranslocoModule, TranslocoDirective, TranslocoPipe } from '@jsverse/transloco';
18
18
  import { Router } from '@angular/router';
19
- import * as i5 from '@angular/forms';
19
+ import * as i2$1 from '@angular/forms';
20
20
  import { Validators, NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule, FormControl, NonNullableFormBuilder } from '@angular/forms';
21
21
  import * as i2 from '@taiga-ui/polymorpheus';
22
22
  import { PolymorpheusComponent, injectContext, PolymorpheusOutlet, PolymorpheusTemplate } from '@taiga-ui/polymorpheus';
@@ -3620,7 +3620,7 @@ class CuiInputNumberComponent {
3620
3620
  });
3621
3621
  }
3622
3622
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiInputNumberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3623
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CuiInputNumberComponent, selector: "cui-input-number", inputs: { precision: "precision", min: "min", max: "max" }, host: { listeners: { "click": "onFocus()" }, properties: { "class._disabled": "this.isDisabled", "attr.data-size": "this.size", "class._with-error": "this.isError" } }, providers: [CUI_TEXT_FILED_CONTROLLER_PROVIDER, cuiProvide(NG_VALUE_ACCESSOR, CuiInputNumberComponent, true)], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<cui-svg\n *ngIf=\"iconLeft\"\n [icon]=\"iconLeft\"\n color=\"var(--cui-base-500)\"\n></cui-svg>\n<input\n #input\n [ngModel]=\"value\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n type=\"text\"\n [maskito]=\"maskOptions\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n/>\n", styles: [":host{--cui-input-autofill-bg: var(--cui-input);--cui-input-autofill-color: var(--cui-base-900);padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:-webkit-autofill,.c-input:-webkit-autofill:hover,.c-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 200px var(--cui-input-autofill-bg) inset;-webkit-text-fill-color:var(--cui-input-autofill-color);caret-color:var(--cui-input-autofill-color)}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3623
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CuiInputNumberComponent, selector: "cui-input-number", inputs: { precision: "precision", min: "min", max: "max" }, host: { listeners: { "click": "onFocus()" }, properties: { "class._disabled": "this.isDisabled", "attr.data-size": "this.size", "class._with-error": "this.isError" } }, providers: [CUI_TEXT_FILED_CONTROLLER_PROVIDER, cuiProvide(NG_VALUE_ACCESSOR, CuiInputNumberComponent, true)], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<cui-svg\n *ngIf=\"iconLeft\"\n [icon]=\"iconLeft\"\n color=\"var(--cui-base-500)\"\n></cui-svg>\n<input\n #input\n [ngModel]=\"value\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n type=\"text\"\n [maskito]=\"maskOptions\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n/>\n", styles: [":host{--cui-input-autofill-bg: var(--cui-input);--cui-input-autofill-color: var(--cui-base-900);padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:-webkit-autofill,.c-input:-webkit-autofill:hover,.c-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 200px var(--cui-input-autofill-bg) inset;-webkit-text-fill-color:var(--cui-input-autofill-color);caret-color:var(--cui-input-autofill-color)}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3624
3624
  }
3625
3625
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiInputNumberComponent, decorators: [{
3626
3626
  type: Component,
@@ -3762,7 +3762,7 @@ class CuiInputPasswordComponent {
3762
3762
  this.isPasswordHidden = !this.isPasswordHidden;
3763
3763
  }
3764
3764
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiInputPasswordComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3765
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CuiInputPasswordComponent, selector: "cui-input-password", host: { properties: { "class._disabled": "this.isDisabled", "attr.data-size": "this.size", "class._with-error": "this.isError" } }, providers: [CUI_TEXT_FILED_CONTROLLER_PROVIDER, cuiProvide(NG_VALUE_ACCESSOR, CuiInputPasswordComponent, true)], ngImport: i0, template: "<cui-svg\n *ngIf=\"iconLeft\"\n [icon]=\"iconLeft\"\n color=\"var(--cui-base-500)\"\n></cui-svg>\n<input\n [ngModel]=\"value\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n [type]=\"type\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n/>\n<button\n *ngIf=\"isToggleButtonShown\"\n [title]=\"buttonTitle\"\n class=\"c-button\"\n (click)=\"onTogglePasswordVisibility()\"\n>\n <cui-svg\n [icon]=\"icon\"\n [width]=\"16\"\n [height]=\"16\"\n color=\"var(--cui-base-500)\"\n ></cui-svg>\n</button>\n", styles: [":host{--cui-input-autofill-bg: var(--cui-input);--cui-input-autofill-color: var(--cui-base-900);padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:-webkit-autofill,.c-input:-webkit-autofill:hover,.c-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 200px var(--cui-input-autofill-bg) inset;-webkit-text-fill-color:var(--cui-input-autofill-color);caret-color:var(--cui-input-autofill-color)}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex}.c-input::-ms-reveal{display:none}.c-input[type=password]{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3765
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CuiInputPasswordComponent, selector: "cui-input-password", host: { properties: { "class._disabled": "this.isDisabled", "attr.data-size": "this.size", "class._with-error": "this.isError" } }, providers: [CUI_TEXT_FILED_CONTROLLER_PROVIDER, cuiProvide(NG_VALUE_ACCESSOR, CuiInputPasswordComponent, true)], ngImport: i0, template: "<cui-svg\n *ngIf=\"iconLeft\"\n [icon]=\"iconLeft\"\n color=\"var(--cui-base-500)\"\n></cui-svg>\n<input\n [ngModel]=\"value\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n [type]=\"type\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n/>\n<button\n *ngIf=\"isToggleButtonShown\"\n [title]=\"buttonTitle\"\n class=\"c-button\"\n (click)=\"onTogglePasswordVisibility()\"\n>\n <cui-svg\n [icon]=\"icon\"\n [width]=\"16\"\n [height]=\"16\"\n color=\"var(--cui-base-500)\"\n ></cui-svg>\n</button>\n", styles: [":host{--cui-input-autofill-bg: var(--cui-input);--cui-input-autofill-color: var(--cui-base-900);padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:-webkit-autofill,.c-input:-webkit-autofill:hover,.c-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 200px var(--cui-input-autofill-bg) inset;-webkit-text-fill-color:var(--cui-input-autofill-color);caret-color:var(--cui-input-autofill-color)}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex}.c-input::-ms-reveal{display:none}.c-input[type=password]{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3766
3766
  }
3767
3767
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiInputPasswordComponent, decorators: [{
3768
3768
  type: Component,
@@ -3845,7 +3845,7 @@ class CuiInputTextComponent {
3845
3845
  this.onChange(value);
3846
3846
  }
3847
3847
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiInputTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3848
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CuiInputTextComponent, selector: "cui-input-text", host: { listeners: { "click": "onFocus()" }, properties: { "class._disabled": "this.isDisabled", "attr.data-size": "this.size", "class._with-error": "this.isError" } }, providers: [CUI_TEXT_FILED_CONTROLLER_PROVIDER, cuiProvide(NG_VALUE_ACCESSOR, CuiInputTextComponent, true)], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<cui-svg\n *ngIf=\"iconLeft\"\n [icon]=\"iconLeft\"\n color=\"var(--cui-base-500)\"\n></cui-svg>\n<input\n #input\n [ngModel]=\"value\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n type=\"text\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n/>\n<button\n type=\"button\"\n class=\"c-button\"\n [class.c-button_hidden]=\"isClearButtonHidden\"\n (click)=\"onClear()\"\n>\n <cui-svg\n icon=\"cuiIconClear\"\n color=\"var(--cui-base-300)\"\n class=\"c-close-icon\"\n />\n</button>\n", styles: [":host{--cui-input-autofill-bg: var(--cui-input);--cui-input-autofill-color: var(--cui-base-900);padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:-webkit-autofill,.c-input:-webkit-autofill:hover,.c-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 200px var(--cui-input-autofill-bg) inset;-webkit-text-fill-color:var(--cui-input-autofill-color);caret-color:var(--cui-input-autofill-color)}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex}.c-close-icon ::ng-deep path{stroke:var(--cui-base-0)!important}.c-button_hidden{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3848
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CuiInputTextComponent, selector: "cui-input-text", host: { listeners: { "click": "onFocus()" }, properties: { "class._disabled": "this.isDisabled", "attr.data-size": "this.size", "class._with-error": "this.isError" } }, providers: [CUI_TEXT_FILED_CONTROLLER_PROVIDER, cuiProvide(NG_VALUE_ACCESSOR, CuiInputTextComponent, true)], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<cui-svg\n *ngIf=\"iconLeft\"\n [icon]=\"iconLeft\"\n color=\"var(--cui-base-500)\"\n></cui-svg>\n<input\n #input\n [ngModel]=\"value\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n type=\"text\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n/>\n<button\n type=\"button\"\n class=\"c-button\"\n [class.c-button_hidden]=\"isClearButtonHidden\"\n (click)=\"onClear()\"\n>\n <cui-svg\n icon=\"cuiIconClear\"\n color=\"var(--cui-base-300)\"\n class=\"c-close-icon\"\n />\n</button>\n", styles: [":host{--cui-input-autofill-bg: var(--cui-input);--cui-input-autofill-color: var(--cui-base-900);padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:-webkit-autofill,.c-input:-webkit-autofill:hover,.c-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 200px var(--cui-input-autofill-bg) inset;-webkit-text-fill-color:var(--cui-input-autofill-color);caret-color:var(--cui-input-autofill-color)}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex}.c-close-icon ::ng-deep path{stroke:var(--cui-base-0)!important}.c-button_hidden{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3849
3849
  }
3850
3850
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiInputTextComponent, decorators: [{
3851
3851
  type: Component,
@@ -3947,7 +3947,7 @@ class CuiInputTimeComponent {
3947
3947
  return maskitoTimeOptionsGenerator({ mode });
3948
3948
  }
3949
3949
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiInputTimeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3950
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CuiInputTimeComponent, selector: "cui-input-time", inputs: { mode: "mode" }, host: { listeners: { "click": "onFocus()" }, properties: { "class._disabled": "this.isDisabled", "attr.data-size": "this.size", "class._with-error": "this.isError" } }, providers: [CUI_TEXT_FILED_CONTROLLER_PROVIDER, cuiProvide(NG_VALUE_ACCESSOR, CuiInputTimeComponent, true)], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<cui-svg\n icon=\"cuiIconClock\"\n color=\"var(--cui-base-500)\"\n></cui-svg>\n<input\n #input\n [ngModel]=\"computedValue\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n type=\"text\"\n [maskito]=\"maskOptions\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n/>\n", styles: [":host{--cui-input-autofill-bg: var(--cui-input);--cui-input-autofill-color: var(--cui-base-900);padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:-webkit-autofill,.c-input:-webkit-autofill:hover,.c-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 200px var(--cui-input-autofill-bg) inset;-webkit-text-fill-color:var(--cui-input-autofill-color);caret-color:var(--cui-input-autofill-color)}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex}\n"], dependencies: [{ kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3950
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CuiInputTimeComponent, selector: "cui-input-time", inputs: { mode: "mode" }, host: { listeners: { "click": "onFocus()" }, properties: { "class._disabled": "this.isDisabled", "attr.data-size": "this.size", "class._with-error": "this.isError" } }, providers: [CUI_TEXT_FILED_CONTROLLER_PROVIDER, cuiProvide(NG_VALUE_ACCESSOR, CuiInputTimeComponent, true)], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<cui-svg\n icon=\"cuiIconClock\"\n color=\"var(--cui-base-500)\"\n></cui-svg>\n<input\n #input\n [ngModel]=\"computedValue\"\n [attr.id]=\"id\"\n [attr.placeholder]=\"placeholder\"\n type=\"text\"\n [maskito]=\"maskOptions\"\n [disabled]=\"isDisabled\"\n class=\"c-input\"\n (input)=\"onInput($event)\"\n (focus)=\"onTouched()\"\n/>\n", styles: [":host{--cui-input-autofill-bg: var(--cui-input);--cui-input-autofill-color: var(--cui-base-900);padding-right:13px;padding-left:13px;font-weight:400;font-size:14px;line-height:20px;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;cursor:text;background:var(--cui-input);color:var(--cui-base-900);font-family:var(--cui-main-font)}:host:hover{border-color:var(--cui-base-300)}:host:focus-within{box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}:host[data-size=sm]{padding-top:7px;padding-bottom:7px}:host[data-size=md]{padding-top:8px;padding-bottom:8px}:host._disabled{cursor:not-allowed;opacity:.5;background:var(--cui-base-50);border-color:var(--cui-base-200)}:host._with-error{border-color:var(--cui-danger)}:host._with-error:focus-within{box-shadow:0 0 0 2px #d92d2040}.c-input{padding:0;outline:none;margin:0;border-width:0;appearance:none;caret-color:currentColor;background:none;color:inherit;font:inherit;line-height:inherit;width:100%}.c-input:-webkit-autofill,.c-input:-webkit-autofill:hover,.c-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 200px var(--cui-input-autofill-bg) inset;-webkit-text-fill-color:var(--cui-input-autofill-color);caret-color:var(--cui-input-autofill-color)}.c-input:disabled{cursor:not-allowed}.c-input::placeholder{color:var(--cui-base-400)}.c-button{padding:0;border:0;flex-shrink:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;display:flex}\n"], dependencies: [{ kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3951
3951
  }
3952
3952
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiInputTimeComponent, decorators: [{
3953
3953
  type: Component,
@@ -4873,7 +4873,7 @@ class CuiStringFilterComponent {
4873
4873
  dropdown.close();
4874
4874
  }
4875
4875
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiStringFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4876
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiStringFilterComponent, isStandalone: true, selector: "cui-string-filter", inputs: { filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: true, transformFunction: null }, translations: { classPropertyName: "translations", publicName: "translations", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { removed: "removed", changed: "changed" }, ngImport: i0, template: "<cui-filter-remove-button\n [label]=\"filter().field.label\"\n (removed)=\"onRemove()\"\n/>\n\n<button\n type=\"button\"\n class=\"string-filter__trigger\"\n [class.string-filter__trigger--active]=\"hasValue()\"\n [cuiDropdown]=\"dropdownTpl\"\n #dropdown=\"cuiDropdown\"\n (isOpened)=\"onDropdownOpened($event)\"\n>\n @if (hasValue()) {\n <span\n class=\"string-filter__value\"\n [cuiTooltip]=\"currentValue()\"\n >\n {{ currentValue() }}\n </span>\n } @else {\n <span class=\"string-filter__placeholder\">{{ translations().enterValue }}</span>\n }\n <cui-svg icon=\"cuiIconChevronDown\" />\n</button>\n\n<ng-template #dropdownTpl>\n <div class=\"string-filter__dropdown\">\n <div class=\"string-filter__label\">\n {{ translations().filterBy }} {{ filter().field.label }}\n </div>\n <cui-input-text\n [ngModel]=\"tmpValue()\"\n (ngModelChange)=\"onTmpValueChange($event)\"\n maxlength=\"25\"\n [cuiTextFieldPlaceholder]=\"translations().enterValue\"\n />\n <div class=\"string-filter__footer\">\n <button\n type=\"button\"\n cuiButton\n size=\"xs\"\n appearance=\"secondary\"\n (click)=\"dropdown.close()\"\n >\n {{ translations().cancel }}\n </button>\n <button\n type=\"button\"\n cuiButton\n size=\"xs\"\n appearance=\"action-cyan\"\n (click)=\"applyValue(dropdown)\"\n >\n {{ translations().apply }}\n </button>\n </div>\n </div>\n</ng-template>", styles: [":host{display:inline-flex}.string-filter__trigger{padding:6px;font-weight:500;font-size:12px;line-height:14px;display:inline-flex;align-items:center;gap:8px;height:28px;background:transparent;border:1px solid var(--cui-base-200);border-top-right-radius:8px;border-bottom-right-radius:8px;cursor:pointer}.string-filter__trigger:hover{background:var(--cui-base-200)}.string-filter__trigger:focus{outline:none}.string-filter__trigger--active{background:var(--cui-lavender-bg);border-color:var(--cui-badge-lavender-label)}.string-filter__trigger--active:hover{background:var(--cui-base-200);border-color:var(--cui-base-200)}.string-filter__value{font-weight:500;font-size:12px;line-height:14px;color:var(--cui-base-900);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.string-filter__placeholder{font-weight:500;font-size:12px;line-height:14px;color:var(--cui-base-500)}.string-filter__dropdown{display:flex;flex-direction:column;gap:12px;padding:8px;width:300px;max-width:calc(100vw - 16px);background:var(--cui-base-0);border:1px solid var(--cui-base-200);border-radius:8px;box-shadow:0 4px 12px #00000026;overflow:hidden}.string-filter__label{font-weight:500;font-size:13px;line-height:16px;color:var(--cui-base-900)}.string-filter__footer{display:flex;flex-direction:row;gap:8px;justify-content:flex-end}\n"], dependencies: [{ kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "theme", "size"] }, { kind: "directive", type: CuiDropdownDirective, selector: "[cuiDropdown]", inputs: ["cuiDropdown", "orientation"], outputs: ["isOpened"], exportAs: ["cuiDropdown"] }, { kind: "component", type: CuiFilterRemoveButtonComponent, selector: "cui-filter-remove-button", inputs: ["label"], outputs: ["removed"] }, { kind: "ngmodule", type: CuiInputModule }, { kind: "component", type: CuiInputTextComponent, selector: "cui-input-text" }, { kind: "directive", type: CuiTextFieldPlaceholderDirective, selector: "[cuiTextFieldPlaceholder]", inputs: ["cuiTextFieldPlaceholder"] }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "directive", type: CuiTooltipDirective, selector: "[cuiTooltip]:not(ng-container):not(ng-template)", inputs: ["cuiTooltipContext", "cuiTooltipAppearance", "cuiTooltip"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4876
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiStringFilterComponent, isStandalone: true, selector: "cui-string-filter", inputs: { filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: true, transformFunction: null }, translations: { classPropertyName: "translations", publicName: "translations", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { removed: "removed", changed: "changed" }, ngImport: i0, template: "<cui-filter-remove-button\n [label]=\"filter().field.label\"\n (removed)=\"onRemove()\"\n/>\n\n<button\n type=\"button\"\n class=\"string-filter__trigger\"\n [class.string-filter__trigger--active]=\"hasValue()\"\n [cuiDropdown]=\"dropdownTpl\"\n #dropdown=\"cuiDropdown\"\n (isOpened)=\"onDropdownOpened($event)\"\n>\n @if (hasValue()) {\n <span\n class=\"string-filter__value\"\n [cuiTooltip]=\"currentValue()\"\n >\n {{ currentValue() }}\n </span>\n } @else {\n <span class=\"string-filter__placeholder\">{{ translations().enterValue }}</span>\n }\n <cui-svg icon=\"cuiIconChevronDown\" />\n</button>\n\n<ng-template #dropdownTpl>\n <div class=\"string-filter__dropdown\">\n <div class=\"string-filter__label\">\n {{ translations().filterBy }} {{ filter().field.label }}\n </div>\n <cui-input-text\n [ngModel]=\"tmpValue()\"\n (ngModelChange)=\"onTmpValueChange($event)\"\n maxlength=\"25\"\n [cuiTextFieldPlaceholder]=\"translations().enterValue\"\n />\n <div class=\"string-filter__footer\">\n <button\n type=\"button\"\n cuiButton\n size=\"xs\"\n appearance=\"secondary\"\n (click)=\"dropdown.close()\"\n >\n {{ translations().cancel }}\n </button>\n <button\n type=\"button\"\n cuiButton\n size=\"xs\"\n appearance=\"action-cyan\"\n (click)=\"applyValue(dropdown)\"\n >\n {{ translations().apply }}\n </button>\n </div>\n </div>\n</ng-template>", styles: [":host{display:inline-flex}.string-filter__trigger{padding:6px;font-weight:500;font-size:12px;line-height:14px;display:inline-flex;align-items:center;gap:8px;height:28px;background:transparent;border:1px solid var(--cui-base-200);border-top-right-radius:8px;border-bottom-right-radius:8px;cursor:pointer}.string-filter__trigger:hover{background:var(--cui-base-200)}.string-filter__trigger:focus{outline:none}.string-filter__trigger--active{background:var(--cui-lavender-bg);border-color:var(--cui-badge-lavender-label)}.string-filter__trigger--active:hover{background:var(--cui-base-200);border-color:var(--cui-base-200)}.string-filter__value{font-weight:500;font-size:12px;line-height:14px;color:var(--cui-base-900);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.string-filter__placeholder{font-weight:500;font-size:12px;line-height:14px;color:var(--cui-base-500)}.string-filter__dropdown{display:flex;flex-direction:column;gap:12px;padding:8px;width:300px;max-width:calc(100vw - 16px);background:var(--cui-base-0);border:1px solid var(--cui-base-200);border-radius:8px;box-shadow:0 4px 12px #00000026;overflow:hidden}.string-filter__label{font-weight:500;font-size:13px;line-height:16px;color:var(--cui-base-900)}.string-filter__footer{display:flex;flex-direction:row;gap:8px;justify-content:flex-end}\n"], dependencies: [{ kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "theme", "size"] }, { kind: "directive", type: CuiDropdownDirective, selector: "[cuiDropdown]", inputs: ["cuiDropdown", "orientation"], outputs: ["isOpened"], exportAs: ["cuiDropdown"] }, { kind: "component", type: CuiFilterRemoveButtonComponent, selector: "cui-filter-remove-button", inputs: ["label"], outputs: ["removed"] }, { kind: "ngmodule", type: CuiInputModule }, { kind: "component", type: CuiInputTextComponent, selector: "cui-input-text" }, { kind: "directive", type: CuiTextFieldPlaceholderDirective, selector: "[cuiTextFieldPlaceholder]", inputs: ["cuiTextFieldPlaceholder"] }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "directive", type: CuiTooltipDirective, selector: "[cuiTooltip]:not(ng-container):not(ng-template)", inputs: ["cuiTooltipContext", "cuiTooltipAppearance", "cuiTooltip"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4877
4877
  }
4878
4878
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiStringFilterComponent, decorators: [{
4879
4879
  type: Component,
@@ -4957,7 +4957,7 @@ class CuiRangeFilterComponent {
4957
4957
  dropdown.close();
4958
4958
  }
4959
4959
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiRangeFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4960
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiRangeFilterComponent, isStandalone: true, selector: "cui-range-filter", inputs: { filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: true, transformFunction: null }, translations: { classPropertyName: "translations", publicName: "translations", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { removed: "removed", changed: "changed" }, ngImport: i0, template: "<cui-filter-remove-button\n [label]=\"filter().field.label\"\n (removed)=\"onRemove()\"\n/>\n\n<button\n type=\"button\"\n class=\"range-filter__trigger\"\n [class.range-filter__trigger_active]=\"hasValue()\"\n [cuiDropdown]=\"dropdownTpl\"\n #dropdown=\"cuiDropdown\"\n (isOpened)=\"onDropdownOpened($event)\"\n>\n @if (hasValue()) {\n <span\n class=\"range-filter__value\"\n [cuiTooltip]=\"displayValue()\"\n >\n {{ displayValue() }}\n </span>\n } @else {\n <span class=\"range-filter__placeholder\">{{ translations().enterValue }}</span>\n }\n <cui-svg icon=\"cuiIconChevronDown\" />\n</button>\n\n<ng-template #dropdownTpl>\n <div class=\"range-filter__dropdown\">\n <div class=\"range-filter__label\">\n {{ translations().filterBy }} {{ filter().field.label }}\n </div>\n <div class=\"range-filter__inputs\">\n <cui-input-number\n [ngModel]=\"tmpMin()\"\n (ngModelChange)=\"onTmpMinChange($event)\"\n [cuiTextFieldPlaceholder]=\"minPlaceholder()\"\n />\n <span class=\"range-filter__separator\">\u2013</span>\n <cui-input-number\n [ngModel]=\"tmpMax()\"\n (ngModelChange)=\"onTmpMaxChange($event)\"\n [cuiTextFieldPlaceholder]=\"maxPlaceholder()\"\n />\n </div>\n <div class=\"range-filter__footer\">\n <button\n type=\"button\"\n cuiButton\n size=\"xs\"\n appearance=\"secondary\"\n (click)=\"dropdown.close()\"\n >\n {{ translations().cancel }}\n </button>\n <button\n type=\"button\"\n cuiButton\n size=\"xs\"\n appearance=\"action-cyan\"\n (click)=\"applyValue(dropdown)\"\n >\n {{ translations().apply }}\n </button>\n </div>\n </div>\n</ng-template>", styles: [":host{display:inline-flex}.range-filter__trigger{padding:6px;font-weight:500;font-size:12px;line-height:14px;display:inline-flex;align-items:center;gap:8px;height:28px;background:transparent;border:1px solid var(--cui-base-200);border-top-right-radius:8px;border-bottom-right-radius:8px;cursor:pointer}.range-filter__trigger:hover{background:var(--cui-base-200)}.range-filter__trigger:focus{outline:none}.range-filter__trigger_active{background:var(--cui-lavender-bg);border-color:var(--cui-badge-lavender-label)}.range-filter__trigger_active:hover{background:var(--cui-base-200);border-color:var(--cui-base-200)}.range-filter__value{font-weight:500;font-size:12px;line-height:14px;max-width:200px;overflow:hidden;color:var(--cui-base-900);text-overflow:ellipsis;white-space:nowrap}.range-filter__placeholder{font-weight:500;font-size:12px;line-height:14px;color:var(--cui-base-500)}.range-filter__dropdown{display:flex;flex-direction:column;gap:12px;padding:8px;width:300px;max-width:calc(100vw - 16px);overflow:hidden;background:var(--cui-base-0);border:1px solid var(--cui-base-200);border-radius:8px;box-shadow:0 4px 12px #00000026}.range-filter__label{font-weight:500;font-size:13px;line-height:16px;color:var(--cui-base-900)}.range-filter__inputs{display:flex;flex-direction:row;gap:8px;align-items:center}.range-filter__separator{font-weight:500;font-size:13px;line-height:16px;color:var(--cui-base-500)}.range-filter__footer{display:flex;flex-direction:row;gap:8px;justify-content:flex-end}\n"], dependencies: [{ kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "theme", "size"] }, { kind: "directive", type: CuiDropdownDirective, selector: "[cuiDropdown]", inputs: ["cuiDropdown", "orientation"], outputs: ["isOpened"], exportAs: ["cuiDropdown"] }, { kind: "component", type: CuiFilterRemoveButtonComponent, selector: "cui-filter-remove-button", inputs: ["label"], outputs: ["removed"] }, { kind: "ngmodule", type: CuiInputNumberModule }, { kind: "component", type: CuiInputNumberComponent, selector: "cui-input-number", inputs: ["precision", "min", "max"] }, { kind: "directive", type: CuiTextFieldPlaceholderDirective, selector: "[cuiTextFieldPlaceholder]", inputs: ["cuiTextFieldPlaceholder"] }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "directive", type: CuiTooltipDirective, selector: "[cuiTooltip]:not(ng-container):not(ng-template)", inputs: ["cuiTooltipContext", "cuiTooltipAppearance", "cuiTooltip"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4960
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiRangeFilterComponent, isStandalone: true, selector: "cui-range-filter", inputs: { filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: true, transformFunction: null }, translations: { classPropertyName: "translations", publicName: "translations", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { removed: "removed", changed: "changed" }, ngImport: i0, template: "<cui-filter-remove-button\n [label]=\"filter().field.label\"\n (removed)=\"onRemove()\"\n/>\n\n<button\n type=\"button\"\n class=\"range-filter__trigger\"\n [class.range-filter__trigger_active]=\"hasValue()\"\n [cuiDropdown]=\"dropdownTpl\"\n #dropdown=\"cuiDropdown\"\n (isOpened)=\"onDropdownOpened($event)\"\n>\n @if (hasValue()) {\n <span\n class=\"range-filter__value\"\n [cuiTooltip]=\"displayValue()\"\n >\n {{ displayValue() }}\n </span>\n } @else {\n <span class=\"range-filter__placeholder\">{{ translations().enterValue }}</span>\n }\n <cui-svg icon=\"cuiIconChevronDown\" />\n</button>\n\n<ng-template #dropdownTpl>\n <div class=\"range-filter__dropdown\">\n <div class=\"range-filter__label\">\n {{ translations().filterBy }} {{ filter().field.label }}\n </div>\n <div class=\"range-filter__inputs\">\n <cui-input-number\n [ngModel]=\"tmpMin()\"\n (ngModelChange)=\"onTmpMinChange($event)\"\n [cuiTextFieldPlaceholder]=\"minPlaceholder()\"\n />\n <span class=\"range-filter__separator\">\u2013</span>\n <cui-input-number\n [ngModel]=\"tmpMax()\"\n (ngModelChange)=\"onTmpMaxChange($event)\"\n [cuiTextFieldPlaceholder]=\"maxPlaceholder()\"\n />\n </div>\n <div class=\"range-filter__footer\">\n <button\n type=\"button\"\n cuiButton\n size=\"xs\"\n appearance=\"secondary\"\n (click)=\"dropdown.close()\"\n >\n {{ translations().cancel }}\n </button>\n <button\n type=\"button\"\n cuiButton\n size=\"xs\"\n appearance=\"action-cyan\"\n (click)=\"applyValue(dropdown)\"\n >\n {{ translations().apply }}\n </button>\n </div>\n </div>\n</ng-template>", styles: [":host{display:inline-flex}.range-filter__trigger{padding:6px;font-weight:500;font-size:12px;line-height:14px;display:inline-flex;align-items:center;gap:8px;height:28px;background:transparent;border:1px solid var(--cui-base-200);border-top-right-radius:8px;border-bottom-right-radius:8px;cursor:pointer}.range-filter__trigger:hover{background:var(--cui-base-200)}.range-filter__trigger:focus{outline:none}.range-filter__trigger_active{background:var(--cui-lavender-bg);border-color:var(--cui-badge-lavender-label)}.range-filter__trigger_active:hover{background:var(--cui-base-200);border-color:var(--cui-base-200)}.range-filter__value{font-weight:500;font-size:12px;line-height:14px;max-width:200px;overflow:hidden;color:var(--cui-base-900);text-overflow:ellipsis;white-space:nowrap}.range-filter__placeholder{font-weight:500;font-size:12px;line-height:14px;color:var(--cui-base-500)}.range-filter__dropdown{display:flex;flex-direction:column;gap:12px;padding:8px;width:300px;max-width:calc(100vw - 16px);overflow:hidden;background:var(--cui-base-0);border:1px solid var(--cui-base-200);border-radius:8px;box-shadow:0 4px 12px #00000026}.range-filter__label{font-weight:500;font-size:13px;line-height:16px;color:var(--cui-base-900)}.range-filter__inputs{display:flex;flex-direction:row;gap:8px;align-items:center}.range-filter__separator{font-weight:500;font-size:13px;line-height:16px;color:var(--cui-base-500)}.range-filter__footer{display:flex;flex-direction:row;gap:8px;justify-content:flex-end}\n"], dependencies: [{ kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "theme", "size"] }, { kind: "directive", type: CuiDropdownDirective, selector: "[cuiDropdown]", inputs: ["cuiDropdown", "orientation"], outputs: ["isOpened"], exportAs: ["cuiDropdown"] }, { kind: "component", type: CuiFilterRemoveButtonComponent, selector: "cui-filter-remove-button", inputs: ["label"], outputs: ["removed"] }, { kind: "ngmodule", type: CuiInputNumberModule }, { kind: "component", type: CuiInputNumberComponent, selector: "cui-input-number", inputs: ["precision", "min", "max"] }, { kind: "directive", type: CuiTextFieldPlaceholderDirective, selector: "[cuiTextFieldPlaceholder]", inputs: ["cuiTextFieldPlaceholder"] }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "directive", type: CuiTooltipDirective, selector: "[cuiTooltip]:not(ng-container):not(ng-template)", inputs: ["cuiTooltipContext", "cuiTooltipAppearance", "cuiTooltip"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4961
4961
  }
4962
4962
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiRangeFilterComponent, decorators: [{
4963
4963
  type: Component,
@@ -6211,7 +6211,7 @@ class MarkerModalComponent {
6211
6211
  this.element.style.top = bottom + this.spaceBetweenTargetAndList + 'px';
6212
6212
  }
6213
6213
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MarkerModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6214
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MarkerModalComponent, isStandalone: true, selector: "ng-component", inputs: { title: "title", url: "url", tool: "tool", isGlobal: "isGlobal", isTool: "isTool", target: "target", space: "space" }, outputs: { saveClicked: "saveClicked", cancelClicked: "cancelClicked" }, host: { properties: { "class._hidden": "this.hide", "class._fixed": "this.fixed" } }, hostDirectives: [{ directive: i1$1.CuiClickOutsideDirective }], ngImport: i0, template: "<ng-container *transloco=\"let t\">\n <ng-container *ngIf=\"isVisible()\">\n <form\n autocomplete=\"off\"\n class=\"wrapper\"\n >\n <cui-form-field>\n <!-- eslint-disable-next-line -->\n <label\n [for]=\"titleId\"\n cuiLabel\n [isRequired]=\"true\"\n (click)=\"onTitleLabelClick(titleElement)\"\n >\n {{ t('TITLE') }}\n </label>\n <!-- TODO: \u0435\u0441\u043B\u0438 \u043D\u0430\u0439\u0434\u0435\u0442\u0441\u044F \u0432\u0430\u0440\u0438\u043A \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u0447\u0435\u0440\u0435\u0437 \u0444\u043E\u0440\u043C\u0443 -->\n <div\n class=\"title\"\n [class.title_invalid]=\"isTitleInvalid()\"\n >\n <div\n #titleElement\n class=\"title__text\"\n contenteditable\n attr.data-placeholder=\"{{ t('TITLE') }}...\"\n (paste)=\"onTitlePaste($event)\"\n (keyup)=\"onTitleChange($event)\"\n [innerHTML]=\"startTitle\"\n ></div>\n <button\n type=\"button\"\n class=\"title__clear\"\n (click)=\"onClearTitle(titleElement)\"\n >\n <cui-svg\n icon=\"cuiIconClear\"\n color=\"var(--cui-base-300)\"\n class=\"title__icon\"\n />\n </button>\n </div>\n\n <cui-hint\n *ngIf=\"isTitleInvalid()\"\n hintType=\"error\"\n >\n <ng-container *ngIf=\"isTitleEmpty()\">\n {{ t('FIELD_IS_REQUIRED') }}\n </ng-container>\n <ng-container *ngIf=\"isTitleMoreThanMaxLength()\">\n {{ t('PLEASE_KEEP_FIELD_UNDER_CHARACTERS', { value: TITLE_MAX_LENGTH }) }}\n </ng-container>\n </cui-hint>\n </cui-form-field>\n <cui-form-field>\n <label\n [for]=\"dataId\"\n cuiLabel\n [isRequired]=\"true\"\n >\n {{ isTool ? t('TOOL') : t('URL') }}\n </label>\n <ng-container *ngIf=\"dynamicDataControl\">\n <ng-container *ngIf=\"isTool; else input\">\n <div>\n <button\n #target=\"elementRef\"\n class=\"button tool-button\"\n cuiButton\n type=\"button\"\n cuiElement\n appearance=\"outlined-gray\"\n size=\"sm\"\n >\n {{ $any(dynamicDataControl.value)?.title || t('SELECT_TOOL') }}\n </button>\n </div>\n <cc-marker-select\n [formControl]=\"dynamicDataControl\"\n [target]=\"target.nativeElement\"\n />\n </ng-container>\n <ng-template #input>\n <cui-input-text\n [cuiTextFieldId]=\"dataId\"\n [formControl]=\"dynamicDataControl\"\n autocomplete=\"off\"\n [cuiTextFieldIsError]=\"isDynamicDataErrorShown\"\n cuiTextFieldPlaceholder=\"{{ t('LINK') }}...\"\n />\n <cui-hint\n *ngIf=\"isDynamicDataErrorShown\"\n hintType=\"error\"\n >\n <ng-container *ngIf=\"dynamicDataControl.errors?.['required']\">\n {{ t('FIELD_IS_REQUIRED') }}\n </ng-container>\n <ng-container *ngIf=\"dynamicDataControl.errors?.['url']\">\n {{ t('INVALID_URL') }}\n </ng-container>\n </cui-hint>\n </ng-template>\n </ng-container>\n </cui-form-field>\n <div class=\"buttons\">\n <button\n cuiButton\n type=\"button\"\n appearance=\"outlined-gray\"\n size=\"sm\"\n (click)=\"onCancel()\"\n >\n {{ t('CANCEL') }}\n </button>\n <button\n cuiButton\n type=\"submit\"\n appearance=\"action\"\n size=\"sm\"\n [disabled]=\"isFormInvalid\"\n (click)=\"onSave()\"\n >\n {{ t('SAVE') }}\n </button>\n </div>\n </form>\n </ng-container>\n</ng-container>\n", styles: [":host{position:absolute;z-index:1;left:0}:host._fixed{position:fixed}:host._hidden{position:fixed;visibility:hidden}:host ::ng-deep .tool-button{width:100%}:host ::ng-deep .tool-button>span{justify-content:flex-start!important}.wrapper{padding:11px;box-shadow:0 2px 4px -1px #0000000f,0 4px 6px -1px #0000001a;display:flex;flex-direction:column;gap:16px;border-radius:8px;border:1px solid var(--cui-base-200);max-width:450px;background-color:var(--cui-base-0)}.buttons{padding-top:12px;display:flex;justify-content:flex-end;gap:12px}.title{padding:7px 13px;cursor:text;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;width:426px;background:var(--cui-input);color:var(--cui-base-900)}.title:hover{border-color:var(--cui-base-300)}.title:focus-within{outline:none;box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}.title_invalid,.title_invalid:focus-within{box-shadow:none;border-color:var(--cui-danger)}.title__text{flex-grow:1;text-wrap:nowrap;overflow:hidden}.title__text[data-placeholder]:empty:before{content:attr(data-placeholder);position:absolute;color:var(--cui-base-400)}.title__text:focus{outline:none}.title__clear{padding:0;visibility:hidden}.title__icon{width:16px}.title__icon ::ng-deep [stroke]{stroke:var(--cui-base-0)}.title__text:not(:empty)+.title__clear{visibility:visible}\n"], dependencies: [{ kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "theme", "size"] }, { kind: "directive", type: CuiElementDirective, selector: "[cuiElement]", exportAs: ["elementRef"] }, { kind: "ngmodule", type: CuiFormFieldModule }, { kind: "component", type: CuiFormFieldComponent, selector: "cui-form-field" }, { kind: "ngmodule", type: CuiHintModule }, { kind: "component", type: CuiHintComponent, selector: "cui-hint", inputs: ["hintType"] }, { kind: "ngmodule", type: CuiInputModule }, { kind: "component", type: CuiInputTextComponent, selector: "cui-input-text" }, { kind: "directive", type: CuiTextFieldIdDirective, selector: "[cuiTextFieldId]", inputs: ["cuiTextFieldId"] }, { kind: "directive", type: CuiTextFieldPlaceholderDirective, selector: "[cuiTextFieldPlaceholder]", inputs: ["cuiTextFieldPlaceholder"] }, { kind: "directive", type: CuiTextFieldIsErrorDirective, selector: "[cuiTextFieldIsError]", inputs: ["cuiTextFieldIsError"] }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "component", type: CuiLabelComponent, selector: "label[cuiLabel]", inputs: ["isRequired"] }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: MarkerSelectComponent, selector: "cc-marker-select", inputs: ["target", "space"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6214
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MarkerModalComponent, isStandalone: true, selector: "ng-component", inputs: { title: "title", url: "url", tool: "tool", isGlobal: "isGlobal", isTool: "isTool", target: "target", space: "space" }, outputs: { saveClicked: "saveClicked", cancelClicked: "cancelClicked" }, host: { properties: { "class._hidden": "this.hide", "class._fixed": "this.fixed" } }, hostDirectives: [{ directive: i1$1.CuiClickOutsideDirective }], ngImport: i0, template: "<ng-container *transloco=\"let t\">\n <ng-container *ngIf=\"isVisible()\">\n <form\n autocomplete=\"off\"\n class=\"wrapper\"\n >\n <cui-form-field>\n <!-- eslint-disable-next-line -->\n <label\n [for]=\"titleId\"\n cuiLabel\n [isRequired]=\"true\"\n (click)=\"onTitleLabelClick(titleElement)\"\n >\n {{ t('TITLE') }}\n </label>\n <!-- TODO: \u0435\u0441\u043B\u0438 \u043D\u0430\u0439\u0434\u0435\u0442\u0441\u044F \u0432\u0430\u0440\u0438\u043A \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u0447\u0435\u0440\u0435\u0437 \u0444\u043E\u0440\u043C\u0443 -->\n <div\n class=\"title\"\n [class.title_invalid]=\"isTitleInvalid()\"\n >\n <div\n #titleElement\n class=\"title__text\"\n contenteditable\n attr.data-placeholder=\"{{ t('TITLE') }}...\"\n (paste)=\"onTitlePaste($event)\"\n (keyup)=\"onTitleChange($event)\"\n [innerHTML]=\"startTitle\"\n ></div>\n <button\n type=\"button\"\n class=\"title__clear\"\n (click)=\"onClearTitle(titleElement)\"\n >\n <cui-svg\n icon=\"cuiIconClear\"\n color=\"var(--cui-base-300)\"\n class=\"title__icon\"\n />\n </button>\n </div>\n\n <cui-hint\n *ngIf=\"isTitleInvalid()\"\n hintType=\"error\"\n >\n <ng-container *ngIf=\"isTitleEmpty()\">\n {{ t('FIELD_IS_REQUIRED') }}\n </ng-container>\n <ng-container *ngIf=\"isTitleMoreThanMaxLength()\">\n {{ t('PLEASE_KEEP_FIELD_UNDER_CHARACTERS', { value: TITLE_MAX_LENGTH }) }}\n </ng-container>\n </cui-hint>\n </cui-form-field>\n <cui-form-field>\n <label\n [for]=\"dataId\"\n cuiLabel\n [isRequired]=\"true\"\n >\n {{ isTool ? t('TOOL') : t('URL') }}\n </label>\n <ng-container *ngIf=\"dynamicDataControl\">\n <ng-container *ngIf=\"isTool; else input\">\n <div>\n <button\n #target=\"elementRef\"\n class=\"button tool-button\"\n cuiButton\n type=\"button\"\n cuiElement\n appearance=\"outlined-gray\"\n size=\"sm\"\n >\n {{ $any(dynamicDataControl.value)?.title || t('SELECT_TOOL') }}\n </button>\n </div>\n <cc-marker-select\n [formControl]=\"dynamicDataControl\"\n [target]=\"target.nativeElement\"\n />\n </ng-container>\n <ng-template #input>\n <cui-input-text\n [cuiTextFieldId]=\"dataId\"\n [formControl]=\"dynamicDataControl\"\n autocomplete=\"off\"\n [cuiTextFieldIsError]=\"isDynamicDataErrorShown\"\n cuiTextFieldPlaceholder=\"{{ t('LINK') }}...\"\n />\n <cui-hint\n *ngIf=\"isDynamicDataErrorShown\"\n hintType=\"error\"\n >\n <ng-container *ngIf=\"dynamicDataControl.errors?.['required']\">\n {{ t('FIELD_IS_REQUIRED') }}\n </ng-container>\n <ng-container *ngIf=\"dynamicDataControl.errors?.['url']\">\n {{ t('INVALID_URL') }}\n </ng-container>\n </cui-hint>\n </ng-template>\n </ng-container>\n </cui-form-field>\n <div class=\"buttons\">\n <button\n cuiButton\n type=\"button\"\n appearance=\"outlined-gray\"\n size=\"sm\"\n (click)=\"onCancel()\"\n >\n {{ t('CANCEL') }}\n </button>\n <button\n cuiButton\n type=\"submit\"\n appearance=\"action\"\n size=\"sm\"\n [disabled]=\"isFormInvalid\"\n (click)=\"onSave()\"\n >\n {{ t('SAVE') }}\n </button>\n </div>\n </form>\n </ng-container>\n</ng-container>\n", styles: [":host{position:absolute;z-index:1;left:0}:host._fixed{position:fixed}:host._hidden{position:fixed;visibility:hidden}:host ::ng-deep .tool-button{width:100%}:host ::ng-deep .tool-button>span{justify-content:flex-start!important}.wrapper{padding:11px;box-shadow:0 2px 4px -1px #0000000f,0 4px 6px -1px #0000001a;display:flex;flex-direction:column;gap:16px;border-radius:8px;border:1px solid var(--cui-base-200);max-width:450px;background-color:var(--cui-base-0)}.buttons{padding-top:12px;display:flex;justify-content:flex-end;gap:12px}.title{padding:7px 13px;cursor:text;display:flex;align-items:center;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px;width:426px;background:var(--cui-input);color:var(--cui-base-900)}.title:hover{border-color:var(--cui-base-300)}.title:focus-within{outline:none;box-shadow:0 0 0 2px var(--cui-focus);border-color:var(--cui-info)}.title_invalid,.title_invalid:focus-within{box-shadow:none;border-color:var(--cui-danger)}.title__text{flex-grow:1;text-wrap:nowrap;overflow:hidden}.title__text[data-placeholder]:empty:before{content:attr(data-placeholder);position:absolute;color:var(--cui-base-400)}.title__text:focus{outline:none}.title__clear{padding:0;visibility:hidden}.title__icon{width:16px}.title__icon ::ng-deep [stroke]{stroke:var(--cui-base-0)}.title__text:not(:empty)+.title__clear{visibility:visible}\n"], dependencies: [{ kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "theme", "size"] }, { kind: "directive", type: CuiElementDirective, selector: "[cuiElement]", exportAs: ["elementRef"] }, { kind: "ngmodule", type: CuiFormFieldModule }, { kind: "component", type: CuiFormFieldComponent, selector: "cui-form-field" }, { kind: "ngmodule", type: CuiHintModule }, { kind: "component", type: CuiHintComponent, selector: "cui-hint", inputs: ["hintType"] }, { kind: "ngmodule", type: CuiInputModule }, { kind: "component", type: CuiInputTextComponent, selector: "cui-input-text" }, { kind: "directive", type: CuiTextFieldIdDirective, selector: "[cuiTextFieldId]", inputs: ["cuiTextFieldId"] }, { kind: "directive", type: CuiTextFieldPlaceholderDirective, selector: "[cuiTextFieldPlaceholder]", inputs: ["cuiTextFieldPlaceholder"] }, { kind: "directive", type: CuiTextFieldIsErrorDirective, selector: "[cuiTextFieldIsError]", inputs: ["cuiTextFieldIsError"] }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "component", type: CuiLabelComponent, selector: "label[cuiLabel]", inputs: ["isRequired"] }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: MarkerSelectComponent, selector: "cc-marker-select", inputs: ["target", "space"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6215
6215
  }
6216
6216
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MarkerModalComponent, decorators: [{
6217
6217
  type: Component,
@@ -9385,6 +9385,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
9385
9385
  args: [{ selector: 'cui-delete-modal', imports: [CuiButtonModule, TranslocoModule, CuiTooltip], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *transloco=\"let t\"\n class=\"wrapper\"\n>\n <div class=\"content\">\n <div class=\"header\">\n <h3 class=\"title\">{{ t(title) }}</h3>\n <button\n type=\"button\"\n cuiButton\n icon=\"cuiIconX\"\n appearance=\"ghost\"\n [disabled]=\"isLoading()\"\n class=\"close-btn\"\n (click)=\"onCancel()\"\n ></button>\n </div>\n <div class=\"info\">\n @for (text of content; track text) {\n <p [innerHTML]=\"t(text)\"></p>\n }\n </div>\n </div>\n\n <div class=\"footer\">\n <button\n type=\"button\"\n cuiButton\n (click)=\"onCancel()\"\n [disabled]=\"isLoading()\"\n appearance=\"secondary\"\n >\n {{ t('CANCEL') }}\n </button>\n <button\n type=\"button\"\n cuiButton\n [isLoaderShown]=\"isLoading()\"\n [disabled]=\"isDisabled\"\n [cuiTooltip]=\"isDisabled && t('IN_DEVELOPMENT')\"\n appearance=\"destructive\"\n (click)=\"onDelete()\"\n >\n {{ t('YES_DELETE') }}\n </button>\n </div>\n</div>\n", styles: [".wrapper{display:flex;flex-direction:column;gap:24px;padding:23px;border-radius:12px;width:400px}.header{display:flex;flex-direction:row;gap:8px;align-items:stretch;justify-content:space-between}.content{display:flex;flex-direction:column;gap:12px}.title{font-weight:500;font-size:18px;line-height:28px}.info{display:flex;flex-direction:column;gap:16px;font-weight:400;font-size:14px;line-height:20px}.footer{display:flex;flex-direction:row;gap:12px;align-items:stretch;justify-content:flex-end}.close-btn{margin:-8px}\n"] }]
9386
9386
  }] });
9387
9387
 
9388
+ /** @deprecated Use `CuiCategoryTreeStateService` from `cui-categories-tree`. */
9388
9389
  class CuiSelectedCategoryService {
9389
9390
  constructor() {
9390
9391
  this.editingIdSignal = signal(null);
@@ -9490,7 +9491,7 @@ class CuiCategoryFormComponent {
9490
9491
  Promise.resolve().then(() => this.input().nativeElement.focus());
9491
9492
  }
9492
9493
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCategoryFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9493
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.14", type: CuiCategoryFormComponent, isStandalone: true, selector: "cui-category-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: 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: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.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 }); }
9494
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.14", type: CuiCategoryFormComponent, isStandalone: true, selector: "cui-category-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: 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$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.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 }); }
9494
9495
  }
9495
9496
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCategoryFormComponent, decorators: [{
9496
9497
  type: Component,
@@ -9654,6 +9655,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
9654
9655
  args: [{ selector: 'cui-categories-list', imports: [CuiIconButtonModule, CuiSvgModule, forwardRef(() => CuiCategoryItemComponent)], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "@for (stageStorage of stageStorages(); track stageStorage.id) {\n <cui-category-item\n [stageStorage]=\"stageStorage\"\n [context]=\"context()\"\n />\n}\n", styles: [":host{display:block}\n"] }]
9655
9656
  }] });
9656
9657
 
9658
+ /** @deprecated Use `CuiCategoriesTreeComponent` (`cui-categories-tree`) with `CUI_CATEGORIES_TREE_DATA_SOURCE_SERVICE_TOKEN`. */
9657
9659
  class CuiCategoriesComponent {
9658
9660
  constructor() {
9659
9661
  this.treeStructNavigatorApiService = inject(CuiTreeStructNavigatorApiService);
@@ -9722,6 +9724,359 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
9722
9724
  ], 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"] }]
9723
9725
  }], ctorParameters: () => [] });
9724
9726
 
9727
+ const CUI_CATEGORIES_TREE_DATA_SOURCE_SERVICE_TOKEN = new InjectionToken('CUI_CATEGORIES_TREE_DATA_SOURCE_SERVICE_TOKEN');
9728
+
9729
+ class CuiCategoryTreeStateService {
9730
+ constructor() {
9731
+ this.editingIdSignal = signal(null);
9732
+ this.creatingParentIdSignal = signal(null);
9733
+ this.isCreatingRootSignal = signal(false);
9734
+ this.categorySignal = signal(null);
9735
+ this.editingId = this.editingIdSignal.asReadonly();
9736
+ this.creatingParentId = this.creatingParentIdSignal.asReadonly();
9737
+ this.isCreatingRoot = this.isCreatingRootSignal.asReadonly();
9738
+ this.category = this.categorySignal.asReadonly();
9739
+ }
9740
+ setCurrentCategory(category) {
9741
+ this.categorySignal.set(category);
9742
+ }
9743
+ setEditingId(id) {
9744
+ this.editingIdSignal.set(id);
9745
+ this.clearCreating();
9746
+ }
9747
+ startCreatingChildOf(parentId) {
9748
+ this.creatingParentIdSignal.set(parentId);
9749
+ this.isCreatingRootSignal.set(false);
9750
+ this.clearEditingId();
9751
+ }
9752
+ startCreatingRoot() {
9753
+ this.isCreatingRootSignal.set(true);
9754
+ this.creatingParentIdSignal.set(null);
9755
+ this.clearEditingId();
9756
+ }
9757
+ clearEditingId() {
9758
+ this.editingIdSignal.set(null);
9759
+ }
9760
+ clearCreating() {
9761
+ this.creatingParentIdSignal.set(null);
9762
+ this.isCreatingRootSignal.set(false);
9763
+ }
9764
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCategoryTreeStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
9765
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCategoryTreeStateService }); }
9766
+ }
9767
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCategoryTreeStateService, decorators: [{
9768
+ type: Injectable
9769
+ }] });
9770
+
9771
+ class CuiCategoriesTreeListComponent {
9772
+ constructor() {
9773
+ this.storages = input.required();
9774
+ this.deleted = output();
9775
+ }
9776
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCategoriesTreeListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9777
+ 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 }); }
9778
+ }
9779
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCategoriesTreeListComponent, decorators: [{
9780
+ type: Component,
9781
+ 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"] }]
9782
+ }] });
9783
+
9784
+ class CuiCategoryTreeFormComponent {
9785
+ get isTitleInvalid() {
9786
+ return this.titleControl.invalid && this.titleControl.dirty;
9787
+ }
9788
+ get isSubmitButtonDisabled() {
9789
+ return this.isDisabled() || this.form.invalid;
9790
+ }
9791
+ constructor() {
9792
+ this.nonNullableFormBuilder = inject(NonNullableFormBuilder);
9793
+ this.form = this.nonNullableFormBuilder.group({
9794
+ title: ['', cuiCreateDefaultValidators({ asyncDelay: 0 })]
9795
+ });
9796
+ this.titleControl = this.form.controls.title;
9797
+ this.isDisabled = input(false);
9798
+ this.defaultTitle = input('');
9799
+ this.created = output();
9800
+ this.canceled = output();
9801
+ this.input = viewChild.required('input', { read: (ElementRef) });
9802
+ this.initInputDisableStateSubscription();
9803
+ }
9804
+ ngOnInit() {
9805
+ this.initDefaultTitle();
9806
+ this.initInputFocus();
9807
+ }
9808
+ onHostClick(event) {
9809
+ event.stopPropagation();
9810
+ }
9811
+ onSubmit() {
9812
+ if (this.form.invalid) {
9813
+ return;
9814
+ }
9815
+ this.created.emit(this.form.value.title);
9816
+ }
9817
+ onCancel(event) {
9818
+ event.stopPropagation();
9819
+ this.canceled.emit();
9820
+ }
9821
+ initInputDisableStateSubscription() {
9822
+ effect(() => {
9823
+ if (this.isDisabled()) {
9824
+ this.titleControl.disable();
9825
+ return;
9826
+ }
9827
+ this.titleControl.enable();
9828
+ });
9829
+ }
9830
+ initDefaultTitle() {
9831
+ this.form.patchValue({ title: this.defaultTitle() });
9832
+ }
9833
+ initInputFocus() {
9834
+ Promise.resolve().then(() => this.input().nativeElement.focus());
9835
+ }
9836
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCategoryTreeFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9837
+ 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: 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$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.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 }); }
9838
+ }
9839
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCategoryTreeFormComponent, decorators: [{
9840
+ type: Component,
9841
+ args: [{ selector: 'cui-category-tree-form', imports: [
9842
+ CuiFormFieldModule,
9843
+ CuiHintModule,
9844
+ CuiIconButtonModule,
9845
+ CuiGeneralControlErrorHintComponent,
9846
+ CuiGhostInputComponent,
9847
+ ReactiveFormsModule,
9848
+ TranslocoDirective
9849
+ ], standalone: true, host: {
9850
+ '(click)': 'onHostClick($event)'
9851
+ }, 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"] }]
9852
+ }], ctorParameters: () => [] });
9853
+
9854
+ class CuiCreateCategoryTreeItemComponent {
9855
+ constructor() {
9856
+ this.created = output();
9857
+ this.canceled = output();
9858
+ this.isDisabled = input(false);
9859
+ }
9860
+ onSubmit(title) {
9861
+ this.created.emit(title);
9862
+ }
9863
+ onCancel() {
9864
+ this.canceled.emit();
9865
+ }
9866
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCreateCategoryTreeItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9867
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: CuiCreateCategoryTreeItemComponent, isStandalone: true, selector: "cui-create-category-tree-item", inputs: { isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { created: "created", canceled: "canceled" }, ngImport: i0, template: "<cui-svg\n icon=\"cuiIconFolder\"\n color=\"var(--cui-base-500)\"\n class=\"icon\"\n/>\n<cui-category-tree-form\n [isDisabled]=\"isDisabled()\"\n (created)=\"onSubmit($event)\"\n (canceled)=\"onCancel()\"\n/>\n", styles: [":host{padding-right:4px;padding-left:4px;display:flex;gap:4px;align-items:flex-start;min-height:32px}.icon{padding:6px 2px}\n"], dependencies: [{ kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "component", type: CuiCategoryTreeFormComponent, selector: "cui-category-tree-form", inputs: ["isDisabled", "defaultTitle"], outputs: ["created", "canceled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9868
+ }
9869
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCreateCategoryTreeItemComponent, decorators: [{
9870
+ type: Component,
9871
+ args: [{ selector: 'cui-create-category-tree-item', imports: [CuiSvgModule, CuiCategoryTreeFormComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<cui-svg\n icon=\"cuiIconFolder\"\n color=\"var(--cui-base-500)\"\n class=\"icon\"\n/>\n<cui-category-tree-form\n [isDisabled]=\"isDisabled()\"\n (created)=\"onSubmit($event)\"\n (canceled)=\"onCancel()\"\n/>\n", styles: [":host{padding-right:4px;padding-left:4px;display:flex;gap:4px;align-items:flex-start;min-height:32px}.icon{padding:6px 2px}\n"] }]
9872
+ }] });
9873
+
9874
+ class CuiCategoryTreeItemComponent {
9875
+ constructor() {
9876
+ this.destroyRef = inject(DestroyRef);
9877
+ this.categoriesDataSourceService = inject(CUI_CATEGORIES_TREE_DATA_SOURCE_SERVICE_TOKEN);
9878
+ this.categoryTreeStateService = inject(CuiCategoryTreeStateService);
9879
+ this.isDeleteSupported = !!this.categoriesDataSourceService.delete;
9880
+ this.storageChildren = signal([]);
9881
+ this.areChildrenOpened = signal(false);
9882
+ this.isSubcategoryCreating = signal(false);
9883
+ this.isSubcategoryCreationLoading = signal(false);
9884
+ this.isDeleting = signal(false);
9885
+ this.openCloseButtonIcon = computed(() => this.areChildrenOpened() ? 'cuiIconChevronDown' : 'cuiIconChevronRight');
9886
+ this.doChildrenExist = computed(() => this.storage().children.length || this.storageChildren().length);
9887
+ this.isOpenCloseButtonHidden = computed(() => !this.doChildrenExist());
9888
+ this.storageIcon = computed(() => this.areChildrenOpened() && this.doChildrenExist() ? 'cuiIconFolderOpen' : 'cuiIconFolder');
9889
+ this.alignItems = computed(() => (this.isTitleEdit() ? 'flex-start' : 'center'));
9890
+ this.isTitleEdit = computed(() => this.categoryTreeStateService.editingId() === this.storage().id);
9891
+ this.isCreateCategoryControlVisible = computed(() => (this.categoryTreeStateService.creatingParentId() === this.storage().id && this.isSubcategoryCreating()) ||
9892
+ this.isSubcategoryCreationLoading());
9893
+ this.isEmpty = computed(() => !this.storage().elements.length && !this.storage().children.length && !this.storageChildren().length);
9894
+ this.categoryTitle = signal('');
9895
+ this.category = computed(() => ({
9896
+ ...this.storage(),
9897
+ title: this.categoryTitle() || this.storage().title
9898
+ }));
9899
+ this.storage = input.required();
9900
+ this.deleted = output();
9901
+ this.initStorageChildren();
9902
+ }
9903
+ onSelectCategory() {
9904
+ this.categoryTreeStateService.setCurrentCategory(this.category());
9905
+ }
9906
+ onToggleChildren(event) {
9907
+ event.stopPropagation();
9908
+ this.areChildrenOpened.update((value) => !value);
9909
+ if (this.areChildrenOpened()) {
9910
+ return;
9911
+ }
9912
+ this.isSubcategoryCreating.set(false);
9913
+ }
9914
+ onTitleChanged(title) {
9915
+ this.onCancelTitleEdit();
9916
+ if (title === this.category().title) {
9917
+ return;
9918
+ }
9919
+ this.categoriesDataSourceService
9920
+ .updateTitle(this.storage().id, title)
9921
+ .pipe(takeUntilDestroyed(this.destroyRef))
9922
+ .subscribe(() => {
9923
+ this.categoryTitle.set(title);
9924
+ if (this.category().id === this.categoryTreeStateService.category()?.id) {
9925
+ this.categoryTreeStateService.setCurrentCategory(this.category());
9926
+ }
9927
+ });
9928
+ }
9929
+ onStartTitleEdit(event) {
9930
+ event?.stopPropagation();
9931
+ this.categoryTreeStateService.setEditingId(this.storage().id);
9932
+ this.onCreatingSubcategoryCanceled();
9933
+ }
9934
+ onCancelTitleEdit() {
9935
+ this.categoryTreeStateService.clearEditingId();
9936
+ }
9937
+ onStartCreatingSubcategory(event) {
9938
+ event.stopPropagation();
9939
+ this.isSubcategoryCreating.set(true);
9940
+ this.areChildrenOpened.set(true);
9941
+ this.categoryTreeStateService.startCreatingChildOf(this.storage().id);
9942
+ }
9943
+ onCreateNewSubcategory(title) {
9944
+ this.isSubcategoryCreating.set(false);
9945
+ this.isSubcategoryCreationLoading.set(true);
9946
+ this.categoriesDataSourceService
9947
+ .createChild(this.storage().id, title)
9948
+ .pipe(finalize(() => this.isSubcategoryCreationLoading.set(false)), takeUntilDestroyed(this.destroyRef))
9949
+ .subscribe((storage) => {
9950
+ this.storageChildren.update((value) => [...value, storage]);
9951
+ });
9952
+ }
9953
+ onCreatingSubcategoryCanceled() {
9954
+ this.isSubcategoryCreating.set(false);
9955
+ this.categoryTreeStateService.clearCreating();
9956
+ }
9957
+ onDelete(event) {
9958
+ event.stopPropagation();
9959
+ const deleteRequest = this.categoriesDataSourceService.delete;
9960
+ if (!deleteRequest || !this.isEmpty() || this.isDeleting()) {
9961
+ return;
9962
+ }
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));
9968
+ }
9969
+ onChildDeleted(id) {
9970
+ this.storageChildren.update((children) => children.filter((child) => child.id !== id));
9971
+ }
9972
+ 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);
9984
+ return;
9985
+ }
9986
+ this.categoriesDataSourceService
9987
+ .loadChildren(storage.id)
9988
+ .pipe(takeUntilDestroyed(this.destroyRef))
9989
+ .subscribe((storages) => {
9990
+ this.storageChildren.set(storages);
9991
+ });
9992
+ }, { allowSignalWrites: true });
9993
+ }
9994
+ 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 }); }
9996
+ }
9997
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCategoryTreeItemComponent, decorators: [{
9998
+ type: Component,
9999
+ args: [{ selector: 'cui-category-tree-item', imports: [
10000
+ CuiButtonModule,
10001
+ CuiIconButtonModule,
10002
+ CuiLetDirective,
10003
+ CuiSvgModule,
10004
+ CuiCategoryTreeFormComponent,
10005
+ CuiCreateCategoryTreeItemComponent,
10006
+ 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"] }]
10008
+ }], ctorParameters: () => [] });
10009
+
10010
+ class CuiCategoriesTreeComponent {
10011
+ constructor() {
10012
+ this.destroyRef = inject(DestroyRef);
10013
+ this.categoriesDataSourceService = inject(CUI_CATEGORIES_TREE_DATA_SOURCE_SERVICE_TOKEN);
10014
+ this.categoryTreeStateService = inject(CuiCategoryTreeStateService);
10015
+ this.storages = signal(null);
10016
+ this.isCategoryCreating = signal(false);
10017
+ this.isCategoryCreationLoading = signal(false);
10018
+ this.isCreateCategoryControlVisible = computed(() => (this.categoryTreeStateService.isCreatingRoot() && this.isCategoryCreating()) ||
10019
+ this.isCategoryCreationLoading());
10020
+ this.dropdown = viewChild.required('dropdown');
10021
+ this.disabled = input(false, { transform: booleanAttribute });
10022
+ this.initSelectCategoryEffect();
10023
+ }
10024
+ onOpenStorages() {
10025
+ this.categoryTreeStateService.clearCreating();
10026
+ this.categoryTreeStateService.clearEditingId();
10027
+ if (this.storages()?.length) {
10028
+ return;
10029
+ }
10030
+ this.categoriesDataSourceService
10031
+ .loadRoots()
10032
+ .pipe(takeUntilDestroyed(this.destroyRef))
10033
+ .subscribe((roots) => {
10034
+ this.storages.set(roots);
10035
+ });
10036
+ }
10037
+ onStartCreatingNewCategory() {
10038
+ this.isCategoryCreating.set(true);
10039
+ this.categoryTreeStateService.startCreatingRoot();
10040
+ }
10041
+ onCreateNewCategory(title) {
10042
+ this.isCategoryCreating.set(false);
10043
+ this.categoryTreeStateService.clearCreating();
10044
+ this.isCategoryCreationLoading.set(true);
10045
+ this.categoriesDataSourceService
10046
+ .createRoot(title)
10047
+ .pipe(finalize(() => this.isCategoryCreationLoading.set(false)), takeUntilDestroyed(this.destroyRef))
10048
+ .subscribe((storage) => this.storages.update((value) => [...(value || []), storage]));
10049
+ }
10050
+ onCreatingCategoryCanceled() {
10051
+ this.isCategoryCreating.set(false);
10052
+ this.categoryTreeStateService.clearCreating();
10053
+ }
10054
+ onItemDeleted(id) {
10055
+ this.storages.update((value) => (value ? value.filter((storage) => storage.id !== id) : value));
10056
+ }
10057
+ initSelectCategoryEffect() {
10058
+ effect(() => {
10059
+ this.categoryTreeStateService.category();
10060
+ this.dropdown().close();
10061
+ }, { allowSignalWrites: true });
10062
+ }
10063
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCategoriesTreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10064
+ 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: 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 }); }
10065
+ }
10066
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCategoriesTreeComponent, decorators: [{
10067
+ type: Component,
10068
+ args: [{ selector: 'cui-categories-tree', imports: [
10069
+ CuiButtonModule,
10070
+ CuiLetDirective,
10071
+ CuiDropdownDirective,
10072
+ CuiDropdownWrapperComponent,
10073
+ CuiEmptyStateComponent,
10074
+ CuiCreateCategoryTreeItemComponent,
10075
+ CuiCategoriesTreeListComponent,
10076
+ TranslocoDirective
10077
+ ], 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"] }]
10078
+ }], ctorParameters: () => [] });
10079
+
9725
10080
  class CuiCheckListBlockService {
9726
10081
  constructor() {
9727
10082
  this.checkListItemsSignal = signal(null);
@@ -9873,7 +10228,7 @@ class CuiCheckListBlockListItemActionCardComponent {
9873
10228
  });
9874
10229
  }
9875
10230
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCheckListBlockListItemActionCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9876
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiCheckListBlockListItemActionCardComponent, isStandalone: true, selector: "cui-checklist-block-list-item-action-card", inputs: { purposeType: { classPropertyName: "purposeType", publicName: "purposeType", isSignal: true, isRequired: false, transformFunction: null }, isConsiderationNeeded: { classPropertyName: "isConsiderationNeeded", publicName: "isConsiderationNeeded", isSignal: true, isRequired: false, transformFunction: null }, actionInfo: { classPropertyName: "actionInfo", publicName: "actionInfo", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { consideredCorrectChanged: "consideredCorrectChanged", checkListActionChanged: "checkListActionChanged" }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\n <div\n class=\"card\"\n [formGroup]=\"actionForm\"\n >\n <div class=\"title-container\">\n <span class=\"title\">{{ actionInfo().title }}</span>\n @if (isConsiderationNeeded()) {\n <label\n cuiLabel\n class=\"title__input\"\n >\n <input\n cuiRadio\n type=\"radio\"\n [checked]=\"actionInfo().considerCorrect\"\n [formControl]=\"isConsideredCorrectControl\"\n [value]=\"true\"\n />\n {{ t('CONSIDER_CORRECT') }}\n </label>\n }\n </div>\n <div class=\"blocks\">\n <div\n class=\"block-card\"\n [formGroup]=\"photoGroup\"\n >\n <label cuiLabel>\n <input\n cuiCheckbox\n type=\"checkbox\"\n formControlName=\"isEnable\"\n />\n {{ t('PHOTO') }}\n </label>\n <label cuiLabel>\n <input\n cuiToggle\n type=\"checkbox\"\n formControlName=\"isRequired\"\n />\n {{ t('REQUIRED') }}\n </label>\n </div>\n <div\n class=\"block-card\"\n [formGroup]=\"commentGroup\"\n >\n <label cuiLabel>\n <input\n cuiCheckbox\n type=\"checkbox\"\n formControlName=\"isEnable\"\n />\n {{ t('COMMENT') }}\n </label>\n <label cuiLabel>\n <input\n cuiToggle\n type=\"checkbox\"\n formControlName=\"isRequired\"\n />\n {{ t('REQUIRED') }}\n </label>\n </div>\n </div>\n </div>\n</ng-container>\n", styles: [":host{flex:1 1 240px;min-width:240px}.card{padding:11px;display:flex;flex-direction:column;gap:10px;border:1px solid var(--cui-base-200);border-radius:8px}.title-container{display:flex;flex-direction:row;gap:8px;justify-content:space-between;align-items:center}.title{font-weight:500;font-size:14px;line-height:20px}.title__input{font-weight:400;font-size:14px;line-height:20px}.blocks{display:flex;flex-direction:column;gap:8px}.block-card{padding:13px 11px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px}.block-card_multiple-lines{flex-direction:column;align-items:unset}.block-card__checkboxes-container{padding:13px 8px;display:flex;gap:12px}\n"], dependencies: [{ kind: "ngmodule", type: CuiCheckboxModule }, { kind: "component", type: CuiCheckboxComponent, selector: "input[type=\"checkbox\"][cuiCheckbox]" }, { kind: "ngmodule", type: CuiFormFieldModule }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "component", type: CuiLabelComponent, selector: "label[cuiLabel]", inputs: ["isRequired"] }, { kind: "ngmodule", type: CuiRadioModule }, { kind: "component", type: CuiRadioComponent, selector: "input[type=\"radio\"][cuiRadio]" }, { kind: "ngmodule", type: CuiSelectModule }, { kind: "ngmodule", type: CuiTextareaModule }, { kind: "ngmodule", type: CuiTextFieldControllerModule }, { kind: "ngmodule", type: CuiToggleModule }, { kind: "component", type: CuiToggleComponent, selector: "input[type=\"checkbox\"][cuiToggle]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.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: i5.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i5.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.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 }); }
10231
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiCheckListBlockListItemActionCardComponent, isStandalone: true, selector: "cui-checklist-block-list-item-action-card", inputs: { purposeType: { classPropertyName: "purposeType", publicName: "purposeType", isSignal: true, isRequired: false, transformFunction: null }, isConsiderationNeeded: { classPropertyName: "isConsiderationNeeded", publicName: "isConsiderationNeeded", isSignal: true, isRequired: false, transformFunction: null }, actionInfo: { classPropertyName: "actionInfo", publicName: "actionInfo", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { consideredCorrectChanged: "consideredCorrectChanged", checkListActionChanged: "checkListActionChanged" }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\n <div\n class=\"card\"\n [formGroup]=\"actionForm\"\n >\n <div class=\"title-container\">\n <span class=\"title\">{{ actionInfo().title }}</span>\n @if (isConsiderationNeeded()) {\n <label\n cuiLabel\n class=\"title__input\"\n >\n <input\n cuiRadio\n type=\"radio\"\n [checked]=\"actionInfo().considerCorrect\"\n [formControl]=\"isConsideredCorrectControl\"\n [value]=\"true\"\n />\n {{ t('CONSIDER_CORRECT') }}\n </label>\n }\n </div>\n <div class=\"blocks\">\n <div\n class=\"block-card\"\n [formGroup]=\"photoGroup\"\n >\n <label cuiLabel>\n <input\n cuiCheckbox\n type=\"checkbox\"\n formControlName=\"isEnable\"\n />\n {{ t('PHOTO') }}\n </label>\n <label cuiLabel>\n <input\n cuiToggle\n type=\"checkbox\"\n formControlName=\"isRequired\"\n />\n {{ t('REQUIRED') }}\n </label>\n </div>\n <div\n class=\"block-card\"\n [formGroup]=\"commentGroup\"\n >\n <label cuiLabel>\n <input\n cuiCheckbox\n type=\"checkbox\"\n formControlName=\"isEnable\"\n />\n {{ t('COMMENT') }}\n </label>\n <label cuiLabel>\n <input\n cuiToggle\n type=\"checkbox\"\n formControlName=\"isRequired\"\n />\n {{ t('REQUIRED') }}\n </label>\n </div>\n </div>\n </div>\n</ng-container>\n", styles: [":host{flex:1 1 240px;min-width:240px}.card{padding:11px;display:flex;flex-direction:column;gap:10px;border:1px solid var(--cui-base-200);border-radius:8px}.title-container{display:flex;flex-direction:row;gap:8px;justify-content:space-between;align-items:center}.title{font-weight:500;font-size:14px;line-height:20px}.title__input{font-weight:400;font-size:14px;line-height:20px}.blocks{display:flex;flex-direction:column;gap:8px}.block-card{padding:13px 11px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--cui-base-200);border-radius:8px}.block-card_multiple-lines{flex-direction:column;align-items:unset}.block-card__checkboxes-container{padding:13px 8px;display:flex;gap:12px}\n"], dependencies: [{ kind: "ngmodule", type: CuiCheckboxModule }, { kind: "component", type: CuiCheckboxComponent, selector: "input[type=\"checkbox\"][cuiCheckbox]" }, { kind: "ngmodule", type: CuiFormFieldModule }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "component", type: CuiLabelComponent, selector: "label[cuiLabel]", inputs: ["isRequired"] }, { kind: "ngmodule", type: CuiRadioModule }, { kind: "component", type: CuiRadioComponent, selector: "input[type=\"radio\"][cuiRadio]" }, { kind: "ngmodule", type: CuiSelectModule }, { kind: "ngmodule", type: CuiTextareaModule }, { kind: "ngmodule", type: CuiTextFieldControllerModule }, { kind: "ngmodule", type: CuiToggleModule }, { kind: "component", type: CuiToggleComponent, selector: "input[type=\"checkbox\"][cuiToggle]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.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$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2$1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.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 }); }
9877
10232
  }
9878
10233
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCheckListBlockListItemActionCardComponent, decorators: [{
9879
10234
  type: Component,
@@ -9963,7 +10318,7 @@ class CuiChecklistBlockTitleControlComponent {
9963
10318
  return this.control().invalid && this.control().dirty;
9964
10319
  }
9965
10320
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiChecklistBlockTitleControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9966
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: CuiChecklistBlockTitleControlComponent, isStandalone: true, selector: "cui-checklist-block-title-control", inputs: { control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\n <cui-form-field>\n <label\n cuiLabel\n [isRequired]=\"true\"\n for=\"title\"\n >\n {{ t('TITLE') }}\n </label>\n <cui-input-text\n [formControl]=\"control()\"\n cuiTextFieldId=\"title\"\n [cuiTextFieldIsError]=\"isTitleError\"\n cuiTextFieldPlaceholder=\"{{ t('ADD_A_TITLE') }}...\"\n />\n <cui-general-control-error-hint [control]=\"control()\" />\n </cui-form-field>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CuiContextMenuModule }, { kind: "ngmodule", type: CuiFormFieldModule }, { kind: "component", type: CuiFormFieldComponent, selector: "cui-form-field" }, { kind: "ngmodule", type: CuiHintModule }, { kind: "ngmodule", type: CuiInputModule }, { kind: "component", type: CuiInputTextComponent, selector: "cui-input-text" }, { kind: "directive", type: CuiTextFieldIdDirective, selector: "[cuiTextFieldId]", inputs: ["cuiTextFieldId"] }, { kind: "directive", type: CuiTextFieldPlaceholderDirective, selector: "[cuiTextFieldPlaceholder]", inputs: ["cuiTextFieldPlaceholder"] }, { kind: "directive", type: CuiTextFieldIsErrorDirective, selector: "[cuiTextFieldIsError]", inputs: ["cuiTextFieldIsError"] }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "component", type: CuiLabelComponent, selector: "label[cuiLabel]", inputs: ["isRequired"] }, { kind: "ngmodule", type: CuiTextFieldControllerModule }, { kind: "component", type: CuiGeneralControlErrorHintComponent, selector: "cui-general-control-error-hint", inputs: ["control", "isVisible"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10321
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: CuiChecklistBlockTitleControlComponent, isStandalone: true, selector: "cui-checklist-block-title-control", inputs: { control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\n <cui-form-field>\n <label\n cuiLabel\n [isRequired]=\"true\"\n for=\"title\"\n >\n {{ t('TITLE') }}\n </label>\n <cui-input-text\n [formControl]=\"control()\"\n cuiTextFieldId=\"title\"\n [cuiTextFieldIsError]=\"isTitleError\"\n cuiTextFieldPlaceholder=\"{{ t('ADD_A_TITLE') }}...\"\n />\n <cui-general-control-error-hint [control]=\"control()\" />\n </cui-form-field>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CuiContextMenuModule }, { kind: "ngmodule", type: CuiFormFieldModule }, { kind: "component", type: CuiFormFieldComponent, selector: "cui-form-field" }, { kind: "ngmodule", type: CuiHintModule }, { kind: "ngmodule", type: CuiInputModule }, { kind: "component", type: CuiInputTextComponent, selector: "cui-input-text" }, { kind: "directive", type: CuiTextFieldIdDirective, selector: "[cuiTextFieldId]", inputs: ["cuiTextFieldId"] }, { kind: "directive", type: CuiTextFieldPlaceholderDirective, selector: "[cuiTextFieldPlaceholder]", inputs: ["cuiTextFieldPlaceholder"] }, { kind: "directive", type: CuiTextFieldIsErrorDirective, selector: "[cuiTextFieldIsError]", inputs: ["cuiTextFieldIsError"] }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "component", type: CuiLabelComponent, selector: "label[cuiLabel]", inputs: ["isRequired"] }, { kind: "ngmodule", type: CuiTextFieldControllerModule }, { kind: "component", type: CuiGeneralControlErrorHintComponent, selector: "cui-general-control-error-hint", inputs: ["control", "isVisible"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9967
10322
  }
9968
10323
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiChecklistBlockTitleControlComponent, decorators: [{
9969
10324
  type: Component,
@@ -10194,7 +10549,7 @@ class CuiCheckListBlockListItemEvaluationCriteriaComponent {
10194
10549
  });
10195
10550
  }
10196
10551
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCheckListBlockListItemEvaluationCriteriaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10197
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiCheckListBlockListItemEvaluationCriteriaComponent, isStandalone: true, selector: "li[cuiChecklistBlockListItemEvaluationCriteria]", inputs: { loadingIds: { classPropertyName: "loadingIds", publicName: "loadingIds", isSignal: true, isRequired: true, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: true, transformFunction: null }, criteriaGroup: { classPropertyName: "criteriaGroup", publicName: "criteriaGroup", isSignal: true, isRequired: true, transformFunction: null }, evaluationCriteriaFormArray: { classPropertyName: "evaluationCriteriaFormArray", publicName: "evaluationCriteriaFormArray", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { saveClicked: "saveClicked", deleteClicked: "deleteClicked", cancelClicked: "cancelClicked" }, ngImport: i0, template: "<div *transloco=\"let t\">\n <form\n *cuiLet=\"criteriaGroup() as form\"\n [formGroup]=\"form\"\n [class.form_edit]=\"isEditMode()\"\n clas=\"form\"\n >\n <div class=\"content\">\n <span class=\"index\">{{ index() }}.</span>\n @if (!isEditMode()) {\n <cui-svg\n cuiDragPointer\n icon=\"cuiIconDragHandleDots\"\n color=\"var(--cui-base-500)\"\n class=\"icon\"\n />\n }\n <div\n style.gap=\"{{ gap() }}px\"\n class=\"wrapper\"\n >\n <cui-input-number\n formControlName=\"evaluation\"\n cuiTextFieldPlaceholder=\"0\"\n [cuiTextFieldIsError]=\"isEvaluationInvalid\"\n [min]=\"1\"\n [max]=\"99\"\n class=\"input-number\"\n />\n <textarea\n cuiTextarea\n formControlName=\"criteria\"\n [rows]=\"1\"\n [cuiTextFieldIsError]=\"isCriteriaInvalid\"\n placeholder=\"{{ t('ADD_A_DESCRIPTION') }}...\"\n class=\"textarea\"\n ></textarea>\n </div>\n @if (isEditMode()) {\n <button\n type=\"submit\"\n cuiIconButton\n icon=\"cuiIconCheck\"\n color=\"var(--cui-success)\"\n [disabled]=\"form.invalid\"\n class=\"button\"\n (click)=\"onSave()\"\n ></button>\n <button\n type=\"button\"\n cuiIconButton\n icon=\"cuiIconXCircle\"\n color=\"var(--cui-danger)\"\n class=\"button\"\n (click)=\"onCancel()\"\n ></button>\n } @else {\n <button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconEdit\"\n [disabled]=\"isLoading()\"\n (click)=\"onToggleEditMode()\"\n ></button>\n <button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconTrash\"\n [isLoaderShown]=\"isLoading()\"\n (click)=\"onDelete()\"\n ></button>\n }\n </div>\n <cui-general-control-error-hint\n [control]=\"form.controls.criteria\"\n class=\"error-hint\"\n />\n </form>\n</div>\n", styles: [".form{display:flex;flex-direction:column;gap:8px}.form_edit{padding:12px;border-radius:8px;border:1px solid var(--cui-base-200);background-color:var(--cui-base-0)}.content{display:flex;flex-direction:row;gap:8px;align-items:center;justify-content:flex-start}.index{font-weight:500;font-size:14px;line-height:20px;width:22px}.icon{cursor:grab}.icon:active{cursor:grabbing}.wrapper{display:flex;flex-direction:row;gap:0;flex-grow:1}.input-number{padding-right:9px;padding-left:9px;flex-shrink:0;width:44px;background:inherit}.input-number._disabled{cursor:initial;opacity:1;border-right-width:0;border-radius:8px 0 0 8px}.input-number ::ng-deep .c-input{text-align:center}.input-number ::ng-deep .c-input:disabled{cursor:text}.textarea{background:var(--cui-base-0)}.textarea:disabled{cursor:initial;opacity:1;background:var(--cui-base-0);border-left-width:0;border-radius:0 8px 8px 0}.button:disabled{cursor:not-allowed;opacity:.5}.error-hint{margin-left:82px}.cui-drag-drop-placeholder{height:44px;border:1px dashed var(--cui-base-200);border-radius:8px;background:var(--cui-base-0)}\n"], dependencies: [{ kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "theme", "size"] }, { kind: "ngmodule", type: CuiIconButtonModule }, { kind: "component", type: CuiIconButtonComponent, selector: "button[cuiIconButton][icon], a[cuiIconButton][icon]", inputs: ["icon", "color", "hoverColor"] }, { kind: "ngmodule", type: CuiInputModule }, { kind: "directive", type: CuiTextFieldPlaceholderDirective, selector: "[cuiTextFieldPlaceholder]", inputs: ["cuiTextFieldPlaceholder"] }, { kind: "directive", type: CuiTextFieldIsErrorDirective, selector: "[cuiTextFieldIsError]", inputs: ["cuiTextFieldIsError"] }, { kind: "directive", type: CuiLetDirective, selector: "[cuiLet]", inputs: ["cuiLet"] }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "ngmodule", type: CuiTextareaModule }, { kind: "component", type: CuiTextareaComponent, selector: "textarea[cuiTextarea]", inputs: ["rows", "noBordersAndPaddings"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "ngmodule", type: CuiInputNumberModule }, { kind: "component", type: CuiInputNumberComponent, selector: "cui-input-number", inputs: ["precision", "min", "max"] }, { kind: "directive", type: CuiDragPointerDirective, selector: "[cuiDragPointer]" }, { kind: "component", type: CuiGeneralControlErrorHintComponent, selector: "cui-general-control-error-hint", inputs: ["control", "isVisible"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10552
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiCheckListBlockListItemEvaluationCriteriaComponent, isStandalone: true, selector: "li[cuiChecklistBlockListItemEvaluationCriteria]", inputs: { loadingIds: { classPropertyName: "loadingIds", publicName: "loadingIds", isSignal: true, isRequired: true, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: true, transformFunction: null }, criteriaGroup: { classPropertyName: "criteriaGroup", publicName: "criteriaGroup", isSignal: true, isRequired: true, transformFunction: null }, evaluationCriteriaFormArray: { classPropertyName: "evaluationCriteriaFormArray", publicName: "evaluationCriteriaFormArray", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { saveClicked: "saveClicked", deleteClicked: "deleteClicked", cancelClicked: "cancelClicked" }, ngImport: i0, template: "<div *transloco=\"let t\">\n <form\n *cuiLet=\"criteriaGroup() as form\"\n [formGroup]=\"form\"\n [class.form_edit]=\"isEditMode()\"\n clas=\"form\"\n >\n <div class=\"content\">\n <span class=\"index\">{{ index() }}.</span>\n @if (!isEditMode()) {\n <cui-svg\n cuiDragPointer\n icon=\"cuiIconDragHandleDots\"\n color=\"var(--cui-base-500)\"\n class=\"icon\"\n />\n }\n <div\n style.gap=\"{{ gap() }}px\"\n class=\"wrapper\"\n >\n <cui-input-number\n formControlName=\"evaluation\"\n cuiTextFieldPlaceholder=\"0\"\n [cuiTextFieldIsError]=\"isEvaluationInvalid\"\n [min]=\"1\"\n [max]=\"99\"\n class=\"input-number\"\n />\n <textarea\n cuiTextarea\n formControlName=\"criteria\"\n [rows]=\"1\"\n [cuiTextFieldIsError]=\"isCriteriaInvalid\"\n placeholder=\"{{ t('ADD_A_DESCRIPTION') }}...\"\n class=\"textarea\"\n ></textarea>\n </div>\n @if (isEditMode()) {\n <button\n type=\"submit\"\n cuiIconButton\n icon=\"cuiIconCheck\"\n color=\"var(--cui-success)\"\n [disabled]=\"form.invalid\"\n class=\"button\"\n (click)=\"onSave()\"\n ></button>\n <button\n type=\"button\"\n cuiIconButton\n icon=\"cuiIconXCircle\"\n color=\"var(--cui-danger)\"\n class=\"button\"\n (click)=\"onCancel()\"\n ></button>\n } @else {\n <button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconEdit\"\n [disabled]=\"isLoading()\"\n (click)=\"onToggleEditMode()\"\n ></button>\n <button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconTrash\"\n [isLoaderShown]=\"isLoading()\"\n (click)=\"onDelete()\"\n ></button>\n }\n </div>\n <cui-general-control-error-hint\n [control]=\"form.controls.criteria\"\n class=\"error-hint\"\n />\n </form>\n</div>\n", styles: [".form{display:flex;flex-direction:column;gap:8px}.form_edit{padding:12px;border-radius:8px;border:1px solid var(--cui-base-200);background-color:var(--cui-base-0)}.content{display:flex;flex-direction:row;gap:8px;align-items:center;justify-content:flex-start}.index{font-weight:500;font-size:14px;line-height:20px;width:22px}.icon{cursor:grab}.icon:active{cursor:grabbing}.wrapper{display:flex;flex-direction:row;gap:0;flex-grow:1}.input-number{padding-right:9px;padding-left:9px;flex-shrink:0;width:44px;background:inherit}.input-number._disabled{cursor:initial;opacity:1;border-right-width:0;border-radius:8px 0 0 8px}.input-number ::ng-deep .c-input{text-align:center}.input-number ::ng-deep .c-input:disabled{cursor:text}.textarea{background:var(--cui-base-0)}.textarea:disabled{cursor:initial;opacity:1;background:var(--cui-base-0);border-left-width:0;border-radius:0 8px 8px 0}.button:disabled{cursor:not-allowed;opacity:.5}.error-hint{margin-left:82px}.cui-drag-drop-placeholder{height:44px;border:1px dashed var(--cui-base-200);border-radius:8px;background:var(--cui-base-0)}\n"], dependencies: [{ kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "theme", "size"] }, { kind: "ngmodule", type: CuiIconButtonModule }, { kind: "component", type: CuiIconButtonComponent, selector: "button[cuiIconButton][icon], a[cuiIconButton][icon]", inputs: ["icon", "color", "hoverColor"] }, { kind: "ngmodule", type: CuiInputModule }, { kind: "directive", type: CuiTextFieldPlaceholderDirective, selector: "[cuiTextFieldPlaceholder]", inputs: ["cuiTextFieldPlaceholder"] }, { kind: "directive", type: CuiTextFieldIsErrorDirective, selector: "[cuiTextFieldIsError]", inputs: ["cuiTextFieldIsError"] }, { kind: "directive", type: CuiLetDirective, selector: "[cuiLet]", inputs: ["cuiLet"] }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "component", type: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }, { kind: "ngmodule", type: CuiTextareaModule }, { kind: "component", type: CuiTextareaComponent, selector: "textarea[cuiTextarea]", inputs: ["rows", "noBordersAndPaddings"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "ngmodule", type: CuiInputNumberModule }, { kind: "component", type: CuiInputNumberComponent, selector: "cui-input-number", inputs: ["precision", "min", "max"] }, { kind: "directive", type: CuiDragPointerDirective, selector: "[cuiDragPointer]" }, { kind: "component", type: CuiGeneralControlErrorHintComponent, selector: "cui-general-control-error-hint", inputs: ["control", "isVisible"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10198
10553
  }
10199
10554
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCheckListBlockListItemEvaluationCriteriaComponent, decorators: [{
10200
10555
  type: Component,
@@ -10454,7 +10809,7 @@ class CuiCheckListBlockListItemEvaluationComponent {
10454
10809
  array.splice(toIndex, 0, item);
10455
10810
  }
10456
10811
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCheckListBlockListItemEvaluationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10457
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiCheckListBlockListItemEvaluationComponent, isStandalone: true, selector: "cui-checklist-block-list-item-evaluation", inputs: { checkListItem: { classPropertyName: "checkListItem", publicName: "checkListItem", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\n <div class=\"action\">\n <div class=\"action__inputs-container\">\n <div\n class=\"action__input\"\n [formGroup]=\"photoFormGroup\"\n >\n <label cuiLabel>\n <input\n cuiCheckbox\n type=\"checkbox\"\n formControlName=\"isEnable\"\n />\n {{ t('PHOTO') }}\n </label>\n <label cuiLabel>\n <input\n cuiToggle\n type=\"checkbox\"\n formControlName=\"isRequired\"\n />\n {{ t('REQUIRED') }}\n </label>\n </div>\n <div\n class=\"action__input\"\n [formGroup]=\"commentFormGroup\"\n >\n <label cuiLabel>\n <input\n cuiCheckbox\n type=\"checkbox\"\n formControlName=\"isEnable\"\n />\n {{ t('COMMENT') }}\n </label>\n <label cuiLabel>\n <input\n cuiToggle\n type=\"checkbox\"\n formControlName=\"isRequired\"\n />\n {{ t('REQUIRED') }}\n </label>\n </div>\n </div>\n <div class=\"action__criteria-title-container\">\n <label\n cuiLabel\n [isRequired]=\"true\"\n for=\"evaluationCriteria\"\n >\n {{ t('EVALUATION_CRITERIA') }}\n </label>\n <p class=\"action__criteria-subtitle\">{{ t('EACH_EVALUATION_CRITERION_SHOULD_BE') }}</p>\n </div>\n <ul\n cuiDragList\n class=\"list\"\n >\n @for (control of evaluationCriteriaFormArray.controls; track control.controls['id']; let index = $index) {\n <li\n cuiChecklistBlockListItemEvaluationCriteria\n [index]=\"index + 1\"\n cuiDragDrop\n [disabled]=\"isAddButtonDisabled()\"\n (elementDragged)=\"onDrop($event)\"\n [criteriaGroup]=\"control\"\n [evaluationCriteriaFormArray]=\"evaluationCriteriaFormArray\"\n [loadingIds]=\"loadingIds()\"\n (saveClicked)=\"onSaveEvaluationCriteria($event)\"\n (cancelClicked)=\"onCancelNewEvaluationCriteria()\"\n (deleteClicked)=\"openModalDeleteEvaluationCriteria($event)\"\n ></li>\n } @empty {\n <li\n cuiEmptyState\n [subtitle]=\"t('NO_EVALUATION_CRITERIA_TO_VIEW')\"\n ></li>\n }\n </ul>\n <div class=\"action__footer\">\n <button\n cuiButton\n size=\"xxs\"\n appearance=\"flat\"\n icon=\"cuiIconPlus\"\n type=\"button\"\n [disabled]=\"isAddButtonDisabled()\"\n (click)=\"onAddEvaluationCriteriaItem()\"\n >\n {{ t('NEW_OPTION') }}\n </button>\n </div>\n </div>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;border-radius:inherit}.action{padding:15px;display:flex;flex-direction:column;border-radius:0 0 8px 8px;gap:16px;background:var(--cui-base-10)}.action__criteria-title-container{display:flex;flex-direction:column;gap:4px}.action__criteria-subtitle{font-weight:400;font-size:14px;line-height:20px;color:var(--cui-base-500)}.action__inputs-container{display:flex;flex-direction:column;gap:8px;background:var(--cui-base-0)}.action__input{padding-right:11px;padding-left:11px;display:flex;height:48px;flex-direction:row;justify-content:space-between;border:1px solid var(--cui-base-200);border-radius:8px}.action__criteria{display:flex;flex-direction:row;align-items:center;gap:12px}.action__criteria-index{padding:8px;font-weight:500;font-size:14px;line-height:20px;display:flex;width:44px;flex-direction:row;justify-content:center;align-items:center;border-radius:8px;background-color:var(--cui-base-0)}.action__criteria-input{flex:1;background:var(--cui-base-0)}.list{display:flex;flex-direction:column;gap:8px}\n"], dependencies: [{ kind: "component", type: CuiCheckListBlockListItemEvaluationCriteriaComponent, selector: "li[cuiChecklistBlockListItemEvaluationCriteria]", inputs: ["loadingIds", "index", "criteriaGroup", "evaluationCriteriaFormArray"], outputs: ["saveClicked", "deleteClicked", "cancelClicked"] }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "theme", "size"] }, { kind: "ngmodule", type: CuiCheckboxModule }, { kind: "component", type: CuiCheckboxComponent, selector: "input[type=\"checkbox\"][cuiCheckbox]" }, { kind: "ngmodule", type: CuiContextMenuModule }, { kind: "ngmodule", type: CuiHintModule }, { kind: "ngmodule", type: CuiInputModule }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "component", type: CuiLabelComponent, selector: "label[cuiLabel]", inputs: ["isRequired"] }, { kind: "ngmodule", type: CuiTextareaModule }, { kind: "ngmodule", type: CuiTextFieldControllerModule }, { kind: "ngmodule", type: CuiToggleModule }, { kind: "component", type: CuiToggleComponent, selector: "input[type=\"checkbox\"][cuiToggle]" }, { kind: "component", type: CuiEmptyStateComponent, selector: "cui-empty-state, [cuiEmptyState]", inputs: ["title", "subtitle"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "directive", type: CuiDragDropDirective, selector: "[cuiDragDrop]", inputs: ["disabled"], outputs: ["elementDragged"] }, { kind: "directive", type: CuiDragListDirective, selector: "[cuiDragList]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10812
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiCheckListBlockListItemEvaluationComponent, isStandalone: true, selector: "cui-checklist-block-list-item-evaluation", inputs: { checkListItem: { classPropertyName: "checkListItem", publicName: "checkListItem", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\n <div class=\"action\">\n <div class=\"action__inputs-container\">\n <div\n class=\"action__input\"\n [formGroup]=\"photoFormGroup\"\n >\n <label cuiLabel>\n <input\n cuiCheckbox\n type=\"checkbox\"\n formControlName=\"isEnable\"\n />\n {{ t('PHOTO') }}\n </label>\n <label cuiLabel>\n <input\n cuiToggle\n type=\"checkbox\"\n formControlName=\"isRequired\"\n />\n {{ t('REQUIRED') }}\n </label>\n </div>\n <div\n class=\"action__input\"\n [formGroup]=\"commentFormGroup\"\n >\n <label cuiLabel>\n <input\n cuiCheckbox\n type=\"checkbox\"\n formControlName=\"isEnable\"\n />\n {{ t('COMMENT') }}\n </label>\n <label cuiLabel>\n <input\n cuiToggle\n type=\"checkbox\"\n formControlName=\"isRequired\"\n />\n {{ t('REQUIRED') }}\n </label>\n </div>\n </div>\n <div class=\"action__criteria-title-container\">\n <label\n cuiLabel\n [isRequired]=\"true\"\n for=\"evaluationCriteria\"\n >\n {{ t('EVALUATION_CRITERIA') }}\n </label>\n <p class=\"action__criteria-subtitle\">{{ t('EACH_EVALUATION_CRITERION_SHOULD_BE') }}</p>\n </div>\n <ul\n cuiDragList\n class=\"list\"\n >\n @for (control of evaluationCriteriaFormArray.controls; track control.controls['id']; let index = $index) {\n <li\n cuiChecklistBlockListItemEvaluationCriteria\n [index]=\"index + 1\"\n cuiDragDrop\n [disabled]=\"isAddButtonDisabled()\"\n (elementDragged)=\"onDrop($event)\"\n [criteriaGroup]=\"control\"\n [evaluationCriteriaFormArray]=\"evaluationCriteriaFormArray\"\n [loadingIds]=\"loadingIds()\"\n (saveClicked)=\"onSaveEvaluationCriteria($event)\"\n (cancelClicked)=\"onCancelNewEvaluationCriteria()\"\n (deleteClicked)=\"openModalDeleteEvaluationCriteria($event)\"\n ></li>\n } @empty {\n <li\n cuiEmptyState\n [subtitle]=\"t('NO_EVALUATION_CRITERIA_TO_VIEW')\"\n ></li>\n }\n </ul>\n <div class=\"action__footer\">\n <button\n cuiButton\n size=\"xxs\"\n appearance=\"flat\"\n icon=\"cuiIconPlus\"\n type=\"button\"\n [disabled]=\"isAddButtonDisabled()\"\n (click)=\"onAddEvaluationCriteriaItem()\"\n >\n {{ t('NEW_OPTION') }}\n </button>\n </div>\n </div>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;border-radius:inherit}.action{padding:15px;display:flex;flex-direction:column;border-radius:0 0 8px 8px;gap:16px;background:var(--cui-base-10)}.action__criteria-title-container{display:flex;flex-direction:column;gap:4px}.action__criteria-subtitle{font-weight:400;font-size:14px;line-height:20px;color:var(--cui-base-500)}.action__inputs-container{display:flex;flex-direction:column;gap:8px;background:var(--cui-base-0)}.action__input{padding-right:11px;padding-left:11px;display:flex;height:48px;flex-direction:row;justify-content:space-between;border:1px solid var(--cui-base-200);border-radius:8px}.action__criteria{display:flex;flex-direction:row;align-items:center;gap:12px}.action__criteria-index{padding:8px;font-weight:500;font-size:14px;line-height:20px;display:flex;width:44px;flex-direction:row;justify-content:center;align-items:center;border-radius:8px;background-color:var(--cui-base-0)}.action__criteria-input{flex:1;background:var(--cui-base-0)}.list{display:flex;flex-direction:column;gap:8px}\n"], dependencies: [{ kind: "component", type: CuiCheckListBlockListItemEvaluationCriteriaComponent, selector: "li[cuiChecklistBlockListItemEvaluationCriteria]", inputs: ["loadingIds", "index", "criteriaGroup", "evaluationCriteriaFormArray"], outputs: ["saveClicked", "deleteClicked", "cancelClicked"] }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "theme", "size"] }, { kind: "ngmodule", type: CuiCheckboxModule }, { kind: "component", type: CuiCheckboxComponent, selector: "input[type=\"checkbox\"][cuiCheckbox]" }, { kind: "ngmodule", type: CuiContextMenuModule }, { kind: "ngmodule", type: CuiHintModule }, { kind: "ngmodule", type: CuiInputModule }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "component", type: CuiLabelComponent, selector: "label[cuiLabel]", inputs: ["isRequired"] }, { kind: "ngmodule", type: CuiTextareaModule }, { kind: "ngmodule", type: CuiTextFieldControllerModule }, { kind: "ngmodule", type: CuiToggleModule }, { kind: "component", type: CuiToggleComponent, selector: "input[type=\"checkbox\"][cuiToggle]" }, { kind: "component", type: CuiEmptyStateComponent, selector: "cui-empty-state, [cuiEmptyState]", inputs: ["title", "subtitle"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "directive", type: CuiDragDropDirective, selector: "[cuiDragDrop]", inputs: ["disabled"], outputs: ["elementDragged"] }, { kind: "directive", type: CuiDragListDirective, selector: "[cuiDragList]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10458
10813
  }
10459
10814
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCheckListBlockListItemEvaluationComponent, decorators: [{
10460
10815
  type: Component,
@@ -10891,7 +11246,7 @@ class CuiCriterionInfoFormComponent {
10891
11246
  return !this.isDescriptionEmpty() && !this.form.invalid;
10892
11247
  }
10893
11248
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCriterionInfoFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10894
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiCriterionInfoFormComponent, isStandalone: true, selector: "cui-criterion-info-form", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: true, transformFunction: null }, framerId: { classPropertyName: "framerId", publicName: "framerId", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { formChanged: "formChanged", isFormValidChanged: "isFormValidChanged" }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\n <section class=\"content\">\n <cui-form-field>\n <label\n cuiLabel\n [isRequired]=\"true\"\n [for]=\"titleId\"\n >\n {{ t('TITLE') }}\n </label>\n\n <cui-input-text\n [cuiTextFieldId]=\"titleId\"\n [cuiTextFieldPlaceholder]=\"t('ADD_A_TITLE')\"\n [cuiTextFieldIsError]=\"isTitleError\"\n [formControl]=\"form.controls.title\"\n />\n\n @if (isTitleError) {\n <cui-general-control-error-hint\n [control]=\"form.controls.title\"\n [isVisible]=\"true\"\n />\n }\n </cui-form-field>\n\n <cui-form-field>\n <label\n cuiLabel\n [isRequired]=\"true\"\n [for]=\"descriptionId\"\n >\n {{ t('SHORT_DESCRIPTION') }}\n </label>\n\n <cui-input-text\n [cuiTextFieldId]=\"descriptionId\"\n cuiTextFieldPlaceholder=\"{{ t('SHORT_DESCRIPTION') }}...\"\n [cuiTextFieldIsError]=\"isDescriptionError\"\n [formControl]=\"form.controls.description\"\n />\n\n @if (isDescriptionError) {\n <cui-general-control-error-hint\n [control]=\"form.controls.description\"\n [isVisible]=\"true\"\n />\n }\n </cui-form-field>\n\n\n <cui-utility-thumbnail\n [context]=\"config().requestOptions\"\n [framerId]=\"framerId()\"\n [(thumbnail)]=\"thumbnail\"\n />\n\n @if (editorId(); as editorId) {\n <cui-editor-block\n [title]=\"form.controls.title.value || title()\"\n [config]=\"config()\"\n [editorId]=\"editorId\"\n [required]=\"true\"\n class=\"editor\"\n (editorEmpty)=\"onEditorEmpty($event)\"\n />\n }\n </section>\n</ng-container>\n", styles: ["::ng-deep cui-dialog:has(.instruction-description-modal){inset:0;margin:auto;transform:none!important}:host{--editor-height: 650px;display:block}:host .editor{--max-editor-height: var(--editor-height)}.content{display:flex;flex-direction:column;gap:16px;padding:16px 24px}\n"], dependencies: [{ kind: "ngmodule", type: CuiAccordionModule }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: CuiEditorBlockComponent, selector: "cui-editor-block", inputs: ["title", "editorId", "config", "required"], outputs: ["editorEmpty"] }, { kind: "ngmodule", type: CuiFormFieldModule }, { kind: "component", type: CuiFormFieldComponent, selector: "cui-form-field" }, { kind: "component", type: CuiGeneralControlErrorHintComponent, selector: "cui-general-control-error-hint", inputs: ["control", "isVisible"] }, { kind: "ngmodule", type: CuiHintModule }, { kind: "ngmodule", type: CuiInputModule }, { kind: "component", type: CuiInputTextComponent, selector: "cui-input-text" }, { kind: "directive", type: CuiTextFieldIdDirective, selector: "[cuiTextFieldId]", inputs: ["cuiTextFieldId"] }, { kind: "directive", type: CuiTextFieldPlaceholderDirective, selector: "[cuiTextFieldPlaceholder]", inputs: ["cuiTextFieldPlaceholder"] }, { kind: "directive", type: CuiTextFieldIsErrorDirective, selector: "[cuiTextFieldIsError]", inputs: ["cuiTextFieldIsError"] }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "component", type: CuiLabelComponent, selector: "label[cuiLabel]", inputs: ["isRequired"] }, { kind: "component", type: CuiUtilityThumbnailComponent, selector: "cui-utility-thumbnail", inputs: ["context", "thumbnail", "framerId"], outputs: ["thumbnailChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11249
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiCriterionInfoFormComponent, isStandalone: true, selector: "cui-criterion-info-form", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: true, transformFunction: null }, framerId: { classPropertyName: "framerId", publicName: "framerId", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { formChanged: "formChanged", isFormValidChanged: "isFormValidChanged" }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\n <section class=\"content\">\n <cui-form-field>\n <label\n cuiLabel\n [isRequired]=\"true\"\n [for]=\"titleId\"\n >\n {{ t('TITLE') }}\n </label>\n\n <cui-input-text\n [cuiTextFieldId]=\"titleId\"\n [cuiTextFieldPlaceholder]=\"t('ADD_A_TITLE')\"\n [cuiTextFieldIsError]=\"isTitleError\"\n [formControl]=\"form.controls.title\"\n />\n\n @if (isTitleError) {\n <cui-general-control-error-hint\n [control]=\"form.controls.title\"\n [isVisible]=\"true\"\n />\n }\n </cui-form-field>\n\n <cui-form-field>\n <label\n cuiLabel\n [isRequired]=\"true\"\n [for]=\"descriptionId\"\n >\n {{ t('SHORT_DESCRIPTION') }}\n </label>\n\n <cui-input-text\n [cuiTextFieldId]=\"descriptionId\"\n cuiTextFieldPlaceholder=\"{{ t('SHORT_DESCRIPTION') }}...\"\n [cuiTextFieldIsError]=\"isDescriptionError\"\n [formControl]=\"form.controls.description\"\n />\n\n @if (isDescriptionError) {\n <cui-general-control-error-hint\n [control]=\"form.controls.description\"\n [isVisible]=\"true\"\n />\n }\n </cui-form-field>\n\n\n <cui-utility-thumbnail\n [context]=\"config().requestOptions\"\n [framerId]=\"framerId()\"\n [(thumbnail)]=\"thumbnail\"\n />\n\n @if (editorId(); as editorId) {\n <cui-editor-block\n [title]=\"form.controls.title.value || title()\"\n [config]=\"config()\"\n [editorId]=\"editorId\"\n [required]=\"true\"\n class=\"editor\"\n (editorEmpty)=\"onEditorEmpty($event)\"\n />\n }\n </section>\n</ng-container>\n", styles: ["::ng-deep cui-dialog:has(.instruction-description-modal){inset:0;margin:auto;transform:none!important}:host{--editor-height: 650px;display:block}:host .editor{--max-editor-height: var(--editor-height)}.content{display:flex;flex-direction:column;gap:16px;padding:16px 24px}\n"], dependencies: [{ kind: "ngmodule", type: CuiAccordionModule }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: CuiEditorBlockComponent, selector: "cui-editor-block", inputs: ["title", "editorId", "config", "required"], outputs: ["editorEmpty"] }, { kind: "ngmodule", type: CuiFormFieldModule }, { kind: "component", type: CuiFormFieldComponent, selector: "cui-form-field" }, { kind: "component", type: CuiGeneralControlErrorHintComponent, selector: "cui-general-control-error-hint", inputs: ["control", "isVisible"] }, { kind: "ngmodule", type: CuiHintModule }, { kind: "ngmodule", type: CuiInputModule }, { kind: "component", type: CuiInputTextComponent, selector: "cui-input-text" }, { kind: "directive", type: CuiTextFieldIdDirective, selector: "[cuiTextFieldId]", inputs: ["cuiTextFieldId"] }, { kind: "directive", type: CuiTextFieldPlaceholderDirective, selector: "[cuiTextFieldPlaceholder]", inputs: ["cuiTextFieldPlaceholder"] }, { kind: "directive", type: CuiTextFieldIsErrorDirective, selector: "[cuiTextFieldIsError]", inputs: ["cuiTextFieldIsError"] }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "component", type: CuiLabelComponent, selector: "label[cuiLabel]", inputs: ["isRequired"] }, { kind: "component", type: CuiUtilityThumbnailComponent, selector: "cui-utility-thumbnail", inputs: ["context", "thumbnail", "framerId"], outputs: ["thumbnailChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10895
11250
  }
10896
11251
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiCriterionInfoFormComponent, decorators: [{
10897
11252
  type: Component,
@@ -11114,7 +11469,7 @@ class CuiInstructionInfoFormComponent {
11114
11469
  return !this.isDescriptionEmpty() && !this.form.invalid;
11115
11470
  }
11116
11471
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiInstructionInfoFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11117
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiInstructionInfoFormComponent, isStandalone: true, selector: "cui-instruction-info-form", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: true, transformFunction: null }, framerId: { classPropertyName: "framerId", publicName: "framerId", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { formChanged: "formChanged", isFormValidChanged: "isFormValidChanged" }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\n <section class=\"content\">\n <cui-form-field>\n <label\n cuiLabel\n [isRequired]=\"true\"\n [for]=\"titleId\"\n >\n {{ t('TITLE') }}\n </label>\n\n <cui-input-text\n [cuiTextFieldId]=\"titleId\"\n [cuiTextFieldPlaceholder]=\"t('ADD_A_TITLE')\"\n [cuiTextFieldIsError]=\"isTitleError\"\n [formControl]=\"form.controls.title\"\n />\n\n @if (isTitleError) {\n <cui-general-control-error-hint\n [control]=\"form.controls.title\"\n [isVisible]=\"true\"\n />\n }\n </cui-form-field>\n\n <cui-form-field>\n <label\n cuiLabel\n [isRequired]=\"true\"\n [for]=\"descriptionId\"\n >\n {{ t('SHORT_DESCRIPTION') }}\n </label>\n\n <cui-input-text\n [cuiTextFieldId]=\"descriptionId\"\n cuiTextFieldPlaceholder=\"{{ t('SHORT_DESCRIPTION') }}...\"\n [cuiTextFieldIsError]=\"isDescriptionError\"\n [formControl]=\"form.controls.description\"\n />\n\n @if (isDescriptionError) {\n <cui-general-control-error-hint\n [control]=\"form.controls.description\"\n [isVisible]=\"true\"\n />\n }\n </cui-form-field>\n\n <cui-utility-thumbnail\n [context]=\"config().requestOptions\"\n [framerId]=\"framerId()\"\n [(thumbnail)]=\"thumbnail\"\n />\n\n @if (editorId(); as editorId) {\n <cui-editor-block\n [title]=\"form.controls.title.value || title()\"\n [config]=\"config()\"\n [editorId]=\"editorId\"\n [required]=\"true\"\n class=\"editor\"\n (editorEmpty)=\"onEditorEmpty($event)\"\n />\n }\n </section>\n</ng-container>\n", styles: ["::ng-deep cui-dialog:has(.instruction-description-modal){inset:0;margin:auto;transform:none!important}:host{--editor-height: 650px;display:block}:host .editor{--max-editor-height: var(--editor-height)}.content{display:flex;flex-direction:column;gap:16px;padding:16px 24px}\n"], dependencies: [{ kind: "ngmodule", type: CuiAccordionModule }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: CuiEditorBlockComponent, selector: "cui-editor-block", inputs: ["title", "editorId", "config", "required"], outputs: ["editorEmpty"] }, { kind: "ngmodule", type: CuiFormFieldModule }, { kind: "component", type: CuiFormFieldComponent, selector: "cui-form-field" }, { kind: "component", type: CuiGeneralControlErrorHintComponent, selector: "cui-general-control-error-hint", inputs: ["control", "isVisible"] }, { kind: "ngmodule", type: CuiHintModule }, { kind: "ngmodule", type: CuiInputModule }, { kind: "component", type: CuiInputTextComponent, selector: "cui-input-text" }, { kind: "directive", type: CuiTextFieldIdDirective, selector: "[cuiTextFieldId]", inputs: ["cuiTextFieldId"] }, { kind: "directive", type: CuiTextFieldPlaceholderDirective, selector: "[cuiTextFieldPlaceholder]", inputs: ["cuiTextFieldPlaceholder"] }, { kind: "directive", type: CuiTextFieldIsErrorDirective, selector: "[cuiTextFieldIsError]", inputs: ["cuiTextFieldIsError"] }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "component", type: CuiLabelComponent, selector: "label[cuiLabel]", inputs: ["isRequired"] }, { kind: "component", type: CuiUtilityThumbnailComponent, selector: "cui-utility-thumbnail", inputs: ["context", "thumbnail", "framerId"], outputs: ["thumbnailChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11472
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiInstructionInfoFormComponent, isStandalone: true, selector: "cui-instruction-info-form", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: true, transformFunction: null }, framerId: { classPropertyName: "framerId", publicName: "framerId", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { formChanged: "formChanged", isFormValidChanged: "isFormValidChanged" }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\n <section class=\"content\">\n <cui-form-field>\n <label\n cuiLabel\n [isRequired]=\"true\"\n [for]=\"titleId\"\n >\n {{ t('TITLE') }}\n </label>\n\n <cui-input-text\n [cuiTextFieldId]=\"titleId\"\n [cuiTextFieldPlaceholder]=\"t('ADD_A_TITLE')\"\n [cuiTextFieldIsError]=\"isTitleError\"\n [formControl]=\"form.controls.title\"\n />\n\n @if (isTitleError) {\n <cui-general-control-error-hint\n [control]=\"form.controls.title\"\n [isVisible]=\"true\"\n />\n }\n </cui-form-field>\n\n <cui-form-field>\n <label\n cuiLabel\n [isRequired]=\"true\"\n [for]=\"descriptionId\"\n >\n {{ t('SHORT_DESCRIPTION') }}\n </label>\n\n <cui-input-text\n [cuiTextFieldId]=\"descriptionId\"\n cuiTextFieldPlaceholder=\"{{ t('SHORT_DESCRIPTION') }}...\"\n [cuiTextFieldIsError]=\"isDescriptionError\"\n [formControl]=\"form.controls.description\"\n />\n\n @if (isDescriptionError) {\n <cui-general-control-error-hint\n [control]=\"form.controls.description\"\n [isVisible]=\"true\"\n />\n }\n </cui-form-field>\n\n <cui-utility-thumbnail\n [context]=\"config().requestOptions\"\n [framerId]=\"framerId()\"\n [(thumbnail)]=\"thumbnail\"\n />\n\n @if (editorId(); as editorId) {\n <cui-editor-block\n [title]=\"form.controls.title.value || title()\"\n [config]=\"config()\"\n [editorId]=\"editorId\"\n [required]=\"true\"\n class=\"editor\"\n (editorEmpty)=\"onEditorEmpty($event)\"\n />\n }\n </section>\n</ng-container>\n", styles: ["::ng-deep cui-dialog:has(.instruction-description-modal){inset:0;margin:auto;transform:none!important}:host{--editor-height: 650px;display:block}:host .editor{--max-editor-height: var(--editor-height)}.content{display:flex;flex-direction:column;gap:16px;padding:16px 24px}\n"], dependencies: [{ kind: "ngmodule", type: CuiAccordionModule }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: CuiEditorBlockComponent, selector: "cui-editor-block", inputs: ["title", "editorId", "config", "required"], outputs: ["editorEmpty"] }, { kind: "ngmodule", type: CuiFormFieldModule }, { kind: "component", type: CuiFormFieldComponent, selector: "cui-form-field" }, { kind: "component", type: CuiGeneralControlErrorHintComponent, selector: "cui-general-control-error-hint", inputs: ["control", "isVisible"] }, { kind: "ngmodule", type: CuiHintModule }, { kind: "ngmodule", type: CuiInputModule }, { kind: "component", type: CuiInputTextComponent, selector: "cui-input-text" }, { kind: "directive", type: CuiTextFieldIdDirective, selector: "[cuiTextFieldId]", inputs: ["cuiTextFieldId"] }, { kind: "directive", type: CuiTextFieldPlaceholderDirective, selector: "[cuiTextFieldPlaceholder]", inputs: ["cuiTextFieldPlaceholder"] }, { kind: "directive", type: CuiTextFieldIsErrorDirective, selector: "[cuiTextFieldIsError]", inputs: ["cuiTextFieldIsError"] }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "component", type: CuiLabelComponent, selector: "label[cuiLabel]", inputs: ["isRequired"] }, { kind: "component", type: CuiUtilityThumbnailComponent, selector: "cui-utility-thumbnail", inputs: ["context", "thumbnail", "framerId"], outputs: ["thumbnailChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11118
11473
  }
11119
11474
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiInstructionInfoFormComponent, decorators: [{
11120
11475
  type: Component,
@@ -11735,7 +12090,7 @@ class CuiSelectModalSearchComponent {
11735
12090
  .subscribe((value) => this.searchStringChanged.emit(value));
11736
12091
  }
11737
12092
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiSelectModalSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11738
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: CuiSelectModalSearchComponent, isStandalone: true, selector: "cui-select-modal-search", inputs: { searchControl: { classPropertyName: "searchControl", publicName: "searchControl", isSignal: true, isRequired: false, transformFunction: null }, controlDelay: { classPropertyName: "controlDelay", publicName: "controlDelay", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { searchStringChanged: "searchStringChanged" }, ngImport: i0, template: "<cui-input-text\n cuiTextFieldPlaceholder=\"Search...\"\n cuiTextFieldIconLeft=\"cuiIconSearch\"\n [formControl]=\"searchControl()\"\n class=\"search\"\n/>\n<button\n class=\"filters\"\n type=\"button\"\n cuiIconButton\n icon=\"cuiIconFiltersLines\"\n></button>\n", styles: [":host{padding-right:15px;display:flex;align-items:center;gap:4px}.search{width:100%}.filters{padding:4px;width:auto;height:auto}\n"], dependencies: [{ kind: "ngmodule", type: CuiInputModule }, { kind: "component", type: CuiInputTextComponent, selector: "cui-input-text" }, { kind: "directive", type: CuiTextFieldIconLeftDirective, selector: "[cuiTextFieldIconLeft]", inputs: ["cuiTextFieldIconLeft"] }, { kind: "directive", type: CuiTextFieldPlaceholderDirective, selector: "[cuiTextFieldPlaceholder]", inputs: ["cuiTextFieldPlaceholder"] }, { kind: "ngmodule", type: CuiIconButtonModule }, { kind: "component", type: CuiIconButtonComponent, selector: "button[cuiIconButton][icon], a[cuiIconButton][icon]", inputs: ["icon", "color", "hoverColor"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12093
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: CuiSelectModalSearchComponent, isStandalone: true, selector: "cui-select-modal-search", inputs: { searchControl: { classPropertyName: "searchControl", publicName: "searchControl", isSignal: true, isRequired: false, transformFunction: null }, controlDelay: { classPropertyName: "controlDelay", publicName: "controlDelay", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { searchStringChanged: "searchStringChanged" }, ngImport: i0, template: "<cui-input-text\n cuiTextFieldPlaceholder=\"Search...\"\n cuiTextFieldIconLeft=\"cuiIconSearch\"\n [formControl]=\"searchControl()\"\n class=\"search\"\n/>\n<button\n class=\"filters\"\n type=\"button\"\n cuiIconButton\n icon=\"cuiIconFiltersLines\"\n></button>\n", styles: [":host{padding-right:15px;display:flex;align-items:center;gap:4px}.search{width:100%}.filters{padding:4px;width:auto;height:auto}\n"], dependencies: [{ kind: "ngmodule", type: CuiInputModule }, { kind: "component", type: CuiInputTextComponent, selector: "cui-input-text" }, { kind: "directive", type: CuiTextFieldIconLeftDirective, selector: "[cuiTextFieldIconLeft]", inputs: ["cuiTextFieldIconLeft"] }, { kind: "directive", type: CuiTextFieldPlaceholderDirective, selector: "[cuiTextFieldPlaceholder]", inputs: ["cuiTextFieldPlaceholder"] }, { kind: "ngmodule", type: CuiIconButtonModule }, { kind: "component", type: CuiIconButtonComponent, selector: "button[cuiIconButton][icon], a[cuiIconButton][icon]", inputs: ["icon", "color", "hoverColor"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11739
12094
  }
11740
12095
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiSelectModalSearchComponent, decorators: [{
11741
12096
  type: Component,
@@ -12452,7 +12807,7 @@ class ConsumableFormItemComponent {
12452
12807
  });
12453
12808
  }
12454
12809
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ConsumableFormItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12455
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ConsumableFormItemComponent, isStandalone: true, selector: "cc-consumable-form-item", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, consumptionOptions: { classPropertyName: "consumptionOptions", publicName: "consumptionOptions", isSignal: true, isRequired: true, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { consumableChanged: "consumableChanged" }, ngImport: i0, template: "@let formData = form();\n\n@if (readonly()) {\n <cui-consumable-form-item-readonly\n [title]=\"title()\"\n [consumable]=\"consumable()\"\n />\n} @else {\n <form\n [formGroup]=\"formData\"\n *transloco=\"let t\"\n class=\"form\"\n >\n <span class=\"title\">{{ title() }}</span>\n\n <div class=\"wrapper-input\">\n <div class=\"form__input\">\n @let quantity = formData.controls.quantity;\n\n <label [for]=\"consumptionId\">{{ t('AMOUNT') }}</label>\n <div class=\"field\">\n <cui-input-number\n [cuiTextFieldId]=\"quantityId\"\n cuiTextFieldPlaceholder=\"0\"\n formControlName=\"quantity\"\n [cuiTextFieldIsError]=\"!!quantity.errors && quantity.dirty\"\n class=\"input\"\n />\n\n <cui-select\n [options]=\"piecesOptions()\"\n [class.options--error]=\"hasFormError()\"\n formControlName=\"unit\"\n class=\"options\"\n />\n </div>\n <cui-general-control-error-hint\n [control]=\"quantity\"\n [isVisible]=\"!!quantity.errors && quantity.dirty\"\n />\n </div>\n\n <div class=\"form__input\">\n @let measureFormGroup = formData.controls.measure;\n @let consumption = measureFormGroup.controls.value;\n\n <label [for]=\"consumptionId\">{{ t('MEASURE') }}</label>\n <div\n class=\"field\"\n [formGroup]=\"measureFormGroup\"\n >\n <cui-input-number\n [cuiTextFieldId]=\"consumptionId\"\n cuiTextFieldPlaceholder=\"0\"\n formControlName=\"value\"\n [precision]=\"3\"\n [cuiTextFieldIsError]=\"!!consumption.errors && consumption.dirty\"\n class=\"input\"\n />\n\n <cui-select\n [options]=\"consumptionOptions()\"\n [class.options--error]=\"hasFormError()\"\n formControlName=\"unit\"\n class=\"options\"\n />\n </div>\n <cui-general-control-error-hint\n [control]=\"consumption\"\n [isVisible]=\"!!consumption.errors && consumption.dirty\"\n />\n </div>\n </div>\n </form>\n}\n", styles: [":host{padding-top:6px;padding-bottom:6px;display:block}.title{font-weight:400;font-size:14px;line-height:20px;min-width:80px;align-self:center}.input{padding-right:84px;width:240px}.options{position:absolute;inset:1px 1px 1px auto;min-width:90px}.options ::ng-deep .c-button{border:0;height:100%}.options--error{inset:1px 20px 1px auto}.wrapper-input{display:flex;flex-direction:row;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}.form{display:flex;flex-direction:row;gap:8px;flex-wrap:wrap}.form__input{display:flex;flex-direction:column;gap:4px}.form__input cui-general-control-error-hint{display:block;min-height:20px}.field{display:flex;flex-direction:row;gap:4px;position:relative}\n"], dependencies: [{ kind: "ngmodule", type: CuiAccordionModule }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "ngmodule", type: CuiContextMenuModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "ngmodule", type: CuiInputNumberModule }, { kind: "component", type: CuiInputNumberComponent, selector: "cui-input-number", inputs: ["precision", "min", "max"] }, { kind: "directive", type: CuiTextFieldIdDirective, selector: "[cuiTextFieldId]", inputs: ["cuiTextFieldId"] }, { kind: "directive", type: CuiTextFieldPlaceholderDirective, selector: "[cuiTextFieldPlaceholder]", inputs: ["cuiTextFieldPlaceholder"] }, { kind: "directive", type: CuiTextFieldIsErrorDirective, selector: "[cuiTextFieldIsError]", inputs: ["cuiTextFieldIsError"] }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "ngmodule", type: CuiFormFieldModule }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "ngmodule", type: CuiSelectModule }, { kind: "component", type: CuiSelectComponent, selector: "cui-select[options]", inputs: ["options", "defaultOptionText"] }, { kind: "component", type: ConsumableFormItemReadonlyComponent, selector: "cui-consumable-form-item-readonly", inputs: ["title", "consumable"] }, { kind: "component", type: CuiGeneralControlErrorHintComponent, selector: "cui-general-control-error-hint", inputs: ["control", "isVisible"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12810
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ConsumableFormItemComponent, isStandalone: true, selector: "cc-consumable-form-item", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, consumptionOptions: { classPropertyName: "consumptionOptions", publicName: "consumptionOptions", isSignal: true, isRequired: true, transformFunction: null }, form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { consumableChanged: "consumableChanged" }, ngImport: i0, template: "@let formData = form();\n\n@if (readonly()) {\n <cui-consumable-form-item-readonly\n [title]=\"title()\"\n [consumable]=\"consumable()\"\n />\n} @else {\n <form\n [formGroup]=\"formData\"\n *transloco=\"let t\"\n class=\"form\"\n >\n <span class=\"title\">{{ title() }}</span>\n\n <div class=\"wrapper-input\">\n <div class=\"form__input\">\n @let quantity = formData.controls.quantity;\n\n <label [for]=\"consumptionId\">{{ t('AMOUNT') }}</label>\n <div class=\"field\">\n <cui-input-number\n [cuiTextFieldId]=\"quantityId\"\n cuiTextFieldPlaceholder=\"0\"\n formControlName=\"quantity\"\n [cuiTextFieldIsError]=\"!!quantity.errors && quantity.dirty\"\n class=\"input\"\n />\n\n <cui-select\n [options]=\"piecesOptions()\"\n [class.options--error]=\"hasFormError()\"\n formControlName=\"unit\"\n class=\"options\"\n />\n </div>\n <cui-general-control-error-hint\n [control]=\"quantity\"\n [isVisible]=\"!!quantity.errors && quantity.dirty\"\n />\n </div>\n\n <div class=\"form__input\">\n @let measureFormGroup = formData.controls.measure;\n @let consumption = measureFormGroup.controls.value;\n\n <label [for]=\"consumptionId\">{{ t('MEASURE') }}</label>\n <div\n class=\"field\"\n [formGroup]=\"measureFormGroup\"\n >\n <cui-input-number\n [cuiTextFieldId]=\"consumptionId\"\n cuiTextFieldPlaceholder=\"0\"\n formControlName=\"value\"\n [precision]=\"3\"\n [cuiTextFieldIsError]=\"!!consumption.errors && consumption.dirty\"\n class=\"input\"\n />\n\n <cui-select\n [options]=\"consumptionOptions()\"\n [class.options--error]=\"hasFormError()\"\n formControlName=\"unit\"\n class=\"options\"\n />\n </div>\n <cui-general-control-error-hint\n [control]=\"consumption\"\n [isVisible]=\"!!consumption.errors && consumption.dirty\"\n />\n </div>\n </div>\n </form>\n}\n", styles: [":host{padding-top:6px;padding-bottom:6px;display:block}.title{font-weight:400;font-size:14px;line-height:20px;min-width:80px;align-self:center}.input{padding-right:84px;width:240px}.options{position:absolute;inset:1px 1px 1px auto;min-width:90px}.options ::ng-deep .c-button{border:0;height:100%}.options--error{inset:1px 20px 1px auto}.wrapper-input{display:flex;flex-direction:row;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}.form{display:flex;flex-direction:row;gap:8px;flex-wrap:wrap}.form__input{display:flex;flex-direction:column;gap:4px}.form__input cui-general-control-error-hint{display:block;min-height:20px}.field{display:flex;flex-direction:row;gap:4px;position:relative}\n"], dependencies: [{ kind: "ngmodule", type: CuiAccordionModule }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "ngmodule", type: CuiContextMenuModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "ngmodule", type: CuiInputNumberModule }, { kind: "component", type: CuiInputNumberComponent, selector: "cui-input-number", inputs: ["precision", "min", "max"] }, { kind: "directive", type: CuiTextFieldIdDirective, selector: "[cuiTextFieldId]", inputs: ["cuiTextFieldId"] }, { kind: "directive", type: CuiTextFieldPlaceholderDirective, selector: "[cuiTextFieldPlaceholder]", inputs: ["cuiTextFieldPlaceholder"] }, { kind: "directive", type: CuiTextFieldIsErrorDirective, selector: "[cuiTextFieldIsError]", inputs: ["cuiTextFieldIsError"] }, { kind: "ngmodule", type: CuiSvgModule }, { kind: "ngmodule", type: CuiFormFieldModule }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "ngmodule", type: CuiSelectModule }, { kind: "component", type: CuiSelectComponent, selector: "cui-select[options]", inputs: ["options", "defaultOptionText"] }, { kind: "component", type: ConsumableFormItemReadonlyComponent, selector: "cui-consumable-form-item-readonly", inputs: ["title", "consumable"] }, { kind: "component", type: CuiGeneralControlErrorHintComponent, selector: "cui-general-control-error-hint", inputs: ["control", "isVisible"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12456
12811
  }
12457
12812
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ConsumableFormItemComponent, decorators: [{
12458
12813
  type: Component,
@@ -12542,7 +12897,7 @@ class ToolFormComponent {
12542
12897
  });
12543
12898
  }
12544
12899
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ToolFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12545
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ToolFormComponent, isStandalone: true, selector: "cui-tool-form", inputs: { utilityId: { classPropertyName: "utilityId", publicName: "utilityId", isSignal: true, isRequired: true, transformFunction: null }, tool: { classPropertyName: "tool", publicName: "tool", isSignal: true, isRequired: true, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, resourceType: { classPropertyName: "resourceType", publicName: "resourceType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { toolChanged: "toolChanged", toolDeleted: "toolDeleted" }, host: { properties: { "class._disabled": "isLoading() || tool().isDelete" } }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\n @let controlsData = controls();\n\n @if (readonly()) {\n <cc-tool-form-readonly [tool]=\"tool()\" />\n } @else if (controlsData) {\n <td class=\"cc-table__td info custom\">\n {{ tool().name }}\n\n @if (tool().isDelete) {\n <cui-badge\n class=\"badge\"\n [size]=\"'sm'\"\n color=\"red\"\n >\n {{ t('DELETED') }}\n </cui-badge>\n }\n </td>\n <td class=\"cc-table__td custom\">\n <cui-input-number\n type=\"text\"\n [formControl]=\"controlsData.quantity\"\n [cuiTextFieldIsError]=\"!!controlsData.quantity.errors && controlsData.quantity.dirty\"\n />\n <cui-general-control-error-hint\n [control]=\"controlsData.quantity\"\n [isVisible]=\"!!controlsData.quantity.errors && controlsData.quantity.dirty\"\n />\n </td>\n <td class=\"cc-table__td custom\">\n <cui-select\n [formControl]=\"controlsData.unit\"\n [options]=\"toolboxOptions()\"\n />\n </td>\n <td class=\"cc-table__td button custom\">\n <button\n type=\"button\"\n cuiButton\n icon=\"cuiIconTrash\"\n size=\"xxs\"\n appearance=\"ghost\"\n [isLoaderShown]=\"isLoading()\"\n (click)=\"onDeleteToolbox()\"\n ></button>\n </td>\n }\n</ng-container>\n", styles: [":host{display:contents}:host._disabled .custom{pointer-events:none;opacity:.7}:host._disabled .button{opacity:1;pointer-events:all}.info{display:flex;flex-direction:row;gap:0}.badge{margin-left:auto}.custom{padding-right:4px;padding-left:4px}.readonly{min-height:36px}\n"], dependencies: [{ kind: "component", type: ToolFormReadonlyComponent, selector: "cc-tool-form-readonly", inputs: ["tool"] }, { kind: "ngmodule", type: CuiSelectModule }, { kind: "component", type: CuiSelectComponent, selector: "cui-select[options]", inputs: ["options", "defaultOptionText"] }, { kind: "directive", type: CuiTextFieldIsErrorDirective, selector: "[cuiTextFieldIsError]", inputs: ["cuiTextFieldIsError"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: CuiBadgeModule }, { kind: "component", type: CuiBadgeComponent, selector: "cui-badge", inputs: ["color", "size", "variant"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "ngmodule", type: CuiInputNumberModule }, { kind: "component", type: CuiInputNumberComponent, selector: "cui-input-number", inputs: ["precision", "min", "max"] }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "theme", "size"] }, { kind: "component", type: CuiGeneralControlErrorHintComponent, selector: "cui-general-control-error-hint", inputs: ["control", "isVisible"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12900
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ToolFormComponent, isStandalone: true, selector: "cui-tool-form", inputs: { utilityId: { classPropertyName: "utilityId", publicName: "utilityId", isSignal: true, isRequired: true, transformFunction: null }, tool: { classPropertyName: "tool", publicName: "tool", isSignal: true, isRequired: true, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, resourceType: { classPropertyName: "resourceType", publicName: "resourceType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { toolChanged: "toolChanged", toolDeleted: "toolDeleted" }, host: { properties: { "class._disabled": "isLoading() || tool().isDelete" } }, ngImport: i0, template: "<ng-container *transloco=\"let t\">\n @let controlsData = controls();\n\n @if (readonly()) {\n <cc-tool-form-readonly [tool]=\"tool()\" />\n } @else if (controlsData) {\n <td class=\"cc-table__td info custom\">\n {{ tool().name }}\n\n @if (tool().isDelete) {\n <cui-badge\n class=\"badge\"\n [size]=\"'sm'\"\n color=\"red\"\n >\n {{ t('DELETED') }}\n </cui-badge>\n }\n </td>\n <td class=\"cc-table__td custom\">\n <cui-input-number\n type=\"text\"\n [formControl]=\"controlsData.quantity\"\n [cuiTextFieldIsError]=\"!!controlsData.quantity.errors && controlsData.quantity.dirty\"\n />\n <cui-general-control-error-hint\n [control]=\"controlsData.quantity\"\n [isVisible]=\"!!controlsData.quantity.errors && controlsData.quantity.dirty\"\n />\n </td>\n <td class=\"cc-table__td custom\">\n <cui-select\n [formControl]=\"controlsData.unit\"\n [options]=\"toolboxOptions()\"\n />\n </td>\n <td class=\"cc-table__td button custom\">\n <button\n type=\"button\"\n cuiButton\n icon=\"cuiIconTrash\"\n size=\"xxs\"\n appearance=\"ghost\"\n [isLoaderShown]=\"isLoading()\"\n (click)=\"onDeleteToolbox()\"\n ></button>\n </td>\n }\n</ng-container>\n", styles: [":host{display:contents}:host._disabled .custom{pointer-events:none;opacity:.7}:host._disabled .button{opacity:1;pointer-events:all}.info{display:flex;flex-direction:row;gap:0}.badge{margin-left:auto}.custom{padding-right:4px;padding-left:4px}.readonly{min-height:36px}\n"], dependencies: [{ kind: "component", type: ToolFormReadonlyComponent, selector: "cc-tool-form-readonly", inputs: ["tool"] }, { kind: "ngmodule", type: CuiSelectModule }, { kind: "component", type: CuiSelectComponent, selector: "cui-select[options]", inputs: ["options", "defaultOptionText"] }, { kind: "directive", type: CuiTextFieldIsErrorDirective, selector: "[cuiTextFieldIsError]", inputs: ["cuiTextFieldIsError"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: CuiBadgeModule }, { kind: "component", type: CuiBadgeComponent, selector: "cui-badge", inputs: ["color", "size", "variant"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "ngmodule", type: CuiInputNumberModule }, { kind: "component", type: CuiInputNumberComponent, selector: "cui-input-number", inputs: ["precision", "min", "max"] }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "theme", "size"] }, { kind: "component", type: CuiGeneralControlErrorHintComponent, selector: "cui-general-control-error-hint", inputs: ["control", "isVisible"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12546
12901
  }
12547
12902
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ToolFormComponent, decorators: [{
12548
12903
  type: Component,
@@ -13593,5 +13948,5 @@ const CuiTranslations = {
13593
13948
  * Generated bundle index. Do not edit.
13594
13949
  */
13595
13950
 
13596
- 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_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, 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 };
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 };
13597
13952
  //# sourceMappingURL=cuby-ui-core.mjs.map