@skysoftware-co/bayan-hr-widgets-ui 1.0.20 → 1.0.22

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.
@@ -11,9 +11,9 @@ import { SkyShortcutIconComponent, SkySectionDividerComponent, SkyEmptyDesignCar
11
11
  import * as i1 from '@angular/common/http';
12
12
  import { HttpParams } from '@angular/common/http';
13
13
  import { map, shareReplay, catchError, throwError, lastValueFrom } from 'rxjs';
14
- import { faCakeCandles, faTreePalm, faCalendarStar, faMemoCircleInfo, faPhone, faBolt, faLanguage, faEarthAfrica, faHouse, faXmark } from '@fortawesome/pro-light-svg-icons';
14
+ import { faCakeCandles, faTreePalm, faCalendarStar, faMoneyCheckDollarPen, faMemoCircleInfo, faPhone, faBolt, faLanguage, faEarthAfrica, faHouse, faFileSignature, faSackDollar, faEnvelopeOpenDollar, faXmark, faFolderArrowDown, faUsersRays, faFileCertificate } from '@fortawesome/pro-light-svg-icons';
15
15
  import * as i2 from 'devextreme-angular/core';
16
- import { faCircle, faCalendarDays } from '@fortawesome/pro-regular-svg-icons';
16
+ import { faCircle, faCalendarDays, faEye } from '@fortawesome/pro-regular-svg-icons';
17
17
  import moment from 'moment';
18
18
  import { faPlaneDeparture, faPlaneArrival } from '@fortawesome/pro-solid-svg-icons';
19
19
  import CustomStore from 'devextreme/data/custom_store';
@@ -177,6 +177,17 @@ var StartDate$2 = "Start date";
177
177
  var EndDate$2 = "End date";
178
178
  var ReturnDate$2 = "Return date";
179
179
  var JobInformation$2 = "Job information";
180
+ var Degrees$2 = "Degrees";
181
+ var degrees$2 = "Degrees";
182
+ var experiences$2 = "Experiences";
183
+ var Country$2 = "Country";
184
+ var Specialty$2 = "Specialty";
185
+ var Institute$2 = "Institute";
186
+ var Period$2 = "Period";
187
+ var Employer$2 = "Employer";
188
+ var TerminationReason$2 = "Termination reason";
189
+ var ThereIsNoDegreesYet$2 = "There are no degrees yet";
190
+ var ThereIsNoExperiencesYet$2 = "There are no experiences yet";
180
191
  var en = {
181
192
  ReportingTo: ReportingTo$2,
182
193
  NotAnknown: NotAnknown$2,
@@ -286,7 +297,19 @@ var en = {
286
297
  EndDate: EndDate$2,
287
298
  ReturnDate: ReturnDate$2,
288
299
  "Search...": "Search...",
289
- JobInformation: JobInformation$2
300
+ JobInformation: JobInformation$2,
301
+ Degrees: Degrees$2,
302
+ degrees: degrees$2,
303
+ experiences: experiences$2,
304
+ "Degree/Year": "Degree/Year",
305
+ Country: Country$2,
306
+ Specialty: Specialty$2,
307
+ Institute: Institute$2,
308
+ Period: Period$2,
309
+ Employer: Employer$2,
310
+ TerminationReason: TerminationReason$2,
311
+ ThereIsNoDegreesYet: ThereIsNoDegreesYet$2,
312
+ ThereIsNoExperiencesYet: ThereIsNoExperiencesYet$2
290
313
  };
291
314
 
292
315
  var ReportingTo$1 = "مفوض الى";
@@ -395,6 +418,17 @@ var StartDate$1 = "تاريخ البداية";
395
418
  var EndDate$1 = "تاريخ النهاية";
396
419
  var ReturnDate$1 = "تاريخ العودة";
397
420
  var JobInformation$1 = "معلومات الوظيفة";
421
+ var Degrees$1 = "المؤهلات العلمية";
422
+ var degrees$1 = "المؤهلات العلمية";
423
+ var experiences$1 = "الخبرات";
424
+ var Country$1 = "الدولة";
425
+ var Specialty$1 = "التخصص";
426
+ var Institute$1 = "المعهد";
427
+ var Period$1 = "الفترة";
428
+ var Employer$1 = "جهة العمل";
429
+ var TerminationReason$1 = "سبب إنهاء الخدمة";
430
+ var ThereIsNoDegreesYet$1 = "لا توجد مؤهلات علمية بعد";
431
+ var ThereIsNoExperiencesYet$1 = "لا توجد خبرات بعد";
398
432
  var ar = {
399
433
  ReportingTo: ReportingTo$1,
400
434
  NotAnknown: NotAnknown$1,
@@ -503,7 +537,19 @@ var ar = {
503
537
  EndDate: EndDate$1,
504
538
  ReturnDate: ReturnDate$1,
505
539
  "Search...": "بحث...",
506
- JobInformation: JobInformation$1
540
+ JobInformation: JobInformation$1,
541
+ Degrees: Degrees$1,
542
+ degrees: degrees$1,
543
+ experiences: experiences$1,
544
+ "Degree/Year": "الدرجة / السنة",
545
+ Country: Country$1,
546
+ Specialty: Specialty$1,
547
+ Institute: Institute$1,
548
+ Period: Period$1,
549
+ Employer: Employer$1,
550
+ TerminationReason: TerminationReason$1,
551
+ ThereIsNoDegreesYet: ThereIsNoDegreesYet$1,
552
+ ThereIsNoExperiencesYet: ThereIsNoExperiencesYet$1
507
553
  };
508
554
 
509
555
  var ReportingTo = "Rapport à";
@@ -613,6 +659,17 @@ var StartDate = "Date de début";
613
659
  var EndDate = "Date de fin";
614
660
  var ReturnDate = "Date de retour";
615
661
  var JobInformation = "Informations sur l'emploi";
662
+ var Degrees = "Diplomes";
663
+ var degrees = "Diplomes";
664
+ var experiences = "Experiences";
665
+ var Country = "Pays";
666
+ var Specialty = "Specialite";
667
+ var Institute = "Institut";
668
+ var Period = "Periode";
669
+ var Employer = "Employeur";
670
+ var TerminationReason = "Motif de fin de service";
671
+ var ThereIsNoDegreesYet = "Il n'y a pas encore de diplomes";
672
+ var ThereIsNoExperiencesYet = "Il n'y a pas encore d'experiences";
616
673
  var fr = {
617
674
  ReportingTo: ReportingTo,
618
675
  NotAnknown: NotAnknown,
@@ -722,7 +779,19 @@ var fr = {
722
779
  EndDate: EndDate,
723
780
  ReturnDate: ReturnDate,
724
781
  "Search...": "Rechercher...",
725
- JobInformation: JobInformation
782
+ JobInformation: JobInformation,
783
+ Degrees: Degrees,
784
+ degrees: degrees,
785
+ experiences: experiences,
786
+ "Degree/Year": "Diplome/Annee",
787
+ Country: Country,
788
+ Specialty: Specialty,
789
+ Institute: Institute,
790
+ Period: Period,
791
+ Employer: Employer,
792
+ TerminationReason: TerminationReason,
793
+ ThereIsNoDegreesYet: ThereIsNoDegreesYet,
794
+ ThereIsNoExperiencesYet: ThereIsNoExperiencesYet
726
795
  };
727
796
 
728
797
  const BUILT_IN_LEXICONS = { en, ar, fr };
@@ -2454,11 +2523,11 @@ class HRInfoFieldComponent {
2454
2523
  valueClass = 'fs-14 fw-medium';
2455
2524
  fallbackValue = '—';
2456
2525
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: HRInfoFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2457
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: HRInfoFieldComponent, isStandalone: true, selector: "hr-info-field", inputs: { labelKey: "labelKey", value: "value", labelClass: "labelClass", valueClass: "valueClass", fallbackValue: "fallbackValue" }, ngImport: i0, template: "<div [ngClass]=\"labelClass\">{{labelKey | HRTranslate}}</div>\r\n<div [ngClass]=\"valueClass\" [title]=\"value|| fallbackValue\">{{value || fallbackValue}}</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: HRTranslatePipe, name: "HRTranslate" }] });
2526
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: HRInfoFieldComponent, isStandalone: true, selector: "hr-info-field", inputs: { labelKey: "labelKey", value: "value", labelClass: "labelClass", valueClass: "valueClass", fallbackValue: "fallbackValue" }, ngImport: i0, template: "<div [ngClass]=\"labelClass\">{{labelKey | HRTranslate}}</div>\r\n<div [ngClass]=\"valueClass\">{{value || fallbackValue}}</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: HRTranslatePipe, name: "HRTranslate" }] });
2458
2527
  }
2459
2528
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: HRInfoFieldComponent, decorators: [{
2460
2529
  type: Component,
2461
- args: [{ selector: 'hr-info-field', standalone: true, imports: [CommonModule, HRTranslatePipe], template: "<div [ngClass]=\"labelClass\">{{labelKey | HRTranslate}}</div>\r\n<div [ngClass]=\"valueClass\" [title]=\"value|| fallbackValue\">{{value || fallbackValue}}</div>\r\n" }]
2530
+ args: [{ selector: 'hr-info-field', standalone: true, imports: [CommonModule, HRTranslatePipe], template: "<div [ngClass]=\"labelClass\">{{labelKey | HRTranslate}}</div>\r\n<div [ngClass]=\"valueClass\">{{value || fallbackValue}}</div>\r\n" }]
2462
2531
  }], propDecorators: { labelKey: [{
2463
2532
  type: Input,
2464
2533
  args: [{ required: true }]
@@ -2472,6 +2541,130 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
2472
2541
  type: Input
2473
2542
  }] } });
2474
2543
 
2544
+ class ProfileBankInfoWidgetComponent {
2545
+ commonMethodsService;
2546
+ hrSelfWidgetsService;
2547
+ isLoading = true;
2548
+ constructor(commonMethodsService, hrSelfWidgetsService) {
2549
+ this.commonMethodsService = commonMethodsService;
2550
+ this.hrSelfWidgetsService = hrSelfWidgetsService;
2551
+ }
2552
+ ngOnInit() {
2553
+ this.isLoadingChanged.emit(true);
2554
+ this.hrSelfWidgetsService.getBankInformation(this.baseUrl).subscribe({
2555
+ next: (response) => {
2556
+ this.isLoading = false;
2557
+ this.employeeBankInformation = response ?? [];
2558
+ this.isLoadingChanged.emit(false);
2559
+ },
2560
+ error: (error) => {
2561
+ this.isLoading = false;
2562
+ this.employeeBankInformation = [];
2563
+ this.isLoadingChanged.emit(false);
2564
+ this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);
2565
+ }
2566
+ });
2567
+ }
2568
+ employeeBankInformation = [];
2569
+ currencyCode = '';
2570
+ currencyDecimals = 2;
2571
+ headerIconClass = 'primary-icon-xl';
2572
+ headerTextClass = 'mt-2 field-secondary-label-lg';
2573
+ headerDividerClass = 'flex-grow-1 ms-2';
2574
+ cardClass = 'mt-4 card-shadow position-relative';
2575
+ mainBadgeClass = 'position-absolute text-center top-0 mt-3 start-0 bg-primary status-badge';
2576
+ mainBadgeTextClass = 'mx-1 fs-12 text-white';
2577
+ triangleClass = 'position-absolute start-0 top-0';
2578
+ rowClass = 'row px-4 pb-3';
2579
+ rowMainPtClass = 'pt-5';
2580
+ rowNormalPtClass = 'pt-3';
2581
+ columnClass = 'col-md-4 col-6';
2582
+ responsiveTopSpacingColClass = 'col-md-4 col-6 mt-md-0 mt-4';
2583
+ topSpacingColClass = 'col-md-4 col-6 mt-4';
2584
+ labelClass = 'field-secondary-label-sm';
2585
+ valueClass = 'table-cell-md text-ellipsis-one-line';
2586
+ emptyStateContainerClass = 'd-flex flex-column justify-content-center align-items-center my-5';
2587
+ emptyStateTextClass = 'field-secondary-label-md';
2588
+ bankInformationIcon = faMoneyCheckDollarPen;
2589
+ sectionHeaderVisibility = true;
2590
+ sectionTitle = 'BankInformation';
2591
+ language = 'en';
2592
+ baseUrl = '';
2593
+ errorOccurred = new EventEmitter();
2594
+ isRTL = this.language === 'ar';
2595
+ isLoadingChanged = new EventEmitter();
2596
+ ngOnChanges(changes) {
2597
+ if (changes['language']) {
2598
+ this.isRTL = this.language === 'ar';
2599
+ }
2600
+ }
2601
+ formatAmount(value) {
2602
+ if (value == null) {
2603
+ return '-';
2604
+ }
2605
+ return this.commonMethodsService.currencyDecimalFormat(value, this.currencyDecimals) || '-';
2606
+ }
2607
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ProfileBankInfoWidgetComponent, deps: [{ token: HRCommonMethodsService }, { token: HRSelfWidgetsService }], target: i0.ɵɵFactoryTarget.Component });
2608
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: ProfileBankInfoWidgetComponent, isStandalone: true, selector: "hr-profile-bank-info-widget", inputs: { currencyCode: "currencyCode", currencyDecimals: "currencyDecimals", headerIconClass: "headerIconClass", headerTextClass: "headerTextClass", headerDividerClass: "headerDividerClass", cardClass: "cardClass", mainBadgeClass: "mainBadgeClass", mainBadgeTextClass: "mainBadgeTextClass", triangleClass: "triangleClass", rowClass: "rowClass", rowMainPtClass: "rowMainPtClass", rowNormalPtClass: "rowNormalPtClass", columnClass: "columnClass", responsiveTopSpacingColClass: "responsiveTopSpacingColClass", topSpacingColClass: "topSpacingColClass", labelClass: "labelClass", valueClass: "valueClass", emptyStateContainerClass: "emptyStateContainerClass", emptyStateTextClass: "emptyStateTextClass", bankInformationIcon: "bankInformationIcon", sectionHeaderVisibility: "sectionHeaderVisibility", sectionTitle: "sectionTitle", language: "language", baseUrl: "baseUrl" }, outputs: { errorOccurred: "errorOccurred", isLoadingChanged: "isLoadingChanged" }, usesOnChanges: true, ngImport: i0, template: "@if(sectionHeaderVisibility){\r\n<sky-section-divider [fontAwesomeIcon]=\"bankInformationIcon\"\r\n [text]=\"(sectionTitle | HRTranslate|uppercase)\"\r\n [iconClass]=\"headerIconClass\"\r\n [textClass]=\"headerTextClass\"\r\n [dividerClass]=\"headerDividerClass\">\r\n</sky-section-divider>\r\n}\r\n@if(employeeBankInformation.length > 0){\r\n@for (bankInfo of employeeBankInformation; track bankInfo){\r\n<div [class]=\"cardClass\">\r\n @if(bankInfo.IsMainBank && employeeBankInformation.length > 1){\r\n <div [class]=\"mainBadgeClass\"\r\n style=\"padding-top: 2px\"\r\n [style.margin-left]=\"!isRTL ? '-6px' : 'unset'\">\r\n <span [class]=\"mainBadgeTextClass\">{{'MainBank' | HRTranslate}}</span>\r\n </div>\r\n\r\n <div [class]=\"triangleClass\"\r\n [style.margin-left]=\"!isRTL ? '-6px' : 'unset'\"\r\n [style.margin-right]=\"isRTL ? '-5px' : '20px'\"\r\n [style.margin-top]=\"!isRTL ? '7px' : '4px'\">\r\n <svg viewBox=\"4 2 16 16\" class=\"status-badge-triangle\" fill=\"#e67e0f\">\r\n <path d=\"m3.86 8.753 5.482 4.796c.646.566 1.658.106 1.658-.753V3.204a1 1 0 0 0-1.659-.753l-5.48 4.796a1 1 0 0 0 0 1.506z\"></path>\r\n </svg>\r\n </div>\r\n }\r\n\r\n <div [ngClass]=\"[rowClass, bankInfo.IsMainBank ? rowMainPtClass : rowNormalPtClass]\">\r\n <div [class]=\"columnClass\">\r\n <hr-info-field [labelKey]=\"'Bank'\"\r\n [value]=\"bankInfo.BankName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"columnClass\">\r\n <hr-info-field [labelKey]=\"'Branch'\"\r\n [value]=\"bankInfo.BranchName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"responsiveTopSpacingColClass\">\r\n <hr-info-field [labelKey]=\"'IBAN'\"\r\n [value]=\"bankInfo.IBAN\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"topSpacingColClass\">\r\n <hr-info-field [labelKey]=\"'AccountNumber'\"\r\n [value]=\"bankInfo.AccountNumber\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"topSpacingColClass\">\r\n <hr-info-field [labelKey]=\"'Beneficiary'\"\r\n [value]=\"bankInfo.Beneficiary\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n @if(bankInfo.TransferAmount != null){\r\n <div [class]=\"topSpacingColClass\">\r\n <hr-info-field [labelKey]=\"'TransferAmount'\"\r\n [value]=\"formatAmount(bankInfo.TransferAmount) + ' (' + currencyCode + ')'\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n}\r\n}@else{\r\n<sky-empty-design-card [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [containerClass]=\"emptyStateContainerClass\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [emptyTextClass]=\"emptyStateTextClass\"\r\n [emptyText]=\"isLoading ? ((sectionTitle | HRTranslate) + ' ' + ('IsLoading' | HRTranslate)) : ('ThereIsNoBankYet' | HRTranslate)\">\r\n</sky-empty-design-card>\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i2$1.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: HRTranslatePipe, name: "HRTranslate" }, { kind: "component", type: SkySectionDividerComponent, selector: "sky-section-divider", inputs: ["text", "fontAwesomeIcon", "textClass", "dividerClass", "iconClass"] }, { kind: "component", type: SkyEmptyDesignCardComponent, selector: "sky-empty-design-card", inputs: ["emptyIcon", "emptyIconClass", "emptyText", "emptyTextClass", "actionTitle", "actionIcon", "actionDisabled", "textColor", "disabledTitleClass", "activeTitleClass", "disabledIconClass", "activeIconClass", "actionClass", "containerClass", "cardBodyClass", "cardBodyContainerClass", "visibleIcon", "visibleQuickAction"], outputs: ["onActionClick"] }, { kind: "component", type: HRInfoFieldComponent, selector: "hr-info-field", inputs: ["labelKey", "value", "labelClass", "valueClass", "fallbackValue"] }] });
2609
+ }
2610
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ProfileBankInfoWidgetComponent, decorators: [{
2611
+ type: Component,
2612
+ args: [{ selector: 'hr-profile-bank-info-widget', standalone: true, imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent, SkyEmptyDesignCardComponent, HRInfoFieldComponent], template: "@if(sectionHeaderVisibility){\r\n<sky-section-divider [fontAwesomeIcon]=\"bankInformationIcon\"\r\n [text]=\"(sectionTitle | HRTranslate|uppercase)\"\r\n [iconClass]=\"headerIconClass\"\r\n [textClass]=\"headerTextClass\"\r\n [dividerClass]=\"headerDividerClass\">\r\n</sky-section-divider>\r\n}\r\n@if(employeeBankInformation.length > 0){\r\n@for (bankInfo of employeeBankInformation; track bankInfo){\r\n<div [class]=\"cardClass\">\r\n @if(bankInfo.IsMainBank && employeeBankInformation.length > 1){\r\n <div [class]=\"mainBadgeClass\"\r\n style=\"padding-top: 2px\"\r\n [style.margin-left]=\"!isRTL ? '-6px' : 'unset'\">\r\n <span [class]=\"mainBadgeTextClass\">{{'MainBank' | HRTranslate}}</span>\r\n </div>\r\n\r\n <div [class]=\"triangleClass\"\r\n [style.margin-left]=\"!isRTL ? '-6px' : 'unset'\"\r\n [style.margin-right]=\"isRTL ? '-5px' : '20px'\"\r\n [style.margin-top]=\"!isRTL ? '7px' : '4px'\">\r\n <svg viewBox=\"4 2 16 16\" class=\"status-badge-triangle\" fill=\"#e67e0f\">\r\n <path d=\"m3.86 8.753 5.482 4.796c.646.566 1.658.106 1.658-.753V3.204a1 1 0 0 0-1.659-.753l-5.48 4.796a1 1 0 0 0 0 1.506z\"></path>\r\n </svg>\r\n </div>\r\n }\r\n\r\n <div [ngClass]=\"[rowClass, bankInfo.IsMainBank ? rowMainPtClass : rowNormalPtClass]\">\r\n <div [class]=\"columnClass\">\r\n <hr-info-field [labelKey]=\"'Bank'\"\r\n [value]=\"bankInfo.BankName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"columnClass\">\r\n <hr-info-field [labelKey]=\"'Branch'\"\r\n [value]=\"bankInfo.BranchName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"responsiveTopSpacingColClass\">\r\n <hr-info-field [labelKey]=\"'IBAN'\"\r\n [value]=\"bankInfo.IBAN\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"topSpacingColClass\">\r\n <hr-info-field [labelKey]=\"'AccountNumber'\"\r\n [value]=\"bankInfo.AccountNumber\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"topSpacingColClass\">\r\n <hr-info-field [labelKey]=\"'Beneficiary'\"\r\n [value]=\"bankInfo.Beneficiary\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n @if(bankInfo.TransferAmount != null){\r\n <div [class]=\"topSpacingColClass\">\r\n <hr-info-field [labelKey]=\"'TransferAmount'\"\r\n [value]=\"formatAmount(bankInfo.TransferAmount) + ' (' + currencyCode + ')'\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n}\r\n}@else{\r\n<sky-empty-design-card [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [containerClass]=\"emptyStateContainerClass\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [emptyTextClass]=\"emptyStateTextClass\"\r\n [emptyText]=\"isLoading ? ((sectionTitle | HRTranslate) + ' ' + ('IsLoading' | HRTranslate)) : ('ThereIsNoBankYet' | HRTranslate)\">\r\n</sky-empty-design-card>\r\n}\r\n" }]
2613
+ }], ctorParameters: () => [{ type: HRCommonMethodsService }, { type: HRSelfWidgetsService }], propDecorators: { currencyCode: [{
2614
+ type: Input
2615
+ }], currencyDecimals: [{
2616
+ type: Input
2617
+ }], headerIconClass: [{
2618
+ type: Input
2619
+ }], headerTextClass: [{
2620
+ type: Input
2621
+ }], headerDividerClass: [{
2622
+ type: Input
2623
+ }], cardClass: [{
2624
+ type: Input
2625
+ }], mainBadgeClass: [{
2626
+ type: Input
2627
+ }], mainBadgeTextClass: [{
2628
+ type: Input
2629
+ }], triangleClass: [{
2630
+ type: Input
2631
+ }], rowClass: [{
2632
+ type: Input
2633
+ }], rowMainPtClass: [{
2634
+ type: Input
2635
+ }], rowNormalPtClass: [{
2636
+ type: Input
2637
+ }], columnClass: [{
2638
+ type: Input
2639
+ }], responsiveTopSpacingColClass: [{
2640
+ type: Input
2641
+ }], topSpacingColClass: [{
2642
+ type: Input
2643
+ }], labelClass: [{
2644
+ type: Input
2645
+ }], valueClass: [{
2646
+ type: Input
2647
+ }], emptyStateContainerClass: [{
2648
+ type: Input
2649
+ }], emptyStateTextClass: [{
2650
+ type: Input
2651
+ }], bankInformationIcon: [{
2652
+ type: Input
2653
+ }], sectionHeaderVisibility: [{
2654
+ type: Input
2655
+ }], sectionTitle: [{
2656
+ type: Input
2657
+ }], language: [{
2658
+ type: Input
2659
+ }], baseUrl: [{
2660
+ type: Input,
2661
+ args: [{ required: true }]
2662
+ }], errorOccurred: [{
2663
+ type: Output
2664
+ }], isLoadingChanged: [{
2665
+ type: Output
2666
+ }] } });
2667
+
2475
2668
  class ProfilePersonalInfoMainWidgetComponent {
2476
2669
  hrSelfWidgetsService;
2477
2670
  employeePersonalInformation = null;
@@ -2912,6 +3105,393 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
2912
3105
  type: Output
2913
3106
  }] } });
