@unipin/angular-applet 18.0.3 → 18.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,7 +14,7 @@ import * as i3 from 'angular-split';
14
14
  import { AngularSplitModule } from 'angular-split';
15
15
  import * as i3$1 from '@angular/forms';
16
16
  import { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormsModule, FormGroup, FormControl, ReactiveFormsModule } from '@angular/forms';
17
- import * as i3$2 from '@ng-select/ng-select';
17
+ import * as i4 from '@ng-select/ng-select';
18
18
  import { NgSelectModule } from '@ng-select/ng-select';
19
19
  import { ModuleRegistry } from '@ag-grid-community/core';
20
20
  export { GridApi } from '@ag-grid-community/core';
@@ -417,7 +417,7 @@ class AppletContainerComponent {
417
417
  dispatchEvent(new CustomEvent('menuEvent', { detail: { isActive: false } }));
418
418
  }
419
419
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AppletContainerComponent, deps: [{ token: 'APPLET_CONFIG' }, { token: i0.ChangeDetectorRef }, { token: PermissionService }], target: i0.ɵɵFactoryTarget.Component }); }
420
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: AppletContainerComponent, isStandalone: true, selector: "up-applet-container", host: { classAttribute: "d-flex h-100 w-100" }, ngImport: i0, template: "<div class=\"sidenav flex-shrink-0 h-100 py-4 d-flex flex-column\" [class.collapsed]=\"isCollapsed\" [class.show]=\"isMenuActive\">\n <div class=\"logo-container px-3 pb-3 border-bottom flex-shrink-0 position-relative d-flex align-items-center gap-3 d-none d-md-flex\">\n <img alt=\"Applet Icon\" width=\"44px\" height=\"44px\" class=\"rounded\" [src]=\"config.icon\" />\n\n <div class=\"info w-75 pe-2\">\n <div class=\"name fw-medium text-truncate\">{{ config.name }}</div>\n <div class=\"tenant pt-1 fw-medium\">v{{ config.version }}</div>\n </div>\n\n <button class=\"btn-close cursor-pointer position-absolute border-0 rounded-circle d-none d-md-block\" (click)=\"toggleSidenav()\">\n <ion-icon name=\"chevron-forward\" class=\"mt-1\" />\n </button>\n </div>\n\n <div class=\"flex-grow-1 px-3 pt-3 overflow-y-auto d-none d-md-block\" (click)=\"selectMenu()\">\n <a class=\"nav align-items-center text-decoration-none gap-2 rounded mb-1 {{ isHidden[i]? 'd-none' : 'd-flex' }}\" title=\"{{ c.label }}\" [routerLink]=\"c.path\" routerLinkActive=\"fw-medium\" *ngFor=\"let c of config.containers; let i = index\">\n <ion-icon name=\"{{ c.icon }}\" />\n <div class=\"text-truncate\">{{ c.label }}</div>\n </a>\n </div>\n\n <div class=\"flex-shrink-0 px-3 pt-3 border-top d-none d-md-block\" *ngIf=\"config.enabledSetting\" (click)=\"selectMenu()\">\n <a class=\"nav d-flex align-items-center text-decoration-none gap-2 rounded\" title=\"Setting\" routerLink=\"setting\" routerLinkActive=\"fw-medium\">\n <ion-icon name=\"settings\" />\n <div class=\"text-truncate\">Setting</div>\n </a>\n </div>\n</div>\n\n<div class=\"flex-grow-1 overflow-y-auto\">\n <ng-content />\n</div>\n", styles: [".info{display:none}.name{font-size:16px}.tenant{color:#757575}.sidenav{width:73px;background:#f8f9fb;transition:all .2s ease;border-right:1px solid #D1D1D1}.sidenav.collapsed{width:250px}.sidenav.collapsed .btn-close{transform:rotate(180deg)}.sidenav.collapsed .nav div,.sidenav.collapsed .info{display:block}.sidenav.show{width:250px}.sidenav.show .logo-container{display:flex!important}.sidenav.show div:not(.logo-container),.sidenav.show img,.sidenav.show .info{display:block!important}.btn-close{width:35px;height:35px;bottom:23px;right:-17px;z-index:999;transition:all .3s ease;background-color:#f8f9fb;box-shadow:0 0 .15rem #616161}.btn-close ion-icon{color:#616161;font-size:16px}@media (max-width: 768px){.btn-close{right:-18px}.btn-close ion-icon{position:absolute;right:9px;bottom:10px}}.nav{padding:12px;color:#616161;transition:all .3s ease}.nav.fw-medium,.nav:hover{background-color:#fef3ee;color:#ed6b26!important}.nav ion-icon{font-size:20px}.nav div{display:none;font-size:16px}@media (max-width: 767px){.sidenav{width:0;z-index:2;position:absolute!important}}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "directive", type: i1.RouterLinkWithHrefDelegate, selector: "a[routerLink],area[routerLink]" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
420
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: AppletContainerComponent, isStandalone: true, selector: "up-applet-container", host: { classAttribute: "d-flex h-100 w-100" }, ngImport: i0, template: "<div class=\"sidenav flex-shrink-0 h-100 py-4 d-flex flex-column\" [class.collapsed]=\"isCollapsed\" [class.show]=\"isMenuActive\">\n <div class=\"logo-container px-3 pb-3 border-bottom flex-shrink-0 position-relative d-flex align-items-center gap-3 d-none d-md-flex\">\n <img alt=\"Applet Icon\" width=\"44px\" height=\"44px\" class=\"rounded\" [src]=\"config.icon\" />\n\n <div class=\"info w-75 pe-2\">\n <div class=\"name fw-medium text-truncate\">{{ config.name }}</div>\n <div class=\"tenant pt-1 fw-medium\">v{{ config.version }}</div>\n </div>\n\n <button class=\"btn-close cursor-pointer position-absolute border-0 rounded-circle d-none d-md-block\" (click)=\"toggleSidenav()\">\n <ion-icon name=\"chevron-forward\" class=\"mt-1\" />\n </button>\n </div>\n\n <div class=\"flex-grow-1 px-3 pt-3 overflow-y-auto d-none d-md-block\" (click)=\"selectMenu()\">\n <a class=\"nav align-items-center text-decoration-none gap-2 rounded mb-1 {{ isHidden[i]? 'd-none' : 'd-flex' }}\" title=\"{{ c.label }}\" [routerLink]=\"c.path\" routerLinkActive=\"fw-medium\" *ngFor=\"let c of config.containers; let i = index\">\n <ion-icon name=\"{{ c.icon }}\" />\n <div class=\"text-truncate\">{{ c.label }}</div>\n </a>\n </div>\n\n <div class=\"flex-shrink-0 px-3 pt-3 border-top d-none d-md-block\" *ngIf=\"config.enabledSetting\" (click)=\"selectMenu()\">\n <a class=\"nav d-flex align-items-center text-decoration-none gap-2 rounded\" title=\"Setting\" routerLink=\"setting\" routerLinkActive=\"fw-medium\">\n <ion-icon name=\"settings\" />\n <div class=\"text-truncate\">Setting</div>\n </a>\n </div>\n</div>\n\n<div class=\"flex-grow-1 w-100 overflow-y-auto\">\n <ng-content />\n</div>\n", styles: [".info{display:none}.name{font-size:16px}.tenant{color:#757575}.sidenav{width:73px;background:#f8f9fb;transition:all .2s ease;border-right:1px solid #D1D1D1}.sidenav.collapsed{width:250px}.sidenav.collapsed .btn-close{transform:rotate(180deg)}.sidenav.collapsed .nav div,.sidenav.collapsed .info{display:block}.sidenav.show{width:250px}.sidenav.show .logo-container{display:flex!important}.sidenav.show div:not(.logo-container),.sidenav.show img,.sidenav.show .info{display:block!important}.btn-close{width:35px;height:35px;bottom:23px;right:-17px;z-index:999;transition:all .3s ease;background-color:#f8f9fb;box-shadow:0 0 .15rem #616161}.btn-close ion-icon{color:#616161;font-size:16px}@media (max-width: 768px){.btn-close{right:-18px}.btn-close ion-icon{position:absolute;right:9px;bottom:10px}}.nav{padding:12px;color:#616161;transition:all .3s ease}.nav.fw-medium,.nav:hover{background-color:#fef3ee;color:#ed6b26!important}.nav ion-icon{font-size:20px}.nav div{display:none;font-size:16px}@media (max-width: 767px){.sidenav{width:0;z-index:2;position:absolute!important}}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "directive", type: i1.RouterLinkWithHrefDelegate, selector: "a[routerLink],area[routerLink]" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
421
421
  }
422
422
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AppletContainerComponent, decorators: [{
423
423
  type: Component,
@@ -427,7 +427,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
427
427
  IonicModule,
428
428
  RouterModule,
429
429
  CommonModule
430
- ], template: "<div class=\"sidenav flex-shrink-0 h-100 py-4 d-flex flex-column\" [class.collapsed]=\"isCollapsed\" [class.show]=\"isMenuActive\">\n <div class=\"logo-container px-3 pb-3 border-bottom flex-shrink-0 position-relative d-flex align-items-center gap-3 d-none d-md-flex\">\n <img alt=\"Applet Icon\" width=\"44px\" height=\"44px\" class=\"rounded\" [src]=\"config.icon\" />\n\n <div class=\"info w-75 pe-2\">\n <div class=\"name fw-medium text-truncate\">{{ config.name }}</div>\n <div class=\"tenant pt-1 fw-medium\">v{{ config.version }}</div>\n </div>\n\n <button class=\"btn-close cursor-pointer position-absolute border-0 rounded-circle d-none d-md-block\" (click)=\"toggleSidenav()\">\n <ion-icon name=\"chevron-forward\" class=\"mt-1\" />\n </button>\n </div>\n\n <div class=\"flex-grow-1 px-3 pt-3 overflow-y-auto d-none d-md-block\" (click)=\"selectMenu()\">\n <a class=\"nav align-items-center text-decoration-none gap-2 rounded mb-1 {{ isHidden[i]? 'd-none' : 'd-flex' }}\" title=\"{{ c.label }}\" [routerLink]=\"c.path\" routerLinkActive=\"fw-medium\" *ngFor=\"let c of config.containers; let i = index\">\n <ion-icon name=\"{{ c.icon }}\" />\n <div class=\"text-truncate\">{{ c.label }}</div>\n </a>\n </div>\n\n <div class=\"flex-shrink-0 px-3 pt-3 border-top d-none d-md-block\" *ngIf=\"config.enabledSetting\" (click)=\"selectMenu()\">\n <a class=\"nav d-flex align-items-center text-decoration-none gap-2 rounded\" title=\"Setting\" routerLink=\"setting\" routerLinkActive=\"fw-medium\">\n <ion-icon name=\"settings\" />\n <div class=\"text-truncate\">Setting</div>\n </a>\n </div>\n</div>\n\n<div class=\"flex-grow-1 overflow-y-auto\">\n <ng-content />\n</div>\n", styles: [".info{display:none}.name{font-size:16px}.tenant{color:#757575}.sidenav{width:73px;background:#f8f9fb;transition:all .2s ease;border-right:1px solid #D1D1D1}.sidenav.collapsed{width:250px}.sidenav.collapsed .btn-close{transform:rotate(180deg)}.sidenav.collapsed .nav div,.sidenav.collapsed .info{display:block}.sidenav.show{width:250px}.sidenav.show .logo-container{display:flex!important}.sidenav.show div:not(.logo-container),.sidenav.show img,.sidenav.show .info{display:block!important}.btn-close{width:35px;height:35px;bottom:23px;right:-17px;z-index:999;transition:all .3s ease;background-color:#f8f9fb;box-shadow:0 0 .15rem #616161}.btn-close ion-icon{color:#616161;font-size:16px}@media (max-width: 768px){.btn-close{right:-18px}.btn-close ion-icon{position:absolute;right:9px;bottom:10px}}.nav{padding:12px;color:#616161;transition:all .3s ease}.nav.fw-medium,.nav:hover{background-color:#fef3ee;color:#ed6b26!important}.nav ion-icon{font-size:20px}.nav div{display:none;font-size:16px}@media (max-width: 767px){.sidenav{width:0;z-index:2;position:absolute!important}}\n"] }]
430
+ ], template: "<div class=\"sidenav flex-shrink-0 h-100 py-4 d-flex flex-column\" [class.collapsed]=\"isCollapsed\" [class.show]=\"isMenuActive\">\n <div class=\"logo-container px-3 pb-3 border-bottom flex-shrink-0 position-relative d-flex align-items-center gap-3 d-none d-md-flex\">\n <img alt=\"Applet Icon\" width=\"44px\" height=\"44px\" class=\"rounded\" [src]=\"config.icon\" />\n\n <div class=\"info w-75 pe-2\">\n <div class=\"name fw-medium text-truncate\">{{ config.name }}</div>\n <div class=\"tenant pt-1 fw-medium\">v{{ config.version }}</div>\n </div>\n\n <button class=\"btn-close cursor-pointer position-absolute border-0 rounded-circle d-none d-md-block\" (click)=\"toggleSidenav()\">\n <ion-icon name=\"chevron-forward\" class=\"mt-1\" />\n </button>\n </div>\n\n <div class=\"flex-grow-1 px-3 pt-3 overflow-y-auto d-none d-md-block\" (click)=\"selectMenu()\">\n <a class=\"nav align-items-center text-decoration-none gap-2 rounded mb-1 {{ isHidden[i]? 'd-none' : 'd-flex' }}\" title=\"{{ c.label }}\" [routerLink]=\"c.path\" routerLinkActive=\"fw-medium\" *ngFor=\"let c of config.containers; let i = index\">\n <ion-icon name=\"{{ c.icon }}\" />\n <div class=\"text-truncate\">{{ c.label }}</div>\n </a>\n </div>\n\n <div class=\"flex-shrink-0 px-3 pt-3 border-top d-none d-md-block\" *ngIf=\"config.enabledSetting\" (click)=\"selectMenu()\">\n <a class=\"nav d-flex align-items-center text-decoration-none gap-2 rounded\" title=\"Setting\" routerLink=\"setting\" routerLinkActive=\"fw-medium\">\n <ion-icon name=\"settings\" />\n <div class=\"text-truncate\">Setting</div>\n </a>\n </div>\n</div>\n\n<div class=\"flex-grow-1 w-100 overflow-y-auto\">\n <ng-content />\n</div>\n", styles: [".info{display:none}.name{font-size:16px}.tenant{color:#757575}.sidenav{width:73px;background:#f8f9fb;transition:all .2s ease;border-right:1px solid #D1D1D1}.sidenav.collapsed{width:250px}.sidenav.collapsed .btn-close{transform:rotate(180deg)}.sidenav.collapsed .nav div,.sidenav.collapsed .info{display:block}.sidenav.show{width:250px}.sidenav.show .logo-container{display:flex!important}.sidenav.show div:not(.logo-container),.sidenav.show img,.sidenav.show .info{display:block!important}.btn-close{width:35px;height:35px;bottom:23px;right:-17px;z-index:999;transition:all .3s ease;background-color:#f8f9fb;box-shadow:0 0 .15rem #616161}.btn-close ion-icon{color:#616161;font-size:16px}@media (max-width: 768px){.btn-close{right:-18px}.btn-close ion-icon{position:absolute;right:9px;bottom:10px}}.nav{padding:12px;color:#616161;transition:all .3s ease}.nav.fw-medium,.nav:hover{background-color:#fef3ee;color:#ed6b26!important}.nav ion-icon{font-size:20px}.nav div{display:none;font-size:16px}@media (max-width: 767px){.sidenav{width:0;z-index:2;position:absolute!important}}\n"] }]
431
431
  }], ctorParameters: () => [{ type: undefined, decorators: [{
432
432
  type: Inject,
433
433
  args: ['APPLET_CONFIG']
@@ -582,6 +582,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
582
582
  args: ['window:popstate', ['$event']]
583
583
  }] } });
