@seniorsistemas/angular-components 19.1.0 → 19.2.0

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 (42) hide show
  1. package/bignumber-input/lib/bignumber-input/bignumber-input.directive.d.ts +58 -25
  2. package/dynamic-form/dynamic-form/components/lookup/lookup.component.d.ts +8 -8
  3. package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.directive.mjs +140 -99
  4. package/esm2022/dynamic-form/dynamic-form/components/lookup/lookup.component.mjs +12 -12
  5. package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +3 -3
  6. package/esm2022/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.mjs +3 -3
  7. package/esm2022/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.mjs +3 -3
  8. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +1 -1
  9. package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-number-field.mjs +2 -3
  10. package/esm2022/locale/lib/locale/apply-localized-mask.mjs +19 -0
  11. package/esm2022/locale/lib/locale/pipes/localized-bignumber-impure.pipe.mjs +1 -1
  12. package/esm2022/locale/lib/locale/pipes/localized-bignumber.pipe.mjs +5 -4
  13. package/esm2022/locale/public-api.mjs +2 -1
  14. package/esm2022/number-input/lib/number-input/number-input.directive.mjs +12 -148
  15. package/esm2022/number-input/lib/number-input/number-input.module.mjs +5 -5
  16. package/esm2022/numeric-mask/lib/numeric-mask/numeric-mask.directive.mjs +32 -35
  17. package/esm2022/table/lib/table/table-column/table-columns.component.mjs +20 -4
  18. package/esm2022/table/public-api.mjs +2 -1
  19. package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs +139 -98
  20. package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs.map +1 -1
  21. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +19 -19
  22. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
  23. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +2 -3
  24. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
  25. package/fesm2022/seniorsistemas-angular-components-locale.mjs +22 -4
  26. package/fesm2022/seniorsistemas-angular-components-locale.mjs.map +1 -1
  27. package/fesm2022/seniorsistemas-angular-components-number-input.mjs +14 -151
  28. package/fesm2022/seniorsistemas-angular-components-number-input.mjs.map +1 -1
  29. package/fesm2022/seniorsistemas-angular-components-numeric-mask.mjs +31 -34
  30. package/fesm2022/seniorsistemas-angular-components-numeric-mask.mjs.map +1 -1
  31. package/fesm2022/seniorsistemas-angular-components-table.mjs +21 -6
  32. package/fesm2022/seniorsistemas-angular-components-table.mjs.map +1 -1
  33. package/inline-edit/lib/inline-edit/fields/inline-edit-number-field.d.ts +2 -3
  34. package/locale/lib/locale/apply-localized-mask.d.ts +9 -0
  35. package/locale/lib/locale/pipes/localized-bignumber-impure.pipe.d.ts +2 -3
  36. package/locale/lib/locale/pipes/localized-bignumber.pipe.d.ts +3 -2
  37. package/locale/public-api.d.ts +1 -0
  38. package/number-input/lib/number-input/number-input.directive.d.ts +7 -47
  39. package/number-input/lib/number-input/number-input.module.d.ts +2 -2
  40. package/numeric-mask/lib/numeric-mask/numeric-mask.directive.d.ts +8 -9
  41. package/package.json +1 -1
  42. package/table/public-api.d.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"seniorsistemas-angular-components-bignumber-input.mjs","sources":["../../projects/angular-components/bignumber-input/src/lib/bignumber-input/bignumber-input.directive.ts","../../projects/angular-components/bignumber-input/src/lib/bignumber-input/bignumber-input.module.ts","../../projects/angular-components/bignumber-input/src/seniorsistemas-angular-components-bignumber-input.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n KeyValueDiffers,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { CurrencyMaskDirective } from 'ng2-currency-mask';\nimport { first } from 'rxjs/operators';\nimport { AlignmentOptions } from '@seniorsistemas/ng2-currency-mask';\nimport { LocaleService } from '@seniorsistemas/angular-components/locale';\n\n/**\n * @deprecated Should use 'AlignmentOptions' from @seniorsistemas/ng2-currency-mask instead\n */\nexport enum BignumberAlignmentOption {\n RIGHT = 'right',\n LEFT = 'left',\n}\n\n/**\n * @deprecated Utilize a diretiva `BigNumberInput` ao invés desta.\n * @description Diretiva de máscara para campos de entrada de números de grande precisão,\n * adaptada do `CurrencyMaskDirective`. Permite configurar precisão, escala,\n * separadores decimais e de milhar de acordo com o locale da aplicação.\n *\n * @example\n * ```html\n * <input sBignumberInput [precision]=\"15\" [scale]=\"2\" [allowNegative]=\"false\" />\n * ```\n *\n * @category Inputs\n */\n@Directive({\n selector: 'input[sBignumberInput]',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n // NOSONAR - 'BignumberInputDirective' is deprecated.\n useExisting: forwardRef(() => BignumberInputDirective),\n multi: true,\n },\n ],\n})\nexport class BignumberInputDirective extends CurrencyMaskDirective implements OnInit, OnChanges {\n /**\n * @description Número total de dígitos significativos aceitos pelo campo.\n *\n * @default 15\n */\n @Input()\n public precision = 15;\n\n /**\n * @description Número de casas decimais exibidas e aceitas pelo campo.\n *\n * @default 0\n */\n @Input()\n public scale = 0;\n\n /**\n * @description Separador decimal personalizado. Quando não informado,\n * utiliza o separador definido pelo locale ativo da aplicação.\n */\n @Input()\n public decimalSeparator?: string;\n\n /**\n * @description Separador de milhar personalizado. Quando não informado,\n * utiliza o separador definido pelo locale ativo da aplicação.\n */\n @Input()\n public thousandsSeparator?: string;\n\n /**\n * @description Alinhamento do conteúdo do campo. Aceita `'left'` ou `'right'`.\n *\n * @default 'left'\n */\n @Input()\n public alignTo: 'left' | 'right' = 'left';\n\n /**\n * @description Permite a entrada de valores negativos.\n *\n * @default true\n */\n @Input()\n public allowNegative = true;\n\n /**\n * @description Texto de placeholder exibido quando o campo está vazio.\n */\n @Input()\n @HostBinding('attr.placeholder')\n public placeholder?: string;\n\n @HostBinding('attr.maxLength')\n public maxLength?: number;\n\n /**\n * @description Emitido quando uma colé (paste) é rejeitada pela validação do campo.\n * Emite a string colada que foi recusada.\n */\n @Output()\n public pasteRejected = new EventEmitter<string>();\n\n private readonly regex = /\\d/;\n\n //TODO: Ajuste no ng2-currency-mask para utilizar esse Código (aplicado na tarefa: SDS-305)\n // private readonly _angularComponentsLocaleService: LocaleService;\n\n // constructor(injector: Injector) {\n // super(injector);\n\n // this._angularComponentsLocaleService = injector.get(LocaleService);\n // this.onLocaleService();\n // }\n\n //TODO: Remover esse constructor\n constructor(\n _elementRef: ElementRef,\n _keyValueDiffers: KeyValueDiffers,\n private readonly localeService: LocaleService,\n ) {\n super(\n { align: '', allowNegative: true, decimal: '', precision: 0, prefix: '', suffix: '', thousands: '' },\n _elementRef,\n _keyValueDiffers,\n );\n\n this.onLocaleService();\n }\n\n public override ngOnInit(): void {\n this.updateVariables();\n\n super.ngOnInit();\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n const placeholderChange = changes['placeholder']?.currentValue;\n if (!placeholderChange && this.scale) {\n this.placeholder = `0${this.decimalSeparator}${''.padEnd(this.scale, '0')}`;\n }\n\n const configChanged =\n changes['scale'] ||\n changes['decimalSeparator'] ||\n changes['thousandsSeparator'] ||\n changes['alignTo'] ||\n changes['precision'] ||\n changes['allowNegative'];\n\n if (configChanged) {\n this.updateVariables();\n }\n }\n\n @HostListener('paste', ['$event'])\n public onPaste(event: ClipboardEvent): void {\n const pastedText = event.clipboardData?.getData('text') ?? '';\n const numericText = pastedText\n .replace(new RegExp(`\\\\${this.thousandsSeparator}`, 'g'), '')\n .replace(this.decimalSeparator as string, '.');\n const [intPart, decimalPart = ''] = numericText.split('.');\n const totalDigits = intPart.replace(/\\D/g, '').length + decimalPart.slice(0, this.scale).length;\n\n if (totalDigits > this.precision) {\n event.preventDefault();\n this.pasteRejected.emit(pastedText);\n }\n }\n\n /**\n * Update the options values according to the directive input values.\n */\n private updateVariables(): void {\n this.options = {\n align: this.alignTo,\n decimal: this.decimalSeparator,\n thousands: this.thousandsSeparator,\n precision: this.scale || 0,\n prefix: '',\n suffix: '',\n allowNegative: this.allowNegative,\n };\n this.calculateMaxLength();\n }\n\n /**\n * Responsible to calculate the field maximum length considering the separators.\n */\n private calculateMaxLength(): void {\n const decSepLength = this.decimalSeparator?.length ?? 0;\n const thoSepLength = this.thousandsSeparator?.length ?? 0;\n\n const DIGITS_GROUP_SIZE = 3;\n\n let maxLength = this.precision + (this.scale ? decSepLength : 0);\n maxLength += Math.ceil((this.precision - (this.scale ? this.scale : 0)) / DIGITS_GROUP_SIZE - 1) * thoSepLength;\n\n this.maxLength = maxLength;\n }\n\n private onLocaleService(): void {\n this.localeService\n .getLocale()\n .pipe(first())\n .subscribe(() => {\n this.decimalSeparator = this.decimalSeparator ?? this.localeService.getDecimalSeparator();\n this.thousandsSeparator = this.thousandsSeparator ?? this.localeService.getGroupingSeparator();\n });\n }\n}\n\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\n// NOSONAR - 'BignumberInputDirective' is deprecated.\nimport { BignumberInputDirective } from './bignumber-input.directive';\n\n@NgModule({\n imports: [CommonModule],\n // NOSONAR - 'BignumberInputDirective' is deprecated.\n declarations: [BignumberInputDirective],\n // NOSONAR - 'BignumberInputDirective' is deprecated.\n exports: [BignumberInputDirective],\n})\nexport class BignumberInputModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seniorsistemas-angular-components-bignumber-input.mjs","sources":["../../projects/angular-components/bignumber-input/src/lib/bignumber-input/bignumber-input.directive.ts","../../projects/angular-components/bignumber-input/src/lib/bignumber-input/bignumber-input.module.ts","../../projects/angular-components/bignumber-input/src/seniorsistemas-angular-components-bignumber-input.ts"],"sourcesContent":["import { Directive, forwardRef, input, model, OnInit, OnChanges, output, SimpleChanges } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, AbstractControl, ValidationErrors } from '@angular/forms';\n\nimport { NumericMaskDirective } from '@seniorsistemas/angular-components/numeric-mask';\n\n/**\n * @deprecated Este enum não tem mais efeito. O alinhamento do campo é sempre `'right'`.\n */\nexport enum BignumberAlignmentOption {\n RIGHT = 'right',\n LEFT = 'left',\n}\n\n/**\n * @deprecated Utilize a diretiva `BigNumberInput` ao invés desta.\n * @description Diretiva de máscara para campos de entrada de números de grande precisão,\n * adaptada do `CurrencyMaskDirective`. Permite configurar precisão, escala,\n * separadores decimais e de milhar de acordo com o locale da aplicação.\n *\n * @example\n * ```html\n * <input sBignumberInput [precision]=\"15\" [scale]=\"2\" [allowNegative]=\"false\" />\n * ```\n *\n * @category Inputs\n */\n@Directive({\n selector: 'input[sBignumberInput]',\n host: {\n '[attr.placeholder]': 'placeholder()',\n '[attr.maxLength]': 'maxLength',\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n // NOSONAR - 'BignumberInputDirective' is deprecated.\n useExisting: forwardRef(() => BignumberInputDirective),\n multi: true,\n },\n ],\n})\nexport class BignumberInputDirective extends NumericMaskDirective implements OnInit, OnChanges {\n /**\n * @description Número total de dígitos significativos aceitos pelo campo (parte inteira + parte decimal).\n *\n * Durante a digitação, o campo limita fisicamente o número de caracteres via `maxLength`.\n * Ao colar um valor que ultrapasse o limite, o evento `pasteRejected` é emitido e a colagem é cancelada.\n * Após sair do campo (blur) ou ao submeter o formulário, se o valor ultrapassar `precision`,\n * o campo ficará inválido com o erro `exceedsPrecision: { precision, actual }`.\n *\n * @default 15\n */\n public precision = input(15);\n\n /**\n * @deprecated Use `minDecimalPlaces` e `maxDecimalPlaces` ao invés deste.\n * @description Número de casas decimais exibidas e aceitas pelo campo.\n * Quando informado, repassa o valor para `minDecimalPlaces` e `maxDecimalPlaces`.\n *\n * @default 0\n */\n public scale = input(0);\n\n /**\n * @description Número mínimo de casas decimais exibidas.\n *\n * @default 0\n */\n public override minDecimalPlaces = model(0);\n\n /**\n * @description Número máximo de casas decimais aceitas.\n *\n * @default 0\n */\n public override maxDecimalPlaces = model(0);\n\n /**\n * @description Separador decimal personalizado. Quando não informado,\n * utiliza o separador definido pelo locale ativo da aplicação.\n */\n public override decimalSeparator = model(',');\n\n /**\n * @deprecated Use `thousandSeparator` ao invés deste.\n * @description Separador de milhar personalizado. Recomenda-se migrar para `thousandSeparator`.\n */\n public thousandsSeparator = input<string | undefined>(undefined);\n\n /**\n * @description Separador de milhar personalizado. Quando não informado,\n * utiliza o separador definido pelo locale ativo da aplicação.\n */\n public override thousandSeparator = model('.');\n\n /**\n * @deprecated Este input não tem mais efeito e pode ser removido.\n * O alinhamento do campo é sempre `'right'`, conforme o comportamento padrão da máscara numérica.\n */\n public alignTo = input<'left' | 'right'>('right');\n\n /**\n * @description Permite a entrada de valores negativos.\n *\n * @default true\n */\n public override allowNegative = input(true);\n\n /**\n * @description Texto de placeholder exibido quando o campo está vazio.\n */\n public placeholder = model<string | undefined>(undefined);\n\n public maxLength?: number;\n\n /**\n * @description Emitido quando uma colagem (paste) é rejeitada pela validação do campo.\n * Emite a string colada que foi recusada.\n */\n public pasteRejected = output<string>();\n\n private _decimalSeparatorExplicit = false;\n private _thousandSeparatorExplicit = false;\n\n constructor() {\n super();\n }\n\n public override ngOnInit(): void {\n super.ngOnInit();\n this.updatePlaceholder();\n }\n\n // ngOnChanges handles all signal writes reactively, avoiding the need for\n // effect() with allowSignalWrites. The decimalSeparator/thousandSeparator inputs\n // have truthy defaults, so ngOnChanges is necessary to distinguish \"parent bound this\"\n // from \"it's just the default value\".\n public override ngOnChanges(changes: SimpleChanges): void {\n if (changes['decimalSeparator'] && this.decimalSeparator()) {\n this._decimalSeparatorExplicit = true;\n }\n if (changes['thousandSeparator'] && this.thousandSeparator()) {\n this._thousandSeparatorExplicit = true;\n }\n if (changes['thousandsSeparator']) {\n const val = this.thousandsSeparator();\n if (val !== undefined) {\n this._thousandSeparatorExplicit = true;\n this.thousandSeparator.set(val);\n }\n }\n if (changes['scale']) {\n this.minDecimalPlaces.set(this.scale());\n this.maxDecimalPlaces.set(this.scale());\n }\n if (\n changes['scale'] ||\n changes['decimalSeparator'] ||\n changes['thousandSeparator'] ||\n changes['thousandsSeparator'] ||\n changes['precision']\n ) {\n this.calculateMaxLength();\n }\n if (changes['scale'] || changes['decimalSeparator']) {\n this.updatePlaceholder();\n }\n }\n\n /**\n * Overrides base paste handler to add precision validation.\n * If the pasted value exceeds `precision` digits, the paste is rejected.\n */\n public override onPaste(event: ClipboardEvent): void {\n const pastedText = event.clipboardData?.getData('text') ?? '';\n const effectiveThousandSep = this.thousandsSeparator() ?? this.thousandSeparator();\n const numericText = pastedText\n .replace(new RegExp(`\\\\${effectiveThousandSep}`, 'g'), '')\n .replace(this.decimalSeparator(), '.');\n const [intPart, decimalPart = ''] = numericText.split('.');\n const totalDigits = intPart.replace(/\\D/g, '').length + decimalPart.slice(0, this.scale()).length;\n\n if (totalDigits > this.precision()) {\n event.preventDefault();\n this.pasteRejected.emit(pastedText);\n return;\n }\n\n super.onPaste(event);\n }\n\n /**\n * Overrides locale-derived separators with explicitly set inputs, if provided.\n * If no explicit separator is set, the locale-derived value is used.\n */\n protected override updateSeparators(): void {\n const explicitDecimal = this._decimalSeparatorExplicit ? this.decimalSeparator() : undefined;\n const explicitThousand = this._thousandSeparatorExplicit\n ? (this.thousandsSeparator() ?? this.thousandSeparator())\n : undefined;\n\n super.updateSeparators();\n\n if (explicitDecimal !== undefined) {\n this.decimalSeparator.set(explicitDecimal);\n }\n if (explicitThousand !== undefined) {\n this.thousandSeparator.set(explicitThousand);\n }\n\n this.calculateMaxLength();\n this.updatePlaceholder();\n }\n\n /**\n * Overrides base validator to add precision validation.\n * If the total number of significant digits exceeds `precision`, returns an `exceedsPrecision` error.\n */\n public override validate(control: AbstractControl): ValidationErrors | null {\n const baseErrors = super.validate(control);\n\n if (!control.value || !this.precision()) {\n return baseErrors ?? null;\n }\n\n const numericStr = String(control.value).replace('-', '');\n const [intPart, decimalPart = ''] = numericStr.split('.');\n const totalDigits = intPart.length + decimalPart.length;\n\n if (totalDigits > this.precision()) {\n return {\n ...baseErrors,\n exceedsPrecision: {\n precision: this.precision(),\n actual: totalDigits,\n },\n };\n }\n\n return baseErrors ?? null;\n }\n\n /**\n * Responsible to calculate the field maximum length considering the separators.\n */\n private calculateMaxLength(): void {\n const decSepLength = this.decimalSeparator()?.length ?? 0;\n const effectiveThousandSep = this.thousandsSeparator() ?? this.thousandSeparator();\n const thoSepLength = effectiveThousandSep?.length ?? 0;\n\n const DIGITS_GROUP_SIZE = 3;\n\n let maxLength = this.precision() + (this.scale() ? decSepLength : 0);\n maxLength +=\n Math.ceil((this.precision() - (this.scale() ? this.scale() : 0)) / DIGITS_GROUP_SIZE - 1) * thoSepLength;\n\n this.maxLength = maxLength;\n }\n\n private updatePlaceholder(): void {\n const scale = this.scale();\n if (!this.placeholder() && scale) {\n this.placeholder.set(`0${this.decimalSeparator()}${''.padEnd(scale, '0')}`);\n }\n }\n}\n\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\n// NOSONAR - 'BignumberInputDirective' is deprecated.\nimport { BignumberInputDirective } from './bignumber-input.directive';\n\n@NgModule({\n imports: [CommonModule],\n // NOSONAR - 'BignumberInputDirective' is deprecated.\n declarations: [BignumberInputDirective],\n // NOSONAR - 'BignumberInputDirective' is deprecated.\n exports: [BignumberInputDirective],\n})\nexport class BignumberInputModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -17,31 +17,31 @@ import { __decorate } from 'tslib';
17
17
  import { trigger, state, style, transition, group, query, animateChild, animate } from '@angular/animations';
18
18
  import * as i2 from '@ngx-translate/core';
19
19
  import { TranslateModule, TranslateService } from '@ngx-translate/core';
20
- import * as i1$3 from 'angular2-hotkeys';
21
- import { Hotkey } from 'angular2-hotkeys';
22
- import BigNumber from 'bignumber.js';
23
- import * as i3 from 'primeng/autocomplete';
24
- import { AutoComplete, AutoCompleteModule } from 'primeng/autocomplete';
25
- import * as i7 from 'primeng/table';
26
- import { Table, TableModule } from 'primeng/table';
27
- import { takeUntil as takeUntil$1, first } from 'rxjs/operators';
28
20
  import { AutoCompleteMultipleKeyboardFixDirective } from '@seniorsistemas/angular-components/autocomplete';
29
- import * as i8 from '@seniorsistemas/angular-components/loading-state';
30
- import { LoadingStateIndicators, LoadingStateModule } from '@seniorsistemas/angular-components/loading-state';
31
- import * as i1$4 from '@seniorsistemas/angular-components/locale';
32
- import { CalendarLocaleOptions, LocaleModule, NumberLocaleOptions } from '@seniorsistemas/angular-components/locale';
33
- import { CheckDisabled } from '@seniorsistemas/angular-components/shared';
34
21
  import * as i10 from '@seniorsistemas/angular-components/badge';
35
22
  import { BadgeModule } from '@seniorsistemas/angular-components/badge';
36
23
  import { DialogComponent } from '@seniorsistemas/angular-components/dialog';
37
24
  import * as i6 from '@seniorsistemas/angular-components/empty-state';
38
25
  import { EmptyStateModule } from '@seniorsistemas/angular-components/empty-state';
26
+ import * as i8 from '@seniorsistemas/angular-components/loading-state';
27
+ import { LoadingStateIndicators, LoadingStateModule } from '@seniorsistemas/angular-components/loading-state';
28
+ import * as i1$4 from '@seniorsistemas/angular-components/locale';
29
+ import { CalendarLocaleOptions, LocaleModule, NumberLocaleOptions } from '@seniorsistemas/angular-components/locale';
39
30
  import * as i11 from '@seniorsistemas/angular-components/mask';
40
31
  import { MaskFormatterModule } from '@seniorsistemas/angular-components/mask';
32
+ import { CheckDisabled } from '@seniorsistemas/angular-components/shared';
41
33
  import * as i12 from '@seniorsistemas/angular-components/table-header';
42
34
  import { TableHeaderCheckboxModule } from '@seniorsistemas/angular-components/table-header';
43
35
  import * as i13 from '@seniorsistemas/angular-components/template';
44
36
  import { TemplateModule } from '@seniorsistemas/angular-components/template';
37
+ import * as i1$3 from 'angular2-hotkeys';
38
+ import { Hotkey } from 'angular2-hotkeys';
39
+ import BigNumber from 'bignumber.js';
40
+ import * as i3 from 'primeng/autocomplete';
41
+ import { AutoComplete, AutoCompleteModule } from 'primeng/autocomplete';
42
+ import * as i7 from 'primeng/table';
43
+ import { Table, TableModule } from 'primeng/table';
44
+ import { takeUntil as takeUntil$1, first } from 'rxjs/operators';
45
45
  import * as i4 from 'primeng/api';
46
46
  import * as i1$5 from '@seniorsistemas/angular-components/info-sign';
47
47
  import { InfoSignModule } from '@seniorsistemas/angular-components/info-sign';
@@ -1257,7 +1257,7 @@ class BignumberFieldComponent {
1257
1257
  }
1258
1258
  }
1259
1259
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BignumberFieldComponent, deps: [{ token: i1$4.LocaleService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1260
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BignumberFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onInput: "onInput", onFocus: "onFocus", onComplete: "onComplete" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }], ngImport: i0, template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef!.nativeElement\"\n />\n}\n@if (_field.mask) {\n @let autoClear = _field.type === 'number' ? (_field.autoClear ?? true) : false;\n <p-inputMask\n #inputRef\n type=\"text\"\n [inputId]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [mask]=\"fieldUtils.getFieldPropertyMask(_field.mask)\"\n [placeholder]=\"_field.placeholder\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n styleClass=\"mousetrap\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (onFocus)=\"onFocus.next($event)\"\n (onComplete)=\"onComplete.next($event)\"\n (onInput)=\"onInput.next($event)\"\n [formControl]=\"formControl()\"\n [autoClear]=\"autoClear\"\n >\n </p-inputMask>\n} @else {\n <div class=\"bignumber-field\">\n @if (_field.leftAddon) {\n <div class=\"button-left\">\n <ng-container *ngTemplateOutlet=\"addonRender; context: { button: _field.leftAddon }\"></ng-container>\n </div>\n }\n @let allowNegative = _field.type === 'number' ? (_field.allowNegative ?? true) : false;\n <input\n #inputRef\n [id]=\"_field.id || _field.name\"\n type=\"text\"\n [name]=\"_field.name\"\n sBignumberInput\n [allowNegative]=\"allowNegative\"\n [precision]=\"\n fieldUtils.isFunction(_field.precision) ? fieldUtils.trigger(_field.precision) : _field.precision\n \"\n [scale]=\"fieldUtils.isFunction(_field.scale) ? fieldUtils.trigger(_field.scale) : _field.scale\"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator\"\n [thousandsSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator\"\n [alignTo]=\"_field.alignTo ?? 'left'\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n pInputText\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n class=\"input-text\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl()\"\n />\n @if (_field.rightAddon) {\n <div class=\"button-right\">\n <ng-container *ngTemplateOutlet=\"addonRender; context: { button: _field.rightAddon }\"></ng-container>\n </div>\n }\n </div>\n}\n\n<ng-template\n #addonRender\n let-button=\"button\"\n>\n <s-button\n [label]=\"button.label\"\n [priority]=\"button.priority ?? 'default'\"\n [iconClass]=\"button.icon\"\n [disabled]=\"fieldUtils.fieldPropertyIsDisabled(button.leftAddon)\"\n [auxiliary]=\"false\"\n (clicked)=\"button.callback?.()\"\n />\n</ng-template>\n\n", styles: ["s-number-field.ng-dirty.ng-invalid .p-inputtext{border-color:#c13018}s-number-field.ng-dirty.ng-invalid .p-inputtext:hover{border-color:highlight(#c13018)}.bignumber-field{display:flex;width:100%}.bignumber-field .input-text{width:auto;flex-grow:1}.bignumber-field:has(.button-left) .input-text{border-top-left-radius:0;border-bottom-left-radius:0}.bignumber-field:has(.button-left) .button-left button{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.bignumber-field:has(input:focus) .button-left button{border-color:#428bca!important}.bignumber-field:has(input.ng-invalid.ng-dirty) .button-left button{border-color:#c13018!important}.bignumber-field:has(.button-right) .input-text{border-top-right-radius:0;border-bottom-right-radius:0}.bignumber-field:has(.button-right) .button-right button{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none}.bignumber-field:has(input:focus) .button-right button{border-color:#428bca!important}.bignumber-field:has(input.ng-invalid.ng-dirty) .button-right button{border-color:#c13018!important}\n"], dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "ngmodule", type: InputMaskModule }, { kind: "component", type: i2$1.InputMask, selector: "p-inputmask, p-inputMask, p-input-mask", inputs: ["type", "slotChar", "autoClear", "showClear", "style", "inputId", "styleClass", "placeholder", "size", "maxlength", "tabindex", "title", "variant", "ariaLabel", "ariaLabelledBy", "ariaRequired", "disabled", "readonly", "unmask", "name", "required", "characterPattern", "autofocus", "autoFocus", "autocomplete", "keepBuffer", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown", "onClear"] }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor", "menuAriaLabel"], outputs: ["clicked"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: BignumberInputModule }, { kind: "directive", type: i4$1.BignumberInputDirective, selector: "input[sBignumberInput]", inputs: ["precision", "scale", "decimalSeparator", "thousandsSeparator", "alignTo", "allowNegative", "placeholder"], outputs: ["pasteRejected"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i5.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None });
1260
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BignumberFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onInput: "onInput", onFocus: "onFocus", onComplete: "onComplete" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }], ngImport: i0, template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef!.nativeElement\"\n />\n}\n@if (_field.mask) {\n @let autoClear = _field.type === 'number' ? (_field.autoClear ?? true) : false;\n <p-inputMask\n #inputRef\n type=\"text\"\n [inputId]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [mask]=\"fieldUtils.getFieldPropertyMask(_field.mask)\"\n [placeholder]=\"_field.placeholder\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n styleClass=\"mousetrap\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (onFocus)=\"onFocus.next($event)\"\n (onComplete)=\"onComplete.next($event)\"\n (onInput)=\"onInput.next($event)\"\n [formControl]=\"formControl()\"\n [autoClear]=\"autoClear\"\n >\n </p-inputMask>\n} @else {\n <div class=\"bignumber-field\">\n @if (_field.leftAddon) {\n <div class=\"button-left\">\n <ng-container *ngTemplateOutlet=\"addonRender; context: { button: _field.leftAddon }\"></ng-container>\n </div>\n }\n @let allowNegative = _field.type === 'number' ? (_field.allowNegative ?? true) : false;\n <input\n #inputRef\n [id]=\"_field.id || _field.name\"\n type=\"text\"\n [name]=\"_field.name\"\n sBignumberInput\n [allowNegative]=\"allowNegative\"\n [precision]=\"\n fieldUtils.isFunction(_field.precision) ? fieldUtils.trigger(_field.precision) : _field.precision\n \"\n [scale]=\"fieldUtils.isFunction(_field.scale) ? fieldUtils.trigger(_field.scale) : _field.scale\"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator ?? ''\"\n [thousandsSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator ?? ''\"\n [alignTo]=\"_field.alignTo ?? 'left'\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n pInputText\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n class=\"input-text\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl()\"\n />\n @if (_field.rightAddon) {\n <div class=\"button-right\">\n <ng-container *ngTemplateOutlet=\"addonRender; context: { button: _field.rightAddon }\"></ng-container>\n </div>\n }\n </div>\n}\n\n<ng-template\n #addonRender\n let-button=\"button\"\n>\n <s-button\n [label]=\"button.label\"\n [priority]=\"button.priority ?? 'default'\"\n [iconClass]=\"button.icon\"\n [disabled]=\"fieldUtils.fieldPropertyIsDisabled(button.leftAddon)\"\n [auxiliary]=\"false\"\n (clicked)=\"button.callback?.()\"\n />\n</ng-template>\n\n", styles: ["s-number-field.ng-dirty.ng-invalid .p-inputtext{border-color:#c13018}s-number-field.ng-dirty.ng-invalid .p-inputtext:hover{border-color:highlight(#c13018)}.bignumber-field{display:flex;width:100%}.bignumber-field .input-text{width:auto;flex-grow:1}.bignumber-field:has(.button-left) .input-text{border-top-left-radius:0;border-bottom-left-radius:0}.bignumber-field:has(.button-left) .button-left button{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.bignumber-field:has(input:focus) .button-left button{border-color:#428bca!important}.bignumber-field:has(input.ng-invalid.ng-dirty) .button-left button{border-color:#c13018!important}.bignumber-field:has(.button-right) .input-text{border-top-right-radius:0;border-bottom-right-radius:0}.bignumber-field:has(.button-right) .button-right button{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none}.bignumber-field:has(input:focus) .button-right button{border-color:#428bca!important}.bignumber-field:has(input.ng-invalid.ng-dirty) .button-right button{border-color:#c13018!important}\n"], dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "ngmodule", type: InputMaskModule }, { kind: "component", type: i2$1.InputMask, selector: "p-inputmask, p-inputMask, p-input-mask", inputs: ["type", "slotChar", "autoClear", "showClear", "style", "inputId", "styleClass", "placeholder", "size", "maxlength", "tabindex", "title", "variant", "ariaLabel", "ariaLabelledBy", "ariaRequired", "disabled", "readonly", "unmask", "name", "required", "characterPattern", "autofocus", "autoFocus", "autocomplete", "keepBuffer", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown", "onClear"] }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor", "menuAriaLabel"], outputs: ["clicked"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: BignumberInputModule }, { kind: "directive", type: i4$1.BignumberInputDirective, selector: "input[sBignumberInput]", inputs: ["precision", "scale", "minDecimalPlaces", "maxDecimalPlaces", "decimalSeparator", "thousandsSeparator", "thousandSeparator", "alignTo", "allowNegative", "placeholder"], outputs: ["minDecimalPlacesChange", "maxDecimalPlacesChange", "decimalSeparatorChange", "thousandSeparatorChange", "placeholderChange", "pasteRejected"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i5.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None });
1261
1261
  }