2914
3107
 
3108
+ class ProfileJobInfoMainWidgetComponent {
3109
+ hrSelfWidgetsService;
3110
+ jobInformationMain = null;
3111
+ isLoading = true;
3112
+ baseUrl = '';
3113
+ headerIconClass = 'primary-icon-xl';
3114
+ headerTextClass = 'mt-2 field-secondary-label-lg';
3115
+ headerDividerClass = 'flex-grow-1 ms-2';
3116
+ rowClass = 'row mt-4';
3117
+ columnClass = 'col-md-4 col-6';
3118
+ responsiveTopSpacingColumnClass = 'col-md-4 col-6 mt-md-0 mt-4';
3119
+ topSpacingBottomMdSpacingColumnClass = 'col-md-4 col-6 mt-4 mb-md-5';
3120
+ topSpacingBottomSpacingColumnClass = 'col-md-4 col-6 mt-4 mb-5';
3121
+ labelClass = 'field-secondary-label-sm';
3122
+ valueClass = 'fs-14 fw-medium text-ellipsis-one-line';
3123
+ emptyStateContainerClass = 'd-flex flex-column justify-content-center align-items-center my-5';
3124
+ emptyStateTextClass = 'field-secondary-label-md';
3125
+ mainIcon = faFileSignature;
3126
+ sectionTitle = 'JobInformation';
3127
+ isLoadingChanged = new EventEmitter();
3128
+ errorOccurred = new EventEmitter();
3129
+ constructor(hrSelfWidgetsService) {
3130
+ this.hrSelfWidgetsService = hrSelfWidgetsService;
3131
+ }
3132
+ ngOnInit() {
3133
+ if (!this.baseUrl) {
3134
+ this.isLoading = false;
3135
+ return;
3136
+ }
3137
+ this.isLoadingChanged.emit(true);
3138
+ this.hrSelfWidgetsService.getJobInformationMain(this.baseUrl).subscribe({
3139
+ next: (response) => {
3140
+ this.isLoading = false;
3141
+ this.jobInformationMain = response;
3142
+ this.isLoadingChanged.emit(false);
3143
+ },
3144
+ error: (error) => {
3145
+ this.isLoading = false;
3146
+ this.jobInformationMain = null;
3147
+ this.isLoadingChanged.emit(false);
3148
+ this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);
3149
+ }
3150
+ });
3151
+ }
3152
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ProfileJobInfoMainWidgetComponent, deps: [{ token: HRSelfWidgetsService }], target: i0.ɵɵFactoryTarget.Component });
3153
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: ProfileJobInfoMainWidgetComponent, isStandalone: true, selector: "hr-profile-job-info-main-widget", inputs: { baseUrl: "baseUrl", headerIconClass: "headerIconClass", headerTextClass: "headerTextClass", headerDividerClass: "headerDividerClass", rowClass: "rowClass", columnClass: "columnClass", responsiveTopSpacingColumnClass: "responsiveTopSpacingColumnClass", topSpacingBottomMdSpacingColumnClass: "topSpacingBottomMdSpacingColumnClass", topSpacingBottomSpacingColumnClass: "topSpacingBottomSpacingColumnClass", labelClass: "labelClass", valueClass: "valueClass", emptyStateContainerClass: "emptyStateContainerClass", emptyStateTextClass: "emptyStateTextClass", mainIcon: "mainIcon", sectionTitle: "sectionTitle" }, outputs: { isLoadingChanged: "isLoadingChanged", errorOccurred: "errorOccurred" }, ngImport: i0, template: "<sky-section-divider [fontAwesomeIcon]=\"mainIcon\"\r\n [text]=\"(sectionTitle | HRTranslate | uppercase)\"\r\n [iconClass]=\"headerIconClass\"\r\n [textClass]=\"headerTextClass\"\r\n [dividerClass]=\"headerDividerClass\">\r\n</sky-section-divider>\r\n\r\n@if(jobInformationMain){\r\n<div [ngClass]=\"rowClass\">\r\n <div [ngClass]=\"columnClass\">\r\n <hr-info-field [labelKey]=\"'AdminUnit'\"\r\n [value]=\"jobInformationMain.AdminUnitName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"columnClass\">\r\n <hr-info-field [labelKey]=\"'Position'\"\r\n [value]=\"jobInformationMain.PositionName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"responsiveTopSpacingColumnClass\">\r\n <hr-info-field [labelKey]=\"'Grade'\"\r\n [value]=\"jobInformationMain.GradeName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [ngClass]=\"topSpacingBottomMdSpacingColumnClass\">\r\n <hr-info-field [labelKey]=\"'JoiningDate'\"\r\n [value]=\"jobInformationMain.JoiningDate ? (jobInformationMain.JoiningDate | date: 'dd/MM/yyyy') : null\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"topSpacingBottomMdSpacingColumnClass\">\r\n <hr-info-field [labelKey]=\"'CorporateJoiningDate'\"\r\n [value]=\"jobInformationMain.CorporateJoiningDate ? (jobInformationMain.CorporateJoiningDate | date: 'dd/MM/yyyy') : null\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"topSpacingBottomSpacingColumnClass\">\r\n <hr-info-field [labelKey]=\"'Sponsor'\"\r\n [value]=\"jobInformationMain.SponsorName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n</div>\r\n}@else{\r\n<sky-empty-design-card [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [containerClass]=\"emptyStateContainerClass\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [emptyTextClass]=\"emptyStateTextClass\"\r\n [emptyText]=\"isLoading ? ((sectionTitle | HRTranslate) + ' ' + ('IsLoading' | HRTranslate)) : ('ThereIsNoJobMainYet' | HRTranslate)\">\r\n</sky-empty-design-card>\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i2$1.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i2$1.DatePipe, name: "date" }, { kind: "pipe", type: HRTranslatePipe, name: "HRTranslate" }, { kind: "component", type: SkySectionDividerComponent, selector: "sky-section-divider", inputs: ["text", "fontAwesomeIcon", "textClass", "dividerClass", "iconClass"] }, { kind: "component", type: SkyEmptyDesignCardComponent, selector: "sky-empty-design-card", inputs: ["emptyIcon", "emptyIconClass", "emptyText", "emptyTextClass", "actionTitle", "actionIcon", "actionDisabled", "textColor", "disabledTitleClass", "activeTitleClass", "disabledIconClass", "activeIconClass", "actionClass", "containerClass", "cardBodyClass", "cardBodyContainerClass", "visibleIcon", "visibleQuickAction"], outputs: ["onActionClick"] }, { kind: "component", type: HRInfoFieldComponent, selector: "hr-info-field", inputs: ["labelKey", "value", "labelClass", "valueClass", "fallbackValue"] }] });
3154
+ }
3155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ProfileJobInfoMainWidgetComponent, decorators: [{
3156
+ type: Component,
3157
+ args: [{ selector: 'hr-profile-job-info-main-widget', standalone: true, imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent, SkyEmptyDesignCardComponent, HRInfoFieldComponent], template: "<sky-section-divider [fontAwesomeIcon]=\"mainIcon\"\r\n [text]=\"(sectionTitle | HRTranslate | uppercase)\"\r\n [iconClass]=\"headerIconClass\"\r\n [textClass]=\"headerTextClass\"\r\n [dividerClass]=\"headerDividerClass\">\r\n</sky-section-divider>\r\n\r\n@if(jobInformationMain){\r\n<div [ngClass]=\"rowClass\">\r\n <div [ngClass]=\"columnClass\">\r\n <hr-info-field [labelKey]=\"'AdminUnit'\"\r\n [value]=\"jobInformationMain.AdminUnitName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"columnClass\">\r\n <hr-info-field [labelKey]=\"'Position'\"\r\n [value]=\"jobInformationMain.PositionName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"responsiveTopSpacingColumnClass\">\r\n <hr-info-field [labelKey]=\"'Grade'\"\r\n [value]=\"jobInformationMain.GradeName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [ngClass]=\"topSpacingBottomMdSpacingColumnClass\">\r\n <hr-info-field [labelKey]=\"'JoiningDate'\"\r\n [value]=\"jobInformationMain.JoiningDate ? (jobInformationMain.JoiningDate | date: 'dd/MM/yyyy') : null\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"topSpacingBottomMdSpacingColumnClass\">\r\n <hr-info-field [labelKey]=\"'CorporateJoiningDate'\"\r\n [value]=\"jobInformationMain.CorporateJoiningDate ? (jobInformationMain.CorporateJoiningDate | date: 'dd/MM/yyyy') : null\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"topSpacingBottomSpacingColumnClass\">\r\n <hr-info-field [labelKey]=\"'Sponsor'\"\r\n [value]=\"jobInformationMain.SponsorName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n</div>\r\n}@else{\r\n<sky-empty-design-card [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [containerClass]=\"emptyStateContainerClass\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [emptyTextClass]=\"emptyStateTextClass\"\r\n [emptyText]=\"isLoading ? ((sectionTitle | HRTranslate) + ' ' + ('IsLoading' | HRTranslate)) : ('ThereIsNoJobMainYet' | HRTranslate)\">\r\n</sky-empty-design-card>\r\n}\r\n" }]
3158
+ }], ctorParameters: () => [{ type: HRSelfWidgetsService }], propDecorators: { baseUrl: [{
3159
+ type: Input,
3160
+ args: [{ required: true }]
3161
+ }], headerIconClass: [{
3162
+ type: Input
3163
+ }], headerTextClass: [{
3164
+ type: Input
3165
+ }], headerDividerClass: [{
3166
+ type: Input
3167
+ }], rowClass: [{
3168
+ type: Input
3169
+ }], columnClass: [{
3170
+ type: Input
3171
+ }], responsiveTopSpacingColumnClass: [{
3172
+ type: Input
3173
+ }], topSpacingBottomMdSpacingColumnClass: [{
3174
+ type: Input
3175
+ }], topSpacingBottomSpacingColumnClass: [{
3176
+ type: Input
3177
+ }], labelClass: [{
3178
+ type: Input
3179
+ }], valueClass: [{
3180
+ type: Input
3181
+ }], emptyStateContainerClass: [{
3182
+ type: Input
3183
+ }], emptyStateTextClass: [{
3184
+ type: Input
3185
+ }], mainIcon: [{
3186
+ type: Input
3187
+ }], sectionTitle: [{
3188
+ type: Input
3189
+ }], isLoadingChanged: [{
3190
+ type: Output
3191
+ }], errorOccurred: [{
3192
+ type: Output
3193
+ }] } });
3194
+
3195
+ class ProfileJobInfoContractWidgetComponent {
3196
+ hrSelfWidgetsService;
3197
+ jobInformationContract = null;
3198
+ isLoading = true;
3199
+ baseUrl = '';
3200
+ headerIconClass = 'primary-icon-xl';
3201
+ headerTextClass = 'mt-2 field-secondary-label-lg';
3202
+ headerDividerClass = 'flex-grow-1 ms-2';
3203
+ rowClass = 'row mt-4';
3204
+ columnClass = 'col-md-4 col-6';
3205
+ responsiveTopSpacingColumnClass = 'col-md-4 col-6 mt-md-0 mt-4';
3206
+ topSpacingBottomMdSpacingColumnClass = 'col-md-4 col-6 mt-4 mb-md-5';
3207
+ topSpacingBottomSpacingColumnClass = 'col-md-4 col-6 mt-4 mb-5';
3208
+ labelClass = 'field-secondary-label-sm';
3209
+ valueClass = 'fs-14 fw-medium text-ellipsis-one-line';
3210
+ emptyStateContainerClass = 'd-flex flex-column justify-content-center align-items-center my-5';
3211
+ emptyStateTextClass = 'field-secondary-label-md';
3212
+ contractIcon = faFileSignature;
3213
+ sectionTitle = 'Contract';
3214
+ isLoadingChanged = new EventEmitter();
3215
+ errorOccurred = new EventEmitter();
3216
+ constructor(hrSelfWidgetsService) {
3217
+ this.hrSelfWidgetsService = hrSelfWidgetsService;
3218
+ }
3219
+ ngOnInit() {
3220
+ if (!this.baseUrl) {
3221
+ this.isLoading = false;
3222
+ return;
3223
+ }
3224
+ this.isLoadingChanged.emit(true);
3225
+ this.hrSelfWidgetsService.getJobInformationContract(this.baseUrl).subscribe({
3226
+ next: (response) => {
3227
+ this.isLoading = false;
3228
+ this.jobInformationContract = response;
3229
+ this.isLoadingChanged.emit(false);
3230
+ },
3231
+ error: (error) => {
3232
+ this.isLoading = false;
3233
+ this.jobInformationContract = null;
3234
+ this.isLoadingChanged.emit(false);
3235
+ this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);
3236
+ }
3237
+ });
3238
+ }
3239
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ProfileJobInfoContractWidgetComponent, deps: [{ token: HRSelfWidgetsService }], target: i0.ɵɵFactoryTarget.Component });
3240
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: ProfileJobInfoContractWidgetComponent, isStandalone: true, selector: "hr-profile-job-info-contract-widget", inputs: { baseUrl: "baseUrl", headerIconClass: "headerIconClass", headerTextClass: "headerTextClass", headerDividerClass: "headerDividerClass", rowClass: "rowClass", columnClass: "columnClass", responsiveTopSpacingColumnClass: "responsiveTopSpacingColumnClass", topSpacingBottomMdSpacingColumnClass: "topSpacingBottomMdSpacingColumnClass", topSpacingBottomSpacingColumnClass: "topSpacingBottomSpacingColumnClass", labelClass: "labelClass", valueClass: "valueClass", emptyStateContainerClass: "emptyStateContainerClass", emptyStateTextClass: "emptyStateTextClass", contractIcon: "contractIcon", sectionTitle: "sectionTitle" }, outputs: { isLoadingChanged: "isLoadingChanged", errorOccurred: "errorOccurred" }, ngImport: i0, template: "<sky-section-divider [fontAwesomeIcon]=\"contractIcon\"\r\n [text]=\"(sectionTitle | HRTranslate | uppercase)\"\r\n [iconClass]=\"headerIconClass\"\r\n [textClass]=\"headerTextClass\"\r\n [dividerClass]=\"headerDividerClass\">\r\n</sky-section-divider>\r\n\r\n@if(jobInformationContract){\r\n<div [ngClass]=\"rowClass\">\r\n <div [ngClass]=\"columnClass\">\r\n <hr-info-field [labelKey]=\"'ContractType'\"\r\n [value]=\"jobInformationContract.ContractTypeName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"columnClass\">\r\n <hr-info-field [labelKey]=\"'ContractStartDate'\"\r\n [value]=\"jobInformationContract.ContractStartDate ? (jobInformationContract.ContractStartDate | date: 'dd/MM/yyyy') : null\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"responsiveTopSpacingColumnClass\">\r\n <hr-info-field [labelKey]=\"'ContractEndDate'\"\r\n [value]=\"jobInformationContract.ContractEndDate ? (jobInformationContract.ContractEndDate | date: 'dd/MM/yyyy') : null\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [ngClass]=\"topSpacingBottomMdSpacingColumnClass\">\r\n <hr-info-field [labelKey]=\"'ContractMaritalStatus'\"\r\n [value]=\"jobInformationContract.ContractMaritalStateName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"topSpacingBottomSpacingColumnClass\">\r\n <hr-info-field [labelKey]=\"'ContractDependentsCount'\"\r\n [value]=\"jobInformationContract.ContractDependentsCount?.toString()\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n</div>\r\n}@else{\r\n<sky-empty-design-card [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [containerClass]=\"emptyStateContainerClass\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [emptyTextClass]=\"emptyStateTextClass\"\r\n [emptyText]=\"isLoading ? ((sectionTitle | HRTranslate) + ' ' + ('IsLoading' | HRTranslate)) : ('ThereIsNoJobContractYet' | HRTranslate)\">\r\n</sky-empty-design-card>\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i2$1.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i2$1.DatePipe, name: "date" }, { kind: "pipe", type: HRTranslatePipe, name: "HRTranslate" }, { kind: "component", type: SkySectionDividerComponent, selector: "sky-section-divider", inputs: ["text", "fontAwesomeIcon", "textClass", "dividerClass", "iconClass"] }, { kind: "component", type: SkyEmptyDesignCardComponent, selector: "sky-empty-design-card", inputs: ["emptyIcon", "emptyIconClass", "emptyText", "emptyTextClass", "actionTitle", "actionIcon", "actionDisabled", "textColor", "disabledTitleClass", "activeTitleClass", "disabledIconClass", "activeIconClass", "actionClass", "containerClass", "cardBodyClass", "cardBodyContainerClass", "visibleIcon", "visibleQuickAction"], outputs: ["onActionClick"] }, { kind: "component", type: HRInfoFieldComponent, selector: "hr-info-field", inputs: ["labelKey", "value", "labelClass", "valueClass", "fallbackValue"] }] });
3241
+ }
3242
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ProfileJobInfoContractWidgetComponent, decorators: [{
3243
+ type: Component,
3244
+ args: [{ selector: 'hr-profile-job-info-contract-widget', standalone: true, imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent, SkyEmptyDesignCardComponent, HRInfoFieldComponent], template: "<sky-section-divider [fontAwesomeIcon]=\"contractIcon\"\r\n [text]=\"(sectionTitle | HRTranslate | uppercase)\"\r\n [iconClass]=\"headerIconClass\"\r\n [textClass]=\"headerTextClass\"\r\n [dividerClass]=\"headerDividerClass\">\r\n</sky-section-divider>\r\n\r\n@if(jobInformationContract){\r\n<div [ngClass]=\"rowClass\">\r\n <div [ngClass]=\"columnClass\">\r\n <hr-info-field [labelKey]=\"'ContractType'\"\r\n [value]=\"jobInformationContract.ContractTypeName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"columnClass\">\r\n <hr-info-field [labelKey]=\"'ContractStartDate'\"\r\n [value]=\"jobInformationContract.ContractStartDate ? (jobInformationContract.ContractStartDate | date: 'dd/MM/yyyy') : null\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"responsiveTopSpacingColumnClass\">\r\n <hr-info-field [labelKey]=\"'ContractEndDate'\"\r\n [value]=\"jobInformationContract.ContractEndDate ? (jobInformationContract.ContractEndDate | date: 'dd/MM/yyyy') : null\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [ngClass]=\"topSpacingBottomMdSpacingColumnClass\">\r\n <hr-info-field [labelKey]=\"'ContractMaritalStatus'\"\r\n [value]=\"jobInformationContract.ContractMaritalStateName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n <div [ngClass]=\"topSpacingBottomSpacingColumnClass\">\r\n <hr-info-field [labelKey]=\"'ContractDependentsCount'\"\r\n [value]=\"jobInformationContract.ContractDependentsCount?.toString()\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n</div>\r\n}@else{\r\n<sky-empty-design-card [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [containerClass]=\"emptyStateContainerClass\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [emptyTextClass]=\"emptyStateTextClass\"\r\n [emptyText]=\"isLoading ? ((sectionTitle | HRTranslate) + ' ' + ('IsLoading' | HRTranslate)) : ('ThereIsNoJobContractYet' | HRTranslate)\">\r\n</sky-empty-design-card>\r\n}\r\n" }]
3245
+ }], ctorParameters: () => [{ type: HRSelfWidgetsService }], propDecorators: { baseUrl: [{
3246
+ type: Input,
3247
+ args: [{ required: true }]
3248
+ }], headerIconClass: [{
3249
+ type: Input
3250
+ }], headerTextClass: [{
3251
+ type: Input
3252
+ }], headerDividerClass: [{
3253
+ type: Input
3254
+ }], rowClass: [{
3255
+ type: Input
3256
+ }], columnClass: [{
3257
+ type: Input
3258
+ }], responsiveTopSpacingColumnClass: [{
3259
+ type: Input
3260
+ }], topSpacingBottomMdSpacingColumnClass: [{
3261
+ type: Input
3262
+ }], topSpacingBottomSpacingColumnClass: [{
3263
+ type: Input
3264
+ }], labelClass: [{
3265
+ type: Input
3266
+ }], valueClass: [{
3267
+ type: Input
3268
+ }], emptyStateContainerClass: [{
3269
+ type: Input
3270
+ }], emptyStateTextClass: [{
3271
+ type: Input
3272
+ }], contractIcon: [{
3273
+ type: Input
3274
+ }], sectionTitle: [{
3275
+ type: Input
3276
+ }], isLoadingChanged: [{
3277
+ type: Output
3278
+ }], errorOccurred: [{
3279
+ type: Output
3280
+ }] } });
3281
+
3282
+ class ProfileJobInfoSalaryWidgetComponent {
3283
+ hrSelfWidgetsService;
3284
+ commonMethodsService;
3285
+ jobInformationSalary = null;
3286
+ isLoading = true;
3287
+ baseUrl = '';
3288
+ currencyCode = '';
3289
+ currencyDecimals = 2;
3290
+ headerIconClass = 'primary-icon-xl';
3291
+ headerTextClass = 'mt-2 field-secondary-label-lg';
3292
+ headerDividerClass = 'flex-grow-1 ms-2';
3293
+ rowClass = 'row mt-4';
3294
+ columnClass = 'col-md-4 col-6 mt-4';
3295
+ grossSalaryColumnClass = 'col-md-4 col-6 my-4';
3296
+ labelClass = 'field-secondary-label-sm';
3297
+ valueClass = 'fs-14 fw-medium text-ellipsis-one-line';
3298
+ currencyClass = 'fs-10 text-secondary fw-light';
3299
+ emptyStateContainerClass = 'd-flex flex-column justify-content-center align-items-center my-5';
3300
+ emptyStateTextClass = 'field-secondary-label-md';
3301
+ salaryIcon = faSackDollar;
3302
+ sectionTitle = 'Salary';
3303
+ isLoadingChanged = new EventEmitter();
3304
+ errorOccurred = new EventEmitter();
3305
+ constructor(hrSelfWidgetsService, commonMethodsService) {
3306
+ this.hrSelfWidgetsService = hrSelfWidgetsService;
3307
+ this.commonMethodsService = commonMethodsService;
3308
+ }
3309
+ ngOnInit() {
3310
+ if (!this.baseUrl) {
3311
+ this.isLoading = false;
3312
+ return;
3313
+ }
3314
+ this.isLoadingChanged.emit(true);
3315
+ this.hrSelfWidgetsService.getJobInformationSalary(this.baseUrl).subscribe({
3316
+ next: (response) => {
3317
+ this.isLoading = false;
3318
+ this.jobInformationSalary = response;
3319
+ this.isLoadingChanged.emit(false);
3320
+ },
3321
+ error: (error) => {
3322
+ this.isLoading = false;
3323
+ this.jobInformationSalary = null;
3324
+ this.isLoadingChanged.emit(false);
3325
+ this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);
3326
+ }
3327
+ });
3328
+ }
3329
+ get basicSalary() {
3330
+ return this.jobInformationSalary?.BasicSalary ?? this.jobInformationSalary?.CurrentBasicSalary ?? null;
3331
+ }
3332
+ get allowances() {
3333
+ return this.jobInformationSalary?.Allowances ?? [];
3334
+ }
3335
+ formatAmount(value) {
3336
+ if (value == null) {
3337
+ return '—';
3338
+ }
3339
+ return this.commonMethodsService.currencyDecimalFormat(value, this.currencyDecimals) || '—';
3340
+ }
3341
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ProfileJobInfoSalaryWidgetComponent, deps: [{ token: HRSelfWidgetsService }, { token: HRCommonMethodsService }], target: i0.ɵɵFactoryTarget.Component });
3342
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: ProfileJobInfoSalaryWidgetComponent, isStandalone: true, selector: "hr-profile-job-info-salary-widget", inputs: { baseUrl: "baseUrl", currencyCode: "currencyCode", currencyDecimals: "currencyDecimals", headerIconClass: "headerIconClass", headerTextClass: "headerTextClass", headerDividerClass: "headerDividerClass", rowClass: "rowClass", columnClass: "columnClass", grossSalaryColumnClass: "grossSalaryColumnClass", labelClass: "labelClass", valueClass: "valueClass", currencyClass: "currencyClass", emptyStateContainerClass: "emptyStateContainerClass", emptyStateTextClass: "emptyStateTextClass", salaryIcon: "salaryIcon", sectionTitle: "sectionTitle" }, outputs: { isLoadingChanged: "isLoadingChanged", errorOccurred: "errorOccurred" }, ngImport: i0, template: "@if(jobInformationSalary){\r\n<sky-section-divider [fontAwesomeIcon]=\"salaryIcon\"\r\n [text]=\"(sectionTitle | HRTranslate | uppercase)\"\r\n [iconClass]=\"headerIconClass\"\r\n [textClass]=\"headerTextClass\"\r\n [dividerClass]=\"headerDividerClass\">\r\n</sky-section-divider>\r\n\r\n<div [ngClass]=\"rowClass\">\r\n <div [ngClass]=\"columnClass\">\r\n <div [ngClass]=\"labelClass\">{{'BasicSalary' | HRTranslate}}</div>\r\n <div [ngClass]=\"valueClass\">{{formatAmount(basicSalary)}} <span [ngClass]=\"currencyClass\">{{currencyCode}}</span></div>\r\n </div>\r\n\r\n @for(allowance of allowances; track allowance){\r\n <div [ngClass]=\"columnClass\">\r\n <div [ngClass]=\"labelClass\">{{allowance.AllowanceName}}</div>\r\n <div [ngClass]=\"valueClass\">{{formatAmount(allowance.AllowanceAmount)}} <span [ngClass]=\"currencyClass\">{{currencyCode}}</span></div>\r\n </div>\r\n }\r\n\r\n <div [ngClass]=\"grossSalaryColumnClass\">\r\n <div [ngClass]=\"labelClass\">{{'GrossSalary' | HRTranslate}}</div>\r\n <div [ngClass]=\"valueClass\">{{formatAmount(jobInformationSalary.GrossSalary)}} <span [ngClass]=\"currencyClass\">{{currencyCode}}</span></div>\r\n </div>\r\n</div>\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i2$1.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: HRTranslatePipe, name: "HRTranslate" }, { kind: "component", type: SkySectionDividerComponent, selector: "sky-section-divider", inputs: ["text", "fontAwesomeIcon", "textClass", "dividerClass", "iconClass"] }] });
3343
+ }
3344
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ProfileJobInfoSalaryWidgetComponent, decorators: [{
3345
+ type: Component,
3346
+ args: [{ selector: 'hr-profile-job-info-salary-widget', standalone: true, imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent], template: "@if(jobInformationSalary){\r\n<sky-section-divider [fontAwesomeIcon]=\"salaryIcon\"\r\n [text]=\"(sectionTitle | HRTranslate | uppercase)\"\r\n [iconClass]=\"headerIconClass\"\r\n [textClass]=\"headerTextClass\"\r\n [dividerClass]=\"headerDividerClass\">\r\n</sky-section-divider>\r\n\r\n<div [ngClass]=\"rowClass\">\r\n <div [ngClass]=\"columnClass\">\r\n <div [ngClass]=\"labelClass\">{{'BasicSalary' | HRTranslate}}</div>\r\n <div [ngClass]=\"valueClass\">{{formatAmount(basicSalary)}} <span [ngClass]=\"currencyClass\">{{currencyCode}}</span></div>\r\n </div>\r\n\r\n @for(allowance of allowances; track allowance){\r\n <div [ngClass]=\"columnClass\">\r\n <div [ngClass]=\"labelClass\">{{allowance.AllowanceName}}</div>\r\n <div [ngClass]=\"valueClass\">{{formatAmount(allowance.AllowanceAmount)}} <span [ngClass]=\"currencyClass\">{{currencyCode}}</span></div>\r\n </div>\r\n }\r\n\r\n <div [ngClass]=\"grossSalaryColumnClass\">\r\n <div [ngClass]=\"labelClass\">{{'GrossSalary' | HRTranslate}}</div>\r\n <div [ngClass]=\"valueClass\">{{formatAmount(jobInformationSalary.GrossSalary)}} <span [ngClass]=\"currencyClass\">{{currencyCode}}</span></div>\r\n </div>\r\n</div>\r\n}\r\n" }]
3347
+ }], ctorParameters: () => [{ type: HRSelfWidgetsService }, { type: HRCommonMethodsService }], propDecorators: { baseUrl: [{
3348
+ type: Input,
3349
+ args: [{ required: true }]
3350
+ }], currencyCode: [{
3351
+ type: Input
3352
+ }], currencyDecimals: [{
3353
+ type: Input
3354
+ }], headerIconClass: [{
3355
+ type: Input
3356
+ }], headerTextClass: [{
3357
+ type: Input
3358
+ }], headerDividerClass: [{
3359
+ type: Input
3360
+ }], rowClass: [{
3361
+ type: Input
3362
+ }], columnClass: [{
3363
+ type: Input
3364
+ }], grossSalaryColumnClass: [{
3365
+ type: Input
3366
+ }], labelClass: [{
3367
+ type: Input
3368
+ }], valueClass: [{
3369
+ type: Input
3370
+ }], currencyClass: [{
3371
+ type: Input
3372
+ }], emptyStateContainerClass: [{
3373
+ type: Input
3374
+ }], emptyStateTextClass: [{
3375
+ type: Input
3376
+ }], salaryIcon: [{
3377
+ type: Input
3378
+ }], sectionTitle: [{
3379
+ type: Input
3380
+ }], isLoadingChanged: [{
3381
+ type: Output
3382
+ }], errorOccurred: [{
3383
+ type: Output
3384
+ }] } });
3385
+
3386
+ class ProfileJobInfoServiceChargeWidgetComponent {
3387
+ hrSelfWidgetsService;
3388
+ commonMethodsService;
3389
+ jobInformationServiceCharge = null;
3390
+ isLoading = true;
3391
+ baseUrl = '';
3392
+ currencyCode = '';
3393
+ headerIconClass = 'primary-icon-xl';
3394
+ headerTextClass = 'mt-2 field-secondary-label-lg';
3395
+ headerDividerClass = 'flex-grow-1 ms-2';
3396
+ rowClass = 'row mt-4 mb-5';
3397
+ columnClass = 'col-md-4 col-6';
3398
+ labelClass = 'field-secondary-label-sm';
3399
+ valueClass = 'fs-14 fw-medium text-ellipsis-one-line';
3400
+ emptyStateContainerClass = 'd-flex flex-column justify-content-center align-items-center my-5';
3401
+ emptyStateTextClass = 'field-secondary-label-md';
3402
+ serviceChargeIcon = faEnvelopeOpenDollar;
3403
+ sectionTitle = 'ServiceCharge';
3404
+ isLoadingChanged = new EventEmitter();
3405
+ errorOccurred = new EventEmitter();
3406
+ constructor(hrSelfWidgetsService, commonMethodsService) {
3407
+ this.hrSelfWidgetsService = hrSelfWidgetsService;
3408
+ this.commonMethodsService = commonMethodsService;
3409
+ }
3410
+ ngOnInit() {
3411
+ if (!this.baseUrl) {
3412
+ this.isLoading = false;
3413
+ return;
3414
+ }
3415
+ this.isLoadingChanged.emit(true);
3416
+ this.hrSelfWidgetsService.getJobInformationServiceCharge(this.baseUrl).subscribe({
3417
+ next: (response) => {
3418
+ this.isLoading = false;
3419
+ this.jobInformationServiceCharge = response;
3420
+ this.isLoadingChanged.emit(false);
3421
+ },
3422
+ error: (error) => {
3423
+ this.isLoading = false;
3424
+ this.jobInformationServiceCharge = null;
3425
+ this.isLoadingChanged.emit(false);
3426
+ this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);
3427
+ }
3428
+ });
3429
+ }
3430
+ get modeLabelKey() {
3431
+ const mode = this.jobInformationServiceCharge?.ServiceChargeEntitlementMode;
3432
+ switch (ServiceChargeEntitlementMode[mode]) {
3433
+ case ServiceChargeEntitlementMode.Points:
3434
+ return 'Points';
3435
+ case ServiceChargeEntitlementMode.SalaryRatio:
3436
+ return 'SalaryRatio';
3437
+ case ServiceChargeEntitlementMode.FixedAmount:
3438
+ return 'FixedAmount';
3439
+ case ServiceChargeEntitlementMode.FixedRate:
3440
+ return 'FixedRate';
3441
+ default:
3442
+ return 'ServiceCharge';
3443
+ }
3444
+ }
3445
+ get value() {
3446
+ const data = this.jobInformationServiceCharge;
3447
+ if (!data || data.ServiceChargeValue == null) {
3448
+ return '—';
3449
+ }
3450
+ if (ServiceChargeEntitlementMode[data.ServiceChargeEntitlementMode] ===
3451
+ ServiceChargeEntitlementMode.FixedAmount) {
3452
+ return `${this.commonMethodsService.currencyDecimalFormat(data.ServiceChargeValue, 4)} (${this.currencyCode})`;
3453
+ }
3454
+ return this.commonMethodsService.currencyDecimalFormat(data.ServiceChargeValue, 2) || '—';
3455
+ }
3456
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ProfileJobInfoServiceChargeWidgetComponent, deps: [{ token: HRSelfWidgetsService }, { token: HRCommonMethodsService }], target: i0.ɵɵFactoryTarget.Component });
3457
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: ProfileJobInfoServiceChargeWidgetComponent, isStandalone: true, selector: "hr-profile-job-info-service-charge-widget", inputs: { baseUrl: "baseUrl", currencyCode: "currencyCode", headerIconClass: "headerIconClass", headerTextClass: "headerTextClass", headerDividerClass: "headerDividerClass", rowClass: "rowClass", columnClass: "columnClass", labelClass: "labelClass", valueClass: "valueClass", emptyStateContainerClass: "emptyStateContainerClass", emptyStateTextClass: "emptyStateTextClass", serviceChargeIcon: "serviceChargeIcon", sectionTitle: "sectionTitle" }, outputs: { isLoadingChanged: "isLoadingChanged", errorOccurred: "errorOccurred" }, ngImport: i0, template: "@if(jobInformationServiceCharge){\r\n<sky-section-divider [fontAwesomeIcon]=\"serviceChargeIcon\"\r\n [text]=\"(sectionTitle | HRTranslate | uppercase)\"\r\n [iconClass]=\"headerIconClass\"\r\n [textClass]=\"headerTextClass\"\r\n [dividerClass]=\"headerDividerClass\">\r\n</sky-section-divider>\r\n\r\n<div [ngClass]=\"rowClass\">\r\n <div [ngClass]=\"columnClass\">\r\n <div [ngClass]=\"labelClass\">{{modeLabelKey | HRTranslate}}</div>\r\n <div [ngClass]=\"valueClass\">{{value}}</div>\r\n </div>\r\n</div>\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i2$1.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: HRTranslatePipe, name: "HRTranslate" }, { kind: "component", type: SkySectionDividerComponent, selector: "sky-section-divider", inputs: ["text", "fontAwesomeIcon", "textClass", "dividerClass", "iconClass"] }] });
3458
+ }
3459
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ProfileJobInfoServiceChargeWidgetComponent, decorators: [{
3460
+ type: Component,
3461
+ args: [{ selector: 'hr-profile-job-info-service-charge-widget', standalone: true, imports: [CommonModule, HRTranslatePipe, SkySectionDividerComponent], template: "@if(jobInformationServiceCharge){\r\n<sky-section-divider [fontAwesomeIcon]=\"serviceChargeIcon\"\r\n [text]=\"(sectionTitle | HRTranslate | uppercase)\"\r\n [iconClass]=\"headerIconClass\"\r\n [textClass]=\"headerTextClass\"\r\n [dividerClass]=\"headerDividerClass\">\r\n</sky-section-divider>\r\n\r\n<div [ngClass]=\"rowClass\">\r\n <div [ngClass]=\"columnClass\">\r\n <div [ngClass]=\"labelClass\">{{modeLabelKey | HRTranslate}}</div>\r\n <div [ngClass]=\"valueClass\">{{value}}</div>\r\n </div>\r\n</div>\r\n}\r\n" }]
3462
+ }], ctorParameters: () => [{ type: HRSelfWidgetsService }, { type: HRCommonMethodsService }], propDecorators: { baseUrl: [{
3463
+ type: Input,
3464
+ args: [{ required: true }]
3465
+ }], currencyCode: [{
3466
+ type: Input
3467
+ }], headerIconClass: [{
3468
+ type: Input
3469
+ }], headerTextClass: [{
3470
+ type: Input
3471
+ }], headerDividerClass: [{
3472
+ type: Input
3473
+ }], rowClass: [{
3474
+ type: Input
3475
+ }], columnClass: [{
3476
+ type: Input
3477
+ }], labelClass: [{
3478
+ type: Input
3479
+ }], valueClass: [{
3480
+ type: Input
3481
+ }], emptyStateContainerClass: [{
3482
+ type: Input
3483
+ }], emptyStateTextClass: [{
3484
+ type: Input
3485
+ }], serviceChargeIcon: [{
3486
+ type: Input
3487
+ }], sectionTitle: [{
3488
+ type: Input
3489
+ }], isLoadingChanged: [{
3490
+ type: Output
3491
+ }], errorOccurred: [{
3492
+ type: Output
3493
+ }] } });
3494
+
2915
3495
  class HRVacationSubordinatesPopupComponent {
2916
3496
  http;
2917
3497
  dataGrid;
@@ -3110,6 +3690,224 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
3110
3690
  type: Output
3111
3691
  }] } });
