@skysoftware-co/bayan-hr-widgets-ui 1.0.10 → 1.0.12

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.
package/README.md CHANGED
@@ -269,3 +269,159 @@ The component calls `GET {baseUrl}/hr/employee-portal/calendar` with query param
269
269
  - `Year` - Starting year
270
270
  - `MonthsCount` - Number of months to load (default: 12)
271
271
  - Header: `api-version: 2`
272
+
273
+ ## Profile Widgets
274
+
275
+ The package also exports profile-focused widgets used in the employee profile page.
276
+
277
+ ## Profile Personal Info Main Widget
278
+
279
+ ### Usage
280
+ ```html
281
+ <hr-profile-personal-info-main-widget
282
+ [baseUrl]="baseUrl"
283
+ (isLoadingChanged)="onMainLoadingChanged($event)">
284
+ </hr-profile-personal-info-main-widget>
285
+ ```
286
+
287
+ ### Input Properties
288
+ | Input | Type | Default Value | Description |
289
+ |-------|------|---------------|-------------|
290
+ | `baseUrl` | string | `''` | Base URL for API calls (required) |
291
+ | `sectionTitle` | string | `'main'` | Section title translation key |
292
+ | `alternateLanguage` | string | `'English'` | Alternate language label next to employee alternate name |
293
+ | `mainIcon` | IconDefinition | `faMemoCircleInfo` | Header icon |
294
+ | `emptyStateContainerClass` | string | `'d-flex flex-column justify-content-center align-items-center my-5'` | Empty/loading container CSS class |
295
+ | `emptyStateTextClass` | string | `'field-secondary-label-md'` | Empty/loading text CSS class |
296
+
297
+ ### Output Events
298
+ - `isLoadingChanged: EventEmitter<boolean>` - Emitted when loading state changes.
299
+
300
+ ## Profile Personal Info Contact Widget
301
+
302
+ ### Usage
303
+ ```html
304
+ <hr-profile-personal-info-contact-widget
305
+ [baseUrl]="baseUrl"
306
+ [showEmergencyContact]="true"
307
+ (isLoadingChanged)="onContactLoadingChanged($event)">
308
+ </hr-profile-personal-info-contact-widget>
309
+ ```
310
+
311
+ ### Input Properties
312
+ | Input | Type | Default Value | Description |
313
+ |-------|------|---------------|-------------|
314
+ | `baseUrl` | string | `''` | Base URL for API calls (required) |
315
+ | `sectionTitle` | string | `'contact'` | Section title translation key |
316
+ | `showEmergencyContact` | boolean | `true` | Show emergency contact block |
317
+ | `contactIcon` | IconDefinition | `faPhone` | Header icon |
318
+ | `emergencyContactIcon` | IconDefinition | `faBolt` | Emergency contact icon |
319
+ | `emptyStateContainerClass` | string | `'d-flex flex-column justify-content-center align-items-center my-5'` | Empty/loading container CSS class |
320
+ | `emptyStateTextClass` | string | `'field-secondary-label-md'` | Empty/loading text CSS class |
321
+
322
+ ### Output Events
323
+ - `isLoadingChanged: EventEmitter<boolean>` - Emitted when loading state changes.
324
+
325
+ ## Profile Personal Info Address Widget
326
+
327
+ ### Usage
328
+ ```html
329
+ <hr-profile-personal-info-address-widget
330
+ [baseUrl]="baseUrl"
331
+ (isLoadingChanged)="onAddressLoadingChanged($event)">
332
+ </hr-profile-personal-info-address-widget>
333
+ ```
334
+
335
+ ### Input Properties
336
+ | Input | Type | Default Value | Description |
337
+ |-------|------|---------------|-------------|
338
+ | `baseUrl` | string | `''` | Base URL for API calls (required) |
339
+ | `sectionTitle` | string | `'address'` | Section title translation key |
340
+ | `addressIcon` | IconDefinition | `faHouse` | Header icon |
341
+ | `emptyStateContainerClass` | string | `'d-flex flex-column justify-content-center align-items-center my-5'` | Empty/loading container CSS class |
342
+ | `emptyStateTextClass` | string | `'field-secondary-label-md'` | Empty/loading text CSS class |
343
+
344
+ ### Output Events
345
+ - `isLoadingChanged: EventEmitter<boolean>` - Emitted when loading state changes.
346
+
347
+ ## Profile Personal Info Languages Widget
348
+
349
+ ### Usage
350
+ ```html
351
+ <hr-profile-personal-info-languages-widget
352
+ [baseUrl]="baseUrl"
353
+ (hasDataChange)="onLanguagesDataChange($event)"
354
+ (isLoadingChanged)="onLanguagesLoadingChanged($event)">
355
+ </hr-profile-personal-info-languages-widget>
356
+ ```
357
+
358
+ ### Input Properties
359
+ | Input | Type | Default Value | Description |
360
+ |-------|------|---------------|-------------|
361
+ | `baseUrl` | string | `''` | Base URL for API calls |
362
+ | `sectionTitle` | string | `'languages'` | Section title translation key |
363
+ | `languagesIcon` | IconDefinition | `faLanguage` | Header icon |
364
+ | `emptyStateContainerClass` | string | `'d-flex flex-column justify-content-center align-items-center my-5'` | Empty/loading container CSS class |
365
+ | `emptyStateTextClass` | string | `'field-secondary-label-md'` | Empty/loading text CSS class |
366
+
367
+ ### Output Events
368
+ - `hasDataChange: EventEmitter<boolean>` - Emitted when language list has data or not.
369
+ - `isLoadingChanged: EventEmitter<boolean>` - Emitted when loading state changes.
370
+
371
+ ## Profile Personal Info Other Nationalities Widget
372
+
373
+ ### Usage
374
+ ```html
375
+ <hr-profile-personal-info-other-nationalities-widget
376
+ [baseUrl]="baseUrl"
377
+ (hasDataChange)="onOtherNationalitiesDataChange($event)"
378
+ (isLoadingChanged)="onOtherNationalitiesLoadingChanged($event)">
379
+ </hr-profile-personal-info-other-nationalities-widget>
380
+ ```
381
+
382
+ ### Input Properties
383
+ | Input | Type | Default Value | Description |
384
+ |-------|------|---------------|-------------|
385
+ | `baseUrl` | string | `''` | Base URL for API calls (required) |
386
+ | `sectionTitle` | string | `'otherNationalities'` | Section title translation key |
387
+ | `otherNationalitiesIcon` | IconDefinition | `faEarthAfrica` | Header icon |
388
+ | `emptyStateTextKey` | string | `'ThereIsNoOtherNationalitiesYet'` | Empty state translation key |
389
+ | `emptyStateContainerClass` | string | `'d-flex flex-column justify-content-center align-items-center my-5'` | Empty/loading container CSS class |
390
+ | `emptyStateTextClass` | string | `'field-secondary-label-md'` | Empty/loading text CSS class |
391
+
392
+ ### Output Events
393
+ - `hasDataChange: EventEmitter<boolean>` - Emitted when other nationalities list has data or not.
394
+ - `isLoadingChanged: EventEmitter<boolean>` - Emitted when loading state changes.
395
+
396
+ ## Profile Bank Information Widget
397
+
398
+ ### Usage
399
+ ```html
400
+ <hr-profile-bank-information-widget
401
+ [baseUrl]="baseUrl"
402
+ [currencyCode]="currencyCode"
403
+ [currencyDecimals]="currencyDecimals"
404
+ (isLoadingChanged)="onBankLoadingChanged($event)">
405
+ </hr-profile-bank-information-widget>
406
+ ```
407
+
408
+ ### Input Properties
409
+ | Input | Type | Default Value | Description |
410
+ |-------|------|---------------|-------------|
411
+ | `baseUrl` | string | `''` | Base URL for API calls (required) |
412
+ | `currencyCode` | string | `''` | Currency code shown with transfer amount |
413
+ | `currencyDecimals` | number | `2` | Decimal precision for transfer amount formatting |
414
+ | `sectionTitle` | string | `'BankInformation'` | Section title translation key |
415
+ | `sectionHeaderVisibility` | boolean | `true` | Show or hide the section header |
416
+ | `language` | string | `'en'` | Language used for RTL behavior (`'ar'` enables RTL) |
417
+ | `bankInformationIcon` | IconDefinition | `faMoneyCheckDollarPen` | Header icon |
418
+ | `emptyStateContainerClass` | string | `'d-flex flex-column justify-content-center align-items-center my-5'` | Empty/loading container CSS class |
419
+ | `emptyStateTextClass` | string | `'field-secondary-label-md'` | Empty/loading text CSS class |
420
+
421
+ ### Output Events
422
+ - `isLoadingChanged: EventEmitter<boolean>` - Emitted when loading state changes.
423
+
424
+ ### Notes
425
+
426
+ - All profile widgets support extensive style class overrides similar to other widgets in this package.
427
+ - During loading, widgets display section-based loading captions (for example: `Main is loading...`).