1262
1262
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BignumberFieldComponent, decorators: [{
1263
1263
  type: Component,
@@ -1271,7 +1271,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
1271
1271
  BignumberInputModule,
1272
1272
  InputTextModule,
1273
1273
  NgTemplateOutlet,
1274
- ], template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef!.nativeElement\"\n />\n}\n@if (_field.mask) {\n @let autoClear = _field.type === 'number' ? (_field.autoClear ?? true) : false;\n <p-inputMask\n #inputRef\n type=\"text\"\n [inputId]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [mask]=\"fieldUtils.getFieldPropertyMask(_field.mask)\"\n [placeholder]=\"_field.placeholder\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n styleClass=\"mousetrap\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (onFocus)=\"onFocus.next($event)\"\n (onComplete)=\"onComplete.next($event)\"\n (onInput)=\"onInput.next($event)\"\n [formControl]=\"formControl()\"\n [autoClear]=\"autoClear\"\n >\n </p-inputMask>\n} @else {\n <div class=\"bignumber-field\">\n @if (_field.leftAddon) {\n <div class=\"button-left\">\n <ng-container *ngTemplateOutlet=\"addonRender; context: { button: _field.leftAddon }\"></ng-container>\n </div>\n }\n @let allowNegative = _field.type === 'number' ? (_field.allowNegative ?? true) : false;\n <input\n #inputRef\n [id]=\"_field.id || _field.name\"\n type=\"text\"\n [name]=\"_field.name\"\n sBignumberInput\n [allowNegative]=\"allowNegative\"\n [precision]=\"\n fieldUtils.isFunction(_field.precision) ? fieldUtils.trigger(_field.precision) : _field.precision\n \"\n [scale]=\"fieldUtils.isFunction(_field.scale) ? fieldUtils.trigger(_field.scale) : _field.scale\"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator\"\n [thousandsSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator\"\n [alignTo]=\"_field.alignTo ?? 'left'\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n pInputText\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n class=\"input-text\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl()\"\n />\n @if (_field.rightAddon) {\n <div class=\"button-right\">\n <ng-container *ngTemplateOutlet=\"addonRender; context: { button: _field.rightAddon }\"></ng-container>\n </div>\n }\n </div>\n}\n\n<ng-template\n #addonRender\n let-button=\"button\"\n>\n <s-button\n [label]=\"button.label\"\n [priority]=\"button.priority ?? 'default'\"\n [iconClass]=\"button.icon\"\n [disabled]=\"fieldUtils.fieldPropertyIsDisabled(button.leftAddon)\"\n [auxiliary]=\"false\"\n (clicked)=\"button.callback?.()\"\n />\n</ng-template>\n\n", styles: ["s-number-field.ng-dirty.ng-invalid .p-inputtext{border-color:#c13018}s-number-field.ng-dirty.ng-invalid .p-inputtext:hover{border-color:highlight(#c13018)}.bignumber-field{display:flex;width:100%}.bignumber-field .input-text{width:auto;flex-grow:1}.bignumber-field:has(.button-left) .input-text{border-top-left-radius:0;border-bottom-left-radius:0}.bignumber-field:has(.button-left) .button-left button{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.bignumber-field:has(input:focus) .button-left button{border-color:#428bca!important}.bignumber-field:has(input.ng-invalid.ng-dirty) .button-left button{border-color:#c13018!important}.bignumber-field:has(.button-right) .input-text{border-top-right-radius:0;border-bottom-right-radius:0}.bignumber-field:has(.button-right) .button-right button{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none}.bignumber-field:has(input:focus) .button-right button{border-color:#428bca!important}.bignumber-field:has(input.ng-invalid.ng-dirty) .button-right button{border-color:#c13018!important}\n"] }]
1274
+ ], template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef!.nativeElement\"\n />\n}\n@if (_field.mask) {\n @let autoClear = _field.type === 'number' ? (_field.autoClear ?? true) : false;\n <p-inputMask\n #inputRef\n type=\"text\"\n [inputId]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [mask]=\"fieldUtils.getFieldPropertyMask(_field.mask)\"\n [placeholder]=\"_field.placeholder\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n styleClass=\"mousetrap\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (onFocus)=\"onFocus.next($event)\"\n (onComplete)=\"onComplete.next($event)\"\n (onInput)=\"onInput.next($event)\"\n [formControl]=\"formControl()\"\n [autoClear]=\"autoClear\"\n >\n </p-inputMask>\n} @else {\n <div class=\"bignumber-field\">\n @if (_field.leftAddon) {\n <div class=\"button-left\">\n <ng-container *ngTemplateOutlet=\"addonRender; context: { button: _field.leftAddon }\"></ng-container>\n </div>\n }\n @let allowNegative = _field.type === 'number' ? (_field.allowNegative ?? true) : false;\n <input\n #inputRef\n [id]=\"_field.id || _field.name\"\n type=\"text\"\n [name]=\"_field.name\"\n sBignumberInput\n [allowNegative]=\"allowNegative\"\n [precision]=\"\n fieldUtils.isFunction(_field.precision) ? fieldUtils.trigger(_field.precision) : _field.precision\n \"\n [scale]=\"fieldUtils.isFunction(_field.scale) ? fieldUtils.trigger(_field.scale) : _field.scale\"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator ?? ''\"\n [thousandsSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator ?? ''\"\n [alignTo]=\"_field.alignTo ?? 'left'\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n pInputText\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n class=\"input-text\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl()\"\n />\n @if (_field.rightAddon) {\n <div class=\"button-right\">\n <ng-container *ngTemplateOutlet=\"addonRender; context: { button: _field.rightAddon }\"></ng-container>\n </div>\n }\n </div>\n}\n\n<ng-template\n #addonRender\n let-button=\"button\"\n>\n <s-button\n [label]=\"button.label\"\n [priority]=\"button.priority ?? 'default'\"\n [iconClass]=\"button.icon\"\n [disabled]=\"fieldUtils.fieldPropertyIsDisabled(button.leftAddon)\"\n [auxiliary]=\"false\"\n (clicked)=\"button.callback?.()\"\n />\n</ng-template>\n\n", styles: ["s-number-field.ng-dirty.ng-invalid .p-inputtext{border-color:#c13018}s-number-field.ng-dirty.ng-invalid .p-inputtext:hover{border-color:highlight(#c13018)}.bignumber-field{display:flex;width:100%}.bignumber-field .input-text{width:auto;flex-grow:1}.bignumber-field:has(.button-left) .input-text{border-top-left-radius:0;border-bottom-left-radius:0}.bignumber-field:has(.button-left) .button-left button{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.bignumber-field:has(input:focus) .button-left button{border-color:#428bca!important}.bignumber-field:has(input.ng-invalid.ng-dirty) .button-left button{border-color:#c13018!important}.bignumber-field:has(.button-right) .input-text{border-top-right-radius:0;border-bottom-right-radius:0}.bignumber-field:has(.button-right) .button-right button{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none}.bignumber-field:has(input:focus) .button-right button{border-color:#428bca!important}.bignumber-field:has(input.ng-invalid.ng-dirty) .button-right button{border-color:#c13018!important}\n"] }]
1275
1275
  }], ctorParameters: () => [{ type: i1$4.LocaleService }, { type: i0.ChangeDetectorRef }], propDecorators: { onInput: [{
1276
1276
  type: Output
1277
1277
  }], onFocus: [{
@@ -1617,11 +1617,11 @@ class CurrencyFieldComponent {
1617
1617
  return field.alignTo === 'right' ? NumberAlignmentOption.RIGHT : NumberAlignmentOption.LEFT;
1618
1618
  }
1619
1619
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CurrencyFieldComponent, deps: [{ token: i1$a.CurrencyService }, { token: i1$4.LocaleService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1620
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CurrencyFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "inputRefComponent", first: true, predicate: ["inputRef"], descendants: true, isSignal: true }], ngImport: i0, template: "@let _field = field();\n@if (inputRef()) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef()\"\n ></s-field-label>\n}\n@let hasMask = !!_field.mask;\n<div\n class=\"[input-is-invalid>.button-container>.button-container]:border-[1px] [input-is-invalid>.button-container>.button-container]:border-r-0 [input-is-invalid>.button-container>.button-container]:border-criticality-red [input-is-invalid>.button-container>input]:border-[1px] [input-is-invalid>.button-container>input]:border-criticality-red [input-has-focus>.button-container]:border-[1px] [input-has-focus>.button-container]:border-r-0 [input-has-focus>.button-container]:border-primary flex h-[35px] w-full\"\n [ngClass]=\"{\n '[&:has(.input-mask.ng-invalid.ng-dirty)>.button-container]:border-[1px] [&:has(.input-mask.ng-invalid.ng-dirty)>.button-container]:border-r-0 [&:has(.input-mask.ng-invalid.ng-dirty)>.button-container]:border-criticality-red [&:has(.input-mask.ng-invalid.ng-dirty)>input]:border-[1px] [&:has(.input-mask.ng-invalid.ng-dirty)>input]:border-criticality-red':\n hasMask,\n }\"\n>\n @if (_field.currency || _field.numberLocaleOptions?.currencySymbol) {\n <div\n class=\"button-container flex h-full min-w-10 items-center justify-center rounded-l-[3px] border border-r-0 border-[#c1c1cc] px-[8px]\"\n >\n <span class=\"text-[#212533]\">\n {{\n _field.currency\n ? currencyService.getCurrencySymbol({ currency: _field.currency() })\n : _field.numberLocaleOptions?.currencySymbol\n }}\n </span>\n </div>\n }\n\n @if (hasMask) {\n <p-inputMask\n class=\"input-mask\"\n #inputRef\n type=\"text\"\n [inputId]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [formControl]=\"formControl()\"\n [mask]=\"mask\"\n [placeholder]=\"_field.placeholder\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n styleClass=\"mousetrap !rounded-l-[0px]\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (onFocus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n (onComplete)=\"_field.onComplete ? _field.onComplete($event) : null\"\n (onInput)=\"_field.onInput ? _field.onInput($event) : null\"\n ></p-inputMask>\n } @else if (!hasMask) {\n <input\n #inputRef\n type=\"text\"\n [id]=\"_field.id || _field.name\"\n class=\"h-full w-full rounded-r-[3px] border border-[#c1c1cc] p-2 outline-none focus:border-[1px] focus:border-primary\"\n [name]=\"_field.name\"\n [formControl]=\"formControl()\"\n sNumberInput\n [precision]=\"\n _field.precision\n ? fieldUtils.isFunction(_field.precision)\n ? fieldUtils.trigger(_field.precision)\n : _field.precision\n : _field.currency && _field.currency()\n ? currencies[_field.currency()].precision\n : 15\n \"\n [scale]=\"\n _field.scale\n ? fieldUtils.isFunction(_field.scale)\n ? fieldUtils.trigger(_field.scale)\n : _field.scale\n : _field.currency && _field.currency()\n ? currencies[_field.currency()].scale\n : 2\n \"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator\"\n [thousandsSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator\"\n [alignTo]=\"parseAlignTo(_field)\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n />\n }\n</div>\n\n", dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: InputMaskModule }, { kind: "component", type: i2$1.InputMask, selector: "p-inputmask, p-inputMask, p-input-mask", inputs: ["type", "slotChar", "autoClear", "showClear", "style", "inputId", "styleClass", "placeholder", "size", "maxlength", "tabindex", "title", "variant", "ariaLabel", "ariaLabelledBy", "ariaRequired", "disabled", "readonly", "unmask", "name", "required", "characterPattern", "autofocus", "autoFocus", "autocomplete", "keepBuffer", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown", "onClear"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "ngmodule", type: NumberInputModule }, { kind: "directive", type: i5$1.NumberInputDirective, selector: "input[sNumberInput]", inputs: ["precision", "scale", "decimalSeparator", "thousandsSeparator", "alignTo", "allowNegative", "placeholder"], outputs: ["pasteRejected"] }] });
1620
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CurrencyFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "inputRefComponent", first: true, predicate: ["inputRef"], descendants: true, isSignal: true }], ngImport: i0, template: "@let _field = field();\n@if (inputRef()) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef()\"\n ></s-field-label>\n}\n@let hasMask = !!_field.mask;\n<div\n class=\"[input-is-invalid>.button-container>.button-container]:border-[1px] [input-is-invalid>.button-container>.button-container]:border-r-0 [input-is-invalid>.button-container>.button-container]:border-criticality-red [input-is-invalid>.button-container>input]:border-[1px] [input-is-invalid>.button-container>input]:border-criticality-red [input-has-focus>.button-container]:border-[1px] [input-has-focus>.button-container]:border-r-0 [input-has-focus>.button-container]:border-primary flex h-[35px] w-full\"\n [ngClass]=\"{\n '[&:has(.input-mask.ng-invalid.ng-dirty)>.button-container]:border-[1px] [&:has(.input-mask.ng-invalid.ng-dirty)>.button-container]:border-r-0 [&:has(.input-mask.ng-invalid.ng-dirty)>.button-container]:border-criticality-red [&:has(.input-mask.ng-invalid.ng-dirty)>input]:border-[1px] [&:has(.input-mask.ng-invalid.ng-dirty)>input]:border-criticality-red':\n hasMask,\n }\"\n>\n @if (_field.currency || _field.numberLocaleOptions?.currencySymbol) {\n <div\n class=\"button-container flex h-full min-w-10 items-center justify-center rounded-l-[3px] border border-r-0 border-[#c1c1cc] px-[8px]\"\n >\n <span class=\"text-[#212533]\">\n {{\n _field.currency\n ? currencyService.getCurrencySymbol({ currency: _field.currency() })\n : _field.numberLocaleOptions?.currencySymbol\n }}\n </span>\n </div>\n }\n\n @if (hasMask) {\n <p-inputMask\n class=\"input-mask\"\n #inputRef\n type=\"text\"\n [inputId]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [formControl]=\"formControl()\"\n [mask]=\"mask\"\n [placeholder]=\"_field.placeholder\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n styleClass=\"mousetrap !rounded-l-[0px]\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (onFocus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n (onComplete)=\"_field.onComplete ? _field.onComplete($event) : null\"\n (onInput)=\"_field.onInput ? _field.onInput($event) : null\"\n ></p-inputMask>\n } @else if (!hasMask) {\n <input\n #inputRef\n type=\"text\"\n [id]=\"_field.id || _field.name\"\n class=\"h-full w-full rounded-r-[3px] border border-[#c1c1cc] p-2 outline-none focus:border-[1px] focus:border-primary\"\n [name]=\"_field.name\"\n [formControl]=\"formControl()\"\n sNumberInput\n [precision]=\"\n _field.precision\n ? fieldUtils.isFunction(_field.precision)\n ? fieldUtils.trigger(_field.precision)\n : _field.precision\n : _field.currency && _field.currency()\n ? currencies[_field.currency()].precision\n : 15\n \"\n [scale]=\"\n _field.scale\n ? fieldUtils.isFunction(_field.scale)\n ? fieldUtils.trigger(_field.scale)\n : _field.scale\n : _field.currency && _field.currency()\n ? currencies[_field.currency()].scale\n : 2\n \"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator ?? ''\"\n [thousandsSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator ?? ''\"\n [alignTo]=\"parseAlignTo(_field)\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n />\n }\n</div>\n\n", dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: InputMaskModule }, { kind: "component", type: i2$1.InputMask, selector: "p-inputmask, p-inputMask, p-input-mask", inputs: ["type", "slotChar", "autoClear", "showClear", "style", "inputId", "styleClass", "placeholder", "size", "maxlength", "tabindex", "title", "variant", "ariaLabel", "ariaLabelledBy", "ariaRequired", "disabled", "readonly", "unmask", "name", "required", "characterPattern", "autofocus", "autoFocus", "autocomplete", "keepBuffer", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown", "onClear"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "ngmodule", type: NumberInputModule }, { kind: "directive", type: i5$1.NumberInputDirective, selector: "input[sNumberInput]" }] });
1621
1621
  }
1622
1622
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CurrencyFieldComponent, decorators: [{
1623
1623
  type: Component,
1624
- args: [{ standalone: true, imports: [FieldLabelComponent, NgClass, InputMaskModule, ReactiveFormsModule, TooltipDirective, NumberInputModule], template: "@let _field = field();\n@if (inputRef()) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef()\"\n ></s-field-label>\n}\n@let hasMask = !!_field.mask;\n<div\n class=\"[input-is-invalid>.button-container>.button-container]:border-[1px] [input-is-invalid>.button-container>.button-container]:border-r-0 [input-is-invalid>.button-container>.button-container]:border-criticality-red [input-is-invalid>.button-container>input]:border-[1px] [input-is-invalid>.button-container>input]:border-criticality-red [input-has-focus>.button-container]:border-[1px] [input-has-focus>.button-container]:border-r-0 [input-has-focus>.button-container]:border-primary flex h-[35px] w-full\"\n [ngClass]=\"{\n '[&:has(.input-mask.ng-invalid.ng-dirty)>.button-container]:border-[1px] [&:has(.input-mask.ng-invalid.ng-dirty)>.button-container]:border-r-0 [&:has(.input-mask.ng-invalid.ng-dirty)>.button-container]:border-criticality-red [&:has(.input-mask.ng-invalid.ng-dirty)>input]:border-[1px] [&:has(.input-mask.ng-invalid.ng-dirty)>input]:border-criticality-red':\n hasMask,\n }\"\n>\n @if (_field.currency || _field.numberLocaleOptions?.currencySymbol) {\n <div\n class=\"button-container flex h-full min-w-10 items-center justify-center rounded-l-[3px] border border-r-0 border-[#c1c1cc] px-[8px]\"\n >\n <span class=\"text-[#212533]\">\n {{\n _field.currency\n ? currencyService.getCurrencySymbol({ currency: _field.currency() })\n : _field.numberLocaleOptions?.currencySymbol\n }}\n </span>\n </div>\n }\n\n @if (hasMask) {\n <p-inputMask\n class=\"input-mask\"\n #inputRef\n type=\"text\"\n [inputId]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [formControl]=\"formControl()\"\n [mask]=\"mask\"\n [placeholder]=\"_field.placeholder\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n styleClass=\"mousetrap !rounded-l-[0px]\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (onFocus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n (onComplete)=\"_field.onComplete ? _field.onComplete($event) : null\"\n (onInput)=\"_field.onInput ? _field.onInput($event) : null\"\n ></p-inputMask>\n } @else if (!hasMask) {\n <input\n #inputRef\n type=\"text\"\n [id]=\"_field.id || _field.name\"\n class=\"h-full w-full rounded-r-[3px] border border-[#c1c1cc] p-2 outline-none focus:border-[1px] focus:border-primary\"\n [name]=\"_field.name\"\n [formControl]=\"formControl()\"\n sNumberInput\n [precision]=\"\n _field.precision\n ? fieldUtils.isFunction(_field.precision)\n ? fieldUtils.trigger(_field.precision)\n : _field.precision\n : _field.currency && _field.currency()\n ? currencies[_field.currency()].precision\n : 15\n \"\n [scale]=\"\n _field.scale\n ? fieldUtils.isFunction(_field.scale)\n ? fieldUtils.trigger(_field.scale)\n : _field.scale\n : _field.currency && _field.currency()\n ? currencies[_field.currency()].scale\n : 2\n \"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator\"\n [thousandsSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator\"\n [alignTo]=\"parseAlignTo(_field)\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n />\n }\n</div>\n\n" }]
1624
+ args: [{ standalone: true, imports: [FieldLabelComponent, NgClass, InputMaskModule, ReactiveFormsModule, TooltipDirective, NumberInputModule], template: "@let _field = field();\n@if (inputRef()) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef()\"\n ></s-field-label>\n}\n@let hasMask = !!_field.mask;\n<div\n class=\"[input-is-invalid>.button-container>.button-container]:border-[1px] [input-is-invalid>.button-container>.button-container]:border-r-0 [input-is-invalid>.button-container>.button-container]:border-criticality-red [input-is-invalid>.button-container>input]:border-[1px] [input-is-invalid>.button-container>input]:border-criticality-red [input-has-focus>.button-container]:border-[1px] [input-has-focus>.button-container]:border-r-0 [input-has-focus>.button-container]:border-primary flex h-[35px] w-full\"\n [ngClass]=\"{\n '[&:has(.input-mask.ng-invalid.ng-dirty)>.button-container]:border-[1px] [&:has(.input-mask.ng-invalid.ng-dirty)>.button-container]:border-r-0 [&:has(.input-mask.ng-invalid.ng-dirty)>.button-container]:border-criticality-red [&:has(.input-mask.ng-invalid.ng-dirty)>input]:border-[1px] [&:has(.input-mask.ng-invalid.ng-dirty)>input]:border-criticality-red':\n hasMask,\n }\"\n>\n @if (_field.currency || _field.numberLocaleOptions?.currencySymbol) {\n <div\n class=\"button-container flex h-full min-w-10 items-center justify-center rounded-l-[3px] border border-r-0 border-[#c1c1cc] px-[8px]\"\n >\n <span class=\"text-[#212533]\">\n {{\n _field.currency\n ? currencyService.getCurrencySymbol({ currency: _field.currency() })\n : _field.numberLocaleOptions?.currencySymbol\n }}\n </span>\n </div>\n }\n\n @if (hasMask) {\n <p-inputMask\n class=\"input-mask\"\n #inputRef\n type=\"text\"\n [inputId]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [formControl]=\"formControl()\"\n [mask]=\"mask\"\n [placeholder]=\"_field.placeholder\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n styleClass=\"mousetrap !rounded-l-[0px]\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (onFocus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n (onComplete)=\"_field.onComplete ? _field.onComplete($event) : null\"\n (onInput)=\"_field.onInput ? _field.onInput($event) : null\"\n ></p-inputMask>\n } @else if (!hasMask) {\n <input\n #inputRef\n type=\"text\"\n [id]=\"_field.id || _field.name\"\n class=\"h-full w-full rounded-r-[3px] border border-[#c1c1cc] p-2 outline-none focus:border-[1px] focus:border-primary\"\n [name]=\"_field.name\"\n [formControl]=\"formControl()\"\n sNumberInput\n [precision]=\"\n _field.precision\n ? fieldUtils.isFunction(_field.precision)\n ? fieldUtils.trigger(_field.precision)\n : _field.precision\n : _field.currency && _field.currency()\n ? currencies[_field.currency()].precision\n : 15\n \"\n [scale]=\"\n _field.scale\n ? fieldUtils.isFunction(_field.scale)\n ? fieldUtils.trigger(_field.scale)\n : _field.scale\n : _field.currency && _field.currency()\n ? currencies[_field.currency()].scale\n : 2\n \"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator ?? ''\"\n [thousandsSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator ?? ''\"\n [alignTo]=\"parseAlignTo(_field)\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n />\n }\n</div>\n\n" }]
1625
1625
  }], ctorParameters: () => [{ type: i1$a.CurrencyService }, { type: i1$4.LocaleService }, { type: i0.ChangeDetectorRef }] });