3112
3692
 
3693
+ class ProfileExperiencesWidgetComponent {
3694
+ service;
3695
+ experiences = [];
3696
+ isLoading = true;
3697
+ baseUrl = '';
3698
+ sectionTitle = 'experiences';
3699
+ viewIcon = faEye;
3700
+ downloadIcon = faFolderArrowDown;
3701
+ experienceIcon = faUsersRays;
3702
+ headerIconClass = 'primary-icon-xl';
3703
+ headerTextClass = 'fs-16 mt-2 text-secondary';
3704
+ headerDividerClass = 'flex-grow-1 ms-2';
3705
+ rowClass = 'row mt-4';
3706
+ itemRowClass = 'row col-10 mt-3';
3707
+ itemColumnClass = 'col-3';
3708
+ labelClass = 'field-secondary-label-sm';
3709
+ valueClass = 'text-dark-gray fs-14 text-ellipsis-one-line cursor-pointer';
3710
+ actionsColumnClass = 'col-2 mt-3';
3711
+ viewIconClass = 'fs-15 text-dark cursor-pointer';
3712
+ downloadIconClass = 'fs-15 text-dark cursor-pointer mx-2';
3713
+ emptyStateContainerClass = 'd-flex flex-column justify-content-center align-items-center my-5';
3714
+ emptyStateTextClass = 'field-secondary-label-md';
3715
+ isLoadingChanged = new EventEmitter();
3716
+ attachmentViewed = new EventEmitter();
3717
+ attachmentDownloaded = new EventEmitter();
3718
+ errorOccurred = new EventEmitter();
3719
+ constructor(service) {
3720
+ this.service = service;
3721
+ }
3722
+ ngOnInit() {
3723
+ if (!this.baseUrl) {
3724
+ this.isLoading = false;
3725
+ return;
3726
+ }
3727
+ this.isLoadingChanged.emit(true);
3728
+ this.service.getEmployeeExperiences(this.baseUrl).subscribe({
3729
+ next: (res) => {
3730
+ this.experiences = res ?? [];
3731
+ this.isLoading = false;
3732
+ this.isLoadingChanged.emit(false);
3733
+ },
3734
+ error: (error) => {
3735
+ this.experiences = [];
3736
+ this.isLoading = false;
3737
+ this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);
3738
+ this.isLoadingChanged.emit(false);
3739
+ }
3740
+ });
3741
+ }
3742
+ onAttachmentView(file) {
3743
+ this.attachmentViewed.emit(file);
3744
+ }
3745
+ onAttachmentDownload(file) {
3746
+ this.attachmentDownloaded.emit(file);
3747
+ }
3748
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ProfileExperiencesWidgetComponent, deps: [{ token: HRSelfWidgetsService }], target: i0.ɵɵFactoryTarget.Component });
3749
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: ProfileExperiencesWidgetComponent, isStandalone: true, selector: "hr-profile-experiences-widget", inputs: { baseUrl: "baseUrl", sectionTitle: "sectionTitle", viewIcon: "viewIcon", downloadIcon: "downloadIcon", experienceIcon: "experienceIcon", headerIconClass: "headerIconClass", headerTextClass: "headerTextClass", headerDividerClass: "headerDividerClass", rowClass: "rowClass", itemRowClass: "itemRowClass", itemColumnClass: "itemColumnClass", labelClass: "labelClass", valueClass: "valueClass", actionsColumnClass: "actionsColumnClass", viewIconClass: "viewIconClass", downloadIconClass: "downloadIconClass", emptyStateContainerClass: "emptyStateContainerClass", emptyStateTextClass: "emptyStateTextClass" }, outputs: { isLoadingChanged: "isLoadingChanged", attachmentViewed: "attachmentViewed", attachmentDownloaded: "attachmentDownloaded", errorOccurred: "errorOccurred" }, ngImport: i0, template: "<sky-section-divider [fontAwesomeIcon]=\"experienceIcon\"\r\n [text]=\"(sectionTitle | HRTranslate | uppercase)\"\r\n [iconClass]=\"headerIconClass\"\r\n [textClass]=\"headerTextClass\"\r\n [dividerClass]=\"headerDividerClass\">\r\n</sky-section-divider>\r\n\r\n@if(experiences.length > 0){\r\n\r\n<div [class]=\"rowClass\">\r\n\r\n @for (experience of experiences; track experience){\r\n\r\n <div [class]=\"itemRowClass\">\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <hr-info-field labelKey=\"Period\"\r\n [value]=\"(experience.StartDate | date:'dd/MM/yyyy') + ' - ' + (experience.EndDate | date:'dd/MM/yyyy')\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <hr-info-field labelKey=\"Employer\"\r\n [value]=\"experience.Employer\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <hr-info-field labelKey=\"Position\"\r\n [value]=\"experience.Position\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <hr-info-field labelKey=\"TerminationReason\"\r\n [value]=\"experience.TerminationReason\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n </div>\r\n\r\n @if(experience.Document){\r\n <div [class]=\"actionsColumnClass\">\r\n <fa-icon [icon]=\"viewIcon\" [class]=\"viewIconClass\" (click)=\"onAttachmentView(experience.Document)\"></fa-icon>\r\n <fa-icon [icon]=\"downloadIcon\" [class]=\"downloadIconClass\" (click)=\"onAttachmentDownload(experience.Document)\"></fa-icon>\r\n </div>\r\n }\r\n\r\n }\r\n\r\n</div>\r\n\r\n}@else{\r\n\r\n\r\n<sky-empty-design-card [containerClass]=\"emptyStateContainerClass\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [emptyTextClass]=\"emptyStateTextClass\"\r\n [emptyText]=\"isLoading ? ((sectionTitle | HRTranslate) + ' ' + ('IsLoading' | HRTranslate)) : ('ThereIsNoExperiencesYet' | HRTranslate)\">\r\n</sky-empty-design-card>\r\n\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2$1.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i2$1.DatePipe, name: "date" }, { kind: "component", type: SkySectionDividerComponent, selector: "sky-section-divider", inputs: ["text", "fontAwesomeIcon", "textClass", "dividerClass", "iconClass"] }, { kind: "pipe", type: HRTranslatePipe, name: "HRTranslate" }, { kind: "component", type: SkyEmptyDesignCardComponent, selector: "sky-empty-design-card", inputs: ["emptyIcon", "emptyIconClass", "emptyText", "emptyTextClass", "actionTitle", "actionIcon", "actionDisabled", "textColor", "disabledTitleClass", "activeTitleClass", "disabledIconClass", "activeIconClass", "actionClass", "containerClass", "cardBodyClass", "cardBodyContainerClass", "visibleIcon", "visibleQuickAction"], outputs: ["onActionClick"] }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i1$2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }, { kind: "component", type: HRInfoFieldComponent, selector: "hr-info-field", inputs: ["labelKey", "value", "labelClass", "valueClass", "fallbackValue"] }] });
3750
+ }
3751
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ProfileExperiencesWidgetComponent, decorators: [{
3752
+ type: Component,
3753
+ args: [{ selector: 'hr-profile-experiences-widget', standalone: true, imports: [CommonModule, SkySectionDividerComponent,
3754
+ HRTranslatePipe, SkyEmptyDesignCardComponent, FontAwesomeModule, HRInfoFieldComponent], template: "<sky-section-divider [fontAwesomeIcon]=\"experienceIcon\"\r\n [text]=\"(sectionTitle | HRTranslate | uppercase)\"\r\n [iconClass]=\"headerIconClass\"\r\n [textClass]=\"headerTextClass\"\r\n [dividerClass]=\"headerDividerClass\">\r\n</sky-section-divider>\r\n\r\n@if(experiences.length > 0){\r\n\r\n<div [class]=\"rowClass\">\r\n\r\n @for (experience of experiences; track experience){\r\n\r\n <div [class]=\"itemRowClass\">\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <hr-info-field labelKey=\"Period\"\r\n [value]=\"(experience.StartDate | date:'dd/MM/yyyy') + ' - ' + (experience.EndDate | date:'dd/MM/yyyy')\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <hr-info-field labelKey=\"Employer\"\r\n [value]=\"experience.Employer\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <hr-info-field labelKey=\"Position\"\r\n [value]=\"experience.Position\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <hr-info-field labelKey=\"TerminationReason\"\r\n [value]=\"experience.TerminationReason\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n </div>\r\n\r\n @if(experience.Document){\r\n <div [class]=\"actionsColumnClass\">\r\n <fa-icon [icon]=\"viewIcon\" [class]=\"viewIconClass\" (click)=\"onAttachmentView(experience.Document)\"></fa-icon>\r\n <fa-icon [icon]=\"downloadIcon\" [class]=\"downloadIconClass\" (click)=\"onAttachmentDownload(experience.Document)\"></fa-icon>\r\n </div>\r\n }\r\n\r\n }\r\n\r\n</div>\r\n\r\n}@else{\r\n\r\n\r\n<sky-empty-design-card [containerClass]=\"emptyStateContainerClass\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [emptyTextClass]=\"emptyStateTextClass\"\r\n [emptyText]=\"isLoading ? ((sectionTitle | HRTranslate) + ' ' + ('IsLoading' | HRTranslate)) : ('ThereIsNoExperiencesYet' | HRTranslate)\">\r\n</sky-empty-design-card>\r\n\r\n}\r\n" }]
3755
+ }], ctorParameters: () => [{ type: HRSelfWidgetsService }], propDecorators: { baseUrl: [{
3756
+ type: Input
3757
+ }], sectionTitle: [{
3758
+ type: Input
3759
+ }], viewIcon: [{
3760
+ type: Input
3761
+ }], downloadIcon: [{
3762
+ type: Input
3763
+ }], experienceIcon: [{
3764
+ type: Input
3765
+ }], headerIconClass: [{
3766
+ type: Input
3767
+ }], headerTextClass: [{
3768
+ type: Input
3769
+ }], headerDividerClass: [{
3770
+ type: Input
3771
+ }], rowClass: [{
3772
+ type: Input
3773
+ }], itemRowClass: [{
3774
+ type: Input
3775
+ }], itemColumnClass: [{
3776
+ type: Input
3777
+ }], labelClass: [{
3778
+ type: Input
3779
+ }], valueClass: [{
3780
+ type: Input
3781
+ }], actionsColumnClass: [{
3782
+ type: Input
3783
+ }], viewIconClass: [{
3784
+ type: Input
3785
+ }], downloadIconClass: [{
3786
+ type: Input
3787
+ }], emptyStateContainerClass: [{
3788
+ type: Input
3789
+ }], emptyStateTextClass: [{
3790
+ type: Input
3791
+ }], isLoadingChanged: [{
3792
+ type: Output
3793
+ }], attachmentViewed: [{
3794
+ type: Output
3795
+ }], attachmentDownloaded: [{
3796
+ type: Output
3797
+ }], errorOccurred: [{
3798
+ type: Output
3799
+ }] } });
3800
+
3801
+ class ProfileDegreesWidgetComponent {
3802
+ service;
3803
+ degrees = [];
3804
+ isLoading = true;
3805
+ baseUrl = '';
3806
+ sectionTitle = 'Degrees';
3807
+ degreesIcon = faFileCertificate;
3808
+ viewIcon = faEye;
3809
+ downloadIcon = faFolderArrowDown;
3810
+ headerIconClass = 'primary-icon-xl';
3811
+ headerTextClass = 'fs-16 mt-2 text-secondary';
3812
+ headerDividerClass = 'flex-grow-1 ms-2';
3813
+ rowClass = 'row mt-4';
3814
+ itemRowClass = 'row col-10 mt-3';
3815
+ itemColumnClass = 'col-3';
3816
+ labelClass = 'field-secondary-label-sm';
3817
+ valueClass = 'text-dark-gray fs-14';
3818
+ valueEllipsisClass = 'text-dark-gray fs-14 text-ellipsis-one-line cursor-pointer';
3819
+ actionsColumnClass = 'col-2 align-items-end mt-3';
3820
+ viewIconClass = 'fs-15 text-dark cursor-pointer';
3821
+ downloadIconClass = 'fs-15 mx-3 text-dark cursor-pointer';
3822
+ emptyStateContainerClass = 'd-flex flex-column justify-content-center align-items-center my-5';
3823
+ emptyStateTextClass = 'field-secondary-label-md';
3824
+ isLoadingChanged = new EventEmitter();
3825
+ attachmentViewed = new EventEmitter();
3826
+ attachmentDownloaded = new EventEmitter();
3827
+ errorOccurred = new EventEmitter();
3828
+ constructor(service) {
3829
+ this.service = service;
3830
+ }
3831
+ ngOnInit() {
3832
+ if (!this.baseUrl) {
3833
+ this.isLoading = false;
3834
+ return;
3835
+ }
3836
+ this.isLoadingChanged.emit(true);
3837
+ this.service.getEmployeeDegrees(this.baseUrl).subscribe({
3838
+ next: (res) => {
3839
+ this.degrees = res ?? [];
3840
+ this.isLoading = false;
3841
+ this.isLoadingChanged.emit(false);
3842
+ },
3843
+ error: (error) => {
3844
+ this.degrees = [];
3845
+ this.isLoading = false;
3846
+ this.errorOccurred.emit(error.error.ResponseData.Errors[0].Message);
3847
+ this.isLoadingChanged.emit(false);
3848
+ }
3849
+ });
3850
+ }
3851
+ onAttachmentView(file) {
3852
+ this.attachmentViewed.emit(file);
3853
+ }
3854
+ onAttachmentDownload(file) {
3855
+ this.attachmentDownloaded.emit(file);
3856
+ }
3857
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ProfileDegreesWidgetComponent, deps: [{ token: HRSelfWidgetsService }], target: i0.ɵɵFactoryTarget.Component });
3858
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: ProfileDegreesWidgetComponent, isStandalone: true, selector: "hr-profile-degrees-widget", inputs: { baseUrl: "baseUrl", sectionTitle: "sectionTitle", degreesIcon: "degreesIcon", viewIcon: "viewIcon", downloadIcon: "downloadIcon", headerIconClass: "headerIconClass", headerTextClass: "headerTextClass", headerDividerClass: "headerDividerClass", rowClass: "rowClass", itemRowClass: "itemRowClass", itemColumnClass: "itemColumnClass", labelClass: "labelClass", valueClass: "valueClass", valueEllipsisClass: "valueEllipsisClass", actionsColumnClass: "actionsColumnClass", viewIconClass: "viewIconClass", downloadIconClass: "downloadIconClass", emptyStateContainerClass: "emptyStateContainerClass", emptyStateTextClass: "emptyStateTextClass" }, outputs: { isLoadingChanged: "isLoadingChanged", attachmentViewed: "attachmentViewed", attachmentDownloaded: "attachmentDownloaded", errorOccurred: "errorOccurred" }, ngImport: i0, template: "<sky-section-divider [fontAwesomeIcon]=\"degreesIcon\"\r\n [text]=\"(sectionTitle | HRTranslate | uppercase)\"\r\n [iconClass]=\"headerIconClass\"\r\n [textClass]=\"headerTextClass\"\r\n [dividerClass]=\"headerDividerClass\">\r\n</sky-section-divider>\r\n\r\n@if(degrees.length > 0){\r\n\r\n<div [class]=\"rowClass\">\r\n\r\n @for (qualification of degrees; track qualification){\r\n\r\n <div [class]=\"itemRowClass\">\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <hr-info-field labelKey=\"Degree/Year\"\r\n [value]=\"(qualification.DegreeName + ' / ' + qualification.DegreeYear)\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <hr-info-field labelKey=\"Country\"\r\n [value]=\"qualification.CountryName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueEllipsisClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <hr-info-field labelKey=\"Specialty\"\r\n [value]=\"qualification.Specialty\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueEllipsisClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <hr-info-field labelKey=\"Institute\"\r\n [value]=\"qualification.Institute\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueEllipsisClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n </div>\r\n\r\n @if(qualification.Document){\r\n <div [class]=\"actionsColumnClass\">\r\n <fa-icon [icon]=\"viewIcon\" [class]=\"viewIconClass\" (click)=\"onAttachmentView(qualification.Document)\"></fa-icon>\r\n <fa-icon [icon]=\"downloadIcon\" [class]=\"downloadIconClass\" (click)=\"onAttachmentDownload(qualification.Document)\"></fa-icon>\r\n </div>\r\n }\r\n\r\n }\r\n\r\n</div>\r\n}@else{\r\n\r\n <sky-empty-design-card [containerClass]=\"emptyStateContainerClass\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [emptyTextClass]=\"emptyStateTextClass\"\r\n [emptyText]=\"isLoading ? ((sectionTitle | HRTranslate) + ' ' + ('IsLoading' | HRTranslate)) : ('ThereIsNoDegreesYet' | HRTranslate)\">\r\n </sky-empty-design-card>\r\n\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2$1.UpperCasePipe, name: "uppercase" }, { kind: "component", type: SkySectionDividerComponent, selector: "sky-section-divider", inputs: ["text", "fontAwesomeIcon", "textClass", "dividerClass", "iconClass"] }, { kind: "pipe", type: HRTranslatePipe, name: "HRTranslate" }, { kind: "component", type: SkyEmptyDesignCardComponent, selector: "sky-empty-design-card", inputs: ["emptyIcon", "emptyIconClass", "emptyText", "emptyTextClass", "actionTitle", "actionIcon", "actionDisabled", "textColor", "disabledTitleClass", "activeTitleClass", "disabledIconClass", "activeIconClass", "actionClass", "containerClass", "cardBodyClass", "cardBodyContainerClass", "visibleIcon", "visibleQuickAction"], outputs: ["onActionClick"] }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i1$2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }, { kind: "component", type: HRInfoFieldComponent, selector: "hr-info-field", inputs: ["labelKey", "value", "labelClass", "valueClass", "fallbackValue"] }] });
3859
+ }
3860
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ProfileDegreesWidgetComponent, decorators: [{
3861
+ type: Component,
3862
+ args: [{ selector: 'hr-profile-degrees-widget', standalone: true, imports: [CommonModule, SkySectionDividerComponent, HRTranslatePipe, SkyEmptyDesignCardComponent, FontAwesomeModule, HRInfoFieldComponent], template: "<sky-section-divider [fontAwesomeIcon]=\"degreesIcon\"\r\n [text]=\"(sectionTitle | HRTranslate | uppercase)\"\r\n [iconClass]=\"headerIconClass\"\r\n [textClass]=\"headerTextClass\"\r\n [dividerClass]=\"headerDividerClass\">\r\n</sky-section-divider>\r\n\r\n@if(degrees.length > 0){\r\n\r\n<div [class]=\"rowClass\">\r\n\r\n @for (qualification of degrees; track qualification){\r\n\r\n <div [class]=\"itemRowClass\">\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <hr-info-field labelKey=\"Degree/Year\"\r\n [value]=\"(qualification.DegreeName + ' / ' + qualification.DegreeYear)\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <hr-info-field labelKey=\"Country\"\r\n [value]=\"qualification.CountryName\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueEllipsisClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <hr-info-field labelKey=\"Specialty\"\r\n [value]=\"qualification.Specialty\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueEllipsisClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n <div [class]=\"itemColumnClass\">\r\n <hr-info-field labelKey=\"Institute\"\r\n [value]=\"qualification.Institute\"\r\n [labelClass]=\"labelClass\"\r\n [valueClass]=\"valueEllipsisClass\">\r\n </hr-info-field>\r\n </div>\r\n\r\n </div>\r\n\r\n @if(qualification.Document){\r\n <div [class]=\"actionsColumnClass\">\r\n <fa-icon [icon]=\"viewIcon\" [class]=\"viewIconClass\" (click)=\"onAttachmentView(qualification.Document)\"></fa-icon>\r\n <fa-icon [icon]=\"downloadIcon\" [class]=\"downloadIconClass\" (click)=\"onAttachmentDownload(qualification.Document)\"></fa-icon>\r\n </div>\r\n }\r\n\r\n }\r\n\r\n</div>\r\n}@else{\r\n\r\n <sky-empty-design-card [containerClass]=\"emptyStateContainerClass\"\r\n [cardBodyClass]=\"''\"\r\n [cardBodyContainerClass]=\"''\"\r\n [visibleIcon]=\"false\"\r\n [visibleQuickAction]=\"false\"\r\n [emptyTextClass]=\"emptyStateTextClass\"\r\n [emptyText]=\"isLoading ? ((sectionTitle | HRTranslate) + ' ' + ('IsLoading' | HRTranslate)) : ('ThereIsNoDegreesYet' | HRTranslate)\">\r\n </sky-empty-design-card>\r\n\r\n}\r\n" }]
3863
+ }], ctorParameters: () => [{ type: HRSelfWidgetsService }], propDecorators: { baseUrl: [{
3864
+ type: Input
3865
+ }], sectionTitle: [{
3866
+ type: Input
3867
+ }], degreesIcon: [{
3868
+ type: Input
3869
+ }], viewIcon: [{
3870
+ type: Input
3871
+ }], downloadIcon: [{
3872
+ type: Input
3873
+ }], headerIconClass: [{
3874
+ type: Input
3875
+ }], headerTextClass: [{
3876
+ type: Input
3877
+ }], headerDividerClass: [{
3878
+ type: Input
3879
+ }], rowClass: [{
3880
+ type: Input
3881
+ }], itemRowClass: [{
3882
+ type: Input
3883
+ }], itemColumnClass: [{
3884
+ type: Input
3885
+ }], labelClass: [{
3886
+ type: Input
3887
+ }], valueClass: [{
3888
+ type: Input
3889
+ }], valueEllipsisClass: [{
3890
+ type: Input
3891
+ }], actionsColumnClass: [{
3892
+ type: Input
3893
+ }], viewIconClass: [{
3894
+ type: Input
3895
+ }], downloadIconClass: [{
3896
+ type: Input
3897
+ }], emptyStateContainerClass: [{
3898
+ type: Input
3899
+ }], emptyStateTextClass: [{
3900
+ type: Input
3901
+ }], isLoadingChanged: [{
3902
+ type: Output
3903
+ }], attachmentViewed: [{
3904
+ type: Output
3905
+ }], attachmentDownloaded: [{
3906
+ type: Output
3907
+ }], errorOccurred: [{
3908
+ type: Output
3909
+ }] } });
3910
+
3113
3911
  /*
3114
3912
  * Public API Surface of shared-ui
3115
3913
  */