584
584
 
585
+ function formatCapitalize(str, eachWord = false, separator = ' ') {
586
+ if (!str)
587
+ return str;
588
+ if (typeof str === 'string')
589
+ return `${str.at(0).toUpperCase()}${str.substring(1).toLowerCase()}`;
590
+ str[0] = `${str[0].at(0).toUpperCase()}${str[0].substring(1).toLowerCase()}`;
591
+ for (let i = 1; i < str.length; i++) {
592
+ if (!str[i])
593
+ continue;
594
+ if (!eachWord)
595
+ str[i] = str[i].toLowerCase();
596
+ else {
597
+ str[i] = `${str[i].at(0).toUpperCase()}${str[i].substring(1).toLowerCase()}`;
598
+ }
599
+ }
600
+ return str.join(separator);
601
+ }
602
+
585
603
  const errMessage = {
586
604
  email: (label) => `${label} is not a valid email`,
587
605
  required: (label) => `${label} is required`,
@@ -603,6 +621,22 @@ function getFormErrorMessage(err, label) {
603
621
  return errMessage[key](label ?? 'Column', err[key][extraParamKey[key]]);
604
622
  }
605
623
 
624
+ function generateContrastColor(str) {
625
+ if (str.length > 8)
626
+ str = str.substring(0, 8);
627
+ let res = '';
628
+ let total = 0;
629
+ for (let i = 0; i < str.length; i++) {
630
+ const c = str.charCodeAt(i).toString(16);
631
+ res += c;
632
+ total += +c;
633
+ }
634
+ return {
635
+ background: `#${res}`,
636
+ color: total > 187 ? '#000' : '#fff'
637
+ };
638
+ }
639
+
606
640
  class FormDateComponent {
607
641
  constructor(name, placeholder, ch) {
608
642
  this.name = name;
@@ -1080,7 +1114,7 @@ class FormSearchableSelectComponent {
1080
1114
  provide: NG_VALIDATORS,
1081
1115
  useExisting: FormSearchableSelectComponent
1082
1116
  }
1083
- ], usesOnChanges: true, ngImport: i0, template: "<label class=\"form-label d-flex align-items-center\" [class.required]=\"required\">\n <ng-content select=\"[icon]\" />\n <span>{{ label }}</span>\n</label>\n\n<ng-select \n appendTo=\"body\"\n typeToSearchText=\"Please enter 3 or more characters\"\n bindLabel=\"{{ bindLabel }}\"\n bindValue=\"{{ bindValue }}\"\n placeholder=\"{{ placeholder }}\" \n [minTermLength]=\"3\"\n [virtualScroll]=\"true\"\n [editableSearchTerm]=\"true\"\n [ngModel]=\"value\" \n [addTag]=\"addTag\"\n [multiple]=\"multiple\"\n [readonly]=\"disabled\" \n [loading]=\"isLoading\"\n [clearable]=\"clearable\"\n [typeahead]=\"typeahead\"\n [items]=\"items$ | async\"\n (change)=\"change($event);\"\n/>\n<label *ngIf=\"errorMsg\" class=\"is-invalid\">{{ errorMsg }}</label>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i3$2.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1117
+ ], usesOnChanges: true, ngImport: i0, template: "<label class=\"form-label d-flex align-items-center\" [class.required]=\"required\">\n <ng-content select=\"[icon]\" />\n <span>{{ label }}</span>\n</label>\n\n<ng-select \n appendTo=\"body\"\n typeToSearchText=\"Please enter 3 or more characters\"\n bindLabel=\"{{ bindLabel }}\"\n bindValue=\"{{ bindValue }}\"\n placeholder=\"{{ placeholder }}\" \n [minTermLength]=\"3\"\n [virtualScroll]=\"true\"\n [editableSearchTerm]=\"true\"\n [ngModel]=\"value\" \n [addTag]=\"addTag\"\n [multiple]=\"multiple\"\n [readonly]=\"disabled\" \n [loading]=\"isLoading\"\n [clearable]=\"clearable\"\n [typeahead]=\"typeahead\"\n [items]=\"items$ | async\"\n (change)=\"change($event);\"\n/>\n<label *ngIf=\"errorMsg\" class=\"is-invalid\">{{ errorMsg }}</label>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i4.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1084
1118
  }
