@fitcoders/shared 1.0.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 (32) hide show
  1. package/README.md +24 -0
  2. package/esm2020/fitcoders-shared.mjs +5 -0
  3. package/esm2020/lib/constant/shared.const.mjs +200 -0
  4. package/esm2020/lib/directive/directive-api.mjs +9 -0
  5. package/esm2020/lib/directive/directive.module.mjs +47 -0
  6. package/esm2020/lib/directive/directives/control-error.directive.mjs +89 -0
  7. package/esm2020/lib/directive/directives/hover.directive.mjs +42 -0
  8. package/esm2020/lib/directive/directives/input.directive.mjs +48 -0
  9. package/esm2020/lib/directive/directives/scroll.directive.mjs +45 -0
  10. package/esm2020/lib/directive/directives/sensitive.directive.mjs +32 -0
  11. package/esm2020/lib/pipe/pipe-api.mjs +5 -0
  12. package/esm2020/lib/pipe/pipe.module.mjs +31 -0
  13. package/esm2020/lib/pipe/pipes/money.pipe.mjs +28 -0
  14. package/esm2020/public-api.mjs +4 -0
  15. package/fesm2015/fitcoders-shared.mjs +550 -0
  16. package/fesm2015/fitcoders-shared.mjs.map +1 -0
  17. package/fesm2020/fitcoders-shared.mjs +550 -0
  18. package/fesm2020/fitcoders-shared.mjs.map +1 -0
  19. package/fitcoders-shared.d.ts +5 -0
  20. package/lib/constant/shared.const.d.ts +199 -0
  21. package/lib/directive/directive-api.d.ts +6 -0
  22. package/lib/directive/directive.module.d.ts +12 -0
  23. package/lib/directive/directives/control-error.directive.d.ts +25 -0
  24. package/lib/directive/directives/hover.directive.d.ts +13 -0
  25. package/lib/directive/directives/input.directive.d.ts +14 -0
  26. package/lib/directive/directives/scroll.directive.d.ts +16 -0
  27. package/lib/directive/directives/sensitive.directive.d.ts +10 -0
  28. package/lib/pipe/pipe-api.d.ts +2 -0
  29. package/lib/pipe/pipe.module.d.ts +8 -0
  30. package/lib/pipe/pipes/money.pipe.d.ts +13 -0
  31. package/package.json +31 -0
  32. package/public-api.d.ts +3 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fitcoders-shared.mjs","sources":["../../../projects/shared/src/lib/constant/shared.const.ts","../../../projects/shared/src/lib/directive/directives/hover.directive.ts","../../../projects/shared/src/lib/directive/directives/input.directive.ts","../../../projects/shared/src/lib/directive/directives/scroll.directive.ts","../../../projects/shared/src/lib/directive/directives/sensitive.directive.ts","../../../projects/shared/src/lib/directive/directives/control-error.directive.ts","../../../projects/shared/src/lib/directive/directive.module.ts","../../../projects/shared/src/lib/directive/directive-api.ts","../../../projects/shared/src/lib/pipe/pipes/money.pipe.ts","../../../projects/shared/src/lib/pipe/pipe.module.ts","../../../projects/shared/src/lib/pipe/pipe-api.ts","../../../projects/shared/src/fitcoders-shared.ts"],"sourcesContent":["export const FitRegexConst = {\r\n number: new RegExp(/^[0-9]\\d*$/),\r\n decimal: new RegExp(/^[0-9]+(\\.[0-9]*){0,1}$/),\r\n percent: new RegExp(/^[1-9][0-9]*$/),\r\n alphabetical: /^[a-zA-Z\\u00C0-\\u00FF]+$/,\r\n alphabeticals: /^[a-zA-Z\\u00C0-\\u00FF ]+$/,\r\n alphanumeric: new RegExp(/^[0-9a-zA-Z\\u00C0-\\u00FF]+$/),\r\n alphanumerics: new RegExp(/^[0-9a-zA-Z\\u00C0-\\u00FF ]+$/),\r\n cell: new RegExp(/^9[0-9]*$/),\r\n noSpaces: new RegExp(/^\\S*$/gmi)\r\n};\r\n\r\nexport const FitCurrencyConst = {\r\n AED: 'د.إ',\r\n AFN: '؋',\r\n ALL: 'L',\r\n AMD: '֏',\r\n ANG: 'ƒ',\r\n AOA: 'Kz',\r\n ARS: '$',\r\n AUD: '$',\r\n AWG: 'ƒ',\r\n AZN: '₼',\r\n BAM: 'KM',\r\n BBD: '$',\r\n BDT: '৳',\r\n BGN: 'лв',\r\n BHD: '.د.ب',\r\n BIF: 'FBu',\r\n BMD: '$',\r\n BND: '$',\r\n BOB: '$b',\r\n BOV: 'BOV',\r\n BRL: 'R$',\r\n BSD: '$',\r\n BTC: '₿',\r\n BTN: 'Nu.',\r\n BWP: 'P',\r\n BYN: 'Br',\r\n BYR: 'Br',\r\n BZD: 'BZ$',\r\n CAD: '$',\r\n CDF: 'FC',\r\n CHE: 'CHE',\r\n CHF: 'CHF',\r\n CHW: 'CHW',\r\n CLF: 'CLF',\r\n CLP: '$',\r\n CNY: '¥',\r\n COP: '$',\r\n COU: 'COU',\r\n CRC: '₡',\r\n CUC: '$',\r\n CUP: '₱',\r\n CVE: '$',\r\n CZK: 'Kč',\r\n DJF: 'Fdj',\r\n DKK: 'kr',\r\n DOP: 'RD$',\r\n DZD: 'دج',\r\n EEK: 'kr',\r\n EGP: '£',\r\n ERN: 'Nfk',\r\n ETB: 'Br',\r\n ETH: 'Ξ',\r\n EUR: '€',\r\n FJD: '$',\r\n FKP: '£',\r\n GBP: '£',\r\n GEL: '₾',\r\n GGP: '£',\r\n GHC: '₵',\r\n GHS: 'GH₵',\r\n GIP: '£',\r\n GMD: 'D',\r\n GNF: 'FG',\r\n GTQ: 'Q',\r\n GYD: '$',\r\n HKD: '$',\r\n HNL: 'L',\r\n HRK: 'kn',\r\n HTG: 'G',\r\n HUF: 'Ft',\r\n IDR: 'Rp',\r\n ILS: '₪',\r\n IMP: '£',\r\n INR: '₹',\r\n IQD: 'ع.د',\r\n IRR: '﷼',\r\n ISK: 'kr',\r\n JEP: '£',\r\n JMD: 'J$',\r\n JOD: 'JD',\r\n JPY: '¥',\r\n KES: 'KSh',\r\n KGS: 'лв',\r\n KHR: '៛',\r\n KMF: 'CF',\r\n KPW: '₩',\r\n KRW: '₩',\r\n KWD: 'KD',\r\n KYD: '$',\r\n KZT: '₸',\r\n LAK: '₭',\r\n LBP: '£',\r\n LKR: '₨',\r\n LRD: '$',\r\n LSL: 'M',\r\n LTC: 'Ł',\r\n LTL: 'Lt',\r\n LVL: 'Ls',\r\n LYD: 'LD',\r\n MAD: 'MAD',\r\n MDL: 'lei',\r\n MGA: 'Ar',\r\n MKD: 'ден',\r\n MMK: 'K',\r\n MNT: '₮',\r\n MOP: 'MOP$',\r\n MRO: 'UM',\r\n MRU: 'UM',\r\n MUR: '₨',\r\n MVR: 'Rf',\r\n MWK: 'MK',\r\n MXN: '$',\r\n MXV: 'MXV',\r\n MYR: 'RM',\r\n MZN: 'MT',\r\n NAD: '$',\r\n NGN: '₦',\r\n NIO: 'C$',\r\n NOK: 'kr',\r\n NPR: '₨',\r\n NZD: '$',\r\n OMR: '﷼',\r\n PAB: 'B/.',\r\n PEN: 'S/.',\r\n PGK: 'K',\r\n PHP: '₱',\r\n PKR: '₨',\r\n PLN: 'zł',\r\n PYG: 'Gs',\r\n QAR: '﷼',\r\n RMB: '¥',\r\n RON: 'lei',\r\n RSD: 'Дин.',\r\n RUB: '₽',\r\n RWF: 'R₣',\r\n SAR: '﷼',\r\n SBD: '$',\r\n SCR: '₨',\r\n SDG: 'ج.س.',\r\n SEK: 'kr',\r\n SGD: 'S$',\r\n SHP: '£',\r\n SLL: 'Le',\r\n SOS: 'S',\r\n SRD: '$',\r\n SSP: '£',\r\n STD: 'Db',\r\n STN: 'Db',\r\n SVC: '$',\r\n SYP: '£',\r\n SZL: 'E',\r\n THB: '฿',\r\n TJS: 'SM',\r\n TMT: 'T',\r\n TND: 'د.ت',\r\n TOP: 'T$',\r\n TRL: '₤',\r\n TRY: '₺',\r\n TTD: 'TT$',\r\n TVD: '$',\r\n TWD: 'NT$',\r\n TZS: 'TSh',\r\n UAH: '₴',\r\n UGX: 'USh',\r\n USD: '$',\r\n UYI: 'UYI',\r\n UYU: '$U',\r\n UYW: 'UYW',\r\n UZS: 'лв',\r\n VEF: 'Bs',\r\n VES: 'Bs.S',\r\n VND: '₫',\r\n VUV: 'VT',\r\n WST: 'WS$',\r\n XAF: 'FCFA',\r\n XBT: 'Ƀ',\r\n XCD: '$',\r\n XOF: 'CFA',\r\n XPF: '₣',\r\n XSU: 'Sucre',\r\n XUA: 'XUA',\r\n YER: '﷼',\r\n ZAR: 'R',\r\n ZMW: 'ZK',\r\n ZWD: 'Z$',\r\n ZWL: '$'\r\n};\r\n","import {Directive, ElementRef, HostListener, Input} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[fitHover]'\r\n})\r\nexport class HoverDirective {\r\n @Input('fitHover') hover = '';\r\n\r\n constructor(private readonly elementRef: ElementRef) {\r\n }\r\n\r\n @HostListener('mouseenter') onMouseEnter() {\r\n this.setHoverEffect();\r\n }\r\n\r\n @HostListener('mouseleave') onMouseLeave() {\r\n this.removeHoverEffect();\r\n }\r\n\r\n private setHoverEffect() {\r\n for (const _class of this.hover.split(' ')) {\r\n this.elementRef.nativeElement.classList.add(_class);\r\n }\r\n }\r\n\r\n private removeHoverEffect() {\r\n for (const _class of this.hover.split(' ')) {\r\n this.elementRef.nativeElement.classList.remove(_class);\r\n }\r\n }\r\n}\r\n","import {Directive, ElementRef, HostListener, Input} from '@angular/core';\r\nimport {FitRegexConst} from '../../constant/shared.const';\r\n\r\nexport type FitPattern = '' | 'number' | 'decimal' | 'percent' | 'alphabetical' | 'alphanumeric' | 'cell' | 'noSpaces';\r\n\r\n@Directive({\r\n selector: '[fitInput]'\r\n})\r\nexport class InputDirective {\r\n @Input('fitInput') input: FitPattern = '';\r\n @Input() space = false;\r\n\r\n private _regex: any = FitRegexConst;\r\n private _specialKeys = ['Backspace', 'Tab', 'Enter', 'Escape', 'End', 'Home', 'ArrowLeft', 'ArrowRight', 'Delete'];\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(event: KeyboardEvent) {\r\n if (!this.input) {\r\n return;\r\n }\r\n if (this._specialKeys.indexOf(event.key) !== -1\r\n || (event.keyCode === 65 && event.ctrlKey) // Allow: Ctrl+A\r\n || (event.keyCode === 67 && event.ctrlKey) // Allow: Ctrl+C\r\n || (event.keyCode === 86 && event.ctrlKey) // Allow: Ctrl+V\r\n || (event.keyCode === 88 && event.ctrlKey) // Allow: Ctrl+X\r\n ) {\r\n return;\r\n }\r\n\r\n const current: string = this.el.nativeElement.value;\r\n const next: string = current.concat(event.key);\r\n const input = this.space && (this.input === 'alphabetical' || this.input === 'alphanumeric') ? `${this.input}s` : this.input;\r\n if (next && !String(next).match(this._regex[input])) {\r\n event.preventDefault();\r\n }\r\n }\r\n}\r\n","import {Directive, HostListener, Output, EventEmitter, Input} from '@angular/core';\r\n\r\nexport type SE = {\r\n header: boolean,\r\n bottom: boolean\r\n};\r\n\r\ndeclare const window: Window;\r\n\r\n@Directive({\r\n selector: '[fitScroll]'\r\n})\r\n\r\nexport class ScrollDirective {\r\n @Output() public onScroll = new EventEmitter<SE>();\r\n\r\n constructor() {\r\n }\r\n\r\n @HostListener('scroll', ['$event'])\r\n public scrolled($event: Event) {\r\n this.elementSE($event);\r\n }\r\n\r\n @HostListener('window:scroll', ['$event'])\r\n public windowScrolled($event: Event) {\r\n this.windowSE($event);\r\n }\r\n\r\n protected windowSE($event: Event) {\r\n const target = <Document> $event.target;\r\n const scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\r\n const header = scrollTop < 200;\r\n const bottom = scrollTop > 200;\r\n const emitVal: SE = {header, bottom};\r\n this.onScroll.emit(emitVal);\r\n }\r\n\r\n protected elementSE($event: Event) {\r\n const target = <HTMLElement> $event.target;\r\n const header = target.scrollTop < 200;\r\n const bottom = target.scrollTop > 200;\r\n const emitVal: SE = {header, bottom};\r\n this.onScroll.emit(emitVal);\r\n }\r\n\r\n}\r\n","import {Directive, ElementRef, HostListener, Input} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[fitSensitive]'\r\n})\r\nexport class SensitiveDirective {\r\n @Input('fitSensitive') caseType: 'upper' | 'lower' | '' = '';\r\n\r\n constructor(private _el: ElementRef) {\r\n }\r\n\r\n @HostListener('input', ['$event']) onKeyUp(event: any) {\r\n const value = event.target.value;\r\n if (this.caseType === 'upper') {\r\n event.target.value = value.toUpperCase();\r\n } else if (this.caseType === 'lower') {\r\n event.target.value = value.toLowerCase();\r\n }\r\n }\r\n}\r\n","import {AfterViewInit, Directive, ElementRef, Input, Renderer2} from '@angular/core';\r\nimport {AbstractControl} from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[fitControlError]'\r\n})\r\nexport class ControlErrorDirective implements AfterViewInit {\r\n private FORMAT = 'DD/MM/YYYY';\r\n private _control: AbstractControl | undefined;\r\n\r\n @Input() msgRequired = 'El campo es obligatorio';\r\n @Input() msgMinlength = 'Ingrese mínimo {requiredLength} caracteres';\r\n @Input() msgMaxlength = 'Ingrese máximo {requiredLength} caracteres';\r\n @Input() msgPattern = 'El formato del valor es inválido';\r\n @Input() msgInvalidDate = 'La fecha es inválida';\r\n @Input() msgMinDate = 'La fecha mínima es {minDate}';\r\n @Input() msgMaxDate = 'La fecha máxima es {maxDate}';\r\n\r\n @Input()\r\n set control(value: AbstractControl) {\r\n this._control = value;\r\n this._control.valueChanges.subscribe(() => {\r\n this.loadError();\r\n });\r\n }\r\n\r\n get control(): AbstractControl {\r\n return <AbstractControl>this._control;\r\n }\r\n\r\n constructor(private readonly _elementRef: ElementRef,\r\n private readonly render2: Renderer2) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.removeHtml();\r\n }\r\n\r\n private loadError() {\r\n if (this.control && (this.control.dirty || this.control.touched) && this.control.errors) {\r\n this.removeHtml();\r\n if (this.control.errors['required'] && !this.control.errors['matDatepickerParse']) {\r\n this.createHtml(this.msgRequired);\r\n } else if (this.control.errors['minlength']) {\r\n this.createHtml(this.msgMinlength.replace('{requiredLength}', this.control.errors['minlength'].requiredLength));\r\n } else if (this.control.errors['maxlength'] && !this.control.errors['minlength']) {\r\n this.createHtml(this.msgMaxlength.replace('{requiredLength}', this.control.errors['maxlength'].requiredLength));\r\n } else if (this.control.errors['pattern'] && !this.control.errors['maxlength'] && !this.control.errors['minlength']) {\r\n this.createHtml(this.msgPattern);\r\n } else if (this.control.errors['matDatepickerParse'] && this.control.errors['matDatepickerParse'].text) {\r\n this.createHtml(this.msgInvalidDate);\r\n } else if (this.control.errors['matDatepickerMin'] && this.control.errors['matDatepickerMin'].min) {\r\n const minDate = this.control.errors['matDatepickerMin'].min.format(this.FORMAT);\r\n this.createHtml(this.msgMinDate.replace('{minDate}', minDate));\r\n } else if (this.control.errors['matDatepickerMax'] && this.control.errors['matDatepickerMax'].max) {\r\n const maxDate = this.control.errors['matDatepickerMax'].max.format(this.FORMAT);\r\n this.createHtml(this.msgMaxDate.replace('{maxDate}', maxDate));\r\n }\r\n }\r\n }\r\n\r\n private removeHtml() {\r\n if (this._elementRef.nativeElement.firstChild) {\r\n this._elementRef.nativeElement.removeChild(this._elementRef.nativeElement.firstChild);\r\n }\r\n }\r\n\r\n private createHtml(message: string) {\r\n this.render2.setProperty(this._elementRef.nativeElement, 'innerHTML', message);\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {InputDirective} from './directives/input.directive';\r\nimport {SensitiveDirective} from './directives/sensitive.directive';\r\nimport {ControlErrorDirective} from './directives/control-error.directive';\r\nimport {ScrollDirective} from \"./directives/scroll.directive\";\r\nimport {HoverDirective} from './directives/hover.directive';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n InputDirective,\r\n SensitiveDirective,\r\n ControlErrorDirective,\r\n ScrollDirective,\r\n HoverDirective\r\n ],\r\n exports: [\r\n InputDirective,\r\n SensitiveDirective,\r\n ControlErrorDirective,\r\n ScrollDirective,\r\n HoverDirective\r\n ],\r\n providers: []\r\n})\r\nexport class DirectiveModule {\r\n}\r\n","// directives\nexport * from './directives/hover.directive';\nexport * from './directives/input.directive';\nexport * from './directives/scroll.directive';\nexport * from './directives/sensitive.directive';\nexport * from './directives/control-error.directive';\n\n// modules\nexport * from './directive.module';\n","import {DecimalPipe} from '@angular/common';\nimport {Pipe, PipeTransform} from '@angular/core';\nimport {FitCurrencyConst, FitRegexConst} from '../../constant/shared.const';\n\n@Pipe({\n name: 'fitMoney'\n})\nexport class MoneyPipe implements PipeTransform {\n private _currency: any = FitCurrencyConst;\n private _defaultCurrency = 'PEN';\n private _defaultDecimal = 2;\n\n constructor(private readonly decimalPipe: DecimalPipe) {\n }\n\n transform(value: number | string, currency = this._defaultCurrency, decimal = this._defaultDecimal): string {\n const format = `.${decimal}-${decimal}`;\n if (value && `${value}`.match(FitRegexConst.decimal)) {\n return `${this._currency[currency]} ${this.decimalPipe.transform(Number(value), (format))}`;\n }\n return `${this._currency[currency]} ${this.decimalPipe.transform(0, (format))}`;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule, DecimalPipe} from '@angular/common';\nimport {MoneyPipe} from './pipes/money.pipe';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [\n MoneyPipe\n ],\n exports: [\n MoneyPipe\n ],\n providers: [\n DecimalPipe\n ]\n})\nexport class PipeModule {\n}\n","// pipes\nexport * from './pipes/money.pipe';\n\n// modules\nexport * from './pipe.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAAa,aAAa,GAAG;IAC3B,MAAM,EAAE,IAAI,MAAM,CAAC,YAAY,CAAC;IAChC,OAAO,EAAE,IAAI,MAAM,CAAC,yBAAyB,CAAC;IAC9C,OAAO,EAAE,IAAI,MAAM,CAAC,eAAe,CAAC;IACpC,YAAY,EAAE,0BAA0B;IACxC,aAAa,EAAE,2BAA2B;IAC1C,YAAY,EAAE,IAAI,MAAM,CAAC,6BAA6B,CAAC;IACvD,aAAa,EAAE,IAAI,MAAM,CAAC,8BAA8B,CAAC;IACzD,IAAI,EAAE,IAAI,MAAM,CAAC,WAAW,CAAC;IAC7B,QAAQ,EAAE,IAAI,MAAM,CAAC,UAAU,CAAC;EAChC;MAEW,gBAAgB,GAAG;IAC9B,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,KA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"}
