digipay-utility-payment 0.0.6 → 0.0.7

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.
Binary file
@@ -198,6 +198,9 @@ class UserService {
198
198
  getUserByIdUsingJava(id, params = {}) {
199
199
  return this.http.get(`${this.baseUrl}/user/user_detail/${id}`, { params, headers: this.defaultHeaders });
200
200
  }
201
+ getUserConfig(params = {}) {
202
+ return this.http.get(`${this.baseUrl}/user/user_config`, { params, headers: this.defaultHeaders });
203
+ }
201
204
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: UserService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
202
205
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: UserService, providedIn: 'root' });
203
206
  }
@@ -240,6 +243,28 @@ class WalletService {
240
243
  getWalletUsingJava(params = {}) {
241
244
  return this.http.get(`${this.baseUrl}/transaction/wallet`, { params, headers: this.defaultHeaders });
242
245
  }
246
+ calculateCharges(params = {}) {
247
+ return this.http.post(`${this.baseUrl}/transaction/calculate_charges`, params, {
248
+ headers: this.defaultHeaders,
249
+ });
250
+ }
251
+ calculateAgentCharges(params = {}) {
252
+ return this.http.post(`${this.baseUrl}/transaction/agent_calculate_charges`, params, {
253
+ headers: this.defaultHeaders,
254
+ });
255
+ }
256
+ getAgentChargesListUsingJava(params = {}) {
257
+ return this.http.get(`${this.baseUrl}/agent_profile_threshold/agent_charges`, {
258
+ params,
259
+ headers: this.defaultHeaders,
260
+ });
261
+ }
262
+ getAgentChargeDetailsByIdUsingJava(params) {
263
+ return this.http.get(`${this.baseUrl}/agent_profile_threshold/agent_charges_detail`, {
264
+ params,
265
+ headers: this.defaultHeaders,
266
+ });
267
+ }
243
268
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: WalletService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
244
269
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: WalletService, providedIn: 'root' });
245
270
  }
@@ -3851,6 +3876,69 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
3851
3876
  }], ctorParameters: () => [] });
3852
3877
 
3853
3878
  class UserProfileService {
3879
+ http = inject(HttpClient);
3880
+ config = inject(PaymentsConfigService);
3881
+ authProvider = inject(UTILITY_PAYMENTS_AUTH_PROVIDER, { optional: true });
3882
+ get baseUrl() {
3883
+ return this.config.getConfig()?.baseUrl ?? '';
3884
+ }
3885
+ get defaultHeaders() {
3886
+ const cfg = this.config.getConfig();
3887
+ const fromConfig = (cfg?.defaultHeaders ?? {});
3888
+ const fromAuth = this.buildAuthHeaders();
3889
+ return { ...fromAuth, ...fromConfig };
3890
+ }
3891
+ buildAuthHeaders() {
3892
+ const headers = {};
3893
+ if (!this.authProvider)
3894
+ return headers;
3895
+ const token = this.authProvider.getToken();
3896
+ const companyId = this.authProvider.getCompanyId();
3897
+ const userId = this.authProvider.getUserId();
3898
+ if (token)
3899
+ headers['Authorization'] = token.startsWith('Bearer ') ? token : `Bearer ${token}`;
3900
+ if (companyId != null)
3901
+ headers['companyid'] = String(companyId);
3902
+ if (userId != null)
3903
+ headers['userid'] = String(userId);
3904
+ return headers;
3905
+ }
3906
+ getProfileProductsDetailsUsingJava(params = {}) {
3907
+ return this.http.get(`${this.baseUrl}/profile_threshold/profile_products`, {
3908
+ params,
3909
+ headers: this.defaultHeaders,
3910
+ });
3911
+ }
3912
+ getProfileProductChargesUsingJava(params = {}) {
3913
+ return this.http.get(`${this.baseUrl}/profile_threshold/profile_product_charges`, {
3914
+ params,
3915
+ headers: this.defaultHeaders,
3916
+ });
3917
+ }
3918
+ getUserProfileUsingJava(params = {}) {
3919
+ return this.http.get(`${this.baseUrl}/profile_threshold/user_profile`, {
3920
+ params,
3921
+ headers: this.defaultHeaders,
3922
+ });
3923
+ }
3924
+ getAgentProfileById(id, params = {}) {
3925
+ return this.http.get(`${this.baseUrl}/agent_profile_threshold/agent_profile/${id}`, {
3926
+ params,
3927
+ headers: this.defaultHeaders,
3928
+ });
3929
+ }
3930
+ getAgentProfileProductDetailsUsingJava(params = {}) {
3931
+ return this.http.get(`${this.baseUrl}/agent_profile_threshold/agent_profile_products`, {
3932
+ params,
3933
+ headers: this.defaultHeaders,
3934
+ });
3935
+ }
3936
+ getAgentUserProfile(params = {}) {
3937
+ return this.http.get(`${this.baseUrl}/agent_profile_threshold/agent_user_profiles`, {
3938
+ params,
3939
+ headers: this.defaultHeaders,
3940
+ });
3941
+ }
3854
3942
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: UserProfileService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3855
3943
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: UserProfileService, providedIn: 'root' });
3856
3944
  }