1085
1119
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: FormSearchableSelectComponent, decorators: [{
1086
1120
  type: Component,
@@ -1189,7 +1223,7 @@ class FormSelectComponent {
1189
1223
  provide: NG_VALIDATORS,
1190
1224
  useExisting: FormSelectComponent
1191
1225
  }
1192
- ], ngImport: i0, template: "<label class=\"form-label d-flex align-items-center\" [class.required]=\"required\">\n <ng-content select=\"[icon]\"/>\n <span>{{ label }}</span>\n</label>\n\n<ng-select\n appendTo=\"body\"\n bindLabel=\"{{ bindLabel }}\"\n bindValue=\"{{ bindValue }}\"\n placeholder=\"{{ placeholder }}\"\n [virtualScroll]=\"true\"\n [items]=\"items\"\n [ngModel]=\"value\"\n [addTag]=\"addTag\"\n [multiple]=\"multiple\"\n [readonly]=\"disabled\"\n [clearable]=\"clearable\"\n [searchable]=\"searchable\"\n (change)=\"change($event);\"\n/>\n<label *ngIf=\"errorMsg\" class=\"is-invalid\">{{ errorMsg }}</label>\n", styles: [".ng-select.ng-select-opened>.ng-select-container{background:#fff}.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}.ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-2px;border-color:transparent transparent #616161;border-width:0 5px 5px}.ng-select.ng-select-disabled>.ng-select-container{background-color:#e9ecef}.ng-select .ng-has-value .ng-placeholder{display:none}.ng-select .ng-select-container{color:#424242;background-color:#fff;border-radius:4px;border:2px solid #e0e0e0;min-height:36px;align-items:center}.ng-select .ng-select-container:hover{box-shadow:0 1px #0000000f}.ng-select .ng-select-container .ng-value-container{align-items:center;padding-left:10px}.ng-select .ng-select-container .ng-value-container .ng-placeholder{color:#a8a8a8}.ng-select.ng-select-single .ng-select-container{height:36px}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{left:0;padding-left:10px;padding-right:50px}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input input{color:#424242}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{background-color:#e9ecef;border:1px solid #fafafa}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:5px;padding-left:7px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{font-size:.9em;margin-bottom:5px;color:#ed6b26;background-color:#fef3ee;border-radius:2px;margin-right:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#e9ecef}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label,.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:1px 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:#fde2d6}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid #fbd1be}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid #fbd1be}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 0 3px 3px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input>input{color:#424242}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-bottom:5px;padding-left:3px}.ng-select .ng-clear-wrapper{color:#adadad}.ng-select .ng-clear-wrapper:hover .ng-clear{color:#ff3b30}.ng-select .ng-spinner-zone{padding:5px 5px 0 0}.ng-select .ng-arrow-wrapper{width:25px;padding-right:5px}.ng-select .ng-arrow-wrapper .ng-arrow{border-color:#616161 transparent transparent;border-style:solid;border-width:5px 5px 2.5px}.ng-dropdown-panel{background-color:#fff;border:2px solid #e0e0e0;box-shadow:0 1px #0000000f;left:0;z-index:20100!important;border-radius:4px}.ng-dropdown-panel.ng-select-top{bottom:100%;margin-bottom:2px}.ng-dropdown-panel.ng-select-bottom{top:100%;margin-top:2px}.ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid #e0e0e0;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid #e0e0e0;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;padding:8px 10px;font-weight:500;color:#0000008a;cursor:pointer}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:#fef3ee}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected.ng-option-marked{color:#0000008a;background-color:#fef3ee;font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{background-color:#fff;color:#000000de;padding:8px 10px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{color:#ed6b26;background-color:#fef3ee}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked .ng-option-label{font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background-color:#fef3ee;color:#424242}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#888}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:22px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{font-size:80%;font-weight:400;padding-right:5px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i3$2.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1226
+ ], ngImport: i0, template: "<label class=\"form-label d-flex align-items-center\" [class.required]=\"required\">\n <ng-content select=\"[icon]\"/>\n <span>{{ label }}</span>\n</label>\n\n<ng-select\n appendTo=\"body\"\n bindLabel=\"{{ bindLabel }}\"\n bindValue=\"{{ bindValue }}\"\n placeholder=\"{{ placeholder }}\"\n [virtualScroll]=\"true\"\n [items]=\"items\"\n [ngModel]=\"value\"\n [addTag]=\"addTag\"\n [multiple]=\"multiple\"\n [readonly]=\"disabled\"\n [clearable]=\"clearable\"\n [searchable]=\"searchable\"\n (change)=\"change($event);\"\n/>\n<label *ngIf=\"errorMsg\" class=\"is-invalid\">{{ errorMsg }}</label>\n", styles: [".ng-select.ng-select-opened>.ng-select-container{background:#fff}.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}.ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-2px;border-color:transparent transparent #616161;border-width:0 5px 5px}.ng-select.ng-select-disabled>.ng-select-container{background-color:#e9ecef}.ng-select .ng-has-value .ng-placeholder{display:none}.ng-select .ng-select-container{color:#424242;background-color:#fff;border-radius:4px;border:2px solid #e0e0e0;min-height:36px;align-items:center}.ng-select .ng-select-container:hover{box-shadow:0 1px #0000000f}.ng-select .ng-select-container .ng-value-container{align-items:center;padding-left:10px}.ng-select .ng-select-container .ng-value-container .ng-placeholder{color:#a8a8a8}.ng-select.ng-select-single .ng-select-container{height:36px}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{left:0;padding-left:10px;padding-right:50px}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input input{color:#424242}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{background-color:#e9ecef;border:1px solid #fafafa}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:5px;padding-left:7px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{font-size:.9em;margin-bottom:5px;color:#ed6b26;background-color:#fef3ee;border-radius:2px;margin-right:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#e9ecef}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label,.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:1px 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:#fde2d6}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid #fbd1be}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid #fbd1be}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 0 3px 3px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input>input{color:#424242}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-bottom:5px;padding-left:3px}.ng-select .ng-clear-wrapper{color:#adadad}.ng-select .ng-clear-wrapper:hover .ng-clear{color:#ff3b30}.ng-select .ng-spinner-zone{padding:5px 5px 0 0}.ng-select .ng-arrow-wrapper{width:25px;padding-right:5px}.ng-select .ng-arrow-wrapper .ng-arrow{border-color:#616161 transparent transparent;border-style:solid;border-width:5px 5px 2.5px}.ng-dropdown-panel{background-color:#fff;border:2px solid #e0e0e0;box-shadow:0 1px #0000000f;left:0;z-index:20100!important;border-radius:4px}.ng-dropdown-panel.ng-select-top{bottom:100%;margin-bottom:2px}.ng-dropdown-panel.ng-select-bottom{top:100%;margin-top:2px}.ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid #e0e0e0;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid #e0e0e0;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;padding:8px 10px;font-weight:500;color:#0000008a;cursor:pointer}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:#fef3ee}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected.ng-option-marked{color:#0000008a;background-color:#fef3ee;font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{background-color:#fff;color:#000000de;padding:8px 10px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{color:#ed6b26;background-color:#fef3ee}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked .ng-option-label{font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background-color:#fef3ee;color:#424242}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#888}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:22px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{font-size:80%;font-weight:400;padding-right:5px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i4.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1193
1227
  }
1194
1228
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: FormSelectComponent, decorators: [{
1195
1229
  type: Component,
@@ -1429,8 +1463,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
1429
1463
  type: Output
1430
1464
  }] } });