@@ -0,0 +1,550 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Directive, Input, HostListener, EventEmitter, Output, NgModule, Pipe } from '@angular/core';
3
+ import * as i1 from '@angular/common';
4
+ import { CommonModule, DecimalPipe } from '@angular/common';
5
+
6
+ const FitRegexConst = {
7
+ number: new RegExp(/^[0-9]\d*$/),
8
+ decimal: new RegExp(/^[0-9]+(\.[0-9]*){0,1}$/),
9
+ percent: new RegExp(/^[1-9][0-9]*$/),
10
+ alphabetical: /^[a-zA-Z\u00C0-\u00FF]+$/,
11
+ alphabeticals: /^[a-zA-Z\u00C0-\u00FF ]+$/,
12
+ alphanumeric: new RegExp(/^[0-9a-zA-Z\u00C0-\u00FF]+$/),
13
+ alphanumerics: new RegExp(/^[0-9a-zA-Z\u00C0-\u00FF ]+$/),
14
+ cell: new RegExp(/^9[0-9]*$/),
15
+ noSpaces: new RegExp(/^\S*$/gmi)
16
+ };
17
+ const FitCurrencyConst = {
18
+ AED: 'د.إ',
19
+ AFN: '؋',
20
+ ALL: 'L',
21
+ AMD: '֏',
22
+ ANG: 'ƒ',
23
+ AOA: 'Kz',
24
+ ARS: '$',
25
+ AUD: '$',
26
+ AWG: 'ƒ',
27
+ AZN: '₼',
28
+ BAM: 'KM',
29
+ BBD: '$',
30
+ BDT: '৳',
31
+ BGN: 'лв',
32
+ BHD: '.د.ب',
33
+ BIF: 'FBu',
34
+ BMD: '$',
35
+ BND: '$',
36
+ BOB: '$b',
37
+ BOV: 'BOV',
38
+ BRL: 'R$',
39
+ BSD: '$',
40
+ BTC: '₿',
41
+ BTN: 'Nu.',
42
+ BWP: 'P',
43
+ BYN: 'Br',
44
+ BYR: 'Br',
45
+ BZD: 'BZ$',
46
+ CAD: '$',
47
+ CDF: 'FC',
48
+ CHE: 'CHE',
49
+ CHF: 'CHF',
50
+ CHW: 'CHW',
51
+ CLF: 'CLF',
52
+ CLP: '$',
53
+ CNY: '¥',
54
+ COP: '$',
55
+ COU: 'COU',
56
+ CRC: '₡',
57
+ CUC: '$',
58
+ CUP: '₱',
59
+ CVE: '$',
60
+ CZK: 'Kč',
61
+ DJF: 'Fdj',
62
+ DKK: 'kr',
63
+ DOP: 'RD$',
64
+ DZD: 'دج',
65
+ EEK: 'kr',
66
+ EGP: '£',
67
+ ERN: 'Nfk',
68
+ ETB: 'Br',
69
+ ETH: 'Ξ',
70
+ EUR: '€',
71
+ FJD: '$',
72
+ FKP: '£',
73
+ GBP: '£',
74
+ GEL: '₾',
75
+ GGP: '£',
76
+ GHC: '₵',
77
+ GHS: 'GH₵',
78
+ GIP: '£',
79
+ GMD: 'D',
80
+ GNF: 'FG',
81
+ GTQ: 'Q',
82
+ GYD: '$',
83
+ HKD: '$',
84
+ HNL: 'L',
85
+ HRK: 'kn',
86
+ HTG: 'G',
87
+ HUF: 'Ft',
88
+ IDR: 'Rp',
89
+ ILS: '₪',
90
+ IMP: '£',
91
+ INR: '₹',
92
+ IQD: 'ع.د',
93
+ IRR: '﷼',
94
+ ISK: 'kr',
95
+ JEP: '£',
96
+ JMD: 'J$',
97
+ JOD: 'JD',
98
+ JPY: '¥',
99
+ KES: 'KSh',
100
+ KGS: 'лв',
101
+ KHR: '៛',
102
+ KMF: 'CF',
103
+ KPW: '₩',
104
+ KRW: '₩',
105
+ KWD: 'KD',
106
+ KYD: '$',
107
+ KZT: '₸',
108
+ LAK: '₭',
109
+ LBP: '£',
110
+ LKR: '₨',
111
+ LRD: '$',
112
+ LSL: 'M',
113
+ LTC: 'Ł',
114
+ LTL: 'Lt',
115
+ LVL: 'Ls',
116
+ LYD: 'LD',
117
+ MAD: 'MAD',
118
+ MDL: 'lei',
119
+ MGA: 'Ar',
120
+ MKD: 'ден',
121
+ MMK: 'K',
122
+ MNT: '₮',
123
+ MOP: 'MOP$',
124
+ MRO: 'UM',
125
+ MRU: 'UM',
126
+ MUR: '₨',
127
+ MVR: 'Rf',
128
+ MWK: 'MK',
129
+ MXN: '$',
130
+ MXV: 'MXV',
131
+ MYR: 'RM',
132
+ MZN: 'MT',
133
+ NAD: '$',
134
+ NGN: '₦',
135
+ NIO: 'C$',
136
+ NOK: 'kr',
137
+ NPR: '₨',
138
+ NZD: '$',
139
+ OMR: '﷼',
140
+ PAB: 'B/.',
141
+ PEN: 'S/.',
142
+ PGK: 'K',
143
+ PHP: '₱',
144
+ PKR: '₨',
145
+ PLN: 'zł',
146
+ PYG: 'Gs',
147
+ QAR: '﷼',
148
+ RMB: '¥',
149
+ RON: 'lei',
150
+ RSD: 'Дин.',
151
+ RUB: '₽',
152
+ RWF: 'R₣',
153
+ SAR: '﷼',
154
+ SBD: '$',
155
+ SCR: '₨',
156
+ SDG: 'ج.س.',
157
+ SEK: 'kr',
158
+ SGD: 'S$',
159
+ SHP: '£',
160
+ SLL: 'Le',
161
+ SOS: 'S',
162
+ SRD: '$',
163
+ SSP: '£',
164
+ STD: 'Db',
165
+ STN: 'Db',
166
+ SVC: '$',
167
+ SYP: '£',
168
+ SZL: 'E',
169
+ THB: '฿',
170
+ TJS: 'SM',
171
+ TMT: 'T',
172
+ TND: 'د.ت',
173
+ TOP: 'T$',
174
+ TRL: '₤',
175
+ TRY: '₺',
176
+ TTD: 'TT$',
177
+ TVD: '$',
178
+ TWD: 'NT$',
179
+ TZS: 'TSh',
180
+ UAH: '₴',
181
+ UGX: 'USh',
182
+ USD: '$',
183
+ UYI: 'UYI',
184
+ UYU: '$U',
185
+ UYW: 'UYW',
186
+ UZS: 'лв',
187
+ VEF: 'Bs',
188
+ VES: 'Bs.S',
189
+ VND: '₫',
190
+ VUV: 'VT',
191
+ WST: 'WS$',
192
+ XAF: 'FCFA',
193
+ XBT: 'Ƀ',
194
+ XCD: '$',
195
+ XOF: 'CFA',
196
+ XPF: '₣',
197
+ XSU: 'Sucre',
198
+ XUA: 'XUA',
199
+ YER: '﷼',
200
+ ZAR: 'R',
201
+ ZMW: 'ZK',
202
+ ZWD: 'Z$',
203
+ ZWL: '$'
204
+ };
205
+
206
+ class HoverDirective {
207
+ constructor(elementRef) {
208
+ this.elementRef = elementRef;
209
+ this.hover = '';
210
+ }
211
+ onMouseEnter() {
212
+ this.setHoverEffect();
213
+ }
214
+ onMouseLeave() {
215
+ this.removeHoverEffect();
216
+ }
217
+ setHoverEffect() {
218
+ for (const _class of this.hover.split(' ')) {
219
+ this.elementRef.nativeElement.classList.add(_class);
220
+ }
221
+ }
222
+ removeHoverEffect() {
223
+ for (const _class of this.hover.split(' ')) {
224
+ this.elementRef.nativeElement.classList.remove(_class);
225
+ }
226
+ }
227
+ }
228
+ HoverDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: HoverDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
229
+ HoverDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: HoverDirective, selector: "[fitHover]", inputs: { hover: ["fitHover", "hover"] }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()" } }, ngImport: i0 });
230
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: HoverDirective, decorators: [{
231
+ type: Directive,
232
+ args: [{
233
+ selector: '[fitHover]'
234
+ }]
235
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { hover: [{
236
+ type: Input,
237
+ args: ['fitHover']
238
+ }], onMouseEnter: [{
239
+ type: HostListener,
240
+ args: ['mouseenter']
241
+ }], onMouseLeave: [{
242
+ type: HostListener,
243
+ args: ['mouseleave']
244
+ }] } });
245
+
246
+ class InputDirective {
247
+ constructor(el) {
248
+ this.el = el;
249
+ this.input = '';
250
+ this.space = false;
251
+ this._regex = FitRegexConst;
252
+ this._specialKeys = ['Backspace', 'Tab', 'Enter', 'Escape', 'End', 'Home', 'ArrowLeft', 'ArrowRight', 'Delete'];
253
+ }
254
+ onKeyDown(event) {
255
+ if (!this.input) {
256
+ return;
257
+ }
258
+ if (this._specialKeys.indexOf(event.key) !== -1
259
+ || (event.keyCode === 65 && event.ctrlKey) // Allow: Ctrl+A
260
+ || (event.keyCode === 67 && event.ctrlKey) // Allow: Ctrl+C
261
+ || (event.keyCode === 86 && event.ctrlKey) // Allow: Ctrl+V
262
+ || (event.keyCode === 88 && event.ctrlKey) // Allow: Ctrl+X
263
+ ) {
264
+ return;
265
+ }
266
+ const current = this.el.nativeElement.value;
267
+ const next = current.concat(event.key);
268
+ const input = this.space && (this.input === 'alphabetical' || this.input === 'alphanumeric') ? `${this.input}s` : this.input;
269
+ if (next && !String(next).match(this._regex[input])) {
270
+ event.preventDefault();
271
+ }
272
+ }
273
+ }
274
+ InputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: InputDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
275
+ InputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: InputDirective, selector: "[fitInput]", inputs: { input: ["fitInput", "input"], space: "space" }, host: { listeners: { "keydown": "onKeyDown($event)" } }, ngImport: i0 });
276
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: InputDirective, decorators: [{
277
+ type: Directive,
278
+ args: [{
279
+ selector: '[fitInput]'
280
+ }]
281
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { input: [{
282
+ type: Input,
283
+ args: ['fitInput']
284
+ }], space: [{
285
+ type: Input
286
+ }], onKeyDown: [{
287
+ type: HostListener,
288
+ args: ['keydown', ['$event']]
289
+ }] } });
290
+
291
+ class ScrollDirective {
292
+ constructor() {
293
+ this.onScroll = new EventEmitter();
294
+ }
295
+ scrolled($event) {
296
+ this.elementSE($event);
297
+ }
298
+ windowScrolled($event) {
299
+ this.windowSE($event);
300
+ }
301
+ windowSE($event) {
302
+ const target = $event.target;
303
+ const scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
304
+ const header = scrollTop < 200;
305
+ const bottom = scrollTop > 200;
306
+ const emitVal = { header, bottom };
307
+ this.onScroll.emit(emitVal);
308
+ }
309
+ elementSE($event) {
310
+ const target = $event.target;
311
+ const header = target.scrollTop < 200;
312
+ const bottom = target.scrollTop > 200;
313
+ const emitVal = { header, bottom };
314
+ this.onScroll.emit(emitVal);
315
+ }
316
+ }
317
+ ScrollDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ScrollDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
318
+ ScrollDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: ScrollDirective, selector: "[fitScroll]", outputs: { onScroll: "onScroll" }, host: { listeners: { "scroll": "scrolled($event)", "window:scroll": "windowScrolled($event)" } }, ngImport: i0 });
319
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ScrollDirective, decorators: [{
320
+ type: Directive,
321
+ args: [{
322
+ selector: '[fitScroll]'
323
+ }]
324
+ }], ctorParameters: function () { return []; }, propDecorators: { onScroll: [{
325
+ type: Output
326
+ }], scrolled: [{
327
+ type: HostListener,
328
+ args: ['scroll', ['$event']]
329
+ }], windowScrolled: [{
330
+ type: HostListener,
331
+ args: ['window:scroll', ['$event']]
332
+ }] } });
333
+
334
+ class SensitiveDirective {
335
+ constructor(_el) {
336
+ this._el = _el;
337
+ this.caseType = '';
338
+ }
339
+ onKeyUp(event) {
340
+ const value = event.target.value;
341
+ if (this.caseType === 'upper') {
342
+ event.target.value = value.toUpperCase();
343
+ }
344
+ else if (this.caseType === 'lower') {
345
+ event.target.value = value.toLowerCase();
346
+ }
347
+ }
348
+ }
349
+ SensitiveDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SensitiveDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
350
+ SensitiveDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: SensitiveDirective, selector: "[fitSensitive]", inputs: { caseType: ["fitSensitive", "caseType"] }, host: { listeners: { "input": "onKeyUp($event)" } }, ngImport: i0 });
351
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: SensitiveDirective, decorators: [{
352
+ type: Directive,
353
+ args: [{
354
+ selector: '[fitSensitive]'
355
+ }]
356
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { caseType: [{
357
+ type: Input,
358
+ args: ['fitSensitive']
359
+ }], onKeyUp: [{
360
+ type: HostListener,
361
+ args: ['input', ['$event']]
362
+ }] } });
363
+
364
+ class ControlErrorDirective {
365
+ constructor(_elementRef, render2) {
366
+ this._elementRef = _elementRef;
367
+ this.render2 = render2;
368
+ this.FORMAT = 'DD/MM/YYYY';
369
+ this.msgRequired = 'El campo es obligatorio';
370
+ this.msgMinlength = 'Ingrese mínimo {requiredLength} caracteres';
371
+ this.msgMaxlength = 'Ingrese máximo {requiredLength} caracteres';
372
+ this.msgPattern = 'El formato del valor es inválido';
373
+ this.msgInvalidDate = 'La fecha es inválida';
374
+ this.msgMinDate = 'La fecha mínima es {minDate}';
375
+ this.msgMaxDate = 'La fecha máxima es {maxDate}';
376
+ }
377
+ set control(value) {
378
+ this._control = value;
379
+ this._control.valueChanges.subscribe(() => {
380
+ this.loadError();
381
+ });
382
+ }
383
+ get control() {
384
+ return this._control;
385
+ }
386
+ ngAfterViewInit() {
387
+ this.removeHtml();
388
+ }
389
+ loadError() {
390
+ if (this.control && (this.control.dirty || this.control.touched) && this.control.errors) {
391
+ this.removeHtml();
392
+ if (this.control.errors['required'] && !this.control.errors['matDatepickerParse']) {
393
+ this.createHtml(this.msgRequired);
394
+ }
395
+ else if (this.control.errors['minlength']) {
396
+ this.createHtml(this.msgMinlength.replace('{requiredLength}', this.control.errors['minlength'].requiredLength));
397
+ }
398
+ else if (this.control.errors['maxlength'] && !this.control.errors['minlength']) {
399
+ this.createHtml(this.msgMaxlength.replace('{requiredLength}', this.control.errors['maxlength'].requiredLength));
400
+ }
401
+ else if (this.control.errors['pattern'] && !this.control.errors['maxlength'] && !this.control.errors['minlength']) {
402
+ this.createHtml(this.msgPattern);
403
+ }
404
+ else if (this.control.errors['matDatepickerParse'] && this.control.errors['matDatepickerParse'].text) {
405
+ this.createHtml(this.msgInvalidDate);
406
+ }
407
+ else if (this.control.errors['matDatepickerMin'] && this.control.errors['matDatepickerMin'].min) {
408
+ const minDate = this.control.errors['matDatepickerMin'].min.format(this.FORMAT);
409
+ this.createHtml(this.msgMinDate.replace('{minDate}', minDate));
410
+ }
411
+ else if (this.control.errors['matDatepickerMax'] && this.control.errors['matDatepickerMax'].max) {
412
+ const maxDate = this.control.errors['matDatepickerMax'].max.format(this.FORMAT);
413
+ this.createHtml(this.msgMaxDate.replace('{maxDate}', maxDate));
414
+ }
415
+ }
416
+ }
417
+ removeHtml() {
418
+ if (this._elementRef.nativeElement.firstChild) {
419
+ this._elementRef.nativeElement.removeChild(this._elementRef.nativeElement.firstChild);
420
+ }
421
+ }
422
+ createHtml(message) {
423
+ this.render2.setProperty(this._elementRef.nativeElement, 'innerHTML', message);
424
+ }
425
+ }
426
+ ControlErrorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ControlErrorDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
427
+ ControlErrorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: ControlErrorDirective, selector: "[fitControlError]", inputs: { msgRequired: "msgRequired", msgMinlength: "msgMinlength", msgMaxlength: "msgMaxlength", msgPattern: "msgPattern", msgInvalidDate: "msgInvalidDate", msgMinDate: "msgMinDate", msgMaxDate: "msgMaxDate", control: "control" }, ngImport: i0 });
428
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ControlErrorDirective, decorators: [{
429
+ type: Directive,
430
+ args: [{
431
+ selector: '[fitControlError]'
432
+ }]
433
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { msgRequired: [{
434
+ type: Input
435
+ }], msgMinlength: [{
436
+ type: Input
437
+ }], msgMaxlength: [{
438
+ type: Input
439
+ }], msgPattern: [{
440
+ type: Input
441
+ }], msgInvalidDate: [{
442
+ type: Input
443
+ }], msgMinDate: [{
444
+ type: Input
445
+ }], msgMaxDate: [{
446
+ type: Input
447
+ }], control: [{
448
+ type: Input
449
+ }] } });
450
+
451
+ class DirectiveModule {
452
+ }
453
+ DirectiveModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
454
+ DirectiveModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DirectiveModule, declarations: [InputDirective,
455
+ SensitiveDirective,
456
+ ControlErrorDirective,
457
+ ScrollDirective,
458
+ HoverDirective], imports: [CommonModule], exports: [InputDirective,
459
+ SensitiveDirective,
460
+ ControlErrorDirective,
461
+ ScrollDirective,
462
+ HoverDirective] });
463
+ DirectiveModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DirectiveModule, providers: [], imports: [[
464
+ CommonModule
465
+ ]] });
466
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DirectiveModule, decorators: [{
467
+ type: NgModule,
468
+ args: [{
469
+ imports: [
470
+ CommonModule
471
+ ],
472
+ declarations: [
473
+ InputDirective,
474
+ SensitiveDirective,
475
+ ControlErrorDirective,
476
+ ScrollDirective,
477
+ HoverDirective
478
+ ],
479
+ exports: [
480
+ InputDirective,
481
+ SensitiveDirective,
482
+ ControlErrorDirective,
483
+ ScrollDirective,
484
+ HoverDirective
485
+ ],
486
+ providers: []
487
+ }]
488
+ }] });
489
+
490
+ // directives
491
+
492
+ class MoneyPipe {
493
+ constructor(decimalPipe) {
494
+ this.decimalPipe = decimalPipe;
495
+ this._currency = FitCurrencyConst;
496
+ this._defaultCurrency = 'PEN';
497
+ this._defaultDecimal = 2;
498
+ }
499
+ transform(value, currency = this._defaultCurrency, decimal = this._defaultDecimal) {
500
+ const format = `.${decimal}-${decimal}`;
501
+ if (value && `${value}`.match(FitRegexConst.decimal)) {
502
+ return `${this._currency[currency]} ${this.decimalPipe.transform(Number(value), (format))}`;
503
+ }
504
+ return `${this._currency[currency]} ${this.decimalPipe.transform(0, (format))}`;
505
+ }
506
+ }
507
+ MoneyPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MoneyPipe, deps: [{ token: i1.DecimalPipe }], target: i0.ɵɵFactoryTarget.Pipe });
508
+ MoneyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MoneyPipe, name: "fitMoney" });
509
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MoneyPipe, decorators: [{
510
+ type: Pipe,
511
+ args: [{
512
+ name: 'fitMoney'
513
+ }]
514
+ }], ctorParameters: function () { return [{ type: i1.DecimalPipe }]; } });
515
+
516
+ class PipeModule {
517
+ }
518
+ PipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
519
+ PipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PipeModule, declarations: [MoneyPipe], imports: [CommonModule], exports: [MoneyPipe] });
520
+ PipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PipeModule, providers: [
521
+ DecimalPipe
522
+ ], imports: [[
523
+ CommonModule
524
+ ]] });
525
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: PipeModule, decorators: [{
526
+ type: NgModule,
527
+ args: [{
528
+ imports: [
529
+ CommonModule
530
+ ],
531
+ declarations: [
532
+ MoneyPipe
533
+ ],
534
+ exports: [
535
+ MoneyPipe
536
+ ],
537
+ providers: [
538
+ DecimalPipe
539
+ ]
540
+ }]
541
+ }] });
542
+
543
+ // pipes
544
+
545
+ /**
546
+ * Generated bundle index. Do not edit.
547
+ */
548
+
549
+ export { ControlErrorDirective, DirectiveModule, FitCurrencyConst, FitRegexConst, HoverDirective, InputDirective, MoneyPipe, PipeModule, ScrollDirective, SensitiveDirective };
550
+ //# sourceMappingURL=fitcoders-shared.mjs.map