iptdevs-design-system 3.1.933 → 3.1.934

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.
@@ -26,6 +26,7 @@ import * as i2 from 'primeng/panel';
26
26
  import { PanelModule } from 'primeng/panel';
27
27
  import * as i4 from 'primeng/skeleton';
28
28
  import { SkeletonModule } from 'primeng/skeleton';
29
+ import * as i2$2 from 'design-system/src/public-api';
29
30
  import * as i6$1 from 'primeng/button';
30
31
  import { ButtonModule } from 'primeng/button';
31
32
  import { BehaviorSubject, finalize, map } from 'rxjs';
@@ -2615,6 +2616,621 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
2615
2616
  type: Input
2616
2617
  }] } });
2617
2618
 
2619
+ class updateUserFormComponent {
2620
+ constructor(fb, cdr, parameterService, baseService, userService) {
2621
+ this.fb = fb;
2622
+ this.cdr = cdr;
2623
+ this.parameterService = parameterService;
2624
+ this.baseService = baseService;
2625
+ this.userService = userService;
2626
+ this.visibleModal = false;
2627
+ this.closeModalIS = new EventEmitter();
2628
+ this.userUpdatedEvent = new EventEmitter();
2629
+ this.photo = '';
2630
+ this.phoneNumberIndicatives = [];
2631
+ this.idTypes = [];
2632
+ this.loader = false;
2633
+ this.states = [];
2634
+ this.cities = [];
2635
+ this.countries = [];
2636
+ this.showParentSection = false;
2637
+ this.showEmailIpt = false;
2638
+ this.indicatives = [];
2639
+ this.civilStatus = [];
2640
+ this.genders = [];
2641
+ this.stratums = [];
2642
+ this.parametersLoaded = false;
2643
+ // userUpdated = false;
2644
+ this.initialFormValue = [];
2645
+ this.justifyOptions = [
2646
+ // { name: 'Inactivos', code: 1 },
2647
+ { name: 'Activo', code: 1 },
2648
+ { name: 'Removido', code: 4 }
2649
+ ];
2650
+ this.initForm();
2651
+ }
2652
+ ngOnInit() {
2653
+ console.log("entro a getParameters por ngoninit");
2654
+ this.getParameters();
2655
+ }
2656
+ ngOnChanges(changes) {
2657
+ if (changes['visibleModal'] && changes['visibleModal'].currentValue) {
2658
+ console.log("entro a getParameters por visible modal, donde el change es:", changes['visibleModal']);
2659
+ this.initializeForm();
2660
+ this.cdr.detectChanges();
2661
+ }
2662
+ }
2663
+ getParameters() {
2664
+ if (this.parametersLoaded) {
2665
+ this.setParameters();
2666
+ this.initializeForm();
2667
+ return;
2668
+ }
2669
+ this.parameterService.getAllParametersCodForm().subscribe({
2670
+ next: (response) => {
2671
+ this.parametersAll = response.data;
2672
+ this.parametersLoaded = true;
2673
+ this.setParameters();
2674
+ this.initializeForm();
2675
+ this.cdr.detectChanges();
2676
+ },
2677
+ error: (err) => {
2678
+ console.error('Error fetching parameters:', err);
2679
+ this.parametersLoaded = false;
2680
+ }
2681
+ });
2682
+ }
2683
+ setParameters() {
2684
+ this.idTypes = this.parametersAll?.TypeIdCardByCountryCol;
2685
+ this.indicatives = this.parametersAll?.indicatives;
2686
+ this.countries = this.parametersAll?.country;
2687
+ this.civilStatus = this.parametersAll?.civilStatus;
2688
+ this.states = this.parametersAll?.State;
2689
+ this.cities = this.parametersAll?.city;
2690
+ // this.genders = [
2691
+ // { code: 1, name: 'Masculino' },
2692
+ // { code: 2, name: 'Femenino' }
2693
+ // ];
2694
+ if (this.parametersAll && this.parametersAll.gender) {
2695
+ // Transformar gender en un arreglo de { code, name }
2696
+ this.genders = this.parametersAll.gender.map((gender) => ({
2697
+ code: gender.code,
2698
+ name: gender.name_spanish
2699
+ }));
2700
+ }
2701
+ else {
2702
+ this.genders = [];
2703
+ }
2704
+ }
2705
+ initializeForm() {
2706
+ this.showParentSection = !!this.DataStudent?.cods?.parent?.code;
2707
+ this.showEmailIpt = !!this.DataStudent?.email_ipt && this.DataStudent.email_ipt !== false;
2708
+ this.initForm();
2709
+ this.populateForm();
2710
+ }
2711
+ initForm() {
2712
+ const baseForm = {
2713
+ name: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(32)]],
2714
+ last_name: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(32)]],
2715
+ email: ['', [Validators.required, Validators.email, Validators.maxLength(300)]],
2716
+ gender: ['', [Validators.required]],
2717
+ id_card_type: ['', [Validators.required]],
2718
+ id_card: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(20)]],
2719
+ phone_indicative: ['', [Validators.required]],
2720
+ phone_number: ['', [Validators.required, Validators.minLength(10), Validators.maxLength(15)]],
2721
+ country: ['', [Validators.required]],
2722
+ state: ['', [Validators.required]],
2723
+ city: ['', [Validators.required]],
2724
+ role: [{ value: '', disabled: true }],
2725
+ service_hour: ['', Validators.required],
2726
+ password: ['', []],
2727
+ re_password: ['', []],
2728
+ changePassword: [false],
2729
+ status: ['', Validators.required]
2730
+ };
2731
+ if (this.showEmailIpt) {
2732
+ Object.assign(baseForm, {
2733
+ email_ipt: ['', [Validators.required, Validators.email, Validators.maxLength(255)]]
2734
+ });
2735
+ }
2736
+ if (this.showParentSection) {
2737
+ Object.assign(baseForm, {
2738
+ parent_name: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(150)]],
2739
+ parent_last_name: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(150)]],
2740
+ parent_id_card_type: ['', [Validators.required]],
2741
+ parent_id_card: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(30)]],
2742
+ parent_phone_indicative: ['', [Validators.required]],
2743
+ parent_phone_number: ['', [Validators.required, Validators.minLength(10), Validators.maxLength(20)]],
2744
+ parent_occupation: ['', [Validators.required, Validators.maxLength(50)]],
2745
+ parent_office_adrress: ['', [Validators.required, Validators.maxLength(150)]],
2746
+ parent_email: ['', [Validators.email, Validators.maxLength(255)]]
2747
+ });
2748
+ }
2749
+ this.updateUserForm = this.fb.group(baseForm, { validators: this.passwordMatchValidator });
2750
+ this.updateUserForm.get('changePassword')?.valueChanges.subscribe((checked) => {
2751
+ const passwordControl = this.updateUserForm.get('password');
2752
+ const rePasswordControl = this.updateUserForm.get('re_password');
2753
+ if (checked) {
2754
+ passwordControl?.setValidators([Validators.required, Validators.minLength(5), Validators.maxLength(32)]);
2755
+ rePasswordControl?.setValidators([Validators.required, Validators.minLength(5), Validators.maxLength(32)]);
2756
+ }
2757
+ else {
2758
+ passwordControl?.clearValidators();
2759
+ rePasswordControl?.clearValidators();
2760
+ passwordControl?.setValue('');
2761
+ rePasswordControl?.setValue('');
2762
+ }
2763
+ passwordControl?.updateValueAndValidity();
2764
+ rePasswordControl?.updateValueAndValidity();
2765
+ });
2766
+ this.updateUserForm.get('password')?.valueChanges.subscribe(() => {
2767
+ this.updateUserForm.updateValueAndValidity();
2768
+ });
2769
+ this.updateUserForm.get('re_password')?.valueChanges.subscribe(() => {
2770
+ this.updateUserForm.updateValueAndValidity();
2771
+ });
2772
+ }
2773
+ passwordMatchValidator(form) {
2774
+ const changePassword = form.get('changePassword')?.value;
2775
+ const password = form.get('password')?.value;
2776
+ const rePassword = form.get('re_password')?.value;
2777
+ if (!changePassword) {
2778
+ return null;
2779
+ }
2780
+ const mismatch = password && rePassword && password !== rePassword;
2781
+ return mismatch ? { mismatch: true } : null;
2782
+ }
2783
+ noWhitespaceValidator(control) {
2784
+ if (control.value && typeof control.value === 'string') {
2785
+ const trimmedValue = control.value.trim();
2786
+ if (trimmedValue.length === 0) {
2787
+ return { onlyWhitespace: true };
2788
+ }
2789
+ if (control.value !== trimmedValue) {
2790
+ return { hasWhitespace: true };
2791
+ }
2792
+ }
2793
+ return null;
2794
+ }
2795
+ transformRole(role) {
2796
+ const roleMap = {
2797
+ 1: 'Super Admin',
2798
+ 10: 'Jefe Academico',
2799
+ 11: 'Coordinador Academico',
2800
+ 12: 'Teacher Academico',
2801
+ 13: 'Estudiante',
2802
+ 15: 'Posible Estudiante',
2803
+ 20: 'Jefe Marketing',
2804
+ 21: 'Coordinador Marketing',
2805
+ 22: 'Auxiliar Marketing',
2806
+ 30: 'Jefe Administrativo',
2807
+ 31: 'Coordinador Administrativo',
2808
+ 32: 'Cajero Administrativo',
2809
+ 40: 'Jefe Comercial',
2810
+ 41: 'Coordinador Comercial',
2811
+ 42: 'Asesor Comercial',
2812
+ 50: 'Jefe Cartera',
2813
+ 51: 'Coordinador Cartera',
2814
+ 52: 'Asesor Cartera',
2815
+ 60: 'Proveedor'
2816
+ };
2817
+ return roleMap[Number(role)] || '';
2818
+ }
2819
+ populateForm() {
2820
+ if (this.DataStudent) {
2821
+ const formValue = {
2822
+ name: this.DataStudent.name || '',
2823
+ last_name: this.DataStudent.last_name || '',
2824
+ email: this.DataStudent.email || '',
2825
+ gender: this.DataStudent.gender || null,
2826
+ id_card_type: this.DataStudent.id_card_type || '',
2827
+ id_card: this.DataStudent.id_card || '',
2828
+ phone_indicative: this.DataStudent.phone_indicative || '',
2829
+ phone_number: this.DataStudent.phone_number || '',
2830
+ country: this.DataStudent.city?.country,
2831
+ state: this.DataStudent.city?.state,
2832
+ city: this.DataStudent.city?.code,
2833
+ role: this.transformRole(this.DataStudent.role) || '',
2834
+ service_hour: this.DataStudent.service_hour || 0,
2835
+ changePassword: false,
2836
+ password: '',
2837
+ re_password: '',
2838
+ status: this.DataStudent.user_status || ''
2839
+ };
2840
+ if (this.showEmailIpt) {
2841
+ formValue.email_ipt = this.DataStudent.email_ipt || '';
2842
+ }
2843
+ if (this.showParentSection) {
2844
+ Object.assign(formValue, {
2845
+ parent_name: this.DataStudent.cods?.parent?.name || '',
2846
+ parent_last_name: this.DataStudent.cods?.parent?.last_name || '',
2847
+ parent_id_card_type: this.DataStudent.cods?.parent?.id_card_type || '',
2848
+ parent_id_card: this.DataStudent.cods?.parent?.id_card || '',
2849
+ parent_phone_indicative: this.DataStudent.cods?.parent?.phone_indicative || '',
2850
+ parent_phone_number: this.DataStudent.cods?.parent?.phone_number || '',
2851
+ parent_occupation: this.DataStudent.cods?.parent?.occupation || '',
2852
+ parent_office_adrress: this.DataStudent.cods?.parent?.office_adrress || '',
2853
+ parent_email: this.DataStudent.cods?.parent?.email || ''
2854
+ });
2855
+ }
2856
+ this.updateUserForm.reset();
2857
+ this.updateUserForm.patchValue(formValue);
2858
+ this.initialFormValue = { ...this.updateUserForm.value };
2859
+ if (formValue.country) {
2860
+ console.log("en populateForm se envio dato para setearse country");
2861
+ this.countries = this.parametersAll?.country;
2862
+ this.selectCountry(this.DataStudent.city?.country);
2863
+ }
2864
+ if (formValue.state) {
2865
+ this.selectState(this.DataStudent.city?.state);
2866
+ }
2867
+ if (formValue.city) {
2868
+ this.selectCity(this.DataStudent.city?.code);
2869
+ }
2870
+ if (formValue.id_card_type) {
2871
+ this.idTypes = this.parametersAll?.TypeIdCardByCountryCol;
2872
+ this.selectGender(this.DataStudent.id_card_type);
2873
+ }
2874
+ if (formValue.phone_indicative) {
2875
+ this.indicatives = this.parametersAll?.indicatives;
2876
+ this.selectIndicative('phone_indicative', this.DataStudent.phone_indicative);
2877
+ }
2878
+ if (formValue.parent_phone_indicative) {
2879
+ this.indicatives = this.parametersAll?.indicatives;
2880
+ this.selectIndicative('parent_phone_indicative', this.DataStudent.cods?.parent?.phone_indicative);
2881
+ }
2882
+ if (formValue.gender) {
2883
+ if (this.parametersAll && this.parametersAll.gender) {
2884
+ // Transformar gender en un arreglo de { code, name }
2885
+ this.genders = this.parametersAll.gender.map((gender) => ({
2886
+ code: gender.code,
2887
+ name: gender.name_spanish
2888
+ }));
2889
+ }
2890
+ else {
2891
+ this.genders = [];
2892
+ }
2893
+ this.selectGender(this.DataStudent.gender);
2894
+ }
2895
+ }
2896
+ }
2897
+ closeTable() {
2898
+ this.visibleModal = false;
2899
+ this.updateUserForm.reset();
2900
+ this.idTypes = [];
2901
+ this.countries = [];
2902
+ this.genders = [];
2903
+ this.closeModalIS.emit(false);
2904
+ }
2905
+ selectRol(role) {
2906
+ if (role !== null) {
2907
+ this.updateUserForm.get('role')?.setValue(this.transformRole(role));
2908
+ }
2909
+ else {
2910
+ this.updateUserForm.get('role')?.setValue('');
2911
+ }
2912
+ }
2913
+ selectIndicative(field, indicative) {
2914
+ if (indicative !== null) {
2915
+ this.updateUserForm.get(field)?.setValue(indicative);
2916
+ }
2917
+ else {
2918
+ this.updateUserForm.get(field)?.setValue(null);
2919
+ }
2920
+ }
2921
+ selectIdType(field, idType) {
2922
+ if (idType !== null) {
2923
+ this.updateUserForm.get(field)?.setValue(idType);
2924
+ }
2925
+ else {
2926
+ this.updateUserForm.get(field)?.setValue(null);
2927
+ }
2928
+ }
2929
+ selectGender(gender) {
2930
+ if (gender !== null) {
2931
+ this.updateUserForm.get('gender')?.setValue(gender);
2932
+ }
2933
+ else {
2934
+ this.updateUserForm.get('gender')?.setValue(null);
2935
+ }
2936
+ }
2937
+ selectCountry(country) {
2938
+ const countryNumber = typeof country === 'string' ? parseInt(country, 10) : country;
2939
+ if (country != null) {
2940
+ this.updateUserForm.controls['country'].setValue(countryNumber);
2941
+ console.log("se seteo country con el valor que entro en selectCountry");
2942
+ if (this.parametersAll && this.parametersAll?.State) {
2943
+ this.states = this.parametersAll.State.filter((course) => {
2944
+ const state = typeof course.country === 'string'
2945
+ ? parseInt(course.country, 10)
2946
+ : course.country;
2947
+ return state === countryNumber;
2948
+ });
2949
+ }
2950
+ else {
2951
+ this.states = [];
2952
+ }
2953
+ this.updateUserForm.controls['state'].setValue(null);
2954
+ this.updateUserForm.controls['city'].setValue(null);
2955
+ this.cities = [];
2956
+ }
2957
+ else {
2958
+ this.updateUserForm.controls['country'].setValue(null);
2959
+ this.states = [];
2960
+ this.cities = [];
2961
+ this.cdr.detectChanges();
2962
+ }
2963
+ }
2964
+ selectState(state) {
2965
+ const stateNumber = typeof state === 'string' ? parseInt(state, 10) : state;
2966
+ if (state !== null) {
2967
+ this.updateUserForm.controls['state'].setValue(stateNumber);
2968
+ this.updateUserForm.controls['city'].setValue(null);
2969
+ this.cities = [];
2970
+ this.getState(stateNumber);
2971
+ }
2972
+ else {
2973
+ this.updateUserForm.controls['state'].setValue(null);
2974
+ this.updateUserForm.controls['city'].setValue(null);
2975
+ this.cities = [];
2976
+ }
2977
+ }
2978
+ getState(state) {
2979
+ this.getCity(state);
2980
+ }
2981
+ getCity(state) {
2982
+ const stateNumber = typeof state === 'string' ? parseInt(state, 10) : state;
2983
+ if (this.parametersAll?.city) {
2984
+ this.cities = this.parametersAll.city.filter((course) => {
2985
+ const cityState = typeof course.state === 'string' ? parseInt(course.state, 10) : course.state;
2986
+ return cityState === stateNumber;
2987
+ });
2988
+ }
2989
+ else {
2990
+ this.cities = [];
2991
+ }
2992
+ }
2993
+ selectCity(city) {
2994
+ const cityNumber = typeof city === 'string' ? parseInt(city, 10) : city;
2995
+ if (city !== null) {
2996
+ this.updateUserForm.controls['city'].setValue(cityNumber);
2997
+ }
2998
+ else {
2999
+ this.updateUserForm.controls['city'].setValue(null);
3000
+ }
3001
+ }
3002
+ setPhoto(type) {
3003
+ if (type === 'student')
3004
+ this.photo = '/platform/academic/assets/student.jpg';
3005
+ if (type === 'academic')
3006
+ this.photo = '/platform/academic/assets/academico.png';
3007
+ if (type === 'administrative')
3008
+ this.photo = '/platform/administrative/assets/administrativo.jpg';
3009
+ if (type === 'marketing')
3010
+ this.photo = '/platform/marketing/assets/marketing.jpg';
3011
+ if (type === 'commercial')
3012
+ this.photo = '/platform/commercial/assets/user-form-assets/comercial.jpg';
3013
+ if (type === 'treasure')
3014
+ this.photo = '/platform/treasure/assets/administrativo.jpg';
3015
+ }
3016
+ updateUser() {
3017
+ if (this.updateUserForm.invalid ||
3018
+ this.updateUserForm.hasError('mismatch') ||
3019
+ !this.hasFormChanged()) {
3020
+ this.updateUserForm.markAllAsTouched();
3021
+ console.log('createUser - Validation failed:', {
3022
+ invalid: this.updateUserForm.invalid,
3023
+ mismatch: this.updateUserForm.hasError('mismatch'),
3024
+ hasChanges: this.hasFormChanged()
3025
+ });
3026
+ return;
3027
+ }
3028
+ this.loader = true;
3029
+ const formValue = this.updateUserForm.getRawValue();
3030
+ const request = {
3031
+ token: this.baseService.getUserToken(),
3032
+ user: {
3033
+ code: this.DataStudent.code,
3034
+ name: formValue.name,
3035
+ last_name: formValue.last_name,
3036
+ id_card_type: formValue.id_card_type,
3037
+ id_card: formValue.id_card,
3038
+ phone_indicative: formValue.phone_indicative,
3039
+ phone_number: formValue.phone_number,
3040
+ email: formValue.email,
3041
+ gender: formValue.gender,
3042
+ city: formValue.city,
3043
+ service_hour: formValue.service_hour,
3044
+ role: this.DataStudent.role,
3045
+ status: formValue.status,
3046
+ ...(this.showEmailIpt ? { email_ipt: formValue.email_ipt } : {}),
3047
+ ...(formValue.changePassword && formValue.password ? { password: formValue.password } : {})
3048
+ },
3049
+ parent: this.showParentSection
3050
+ ? {
3051
+ code: this.DataStudent.cods?.parent?.code || null,
3052
+ name: formValue.parent_name || null,
3053
+ last_name: formValue.parent_last_name || null,
3054
+ id_card_type: formValue.parent_id_card_type || null,
3055
+ id_card: formValue.parent_id_card || null,
3056
+ phone_indicative: formValue.parent_phone_indicative || null,
3057
+ phone_number: formValue.parent_phone_number || null,
3058
+ occupation: formValue.parent_occupation || null,
3059
+ office_adrress: formValue.parent_office_adrress || null,
3060
+ email: formValue.parent_email || null
3061
+ }
3062
+ : null
3063
+ };
3064
+ console.log(request);
3065
+ this.userService.updateUserAndParentByCode(request).subscribe((response) => {
3066
+ // this.courseType = response.data;
3067
+ if (response.message.code === 1) {
3068
+ Swal.fire({
3069
+ position: 'center',
3070
+ icon: 'success',
3071
+ title: 'usuario actualizado satisfactoriamente',
3072
+ showConfirmButton: false,
3073
+ timer: 2500,
3074
+ });
3075
+ // this.userUpdated = true
3076
+ this.userUpdatedEvent.emit();
3077
+ this.closeTable();
3078
+ }
3079
+ else {
3080
+ Swal.fire({
3081
+ position: 'center',
3082
+ icon: 'error',
3083
+ title: 'Ha ocurrido un error inesperado',
3084
+ showConfirmButton: false,
3085
+ timer: 2500,
3086
+ });
3087
+ // this.userUpdated = false
3088
+ }
3089
+ });
3090
+ this.loader = false;
3091
+ }
3092
+ hasFormChanged() {
3093
+ if (!this.initialFormValue || !this.DataStudent) {
3094
+ return false;
3095
+ }
3096
+ const currentValue = this.updateUserForm.getRawValue();
3097
+ if (currentValue.changePassword) {
3098
+ const password = currentValue.password;
3099
+ const rePassword = currentValue.re_password;
3100
+ const passwordControl = this.updateUserForm.get('password');
3101
+ const rePasswordControl = this.updateUserForm.get('re_password');
3102
+ if (passwordControl?.valid &&
3103
+ rePasswordControl?.valid &&
3104
+ password === rePassword &&
3105
+ password?.trim() !== '') {
3106
+ return true;
3107
+ }
3108
+ }
3109
+ const fieldsToCompare = [
3110
+ 'name',
3111
+ 'last_name',
3112
+ 'email',
3113
+ 'gender',
3114
+ 'id_card_type',
3115
+ 'id_card',
3116
+ 'phone_indicative',
3117
+ 'phone_number',
3118
+ 'country',
3119
+ 'state',
3120
+ 'city',
3121
+ 'role',
3122
+ 'service_hour',
3123
+ 'status'
3124
+ ];
3125
+ if (this.showEmailIpt) {
3126
+ fieldsToCompare.push('email_ipt');
3127
+ }
3128
+ if (this.showParentSection) {
3129
+ fieldsToCompare.push('parent_name', 'parent_last_name', 'parent_id_card_type', 'parent_id_card', 'parent_phone_indicative', 'parent_phone_number', 'parent_occupation', 'parent_office_adrress', 'parent_email');
3130
+ }
3131
+ for (const field of fieldsToCompare) {
3132
+ let originalValue;
3133
+ let currentFieldValue = currentValue[field];
3134
+ switch (field) {
3135
+ case 'name':
3136
+ originalValue = this.DataStudent.name || '';
3137
+ break;
3138
+ case 'last_name':
3139
+ originalValue = this.DataStudent.last_name || '';
3140
+ break;
3141
+ case 'email':
3142
+ originalValue = this.DataStudent.email || '';
3143
+ break;
3144
+ case 'email_ipt':
3145
+ originalValue = this.DataStudent.email_ipt || '';
3146
+ break;
3147
+ case 'gender':
3148
+ originalValue = this.DataStudent.gender || null;
3149
+ break;
3150
+ case 'id_card_type':
3151
+ originalValue = this.DataStudent.id_card_type || '';
3152
+ break;
3153
+ case 'id_card':
3154
+ originalValue = this.DataStudent.id_card || '';
3155
+ break;
3156
+ case 'phone_indicative':
3157
+ originalValue = this.DataStudent.phone_indicative || '';
3158
+ break;
3159
+ case 'phone_number':
3160
+ originalValue = this.DataStudent.phone_number || '';
3161
+ break;
3162
+ case 'country':
3163
+ originalValue = this.DataStudent.city?.country || '';
3164
+ break;
3165
+ case 'state':
3166
+ originalValue = this.DataStudent.city?.state || '';
3167
+ break;
3168
+ case 'city':
3169
+ originalValue = this.DataStudent.city?.code || '';
3170
+ break;
3171
+ case 'role':
3172
+ originalValue = this.transformRole(this.DataStudent.role) || '';
3173
+ break;
3174
+ case 'service_hour':
3175
+ originalValue = this.DataStudent.service_hour;
3176
+ break;
3177
+ case 'status':
3178
+ originalValue = this.DataStudent.user_status || '';
3179
+ break;
3180
+ case 'parent_name':
3181
+ originalValue = this.DataStudent.cods?.parent?.name || '';
3182
+ break;
3183
+ case 'parent_last_name':
3184
+ originalValue = this.DataStudent.cods?.parent?.last_name || '';
3185
+ break;
3186
+ case 'parent_id_card_type':
3187
+ originalValue = this.DataStudent.cods?.parent?.id_card_type;
3188
+ break;
3189
+ case 'parent_id_card':
3190
+ originalValue = this.DataStudent.cods?.parent?.id_card || '';
3191
+ break;
3192
+ case 'parent_phone_indicative':
3193
+ originalValue = this.DataStudent.cods?.parent?.phone_indicative || '';
3194
+ break;
3195
+ case 'parent_phone_number':
3196
+ originalValue = this.DataStudent.cods?.parent?.phone_number || '';
3197
+ break;
3198
+ case 'parent_occupation':
3199
+ originalValue = this.DataStudent.cods?.parent?.occupation || '';
3200
+ break;
3201
+ case 'parent_office_adrress':
3202
+ originalValue = this.DataStudent.cods?.parent?.office_adrress || '';
3203
+ break;
3204
+ case 'parent_email':
3205
+ originalValue = this.DataStudent.cods?.parent?.email || '';
3206
+ break;
3207
+ default:
3208
+ originalValue = '';
3209
+ }
3210
+ const normalizedCurrent = currentFieldValue != null ? String(currentFieldValue).trim() : '';
3211
+ const normalizedOriginal = originalValue != null ? String(originalValue).trim() : '';
3212
+ if (normalizedCurrent !== normalizedOriginal) {
3213
+ return true;
3214
+ }
3215
+ }
3216
+ return false;
3217
+ }
3218
+ }
3219
+ updateUserFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: updateUserFormComponent, deps: [{ token: i1$1.FormBuilder }, { token: i0.ChangeDetectorRef }, { token: i2$2.ParameterService }, { token: i2$2.BaseService }, { token: i2$2.UserService }], target: i0.ɵɵFactoryTarget.Component });
3220
+ updateUserFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: updateUserFormComponent, selector: "ipt-update-user-form", inputs: { DataStudent: "DataStudent", visibleModal: "visibleModal" }, outputs: { closeModalIS: "closeModalIS", userUpdatedEvent: "userUpdatedEvent" }, usesOnChanges: true, ngImport: i0, template: "<!-- <p-dialog\n [(visible)]=\"visibleModal\"\n [style]=\"{width: '80%'}\"\n header=\"Actualizar usuario\"\n [modal]=\"true\"\n styleClass=\"p-fluid\"\n (onHide)=\"closeTable()\"\n [dismissableMask]=\"true\"\n [breakpoints]=\"{'1920px': '75vw', '1440px': '75vw', '1024px': '75vw', '576px': '100vw'}\"\n> -->\n<!-- <div>\n <pre>{{ updateUserForm.value | json }}</pre>\n <div>\n <pre>{{ updateUserForm.valid | json }}</pre>\n </div>\n</div> -->\n <div class=\"grid_container\">\n <div>\n <form *ngIf=\"updateUserForm\" autocomplete=\"off\" [formGroup]=\"updateUserForm\">\n <!-- User Information Section -->\n <div class=\"section-header\">\n <h2>Informaci\u00F3n del usuario</h2>\n </div>\n <div class=\"form-grid\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"updateUserForm.controls['name']\"\n [validateText]=\"updateUserForm.controls['name'].hasError('required') ? 'Debe ingresar el nombre' :\n updateUserForm.controls['name'].hasError('minlength') ? 'M\u00EDnimo 3 caracteres' :\n updateUserForm.controls['name'].hasError('maxlength') ? 'M\u00E1ximo 32 caracteres' :\n updateUserForm.controls['name'].hasError('pattern') ? 'Solo letras, espacios y guiones' :\n updateUserForm.controls['name'].hasError('hasWhitespace') ? 'No se permiten espacios al inicio o final' :\n updateUserForm.controls['name'].hasError('onlyWhitespace') ? 'No se permiten solo espacios' :\n 'Debe ingresar el nombre'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"updateUserForm.controls['last_name']\"\n [validateText]=\"updateUserForm.controls['last_name'].hasError('required') ? 'Debe ingresar los apellidos' :\n updateUserForm.controls['last_name'].hasError('minlength') ? 'M\u00EDnimo 3 caracteres' :\n updateUserForm.controls['last_name'].hasError('maxlength') ? 'M\u00E1ximo 32 caracteres' :\n updateUserForm.controls['last_name'].hasError('pattern') ? 'Solo letras, espacios y guiones' :\n updateUserForm.controls['last_name'].hasError('hasWhitespace') ? 'No se permiten espacios al inicio o final' :\n updateUserForm.controls['last_name'].hasError('onlyWhitespace') ? 'No se permiten solo espacios' :\n 'Debe ingresar los apellidos'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'email'\"\n [placeHolder]=\"'Email'\"\n [control]=\"updateUserForm.controls['email']\"\n [validateText]=\"updateUserForm.controls['email'].hasError('required') ? 'Debe ingresar un correo v\u00E1lido' :\n updateUserForm.controls['email'].hasError('maxlength') ? 'M\u00E1ximo 300 caracteres' :\n updateUserForm.controls['email'].hasError('pattern') ? 'Tiene que ser un email correcto' :\n updateUserForm.controls['email'].hasError('hasWhitespace') ? 'No se permiten espacios al inicio o final' :\n updateUserForm.controls['email'].hasError('onlyWhitespace') ? 'No se permiten solo espacios' :\n 'Debe ingresar un correo v\u00E1lido'\"\n ></ipt-input>\n <ipt-input\n *ngIf=\"showEmailIpt\"\n [inputType]=\"'text'\"\n [placeHolder]=\"'Email IPT'\"\n [control]=\"updateUserForm.controls['email_ipt']\"\n [validateText]=\"updateUserForm.controls['email_ipt'].hasError('required') ? 'Debe ingresar un correo IPT v\u00E1lido' :\n updateUserForm.controls['email_ipt'].hasError('maxlength') ? 'M\u00E1ximo 255 caracteres' :\n updateUserForm.controls['email_ipt'].hasError('pattern') ? 'Tiene que ser un email correcto' :\n updateUserForm.controls['email_ipt'].hasError('hasWhitespace') ? 'No se permiten espacios al inicio o final' :\n updateUserForm.controls['email_ipt'].hasError('onlyWhitespace') ? 'No se permiten solo espacios' :\n 'Debe ingresar un correo IPT v\u00E1lido'\"\n ></ipt-input>\n <ipt-input\n *ngIf=\"showEmailIpt\"\n [inputType]=\"'number'\"\n [placeHolder]=\"'Horas de servicio'\"\n [control]=\"updateUserForm.controls['service_hour']\"\n [validateText]=\"'Debe ingresar las horas de servicio'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Rol'\"\n [control]=\"updateUserForm.controls['role']\"\n [validateText]=\"'Rol requerido'\"\n ></ipt-input>\n <!-- <ipt-select\n [initialValue]=\"updateUserForm.controls['gender'].value\"\n [control]=\"updateUserForm.controls['gender']\"\n [selectCode]=\"updateUserForm.controls['gender'].value === null ? 'Seleccione g\u00E9nero' : (updateUserForm.controls['gender'].value | genderDisplay)\"\n [data]=\"genders\"\n (eventSelect)=\"selectGender($event)\"\n [defaultText]=\"'Seleccione g\u00E9nero'\"\n ></ipt-select> -->\n <ipt-select\n [initialValue]=\"updateUserForm.controls['phone_indicative'].value\"\n [control]=\"updateUserForm.controls['phone_indicative']\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicative('phone_indicative', $event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Tel\u00E9fono'\"\n [control]=\"updateUserForm.controls['phone_number']\"\n [validateText]=\"'Debe ingresar un n\u00FAmero de tel\u00E9fono v\u00E1lido'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['id_card_type'].value\"\n [control]=\"updateUserForm.controls['id_card_type']\"\n [selectCode]=\"updateUserForm.controls['id_card_type'].value === null ? 'Tipo de documento' : updateUserForm.controls['id_card_type'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType('id_card_type', $event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Documento'\"\n [control]=\"updateUserForm.controls['id_card']\"\n [validateText]=\"'Debe ingresar el n\u00FAmero de documento'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['country'].value\"\n [control]=\"updateUserForm.controls['country']\"\n [selectCode]=\"updateUserForm.controls['country'].value === null ? 'Pa\u00EDs de residencia' : updateUserForm.controls['country'].value\"\n (eventSelect)=\"selectCountry($event)\"\n [data]=\"countries\"\n [defaultText]=\"'Pa\u00EDs de residencia'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['state'].value\"\n [control]=\"updateUserForm.controls['state']\"\n [selectCode]=\"updateUserForm.controls['state'].value === null ? 'Departamento o estado' : updateUserForm.controls['state'].value\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Departamento o estado'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['city'].value\"\n [control]=\"updateUserForm.controls['city']\"\n [selectCode]=\"updateUserForm.controls['city'].value === null ? 'Ciudad de residencia' : updateUserForm.controls['city'].value\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad de residencia'\"\n ></ipt-select>\n <!-- <div *ngIf=\"this.DataStudent.role !== 13\" class=\"card flex justify-content-center align-content-center align-items-end text-cen ter \">\n <p-selectButton [options]=\"justifyOptions\" formControlName=\"status\" optionLabel=\"name\" optionValue=\"code\"></p-selectButton>\n </div>\n <div class=\"field\">\n <p-checkbox\n formControlName=\"changePassword\"\n label=\"Cambio de contrase\u00F1a\"\n [binary]=\"true\"\n ></p-checkbox>\n </div> -->\n </div>\n <div class=\"form-grid\" *ngIf=\"updateUserForm.controls['changePassword'].value\">\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Contrase\u00F1a'\"\n [control]=\"updateUserForm.controls['password']\"\n [validateText]=\"updateUserForm.controls['password'].hasError('required') ? 'La contrase\u00F1a es requerida' :\n updateUserForm.controls['password'].hasError('minlength') ? 'M\u00EDnimo 5 caracteres' :\n updateUserForm.controls['password'].hasError('maxlength') ? 'M\u00E1ximo 32 caracteres' :\n 'Ingrese una contrase\u00F1a v\u00E1lida'\"\n ></ipt-input>\n\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Repetir contrase\u00F1a'\"\n [control]=\"updateUserForm.controls['re_password']\"\n [validateText]=\"updateUserForm.controls['re_password'].hasError('required') ? 'Debe repetir la contrase\u00F1a' :\n updateUserForm.controls['re_password'].hasError('minlength') ? 'M\u00EDnimo 5 caracteres' :\n updateUserForm.controls['re_password'].hasError('maxlength') ? 'M\u00E1ximo 32 caracteres' :\n updateUserForm.hasError('mismatch') ? 'Las contrase\u00F1as no coinciden' :\n 'Repita la contrase\u00F1a'\"\n ></ipt-input>\n </div>\n\n <!-- Mensaje adicional para el error de mismatch (opcional, si quieres mostrarlo por separado) -->\n\n <div *ngIf=\"updateUserForm.hasError('mismatch') && updateUserForm.controls['changePassword'].value\" class=\"error-message\">\n <small >Las contrase\u00F1as no coinciden</small>\n </div>\n <!-- Parent Information Section -->\n <div class=\"section-header\" *ngIf=\"DataStudent?.cods\">\n <h2>Informaci\u00F3n del acudiente</h2>\n </div>\n <div *ngIf=\"DataStudent?.cods\">\n <div *ngIf=\"showParentSection; else noParentMessage\">\n <div class=\"form-grid\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"updateUserForm.controls['parent_name']\"\n [validateText]=\"'Debe ingresar el nombre'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"updateUserForm.controls['parent_last_name']\"\n [validateText]=\"'Debe ingresar los apellidos'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Ocupaci\u00F3n'\"\n [control]=\"updateUserForm.controls['parent_occupation']\"\n [validateText]=\"'Debe ingresar la ocupaci\u00F3n'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'email'\"\n [placeHolder]=\"'Email'\"\n [control]=\"updateUserForm.controls['parent_email']\"\n [validateText]=\"'Debe ingresar un correo v\u00E1lido'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['parent_id_card_type'].value\"\n [control]=\"updateUserForm.controls['parent_id_card_type']\"\n [selectCode]=\"updateUserForm.controls['parent_id_card_type'].value === null ? 'Tipo de documento' : updateUserForm.controls['parent_id_card_type'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType('parent_id_card_type', $event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Documento'\"\n [control]=\"updateUserForm.controls['parent_id_card']\"\n [validateText]=\"'Debe ingresar el n\u00FAmero de documento'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['parent_phone_indicative'].value\"\n [control]=\"updateUserForm.controls['parent_phone_indicative']\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicative('parent_phone_indicative', $event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Tel\u00E9fono'\"\n [control]=\"updateUserForm.controls['parent_phone_number']\"\n [validateText]=\"'Debe ingresar un n\u00FAmero de tel\u00E9fono v\u00E1lido'\"\n ></ipt-input>\n\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Direcci\u00F3n de oficina'\"\n [control]=\"updateUserForm.controls['parent_office_adrress']\"\n [validateText]=\"'Debe ingresar la direcci\u00F3n'\"\n ></ipt-input>\n </div>\n </div>\n <ng-template #noParentMessage>\n <div class=\"no-parent-message\">\n <p>Sin acudiente</p>\n </div>\n </ng-template>\n </div>\n\n <div class=\"buttons-container\">\n <ipt-button\n [label]=\"'Actualizar'\"\n [isEnabled]=\"!loader && updateUserForm.valid && !updateUserForm.hasError('mismatch') && hasFormChanged()\"\n (onClick)=\"updateUser()\"\n [primary]=\"true\"\n ></ipt-button>\n </div>\n </form>\n </div>\n </div>\n<!-- </p-dialog> -->", styles: ["@media screen and (min-width: 320px){main{background:rgba(0,0,0,.472);color:#fff;position:fixed;top:0;left:0;height:100vh;width:100vw;transition:all .5s}main .modal_container{width:60%;height:-moz-fit-content;height:fit-content;position:absolute;inset:0;margin:auto;background-color:#fff;border-radius:3px}.header_modal{display:flex;padding:15px 15px 0;gap:1rem;align-items:center}.header_modal h1{padding:.5rem;background-color:#1c77f7;color:#fff;width:100%;border-radius:10px;font-size:1.25rem;font-weight:700}.header_modal button{margin-left:auto;font-size:26px;padding:1.2rem;font-weight:200;color:#6c7f7d;display:flex;width:25px;height:25px;align-items:center;justify-content:center;transition:50ms;background-color:transparent;border:none}.header_modal button:hover{cursor:pointer;border-radius:50%;background-color:#d4d4d4}.grid_container{display:grid;grid-template-columns:1fr;padding:0 15px}form{display:grid;grid-template-columns:1fr;gap:.25rem;justify-content:center;padding:0 1rem}.section-header{margin:1.5rem 0 .5rem;border-bottom:2px solid #1c77f7}.section-header h2{font-size:1.2rem;color:#1c77f7;font-weight:600;margin-bottom:.5rem}.form-grid{display:grid;grid-template-columns:1fr;gap:.25rem}.buttons-container{margin-top:2rem;margin-bottom:2rem;display:flex;justify-content:center;align-items:center}.user-type-image{display:none}.no-parent-message{padding:1rem;text-align:center;color:#666;font-size:1rem;font-weight:500;background-color:#f8f9fa;border-radius:.5rem;margin-top:.5rem}}@media screen and (min-width: 768px){.form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}}@media screen and (min-width: 1366px){form{padding:0}}.field{height:1px;max-width:67%}.error-message{color:red;font-size:12px;margin-top:5px}.p-selectbutton{display:flex;flex-wrap:wrap;justify-content:center;width:100%;min-width:10rem}:host ::ng-deep .p-selectbutton .p-button{padding:.5rem;font-size:.875rem;height:30px}:host ::ng-deep .p-buttonset .p-button:first-of-type{height:30px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: ButtonComponent, selector: "ipt-button", inputs: ["primary", "size", "label", "buttonType", "isEnabled"], outputs: ["onClick"] }, { kind: "component", type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "component", type: SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "label", "control"], outputs: ["eventSelect"] }] });
3221
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: updateUserFormComponent, decorators: [{
3222
+ type: Component,
3223
+ args: [{ selector: 'ipt-update-user-form', template: "<!-- <p-dialog\n [(visible)]=\"visibleModal\"\n [style]=\"{width: '80%'}\"\n header=\"Actualizar usuario\"\n [modal]=\"true\"\n styleClass=\"p-fluid\"\n (onHide)=\"closeTable()\"\n [dismissableMask]=\"true\"\n [breakpoints]=\"{'1920px': '75vw', '1440px': '75vw', '1024px': '75vw', '576px': '100vw'}\"\n> -->\n<!-- <div>\n <pre>{{ updateUserForm.value | json }}</pre>\n <div>\n <pre>{{ updateUserForm.valid | json }}</pre>\n </div>\n</div> -->\n <div class=\"grid_container\">\n <div>\n <form *ngIf=\"updateUserForm\" autocomplete=\"off\" [formGroup]=\"updateUserForm\">\n <!-- User Information Section -->\n <div class=\"section-header\">\n <h2>Informaci\u00F3n del usuario</h2>\n </div>\n <div class=\"form-grid\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"updateUserForm.controls['name']\"\n [validateText]=\"updateUserForm.controls['name'].hasError('required') ? 'Debe ingresar el nombre' :\n updateUserForm.controls['name'].hasError('minlength') ? 'M\u00EDnimo 3 caracteres' :\n updateUserForm.controls['name'].hasError('maxlength') ? 'M\u00E1ximo 32 caracteres' :\n updateUserForm.controls['name'].hasError('pattern') ? 'Solo letras, espacios y guiones' :\n updateUserForm.controls['name'].hasError('hasWhitespace') ? 'No se permiten espacios al inicio o final' :\n updateUserForm.controls['name'].hasError('onlyWhitespace') ? 'No se permiten solo espacios' :\n 'Debe ingresar el nombre'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"updateUserForm.controls['last_name']\"\n [validateText]=\"updateUserForm.controls['last_name'].hasError('required') ? 'Debe ingresar los apellidos' :\n updateUserForm.controls['last_name'].hasError('minlength') ? 'M\u00EDnimo 3 caracteres' :\n updateUserForm.controls['last_name'].hasError('maxlength') ? 'M\u00E1ximo 32 caracteres' :\n updateUserForm.controls['last_name'].hasError('pattern') ? 'Solo letras, espacios y guiones' :\n updateUserForm.controls['last_name'].hasError('hasWhitespace') ? 'No se permiten espacios al inicio o final' :\n updateUserForm.controls['last_name'].hasError('onlyWhitespace') ? 'No se permiten solo espacios' :\n 'Debe ingresar los apellidos'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'email'\"\n [placeHolder]=\"'Email'\"\n [control]=\"updateUserForm.controls['email']\"\n [validateText]=\"updateUserForm.controls['email'].hasError('required') ? 'Debe ingresar un correo v\u00E1lido' :\n updateUserForm.controls['email'].hasError('maxlength') ? 'M\u00E1ximo 300 caracteres' :\n updateUserForm.controls['email'].hasError('pattern') ? 'Tiene que ser un email correcto' :\n updateUserForm.controls['email'].hasError('hasWhitespace') ? 'No se permiten espacios al inicio o final' :\n updateUserForm.controls['email'].hasError('onlyWhitespace') ? 'No se permiten solo espacios' :\n 'Debe ingresar un correo v\u00E1lido'\"\n ></ipt-input>\n <ipt-input\n *ngIf=\"showEmailIpt\"\n [inputType]=\"'text'\"\n [placeHolder]=\"'Email IPT'\"\n [control]=\"updateUserForm.controls['email_ipt']\"\n [validateText]=\"updateUserForm.controls['email_ipt'].hasError('required') ? 'Debe ingresar un correo IPT v\u00E1lido' :\n updateUserForm.controls['email_ipt'].hasError('maxlength') ? 'M\u00E1ximo 255 caracteres' :\n updateUserForm.controls['email_ipt'].hasError('pattern') ? 'Tiene que ser un email correcto' :\n updateUserForm.controls['email_ipt'].hasError('hasWhitespace') ? 'No se permiten espacios al inicio o final' :\n updateUserForm.controls['email_ipt'].hasError('onlyWhitespace') ? 'No se permiten solo espacios' :\n 'Debe ingresar un correo IPT v\u00E1lido'\"\n ></ipt-input>\n <ipt-input\n *ngIf=\"showEmailIpt\"\n [inputType]=\"'number'\"\n [placeHolder]=\"'Horas de servicio'\"\n [control]=\"updateUserForm.controls['service_hour']\"\n [validateText]=\"'Debe ingresar las horas de servicio'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Rol'\"\n [control]=\"updateUserForm.controls['role']\"\n [validateText]=\"'Rol requerido'\"\n ></ipt-input>\n <!-- <ipt-select\n [initialValue]=\"updateUserForm.controls['gender'].value\"\n [control]=\"updateUserForm.controls['gender']\"\n [selectCode]=\"updateUserForm.controls['gender'].value === null ? 'Seleccione g\u00E9nero' : (updateUserForm.controls['gender'].value | genderDisplay)\"\n [data]=\"genders\"\n (eventSelect)=\"selectGender($event)\"\n [defaultText]=\"'Seleccione g\u00E9nero'\"\n ></ipt-select> -->\n <ipt-select\n [initialValue]=\"updateUserForm.controls['phone_indicative'].value\"\n [control]=\"updateUserForm.controls['phone_indicative']\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicative('phone_indicative', $event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Tel\u00E9fono'\"\n [control]=\"updateUserForm.controls['phone_number']\"\n [validateText]=\"'Debe ingresar un n\u00FAmero de tel\u00E9fono v\u00E1lido'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['id_card_type'].value\"\n [control]=\"updateUserForm.controls['id_card_type']\"\n [selectCode]=\"updateUserForm.controls['id_card_type'].value === null ? 'Tipo de documento' : updateUserForm.controls['id_card_type'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType('id_card_type', $event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Documento'\"\n [control]=\"updateUserForm.controls['id_card']\"\n [validateText]=\"'Debe ingresar el n\u00FAmero de documento'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['country'].value\"\n [control]=\"updateUserForm.controls['country']\"\n [selectCode]=\"updateUserForm.controls['country'].value === null ? 'Pa\u00EDs de residencia' : updateUserForm.controls['country'].value\"\n (eventSelect)=\"selectCountry($event)\"\n [data]=\"countries\"\n [defaultText]=\"'Pa\u00EDs de residencia'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['state'].value\"\n [control]=\"updateUserForm.controls['state']\"\n [selectCode]=\"updateUserForm.controls['state'].value === null ? 'Departamento o estado' : updateUserForm.controls['state'].value\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Departamento o estado'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['city'].value\"\n [control]=\"updateUserForm.controls['city']\"\n [selectCode]=\"updateUserForm.controls['city'].value === null ? 'Ciudad de residencia' : updateUserForm.controls['city'].value\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad de residencia'\"\n ></ipt-select>\n <!-- <div *ngIf=\"this.DataStudent.role !== 13\" class=\"card flex justify-content-center align-content-center align-items-end text-cen ter \">\n <p-selectButton [options]=\"justifyOptions\" formControlName=\"status\" optionLabel=\"name\" optionValue=\"code\"></p-selectButton>\n </div>\n <div class=\"field\">\n <p-checkbox\n formControlName=\"changePassword\"\n label=\"Cambio de contrase\u00F1a\"\n [binary]=\"true\"\n ></p-checkbox>\n </div> -->\n </div>\n <div class=\"form-grid\" *ngIf=\"updateUserForm.controls['changePassword'].value\">\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Contrase\u00F1a'\"\n [control]=\"updateUserForm.controls['password']\"\n [validateText]=\"updateUserForm.controls['password'].hasError('required') ? 'La contrase\u00F1a es requerida' :\n updateUserForm.controls['password'].hasError('minlength') ? 'M\u00EDnimo 5 caracteres' :\n updateUserForm.controls['password'].hasError('maxlength') ? 'M\u00E1ximo 32 caracteres' :\n 'Ingrese una contrase\u00F1a v\u00E1lida'\"\n ></ipt-input>\n\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Repetir contrase\u00F1a'\"\n [control]=\"updateUserForm.controls['re_password']\"\n [validateText]=\"updateUserForm.controls['re_password'].hasError('required') ? 'Debe repetir la contrase\u00F1a' :\n updateUserForm.controls['re_password'].hasError('minlength') ? 'M\u00EDnimo 5 caracteres' :\n updateUserForm.controls['re_password'].hasError('maxlength') ? 'M\u00E1ximo 32 caracteres' :\n updateUserForm.hasError('mismatch') ? 'Las contrase\u00F1as no coinciden' :\n 'Repita la contrase\u00F1a'\"\n ></ipt-input>\n </div>\n\n <!-- Mensaje adicional para el error de mismatch (opcional, si quieres mostrarlo por separado) -->\n\n <div *ngIf=\"updateUserForm.hasError('mismatch') && updateUserForm.controls['changePassword'].value\" class=\"error-message\">\n <small >Las contrase\u00F1as no coinciden</small>\n </div>\n <!-- Parent Information Section -->\n <div class=\"section-header\" *ngIf=\"DataStudent?.cods\">\n <h2>Informaci\u00F3n del acudiente</h2>\n </div>\n <div *ngIf=\"DataStudent?.cods\">\n <div *ngIf=\"showParentSection; else noParentMessage\">\n <div class=\"form-grid\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"updateUserForm.controls['parent_name']\"\n [validateText]=\"'Debe ingresar el nombre'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"updateUserForm.controls['parent_last_name']\"\n [validateText]=\"'Debe ingresar los apellidos'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Ocupaci\u00F3n'\"\n [control]=\"updateUserForm.controls['parent_occupation']\"\n [validateText]=\"'Debe ingresar la ocupaci\u00F3n'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'email'\"\n [placeHolder]=\"'Email'\"\n [control]=\"updateUserForm.controls['parent_email']\"\n [validateText]=\"'Debe ingresar un correo v\u00E1lido'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['parent_id_card_type'].value\"\n [control]=\"updateUserForm.controls['parent_id_card_type']\"\n [selectCode]=\"updateUserForm.controls['parent_id_card_type'].value === null ? 'Tipo de documento' : updateUserForm.controls['parent_id_card_type'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType('parent_id_card_type', $event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Documento'\"\n [control]=\"updateUserForm.controls['parent_id_card']\"\n [validateText]=\"'Debe ingresar el n\u00FAmero de documento'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"updateUserForm.controls['parent_phone_indicative'].value\"\n [control]=\"updateUserForm.controls['parent_phone_indicative']\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicative('parent_phone_indicative', $event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Tel\u00E9fono'\"\n [control]=\"updateUserForm.controls['parent_phone_number']\"\n [validateText]=\"'Debe ingresar un n\u00FAmero de tel\u00E9fono v\u00E1lido'\"\n ></ipt-input>\n\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Direcci\u00F3n de oficina'\"\n [control]=\"updateUserForm.controls['parent_office_adrress']\"\n [validateText]=\"'Debe ingresar la direcci\u00F3n'\"\n ></ipt-input>\n </div>\n </div>\n <ng-template #noParentMessage>\n <div class=\"no-parent-message\">\n <p>Sin acudiente</p>\n </div>\n </ng-template>\n </div>\n\n <div class=\"buttons-container\">\n <ipt-button\n [label]=\"'Actualizar'\"\n [isEnabled]=\"!loader && updateUserForm.valid && !updateUserForm.hasError('mismatch') && hasFormChanged()\"\n (onClick)=\"updateUser()\"\n [primary]=\"true\"\n ></ipt-button>\n </div>\n </form>\n </div>\n </div>\n<!-- </p-dialog> -->", styles: ["@media screen and (min-width: 320px){main{background:rgba(0,0,0,.472);color:#fff;position:fixed;top:0;left:0;height:100vh;width:100vw;transition:all .5s}main .modal_container{width:60%;height:-moz-fit-content;height:fit-content;position:absolute;inset:0;margin:auto;background-color:#fff;border-radius:3px}.header_modal{display:flex;padding:15px 15px 0;gap:1rem;align-items:center}.header_modal h1{padding:.5rem;background-color:#1c77f7;color:#fff;width:100%;border-radius:10px;font-size:1.25rem;font-weight:700}.header_modal button{margin-left:auto;font-size:26px;padding:1.2rem;font-weight:200;color:#6c7f7d;display:flex;width:25px;height:25px;align-items:center;justify-content:center;transition:50ms;background-color:transparent;border:none}.header_modal button:hover{cursor:pointer;border-radius:50%;background-color:#d4d4d4}.grid_container{display:grid;grid-template-columns:1fr;padding:0 15px}form{display:grid;grid-template-columns:1fr;gap:.25rem;justify-content:center;padding:0 1rem}.section-header{margin:1.5rem 0 .5rem;border-bottom:2px solid #1c77f7}.section-header h2{font-size:1.2rem;color:#1c77f7;font-weight:600;margin-bottom:.5rem}.form-grid{display:grid;grid-template-columns:1fr;gap:.25rem}.buttons-container{margin-top:2rem;margin-bottom:2rem;display:flex;justify-content:center;align-items:center}.user-type-image{display:none}.no-parent-message{padding:1rem;text-align:center;color:#666;font-size:1rem;font-weight:500;background-color:#f8f9fa;border-radius:.5rem;margin-top:.5rem}}@media screen and (min-width: 768px){.form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}}@media screen and (min-width: 1366px){form{padding:0}}.field{height:1px;max-width:67%}.error-message{color:red;font-size:12px;margin-top:5px}.p-selectbutton{display:flex;flex-wrap:wrap;justify-content:center;width:100%;min-width:10rem}:host ::ng-deep .p-selectbutton .p-button{padding:.5rem;font-size:.875rem;height:30px}:host ::ng-deep .p-buttonset .p-button:first-of-type{height:30px}\n"] }]
3224
+ }], ctorParameters: function () { return [{ type: i1$1.FormBuilder }, { type: i0.ChangeDetectorRef }, { type: i2$2.ParameterService }, { type: i2$2.BaseService }, { type: i2$2.UserService }]; }, propDecorators: { DataStudent: [{
3225
+ type: Input
3226
+ }], visibleModal: [{
3227
+ type: Input
3228
+ }], closeModalIS: [{
3229
+ type: Output
3230
+ }], userUpdatedEvent: [{
3231
+ type: Output
3232
+ }] } });
3233
+
2618
3234
  class ComponentsModule {
2619
3235
  }