1431
1465
 
1466
+ var AggregationTypeEnum;
1467
+ (function (AggregationTypeEnum) {
1468
+ AggregationTypeEnum["CountValue"] = "COUNT_VALUE";
1469
+ AggregationTypeEnum["SumValue"] = "SUM_VALUE";
1470
+ })(AggregationTypeEnum || (AggregationTypeEnum = {}));
1432
1471
  var AlertTypeEnum;
1433
1472
  (function (AlertTypeEnum) {
1473
+ AlertTypeEnum["Fcm"] = "FCM";
1434
1474
  AlertTypeEnum["PasswordReset"] = "PASSWORD_RESET";
1435
1475
  AlertTypeEnum["RequestNeeded"] = "REQUEST_NEEDED";
1436
1476
  })(AlertTypeEnum || (AlertTypeEnum = {}));
@@ -1505,6 +1545,20 @@ var AuditTagEnum;
1505
1545
  AuditTagEnum["ProductMsProductUpdate"] = "PRODUCT_MS_PRODUCT_UPDATE";
1506
1546
  AuditTagEnum["ProductMsProductUpdateProductNotFound"] = "PRODUCT_MS_PRODUCT_UPDATE_PRODUCT_NOT_FOUND";
1507
1547
  })(AuditTagEnum || (AuditTagEnum = {}));
1548
+ var BirthdayTierBonusRuleTypeEnum;
1549
+ (function (BirthdayTierBonusRuleTypeEnum) {
1550
+ BirthdayTierBonusRuleTypeEnum["Fixed"] = "FIXED";
1551
+ })(BirthdayTierBonusRuleTypeEnum || (BirthdayTierBonusRuleTypeEnum = {}));
1552
+ var CacheControlScope;
1553
+ (function (CacheControlScope) {
1554
+ CacheControlScope["Private"] = "PRIVATE";
1555
+ CacheControlScope["Public"] = "PUBLIC";
1556
+ })(CacheControlScope || (CacheControlScope = {}));
1557
+ var CatalogStatus;
1558
+ (function (CatalogStatus) {
1559
+ CatalogStatus["Active"] = "ACTIVE";
1560
+ CatalogStatus["Deleted"] = "DELETED";
1561
+ })(CatalogStatus || (CatalogStatus = {}));
1508
1562
  var CmsPostPublicSortByEnum;
1509
1563
  (function (CmsPostPublicSortByEnum) {
1510
1564
  CmsPostPublicSortByEnum["PublishedAt"] = "publishedAt";
@@ -1525,6 +1579,28 @@ var ContentOption;
1525
1579
  ContentOption["LiveThumbnail"] = "LIVE_THUMBNAIL";
1526
1580
  ContentOption["VideoThumbnail"] = "VIDEO_THUMBNAIL";
1527
1581
  })(ContentOption || (ContentOption = {}));
1582
+ var CredentialStatus;
1583
+ (function (CredentialStatus) {
1584
+ CredentialStatus["Active"] = "ACTIVE";
1585
+ CredentialStatus["Deleted"] = "DELETED";
1586
+ })(CredentialStatus || (CredentialStatus = {}));
1587
+ var CredentialType;
1588
+ (function (CredentialType) {
1589
+ CredentialType["Secret"] = "SECRET";
1590
+ CredentialType["Variable"] = "VARIABLE";
1591
+ })(CredentialType || (CredentialType = {}));
1592
+ var DocumentRequestSignStatus;
1593
+ (function (DocumentRequestSignStatus) {
1594
+ DocumentRequestSignStatus["Approved"] = "APPROVED";
1595
+ DocumentRequestSignStatus["Pending"] = "PENDING";
1596
+ DocumentRequestSignStatus["Rejected"] = "REJECTED";
1597
+ })(DocumentRequestSignStatus || (DocumentRequestSignStatus = {}));
1598
+ var DocumentRequestStatus;
1599
+ (function (DocumentRequestStatus) {
1600
+ DocumentRequestStatus["Approved"] = "APPROVED";
1601
+ DocumentRequestStatus["Pending"] = "PENDING";
1602
+ DocumentRequestStatus["Rejected"] = "REJECTED";
1603
+ })(DocumentRequestStatus || (DocumentRequestStatus = {}));
1528
1604
  var ErrorDetail;
1529
1605
  (function (ErrorDetail) {
1530
1606
  ErrorDetail["DeadlineExceeded"] = "DEADLINE_EXCEEDED";
@@ -1551,11 +1627,85 @@ var ErrorType;
1551
1627
  ErrorType["Unavailable"] = "UNAVAILABLE";
1552
1628
  ErrorType["Unknown"] = "UNKNOWN";
1553
1629
  })(ErrorType || (ErrorType = {}));
1630
+ var EstDeliveryTimeUnit;
1631
+ (function (EstDeliveryTimeUnit) {
1632
+ EstDeliveryTimeUnit["Day"] = "DAY";
1633
+ EstDeliveryTimeUnit["Month"] = "MONTH";
1634
+ EstDeliveryTimeUnit["Week"] = "WEEK";
1635
+ EstDeliveryTimeUnit["Workday"] = "WORKDAY";
1636
+ })(EstDeliveryTimeUnit || (EstDeliveryTimeUnit = {}));
1637
+ var EvaluationUnitEnum;
1638
+ (function (EvaluationUnitEnum) {
1639
+ EvaluationUnitEnum["Day"] = "DAY";
1640
+ EvaluationUnitEnum["Month"] = "MONTH";
1641
+ EvaluationUnitEnum["Year"] = "YEAR";
1642
+ })(EvaluationUnitEnum || (EvaluationUnitEnum = {}));
1643
+ var EventBonusType;
1644
+ (function (EventBonusType) {
1645
+ EventBonusType["FixAmount"] = "FIX_AMOUNT";
1646
+ EventBonusType["Percentage"] = "PERCENTAGE";
1647
+ EventBonusType["SpecialPrice"] = "SPECIAL_PRICE";
1648
+ })(EventBonusType || (EventBonusType = {}));
1649
+ var EventQuotaType;
1650
+ (function (EventQuotaType) {
1651
+ EventQuotaType["ByAmount"] = "BY_AMOUNT";
1652
+ EventQuotaType["Daily"] = "DAILY";
1653
+ EventQuotaType["Monthly"] = "MONTHLY";
1654
+ })(EventQuotaType || (EventQuotaType = {}));
1655
+ var EventType;
1656
+ (function (EventType) {
1657
+ EventType["Created"] = "CREATED";
1658
+ EventType["Update"] = "UPDATE";
1659
+ })(EventType || (EventType = {}));
1554
1660
  var Gender;
1555
1661
  (function (Gender) {
1556
1662
  Gender["Female"] = "FEMALE";
1557
1663
  Gender["Male"] = "MALE";
1558
1664
  })(Gender || (Gender = {}));
