ngx-rut-v2 1.6.0 → 1.6.2

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.
@@ -62,12 +62,12 @@ class RutValidator {
62
62
  validate(c) {
63
63
  return this.validator(c);
64
64
  }
65
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RutValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
66
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.5", type: RutValidator, isStandalone: true, selector: "[validateRut][ngModel],[validateRut][formControl]", providers: [
65
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: RutValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
66
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.14", type: RutValidator, isStandalone: true, selector: "[validateRut][ngModel],[validateRut][formControl]", providers: [
67
67
  { provide: NG_VALIDATORS, useExisting: forwardRef(() => RutValidator), multi: true },
68
68
  ], ngImport: i0 });
69
69
  }
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RutValidator, decorators: [{
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: RutValidator, decorators: [{
71
71
  type: Directive,
72
72
  args: [{
73
73
  selector: '[validateRut][ngModel],[validateRut][formControl]',
@@ -98,10 +98,10 @@ class RutValueAccessor {
98
98
  }
99
99
  registerOnChange(fn) { this.onChange = fn; }
100
100
  registerOnTouched(fn) { this.onTouched = fn; }
101
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RutValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
102
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.5", type: RutValueAccessor, isStandalone: true, selector: "input[formatRut]", host: { listeners: { "rutChange": "onChange($event)", "blur": "onTouched($event)" } }, providers: [RUT_VALUE_ACCESSOR], ngImport: i0 });
101
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: RutValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
102
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.14", type: RutValueAccessor, isStandalone: true, selector: "input[formatRut]", host: { listeners: { "rutChange": "onChange($event)", "blur": "onTouched($event)" } }, providers: [RUT_VALUE_ACCESSOR], ngImport: i0 });
103
103
  }
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RutValueAccessor, decorators: [{
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: RutValueAccessor, decorators: [{
105
105
  type: Directive,
106
106
  args: [{
107
107
  selector: 'input[formatRut]',
@@ -131,10 +131,10 @@ class RutDirective {
131
131
  let htmlInputElement = ev.target;
132
132
  this.rutChange.emit(rutClean(htmlInputElement.value));
133
133
  }
134
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RutDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
135
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.5", type: RutDirective, isStandalone: true, selector: "[formatRut]", outputs: { rutChange: "rutChange" }, host: { listeners: { "blur": "onBlur($event)", "focus": "onFocus($event)", "input": "onChange($event)" } }, ngImport: i0 });
134
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: RutDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
135
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.14", type: RutDirective, isStandalone: true, selector: "[formatRut]", outputs: { rutChange: "rutChange" }, host: { listeners: { "blur": "onBlur($event)", "focus": "onFocus($event)", "input": "onChange($event)" } }, ngImport: i0 });
136
136
  }
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RutDirective, decorators: [{
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: RutDirective, decorators: [{
138
138
  type: Directive,
139
139
  args: [{
140
140
  selector: '[formatRut]',
@@ -153,10 +153,10 @@ class RutPipe {
153
153
  transform(value) {
154
154
  return rutFormat(value);
155
155
  }
156
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RutPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
157
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.0.5", ngImport: i0, type: RutPipe, isStandalone: true, name: "rut" });
156
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: RutPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
157
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: RutPipe, isStandalone: true, name: "rut" });
158
158
  }
159
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RutPipe, decorators: [{
159
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: RutPipe, decorators: [{
160
160
  type: Pipe,
161
161
  args: [{
162
162
  name: 'rut',
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-rut-v2.mjs","sources":["../../../projects/ngx-rut-v2/src/lib/helpers/rut-helpers.ts","../../../projects/ngx-rut-v2/src/lib/directives/rut-validator.directive.ts","../../../projects/ngx-rut-v2/src/lib/directives/rut-value-accessor.directive.ts","../../../projects/ngx-rut-v2/src/lib/directives/rut.directive.ts","../../../projects/ngx-rut-v2/src/lib/pipes/rut.pipe.ts","../../../projects/ngx-rut-v2/src/public-api.ts","../../../projects/ngx-rut-v2/src/ngx-rut-v2.ts"],"sourcesContent":["export function rutClean(value: string) {\r\n if (typeof value === 'string') {\r\n return value\r\n .replace(/[^0-9kK]+/g, '')\r\n .replace(/^0+/, '')\r\n .toUpperCase();\r\n }\r\n return '';\r\n}\r\n\r\nexport function rutValidate(value: string) {\r\n if (typeof value !== 'string') {\r\n return false;\r\n }\r\n\r\n const rut: string = rutClean(value);\r\n let rutDigits: number = parseInt(rut.slice(0, -1), 10);\r\n let m: number = 0;\r\n let s: number = 1;\r\n\r\n while (rutDigits > 0) {\r\n s = (s + rutDigits % 10 * (9 - m++ % 6)) % 11;\r\n rutDigits = Math.floor(rutDigits / 10);\r\n }\r\n const checkDigit: string = (s > 0) ? String((s - 1)) : 'K';\r\n\r\n return (checkDigit === rut.slice(-1));\r\n}\r\n\r\nexport function rutFormat(value: string) {\r\n const rut: string = rutClean(value);\r\n\r\n if (rut.length <= 1) {\r\n return rut;\r\n }\r\n\r\n let result: string = `${rut.slice(-4, -1)}-${rut.substr(rut.length - 1)}`;\r\n for (let i: number = 4; i < rut.length; i += 3) {\r\n result = `${rut.slice(-3 - i, -i)}.${result}`;\r\n }\r\n\r\n return result;\r\n}\r\n","import { Directive, forwardRef } from '@angular/core';\r\nimport { AbstractControl, NG_VALIDATORS, UntypedFormControl, ValidationErrors, Validator, ValidatorFn } from '@angular/forms';\r\nimport { rutValidate } from '../helpers/rut-helpers';\r\n\r\n\r\nexport function validateRutFactory(rutValidate: Function) {\r\n return (c: UntypedFormControl) => {\r\n if (!c.value) {\r\n return null;\r\n }\r\n return rutValidate(c.value) ? null : { invalidRut: true };\r\n };\r\n}\r\n\r\nexport function RutValidatorReactive(): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n\r\n if(!control.value) {\r\n return null;\r\n }\r\n return rutValidate(control.value) ? null : { invalidRut: true };\r\n };\r\n}\r\n\r\n\r\n@Directive({\r\n selector: '[validateRut][ngModel],[validateRut][formControl]',\r\n providers: [\r\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => RutValidator), multi: true },\r\n ],\r\n standalone: true\r\n})\r\nexport class RutValidator implements Validator {\r\n\r\n private validator: Function;\r\n\r\n constructor() {\r\n this.validator = validateRutFactory(rutValidate);\r\n }\r\n\r\n public validate(c: UntypedFormControl) {\r\n return this.validator(c);\r\n }\r\n\r\n}\r\n","import { Directive, forwardRef } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { rutFormat } from '../helpers/rut-helpers';\r\n\r\nimport { ElementRef, Renderer2 } from '@angular/core';\r\n\r\nconst RUT_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => RutValueAccessor),\r\n multi: true,\r\n};\r\n\r\n@Directive({\r\n selector: 'input[formatRut]',\r\n host: {\r\n '(rutChange)': 'onChange($event)',\r\n '(blur)': 'onTouched($event)',\r\n },\r\n standalone: true,\r\n providers: [RUT_VALUE_ACCESSOR],\r\n})\r\nexport class RutValueAccessor implements ControlValueAccessor {\r\n constructor(\r\n private renderer: Renderer2,\r\n private elementRef: ElementRef,\r\n ) { }\r\n\r\n public onChange: any = (_: any) => { /*Empty*/ };\r\n public onTouched: any = () => { /*Empty*/ };\r\n\r\n public writeValue(value: any): void {\r\n let normalizedValue: string = rutFormat(value) || '';\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', normalizedValue);\r\n }\r\n\r\n public registerOnChange(fn: (_: any) => void): void { this.onChange = fn; }\r\n public registerOnTouched(fn: () => void): void { this.onTouched = fn; }\r\n}\r\n","import {Directive, EventEmitter, Output} from '@angular/core';\r\nimport * as rutHelpers from '../helpers/rut-helpers';\r\n\r\n@Directive({\r\n selector: '[formatRut]',\r\n host: {\r\n '(blur)': 'onBlur($event)',\r\n '(focus)': 'onFocus($event)',\r\n '(input)': 'onChange($event)',\r\n },\r\n standalone: true\r\n})\r\nexport class RutDirective {\r\n @Output() public rutChange: EventEmitter<any>;\r\n\r\n constructor() {\r\n this.rutChange = new EventEmitter();\r\n }\r\n\r\n public onFocus(ev: Event) {\r\n let htmlInputElement: HTMLInputElement = <HTMLInputElement> ev.target;\r\n htmlInputElement.value = rutHelpers.rutClean(htmlInputElement.value);\r\n }\r\n\r\n public onBlur(ev: Event) {\r\n let htmlInputElement: HTMLInputElement = <HTMLInputElement> ev.target;\r\n htmlInputElement.value = rutHelpers.rutFormat(htmlInputElement.value) || '';\r\n }\r\n\r\n public onChange(ev: Event) {\r\n let htmlInputElement: HTMLInputElement = <HTMLInputElement> ev.target;\r\n this.rutChange.emit(rutHelpers.rutClean(htmlInputElement.value));\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { rutFormat } from '../helpers/rut-helpers';\r\n\r\n@Pipe({\r\n name: 'rut',\r\n standalone: true\r\n})\r\nexport class RutPipe implements PipeTransform {\r\n public transform(value: string): string {\r\n return rutFormat(value);\r\n }\r\n}\r\n","/*\r\n * Public API Surface of ngx-rut-v2\r\n */\r\n\r\nexport * from './lib/helpers/rut-helpers';\r\nexport * from './lib/directives/rut-validator.directive';\r\nexport * from './lib/directives/rut-value-accessor.directive';\r\nexport * from './lib/directives/rut.directive';\r\nexport * from './lib/pipes/rut.pipe';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["rutHelpers.rutClean","rutHelpers.rutFormat"],"mappings":"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"}
1
+ {"version":3,"file":"ngx-rut-v2.mjs","sources":["../../../projects/ngx-rut-v2/src/lib/helpers/rut-helpers.ts","../../../projects/ngx-rut-v2/src/lib/directives/rut-validator.directive.ts","../../../projects/ngx-rut-v2/src/lib/directives/rut-value-accessor.directive.ts","../../../projects/ngx-rut-v2/src/lib/directives/rut.directive.ts","../../../projects/ngx-rut-v2/src/lib/pipes/rut.pipe.ts","../../../projects/ngx-rut-v2/src/public-api.ts","../../../projects/ngx-rut-v2/src/ngx-rut-v2.ts"],"sourcesContent":["export function rutClean(value: string) {\r\n if (typeof value === 'string') {\r\n return value\r\n .replace(/[^0-9kK]+/g, '')\r\n .replace(/^0+/, '')\r\n .toUpperCase();\r\n }\r\n return '';\r\n}\r\n\r\nexport function rutValidate(value: string) {\r\n if (typeof value !== 'string') {\r\n return false;\r\n }\r\n\r\n const rut: string = rutClean(value);\r\n let rutDigits: number = parseInt(rut.slice(0, -1), 10);\r\n let m: number = 0;\r\n let s: number = 1;\r\n\r\n while (rutDigits > 0) {\r\n s = (s + rutDigits % 10 * (9 - m++ % 6)) % 11;\r\n rutDigits = Math.floor(rutDigits / 10);\r\n }\r\n const checkDigit: string = (s > 0) ? String((s - 1)) : 'K';\r\n\r\n return (checkDigit === rut.slice(-1));\r\n}\r\n\r\nexport function rutFormat(value: string) {\r\n const rut: string = rutClean(value);\r\n\r\n if (rut.length <= 1) {\r\n return rut;\r\n }\r\n\r\n let result: string = `${rut.slice(-4, -1)}-${rut.substr(rut.length - 1)}`;\r\n for (let i: number = 4; i < rut.length; i += 3) {\r\n result = `${rut.slice(-3 - i, -i)}.${result}`;\r\n }\r\n\r\n return result;\r\n}\r\n","import { Directive, forwardRef } from '@angular/core';\r\nimport { AbstractControl, NG_VALIDATORS, UntypedFormControl, ValidationErrors, Validator, ValidatorFn } from '@angular/forms';\r\nimport { rutValidate } from '../helpers/rut-helpers';\r\n\r\n\r\nexport function validateRutFactory(rutValidate: Function) {\r\n return (c: UntypedFormControl) => {\r\n if (!c.value) {\r\n return null;\r\n }\r\n return rutValidate(c.value) ? null : { invalidRut: true };\r\n };\r\n}\r\n\r\nexport function RutValidatorReactive(): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n\r\n if(!control.value) {\r\n return null;\r\n }\r\n return rutValidate(control.value) ? null : { invalidRut: true };\r\n };\r\n}\r\n\r\n\r\n@Directive({\r\n selector: '[validateRut][ngModel],[validateRut][formControl]',\r\n providers: [\r\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => RutValidator), multi: true },\r\n ],\r\n standalone: true\r\n})\r\nexport class RutValidator implements Validator {\r\n\r\n private validator: Function;\r\n\r\n constructor() {\r\n this.validator = validateRutFactory(rutValidate);\r\n }\r\n\r\n public validate(c: UntypedFormControl) {\r\n return this.validator(c);\r\n }\r\n\r\n}\r\n","import { Directive, forwardRef } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { rutFormat } from '../helpers/rut-helpers';\r\n\r\nimport { ElementRef, Renderer2 } from '@angular/core';\r\n\r\nconst RUT_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => RutValueAccessor),\r\n multi: true,\r\n};\r\n\r\n@Directive({\r\n selector: 'input[formatRut]',\r\n host: {\r\n '(rutChange)': 'onChange($event)',\r\n '(blur)': 'onTouched($event)',\r\n },\r\n standalone: true,\r\n providers: [RUT_VALUE_ACCESSOR],\r\n})\r\nexport class RutValueAccessor implements ControlValueAccessor {\r\n constructor(\r\n private renderer: Renderer2,\r\n private elementRef: ElementRef,\r\n ) { }\r\n\r\n public onChange: any = (_: any) => { /*Empty*/ };\r\n public onTouched: any = () => { /*Empty*/ };\r\n\r\n public writeValue(value: any): void {\r\n let normalizedValue: string = rutFormat(value) || '';\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', normalizedValue);\r\n }\r\n\r\n public registerOnChange(fn: (_: any) => void): void { this.onChange = fn; }\r\n public registerOnTouched(fn: () => void): void { this.onTouched = fn; }\r\n}\r\n","import {Directive, EventEmitter, Output} from '@angular/core';\r\nimport * as rutHelpers from '../helpers/rut-helpers';\r\n\r\n@Directive({\r\n selector: '[formatRut]',\r\n host: {\r\n '(blur)': 'onBlur($event)',\r\n '(focus)': 'onFocus($event)',\r\n '(input)': 'onChange($event)',\r\n },\r\n standalone: true\r\n})\r\nexport class RutDirective {\r\n @Output() public rutChange: EventEmitter<any>;\r\n\r\n constructor() {\r\n this.rutChange = new EventEmitter();\r\n }\r\n\r\n public onFocus(ev: Event) {\r\n let htmlInputElement: HTMLInputElement = <HTMLInputElement> ev.target;\r\n htmlInputElement.value = rutHelpers.rutClean(htmlInputElement.value);\r\n }\r\n\r\n public onBlur(ev: Event) {\r\n let htmlInputElement: HTMLInputElement = <HTMLInputElement> ev.target;\r\n htmlInputElement.value = rutHelpers.rutFormat(htmlInputElement.value) || '';\r\n }\r\n\r\n public onChange(ev: Event) {\r\n let htmlInputElement: HTMLInputElement = <HTMLInputElement> ev.target;\r\n this.rutChange.emit(rutHelpers.rutClean(htmlInputElement.value));\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { rutFormat } from '../helpers/rut-helpers';\r\n\r\n@Pipe({\r\n name: 'rut',\r\n standalone: true\r\n})\r\nexport class RutPipe implements PipeTransform {\r\n public transform(value: string): string {\r\n return rutFormat(value);\r\n }\r\n}\r\n","/*\r\n * Public API Surface of ngx-rut-v2\r\n */\r\n\r\nexport * from './lib/helpers/rut-helpers';\r\nexport * from './lib/directives/rut-validator.directive';\r\nexport * from './lib/directives/rut-value-accessor.directive';\r\nexport * from './lib/directives/rut.directive';\r\nexport * from './lib/pipes/rut.pipe';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["rutHelpers.rutClean","rutHelpers.rutFormat"],"mappings":"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"}
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "ngx-rut-v2",
3
- "version": "1.6.0",
3
+ "version": "1.6.2",
4
4
  "private": false,
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/danieldiazastudillo/ngx-rut-v2"
8
8
  },
9
9
  "peerDependencies": {
10
- "@angular/common": "^19.0.5",
11
- "@angular/core": "^19.0.5"
10
+ "@angular/common": "^19.2.14",
11
+ "@angular/core": "^19.2.14"
12
12
  },
13
13
  "dependencies": {
14
- "tslib": "^2.3.0"
14
+ "tslib": "^2.8.1"
15
15
  },
16
16
  "sideEffects": false,
17
17
  "module": "fesm2022/ngx-rut-v2.mjs",