1626
1626
 
1627
1627
  class FileUploadFieldComponent {
@@ -1783,7 +1783,7 @@ class NumberFieldComponent {
1783
1783
  this.inputRef = input;
1784
1784
  }
1785
1785
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NumberFieldComponent, deps: [{ token: i1$4.LocaleService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1786
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: NumberFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onInput: "onInput", onFocus: "onFocus", onComplete: "onComplete" }, ngImport: i0, template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef.nativeElement\"\n />\n}\n\n@let hasMask = !!_field.mask;\n@if (hasMask) {\n <p-inputMask\n #inputRef\n type=\"text\"\n [inputId]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [mask]=\"_field.mask ? fieldUtils.getFieldPropertyMask(_field.mask) : null\"\n [placeholder]=\"_field.placeholder\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n styleClass=\"mousetrap\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (onFocus)=\"onFocus.next($event)\"\n (onComplete)=\"onComplete.next($event)\"\n (onInput)=\"onInput.next($event)\"\n [formControl]=\"formControl()\"\n >\n </p-inputMask>\n} @else if (!hasMask) {\n <div class=\"ui-inputgroup\">\n @if (_field.leftAddon) {\n @if (_field.leftAddon.callback) {\n <span class=\"addon-button addon-button--left\">\n <s-button\n [label]=\"_field.leftAddon.label\"\n [iconClass]=\"_field.leftAddon.icon\"\n [priority]=\"_field.leftAddon.priority\"\n [disabled]=\"fieldUtils.fieldPropertyIsDisabled(_field.leftAddon)\"\n (clicked)=\"_field.leftAddon.callback()\"\n >\n </s-button>\n </span>\n }\n @if (!_field.leftAddon.callback) {\n <span class=\"ui-inputgroup-addon\">\n @if (_field.leftAddon.label) {\n <span>{{ _field.leftAddon.label }}</span>\n } @else if (!_field.leftAddon.label) {\n <span [ngClass]=\"_field.leftAddon.icon\"></span>\n }\n </span>\n }\n }\n\n @if (\n _field.type === 'legacyNumber' && _field.localizedNumber && _field.alignTo === numberAlignmentOption.LEFT\n ) {\n <ng-container *ngTemplateOutlet=\"localizedNumber\"></ng-container>\n } @else {\n <ng-container *ngTemplateOutlet=\"input\"></ng-container>\n }\n\n @if (_field.rightAddon) {\n @if (_field.rightAddon.callback) {\n <span class=\"addon-button addon-button--right\">\n <s-button\n [label]=\"_field.rightAddon.label\"\n [iconClass]=\"_field.rightAddon.icon\"\n [priority]=\"_field.rightAddon.priority\"\n [disabled]=\"fieldUtils.fieldPropertyIsDisabled(_field.rightAddon)\"\n (clicked)=\"_field.rightAddon.callback()\"\n >\n </s-button>\n </span>\n }\n @if (!_field.rightAddon.callback) {\n <span class=\"ui-inputgroup-addon\">\n @if (_field.rightAddon.label) {\n {{ _field.rightAddon.label }}\n } @else if (!_field.rightAddon.label) {\n <span [ngClass]=\"_field.rightAddon.icon\"></span>\n }\n </span>\n }\n }\n </div>\n}\n\n<ng-template #input>\n <input\n #inputRef\n [id]=\"_field.id || _field.name\"\n type=\"text\"\n [name]=\"_field.name\"\n sNumberInput\n [precision]=\"fieldUtils.isFunction(_field.precision) ? fieldUtils.trigger(_field.precision) : _field.precision\"\n [scale]=\"fieldUtils.isFunction(_field.scale) ? fieldUtils.trigger(_field.scale) : _field.scale\"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator\"\n [thousandsSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator\"\n [alignTo]=\"_field.alignTo ?? numberAlignmentOption.LEFT\"\n ;\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n pInputText\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl()\"\n />\n</ng-template>\n<ng-template #localizedNumber>\n <input\n #inputRef\n [id]=\"_field.id || _field.name\"\n type=\"text\"\n [name]=\"_field.name\"\n sLocalizedNumberInput\n [precision]=\"fieldUtils.isFunction(_field.precision) ? fieldUtils.trigger(_field.precision) : _field.precision\"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator\"\n [thousandsSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n pInputText\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl()\"\n />\n</ng-template>\n\n", styles: ["s-number-field.ng-dirty.ng-invalid .ui-inputtext{border-color:#c13018}s-number-field.ng-dirty.ng-invalid .ui-inputtext:hover{border-color:highlight(#c13018)}.addon-button{border:1px solid #c1c1cc}.addon-button s-button button,.addon-button s-button .s-button-with-text{height:100%;min-width:40px}.addon-button--left{border-radius:5px 0 0 5px;border-right:none}.addon-button--left s-button button{border-bottom-right-radius:0;border-top-right-radius:0}.addon-button--right{border-left:none;border-radius:0 5px 5px 0}.addon-button--right s-button button{border-bottom-left-radius:0;border-top-left-radius:0}\n"], dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "ngmodule", type: InputMaskModule }, { kind: "component", type: i2$1.InputMask, selector: "p-inputmask, p-inputMask, p-input-mask", inputs: ["type", "slotChar", "autoClear", "showClear", "style", "inputId", "styleClass", "placeholder", "size", "maxlength", "tabindex", "title", "variant", "ariaLabel", "ariaLabelledBy", "ariaRequired", "disabled", "readonly", "unmask", "name", "required", "characterPattern", "autofocus", "autoFocus", "autocomplete", "keepBuffer", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown", "onClear"] }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor", "menuAriaLabel"], outputs: ["clicked"] }, { kind: "ngmodule", type: LocalizedNumberInputModule }, { kind: "directive", type: i4$2.LocalizedNumberInputDirective, selector: "input[sLocalizedNumberInput]", inputs: ["decimalSeparator", "thousandsSeparator", "precision"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: NumberInputModule }, { kind: "directive", type: i5$1.NumberInputDirective, selector: "input[sNumberInput]", inputs: ["precision", "scale", "decimalSeparator", "thousandsSeparator", "alignTo", "allowNegative", "placeholder"], outputs: ["pasteRejected"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i5.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }], encapsulation: i0.ViewEncapsulation.None });
1786
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: NumberFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onInput: "onInput", onFocus: "onFocus", onComplete: "onComplete" }, ngImport: i0, template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef.nativeElement\"\n />\n}\n\n@let hasMask = !!_field.mask;\n@if (hasMask) {\n <p-inputMask\n #inputRef\n type=\"text\"\n [inputId]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [mask]=\"_field.mask ? fieldUtils.getFieldPropertyMask(_field.mask) : null\"\n [placeholder]=\"_field.placeholder\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n styleClass=\"mousetrap\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (onFocus)=\"onFocus.next($event)\"\n (onComplete)=\"onComplete.next($event)\"\n (onInput)=\"onInput.next($event)\"\n [formControl]=\"formControl()\"\n >\n </p-inputMask>\n} @else if (!hasMask) {\n <div class=\"ui-inputgroup\">\n @if (_field.leftAddon) {\n @if (_field.leftAddon.callback) {\n <span class=\"addon-button addon-button--left\">\n <s-button\n [label]=\"_field.leftAddon.label\"\n [iconClass]=\"_field.leftAddon.icon\"\n [priority]=\"_field.leftAddon.priority\"\n [disabled]=\"fieldUtils.fieldPropertyIsDisabled(_field.leftAddon)\"\n (clicked)=\"_field.leftAddon.callback()\"\n >\n </s-button>\n </span>\n }\n @if (!_field.leftAddon.callback) {\n <span class=\"ui-inputgroup-addon\">\n @if (_field.leftAddon.label) {\n <span>{{ _field.leftAddon.label }}</span>\n } @else if (!_field.leftAddon.label) {\n <span [ngClass]=\"_field.leftAddon.icon\"></span>\n }\n </span>\n }\n }\n\n @if (\n _field.type === 'legacyNumber' && _field.localizedNumber && _field.alignTo === numberAlignmentOption.LEFT\n ) {\n <ng-container *ngTemplateOutlet=\"localizedNumber\"></ng-container>\n } @else {\n <ng-container *ngTemplateOutlet=\"input\"></ng-container>\n }\n\n @if (_field.rightAddon) {\n @if (_field.rightAddon.callback) {\n <span class=\"addon-button addon-button--right\">\n <s-button\n [label]=\"_field.rightAddon.label\"\n [iconClass]=\"_field.rightAddon.icon\"\n [priority]=\"_field.rightAddon.priority\"\n [disabled]=\"fieldUtils.fieldPropertyIsDisabled(_field.rightAddon)\"\n (clicked)=\"_field.rightAddon.callback()\"\n >\n </s-button>\n </span>\n }\n @if (!_field.rightAddon.callback) {\n <span class=\"ui-inputgroup-addon\">\n @if (_field.rightAddon.label) {\n {{ _field.rightAddon.label }}\n } @else if (!_field.rightAddon.label) {\n <span [ngClass]=\"_field.rightAddon.icon\"></span>\n }\n </span>\n }\n }\n </div>\n}\n\n<ng-template #input>\n <input\n #inputRef\n [id]=\"_field.id || _field.name\"\n type=\"text\"\n [name]=\"_field.name\"\n sNumberInput\n [precision]=\"fieldUtils.isFunction(_field.precision) ? fieldUtils.trigger(_field.precision) : _field.precision\"\n [scale]=\"fieldUtils.isFunction(_field.scale) ? fieldUtils.trigger(_field.scale) : _field.scale\"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator ?? ''\"\n [thousandsSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator ?? ''\"\n [alignTo]=\"_field.alignTo ?? numberAlignmentOption.LEFT\"\n ;\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n pInputText\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl()\"\n />\n</ng-template>\n<ng-template #localizedNumber>\n <input\n #inputRef\n [id]=\"_field.id || _field.name\"\n type=\"text\"\n [name]=\"_field.name\"\n sLocalizedNumberInput\n [precision]=\"fieldUtils.isFunction(_field.precision) ? fieldUtils.trigger(_field.precision) : _field.precision\"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator\"\n [thousandsSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n pInputText\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl()\"\n />\n</ng-template>\n\n", styles: ["s-number-field.ng-dirty.ng-invalid .ui-inputtext{border-color:#c13018}s-number-field.ng-dirty.ng-invalid .ui-inputtext:hover{border-color:highlight(#c13018)}.addon-button{border:1px solid #c1c1cc}.addon-button s-button button,.addon-button s-button .s-button-with-text{height:100%;min-width:40px}.addon-button--left{border-radius:5px 0 0 5px;border-right:none}.addon-button--left s-button button{border-bottom-right-radius:0;border-top-right-radius:0}.addon-button--right{border-left:none;border-radius:0 5px 5px 0}.addon-button--right s-button button{border-bottom-left-radius:0;border-top-left-radius:0}\n"], dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "ngmodule", type: InputMaskModule }, { kind: "component", type: i2$1.InputMask, selector: "p-inputmask, p-inputMask, p-input-mask", inputs: ["type", "slotChar", "autoClear", "showClear", "style", "inputId", "styleClass", "placeholder", "size", "maxlength", "tabindex", "title", "variant", "ariaLabel", "ariaLabelledBy", "ariaRequired", "disabled", "readonly", "unmask", "name", "required", "characterPattern", "autofocus", "autoFocus", "autocomplete", "keepBuffer", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown", "onClear"] }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor", "menuAriaLabel"], outputs: ["clicked"] }, { kind: "ngmodule", type: LocalizedNumberInputModule }, { kind: "directive", type: i4$2.LocalizedNumberInputDirective, selector: "input[sLocalizedNumberInput]", inputs: ["decimalSeparator", "thousandsSeparator", "precision"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: NumberInputModule }, { kind: "directive", type: i5$1.NumberInputDirective, selector: "input[sNumberInput]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i5.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }], encapsulation: i0.ViewEncapsulation.None });
1787
1787
  }
1788
1788
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NumberFieldComponent, decorators: [{
1789
1789
  type: Component,
@@ -1798,7 +1798,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
1798
1798
  NumberInputModule,
1799
1799
  NgTemplateOutlet,
1800
1800
  InputTextModule,
1801
- ], encapsulation: ViewEncapsulation.None, template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef.nativeElement\"\n />\n}\n\n@let hasMask = !!_field.mask;\n@if (hasMask) {\n <p-inputMask\n #inputRef\n type=\"text\"\n [inputId]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [mask]=\"_field.mask ? fieldUtils.getFieldPropertyMask(_field.mask) : null\"\n [placeholder]=\"_field.placeholder\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n styleClass=\"mousetrap\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (onFocus)=\"onFocus.next($event)\"\n (onComplete)=\"onComplete.next($event)\"\n (onInput)=\"onInput.next($event)\"\n [formControl]=\"formControl()\"\n >\n </p-inputMask>\n} @else if (!hasMask) {\n <div class=\"ui-inputgroup\">\n @if (_field.leftAddon) {\n @if (_field.leftAddon.callback) {\n <span class=\"addon-button addon-button--left\">\n <s-button\n [label]=\"_field.leftAddon.label\"\n [iconClass]=\"_field.leftAddon.icon\"\n [priority]=\"_field.leftAddon.priority\"\n [disabled]=\"fieldUtils.fieldPropertyIsDisabled(_field.leftAddon)\"\n (clicked)=\"_field.leftAddon.callback()\"\n >\n </s-button>\n </span>\n }\n @if (!_field.leftAddon.callback) {\n <span class=\"ui-inputgroup-addon\">\n @if (_field.leftAddon.label) {\n <span>{{ _field.leftAddon.label }}</span>\n } @else if (!_field.leftAddon.label) {\n <span [ngClass]=\"_field.leftAddon.icon\"></span>\n }\n </span>\n }\n }\n\n @if (\n _field.type === 'legacyNumber' && _field.localizedNumber && _field.alignTo === numberAlignmentOption.LEFT\n ) {\n <ng-container *ngTemplateOutlet=\"localizedNumber\"></ng-container>\n } @else {\n <ng-container *ngTemplateOutlet=\"input\"></ng-container>\n }\n\n @if (_field.rightAddon) {\n @if (_field.rightAddon.callback) {\n <span class=\"addon-button addon-button--right\">\n <s-button\n [label]=\"_field.rightAddon.label\"\n [iconClass]=\"_field.rightAddon.icon\"\n [priority]=\"_field.rightAddon.priority\"\n [disabled]=\"fieldUtils.fieldPropertyIsDisabled(_field.rightAddon)\"\n (clicked)=\"_field.rightAddon.callback()\"\n >\n </s-button>\n </span>\n }\n @if (!_field.rightAddon.callback) {\n <span class=\"ui-inputgroup-addon\">\n @if (_field.rightAddon.label) {\n {{ _field.rightAddon.label }}\n } @else if (!_field.rightAddon.label) {\n <span [ngClass]=\"_field.rightAddon.icon\"></span>\n }\n </span>\n }\n }\n </div>\n}\n\n<ng-template #input>\n <input\n #inputRef\n [id]=\"_field.id || _field.name\"\n type=\"text\"\n [name]=\"_field.name\"\n sNumberInput\n [precision]=\"fieldUtils.isFunction(_field.precision) ? fieldUtils.trigger(_field.precision) : _field.precision\"\n [scale]=\"fieldUtils.isFunction(_field.scale) ? fieldUtils.trigger(_field.scale) : _field.scale\"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator\"\n [thousandsSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator\"\n [alignTo]=\"_field.alignTo ?? numberAlignmentOption.LEFT\"\n ;\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n pInputText\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl()\"\n />\n</ng-template>\n<ng-template #localizedNumber>\n <input\n #inputRef\n [id]=\"_field.id || _field.name\"\n type=\"text\"\n [name]=\"_field.name\"\n sLocalizedNumberInput\n [precision]=\"fieldUtils.isFunction(_field.precision) ? fieldUtils.trigger(_field.precision) : _field.precision\"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator\"\n [thousandsSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n pInputText\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl()\"\n />\n</ng-template>\n\n", styles: ["s-number-field.ng-dirty.ng-invalid .ui-inputtext{border-color:#c13018}s-number-field.ng-dirty.ng-invalid .ui-inputtext:hover{border-color:highlight(#c13018)}.addon-button{border:1px solid #c1c1cc}.addon-button s-button button,.addon-button s-button .s-button-with-text{height:100%;min-width:40px}.addon-button--left{border-radius:5px 0 0 5px;border-right:none}.addon-button--left s-button button{border-bottom-right-radius:0;border-top-right-radius:0}.addon-button--right{border-left:none;border-radius:0 5px 5px 0}.addon-button--right s-button button{border-bottom-left-radius:0;border-top-left-radius:0}\n"] }]
1801
+ ], encapsulation: ViewEncapsulation.None, template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef.nativeElement\"\n />\n}\n\n@let hasMask = !!_field.mask;\n@if (hasMask) {\n <p-inputMask\n #inputRef\n type=\"text\"\n [inputId]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [mask]=\"_field.mask ? fieldUtils.getFieldPropertyMask(_field.mask) : null\"\n [placeholder]=\"_field.placeholder\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n styleClass=\"mousetrap\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (onFocus)=\"onFocus.next($event)\"\n (onComplete)=\"onComplete.next($event)\"\n (onInput)=\"onInput.next($event)\"\n [formControl]=\"formControl()\"\n >\n </p-inputMask>\n} @else if (!hasMask) {\n <div class=\"ui-inputgroup\">\n @if (_field.leftAddon) {\n @if (_field.leftAddon.callback) {\n <span class=\"addon-button addon-button--left\">\n <s-button\n [label]=\"_field.leftAddon.label\"\n [iconClass]=\"_field.leftAddon.icon\"\n [priority]=\"_field.leftAddon.priority\"\n [disabled]=\"fieldUtils.fieldPropertyIsDisabled(_field.leftAddon)\"\n (clicked)=\"_field.leftAddon.callback()\"\n >\n </s-button>\n </span>\n }\n @if (!_field.leftAddon.callback) {\n <span class=\"ui-inputgroup-addon\">\n @if (_field.leftAddon.label) {\n <span>{{ _field.leftAddon.label }}</span>\n } @else if (!_field.leftAddon.label) {\n <span [ngClass]=\"_field.leftAddon.icon\"></span>\n }\n </span>\n }\n }\n\n @if (\n _field.type === 'legacyNumber' && _field.localizedNumber && _field.alignTo === numberAlignmentOption.LEFT\n ) {\n <ng-container *ngTemplateOutlet=\"localizedNumber\"></ng-container>\n } @else {\n <ng-container *ngTemplateOutlet=\"input\"></ng-container>\n }\n\n @if (_field.rightAddon) {\n @if (_field.rightAddon.callback) {\n <span class=\"addon-button addon-button--right\">\n <s-button\n [label]=\"_field.rightAddon.label\"\n [iconClass]=\"_field.rightAddon.icon\"\n [priority]=\"_field.rightAddon.priority\"\n [disabled]=\"fieldUtils.fieldPropertyIsDisabled(_field.rightAddon)\"\n (clicked)=\"_field.rightAddon.callback()\"\n >\n </s-button>\n </span>\n }\n @if (!_field.rightAddon.callback) {\n <span class=\"ui-inputgroup-addon\">\n @if (_field.rightAddon.label) {\n {{ _field.rightAddon.label }}\n } @else if (!_field.rightAddon.label) {\n <span [ngClass]=\"_field.rightAddon.icon\"></span>\n }\n </span>\n }\n }\n </div>\n}\n\n<ng-template #input>\n <input\n #inputRef\n [id]=\"_field.id || _field.name\"\n type=\"text\"\n [name]=\"_field.name\"\n sNumberInput\n [precision]=\"fieldUtils.isFunction(_field.precision) ? fieldUtils.trigger(_field.precision) : _field.precision\"\n [scale]=\"fieldUtils.isFunction(_field.scale) ? fieldUtils.trigger(_field.scale) : _field.scale\"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator ?? ''\"\n [thousandsSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator ?? ''\"\n [alignTo]=\"_field.alignTo ?? numberAlignmentOption.LEFT\"\n ;\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n pInputText\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl()\"\n />\n</ng-template>\n<ng-template #localizedNumber>\n <input\n #inputRef\n [id]=\"_field.id || _field.name\"\n type=\"text\"\n [name]=\"_field.name\"\n sLocalizedNumberInput\n [precision]=\"fieldUtils.isFunction(_field.precision) ? fieldUtils.trigger(_field.precision) : _field.precision\"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator\"\n [thousandsSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n pInputText\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl()\"\n />\n</ng-template>\n\n", styles: ["s-number-field.ng-dirty.ng-invalid .ui-inputtext{border-color:#c13018}s-number-field.ng-dirty.ng-invalid .ui-inputtext:hover{border-color:highlight(#c13018)}.addon-button{border:1px solid #c1c1cc}.addon-button s-button button,.addon-button s-button .s-button-with-text{height:100%;min-width:40px}.addon-button--left{border-radius:5px 0 0 5px;border-right:none}.addon-button--left s-button button{border-bottom-right-radius:0;border-top-right-radius:0}.addon-button--right{border-left:none;border-radius:0 5px 5px 0}.addon-button--right s-button button{border-bottom-left-radius:0;border-top-left-radius:0}\n"] }]
1802
1802
  }], ctorParameters: () => [{ type: i1$4.LocaleService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { onInput: [{
1803
1803
  type: Output
1804
1804
  }], onFocus: [{