1665
+ var InternalRefundStatusEnum;
1666
+ (function (InternalRefundStatusEnum) {
1667
+ InternalRefundStatusEnum["Done"] = "DONE";
1668
+ InternalRefundStatusEnum["Pending"] = "PENDING";
1669
+ InternalRefundStatusEnum["ProcessedByMaker"] = "PROCESSED_BY_MAKER";
1670
+ InternalRefundStatusEnum["Processing"] = "PROCESSING";
1671
+ })(InternalRefundStatusEnum || (InternalRefundStatusEnum = {}));
1672
+ var InternalStatus;
1673
+ (function (InternalStatus) {
1674
+ InternalStatus["Completed"] = "COMPLETED";
1675
+ InternalStatus["Fail"] = "FAIL";
1676
+ InternalStatus["PendingApproval"] = "PENDING_APPROVAL";
1677
+ InternalStatus["Processing"] = "PROCESSING";
1678
+ InternalStatus["Rejected"] = "REJECTED";
1679
+ InternalStatus["Todo"] = "TODO";
1680
+ })(InternalStatus || (InternalStatus = {}));
1681
+ var MainAction;
1682
+ (function (MainAction) {
1683
+ MainAction["GoToChannelSelectionPage"] = "GO_TO_CHANNEL_SELECTION_PAGE";
1684
+ MainAction["GoToDenomSelectionPage"] = "GO_TO_DENOM_SELECTION_PAGE";
1685
+ MainAction["GoToFillPaymentRequiredFieldPage"] = "GO_TO_FILL_PAYMENT_REQUIRED_FIELD_PAGE";
1686
+ MainAction["GoToPciInitiationPage"] = "GO_TO_PCI_INITIATION_PAGE";
1687
+ })(MainAction || (MainAction = {}));
1688
+ var MemberBanType;
1689
+ (function (MemberBanType) {
1690
+ MemberBanType["Ban"] = "BAN";
1691
+ MemberBanType["Unban"] = "UNBAN";
1692
+ })(MemberBanType || (MemberBanType = {}));
1693
+ var MemberPointMutationTypeEnum;
1694
+ (function (MemberPointMutationTypeEnum) {
1695
+ MemberPointMutationTypeEnum["Adjustment"] = "ADJUSTMENT";
1696
+ MemberPointMutationTypeEnum["Bonus"] = "BONUS";
1697
+ MemberPointMutationTypeEnum["Rewarded"] = "REWARDED";
1698
+ MemberPointMutationTypeEnum["Spent"] = "SPENT";
1699
+ })(MemberPointMutationTypeEnum || (MemberPointMutationTypeEnum = {}));
1700
+ var MemberPointTypeEnum;
1701
+ (function (MemberPointTypeEnum) {
1702
+ MemberPointTypeEnum["Adjustment"] = "ADJUSTMENT";
1703
+ MemberPointTypeEnum["Rewarded"] = "REWARDED";
1704
+ })(MemberPointTypeEnum || (MemberPointTypeEnum = {}));
1705
+ var NotifAlertSortByEnum;
1706
+ (function (NotifAlertSortByEnum) {
1707
+ NotifAlertSortByEnum["CreatedAt"] = "createdAt";
1708
+ })(NotifAlertSortByEnum || (NotifAlertSortByEnum = {}));
1559
1709
  var NotifAlertStatusEnum;
1560
1710
  (function (NotifAlertStatusEnum) {
1561
1711
  NotifAlertStatusEnum["Danger"] = "DANGER";
@@ -1563,6 +1713,10 @@ var NotifAlertStatusEnum;
1563
1713
  NotifAlertStatusEnum["Success"] = "SUCCESS";
1564
1714
  NotifAlertStatusEnum["Warning"] = "WARNING";
1565
1715
  })(NotifAlertStatusEnum || (NotifAlertStatusEnum = {}));
1716
+ var PgwTimeseriesKeys;
1717
+ (function (PgwTimeseriesKeys) {
1718
+ PgwTimeseriesKeys["TransactionTs"] = "TRANSACTION_TS";
1719
+ })(PgwTimeseriesKeys || (PgwTimeseriesKeys = {}));
1566
1720
  var PaymentChannelMetaFieldApiEnum;
1567
1721
  (function (PaymentChannelMetaFieldApiEnum) {
1568
1722
  PaymentChannelMetaFieldApiEnum["Callback"] = "CALLBACK";
@@ -1570,6 +1724,34 @@ var PaymentChannelMetaFieldApiEnum;
1570
1724
  PaymentChannelMetaFieldApiEnum["Inquiry"] = "INQUIRY";
1571
1725
  PaymentChannelMetaFieldApiEnum["Otp"] = "OTP";
1572
1726
  })(PaymentChannelMetaFieldApiEnum || (PaymentChannelMetaFieldApiEnum = {}));
1727
+ var PaymentChannelTargetType;
1728
+ (function (PaymentChannelTargetType) {
1729
+ PaymentChannelTargetType["Exclude"] = "EXCLUDE";
1730
+ PaymentChannelTargetType["Include"] = "INCLUDE";
1731
+ })(PaymentChannelTargetType || (PaymentChannelTargetType = {}));
1732
+ var PaymentTxnResponseStatusEnum;
1733
+ (function (PaymentTxnResponseStatusEnum) {
1734
+ PaymentTxnResponseStatusEnum["CanceledByCustomer"] = "CANCELED_BY_CUSTOMER";
1735
+ PaymentTxnResponseStatusEnum["CanceledByInternal"] = "CANCELED_BY_INTERNAL";
1736
+ PaymentTxnResponseStatusEnum["CanceledByPc"] = "CANCELED_BY_PC";
1737
+ PaymentTxnResponseStatusEnum["CanceledByTester"] = "CANCELED_BY_TESTER";
1738
+ PaymentTxnResponseStatusEnum["Expired"] = "EXPIRED";
1739
+ PaymentTxnResponseStatusEnum["Fail"] = "FAIL";
1740
+ PaymentTxnResponseStatusEnum["PayerActionRequired"] = "PAYER_ACTION_REQUIRED";
1741
+ PaymentTxnResponseStatusEnum["Pending"] = "PENDING";
1742
+ PaymentTxnResponseStatusEnum["PendingRefund"] = "PENDING_REFUND";
1743
+ PaymentTxnResponseStatusEnum["Processing"] = "PROCESSING";
1744
+ PaymentTxnResponseStatusEnum["ProcessingRefund"] = "PROCESSING_REFUND";
1745
+ PaymentTxnResponseStatusEnum["RejectedByProvider"] = "REJECTED_BY_PROVIDER";
1746
+ PaymentTxnResponseStatusEnum["RejectedRefund"] = "REJECTED_REFUND";
1747
+ PaymentTxnResponseStatusEnum["Success"] = "SUCCESS";
1748
+ PaymentTxnResponseStatusEnum["SuccessRefund"] = "SUCCESS_REFUND";
1749
+ })(PaymentTxnResponseStatusEnum || (PaymentTxnResponseStatusEnum = {}));
1750
+ var PlatformEnum;
1751
+ (function (PlatformEnum) {
1752
+ PlatformEnum["DirectTopUp"] = "DIRECT_TOP_UP";
1753
+ PlatformEnum["Webtopup"] = "WEBTOPUP";
1754
+ })(PlatformEnum || (PlatformEnum = {}));
1573
1755
  var PostStatus;
1574
1756
  (function (PostStatus) {
1575
1757
  PostStatus["Draft"] = "DRAFT";
@@ -1589,6 +1771,11 @@ var PrincipalStatus;
1589
1771
  PrincipalStatus["UserConfirmed"] = "USER_CONFIRMED";
1590
1772
  PrincipalStatus["UserUnconfirmed"] = "USER_UNCONFIRMED";
1591
1773
  })(PrincipalStatus || (PrincipalStatus = {}));
1774
+ var ProductDenomStatusEnum;
1775
+ (function (ProductDenomStatusEnum) {
1776
+ ProductDenomStatusEnum["Active"] = "ACTIVE";
1777
+ ProductDenomStatusEnum["Deleted"] = "DELETED";
1778
+ })(ProductDenomStatusEnum || (ProductDenomStatusEnum = {}));
1592
1779
  var ProductPageCategory;
1593
1780
  (function (ProductPageCategory) {
1594
1781
  ProductPageCategory["Voucher"] = "VOUCHER";
@@ -1601,6 +1788,13 @@ var ProductPageMetaFieldApiEnum;
1601
1788
  ProductPageMetaFieldApiEnum["Inquiry"] = "INQUIRY";
1602
1789
  ProductPageMetaFieldApiEnum["Server"] = "SERVER";
1603
1790
  })(ProductPageMetaFieldApiEnum || (ProductPageMetaFieldApiEnum = {}));
1791
+ var ProductPageReloadTypeEnum;
1792
+ (function (ProductPageReloadTypeEnum) {
1793
+ ProductPageReloadTypeEnum["Game"] = "GAME";
1794
+ ProductPageReloadTypeEnum["Na"] = "NA";
1795
+ ProductPageReloadTypeEnum["Uc"] = "UC";
1796
+ ProductPageReloadTypeEnum["Up"] = "UP";
1797
+ })(ProductPageReloadTypeEnum || (ProductPageReloadTypeEnum = {}));
1604
1798
  var ProductPageSortByEnum;
1605
1799
  (function (ProductPageSortByEnum) {
1606
1800
  ProductPageSortByEnum["CreatedAt"] = "createdAt";
@@ -1616,6 +1810,14 @@ var ProviderPlatform;
1616
1810
  ProviderPlatform["Facebook"] = "FACEBOOK";
1617
1811
  ProviderPlatform["Google"] = "GOOGLE";
1618
1812
  })(ProviderPlatform || (ProviderPlatform = {}));