2620
3236
  ComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: ComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -2634,7 +3250,8 @@ ComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
2634
3250
  TextLinkComponent,
2635
3251
  QuestionTypeComponent,
2636
3252
  CardCourseComponent,
2637
- CardSelectCourseComponent], imports: [CommonModule,
3253
+ CardSelectCourseComponent,
3254
+ updateUserFormComponent], imports: [CommonModule,
2638
3255
  // BrowserModule, // Para evitar doble carga de BrowserModule
2639
3256
  FormsModule,
2640
3257
  ReactiveFormsModule,
@@ -2659,7 +3276,8 @@ ComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
2659
3276
  CurrencyMaskModule,
2660
3277
  QuestionTypeComponent,
2661
3278
  CardCourseComponent,
2662
- CardSelectCourseComponent] });
3279
+ CardSelectCourseComponent,
3280
+ updateUserFormComponent] });
2663
3281
  ComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: ComponentsModule, providers: [
2664
3282
  CurrencyPipe,
2665
3283
  TitleCasePipe
@@ -2692,7 +3310,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
2692
3310
  TextLinkComponent,
2693
3311
  QuestionTypeComponent,
2694
3312
  CardCourseComponent,
2695
- CardSelectCourseComponent
3313
+ CardSelectCourseComponent,
3314
+ updateUserFormComponent
2696
3315
  ],
