@updevs/components 1.0.0-alpha.83 → 1.0.0-alpha.84

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.
@@ -35,12 +35,12 @@ export class BaseControl extends BaseComponent {
35
35
  this.hintTemplate = input();
36
36
  this.hintAsTooltip = input(false);
37
37
  this.validationStatus = input();
38
- this.formControl = input();
38
+ this.control = input();
39
39
  this._textService = inject(TextService);
40
40
  this.destroyRef = inject(DestroyRef);
41
41
  // Sync FormControl.disabled <-> isDisabled
42
42
  effect(() => {
43
- const control = this.formControl();
43
+ const control = this.control();
44
44
  if (!!control) {
45
45
  this.isDisabled.set(control.disabled);
46
46
  control.statusChanges
@@ -50,7 +50,7 @@ export class BaseControl extends BaseComponent {
50
50
  });
51
51
  // Sync isDisabled -> FormControl
52
52
  effect(() => {
53
- const control = this.formControl();
53
+ const control = this.control();
54
54
  const isDisabled = this.isDisabled();
55
55
  if (!!control) {
56
56
  if (isDisabled && !control.disabled) {
@@ -63,7 +63,7 @@ export class BaseControl extends BaseComponent {
63
63
  });
64
64
  // Sync FormControl.value <-> component value
65
65
  effect(() => {
66
- const control = this.formControl();
66
+ const control = this.control();
67
67
  if (!!control) {
68
68
  control.valueChanges
69
69
  .pipe(takeUntilDestroyed(this.destroyRef))
@@ -84,16 +84,16 @@ export class BaseControl extends BaseComponent {
84
84
  * @param emitEvent Whether to emit the valueChanges event.
85
85
  */
86
86
  _updateFormControl(value, emitEvent = false) {
87
- const control = this.formControl();
87
+ const control = this.control();
88
88
  if (!!control && control.value !== value) {
89
89
  control.setValue(value, { emitEvent });
90
90
  }
91
91
  }
92
92
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BaseControl, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
93
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.0", type: BaseControl, inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, validationStatusDescriptions: { classPropertyName: "validationStatusDescriptions", publicName: "validationStatusDescriptions", isSignal: true, isRequired: false, transformFunction: null }, labelColSize: { classPropertyName: "labelColSize", publicName: "labelColSize", isSignal: true, isRequired: false, transformFunction: null }, showValidStatus: { classPropertyName: "showValidStatus", publicName: "showValidStatus", isSignal: true, isRequired: false, transformFunction: null }, isRequired: { classPropertyName: "isRequired", publicName: "isRequired", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, hintTemplate: { classPropertyName: "hintTemplate", publicName: "hintTemplate", isSignal: true, isRequired: false, transformFunction: null }, hintAsTooltip: { classPropertyName: "hintAsTooltip", publicName: "hintAsTooltip", isSignal: true, isRequired: false, transformFunction: null }, validationStatus: { classPropertyName: "validationStatus", publicName: "validationStatus", isSignal: true, isRequired: false, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isDisabled: "isDisabledChange" }, usesInheritance: true, ngImport: i0 }); }
93
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.0", type: BaseControl, inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, validationStatusDescriptions: { classPropertyName: "validationStatusDescriptions", publicName: "validationStatusDescriptions", isSignal: true, isRequired: false, transformFunction: null }, labelColSize: { classPropertyName: "labelColSize", publicName: "labelColSize", isSignal: true, isRequired: false, transformFunction: null }, showValidStatus: { classPropertyName: "showValidStatus", publicName: "showValidStatus", isSignal: true, isRequired: false, transformFunction: null }, isRequired: { classPropertyName: "isRequired", publicName: "isRequired", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, hintTemplate: { classPropertyName: "hintTemplate", publicName: "hintTemplate", isSignal: true, isRequired: false, transformFunction: null }, hintAsTooltip: { classPropertyName: "hintAsTooltip", publicName: "hintAsTooltip", isSignal: true, isRequired: false, transformFunction: null }, validationStatus: { classPropertyName: "validationStatus", publicName: "validationStatus", isSignal: true, isRequired: false, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isDisabled: "isDisabledChange" }, usesInheritance: true, ngImport: i0 }); }
94
94
  }
95
95
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BaseControl, decorators: [{
96
96
  type: Directive,
97
97
  args: [{}]
98
98
  }], ctorParameters: () => [] });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvYWJzdHJhY3Rpb25zL3NyYy9iYXNlLWNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQWUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBYSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFJbkQsTUFBTSxPQUFnQixXQUFZLFNBQVEsYUFBYTtJQW9CbkQsSUFBSSxlQUFlO1FBQ2YsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBQ0QsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBQ0QsSUFBSSxlQUFlO1FBQ2YsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBQ0QsSUFBSSxxQkFBcUI7UUFDckIsT0FBTyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzVGLENB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QUksSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLEtBQUssRUFBRSxDQUFDO3dCQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUM3QixDQUFDO2dCQUNMLENBQUMsQ0FBQyxDQUFDO2dCQUVQLElBQUksT0FBTyxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksT0FBTyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztvQkFDcEUsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3JDLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNPLGtCQUFrQixDQUFDLEtBQVUsRUFBRSxTQUFTLEdBQUcsS0FBSztRQUN0RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFbkMsSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDdkMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLENBQUM7SUFDTCxDQUFDOzhHQWhHaUIsV0FBVztrR0FBWCxXQUFXOzsyRkFBWCxXQUFXO2tCQURoQyxTQUFTO21CQUFDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCwgVGVtcGxhdGVSZWYsIGlucHV0LCBlZmZlY3QsIG1vZGVsLCBEZXN0cm95UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBUZXh0TW9kZWwsIFRleHRTZXJ2aWNlIH0gZnJvbSAnQHVwZGV2cy9zZGsnO1xuaW1wb3J0IHsgVG9vbHMgfSBmcm9tICdAdXBkZXZzL3Nkay9jb3JlJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICdAdXBkZXZzL3Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgUm93Q29sdW1uU2l6ZSwgVmFsaWRhdGlvblN0YXR1c1R5cGUgfSBmcm9tICdAdXBkZXZzL2NvbXBvbmVudHMnO1xuXG5ARGlyZWN0aXZlKHt9KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VDb250cm9sIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gICAgcmVhZG9ubHkgbmFtZSA9IGlucHV0PHN0cmluZz4oVG9vbHMuR3VpZC5nZW5lcmF0ZSgpKTtcbiAgICByZWFkb25seSBwbGFjZWhvbGRlciA9IGlucHV0PFRleHRNb2RlbD4oKTtcbiAgICByZWFkb25seSBsYWJlbCA9IGlucHV0PFRleHRNb2RlbD4oKTtcbiAgICByZWFkb25seSBkZXNjcmlwdGlvbiA9IGlucHV0PFRleHRNb2RlbD4oKTtcbiAgICByZWFkb25seSB2YWxpZGF0aW9uU3RhdHVzRGVzY3JpcHRpb25zID0gaW5wdXQ8VGV4dE1vZGVsW10+KFtdKTtcbiAgICByZWFkb25seSBsYWJlbENvbFNpemUgPSBpbnB1dDxSb3dDb2x1bW5TaXplPigpO1xuICAgIHJlYWRvbmx5IHNob3dWYWxpZFN0YXR1cyA9IGlucHV0KGZhbHNlKTtcbiAgICByZWFkb25seSBpc1JlcXVpcmVkID0gaW5wdXQoZmFsc2UpO1xuICAgIHJlYWRvbmx5IGlzRGlzYWJsZWQgPSBtb2RlbDxib29sZWFuPihmYWxzZSk7XG4gICAgcmVhZG9ubHkgaGludCA9IGlucHV0PFRleHRNb2RlbD4oKTtcbiAgICByZWFkb25seSBoaW50VGVtcGxhdGUgPSBpbnB1dDxUZW1wbGF0ZVJlZjxhbnk+PigpO1xuICAgIHJlYWRvbmx5IGhpbnRBc1Rvb2x0aXAgPSBpbnB1dChmYWxzZSk7XG4gICAgcmVhZG9ubHkgdmFsaWRhdGlvblN0YXR1cyA9IGlucHV0PFZhbGlkYXRpb25TdGF0dXNUeXBlPigpO1xuICAgIHJlYWRvbmx5IGZvcm1Db250cm9sID0gaW5wdXQ8QWJzdHJhY3RDb250cm9sPigpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IF90ZXh0U2VydmljZSA9IGluamVjdChUZXh0U2VydmljZSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICBnZXQgcGxhY2Vob2xkZXJUZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl90ZXh0U2VydmljZS5nZXRUZXh0KHRoaXMucGxhY2Vob2xkZXIoKSk7XG4gICAgfVxuICAgIGdldCBsYWJlbFRleHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RleHRTZXJ2aWNlLmdldFRleHQodGhpcy5sYWJlbCgpKTtcbiAgICB9XG4gICAgZ2V0IGRlc2NyaXB0aW9uVGV4dCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGV4dFNlcnZpY2UuZ2V0VGV4dCh0aGlzLmRlc2NyaXB0aW9uKCkpO1xuICAgIH1cbiAgICBnZXQgdmFsaWRhdGlvblN0YXR1c1RleHRzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGlvblN0YXR1c0Rlc2NyaXB0aW9ucygpLm1hcChkZXNjID0+IHRoaXMuX3RleHRTZXJ2aWNlLmdldFRleHQoZGVzYykpO1xuICAgIH1cbiAgICBnZXQgaGludFRleHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RleHRTZXJ2aWNlLmdldFRleHQodGhpcy5oaW50KCkpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIC8vIFN5bmMgRm9ybUNvbnRyb2wuZGlzYWJsZWQgPC0+IGlzRGlzYWJsZWRcbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm1Db250cm9sKCk7XG5cbiAgICAgICAgICAgIGlmICghIWNvbnRyb2wpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzRGlzYWJsZWQuc2V0KGNvbnRyb2wuZGlzYWJsZWQpO1xuICAgICAgICAgICAgICAgIGNvbnRyb2wuc3RhdHVzQ2hhbmdlc1xuICAgICAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmlzRGlzYWJsZWQuc2V0KGNvbnRyb2wuZGlzYWJsZWQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gU3luYyBpc0Rpc2FibGVkIC0+IEZvcm1Db250cm9sXG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb250cm9sID0gdGhpcy5mb3JtQ29udHJvbCgpO1xuICAgICAgICAgICAgY29uc3QgaXNEaXNhYmxlZCA9IHRoaXMuaXNEaXNhYmxlZCgpO1xuXG4gICAgICAgICAgICBpZiAoISFjb250cm9sKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzRGlzYWJsZWQgJiYgIWNvbnRyb2wuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udHJvbC5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFpc0Rpc2FibGVkICYmIGNvbnRyb2wuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udHJvbC5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gU3luYyBGb3JtQ29udHJvbC52YWx1ZSA8LT4gY29tcG9uZW50IHZhbHVlXG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb250cm9sID0gdGhpcy5mb3JtQ29udHJvbCgpO1xuXG4gICAgICAgICAgICBpZiAoISFjb250cm9sKSB7XG4gICAgICAgICAgICAgICAgY29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2dldFZhbHVlKCkgIT09IHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlVmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIGlmIChjb250cm9sLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgY29udHJvbC52YWx1ZSAhPT0gdGhpcy5fZ2V0VmFsdWUoKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVWYWx1ZShjb250cm9sLnZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZXMgdGhlIHZhbHVlIGluIHRoZSBmb3JtIGNvbnRyb2wuXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byBzZXQgaW4gdGhlIGZvcm0gY29udHJvbC5cbiAgICAgKiBAcGFyYW0gZW1pdEV2ZW50IFdoZXRoZXIgdG8gZW1pdCB0aGUgdmFsdWVDaGFuZ2VzIGV2ZW50LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfdXBkYXRlRm9ybUNvbnRyb2wodmFsdWU6IGFueSwgZW1pdEV2ZW50ID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybUNvbnRyb2woKTtcblxuICAgICAgICBpZiAoISFjb250cm9sICYmIGNvbnRyb2wudmFsdWUgIT09IHZhbHVlKSB7XG4gICAgICAgICAgICBjb250cm9sLnNldFZhbHVlKHZhbHVlLCB7IGVtaXRFdmVudCB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZXMgdGhlIGNvbXBvbmVudCdzIHZhbHVlLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBfdXBkYXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBjdXJyZW50IGNvbXBvbmVudCB2YWx1ZS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgX2dldFZhbHVlKCk6IGFueTtcbn1cbiJdfQ==
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm0tY29udHJvbHMvYWJzdHJhY3Rpb25zL3NyYy9iYXNlLWNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQWUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBYSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFJbkQsTUFBTSxPQUFnQixXQUFZLFNBQVEsYUFBYTtJQW9CbkQsSUFBSSxlQUFlO1FBQ2YsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBQ0QsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBQ0QsSUFBSSxlQUFlO1FBQ2YsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBQ0QsSUFBSSxxQkFBcUI7UUFDckIsT0FBTyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzVGLENB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SSxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssS0FBSyxFQUFFLENBQUM7d0JBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQzdCLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7Z0JBRVAsSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO29CQUNwRSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDckMsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7OztPQUlHO0lBQ08sa0JBQWtCLENBQUMsS0FBVSxFQUFFLFNBQVMsR0FBRyxLQUFLO1FBQ3RELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUUvQixJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUN2QyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDM0MsQ0FBQztJQUNMLENBQUM7OEdBaEdpQixXQUFXO2tHQUFYLFdBQVc7OzJGQUFYLFdBQVc7a0JBRGhDLFNBQVM7bUJBQUMsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0LCBUZW1wbGF0ZVJlZiwgaW5wdXQsIGVmZmVjdCwgbW9kZWwsIERlc3Ryb3lSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFRleHRNb2RlbCwgVGV4dFNlcnZpY2UgfSBmcm9tICdAdXBkZXZzL3Nkayc7XG5pbXBvcnQgeyBUb29scyB9IGZyb20gJ0B1cGRldnMvc2RrL2NvcmUnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJ0B1cGRldnMvc2RrL2xheW91dCc7XG5pbXBvcnQgeyBSb3dDb2x1bW5TaXplLCBWYWxpZGF0aW9uU3RhdHVzVHlwZSB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cyc7XG5cbkBEaXJlY3RpdmUoe30pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUNvbnRyb2wgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgICByZWFkb25seSBuYW1lID0gaW5wdXQ8c3RyaW5nPihUb29scy5HdWlkLmdlbmVyYXRlKCkpO1xuICAgIHJlYWRvbmx5IHBsYWNlaG9sZGVyID0gaW5wdXQ8VGV4dE1vZGVsPigpO1xuICAgIHJlYWRvbmx5IGxhYmVsID0gaW5wdXQ8VGV4dE1vZGVsPigpO1xuICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uID0gaW5wdXQ8VGV4dE1vZGVsPigpO1xuICAgIHJlYWRvbmx5IHZhbGlkYXRpb25TdGF0dXNEZXNjcmlwdGlvbnMgPSBpbnB1dDxUZXh0TW9kZWxbXT4oW10pO1xuICAgIHJlYWRvbmx5IGxhYmVsQ29sU2l6ZSA9IGlucHV0PFJvd0NvbHVtblNpemU+KCk7XG4gICAgcmVhZG9ubHkgc2hvd1ZhbGlkU3RhdHVzID0gaW5wdXQoZmFsc2UpO1xuICAgIHJlYWRvbmx5IGlzUmVxdWlyZWQgPSBpbnB1dChmYWxzZSk7XG4gICAgcmVhZG9ubHkgaXNEaXNhYmxlZCA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcbiAgICByZWFkb25seSBoaW50ID0gaW5wdXQ8VGV4dE1vZGVsPigpO1xuICAgIHJlYWRvbmx5IGhpbnRUZW1wbGF0ZSA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4+KCk7XG4gICAgcmVhZG9ubHkgaGludEFzVG9vbHRpcCA9IGlucHV0KGZhbHNlKTtcbiAgICByZWFkb25seSB2YWxpZGF0aW9uU3RhdHVzID0gaW5wdXQ8VmFsaWRhdGlvblN0YXR1c1R5cGU+KCk7XG4gICAgcmVhZG9ubHkgY29udHJvbCA9IGlucHV0PEFic3RyYWN0Q29udHJvbD4oKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBfdGV4dFNlcnZpY2UgPSBpbmplY3QoVGV4dFNlcnZpY2UpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgZ2V0IHBsYWNlaG9sZGVyVGV4dCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGV4dFNlcnZpY2UuZ2V0VGV4dCh0aGlzLnBsYWNlaG9sZGVyKCkpO1xuICAgIH1cbiAgICBnZXQgbGFiZWxUZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl90ZXh0U2VydmljZS5nZXRUZXh0KHRoaXMubGFiZWwoKSk7XG4gICAgfVxuICAgIGdldCBkZXNjcmlwdGlvblRleHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RleHRTZXJ2aWNlLmdldFRleHQodGhpcy5kZXNjcmlwdGlvbigpKTtcbiAgICB9XG4gICAgZ2V0IHZhbGlkYXRpb25TdGF0dXNUZXh0cygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRpb25TdGF0dXNEZXNjcmlwdGlvbnMoKS5tYXAoZGVzYyA9PiB0aGlzLl90ZXh0U2VydmljZS5nZXRUZXh0KGRlc2MpKTtcbiAgICB9XG4gICAgZ2V0IGhpbnRUZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl90ZXh0U2VydmljZS5nZXRUZXh0KHRoaXMuaGludCgpKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICAvLyBTeW5jIEZvcm1Db250cm9sLmRpc2FibGVkIDwtPiBpc0Rpc2FibGVkXG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb250cm9sID0gdGhpcy5jb250cm9sKCk7XG5cbiAgICAgICAgICAgIGlmICghIWNvbnRyb2wpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzRGlzYWJsZWQuc2V0KGNvbnRyb2wuZGlzYWJsZWQpO1xuICAgICAgICAgICAgICAgIGNvbnRyb2wuc3RhdHVzQ2hhbmdlc1xuICAgICAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmlzRGlzYWJsZWQuc2V0KGNvbnRyb2wuZGlzYWJsZWQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gU3luYyBpc0Rpc2FibGVkIC0+IEZvcm1Db250cm9sXG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb250cm9sID0gdGhpcy5jb250cm9sKCk7XG4gICAgICAgICAgICBjb25zdCBpc0Rpc2FibGVkID0gdGhpcy5pc0Rpc2FibGVkKCk7XG5cbiAgICAgICAgICAgIGlmICghIWNvbnRyb2wpIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNEaXNhYmxlZCAmJiAhY29udHJvbC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICBjb250cm9sLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIWlzRGlzYWJsZWQgJiYgY29udHJvbC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICBjb250cm9sLmVuYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBTeW5jIEZvcm1Db250cm9sLnZhbHVlIDwtPiBjb21wb25lbnQgdmFsdWVcbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmNvbnRyb2woKTtcblxuICAgICAgICAgICAgaWYgKCEhY29udHJvbCkge1xuICAgICAgICAgICAgICAgIGNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9nZXRWYWx1ZSgpICE9PSB2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBpZiAoY29udHJvbC52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIGNvbnRyb2wudmFsdWUgIT09IHRoaXMuX2dldFZhbHVlKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlVmFsdWUoY29udHJvbC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIHRoZSB2YWx1ZSBpbiB0aGUgZm9ybSBjb250cm9sLlxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2V0IGluIHRoZSBmb3JtIGNvbnRyb2wuXG4gICAgICogQHBhcmFtIGVtaXRFdmVudCBXaGV0aGVyIHRvIGVtaXQgdGhlIHZhbHVlQ2hhbmdlcyBldmVudC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX3VwZGF0ZUZvcm1Db250cm9sKHZhbHVlOiBhbnksIGVtaXRFdmVudCA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmNvbnRyb2woKTtcblxuICAgICAgICBpZiAoISFjb250cm9sICYmIGNvbnRyb2wudmFsdWUgIT09IHZhbHVlKSB7XG4gICAgICAgICAgICBjb250cm9sLnNldFZhbHVlKHZhbHVlLCB7IGVtaXRFdmVudCB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZXMgdGhlIGNvbXBvbmVudCdzIHZhbHVlLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBfdXBkYXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBjdXJyZW50IGNvbXBvbmVudCB2YWx1ZS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgX2dldFZhbHVlKCk6IGFueTtcbn1cbiJdfQ==
@@ -36,12 +36,12 @@ class BaseControl extends BaseComponent {
36
36
  this.hintTemplate = input();
37
37
  this.hintAsTooltip = input(false);
38
38
  this.validationStatus = input();
39
- this.formControl = input();
39
+ this.control = input();
40
40
  this._textService = inject(TextService);
41
41
  this.destroyRef = inject(DestroyRef);
42
42
  // Sync FormControl.disabled <-> isDisabled
43
43
  effect(() => {
44
- const control = this.formControl();
44
+ const control = this.control();
45
45
  if (!!control) {
46
46
  this.isDisabled.set(control.disabled);
47
47
  control.statusChanges
@@ -51,7 +51,7 @@ class BaseControl extends BaseComponent {
51
51
  });
52
52
  // Sync isDisabled -> FormControl
53
53
  effect(() => {
54
- const control = this.formControl();
54
+ const control = this.control();
55
55
  const isDisabled = this.isDisabled();
56
56
  if (!!control) {
57
57
  if (isDisabled && !control.disabled) {
@@ -64,7 +64,7 @@ class BaseControl extends BaseComponent {
64
64
  });
65
65
  // Sync FormControl.value <-> component value
66
66
  effect(() => {
67
- const control = this.formControl();
67
+ const control = this.control();
68
68
  if (!!control) {
69
69
  control.valueChanges
70
70
  .pipe(takeUntilDestroyed(this.destroyRef))
@@ -85,13 +85,13 @@ class BaseControl extends BaseComponent {
85
85
  * @param emitEvent Whether to emit the valueChanges event.
86
86
  */
87
87
  _updateFormControl(value, emitEvent = false) {
88
- const control = this.formControl();
88
+ const control = this.control();
89
89
  if (!!control && control.value !== value) {
90
90
  control.setValue(value, { emitEvent });
91
91
  }
92
92
  }
93
93
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BaseControl, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
94
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.0", type: BaseControl, inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, validationStatusDescriptions: { classPropertyName: "validationStatusDescriptions", publicName: "validationStatusDescriptions", isSignal: true, isRequired: false, transformFunction: null }, labelColSize: { classPropertyName: "labelColSize", publicName: "labelColSize", isSignal: true, isRequired: false, transformFunction: null }, showValidStatus: { classPropertyName: "showValidStatus", publicName: "showValidStatus", isSignal: true, isRequired: false, transformFunction: null }, isRequired: { classPropertyName: "isRequired", publicName: "isRequired", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, hintTemplate: { classPropertyName: "hintTemplate", publicName: "hintTemplate", isSignal: true, isRequired: false, transformFunction: null }, hintAsTooltip: { classPropertyName: "hintAsTooltip", publicName: "hintAsTooltip", isSignal: true, isRequired: false, transformFunction: null }, validationStatus: { classPropertyName: "validationStatus", publicName: "validationStatus", isSignal: true, isRequired: false, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isDisabled: "isDisabledChange" }, usesInheritance: true, ngImport: i0 }); }
94
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.0", type: BaseControl, inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, validationStatusDescriptions: { classPropertyName: "validationStatusDescriptions", publicName: "validationStatusDescriptions", isSignal: true, isRequired: false, transformFunction: null }, labelColSize: { classPropertyName: "labelColSize", publicName: "labelColSize", isSignal: true, isRequired: false, transformFunction: null }, showValidStatus: { classPropertyName: "showValidStatus", publicName: "showValidStatus", isSignal: true, isRequired: false, transformFunction: null }, isRequired: { classPropertyName: "isRequired", publicName: "isRequired", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, hintTemplate: { classPropertyName: "hintTemplate", publicName: "hintTemplate", isSignal: true, isRequired: false, transformFunction: null }, hintAsTooltip: { classPropertyName: "hintAsTooltip", publicName: "hintAsTooltip", isSignal: true, isRequired: false, transformFunction: null }, validationStatus: { classPropertyName: "validationStatus", publicName: "validationStatus", isSignal: true, isRequired: false, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isDisabled: "isDisabledChange" }, usesInheritance: true, ngImport: i0 }); }
95
95
  }
96
96
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BaseControl, decorators: [{
97
97
  type: Directive,
@@ -1 +1 @@
1
- {"version":3,"file":"updevs-components-form-controls-abstractions.mjs","sources":["../../../../libs/components/form-controls/abstractions/src/base-control.ts","../../../../libs/components/form-controls/abstractions/src/updevs-components-form-controls-abstractions.ts"],"sourcesContent":["import { Directive, inject, TemplateRef, input, effect, model, DestroyRef } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { TextModel, TextService } from '@updevs/sdk';\nimport { Tools } from '@updevs/sdk/core';\nimport { BaseComponent } from '@updevs/sdk/layout';\nimport { RowColumnSize, ValidationStatusType } from '@updevs/components';\n\n@Directive({})\nexport abstract class BaseControl extends BaseComponent {\n readonly name = input<string>(Tools.Guid.generate());\n readonly placeholder = input<TextModel>();\n readonly label = input<TextModel>();\n readonly description = input<TextModel>();\n readonly validationStatusDescriptions = input<TextModel[]>([]);\n readonly labelColSize = input<RowColumnSize>();\n readonly showValidStatus = input(false);\n readonly isRequired = input(false);\n readonly isDisabled = model<boolean>(false);\n readonly hint = input<TextModel>();\n readonly hintTemplate = input<TemplateRef<any>>();\n readonly hintAsTooltip = input(false);\n readonly validationStatus = input<ValidationStatusType>();\n readonly formControl = input<AbstractControl>();\n\n protected readonly _textService = inject(TextService);\n\n private readonly destroyRef = inject(DestroyRef);\n\n get placeholderText(): string {\n return this._textService.getText(this.placeholder());\n }\n get labelText(): string {\n return this._textService.getText(this.label());\n }\n get descriptionText(): string {\n return this._textService.getText(this.description());\n }\n get validationStatusTexts(): string[] {\n return this.validationStatusDescriptions().map(desc => this._textService.getText(desc));\n }\n get hintText(): string {\n return this._textService.getText(this.hint());\n }\n\n constructor() {\n super();\n\n // Sync FormControl.disabled <-> isDisabled\n effect(() => {\n const control = this.formControl();\n\n if (!!control) {\n this.isDisabled.set(control.disabled);\n control.statusChanges\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.isDisabled.set(control.disabled));\n }\n });\n\n // Sync isDisabled -> FormControl\n effect(() => {\n const control = this.formControl();\n const isDisabled = this.isDisabled();\n\n if (!!control) {\n if (isDisabled && !control.disabled) {\n control.disable({ emitEvent: false });\n } else if (!isDisabled && control.disabled) {\n control.enable({ emitEvent: false });\n }\n }\n });\n\n // Sync FormControl.value <-> component value\n effect(() => {\n const control = this.formControl();\n\n if (!!control) {\n control.valueChanges\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(value => {\n if (this._getValue() !== value) {\n this._updateValue(value);\n }\n });\n\n if (control.value !== undefined && control.value !== this._getValue()) {\n this._updateValue(control.value);\n }\n }\n });\n }\n\n /**\n * Updates the value in the form control.\n * @param value The value to set in the form control.\n * @param emitEvent Whether to emit the valueChanges event.\n */\n protected _updateFormControl(value: any, emitEvent = false): void {\n const control = this.formControl();\n\n if (!!control && control.value !== value) {\n control.setValue(value, { emitEvent });\n }\n }\n\n /**\n * Updates the component's value.\n */\n protected abstract _updateValue(value: any): void;\n\n /**\n * Gets the current component value.\n */\n protected abstract _getValue(): any;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updevs-components-form-controls-abstractions.mjs","sources":["../../../../libs/components/form-controls/abstractions/src/base-control.ts","../../../../libs/components/form-controls/abstractions/src/updevs-components-form-controls-abstractions.ts"],"sourcesContent":["import { Directive, inject, TemplateRef, input, effect, model, DestroyRef } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { TextModel, TextService } from '@updevs/sdk';\nimport { Tools } from '@updevs/sdk/core';\nimport { BaseComponent } from '@updevs/sdk/layout';\nimport { RowColumnSize, ValidationStatusType } from '@updevs/components';\n\n@Directive({})\nexport abstract class BaseControl extends BaseComponent {\n readonly name = input<string>(Tools.Guid.generate());\n readonly placeholder = input<TextModel>();\n readonly label = input<TextModel>();\n readonly description = input<TextModel>();\n readonly validationStatusDescriptions = input<TextModel[]>([]);\n readonly labelColSize = input<RowColumnSize>();\n readonly showValidStatus = input(false);\n readonly isRequired = input(false);\n readonly isDisabled = model<boolean>(false);\n readonly hint = input<TextModel>();\n readonly hintTemplate = input<TemplateRef<any>>();\n readonly hintAsTooltip = input(false);\n readonly validationStatus = input<ValidationStatusType>();\n readonly control = input<AbstractControl>();\n\n protected readonly _textService = inject(TextService);\n\n private readonly destroyRef = inject(DestroyRef);\n\n get placeholderText(): string {\n return this._textService.getText(this.placeholder());\n }\n get labelText(): string {\n return this._textService.getText(this.label());\n }\n get descriptionText(): string {\n return this._textService.getText(this.description());\n }\n get validationStatusTexts(): string[] {\n return this.validationStatusDescriptions().map(desc => this._textService.getText(desc));\n }\n get hintText(): string {\n return this._textService.getText(this.hint());\n }\n\n constructor() {\n super();\n\n // Sync FormControl.disabled <-> isDisabled\n effect(() => {\n const control = this.control();\n\n if (!!control) {\n this.isDisabled.set(control.disabled);\n control.statusChanges\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.isDisabled.set(control.disabled));\n }\n });\n\n // Sync isDisabled -> FormControl\n effect(() => {\n const control = this.control();\n const isDisabled = this.isDisabled();\n\n if (!!control) {\n if (isDisabled && !control.disabled) {\n control.disable({ emitEvent: false });\n } else if (!isDisabled && control.disabled) {\n control.enable({ emitEvent: false });\n }\n }\n });\n\n // Sync FormControl.value <-> component value\n effect(() => {\n const control = this.control();\n\n if (!!control) {\n control.valueChanges\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(value => {\n if (this._getValue() !== value) {\n this._updateValue(value);\n }\n });\n\n if (control.value !== undefined && control.value !== this._getValue()) {\n this._updateValue(control.value);\n }\n }\n });\n }\n\n /**\n * Updates the value in the form control.\n * @param value The value to set in the form control.\n * @param emitEvent Whether to emit the valueChanges event.\n */\n protected _updateFormControl(value: any, emitEvent = false): void {\n const control = this.control();\n\n if (!!control && control.value !== value) {\n control.setValue(value, { emitEvent });\n }\n }\n\n /**\n * Updates the component's value.\n */\n protected abstract _updateValue(value: any): void;\n\n /**\n * Gets the current component value.\n */\n protected abstract _getValue(): any;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ export declare abstract class BaseControl extends BaseComponent {
19
19
  readonly hintTemplate: import("@angular/core").InputSignal<TemplateRef<any> | undefined>;
20
20
  readonly hintAsTooltip: import("@angular/core").InputSignal<boolean>;
21
21
  readonly validationStatus: import("@angular/core").InputSignal<ValidationStatusType | undefined>;
22
- readonly formControl: import("@angular/core").InputSignal<AbstractControl<any, any> | undefined>;
22
+ readonly control: import("@angular/core").InputSignal<AbstractControl<any, any> | undefined>;
23
23
  protected readonly _textService: TextService;
24
24
  private readonly destroyRef;
25
25
  get placeholderText(): string;
@@ -43,5 +43,5 @@ export declare abstract class BaseControl extends BaseComponent {
43
43
  */
44
44
  protected abstract _getValue(): any;
45
45
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseControl, never>;
46
- static ɵdir: i0.ɵɵDirectiveDeclaration<BaseControl, never, never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "validationStatusDescriptions": { "alias": "validationStatusDescriptions"; "required": false; "isSignal": true; }; "labelColSize": { "alias": "labelColSize"; "required": false; "isSignal": true; }; "showValidStatus": { "alias": "showValidStatus"; "required": false; "isSignal": true; }; "isRequired": { "alias": "isRequired"; "required": false; "isSignal": true; }; "isDisabled": { "alias": "isDisabled"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "hintTemplate": { "alias": "hintTemplate"; "required": false; "isSignal": true; }; "hintAsTooltip": { "alias": "hintAsTooltip"; "required": false; "isSignal": true; }; "validationStatus": { "alias": "validationStatus"; "required": false; "isSignal": true; }; "formControl": { "alias": "formControl"; "required": false; "isSignal": true; }; }, { "isDisabled": "isDisabledChange"; }, never, never, false, never>;
46
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BaseControl, never, never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "validationStatusDescriptions": { "alias": "validationStatusDescriptions"; "required": false; "isSignal": true; }; "labelColSize": { "alias": "labelColSize"; "required": false; "isSignal": true; }; "showValidStatus": { "alias": "showValidStatus"; "required": false; "isSignal": true; }; "isRequired": { "alias": "isRequired"; "required": false; "isSignal": true; }; "isDisabled": { "alias": "isDisabled"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "hintTemplate": { "alias": "hintTemplate"; "required": false; "isSignal": true; }; "hintAsTooltip": { "alias": "hintAsTooltip"; "required": false; "isSignal": true; }; "validationStatus": { "alias": "validationStatus"; "required": false; "isSignal": true; }; "control": { "alias": "control"; "required": false; "isSignal": true; }; }, { "isDisabled": "isDisabledChange"; }, never, never, false, never>;
47
47
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@updevs/components",
3
- "version": "1.0.0-alpha.83",
3
+ "version": "1.0.0-alpha.84",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.0.1 || ^19.0.0",
6
6
  "@angular/core": "^18.0.1 || ^19.0.0",
@@ -34,18 +34,6 @@
34
34
  "esm": "./esm2022/badge/updevs-components-badge.mjs",
35
35
  "default": "./fesm2022/updevs-components-badge.mjs"
36
36
  },
37
- "./card": {
38
- "types": "./card/index.d.ts",
39
- "esm2022": "./esm2022/card/updevs-components-card.mjs",
40
- "esm": "./esm2022/card/updevs-components-card.mjs",
41
- "default": "./fesm2022/updevs-components-card.mjs"
42
- },
43
- "./button": {
44
- "types": "./button/index.d.ts",
45
- "esm2022": "./esm2022/button/updevs-components-button.mjs",
46
- "esm": "./esm2022/button/updevs-components-button.mjs",
47
- "default": "./fesm2022/updevs-components-button.mjs"
48
- },
49
37
  "./calendar": {
50
38
  "types": "./calendar/index.d.ts",
51
39
  "esm2022": "./esm2022/calendar/updevs-components-calendar.mjs",
@@ -58,6 +46,18 @@
58
46
  "esm": "./esm2022/drag-and-drop/updevs-components-drag-and-drop.mjs",
59
47
  "default": "./fesm2022/updevs-components-drag-and-drop.mjs"
60
48
  },
49
+ "./button": {
50
+ "types": "./button/index.d.ts",
51
+ "esm2022": "./esm2022/button/updevs-components-button.mjs",
52
+ "esm": "./esm2022/button/updevs-components-button.mjs",
53
+ "default": "./fesm2022/updevs-components-button.mjs"
54
+ },
55
+ "./card": {
56
+ "types": "./card/index.d.ts",
57
+ "esm2022": "./esm2022/card/updevs-components-card.mjs",
58
+ "esm": "./esm2022/card/updevs-components-card.mjs",
59
+ "default": "./fesm2022/updevs-components-card.mjs"
60
+ },
61
61
  "./dropdown": {
62
62
  "types": "./dropdown/index.d.ts",
63
63
  "esm2022": "./esm2022/dropdown/updevs-components-dropdown.mjs",
@@ -82,18 +82,18 @@
82
82
  "esm": "./esm2022/link/updevs-components-link.mjs",
83
83
  "default": "./fesm2022/updevs-components-link.mjs"
84
84
  },
85
- "./list": {
86
- "types": "./list/index.d.ts",
87
- "esm2022": "./esm2022/list/updevs-components-list.mjs",
88
- "esm": "./esm2022/list/updevs-components-list.mjs",
89
- "default": "./fesm2022/updevs-components-list.mjs"
90
- },
91
85
  "./modal": {
92
86
  "types": "./modal/index.d.ts",
93
87
  "esm2022": "./esm2022/modal/updevs-components-modal.mjs",
94
88
  "esm": "./esm2022/modal/updevs-components-modal.mjs",
95
89
  "default": "./fesm2022/updevs-components-modal.mjs"
96
90
  },
91
+ "./list": {
92
+ "types": "./list/index.d.ts",
93
+ "esm2022": "./esm2022/list/updevs-components-list.mjs",
94
+ "esm": "./esm2022/list/updevs-components-list.mjs",
95
+ "default": "./fesm2022/updevs-components-list.mjs"
96
+ },
97
97
  "./paginator": {
98
98
  "types": "./paginator/index.d.ts",
99
99
  "esm2022": "./esm2022/paginator/updevs-components-paginator.mjs",