1813
+ var RangeIntervalEnum;
1814
+ (function (RangeIntervalEnum) {
1815
+ RangeIntervalEnum["OneDay"] = "ONE_DAY";
1816
+ RangeIntervalEnum["OneHour"] = "ONE_HOUR";
1817
+ RangeIntervalEnum["OneMonth"] = "ONE_MONTH";
1818
+ RangeIntervalEnum["OneWeek"] = "ONE_WEEK";
1819
+ RangeIntervalEnum["TwelveHour"] = "TWELVE_HOUR";
1820
+ })(RangeIntervalEnum || (RangeIntervalEnum = {}));
1619
1821
  var RateLogic;
1620
1822
  (function (RateLogic) {
1621
1823
  RateLogic["Fixed"] = "FIXED";
@@ -1626,6 +1828,12 @@ var ReactionType;
1626
1828
  ReactionType["Heart"] = "HEART";
1627
1829
  ReactionType["Like"] = "LIKE";
1628
1830
  })(ReactionType || (ReactionType = {}));
1831
+ var RefundStatusEnum;
1832
+ (function (RefundStatusEnum) {
1833
+ RefundStatusEnum["PendingRefund"] = "PENDING_REFUND";
1834
+ RefundStatusEnum["RejectedRefund"] = "REJECTED_REFUND";
1835
+ RefundStatusEnum["SuccessRefund"] = "SUCCESS_REFUND";
1836
+ })(RefundStatusEnum || (RefundStatusEnum = {}));
1629
1837
  var RegistrationStatus;
1630
1838
  (function (RegistrationStatus) {
1631
1839
  RegistrationStatus["ConfirmationSuccess"] = "CONFIRMATION_SUCCESS";
@@ -1645,6 +1853,12 @@ var RequiredFieldTypeEnum;
1645
1853
  RequiredFieldTypeEnum["Dropdown"] = "DROPDOWN";
1646
1854
  RequiredFieldTypeEnum["Text"] = "TEXT";
1647
1855
  })(RequiredFieldTypeEnum || (RequiredFieldTypeEnum = {}));
1856
+ var SlaUnit;
1857
+ (function (SlaUnit) {
1858
+ SlaUnit["Day"] = "DAY";
1859
+ SlaUnit["Month"] = "MONTH";
1860
+ SlaUnit["Week"] = "WEEK";
1861
+ })(SlaUnit || (SlaUnit = {}));
1648
1862
  var SourcePlatform;
1649
1863
  (function (SourcePlatform) {
1650
1864
  SourcePlatform["Admin"] = "ADMIN";
@@ -1664,11 +1878,61 @@ var SuggestedAction;
1664
1878
  SuggestedAction["ChangePassword"] = "CHANGE_PASSWORD";
1665
1879
  SuggestedAction["Default"] = "DEFAULT";
1666
1880
  })(SuggestedAction || (SuggestedAction = {}));
1881
+ var TableNameIntervalEnum;
1882
+ (function (TableNameIntervalEnum) {
1883
+ TableNameIntervalEnum["Monthly"] = "MONTHLY";
1884
+ TableNameIntervalEnum["Yearly"] = "YEARLY";
1885
+ })(TableNameIntervalEnum || (TableNameIntervalEnum = {}));
1667
1886
  var TermType;
1668
1887
  (function (TermType) {
1669
1888
  TermType["Category"] = "CATEGORY";
1670
1889
  TermType["PostTag"] = "POST_TAG";
1671
1890
  })(TermType || (TermType = {}));
1891
+ var TierBonusRuleBaseValueEnum;
1892
+ (function (TierBonusRuleBaseValueEnum) {
1893
+ TierBonusRuleBaseValueEnum["BaseAmount"] = "BASE_AMOUNT";
1894
+ TierBonusRuleBaseValueEnum["PrevAmount"] = "PREV_AMOUNT";
1895
+ })(TierBonusRuleBaseValueEnum || (TierBonusRuleBaseValueEnum = {}));
1896
+ var TierBonusRuleStatusEnum;
1897
+ (function (TierBonusRuleStatusEnum) {
1898
+ TierBonusRuleStatusEnum["Active"] = "ACTIVE";
1899
+ TierBonusRuleStatusEnum["Deleted"] = "DELETED";
1900
+ })(TierBonusRuleStatusEnum || (TierBonusRuleStatusEnum = {}));
1901
+ var TierBonusRuleTypeEnum;
1902
+ (function (TierBonusRuleTypeEnum) {
1903
+ TierBonusRuleTypeEnum["Fixed"] = "FIXED";
1904
+ TierBonusRuleTypeEnum["Percentage"] = "PERCENTAGE";
1905
+ })(TierBonusRuleTypeEnum || (TierBonusRuleTypeEnum = {}));
1906
+ var TierStatus;
1907
+ (function (TierStatus) {
1908
+ TierStatus["Active"] = "ACTIVE";
1909
+ TierStatus["Deleted"] = "DELETED";
1910
+ })(TierStatus || (TierStatus = {}));
1911
+ var TimeserieLabels;
1912
+ (function (TimeserieLabels) {
1913
+ TimeserieLabels["CountryId"] = "countryId";
1914
+ TimeserieLabels["CurrencyCode"] = "currencyCode";
1915
+ TimeserieLabels["Gender"] = "gender";
1916
+ TimeserieLabels["Type"] = "type";
1917
+ })(TimeserieLabels || (TimeserieLabels = {}));
1918
+ var TimeseriesKeys;
1919
+ (function (TimeseriesKeys) {
1920
+ TimeseriesKeys["MemberGrowthTs"] = "MEMBER_GROWTH_TS";
1921
+ TimeseriesKeys["MemberPointEarnedTs"] = "MEMBER_POINT_EARNED_TS";
1922
+ TimeseriesKeys["RedeemPointTs"] = "REDEEM_POINT_TS";
1923
+ })(TimeseriesKeys || (TimeseriesKeys = {}));
1924
+ var TrailStatus;
1925
+ (function (TrailStatus) {
1926
+ TrailStatus["Fail"] = "FAIL";
1927
+ TrailStatus["Pending"] = "PENDING";
1928
+ TrailStatus["Processing"] = "PROCESSING";
1929
+ TrailStatus["Success"] = "SUCCESS";
1930
+ })(TrailStatus || (TrailStatus = {}));
1931
+ var TransactionRefundSortByEnum;
1932
+ (function (TransactionRefundSortByEnum) {
1933
+ TransactionRefundSortByEnum["CreatedAt"] = "createdAt";
1934
+ TransactionRefundSortByEnum["UpdatedAt"] = "updatedAt";
1935
+ })(TransactionRefundSortByEnum || (TransactionRefundSortByEnum = {}));
1672
1936
  var UniboxV2RequestType;
1673
1937
  (function (UniboxV2RequestType) {
1674
1938
  UniboxV2RequestType["MobileGame"] = "MOBILE_GAME";
@@ -1689,6 +1953,21 @@ var VoucherGroupType;
1689
1953
  VoucherGroupType["Generated"] = "GENERATED";
1690
1954
  VoucherGroupType["Import"] = "IMPORT";
1691
1955
  })(VoucherGroupType || (VoucherGroupType = {}));
1956
+ var VoucherStatus;
1957
+ (function (VoucherStatus) {
1958
+ VoucherStatus["Available"] = "AVAILABLE";
1959
+ VoucherStatus["Bought"] = "BOUGHT";
1960
+ VoucherStatus["Redeem"] = "REDEEM";
1961
+ VoucherStatus["Used"] = "USED";
1962
+ VoucherStatus["Void"] = "VOID";
1963
+ })(VoucherStatus || (VoucherStatus = {}));
1964
+ var WebtopupTxnReloadTypeEnum;
1965
+ (function (WebtopupTxnReloadTypeEnum) {
1966
+ WebtopupTxnReloadTypeEnum["Game"] = "GAME";
1967
+ WebtopupTxnReloadTypeEnum["Na"] = "NA";
1968
+ WebtopupTxnReloadTypeEnum["Uc"] = "UC";
1969
+ WebtopupTxnReloadTypeEnum["Up"] = "UP";
1970
+ })(WebtopupTxnReloadTypeEnum || (WebtopupTxnReloadTypeEnum = {}));
1692
1971
 
1693
1972
  class ProfileService {
1694
1973
  constructor(apollo) {
@@ -1962,39 +2241,55 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
1962
2241
  }], ctorParameters: () => [{ type: i1$1.Apollo }] });
1963
2242
 
