bit-ng-library 19.0.16 → 19.0.17

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.
package/README.md CHANGED
@@ -26,6 +26,11 @@ To get more help on the Angular CLI use `ng help` or go check out the [Angular C
26
26
 
27
27
  ## changelog
28
28
 
29
+ ## [19.0.17] - 2025-07-16
30
+
31
+ El bit-autocomplete permite especificar una plantilla "itemTemplate" para personalizar la forma en que se muestran los elementos de la lista desplegable.
32
+ (ver proyecto demo para ejemplos de uso)
33
+
29
34
  ## [19.0.16] - 2025-07-11
30
35
 
31
36
  Corregido error en MessageService.hideNotificacionPanel().
@@ -1,6 +1,6 @@
1
1
  import { Subject, BehaviorSubject, lastValueFrom, of, ReplaySubject, combineLatest, forkJoin, fromEvent, throwError } from 'rxjs';
2
2
  import * as i0 from '@angular/core';
3
- import { Injectable, inject, signal, EventEmitter, computed, Inject, DestroyRef, Directive, Input, ChangeDetectionStrategy, Component, Pipe, input, model, output, Output, HostListener, ViewChild, forwardRef, ContentChild, ElementRef, effect, NgModule } from '@angular/core';
3
+ import { Injectable, inject, signal, EventEmitter, computed, Inject, DestroyRef, Directive, Input, ChangeDetectionStrategy, Component, Pipe, input, model, output, Output, HostListener, ViewChild, forwardRef, TemplateRef, ContentChild, ElementRef, effect, NgModule } from '@angular/core';
4
4
  import { map, mergeMap, tap, takeUntil, startWith, delay, filter, concatMap, take, switchMapTo, catchError, finalize } from 'rxjs/operators';
5
5
  import { PrimeNG } from 'primeng/config';
6
6
  import Aura from '@primeng/themes/aura';
@@ -21,7 +21,7 @@ import * as i3$6 from 'primeng/datepicker';
21
21
  import { DatePickerModule } from 'primeng/datepicker';
22
22
  import * as i2$2 from 'primeng/inputtext';
23
23
  import { InputTextModule } from 'primeng/inputtext';
24
- import * as i2$5 from 'primeng/editor';
24
+ import * as i2$6 from 'primeng/editor';
25
25
  import { EditorModule } from 'primeng/editor';
26
26
  import * as i4$1 from 'primeng/multiselect';
27
27
  import { MultiSelectModule } from 'primeng/multiselect';
@@ -37,7 +37,7 @@ import { TabsModule } from 'primeng/tabs';
37
37
  import * as i3$1 from 'primeng/dialog';
38
38
  import { DialogModule } from 'primeng/dialog';
39
39
  import { AccordionModule } from 'primeng/accordion';
40
- import * as i1$4 from 'primeng/autocomplete';
40
+ import * as i2$5 from 'primeng/autocomplete';
41
41
  import { AutoCompleteModule } from 'primeng/autocomplete';
42
42
  import * as i2$4 from 'primeng/toggleswitch';
43
43
  import { ToggleSwitchModule } from 'primeng/toggleswitch';
@@ -53,7 +53,7 @@ import * as i5$1 from 'primeng/table';
53
53
  import { TableModule } from 'primeng/table';
54
54
  import { TreeModule } from 'primeng/tree';
55
55
  import { DynamicDialogModule } from 'primeng/dynamicdialog';
56
- import * as i1$5 from 'primeng/inputnumber';
56
+ import * as i1$4 from 'primeng/inputnumber';
57
57
  import { InputNumberModule } from 'primeng/inputnumber';
58
58
  import { FieldsetModule } from 'primeng/fieldset';
59
59
  import * as i3$4 from 'primeng/toast';
@@ -75,7 +75,7 @@ import { TieredMenuModule } from 'primeng/tieredmenu';
75
75
  import { InputMaskModule } from 'primeng/inputmask';
76
76
  import { InputGroupAddonModule } from 'primeng/inputgroupaddon';
77
77
  import { InputGroupModule } from 'primeng/inputgroup';
78
- import * as i2$6 from 'primeng/selectbutton';
78
+ import * as i2$7 from 'primeng/selectbutton';
79
79
  import { SelectButtonModule } from 'primeng/selectbutton';
80
80
  import * as i4 from 'primeng/ripple';
81
81
  import { RippleModule } from 'primeng/ripple';
@@ -4275,16 +4275,34 @@ class BitAutoCompleteComponent extends BitCustomComponent {
4275
4275
  super(...arguments);
4276
4276
  this.multiple = false;
4277
4277
  this.id = "id";
4278
+ this.customTemplate = false; // si se usa un template personalizado para mostrar los items
4278
4279
  this.completeMethod = new EventEmitter();
4279
4280
  this.onSelect = new EventEmitter();
4280
4281
  this.onClear = new EventEmitter();
4281
4282
  }
4283
+ ngAfterViewInit() {
4284
+ // Control de errores:
4285
+ // 1. Si se quiere usar una template personalizada, se debe especificar el input customTemplate.
4286
+ // 2. Si se usa customTemplate, se debe especificar el input suggestionField para poder mapear el objeto en el campo de texto.
4287
+ // 3. Si se usa itemTemplate, se debe especificar customTemplate a true. (warning)
4288
+ if (this.customTemplate && !this.itemTemplate) {
4289
+ throw new Error("BitAutoCompleteComponent: Si se especifica el input customTemplate se debe proporcionar una template a través de '<ng-template #itemTemplate let-item>'");
4290
+ }
4291
+ else if (this.customTemplate && !this.suggestionField) {
4292
+ throw new Error("BitAutoCompleteComponent: Si se especifica el input customTemplate, se debe especificar el input suggestionField para poder mapear el objeto en el campo de texto cuando elijamos uno de la lista.");
4293
+ }
4294
+ else if (!this.customTemplate && this.itemTemplate) {
4295
+ console.warn("BitAutoCompleteComponent: Se ha proporcionado una template personalizada a través de 'itemTemplate', pero se está pasando de ella. Para usarla, debe establecer customTemplate a true.");
4296
+ }
4297
+ }
4282
4298
  ngOnChanges(changes) {
4283
4299
  for (let propName in changes) {
4284
4300
  if (propName === "suggestions") {
4285
4301
  let changedProp = changes[propName];
4286
4302
  let newList = changedProp.currentValue;
4287
- this.suggestions_mapped = newList && newList.map((obj) => (obj instanceof Object ? obj[this.suggestionField] : obj));
4303
+ // El mapeo tiene que ser con todo el objeto, no solo con el campo suggestionField, porque si se usa un template personalizado
4304
+ // se necesita el objeto completo para poder pasarlos a la template y que se pinte correctamente.
4305
+ this.suggestions_mapped = newList && newList.map((obj) => ((obj instanceof Object && !this.customTemplate) ? obj[this.suggestionField] : obj));
4288
4306
  //console.log("newList", this.suggestions_mapped);
4289
4307
  }
4290
4308
  }
@@ -4349,16 +4367,22 @@ class BitAutoCompleteComponent extends BitCustomComponent {
4349
4367
  this.onClear.emit();
4350
4368
  }
4351
4369
  _findObject(value) {
4352
- return value && this.suggestions.find((obj) => obj[this.suggestionField] === value);
4370
+ // Si se usa un template personalizado, devolvemos el valor directamente, porque ya estará allí, no hace falta buscarlo en la lista de sugerencias
4371
+ if (this.customTemplate) {
4372
+ return this.value;
4373
+ }
4374
+ else {
4375
+ return value && this.suggestions.find((obj) => obj[this.suggestionField] === value);
4376
+ }
4353
4377
  }
4354
4378
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: BitAutoCompleteComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4355
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: BitAutoCompleteComponent, isStandalone: false, selector: "bit-autocomplete", inputs: { suggestions: "suggestions", suggestionField: "suggestionField", multiple: "multiple", inputStyleClass: "inputStyleClass", id: "id", displayValue: "displayValue" }, outputs: { completeMethod: "completeMethod", onSelect: "onSelect", onClear: "onClear" }, providers: [
4379
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: BitAutoCompleteComponent, isStandalone: false, selector: "bit-autocomplete", inputs: { suggestions: "suggestions", suggestionField: "suggestionField", multiple: "multiple", inputStyleClass: "inputStyleClass", id: "id", displayValue: "displayValue", customTemplate: "customTemplate" }, outputs: { completeMethod: "completeMethod", onSelect: "onSelect", onClear: "onClear" }, providers: [
4356
4380
  {
4357
4381
  provide: NG_VALUE_ACCESSOR,
4358
4382
  useExisting: forwardRef(() => BitAutoCompleteComponent),
4359
4383
  multi: true
4360
4384
  }
4361
- ], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (!hideLabel) {\r\n <label>\r\n <ng-content></ng-content>&nbsp;@if (obligatorio) {\r\n <span class=\"obligatorio fa fa-asterisk\"></span>\r\n }&nbsp;&nbsp;\r\n @if (ayuda) {\r\n <i class=\"btn-ayuda fa fa-question\" (click)=\"showAyuda()\"></i>\r\n }\r\n </label>\r\n}\r\n@if (readOnly) {\r\n <p class=\"lectura\" [id]=\"nombre\">{{ value_lectura }}</p>\r\n}\r\n@if (!readOnly) {\r\n <p-autoComplete\r\n [(ngModel)]=\"value\"\r\n id=\"{{ nombre }}\"\r\n name=\"{{ nombre }}\"\r\n [disabled]=\"isDisabled\"\r\n [placeholder]=\"placeholder\"\r\n delay=\"400\"\r\n [suggestions]=\"suggestions_mapped\"\r\n [multiple]=\"multiple\"\r\n [inputStyleClass]=\"inputStyleClass\"\r\n appendTo=\"body\"\r\n (completeMethod)=\"search($event)\"\r\n (onSelect)=\"_onSelect($event)\"\r\n (onClear)=\"_onClear()\"\r\n (onBlur)=\"_onBlur()\"\r\n (onFocus)=\"_onFocus()\"\r\n attr.data-testid=\"{{ dataTestId }}\"\r\n ></p-autoComplete>\r\n}\r\n@if (control != null) {\r\n <control-messages [control]=\"control\" [field]=\"nombre\"></control-messages>\r\n}\r\n", dependencies: [{ kind: "component", type: i1$4.AutoComplete, selector: "p-autoComplete, p-autocomplete, p-auto-complete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "itemSize", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "typeahead", "variant", "fluid"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: BitControlMessages, selector: "control-messages", inputs: ["control", "field"] }] }); }
4385
+ ], queries: [{ propertyName: "itemTemplate", first: true, predicate: ["itemTemplate"], descendants: true, read: TemplateRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (!hideLabel) {\r\n <label>\r\n <ng-content></ng-content>&nbsp;\r\n @if (obligatorio) {\r\n <span class=\"obligatorio fa fa-asterisk\"></span>\r\n }&nbsp;&nbsp;\r\n @if (ayuda) {\r\n <i class=\"btn-ayuda fa fa-question\" (click)=\"showAyuda()\"></i>\r\n }\r\n </label>\r\n}\r\n@if (readOnly) {\r\n <p class=\"lectura\" [id]=\"nombre\">{{ value_lectura }}</p>\r\n}\r\n@if (!readOnly) {\r\n <!-- Si usamos un template personalizado, hay que indicar el optionLabel para que sepa cu\u00E1l es el campo a mostrar al seleccionar un elemento -->\r\n <p-autoComplete\r\n [(ngModel)]=\"value\"\r\n id=\"{{ nombre }}\"\r\n name=\"{{ nombre }}\"\r\n [disabled]=\"isDisabled\"\r\n [placeholder]=\"placeholder\"\r\n [delay]=\"400\"\r\n [suggestions]=\"suggestions_mapped\"\r\n [multiple]=\"multiple\"\r\n [inputStyleClass]=\"inputStyleClass\"\r\n optionLabel=\"{{ customTemplate ? this.suggestionField : '' }}\"\r\n appendTo=\"body\"\r\n (completeMethod)=\"search($event)\"\r\n (onSelect)=\"_onSelect($event)\"\r\n (onClear)=\"_onClear()\"\r\n (onBlur)=\"_onBlur()\"\r\n (onFocus)=\"_onFocus()\"\r\n attr.data-testid=\"{{ dataTestId }}\"\r\n >\r\n @if (customTemplate && itemTemplate) {\r\n <ng-template pTemplate=\"item\" let-item>\r\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\r\n </ng-template>\r\n }\r\n </p-autoComplete>\r\n}\r\n@if (control != null) {\r\n <control-messages [control]=\"control\" [field]=\"nombre\"></control-messages>\r\n}\r\n", dependencies: [{ kind: "directive", type: i2$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i2$5.AutoComplete, selector: "p-autoComplete, p-autocomplete, p-auto-complete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "itemSize", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "typeahead", "variant", "fluid"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: BitControlMessages, selector: "control-messages", inputs: ["control", "field"] }] }); }
4362
4386
  }
4363
4387
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: BitAutoCompleteComponent, decorators: [{
4364
4388
  type: Component,
@@ -4368,7 +4392,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
4368
4392
  useExisting: forwardRef(() => BitAutoCompleteComponent),
4369
4393
  multi: true
4370
4394
  }
4371
- ], standalone: false, template: "@if (!hideLabel) {\r\n <label>\r\n <ng-content></ng-content>&nbsp;@if (obligatorio) {\r\n <span class=\"obligatorio fa fa-asterisk\"></span>\r\n }&nbsp;&nbsp;\r\n @if (ayuda) {\r\n <i class=\"btn-ayuda fa fa-question\" (click)=\"showAyuda()\"></i>\r\n }\r\n </label>\r\n}\r\n@if (readOnly) {\r\n <p class=\"lectura\" [id]=\"nombre\">{{ value_lectura }}</p>\r\n}\r\n@if (!readOnly) {\r\n <p-autoComplete\r\n [(ngModel)]=\"value\"\r\n id=\"{{ nombre }}\"\r\n name=\"{{ nombre }}\"\r\n [disabled]=\"isDisabled\"\r\n [placeholder]=\"placeholder\"\r\n delay=\"400\"\r\n [suggestions]=\"suggestions_mapped\"\r\n [multiple]=\"multiple\"\r\n [inputStyleClass]=\"inputStyleClass\"\r\n appendTo=\"body\"\r\n (completeMethod)=\"search($event)\"\r\n (onSelect)=\"_onSelect($event)\"\r\n (onClear)=\"_onClear()\"\r\n (onBlur)=\"_onBlur()\"\r\n (onFocus)=\"_onFocus()\"\r\n attr.data-testid=\"{{ dataTestId }}\"\r\n ></p-autoComplete>\r\n}\r\n@if (control != null) {\r\n <control-messages [control]=\"control\" [field]=\"nombre\"></control-messages>\r\n}\r\n" }]
4395
+ ], standalone: false, template: "@if (!hideLabel) {\r\n <label>\r\n <ng-content></ng-content>&nbsp;\r\n @if (obligatorio) {\r\n <span class=\"obligatorio fa fa-asterisk\"></span>\r\n }&nbsp;&nbsp;\r\n @if (ayuda) {\r\n <i class=\"btn-ayuda fa fa-question\" (click)=\"showAyuda()\"></i>\r\n }\r\n </label>\r\n}\r\n@if (readOnly) {\r\n <p class=\"lectura\" [id]=\"nombre\">{{ value_lectura }}</p>\r\n}\r\n@if (!readOnly) {\r\n <!-- Si usamos un template personalizado, hay que indicar el optionLabel para que sepa cu\u00E1l es el campo a mostrar al seleccionar un elemento -->\r\n <p-autoComplete\r\n [(ngModel)]=\"value\"\r\n id=\"{{ nombre }}\"\r\n name=\"{{ nombre }}\"\r\n [disabled]=\"isDisabled\"\r\n [placeholder]=\"placeholder\"\r\n [delay]=\"400\"\r\n [suggestions]=\"suggestions_mapped\"\r\n [multiple]=\"multiple\"\r\n [inputStyleClass]=\"inputStyleClass\"\r\n optionLabel=\"{{ customTemplate ? this.suggestionField : '' }}\"\r\n appendTo=\"body\"\r\n (completeMethod)=\"search($event)\"\r\n (onSelect)=\"_onSelect($event)\"\r\n (onClear)=\"_onClear()\"\r\n (onBlur)=\"_onBlur()\"\r\n (onFocus)=\"_onFocus()\"\r\n attr.data-testid=\"{{ dataTestId }}\"\r\n >\r\n @if (customTemplate && itemTemplate) {\r\n <ng-template pTemplate=\"item\" let-item>\r\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\r\n </ng-template>\r\n }\r\n </p-autoComplete>\r\n}\r\n@if (control != null) {\r\n <control-messages [control]=\"control\" [field]=\"nombre\"></control-messages>\r\n}\r\n" }]
4372
4396
  }], propDecorators: { suggestions: [{
4373
4397
  type: Input
4374
4398
  }], suggestionField: [{
@@ -4381,12 +4405,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
4381
4405
  type: Input
4382
4406
  }], displayValue: [{
4383
4407
  type: Input
4408
+ }], customTemplate: [{
4409
+ type: Input
4384
4410
  }], completeMethod: [{
4385
4411
  type: Output
4386
4412
  }], onSelect: [{
4387
4413
  type: Output
4388
4414
  }], onClear: [{
4389
4415
  type: Output
4416
+ }], itemTemplate: [{
4417
+ type: ContentChild,
4418
+ args: ['itemTemplate', { read: TemplateRef }]
4390
4419
  }] } });
4391
4420
 
4392
4421
  /**
@@ -4763,7 +4792,7 @@ class BitEditorComponent extends BitCustomComponent {
4763
4792
  provide: NG_VALUE_ACCESSOR,
4764
4793
  useExisting: forwardRef(() => BitEditorComponent),
4765
4794
  multi: true
4766
- }], usesInheritance: true, ngImport: i0, template: "@if (!hideLabel) {\r\n <label>\r\n <ng-content></ng-content>&nbsp; @if (obligatorio) {\r\n <span class=\"obligatorio fa fa-asterisk\"></span>\r\n }&nbsp;&nbsp;\r\n @if (ayuda) {\r\n <i class=\"btn-ayuda fa fa-question\" (click)=\"showAyuda()\"></i>\r\n }\r\n </label>\r\n}\r\n@if (readOnly) {\r\n <p class=\"lectura\">\r\n {{ value_lectura && value_lectura != \"\" ? value_lectura : \"&nbsp;\" }}\r\n </p>\r\n}\r\n@if (!readOnly && tipo == 'custom') {\r\n <p-editor\r\n id=\"{{ nombre }}\"\r\n name=\"{{ nombre }}\"\r\n [ngModel]=\"value\"\r\n styleClass=\"editor\"\r\n [disabled]=\"isDisabled\"\r\n [placeholder]=\"placeholder\"\r\n [style]=\"{ height: height + 'px' }\"\r\n (onInit)=\"onInit($event)\"\r\n (ngModelChange)=\"onChangeValue($event)\"\r\n (onTextChange)=\"_onTextChange($event)\"\r\n attr.data-testid=\"{{ dataTestId }}\"\r\n >\r\n <p-header>\r\n @if (configuracion.fontSize) {\r\n <span class=\"ql-formats\">\r\n <select class=\"ql-size\">\r\n <option value=\"small\">{{ \"bitnglibrary.form.biteditor.small\" | transloco }}</option>\r\n <!-- Note a missing, thus falsy value, is used to reset to default -->\r\n <option selected>{{ \"bitnglibrary.form.biteditor.normal\" | transloco }}</option>\r\n <option value=\"large\">{{ \"bitnglibrary.form.biteditor.large\" | transloco }}</option>\r\n <option value=\"huge\">{{ \"bitnglibrary.form.biteditor.huge\" | transloco }}</option>\r\n </select>\r\n </span>\r\n }\r\n @if (configuracion.fontFormat) {\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-bold\" aria-label=\"Bold\"></button>\r\n <button class=\"ql-italic\" aria-label=\"Italic\"></button>\r\n <button class=\"ql-underline\" aria-label=\"Underline\"></button>\r\n <button class=\"ql-strike\" aria-label=\"Strikethrough\"></button>\r\n </span>\r\n }\r\n @if (configuracion.bullet) {\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-list\" value=\"ordered\" type=\"button\"></button>\r\n <button class=\"ql-list\" value=\"bullet\" type=\"button\"></button>\r\n </span>\r\n }\r\n @if (configuracion.link) {\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-link\" aria-label=\"Insert Link\" type=\"button\"></button>\r\n </span>\r\n }\r\n </p-header>\r\n </p-editor>\r\n}\r\n@if (!readOnly && (!tipo || tipo == 'default')) {\r\n <p-editor\r\n id=\"{{ nombre }}\"\r\n name=\"{{ nombre }}\"\r\n [ngModel]=\"value\"\r\n styleClass=\"editor\"\r\n [placeholder]=\"placeholder\"\r\n [placeholder]=\"placeholder\"\r\n [style]=\"{ height: height + 'px' }\"\r\n (ngModelChange)=\"onChangeValue($event)\"\r\n attr.data-testid=\"{{ dataTestId }}\"\r\n >\r\n </p-editor>\r\n}\r\n@if (control != null) {\r\n <control-messages [control]=\"control\" [field]=\"nombre\"></control-messages>\r\n}\r\n", dependencies: [{ kind: "component", type: i2$1.Header, selector: "p-header" }, { kind: "component", type: i2$5.Editor, selector: "p-editor", inputs: ["style", "styleClass", "placeholder", "formats", "modules", "bounds", "scrollingContainer", "debug", "readonly"], outputs: ["onInit", "onTextChange", "onSelectionChange"] }, { kind: "directive", type: i1$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: FocusRegisterDirective, selector: "input,select,textarea,bit-input,bit-select" }, { kind: "component", type: BitControlMessages, selector: "control-messages", inputs: ["control", "field"] }, { kind: "pipe", type: i5.TranslocoPipe, name: "transloco" }] }); }
4795
+ }], usesInheritance: true, ngImport: i0, template: "@if (!hideLabel) {\r\n <label>\r\n <ng-content></ng-content>&nbsp; @if (obligatorio) {\r\n <span class=\"obligatorio fa fa-asterisk\"></span>\r\n }&nbsp;&nbsp;\r\n @if (ayuda) {\r\n <i class=\"btn-ayuda fa fa-question\" (click)=\"showAyuda()\"></i>\r\n }\r\n </label>\r\n}\r\n@if (readOnly) {\r\n <p class=\"lectura\">\r\n {{ value_lectura && value_lectura != \"\" ? value_lectura : \"&nbsp;\" }}\r\n </p>\r\n}\r\n@if (!readOnly && tipo == 'custom') {\r\n <p-editor\r\n id=\"{{ nombre }}\"\r\n name=\"{{ nombre }}\"\r\n [ngModel]=\"value\"\r\n styleClass=\"editor\"\r\n [disabled]=\"isDisabled\"\r\n [placeholder]=\"placeholder\"\r\n [style]=\"{ height: height + 'px' }\"\r\n (onInit)=\"onInit($event)\"\r\n (ngModelChange)=\"onChangeValue($event)\"\r\n (onTextChange)=\"_onTextChange($event)\"\r\n attr.data-testid=\"{{ dataTestId }}\"\r\n >\r\n <p-header>\r\n @if (configuracion.fontSize) {\r\n <span class=\"ql-formats\">\r\n <select class=\"ql-size\">\r\n <option value=\"small\">{{ \"bitnglibrary.form.biteditor.small\" | transloco }}</option>\r\n <!-- Note a missing, thus falsy value, is used to reset to default -->\r\n <option selected>{{ \"bitnglibrary.form.biteditor.normal\" | transloco }}</option>\r\n <option value=\"large\">{{ \"bitnglibrary.form.biteditor.large\" | transloco }}</option>\r\n <option value=\"huge\">{{ \"bitnglibrary.form.biteditor.huge\" | transloco }}</option>\r\n </select>\r\n </span>\r\n }\r\n @if (configuracion.fontFormat) {\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-bold\" aria-label=\"Bold\"></button>\r\n <button class=\"ql-italic\" aria-label=\"Italic\"></button>\r\n <button class=\"ql-underline\" aria-label=\"Underline\"></button>\r\n <button class=\"ql-strike\" aria-label=\"Strikethrough\"></button>\r\n </span>\r\n }\r\n @if (configuracion.bullet) {\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-list\" value=\"ordered\" type=\"button\"></button>\r\n <button class=\"ql-list\" value=\"bullet\" type=\"button\"></button>\r\n </span>\r\n }\r\n @if (configuracion.link) {\r\n <span class=\"ql-formats\">\r\n <button class=\"ql-link\" aria-label=\"Insert Link\" type=\"button\"></button>\r\n </span>\r\n }\r\n </p-header>\r\n </p-editor>\r\n}\r\n@if (!readOnly && (!tipo || tipo == 'default')) {\r\n <p-editor\r\n id=\"{{ nombre }}\"\r\n name=\"{{ nombre }}\"\r\n [ngModel]=\"value\"\r\n styleClass=\"editor\"\r\n [placeholder]=\"placeholder\"\r\n [placeholder]=\"placeholder\"\r\n [style]=\"{ height: height + 'px' }\"\r\n (ngModelChange)=\"onChangeValue($event)\"\r\n attr.data-testid=\"{{ dataTestId }}\"\r\n >\r\n </p-editor>\r\n}\r\n@if (control != null) {\r\n <control-messages [control]=\"control\" [field]=\"nombre\"></control-messages>\r\n}\r\n", dependencies: [{ kind: "component", type: i2$1.Header, selector: "p-header" }, { kind: "component", type: i2$6.Editor, selector: "p-editor", inputs: ["style", "styleClass", "placeholder", "formats", "modules", "bounds", "scrollingContainer", "debug", "readonly"], outputs: ["onInit", "onTextChange", "onSelectionChange"] }, { kind: "directive", type: i1$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: FocusRegisterDirective, selector: "input,select,textarea,bit-input,bit-select" }, { kind: "component", type: BitControlMessages, selector: "control-messages", inputs: ["control", "field"] }, { kind: "pipe", type: i5.TranslocoPipe, name: "transloco" }] }); }
4767
4796
  }
4768
4797
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: BitEditorComponent, decorators: [{
4769
4798
  type: Component,
@@ -5037,7 +5066,7 @@ class BitNumberComponent extends BitCustomComponent {
5037
5066
  provide: NG_VALUE_ACCESSOR,
5038
5067
  useExisting: forwardRef(() => BitNumberComponent),
5039
5068
  multi: true
5040
- }], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputReference"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "@if (!hideLabel) {\r\n <label>\r\n <ng-content></ng-content>&nbsp;@if (obligatorio) {\r\n <span class=\"obligatorio fa fa-asterisk\"></span>\r\n }&nbsp;&nbsp;\r\n @if (ayuda) {\r\n <i class=\"btn-ayuda fa fa-question\" (click)=\"showAyuda()\"></i>\r\n }\r\n </label>\r\n}\r\n@if (readOnly) {\r\n <p class=\"lectura\" [id]=\"nombre\">{{ value_lectura }}</p>\r\n}\r\n@if (!tooltipTexto && !readOnly) {\r\n <p-inputNumber\r\n #inputReference\r\n id=\"{{ nombre }}\"\r\n name=\"{{ nombre }}\"\r\n [disabled]=\"isDisabled\"\r\n [ngModel]=\"value\"\r\n [attr.directive]=\"nombreDirectiva\"\r\n [placeholder]=\"placeholder\"\r\n [mode]=\"modo\"\r\n [currency]=\"divisa\"\r\n [prefix]=\"prefijo\"\r\n [suffix]=\"sufijo\"\r\n [min]=\"minimo\"\r\n [max]=\"maximo\"\r\n [minFractionDigits]=\"numeroDecimales\"\r\n [maxFractionDigits]=\"maximoDecimales == null ? numeroDecimales : maximoDecimales\"\r\n [useGrouping]=\"separadorGrupo\"\r\n [showButtons]=\"mostrarBotones\"\r\n [step]=\"incremento\"\r\n locale=\"es-ES\"\r\n (ngModelChange)=\"onChangeValue($event)\"\r\n (blur)=\"_onBlur()\"\r\n (focus)=\"_onFocus()\"\r\n attr.data-testid=\"{{ dataTestId }}\"\r\n />\r\n}\r\n@if (tooltipTexto && !readOnly) {\r\n <p-inputNumber\r\n #inputReference\r\n id=\"{{ nombre }}\"\r\n name=\"{{ nombre }}\"\r\n [disabled]=\"isDisabled\"\r\n [ngModel]=\"value\"\r\n [attr.directive]=\"nombreDirectiva\"\r\n [pTooltip]=\"tooltipTexto\"\r\n [tooltipPosition]=\"tooltipPosicion\"\r\n [mode]=\"modo\"\r\n [currency]=\"divisa\"\r\n [prefix]=\"prefijo\"\r\n [suffix]=\"sufijo\"\r\n [min]=\"minimo\"\r\n [max]=\"maximo\"\r\n [minFractionDigits]=\"numeroDecimales\"\r\n [maxFractionDigits]=\"maximoDecimales == null ? numeroDecimales : maximoDecimales\"\r\n [useGrouping]=\"separadorGrupo\"\r\n [showButtons]=\"mostrarBotones\"\r\n [step]=\"incremento\"\r\n locale=\"es-ES\"\r\n (ngModelChange)=\"onChangeValue($event)\"\r\n (blur)=\"_onBlur()\"\r\n (focus)=\"_onFocus()\"\r\n attr.data-testid=\"{{ dataTestId }}\"\r\n />\r\n}\r\n@if (control != null) {\r\n <control-messages [control]=\"control\" [field]=\"nombre\"></control-messages>\r\n}\r\n", dependencies: [{ kind: "component", type: i1$5.InputNumber, selector: "p-inputNumber, p-inputnumber, p-input-number", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabelledBy", "ariaDescribedBy", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "variant", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus", "disabled", "fluid"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3$5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: BitControlMessages, selector: "control-messages", inputs: ["control", "field"] }] }); }
5069
+ }], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputReference"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "@if (!hideLabel) {\r\n <label>\r\n <ng-content></ng-content>&nbsp;@if (obligatorio) {\r\n <span class=\"obligatorio fa fa-asterisk\"></span>\r\n }&nbsp;&nbsp;\r\n @if (ayuda) {\r\n <i class=\"btn-ayuda fa fa-question\" (click)=\"showAyuda()\"></i>\r\n }\r\n </label>\r\n}\r\n@if (readOnly) {\r\n <p class=\"lectura\" [id]=\"nombre\">{{ value_lectura }}</p>\r\n}\r\n@if (!tooltipTexto && !readOnly) {\r\n <p-inputNumber\r\n #inputReference\r\n id=\"{{ nombre }}\"\r\n name=\"{{ nombre }}\"\r\n [disabled]=\"isDisabled\"\r\n [ngModel]=\"value\"\r\n [attr.directive]=\"nombreDirectiva\"\r\n [placeholder]=\"placeholder\"\r\n [mode]=\"modo\"\r\n [currency]=\"divisa\"\r\n [prefix]=\"prefijo\"\r\n [suffix]=\"sufijo\"\r\n [min]=\"minimo\"\r\n [max]=\"maximo\"\r\n [minFractionDigits]=\"numeroDecimales\"\r\n [maxFractionDigits]=\"maximoDecimales == null ? numeroDecimales : maximoDecimales\"\r\n [useGrouping]=\"separadorGrupo\"\r\n [showButtons]=\"mostrarBotones\"\r\n [step]=\"incremento\"\r\n locale=\"es-ES\"\r\n (ngModelChange)=\"onChangeValue($event)\"\r\n (blur)=\"_onBlur()\"\r\n (focus)=\"_onFocus()\"\r\n attr.data-testid=\"{{ dataTestId }}\"\r\n />\r\n}\r\n@if (tooltipTexto && !readOnly) {\r\n <p-inputNumber\r\n #inputReference\r\n id=\"{{ nombre }}\"\r\n name=\"{{ nombre }}\"\r\n [disabled]=\"isDisabled\"\r\n [ngModel]=\"value\"\r\n [attr.directive]=\"nombreDirectiva\"\r\n [pTooltip]=\"tooltipTexto\"\r\n [tooltipPosition]=\"tooltipPosicion\"\r\n [mode]=\"modo\"\r\n [currency]=\"divisa\"\r\n [prefix]=\"prefijo\"\r\n [suffix]=\"sufijo\"\r\n [min]=\"minimo\"\r\n [max]=\"maximo\"\r\n [minFractionDigits]=\"numeroDecimales\"\r\n [maxFractionDigits]=\"maximoDecimales == null ? numeroDecimales : maximoDecimales\"\r\n [useGrouping]=\"separadorGrupo\"\r\n [showButtons]=\"mostrarBotones\"\r\n [step]=\"incremento\"\r\n locale=\"es-ES\"\r\n (ngModelChange)=\"onChangeValue($event)\"\r\n (blur)=\"_onBlur()\"\r\n (focus)=\"_onFocus()\"\r\n attr.data-testid=\"{{ dataTestId }}\"\r\n />\r\n}\r\n@if (control != null) {\r\n <control-messages [control]=\"control\" [field]=\"nombre\"></control-messages>\r\n}\r\n", dependencies: [{ kind: "component", type: i1$4.InputNumber, selector: "p-inputNumber, p-inputnumber, p-input-number", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabelledBy", "ariaDescribedBy", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "variant", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus", "disabled", "fluid"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3$5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: BitControlMessages, selector: "control-messages", inputs: ["control", "field"] }] }); }
5041
5070
  }
5042
5071
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: BitNumberComponent, decorators: [{
5043
5072
  type: Component,
@@ -5090,7 +5119,7 @@ class BitAmountComponent extends BitNumberComponent {
5090
5119
  provide: NG_VALUE_ACCESSOR,
5091
5120
  useExisting: forwardRef(() => BitAmountComponent),
5092
5121
  multi: true
5093
- }], usesInheritance: true, ngImport: i0, template: "@if (!hideLabel) {\r\n <label>\r\n <ng-content></ng-content>&nbsp;@if (obligatorio) {\r\n <span class=\"obligatorio fa fa-asterisk\"></span>\r\n }&nbsp;&nbsp;\r\n @if (ayuda) {\r\n <i class=\"btn-ayuda fa fa-question\" (click)=\"showAyuda()\"></i>\r\n }\r\n </label>\r\n}\r\n@if (readOnly) {\r\n <p class=\"lectura\" [id]=\"nombre\">{{ value_lectura }}</p>\r\n}\r\n@if (!tooltipTexto && !readOnly) {\r\n <p-inputNumber\r\n #inputReference\r\n id=\"{{ nombre }}\"\r\n name=\"{{ nombre }}\"\r\n [disabled]=\"isDisabled\"\r\n [ngModel]=\"value\"\r\n [attr.directive]=\"nombreDirectiva\"\r\n [placeholder]=\"placeholder\"\r\n [mode]=\"modo\"\r\n [currency]=\"divisa\"\r\n [prefix]=\"prefijo\"\r\n [suffix]=\"sufijo\"\r\n [min]=\"minimo\"\r\n [max]=\"maximo\"\r\n [minFractionDigits]=\"numeroDecimales\"\r\n [maxFractionDigits]=\"maximoDecimales == null ? numeroDecimales : maximoDecimales\"\r\n [useGrouping]=\"separadorGrupo\"\r\n [showButtons]=\"mostrarBotones\"\r\n [step]=\"incremento\"\r\n locale=\"es-ES\"\r\n (ngModelChange)=\"onChangeValue($event)\"\r\n (blur)=\"_onBlur()\"\r\n (focus)=\"_onFocus()\"\r\n attr.data-testid=\"{{ dataTestId }}\"\r\n />\r\n}\r\n@if (tooltipTexto && !readOnly) {\r\n <p-inputNumber\r\n #inputReference\r\n id=\"{{ nombre }}\"\r\n name=\"{{ nombre }}\"\r\n [disabled]=\"isDisabled\"\r\n [ngModel]=\"value\"\r\n [attr.directive]=\"nombreDirectiva\"\r\n [pTooltip]=\"tooltipTexto\"\r\n [tooltipPosition]=\"tooltipPosicion\"\r\n [mode]=\"modo\"\r\n [currency]=\"divisa\"\r\n [prefix]=\"prefijo\"\r\n [suffix]=\"sufijo\"\r\n [min]=\"minimo\"\r\n [max]=\"maximo\"\r\n [minFractionDigits]=\"numeroDecimales\"\r\n [maxFractionDigits]=\"maximoDecimales == null ? numeroDecimales : maximoDecimales\"\r\n [useGrouping]=\"separadorGrupo\"\r\n [showButtons]=\"mostrarBotones\"\r\n [step]=\"incremento\"\r\n locale=\"es-ES\"\r\n (ngModelChange)=\"onChangeValue($event)\"\r\n (blur)=\"_onBlur()\"\r\n (focus)=\"_onFocus()\"\r\n attr.data-testid=\"{{ dataTestId }}\"\r\n />\r\n}\r\n@if (control != null) {\r\n <control-messages [control]=\"control\" [field]=\"nombre\"></control-messages>\r\n}\r\n", dependencies: [{ kind: "component", type: i1$5.InputNumber, selector: "p-inputNumber, p-inputnumber, p-input-number", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabelledBy", "ariaDescribedBy", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "variant", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus", "disabled", "fluid"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3$5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: BitControlMessages, selector: "control-messages", inputs: ["control", "field"] }] }); }
5122
+ }], usesInheritance: true, ngImport: i0, template: "@if (!hideLabel) {\r\n <label>\r\n <ng-content></ng-content>&nbsp;@if (obligatorio) {\r\n <span class=\"obligatorio fa fa-asterisk\"></span>\r\n }&nbsp;&nbsp;\r\n @if (ayuda) {\r\n <i class=\"btn-ayuda fa fa-question\" (click)=\"showAyuda()\"></i>\r\n }\r\n </label>\r\n}\r\n@if (readOnly) {\r\n <p class=\"lectura\" [id]=\"nombre\">{{ value_lectura }}</p>\r\n}\r\n@if (!tooltipTexto && !readOnly) {\r\n <p-inputNumber\r\n #inputReference\r\n id=\"{{ nombre }}\"\r\n name=\"{{ nombre }}\"\r\n [disabled]=\"isDisabled\"\r\n [ngModel]=\"value\"\r\n [attr.directive]=\"nombreDirectiva\"\r\n [placeholder]=\"placeholder\"\r\n [mode]=\"modo\"\r\n [currency]=\"divisa\"\r\n [prefix]=\"prefijo\"\r\n [suffix]=\"sufijo\"\r\n [min]=\"minimo\"\r\n [max]=\"maximo\"\r\n [minFractionDigits]=\"numeroDecimales\"\r\n [maxFractionDigits]=\"maximoDecimales == null ? numeroDecimales : maximoDecimales\"\r\n [useGrouping]=\"separadorGrupo\"\r\n [showButtons]=\"mostrarBotones\"\r\n [step]=\"incremento\"\r\n locale=\"es-ES\"\r\n (ngModelChange)=\"onChangeValue($event)\"\r\n (blur)=\"_onBlur()\"\r\n (focus)=\"_onFocus()\"\r\n attr.data-testid=\"{{ dataTestId }}\"\r\n />\r\n}\r\n@if (tooltipTexto && !readOnly) {\r\n <p-inputNumber\r\n #inputReference\r\n id=\"{{ nombre }}\"\r\n name=\"{{ nombre }}\"\r\n [disabled]=\"isDisabled\"\r\n [ngModel]=\"value\"\r\n [attr.directive]=\"nombreDirectiva\"\r\n [pTooltip]=\"tooltipTexto\"\r\n [tooltipPosition]=\"tooltipPosicion\"\r\n [mode]=\"modo\"\r\n [currency]=\"divisa\"\r\n [prefix]=\"prefijo\"\r\n [suffix]=\"sufijo\"\r\n [min]=\"minimo\"\r\n [max]=\"maximo\"\r\n [minFractionDigits]=\"numeroDecimales\"\r\n [maxFractionDigits]=\"maximoDecimales == null ? numeroDecimales : maximoDecimales\"\r\n [useGrouping]=\"separadorGrupo\"\r\n [showButtons]=\"mostrarBotones\"\r\n [step]=\"incremento\"\r\n locale=\"es-ES\"\r\n (ngModelChange)=\"onChangeValue($event)\"\r\n (blur)=\"_onBlur()\"\r\n (focus)=\"_onFocus()\"\r\n attr.data-testid=\"{{ dataTestId }}\"\r\n />\r\n}\r\n@if (control != null) {\r\n <control-messages [control]=\"control\" [field]=\"nombre\"></control-messages>\r\n}\r\n", dependencies: [{ kind: "component", type: i1$4.InputNumber, selector: "p-inputNumber, p-inputnumber, p-input-number", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabelledBy", "ariaDescribedBy", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "variant", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus", "disabled", "fluid"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3$5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: BitControlMessages, selector: "control-messages", inputs: ["control", "field"] }] }); }
5094
5123
  }
5095
5124
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: BitAmountComponent, decorators: [{
5096
5125
  type: Component,
@@ -5210,7 +5239,7 @@ class BitThemeSelectorComponent {
5210
5239
  this.onChangeTheme.emit(theme);
5211
5240
  }
5212
5241
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: BitThemeSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5213
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: BitThemeSelectorComponent, isStandalone: false, selector: "bit-theme-selector", outputs: { onChangeTheme: "onChangeTheme" }, ngImport: i0, template: "<p-selectbutton \r\n [options]=\"themeList$()\" \r\n [ngModel]=\"currentTheme$()\" \r\n optionLabel=\"name\" \r\n optionValue=\"name\" \r\n (onOptionClick)=\"selectGroupChanged($event)\"/>", dependencies: [{ kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2$6.SelectButton, selector: "p-selectButton, p-selectbutton, p-select-button", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "unselectable", "tabindex", "multiple", "allowEmpty", "style", "styleClass", "ariaLabelledBy", "size", "disabled", "dataKey", "autofocus"], outputs: ["onOptionClick", "onChange"] }] }); }
5242
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: BitThemeSelectorComponent, isStandalone: false, selector: "bit-theme-selector", outputs: { onChangeTheme: "onChangeTheme" }, ngImport: i0, template: "<p-selectbutton \r\n [options]=\"themeList$()\" \r\n [ngModel]=\"currentTheme$()\" \r\n optionLabel=\"name\" \r\n optionValue=\"name\" \r\n (onOptionClick)=\"selectGroupChanged($event)\"/>", dependencies: [{ kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2$7.SelectButton, selector: "p-selectButton, p-selectbutton, p-select-button", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "unselectable", "tabindex", "multiple", "allowEmpty", "style", "styleClass", "ariaLabelledBy", "size", "disabled", "dataKey", "autofocus"], outputs: ["onOptionClick", "onChange"] }] }); }
5214
5243
  }
5215
5244
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: BitThemeSelectorComponent, decorators: [{
5216
5245
  type: Component,
@@ -5234,7 +5263,7 @@ class BitLanguageSelectorComponent {
5234
5263
  this.onSelectLanguage.emit(language);
5235
5264
  }
5236
5265
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: BitLanguageSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5237
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: BitLanguageSelectorComponent, isStandalone: false, selector: "bit-language-selector", outputs: { onSelectLanguage: "onSelectLanguage" }, ngImport: i0, template: "<p-selectbutton \r\n [options]=\"languageList$()\" \r\n [ngModel]=\"currentLanguage$()\" \r\n optionLabel=\"label\" \r\n optionValue=\"value\" \r\n (onOptionClick)=\"selectGroupChanged($event)\"/>", dependencies: [{ kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2$6.SelectButton, selector: "p-selectButton, p-selectbutton, p-select-button", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "unselectable", "tabindex", "multiple", "allowEmpty", "style", "styleClass", "ariaLabelledBy", "size", "disabled", "dataKey", "autofocus"], outputs: ["onOptionClick", "onChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5266
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: BitLanguageSelectorComponent, isStandalone: false, selector: "bit-language-selector", outputs: { onSelectLanguage: "onSelectLanguage" }, ngImport: i0, template: "<p-selectbutton \r\n [options]=\"languageList$()\" \r\n [ngModel]=\"currentLanguage$()\" \r\n optionLabel=\"label\" \r\n optionValue=\"value\" \r\n (onOptionClick)=\"selectGroupChanged($event)\"/>", dependencies: [{ kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2$7.SelectButton, selector: "p-selectButton, p-selectbutton, p-select-button", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "unselectable", "tabindex", "multiple", "allowEmpty", "style", "styleClass", "ariaLabelledBy", "size", "disabled", "dataKey", "autofocus"], outputs: ["onOptionClick", "onChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5238
5267
  }
5239
5268
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: BitLanguageSelectorComponent, decorators: [{
5240
5269
  type: Component,