@@ -4179,14 +4267,134 @@ var AuthenticationMethod;
4179
4267
  AuthenticationMethod["OTP"] = "OTP";
4180
4268
  })(AuthenticationMethod || (AuthenticationMethod = {}));
4181
4269
 
4182
- async function checkUserProfiles(_args) {
4183
- return null;
4270
+ async function checkUserProfiles(data) {
4271
+ const params = {};
4272
+ const userType = data?.userType;
4273
+ let profileData = {};
4274
+ let productExists = false;
4275
+ params['user_id'] = data?.userId ?? null;
4276
+ params['wallet_id'] = data?.walletId ?? null;
4277
+ params['currency_id'] = data?.currencyId ?? null;
4278
+ if (userType === USER_TYPES.AGENT) {
4279
+ const agentProfileResponse = await firstValueFrom(data.userProfileService.getAgentUserProfile(params));
4280
+ const userProfileData = agentProfileResponse?.data?.agent_user_profile;
4281
+ const profile = Array.isArray(userProfileData)
4282
+ ? userProfileData[0]
4283
+ : userProfileData
4284
+ ? userProfileData
4285
+ : null;
4286
+ if (isNotNull(profile)) {
4287
+ const profileId = (profileData['profileId'] = profile?.agent_profile_id);
4288
+ const agentProfileByIdResponse = await firstValueFrom(data.userProfileService.getAgentProfileById(profileId));
4289
+ profileData =
4290
+ isNotNull(agentProfileByIdResponse?.data?.agent_profile) && agentProfileByIdResponse?.success
4291
+ ? { ...agentProfileByIdResponse.data.agent_profile }
4292
+ : null;
4293
+ const productDetailsResponse = await firstValueFrom(data.userProfileService.getAgentProfileProductDetailsUsingJava({
4294
+ agent_profile_id: profileId,
4295
+ product_code: data?.product_code,
4296
+ }));
4297
+ productExists =
4298
+ isNotNull(productDetailsResponse?.data?.agent_profile_product) &&
4299
+ productDetailsResponse?.success;
4300
+ }
4301
+ }
4302
+ else {
4303
+ params['user_type'] = data?.userType ?? null;
4304
+ const userProfileResponse = await firstValueFrom(data.userProfileService.getUserProfileUsingJava(params));
4305
+ const userProfileData = isNotNull(userProfileResponse?.data?.user_profile)
4306
+ ? userProfileResponse.data.user_profile
4307
+ : null;
4308
+ if (isNotNull(userProfileData)) {
4309
+ const profileId = (profileData['id'] = userProfileData?.profile_id);
4310
+ const productDetailsResponse = await firstValueFrom(data.userProfileService.getProfileProductsDetailsUsingJava({
4311
+ profile_id: profileId,
4312
+ product_code: data?.product_code,
4313
+ }));
4314
+ productExists =
4315
+ isNotNull(productDetailsResponse?.data?.profile_product) && productDetailsResponse?.success;
4316
+ }
4317
+ }
4318
+ return productExists ? profileData : null;
4184
4319
  }
4185
- async function calculateCharges(_args) {
4186
- return null;
4320
+ async function calculateCharges(chargeParams) {
4321
+ const walletService = chargeParams.walletService;
4322
+ const userType = chargeParams.userType;
4323
+ let calculatedCharges = null;
4324
+ let calculateChargeResponse = null;
4325
+ let chargeListResponse = null;
4326
+ let agentChargeDetailsResponse = null;
4327
+ let profileProductChargesResponse = null;
4328
+ const params = {};
4329
+ params['wallet_id'] = chargeParams.walletId ?? null;
4330
+ params['currency_id'] = chargeParams.currencyId ?? null;
4331
+ params['product_code'] = chargeParams.productCode ?? null;
4332
+ params['txn_amount'] = chargeParams.amount ?? null;
4333
+ if (userType === USER_TYPES.AGENT) {
4334
+ params['tree_id'] = chargeParams.tree_id ?? null;
4335
+ params['tree_level_id'] = chargeParams.tree_level_id ?? null;
4336
+ calculateChargeResponse = await firstValueFrom(walletService.calculateAgentCharges(params));
4337
+ const listParams = {
4338
+ tree_id: chargeParams.tree_id ?? null,
4339
+ tree_level_id: chargeParams.tree_level_id ?? null,
4340
+ currency_id: chargeParams.currencyId ?? null,
4341
+ };
4342
+ chargeListResponse = await firstValueFrom(walletService.getAgentChargesListUsingJava(listParams));
4343
+ const agentChargeId = chargeListResponse?.success
4344
+ ? chargeListResponse?.data?.agent_charges?.[0]?.id
4345
+ : null;
4346
+ if (agentChargeId && chargeParams.productCode) {
4347
+ agentChargeDetailsResponse = await firstValueFrom(walletService.getAgentChargeDetailsByIdUsingJava({
4348
+ agent_charges_id: agentChargeId,
4349
+ product_code: chargeParams.productCode,
4350
+ }));
4351
+ }
4352
+ }
4353
+ else {
4354
+ params['profile_id'] = chargeParams.profileId ?? null;
4355
+ calculateChargeResponse = await firstValueFrom(walletService.calculateCharges(params));
4356
+ const userProfileService = chargeParams.userProfileService;
4357
+ const profileId = chargeParams.profileId;
4358
+ const productCode = chargeParams.productCode;
4359
+ if (userProfileService && profileId && productCode) {
4360
+ profileProductChargesResponse = await firstValueFrom(userProfileService.getProfileProductChargesUsingJava({
4361
+ profile_id: profileId,
4362
+ product_code: productCode,
4363
+ }));
4364
+ }
4365
+ }
4366
+ calculatedCharges =
4367
+ isNotNull(calculateChargeResponse?.data?.charges_info) && calculateChargeResponse?.success
4368
+ ? calculateChargeResponse.data.charges_info
4369
+ : null;
4370
+ const result = calculatedCharges ? { ...calculatedCharges } : null;
4371
+ if (result && userType === USER_TYPES.AGENT && agentChargeDetailsResponse?.success) {
4372
+ const raw = agentChargeDetailsResponse?.data?.agent_charge_detail ??
4373
+ agentChargeDetailsResponse?.data?.agent_charge_details;
4374
+ const detail = Array.isArray(raw) ? raw[0] : raw;
4375
+ if (detail?.allow_shared_charges) {
4376
+ result.allow_shared_charges = detail.allow_shared_charges;
4377
+ result.share_charge_config_id = detail.share_charge_config_id ?? null;
4378
+ }
4379
+ }
4380
+ if (result && userType !== USER_TYPES.AGENT && profileProductChargesResponse?.success) {
4381
+ const raw = profileProductChargesResponse?.data?.profile_product_charges ??
4382
+ profileProductChargesResponse?.data?.profile_product_charges;
4383
+ const detail = Array.isArray(raw) ? raw[0] : raw;
4384
+ if (detail?.allow_shared_charges) {
4385
+ result.allow_shared_charges = detail.allow_shared_charges;
4386
+ result.share_charge_config_id = detail.share_charge_config_id ?? null;
4387
+ }
4388
+ }
4389
+ return result;
4187
4390
  }
4188
- async function getUserConfigDetails(_args) {
4189
- return null;
4391
+ async function getUserConfigDetails(userConfigDetails) {
4392
+ const params = {};
4393
+ if (userConfigDetails?.userId) {
4394
+ params['user_id'] = userConfigDetails.userId;
4395
+ }
4396
+ const userConfig = await firstValueFrom(userConfigDetails.userService.getUserConfig(params));
4397
+ return userConfig?.data?.user_config?.[0];
4190
4398
  }
4191
4399
 
4192
4400
  /// <reference path="../globals.d.ts" />
@@ -4468,10 +4676,13 @@ class TopupAndBillpaymentReviewComponent extends TransactionClass {
4468
4676
  this.userDetail();
4469
4677
  }
4470
4678
  async calculatCharge() {
4679
+ const cfg = (this.paymentsConfigService.getConfig() ?? {});
4680
+ const cfgHeaders = (cfg?.defaultHeaders ?? {});
4681
+ const userId = (cfgHeaders["userid"] ?? cfgHeaders["userId"] ?? cfg?.userId ?? "").toString().trim();
4471
4682
  this.showLoader = true;
4472
4683
  let profileDetails = {
4473
4684
  "userProfileService": this.userprofileService,
4474
- "userId": this.dataService.getWalletUserAccountId(),
4685
+ "userId": userId,
4475
4686
  "walletId": this.walletId,
4476
4687
  "userType": USER_TYPES.AGENT,
4477
4688
  "currencyId": this.currencyId,
@@ -5656,12 +5867,24 @@ class UtilityPaymentsContainerComponent {
5656
5867
  }
5657
5868
  buildRuntimeConfig(value) {
5658
5869
  const normalizedBaseUrl = (value.baseUrl ?? '').trim().replace(/\/+$/, '');
5659
- const token = (value.token ?? '').trim();
5660
- const companyId = (value.companyId ?? '').trim();
5661
- const userId = (value.userId ?? '').trim();
5870
+ const incomingHeaders = (value.defaultHeaders ?? {});
5871
+ const normalizedExtraHeaders = Object.entries(incomingHeaders).reduce((acc, [key, rawValue]) => {
5872
+ if (['Authorization', 'authorization', 'companyid', 'companyId', 'userid', 'userId'].includes(key)) {
5873
+ return acc;
5874
+ }
5875
+ const normalizedValue = this.normalizeHeaderValue(rawValue);
5876
+ if (normalizedValue) {
5877
+ acc[key] = normalizedValue;
5878
+ }
5879
+ return acc;
5880
+ }, {});
5881
+ const token = this.normalizeHeaderValue(value.token ?? incomingHeaders['Authorization'] ?? incomingHeaders['authorization']);
5882
+ const companyId = this.normalizeHeaderValue(value.companyId ?? incomingHeaders['companyid'] ?? incomingHeaders['companyId']);
5883
+ const userId = this.normalizeHeaderValue(value.userId ?? incomingHeaders['userid'] ?? incomingHeaders['userId']);
5662
5884
  return {
5663
5885
  baseUrl: normalizedBaseUrl,
5664
5886
  defaultHeaders: {
5887
+ ...normalizedExtraHeaders,
5665
5888
  ...(token ? { Authorization: token.includes(' ') ? token : `Bearer ${token}` } : {}),
5666
5889
  ...(companyId ? { companyid: companyId } : {}),
5667
5890
  ...(userId ? { userid: userId } : {}),
@@ -5669,18 +5892,18 @@ class UtilityPaymentsContainerComponent {
5669
5892
  };
5670
5893
  }
5671
5894
  normalizeConfig(inputConfig) {
5672
- const formValue = this.configForm.getRawValue();
5673
5895
  const incomingHeaders = (inputConfig?.defaultHeaders ?? {});
5674
- const tokenFromIncoming = incomingHeaders['Authorization'] ?? inputConfig?.token ?? '';
5675
- const companyIdFromIncoming = incomingHeaders['companyid'] ?? inputConfig?.companyId ?? '';
5676
- const userIdFromIncoming = incomingHeaders['userid'] ?? inputConfig?.userId ?? '';
5677
5896
  return this.buildRuntimeConfig({
5678
- baseUrl: inputConfig?.baseUrl ?? formValue.baseUrl ?? '',
5679
- token: tokenFromIncoming || formValue.token || '',
5680
- companyId: companyIdFromIncoming || formValue.companyId || '',
5681
- userId: userIdFromIncoming || formValue.userId || '',
5897
+ baseUrl: inputConfig?.baseUrl ?? '',
5898
+ token: inputConfig?.token ?? incomingHeaders['Authorization'] ?? incomingHeaders['authorization'] ?? '',
5899
+ companyId: inputConfig?.companyId ?? incomingHeaders['companyid'] ?? incomingHeaders['companyId'] ?? '',
5900
+ userId: inputConfig?.userId ?? incomingHeaders['userid'] ?? incomingHeaders['userId'] ?? '',
5901
+ defaultHeaders: incomingHeaders,
5682
5902
  });
5683
5903
  }
5904
+ normalizeHeaderValue(value) {
5905
+ return value == null ? '' : String(value).trim();
5906
+ }
5684
5907
  loadRuntimeConfigFromStorage() {
5685
5908
  try {
5686
5909
  const raw = localStorage.getItem(this.runtimeConfigStorageKey);
@@ -5807,7 +6030,7 @@ class UtilityPaymentsContainerComponent {
5807
6030
  }
5808
6031
  }
5809
6032
  </div>
5810
- `, isInline: true, styles: [":host{display:block}:host ::ng-deep .sdk-utility-payments-container{font-size:13px;line-height:1.3}:host ::ng-deep .content{padding:.75rem!important}:host ::ng-deep .page-header{margin-bottom:.6rem!important}:host ::ng-deep .page-header h1{font-size:1.25rem!important;margin-bottom:.25rem!important}:host ::ng-deep sdk-utilities .utilities-title{font-size:1.875rem!important;font-weight:700!important;line-height:1.2!important;letter-spacing:-.02em}:host ::ng-deep .card{border-radius:8px}:host ::ng-deep .card-header{padding:.6rem .9rem!important}:host ::ng-deep .card-title{font-size:1rem!important;margin-bottom:0!important}:host ::ng-deep .card-body{padding:.8rem!important}:host ::ng-deep .form-control,:host ::ng-deep .ng-select .ng-select-container{min-height:34px!important;font-size:13px!important}:host ::ng-deep .form-label,:host ::ng-deep label{font-size:13px!important;margin-bottom:.25rem!important}:host ::ng-deep .btn{font-size:13px!important;padding:.3rem .65rem!important}:host ::ng-deep .work-flow-card{max-width:400px!important;width:100%!important;margin-left:auto!important;margin-right:auto!important}:host ::ng-deep .work-flow-page-header .page-title,:host ::ng-deep .work-flow-page-header h1{font-size:.95rem!important}:host ::ng-deep .work-flow-card .card-header{padding:.4rem .6rem!important}:host ::ng-deep .work-flow-card .card-title{font-size:.85rem!important}:host ::ng-deep .work-flow-card .card-body{padding:.55rem .65rem .7rem!important}:host ::ng-deep .work-flow-card .form-group.form-row{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;margin-bottom:.55rem!important}:host ::ng-deep .work-flow-card .form-group.form-row>label.control-label{flex:0 0 8.5rem!important;max-width:8.5rem!important;width:8.5rem!important;margin-bottom:0!important;padding-top:0!important;text-align:right!important;font-size:.72rem!important}:host ::ng-deep .work-flow-card .form-group.form-row>.col-md-8{flex:1 1 auto!important;max-width:none!important;width:auto!important}:host ::ng-deep .work-flow-card .form-control{min-height:26px!important;height:26px!important;max-width:200px!important;width:100%!important;font-size:.72rem!important;padding:.1rem .35rem!important}:host ::ng-deep .work-flow-card textarea.form-control{height:auto!important;min-height:3rem!important;max-width:100%!important}:host ::ng-deep .work-flow-card .work-flow-footer .btn{font-size:.7rem!important;padding:.15rem .45rem!important}:host ::ng-deep .vendor-products-shell>.card-body{padding:1.25rem 1.35rem 1.5rem!important}:host ::ng-deep .vendor-products-shell .vendor-product-card .form-control{min-height:auto!important;height:auto!important;max-width:none!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: UtilitiesComponent, selector: "sdk-utilities" }, { kind: "component", type: VendorProvidersComponent, selector: "sdk-vendor-providers" }, { kind: "component", type: WorkFlowComponent, selector: "sdk-work-flow" }, { kind: "component", type: RegionCommuneComponent, selector: "sdk-region-commune" }, { kind: "component", type: VendorProductsComponent, selector: "sdk-vendor-products", inputs: ["billData"], outputs: ["workflowCompleted"] }, { kind: "component", type: VendorPlansComponent, selector: "sdk-vendor-plans" }, { kind: "component", type: ViewBillsComponent, selector: "sdk-view-bills" }, { kind: "component", type: TopupAndBillpaymentReviewComponent, selector: "sdk-topup-and-billpayment-review" }] });
6033
+ `, isInline: true, styles: [":host{display:block}:host ::ng-deep .sdk-utility-payments-container{font-size:13px;line-height:1.3}:host ::ng-deep .content{padding:.25rem!important}:host ::ng-deep .page-header{margin-bottom:.6rem!important}:host ::ng-deep .page-header h1{font-size:1.75rem!important;margin-bottom:.25rem!important}:host ::ng-deep sdk-utilities .utilities-title{font-size:1.875rem!important;font-weight:700!important;line-height:1.2!important;letter-spacing:-.02em}:host ::ng-deep .card{border-radius:8px}:host ::ng-deep .card-header{padding:.6rem .9rem!important}:host ::ng-deep .card-title{font-size:1rem!important;margin-bottom:0!important}:host ::ng-deep .card-body{padding:.8rem!important}:host ::ng-deep .form-control,:host ::ng-deep .ng-select .ng-select-container{min-height:34px!important;font-size:13px!important}:host ::ng-deep .form-label,:host ::ng-deep label{font-size:13px!important;margin-bottom:.25rem!important}:host ::ng-deep .btn{font-size:13px!important;padding:.3rem .65rem!important}:host ::ng-deep .work-flow-card{max-width:400px!important;width:100%!important;margin-left:auto!important;margin-right:auto!important}:host ::ng-deep .work-flow-page-header .page-title,:host ::ng-deep .work-flow-page-header h1{font-size:.95rem!important}:host ::ng-deep .work-flow-card .card-header{padding:.4rem .6rem!important}:host ::ng-deep .work-flow-card .card-title{font-size:.85rem!important}:host ::ng-deep .work-flow-card .card-body{padding:.55rem .65rem .7rem!important}:host ::ng-deep .work-flow-card .form-group.form-row{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;margin-bottom:.55rem!important}:host ::ng-deep .work-flow-card .form-group.form-row>label.control-label{flex:0 0 8.5rem!important;max-width:8.5rem!important;width:8.5rem!important;margin-bottom:0!important;padding-top:0!important;text-align:right!important;font-size:.72rem!important}:host ::ng-deep .work-flow-card .form-group.form-row>.col-md-8{flex:1 1 auto!important;max-width:none!important;width:auto!important}:host ::ng-deep .work-flow-card .form-control{min-height:26px!important;height:26px!important;max-width:200px!important;width:60%!important;font-size:.72rem!important;padding:.1rem .35rem!important}:host ::ng-deep .work-flow-card textarea.form-control{height:auto!important;min-height:3rem!important;max-width:100%!important}:host ::ng-deep .work-flow-card .work-flow-footer .btn{font-size:.7rem!important;padding:.15rem .45rem!important}:host ::ng-deep .vendor-products-shell>.card-body{padding:1.25rem 1.35rem 1.5rem!important}:host ::ng-deep .vendor-products-shell .vendor-product-card .form-control{min-height:auto!important;height:auto!important;max-width:none!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: UtilitiesComponent, selector: "sdk-utilities" }, { kind: "component", type: VendorProvidersComponent, selector: "sdk-vendor-providers" }, { kind: "component", type: WorkFlowComponent, selector: "sdk-work-flow" }, { kind: "component", type: RegionCommuneComponent, selector: "sdk-region-commune" }, { kind: "component", type: VendorProductsComponent, selector: "sdk-vendor-products", inputs: ["billData"], outputs: ["workflowCompleted"] }, { kind: "component", type: VendorPlansComponent, selector: "sdk-vendor-plans" }, { kind: "component", type: ViewBillsComponent, selector: "sdk-view-bills" }, { kind: "component", type: TopupAndBillpaymentReviewComponent, selector: "sdk-topup-and-billpayment-review" }] });
5811
6034
  }
5812
6035
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: UtilityPaymentsContainerComponent, decorators: [{
5813
6036
  type: Component,
@@ -5907,7 +6130,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
5907
6130
  }
5908
6131
  }
5909
6132
  </div>
5910
- `, styles: [":host{display:block}:host ::ng-deep .sdk-utility-payments-container{font-size:13px;line-height:1.3}:host ::ng-deep .content{padding:.75rem!important}:host ::ng-deep .page-header{margin-bottom:.6rem!important}:host ::ng-deep .page-header h1{font-size:1.25rem!important;margin-bottom:.25rem!important}:host ::ng-deep sdk-utilities .utilities-title{font-size:1.875rem!important;font-weight:700!important;line-height:1.2!important;letter-spacing:-.02em}:host ::ng-deep .card{border-radius:8px}:host ::ng-deep .card-header{padding:.6rem .9rem!important}:host ::ng-deep .card-title{font-size:1rem!important;margin-bottom:0!important}:host ::ng-deep .card-body{padding:.8rem!important}:host ::ng-deep .form-control,:host ::ng-deep .ng-select .ng-select-container{min-height:34px!important;font-size:13px!important}:host ::ng-deep .form-label,:host ::ng-deep label{font-size:13px!important;margin-bottom:.25rem!important}:host ::ng-deep .btn{font-size:13px!important;padding:.3rem .65rem!important}:host ::ng-deep .work-flow-card{max-width:400px!important;width:100%!important;margin-left:auto!important;margin-right:auto!important}:host ::ng-deep .work-flow-page-header .page-title,:host ::ng-deep .work-flow-page-header h1{font-size:.95rem!important}:host ::ng-deep .work-flow-card .card-header{padding:.4rem .6rem!important}:host ::ng-deep .work-flow-card .card-title{font-size:.85rem!important}:host ::ng-deep .work-flow-card .card-body{padding:.55rem .65rem .7rem!important}:host ::ng-deep .work-flow-card .form-group.form-row{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;margin-bottom:.55rem!important}:host ::ng-deep .work-flow-card .form-group.form-row>label.control-label{flex:0 0 8.5rem!important;max-width:8.5rem!important;width:8.5rem!important;margin-bottom:0!important;padding-top:0!important;text-align:right!important;font-size:.72rem!important}:host ::ng-deep .work-flow-card .form-group.form-row>.col-md-8{flex:1 1 auto!important;max-width:none!important;width:auto!important}:host ::ng-deep .work-flow-card .form-control{min-height:26px!important;height:26px!important;max-width:200px!important;width:100%!important;font-size:.72rem!important;padding:.1rem .35rem!important}:host ::ng-deep .work-flow-card textarea.form-control{height:auto!important;min-height:3rem!important;max-width:100%!important}:host ::ng-deep .work-flow-card .work-flow-footer .btn{font-size:.7rem!important;padding:.15rem .45rem!important}:host ::ng-deep .vendor-products-shell>.card-body{padding:1.25rem 1.35rem 1.5rem!important}:host ::ng-deep .vendor-products-shell .vendor-product-card .form-control{min-height:auto!important;height:auto!important;max-width:none!important}\n"] }]
6133
+ `, styles: [":host{display:block}:host ::ng-deep .sdk-utility-payments-container{font-size:13px;line-height:1.3}:host ::ng-deep .content{padding:.25rem!important}:host ::ng-deep .page-header{margin-bottom:.6rem!important}:host ::ng-deep .page-header h1{font-size:1.75rem!important;margin-bottom:.25rem!important}:host ::ng-deep sdk-utilities .utilities-title{font-size:1.875rem!important;font-weight:700!important;line-height:1.2!important;letter-spacing:-.02em}:host ::ng-deep .card{border-radius:8px}:host ::ng-deep .card-header{padding:.6rem .9rem!important}:host ::ng-deep .card-title{font-size:1rem!important;margin-bottom:0!important}:host ::ng-deep .card-body{padding:.8rem!important}:host ::ng-deep .form-control,:host ::ng-deep .ng-select .ng-select-container{min-height:34px!important;font-size:13px!important}:host ::ng-deep .form-label,:host ::ng-deep label{font-size:13px!important;margin-bottom:.25rem!important}:host ::ng-deep .btn{font-size:13px!important;padding:.3rem .65rem!important}:host ::ng-deep .work-flow-card{max-width:400px!important;width:100%!important;margin-left:auto!important;margin-right:auto!important}:host ::ng-deep .work-flow-page-header .page-title,:host ::ng-deep .work-flow-page-header h1{font-size:.95rem!important}:host ::ng-deep .work-flow-card .card-header{padding:.4rem .6rem!important}:host ::ng-deep .work-flow-card .card-title{font-size:.85rem!important}:host ::ng-deep .work-flow-card .card-body{padding:.55rem .65rem .7rem!important}:host ::ng-deep .work-flow-card .form-group.form-row{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;margin-bottom:.55rem!important}:host ::ng-deep .work-flow-card .form-group.form-row>label.control-label{flex:0 0 8.5rem!important;max-width:8.5rem!important;width:8.5rem!important;margin-bottom:0!important;padding-top:0!important;text-align:right!important;font-size:.72rem!important}:host ::ng-deep .work-flow-card .form-group.form-row>.col-md-8{flex:1 1 auto!important;max-width:none!important;width:auto!important}:host ::ng-deep .work-flow-card .form-control{min-height:26px!important;height:26px!important;max-width:200px!important;width:60%!important;font-size:.72rem!important;padding:.1rem .35rem!important}:host ::ng-deep .work-flow-card textarea.form-control{height:auto!important;min-height:3rem!important;max-width:100%!important}:host ::ng-deep .work-flow-card .work-flow-footer .btn{font-size:.7rem!important;padding:.15rem .45rem!important}:host ::ng-deep .vendor-products-shell>.card-body{padding:1.25rem 1.35rem 1.5rem!important}:host ::ng-deep .vendor-products-shell .vendor-product-card .form-control{min-height:auto!important;height:auto!important;max-width:none!important}\n"] }]
5911
6134
  }], propDecorators: { config: [{
5912
6135
  type: Input
5913
6136
  }] } });
package/index.d.ts CHANGED
@@ -60,6 +60,7 @@ declare class UtilityPaymentsContainerComponent implements OnInit, OnDestroy, On
60
60
  private resolveTestMode;
61
61
  private buildRuntimeConfig;
62
62
  private normalizeConfig;
63
+ private normalizeHeaderValue;
63
64
  private loadRuntimeConfigFromStorage;
64
65
  private persistRuntimeConfigToStorage;
65
66
  ngOnDestroy(): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "digipay-utility-payment",
3
- "version": "0.0.6",
3
+ "version": "0.0.7",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^20.3.0",
6
6
  "@angular/core": "^20.3.0"