1964
2243
  class FormCurrencyInputComponent {
1965
- constructor(numberPlaceholder, ch, currencyService) {
2244
+ constructor(numberPlaceholder, ch, countryService, currencyService) {
1966
2245
  this.numberPlaceholder = numberPlaceholder;
1967
2246
  this.ch = ch;
2247
+ this.countryService = countryService;
1968
2248
  this.currencyService = currencyService;
1969
2249
  this.clearable = true;
1970
2250
  this.isInputNumber = false;
1971
2251
  this.label = 'Currency';
1972
- this.initialItems = [];
1973
2252
  this.numberValue = null;
1974
2253
  this.isNumberDisabled = false;
1975
2254
  this.required = false;
1976
2255
  this.disabled = false;
1977
- this.bindLabel = 'label';
1978
- this.bindValue = 'value';
1979
2256
  this.onChange = new EventEmitter();
1980
- this.typeahead = new Subject();
1981
- this.query$ = this.typeahead.pipe(distinctUntilChanged(), debounceTime(300), tap(() => this.isLoading = true), switchMap((k) => this.queryFunc(k).pipe(map((result) => result.length === 0 ? this.initialItems : result), catchError(() => of(this.initialItems)))), tap(() => this.isLoading = false));
1982
- this.items$ = this.query$;
1983
- this.isLoading = false;
2257
+ this.items = [{ label: 'Hello', value: 'c', data: 'a' }];
2258
+ this.isLoading = true;
1984
2259
  this.isTouched = false;
1985
2260
  this.value = null;
1986
2261
  this.decimalLimiter = 0;
1987
2262
  this.changed = (_val) => { };
1988
2263
  this.onTouched = () => { };
1989
2264
  }
1990
- ngOnChanges(changes) {
1991
- if (changes['initialItems']) {
1992
- this.items$ = concat(of(this.initialItems), this.query$);
1993
- this.decimalLimiter = this.initialItems[0]?.magnifyValue === 1 ? 0 : Math.floor(Math.log10(this.initialItems[0]?.magnifyValue ?? 1));
1994
- this.numberValue = this.numberValue / this.initialItems[0]?.magnifyValue;
2265
+ ngOnInit() {
2266
+ if (this.label === 'Currency') {
2267
+ this.sub = this.currencyService.query().subscribe({
2268
+ error: () => {
2269
+ this.items = [];
2270
+ this.setIsLoading(false);
2271
+ },
2272
+ next: ({ data: { webConfigMsCurrency: { data } } }) => {
2273
+ this.items = data.map((d) => ({ label: `[${d.code}] ${d.name}`, value: d.code, data: d }));
2274
+ this.setIsLoading(false);
2275
+ }
2276
+ });
2277
+ return;
1995
2278
  }
1996
- if (this.isInputNumber)
1997
- this.bindLabel = 'value';
2279
+ this.isInputNumber = false;
2280
+ this.sub = this.countryService.query().subscribe({
2281
+ error: () => {
2282
+ this.items = [];
2283
+ this.setIsLoading(false);
2284
+ },
2285
+ next: ({ data: { webConfigMsCountry: { data } } }) => {
2286
+ this.items = data.map((d) => ({ label: `${d.name}`, value: d.code, data: d }));
2287
+ this.setIsLoading(false);
2288
+ }
2289
+ });
2290
+ }
2291
+ ngOnDestroy() {
2292
+ this.sub?.unsubscribe();
1998
2293
  }
1999
2294
  registerOnChange(fn) { this.changed = fn; }
2000
2295
  registerOnTouched(fn) { this.onTouched = fn; }
@@ -2013,19 +2308,16 @@ class FormCurrencyInputComponent {
2013
2308
  change(e) {
2014
2309
  if (this.isInputNumber)
2015
2310
  this.numberValue = null;
2016
- this.onChange.emit({ ccy: e, number: this.numberValue });
2017
- this.initialItems = e;
2018
2311
  if (!this.isTouched) {
2019
2312
  this.onTouched();
2020
2313
  this.isTouched = true;
2021
2314
  }
2022
2315
  if (!this.disabled) {
2023
- if (!e)
2024
- this.value = null;
2025
- else
2026
- this.value = e[this.bindValue];
2316
+ this.value = e?.value;
2317
+ this.selectedItem = e?.data;
2027
2318
  this.changed(this.value);
2028
- this.errorMsg = getFormErrorMessage(this.formControl.errors, 'Currency');
2319
+ this.onChange.emit({ selectedItem: e, number: this.numberValue });
2320
+ this.errorMsg = getFormErrorMessage(this.formControl.errors, this.label);
2029
2321
  }
2030
2322
  if (e?.magnifyValue === 1)
2031
2323
  this.decimalLimiter = 0;
@@ -2034,19 +2326,19 @@ class FormCurrencyInputComponent {
2034
2326
  }
2035
2327
  numberInput({ value }) {
2036
2328
  this.numberValue = value;
2037
- this.onChange.emit({ ccy: this.initialItems, number: value });
2329
+ this.onChange.emit({ selectedItem: this.selectedItem, number: value });
2038
2330
  }
2039
2331
  limitDecimal({ charCode, preventDefault, target: { value } }) {
2040
2332
  const reg = this.decimalLimiter > 0 ? new RegExp(`^\\d*(\\.\\d{0,${this.decimalLimiter}})?$`) : /^\d+$/;
2041
2333
  if (!reg.test(value + String.fromCharCode(charCode)))
2042
2334
  preventDefault();
2043
2335
  }
2044
- queryFunc(keyword) {
2045
- return this.currencyService.query(keyword).pipe(map(({ data: { webConfigMsCurrency: { data } } }) => data.map(({ code, name, magnifyValue }) => ({ label: `[${code}] ${name}`, value: code, magnifyValue }))));
2336
+ setIsLoading(b) {
2337
+ this.isLoading = b;
2338
+ this.ch.markForCheck();
2046
2339
  }
2047
- ;
2048
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: FormCurrencyInputComponent, deps: [{ token: 'numberPlaceholder', attribute: true }, { token: i0.ChangeDetectorRef }, { token: CurrencyService }], target: i0.ɵɵFactoryTarget.Component }); }
2049
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: FormCurrencyInputComponent, isStandalone: true, selector: "up-currency-input", inputs: { clearable: "clearable", isInputNumber: "isInputNumber", label: "label", initialItems: "initialItems", numberValue: "numberValue", isNumberDisabled: "isNumberDisabled", required: "required", disabled: "disabled", bindLabel: "bindLabel", bindValue: "bindValue" }, outputs: { onChange: "onChange" }, host: { classAttribute: "d-block" }, providers: [
2340
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: FormCurrencyInputComponent, deps: [{ token: 'numberPlaceholder', attribute: true }, { token: i0.ChangeDetectorRef }, { token: CountryService }, { token: CurrencyService }], target: i0.ɵɵFactoryTarget.Component }); }
2341
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: FormCurrencyInputComponent, isStandalone: true, selector: "up-currency-input", inputs: { clearable: "clearable", isInputNumber: "isInputNumber", label: "label", numberValue: "numberValue", isNumberDisabled: "isNumberDisabled", required: "required", disabled: "disabled" }, outputs: { onChange: "onChange" }, host: { classAttribute: "d-block" }, providers: [
2050
2342
  {
2051
2343
  multi: true,
2052
2344
  provide: NG_VALUE_ACCESSOR,
@@ -2057,7 +2349,7 @@ class FormCurrencyInputComponent {
2057
2349
  provide: NG_VALIDATORS,
2058
2350
  useExisting: FormCurrencyInputComponent
2059
2351
  }
2060
- ], usesOnChanges: true, ngImport: i0, template: "<label class=\"form-label\" [class.required]=\"required\">{{ label }}</label>\n\n<ng-template #selectForm>\n <ng-select \n class=\"flex-shrink-0\"\n [class.number]=\"isInputNumber\"\n appendTo=\"body\"\n typeToSearchText=\"Please enter 3 or more characters\"\n placeholder=\"{{ label }}\"\n [bindLabel]=\"bindLabel\"\n [bindValue]=\"bindValue\"\n [minTermLength]=\"3\"\n [virtualScroll]=\"true\"\n [editableSearchTerm]=\"true\"\n [ngModel]=\"value\"\n [readonly]=\"disabled\" \n [loading]=\"isLoading\"\n [clearable]=\"clearable\"\n [typeahead]=\"typeahead\"\n [items]=\"items$ | async\"\n (change)=\"change($event);\"\n >\n <ng-template ng-option-tmp let-i=\"item\">\n <span>{{ isInputNumber? i.value : i.label }}</span>\n </ng-template>\n </ng-select>\n</ng-template>\n\n<ng-template #inputNumber>\n <div class=\"d-flex justify-content-between gap-1 align-items-center\">\n <ng-container *ngTemplateOutlet=\"selectForm\" />\n\n <input type=\"number\" [placeholder]=\"numberPlaceholder\" class=\"form-control flex-grow-1\" [disabled]=\"isNumberDisabled\" [value]=\"numberValue\" (keypress)=\"limitDecimal($event)\" (input)=\"numberInput($event.target)\">\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"!isInputNumber else inputNumber\">\n <ng-container *ngTemplateOutlet=\"selectForm\" />\n</ng-container>\n\n<label *ngIf=\"errorMsg\" class=\"is-invalid\">{{ errorMsg }}</label>\n", styles: ["ng-select.number{min-width:105px;max-width:105px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i3$2.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3$2.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2352
+ ], ngImport: i0, template: "<label class=\"form-label\" [class.required]=\"required\">{{ label }}</label>\n\n<ng-template #selectForm>\n <ng-select \n class=\"flex-shrink-0\"\n [class.number]=\"isInputNumber\"\n appendTo=\"body\"\n bindValue=\"value\"\n placeholder=\"{{ label }}\"\n [virtualScroll]=\"true\"\n [items]=\"items\"\n [ngModel]=\"value\"\n [readonly]=\"disabled\" \n [loading]=\"isLoading\"\n [clearable]=\"clearable\"\n (change)=\"change($event);\"\n >\n <ng-template ng-option-tmp let-i=\"item\">\n <span>{{ isInputNumber? i.value : i.label }}</span>\n </ng-template>\n\n <ng-template ng-label-tmp let-i=\"item\">\n <span>{{ isInputNumber? i.value : i.label }}</span>\n </ng-template>\n </ng-select>\n</ng-template>\n\n<ng-template #inputNumber>\n <div class=\"d-flex justify-content-between gap-1 align-items-center\">\n <ng-container *ngTemplateOutlet=\"selectForm\" />\n\n <input type=\"number\" [placeholder]=\"numberPlaceholder\" class=\"form-control flex-grow-1\" [disabled]=\"isNumberDisabled\" [value]=\"numberValue\" (keypress)=\"limitDecimal($event)\" (input)=\"numberInput($event.target)\">\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"!isInputNumber else inputNumber\">\n <ng-container *ngTemplateOutlet=\"selectForm\" />\n</ng-container>\n\n<label *ngIf=\"errorMsg\" class=\"is-invalid\">{{ errorMsg }}</label>\n", styles: ["ng-select.number{min-width:105px;max-width:105px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i4.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i4.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i4.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2061
2353
  }
2062
2354
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: FormCurrencyInputComponent, decorators: [{
2063
2355
  type: Component,
@@ -2078,18 +2370,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
2078
2370
  provide: NG_VALIDATORS,
2079
2371
  useExisting: FormCurrencyInputComponent
2080
2372
  }
2081
- ], template: "<label class=\"form-label\" [class.required]=\"required\">{{ label }}</label>\n\n<ng-template #selectForm>\n <ng-select \n class=\"flex-shrink-0\"\n [class.number]=\"isInputNumber\"\n appendTo=\"body\"\n typeToSearchText=\"Please enter 3 or more characters\"\n placeholder=\"{{ label }}\"\n [bindLabel]=\"bindLabel\"\n [bindValue]=\"bindValue\"\n [minTermLength]=\"3\"\n [virtualScroll]=\"true\"\n [editableSearchTerm]=\"true\"\n [ngModel]=\"value\"\n [readonly]=\"disabled\" \n [loading]=\"isLoading\"\n [clearable]=\"clearable\"\n [typeahead]=\"typeahead\"\n [items]=\"items$ | async\"\n (change)=\"change($event);\"\n >\n <ng-template ng-option-tmp let-i=\"item\">\n <span>{{ isInputNumber? i.value : i.label }}</span>\n </ng-template>\n </ng-select>\n</ng-template>\n\n<ng-template #inputNumber>\n <div class=\"d-flex justify-content-between gap-1 align-items-center\">\n <ng-container *ngTemplateOutlet=\"selectForm\" />\n\n <input type=\"number\" [placeholder]=\"numberPlaceholder\" class=\"form-control flex-grow-1\" [disabled]=\"isNumberDisabled\" [value]=\"numberValue\" (keypress)=\"limitDecimal($event)\" (input)=\"numberInput($event.target)\">\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"!isInputNumber else inputNumber\">\n <ng-container *ngTemplateOutlet=\"selectForm\" />\n</ng-container>\n\n<label *ngIf=\"errorMsg\" class=\"is-invalid\">{{ errorMsg }}</label>\n", styles: ["ng-select.number{min-width:105px;max-width:105px}\n"] }]
2373
+ ], template: "<label class=\"form-label\" [class.required]=\"required\">{{ label }}</label>\n\n<ng-template #selectForm>\n <ng-select \n class=\"flex-shrink-0\"\n [class.number]=\"isInputNumber\"\n appendTo=\"body\"\n bindValue=\"value\"\n placeholder=\"{{ label }}\"\n [virtualScroll]=\"true\"\n [items]=\"items\"\n [ngModel]=\"value\"\n [readonly]=\"disabled\" \n [loading]=\"isLoading\"\n [clearable]=\"clearable\"\n (change)=\"change($event);\"\n >\n <ng-template ng-option-tmp let-i=\"item\">\n <span>{{ isInputNumber? i.value : i.label }}</span>\n </ng-template>\n\n <ng-template ng-label-tmp let-i=\"item\">\n <span>{{ isInputNumber? i.value : i.label }}</span>\n </ng-template>\n </ng-select>\n</ng-template>\n\n<ng-template #inputNumber>\n <div class=\"d-flex justify-content-between gap-1 align-items-center\">\n <ng-container *ngTemplateOutlet=\"selectForm\" />\n\n <input type=\"number\" [placeholder]=\"numberPlaceholder\" class=\"form-control flex-grow-1\" [disabled]=\"isNumberDisabled\" [value]=\"numberValue\" (keypress)=\"limitDecimal($event)\" (input)=\"numberInput($event.target)\">\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"!isInputNumber else inputNumber\">\n <ng-container *ngTemplateOutlet=\"selectForm\" />\n</ng-container>\n\n<label *ngIf=\"errorMsg\" class=\"is-invalid\">{{ errorMsg }}</label>\n", styles: ["ng-select.number{min-width:105px;max-width:105px}\n"] }]
2082
2374
  }], ctorParameters: () => [{ type: undefined, decorators: [{
2083
2375
  type: Attribute,
2084
2376
  args: ['numberPlaceholder']
2085
- }] }, { type: i0.ChangeDetectorRef }, { type: CurrencyService }], propDecorators: { clearable: [{
2377
+ }] }, { type: i0.ChangeDetectorRef }, { type: CountryService }, { type: CurrencyService }], propDecorators: { clearable: [{
2086
2378
  type: Input
2087
2379
  }], isInputNumber: [{
2088
2380
  type: Input
2089
2381
  }], label: [{
2090
2382
  type: Input
2091
- }], initialItems: [{
2092
- type: Input
2093
2383
  }], numberValue: [{
2094
2384
  type: Input
2095
2385
  }], isNumberDisabled: [{
@@ -2098,10 +2388,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
2098
2388
  type: Input
2099
2389
  }], disabled: [{
2100
2390
  type: Input
2101
- }], bindLabel: [{
2102
- type: Input
2103
- }], bindValue: [{
2104
- type: Input
2105
2391
  }], onChange: [{
2106
2392
  type: Output
2107
2393
  }] } });