@@ -3118,5 +3916,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
3118
3916
  * Generated bundle index. Do not edit.
3119
3917
  */
3120
3918
 
3121
- export { EventOption, EventTypeEnum, HRCardHeaderComponent, HRConstantsService, HREmployeeCalendarComponent, HRTranslatePipe, HRTranslateService, MainWidgetShortcut, MyCalendarWidgetComponent, MyMainDetailsWidgetComponent, MyUpcomingEventsWidgetComponent, MyVacationTeamWidgetComponent, ProfilePersonalInfoAddressWidgetComponent, ProfilePersonalInfoContactWidgetComponent, ProfilePersonalInfoLanguagesWidgetComponent, ProfilePersonalInfoMainWidgetComponent, ProfilePersonalInfoOtherNationalitiesWidgetComponent, PublicHolidayWeekContext, RelativeDay, ScheduleVacationTypes, ServiceChargeEntitlementMode, VacationPopupType };
3919
+ export { EventOption, EventTypeEnum, HRCardHeaderComponent, HRConstantsService, HREmployeeCalendarComponent, HRTranslatePipe, HRTranslateService, MainWidgetShortcut, MyCalendarWidgetComponent, MyMainDetailsWidgetComponent, MyUpcomingEventsWidgetComponent, MyVacationTeamWidgetComponent, ProfileBankInfoWidgetComponent, ProfileDegreesWidgetComponent, ProfileExperiencesWidgetComponent, ProfileJobInfoContractWidgetComponent, ProfileJobInfoMainWidgetComponent, ProfileJobInfoSalaryWidgetComponent, ProfileJobInfoServiceChargeWidgetComponent, ProfilePersonalInfoAddressWidgetComponent, ProfilePersonalInfoContactWidgetComponent, ProfilePersonalInfoLanguagesWidgetComponent, ProfilePersonalInfoMainWidgetComponent, ProfilePersonalInfoOtherNationalitiesWidgetComponent, PublicHolidayWeekContext, RelativeDay, ScheduleVacationTypes, ServiceChargeEntitlementMode, VacationPopupType };
3122
3920
  //# sourceMappingURL=skysoftware-co-bayan-hr-widgets-ui.mjs.map