2697
3316
  imports: [
2698
3317
  CommonModule,
@@ -2723,7 +3342,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
2723
3342
  CurrencyMaskModule,
2724
3343
  QuestionTypeComponent,
2725
3344
  CardCourseComponent,
2726
- CardSelectCourseComponent
3345
+ CardSelectCourseComponent,
3346
+ updateUserFormComponent
2727
3347
  ],
2728
3348
  providers: [
2729
3349
  CurrencyPipe,
@@ -4431,10 +5051,10 @@ class CodFormStepTwoComponent extends CodFormSteps {
4431
5051
  }
4432
5052
  }
4433
5053
  CodFormStepTwoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodFormStepTwoComponent, deps: [{ token: i1$1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
4434
- CodFormStepTwoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodFormStepTwoComponent, selector: "app-cod-form-step-two", inputs: { initialData: "initialData", isEditCod: "isEditCod", parametersAll: "parametersAll" }, outputs: { changeStepEvent: "changeStepEvent" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"codFormStepTwo\" class=\"grid\">\n\n <div class=\"col\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codFormStepTwo.controls['student_name']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['student_id_card_type'].value\"\n [control]=\"codFormStepTwo.controls['student_id_card_type']\"\n [selectCode]=\"codFormStepTwo.controls['student_id_card_type'].value === null ? 'Tipo de documento' : codFormStepTwo.controls['student_id_card_type'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['country'].value\"\n [control]=\"codFormStepTwo.controls['country']\"\n [selectCode]=\"codFormStepTwo.controls['country'].value === null ? 'Pa\u00EDs de residencia' : codFormStepTwo.controls['country'].value\"\n (eventSelect)=\"selectCountry($event)\"\n [data]=\"countries\"\n [defaultText]=\"'Pa\u00EDs de residencia'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['city'].value\"\n [control]=\"codFormStepTwo.controls['city']\"\n [selectCode]=\"codFormStepTwo.controls['city'].value === null ? 'Ciudad de residencia' : codFormStepTwo.controls['city'].value\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad de residencia'\"\n ></ipt-select>\n <ipt-input\n onfocus=\"(this.type='date')\"\n [inputType]=\"'date'\"\n [control]=\"codFormStepTwo.controls['birthdate']\"\n [placeHolder]=\"'Fecha de nacimiento'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['gender'].value\"\n [control]=\"codFormStepTwo.controls['gender']\"\n [data]=\"genders\"\n (eventSelect)=\"selectGender($event)\"\n [defaultText]=\"'G\u00E9nero'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['stratum'].value\"\n [control]=\"codFormStepTwo.controls['stratum']\"\n [data]=\"stratums\"\n (eventSelect)=\"selectStratum($event)\"\n [defaultText]=\"'Estrato'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Grado'\"\n [control]=\"codFormStepTwo.controls['grade']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['student_phone_indicative'].value\"\n [control]=\"codFormStepTwo.controls['student_phone_indicative']\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicatives($event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'email'\"\n [placeHolder]=\"'Correo electr\u00F3nico'\"\n [control]=\"codFormStepTwo.controls['student_email']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Repetir contrase\u00F1a'\"\n [control]=\"codFormStepTwo.controls['re_password']\"\n ></ipt-input>\n </div>\n\n <div class=\"col\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"codFormStepTwo.controls['student_last_name']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de documento'\"\n [control]=\"codFormStepTwo.controls['student_id_card']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['state'].value\"\n [control]=\"codFormStepTwo.controls['state']\"\n [selectCode]=\"codFormStepTwo.controls['state'].value === null ? 'Departamento o estado' : codFormStepTwo.controls['state'].value\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Departamento o estado'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Direcci\u00F3n'\"\n [control]=\"codFormStepTwo.controls['student_address']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Edad'\"\n [control]=\"codFormStepTwo.controls['age']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nickname'\"\n [control]=\"codFormStepTwo.controls['nickname']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Ocupaci\u00F3n'\"\n [control]=\"codFormStepTwo.controls['student_occupation']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['civil_status'].value\"\n [control]=\"codFormStepTwo.controls['civil_status']\"\n [data]=\"civilStatus\"\n (eventSelect)=\"selectCivilStatus($event)\"\n [defaultText]=\"'Estado civil'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\n [control]=\"codFormStepTwo.controls['student_phone_number']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Contrase\u00F1a'\"\n [control]=\"codFormStepTwo.controls['password']\"\n ></ipt-input>\n </div>\n\n <div class=\"col-12\"></div>\n\n</form>\n\n<div class=\"flex mt-3 align-items-center gap-3\">\n <span *ngIf=\"codFormStepTwo.invalid && codFormStepTwo.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span>\n <button type=\"submit\" [class]=\"isEditCod ? 'ml-auto yellow-300 p-button-sm' : 'ml-auto p-button-sm'\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\n</div>\n", styles: [".yellow-300{background-color:var(--yellow-500)!important;color:#fff}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "component", type: SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "label", "control"], outputs: ["eventSelect"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] });
5054
+ CodFormStepTwoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodFormStepTwoComponent, selector: "app-cod-form-step-two", inputs: { initialData: "initialData", isEditCod: "isEditCod", parametersAll: "parametersAll" }, outputs: { changeStepEvent: "changeStepEvent" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"codFormStepTwo\" class=\"grid\">\n\n <div class=\"col\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codFormStepTwo.controls['student_name']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['student_id_card_type'].value\"\n [control]=\"codFormStepTwo.controls['student_id_card_type']\"\n [selectCode]=\"codFormStepTwo.controls['student_id_card_type'].value === null ? 'Tipo de documento' : codFormStepTwo.controls['student_id_card_type'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['country'].value\"\n [control]=\"codFormStepTwo.controls['country']\"\n [selectCode]=\"codFormStepTwo.controls['country'].value === null ? 'Pa\u00EDs de residencia' : codFormStepTwo.controls['country'].value\"\n (eventSelect)=\"selectCountry($event)\"\n [data]=\"countries\"\n [defaultText]=\"'Pa\u00EDs de residencia'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['city'].value\"\n [control]=\"codFormStepTwo.controls['city']\"\n [selectCode]=\"codFormStepTwo.controls['city'].value === null ? 'Ciudad de residencia' : codFormStepTwo.controls['city'].value\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad de residencia'\"\n ></ipt-select>\n <ipt-input\n onfocus=\"(this.type='date')\"\n [inputType]=\"'date'\"\n [control]=\"codFormStepTwo.controls['birthdate']\"\n [placeHolder]=\"'Fecha de nacimiento'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['gender'].value\"\n [control]=\"codFormStepTwo.controls['gender']\"\n [data]=\"genders\"\n (eventSelect)=\"selectGender($event)\"\n [defaultText]=\"'G\u00E9nero'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['stratum'].value\"\n [control]=\"codFormStepTwo.controls['stratum']\"\n [data]=\"stratums\"\n (eventSelect)=\"selectStratum($event)\"\n [defaultText]=\"'Estrato'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Grado'\"\n [control]=\"codFormStepTwo.controls['grade']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['student_phone_indicative'].value\"\n [control]=\"codFormStepTwo.controls['student_phone_indicative']\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicatives($event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'email'\"\n [placeHolder]=\"'Correo electr\u00F3nico'\"\n [control]=\"codFormStepTwo.controls['student_email']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Repetir contrase\u00F1a'\"\n [control]=\"codFormStepTwo.controls['re_password']\"\n ></ipt-input>\n </div>\n\n <div class=\"col\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"codFormStepTwo.controls['student_last_name']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'N\u00FAmero de documento'\"\n [control]=\"codFormStepTwo.controls['student_id_card']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['state'].value\"\n [control]=\"codFormStepTwo.controls['state']\"\n [selectCode]=\"codFormStepTwo.controls['state'].value === null ? 'Departamento o estado' : codFormStepTwo.controls['state'].value\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Departamento o estado'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Direcci\u00F3n'\"\n [control]=\"codFormStepTwo.controls['student_address']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Edad'\"\n [control]=\"codFormStepTwo.controls['age']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nickname'\"\n [control]=\"codFormStepTwo.controls['nickname']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Ocupaci\u00F3n'\"\n [control]=\"codFormStepTwo.controls['student_occupation']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['civil_status'].value\"\n [control]=\"codFormStepTwo.controls['civil_status']\"\n [data]=\"civilStatus\"\n (eventSelect)=\"selectCivilStatus($event)\"\n [defaultText]=\"'Estado civil'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\n [control]=\"codFormStepTwo.controls['student_phone_number']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Contrase\u00F1a'\"\n [control]=\"codFormStepTwo.controls['password']\"\n ></ipt-input>\n </div>\n\n <div class=\"col-12\"></div>\n\n</form>\n\n<div class=\"flex mt-3 align-items-center gap-3\">\n <span *ngIf=\"codFormStepTwo.invalid && codFormStepTwo.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span>\n <button type=\"submit\" [class]=\"isEditCod ? 'ml-auto yellow-300 p-button-sm' : 'ml-auto p-button-sm'\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\n</div>\n", styles: [".yellow-300{background-color:var(--yellow-500)!important;color:#fff}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "component", type: SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "label", "control"], outputs: ["eventSelect"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] });
4435
5055
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodFormStepTwoComponent, decorators: [{
4436
5056
  type: Component,
4437
- args: [{ selector: 'app-cod-form-step-two', template: "<form autocomplete=\"off\" [formGroup]=\"codFormStepTwo\" class=\"grid\">\n\n <div class=\"col\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codFormStepTwo.controls['student_name']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['student_id_card_type'].value\"\n [control]=\"codFormStepTwo.controls['student_id_card_type']\"\n [selectCode]=\"codFormStepTwo.controls['student_id_card_type'].value === null ? 'Tipo de documento' : codFormStepTwo.controls['student_id_card_type'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['country'].value\"\n [control]=\"codFormStepTwo.controls['country']\"\n [selectCode]=\"codFormStepTwo.controls['country'].value === null ? 'Pa\u00EDs de residencia' : codFormStepTwo.controls['country'].value\"\n (eventSelect)=\"selectCountry($event)\"\n [data]=\"countries\"\n [defaultText]=\"'Pa\u00EDs de residencia'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['city'].value\"\n [control]=\"codFormStepTwo.controls['city']\"\n [selectCode]=\"codFormStepTwo.controls['city'].value === null ? 'Ciudad de residencia' : codFormStepTwo.controls['city'].value\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad de residencia'\"\n ></ipt-select>\n <ipt-input\n onfocus=\"(this.type='date')\"\n [inputType]=\"'date'\"\n [control]=\"codFormStepTwo.controls['birthdate']\"\n [placeHolder]=\"'Fecha de nacimiento'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['gender'].value\"\n [control]=\"codFormStepTwo.controls['gender']\"\n [data]=\"genders\"\n (eventSelect)=\"selectGender($event)\"\n [defaultText]=\"'G\u00E9nero'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['stratum'].value\"\n [control]=\"codFormStepTwo.controls['stratum']\"\n [data]=\"stratums\"\n (eventSelect)=\"selectStratum($event)\"\n [defaultText]=\"'Estrato'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Grado'\"\n [control]=\"codFormStepTwo.controls['grade']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['student_phone_indicative'].value\"\n [control]=\"codFormStepTwo.controls['student_phone_indicative']\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicatives($event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'email'\"\n [placeHolder]=\"'Correo electr\u00F3nico'\"\n [control]=\"codFormStepTwo.controls['student_email']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Repetir contrase\u00F1a'\"\n [control]=\"codFormStepTwo.controls['re_password']\"\n ></ipt-input>\n </div>\n\n <div class=\"col\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"codFormStepTwo.controls['student_last_name']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de documento'\"\n [control]=\"codFormStepTwo.controls['student_id_card']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['state'].value\"\n [control]=\"codFormStepTwo.controls['state']\"\n [selectCode]=\"codFormStepTwo.controls['state'].value === null ? 'Departamento o estado' : codFormStepTwo.controls['state'].value\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Departamento o estado'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Direcci\u00F3n'\"\n [control]=\"codFormStepTwo.controls['student_address']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Edad'\"\n [control]=\"codFormStepTwo.controls['age']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nickname'\"\n [control]=\"codFormStepTwo.controls['nickname']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Ocupaci\u00F3n'\"\n [control]=\"codFormStepTwo.controls['student_occupation']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['civil_status'].value\"\n [control]=\"codFormStepTwo.controls['civil_status']\"\n [data]=\"civilStatus\"\n (eventSelect)=\"selectCivilStatus($event)\"\n [defaultText]=\"'Estado civil'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\n [control]=\"codFormStepTwo.controls['student_phone_number']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Contrase\u00F1a'\"\n [control]=\"codFormStepTwo.controls['password']\"\n ></ipt-input>\n </div>\n\n <div class=\"col-12\"></div>\n\n</form>\n\n<div class=\"flex mt-3 align-items-center gap-3\">\n <span *ngIf=\"codFormStepTwo.invalid && codFormStepTwo.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span>\n <button type=\"submit\" [class]=\"isEditCod ? 'ml-auto yellow-300 p-button-sm' : 'ml-auto p-button-sm'\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\n</div>\n", styles: [".yellow-300{background-color:var(--yellow-500)!important;color:#fff}\n"] }]
5057
+ args: [{ selector: 'app-cod-form-step-two', template: "<form autocomplete=\"off\" [formGroup]=\"codFormStepTwo\" class=\"grid\">\n\n <div class=\"col\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codFormStepTwo.controls['student_name']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['student_id_card_type'].value\"\n [control]=\"codFormStepTwo.controls['student_id_card_type']\"\n [selectCode]=\"codFormStepTwo.controls['student_id_card_type'].value === null ? 'Tipo de documento' : codFormStepTwo.controls['student_id_card_type'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['country'].value\"\n [control]=\"codFormStepTwo.controls['country']\"\n [selectCode]=\"codFormStepTwo.controls['country'].value === null ? 'Pa\u00EDs de residencia' : codFormStepTwo.controls['country'].value\"\n (eventSelect)=\"selectCountry($event)\"\n [data]=\"countries\"\n [defaultText]=\"'Pa\u00EDs de residencia'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['city'].value\"\n [control]=\"codFormStepTwo.controls['city']\"\n [selectCode]=\"codFormStepTwo.controls['city'].value === null ? 'Ciudad de residencia' : codFormStepTwo.controls['city'].value\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad de residencia'\"\n ></ipt-select>\n <ipt-input\n onfocus=\"(this.type='date')\"\n [inputType]=\"'date'\"\n [control]=\"codFormStepTwo.controls['birthdate']\"\n [placeHolder]=\"'Fecha de nacimiento'\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['gender'].value\"\n [control]=\"codFormStepTwo.controls['gender']\"\n [data]=\"genders\"\n (eventSelect)=\"selectGender($event)\"\n [defaultText]=\"'G\u00E9nero'\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['stratum'].value\"\n [control]=\"codFormStepTwo.controls['stratum']\"\n [data]=\"stratums\"\n (eventSelect)=\"selectStratum($event)\"\n [defaultText]=\"'Estrato'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Grado'\"\n [control]=\"codFormStepTwo.controls['grade']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['student_phone_indicative'].value\"\n [control]=\"codFormStepTwo.controls['student_phone_indicative']\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicatives($event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'email'\"\n [placeHolder]=\"'Correo electr\u00F3nico'\"\n [control]=\"codFormStepTwo.controls['student_email']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Repetir contrase\u00F1a'\"\n [control]=\"codFormStepTwo.controls['re_password']\"\n ></ipt-input>\n </div>\n\n <div class=\"col\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"codFormStepTwo.controls['student_last_name']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'N\u00FAmero de documento'\"\n [control]=\"codFormStepTwo.controls['student_id_card']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['state'].value\"\n [control]=\"codFormStepTwo.controls['state']\"\n [selectCode]=\"codFormStepTwo.controls['state'].value === null ? 'Departamento o estado' : codFormStepTwo.controls['state'].value\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Departamento o estado'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Direcci\u00F3n'\"\n [control]=\"codFormStepTwo.controls['student_address']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Edad'\"\n [control]=\"codFormStepTwo.controls['age']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nickname'\"\n [control]=\"codFormStepTwo.controls['nickname']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Ocupaci\u00F3n'\"\n [control]=\"codFormStepTwo.controls['student_occupation']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepTwo.controls['civil_status'].value\"\n [control]=\"codFormStepTwo.controls['civil_status']\"\n [data]=\"civilStatus\"\n (eventSelect)=\"selectCivilStatus($event)\"\n [defaultText]=\"'Estado civil'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\n [control]=\"codFormStepTwo.controls['student_phone_number']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Contrase\u00F1a'\"\n [control]=\"codFormStepTwo.controls['password']\"\n ></ipt-input>\n </div>\n\n <div class=\"col-12\"></div>\n\n</form>\n\n<div class=\"flex mt-3 align-items-center gap-3\">\n <span *ngIf=\"codFormStepTwo.invalid && codFormStepTwo.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span>\n <button type=\"submit\" [class]=\"isEditCod ? 'ml-auto yellow-300 p-button-sm' : 'ml-auto p-button-sm'\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\n</div>\n", styles: [".yellow-300{background-color:var(--yellow-500)!important;color:#fff}\n"] }]
4438
5058
  }], ctorParameters: function () { return [{ type: i1$1.FormBuilder }]; }, propDecorators: { initialData: [{
4439
5059
  type: Input
4440
5060
  }], isEditCod: [{
@@ -8977,5 +9597,5 @@ class AnnouncementUserRs {
8977
9597
  * Generated bundle index. Do not edit.
8978
9598
  */
8979
9599
 
8980
- export { AcademicService, ActivityService, AnnouncementService, AnnouncementUserRs, AsideButtonComponent, AttendanceService, BaseService, BudgetService, ButtonComponent, CalculateQuotesService$1 as CalculateQuotesService, CalendarService, CardCourseComponent, CardSelectCourseComponent, CertificateService, CheckboxComponent, ClassroomService, CodDocumentsSectionComponent, CodFormComponent, CodFormControls, CodFormStepFiveComponent, CodFormStepFourComponent, CodFormStepOneComponent, CodFormStepThreeComponent, CodFormStepTwoComponent, CodFormSteps, CodModule, CodSelfFormStepFourComponent, CodSelfFormStepOneComponent, CodSelfFormStepThreeComponent, CodSelfFormStepTwoComponent, CodSelfManagedComponent, CodSelfManagedControls, CodSelfManagedSteps, CommercialService, CommunicatorService, ComponentsModule, CopiesService, CoreModule, CourseService, CreateUserFormComponent, DatalistComponent, DesignSystemModule, EpaycoService, IUnitNameClubRs, IUserEktRs, IUserFullDataRs, InputComponent, LevelButtonComponent, LevelTextComponent, LoaderComponent, LocalStorageCODService, LocalStorageCodSelfMaganedService, LoginFormComponent, MarketingService, NotesService, ParameterService, PlacementService, QuestionTypeComponent, RadioComponent, RedirectGuard, ScheduleFormatPipe, ScheduleTimeFormatPipe, SelectComponent, Session, SidenavComponent, StorageService, StudentService, SwitchService, TestService, TextLinkComponent, TypeLevelPipe, UserEktService, UserLoginRs, UserRs, UserService, codSelfManagedModule, validateCoupunts };
9600
+ export { AcademicService, ActivityService, AnnouncementService, AnnouncementUserRs, AsideButtonComponent, AttendanceService, BaseService, BudgetService, ButtonComponent, CalculateQuotesService$1 as CalculateQuotesService, CalendarService, CardCourseComponent, CardSelectCourseComponent, CertificateService, CheckboxComponent, ClassroomService, CodDocumentsSectionComponent, CodFormComponent, CodFormControls, CodFormStepFiveComponent, CodFormStepFourComponent, CodFormStepOneComponent, CodFormStepThreeComponent, CodFormStepTwoComponent, CodFormSteps, CodModule, CodSelfFormStepFourComponent, CodSelfFormStepOneComponent, CodSelfFormStepThreeComponent, CodSelfFormStepTwoComponent, CodSelfManagedComponent, CodSelfManagedControls, CodSelfManagedSteps, CommercialService, CommunicatorService, ComponentsModule, CopiesService, CoreModule, CourseService, CreateUserFormComponent, DatalistComponent, DesignSystemModule, EpaycoService, IUnitNameClubRs, IUserEktRs, IUserFullDataRs, InputComponent, LevelButtonComponent, LevelTextComponent, LoaderComponent, LocalStorageCODService, LocalStorageCodSelfMaganedService, LoginFormComponent, MarketingService, NotesService, ParameterService, PlacementService, QuestionTypeComponent, RadioComponent, RedirectGuard, ScheduleFormatPipe, ScheduleTimeFormatPipe, SelectComponent, Session, SidenavComponent, StorageService, StudentService, SwitchService, TestService, TextLinkComponent, TypeLevelPipe, UserEktService, UserLoginRs, UserRs, UserService, codSelfManagedModule, updateUserFormComponent, validateCoupunts };
8981
9601
  //# sourceMappingURL=iptdevs-design-system.mjs.map