@@ -3321,5 +3607,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
3321
3607
  type: Injectable
3322
3608
  }], ctorParameters: () => [{ type: i1$2.Router }, { type: AuthService }] });
3323
3609
 
3324
- export { AppletContainerComponent, ApprovalDetailComponent, ApprovalListComponent, AuditDetailComponent, AuditListComponent, AuthGuard, AuthResolver, AuthService, ButtonGroupComponent, ButtonLoadingComponent, ColumnContainerComponent, ColumnHeaderContainerComponent, CountryService, CurrencyService, FilterComponent, FormCurrencyInputComponent, FormDateComponent, FormImagePickerComponent, FormInputComponent, FormNumberComponent, FormPasswordComponent, FormSearchableSelectComponent, FormSelectComponent, FormTextareaComponent, GridPaginationComponent, GridService, GridSnapshotComponent, HeaderInterceptor, ListPaginationContainerComponent, ListSnapshotContainerComponent, LoadingPage, ModalContainerComponent, PermissionDirective, PermissionGuard, PermissionModule, PermissionService, ProfileService, RefreshTokenInterceptor, TabContentComponent, TabGroupComponent, TabsComponentModule, UnauthorizedPage, bootstrap, getFormErrorMessage };
3610
+ export { AppletContainerComponent, ApprovalDetailComponent, ApprovalListComponent, AuditDetailComponent, AuditListComponent, AuthGuard, AuthResolver, AuthService, ButtonGroupComponent, ButtonLoadingComponent, ColumnContainerComponent, ColumnHeaderContainerComponent, CountryService, CurrencyService, FilterComponent, FormCurrencyInputComponent, FormDateComponent, FormImagePickerComponent, FormInputComponent, FormNumberComponent, FormPasswordComponent, FormSearchableSelectComponent, FormSelectComponent, FormTextareaComponent, GridPaginationComponent, GridService, GridSnapshotComponent, HeaderInterceptor, ListPaginationContainerComponent, ListSnapshotContainerComponent, LoadingPage, ModalContainerComponent, PermissionDirective, PermissionGuard, PermissionModule, PermissionService, ProfileService, RefreshTokenInterceptor, TabContentComponent, TabGroupComponent, TabsComponentModule, UnauthorizedPage, bootstrap, formatCapitalize, generateContrastColor, getFormErrorMessage };
3325
3611
  //# sourceMappingURL=unipin-angular-applet.mjs.map