@idsoftsource/initial-process 2.9.7 → 2.9.9

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/index.d.ts CHANGED
@@ -5,6 +5,7 @@ import { FormGroup, FormBuilder, AbstractControl, FormControl, FormArray, Untype
5
5
  import * as i18 from '@angular/router';
6
6
  import { Router, ActivatedRoute, RouterOutlet } from '@angular/router';
7
7
  import { Observable, Subscription } from 'rxjs';
8
+ import * as i5 from 'ngx-bootstrap/modal';
8
9
  import { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';
9
10
  import { TokenService, RoleContextService, AuthLogoutService, RoleContextModel } from '@rangs/auth0-lib';
10
11
  import { AuthService } from '@auth0/auth0-angular';
@@ -14,10 +15,10 @@ import * as i2 from '@angular/common';
14
15
  import { ViewportScroller } from '@angular/common';
15
16
  import * as i20 from '@ng-select/ng-select';
16
17
  import * as i21 from 'ngx-bootstrap/datepicker';
17
- import * as i26 from 'ngx-bootstrap/tooltip';
18
+ import * as i6 from 'ngx-bootstrap/tooltip';
18
19
  import * as i27 from 'ngx-bootstrap/tabs';
19
20
  import * as i28 from 'ngx-bootstrap/accordion';
20
- import * as i30 from '@angular/google-maps';
21
+ import * as i7 from '@angular/google-maps';
21
22
 
22
23
  interface MasterModel {
23
24
  }
@@ -991,6 +992,21 @@ declare class CredentialingStore {
991
992
  static ɵprov: i0.ɵɵInjectableDeclaration<CredentialingStore>;
992
993
  }
993
994
 
995
+ interface GoogleAddressResult {
996
+ address1: string;
997
+ address2: string;
998
+ city: string;
999
+ state: string;
1000
+ country: string;
1001
+ county: string;
1002
+ zipCode: string;
1003
+ latitude: number;
1004
+ longitude: number;
1005
+ formattedAddress: string;
1006
+ isVerified: true;
1007
+ }
1008
+ declare function extractGoogleAddressComponents(components: any[], latitude: number, longitude: number, formattedAddress?: string): GoogleAddressResult;
1009
+
994
1010
  interface AppBranding {
995
1011
  logo: string;
996
1012
  displayName: string;
@@ -1159,8 +1175,18 @@ declare class InitialProcessComponent implements OnInit {
1159
1175
  uploadSignImage(event: any): void;
1160
1176
  uploadUserImage(event: any): void;
1161
1177
  uploadLogo(event: any): void;
1162
- AddressChange(address: any): void;
1163
- AddressChangeUser(address: any): void;
1178
+ addressInputStyle: {
1179
+ height: string;
1180
+ border: string;
1181
+ borderRadius: string;
1182
+ fontSize: string;
1183
+ color: string;
1184
+ background: string;
1185
+ };
1186
+ /** address1 itself is owned by im-address-verify-field; patch the sibling fields it resolved. */
1187
+ onCompanyAddressResolved(address: GoogleAddressResult): void;
1188
+ /** address1 itself is owned by im-address-verify-field; patch the sibling fields it resolved. */
1189
+ onUserAddressResolved(address: GoogleAddressResult): void;
1164
1190
  previous(): void;
1165
1191
  next(page?: number): void;
1166
1192
  handleSignatureAndMoveToNext(): Promise<void>;
@@ -2223,7 +2249,6 @@ declare class LicensesComponent {
2223
2249
  private postalCodeService;
2224
2250
  private fb;
2225
2251
  private fileService;
2226
- private http;
2227
2252
  providerId: string;
2228
2253
  providerName: string;
2229
2254
  cloudfrontUrl: string;
@@ -2262,7 +2287,7 @@ declare class LicensesComponent {
2262
2287
  showpreview: i0.Signal<boolean>;
2263
2288
  userdata: any;
2264
2289
  maxDate: Date;
2265
- constructor(userDocumentService: UserDocumentService, userService: UserService, roleContextService: RoleContextService, store: CredentialingStore, workStore: LicenseStore, tokenService: TokenService, postalCodeService: PostalCodeServices, fb: FormBuilder, fileService: FileService, http: HttpClient);
2290
+ constructor(userDocumentService: UserDocumentService, userService: UserService, roleContextService: RoleContextService, store: CredentialingStore, workStore: LicenseStore, tokenService: TokenService, postalCodeService: PostalCodeServices, fb: FormBuilder, fileService: FileService);
2266
2291
  ngOnInit(): Promise<void>;
2267
2292
  loadDocumentTypes(searchText?: string): void;
2268
2293
  loadDocumentTypesDefault(searchText?: string): void;
@@ -2630,7 +2655,8 @@ declare class RoleSelectComponent implements OnInit {
2630
2655
  logoUrl: any;
2631
2656
  };
2632
2657
  saveProvider(): Promise<string | null>;
2633
- AddressChangeCompany(address: any): void;
2658
+ /** address1 itself is owned by im-address-verify-field; patch the sibling fields it resolved. */
2659
+ onCompanyAddressResolved(address: GoogleAddressResult): void;
2634
2660
  saveUserIndustries(): void;
2635
2661
  setSelectedIndustries(ids: string[]): void;
2636
2662
  onBackClick(): void;
@@ -2658,7 +2684,8 @@ declare class RoleSelectComponent implements OnInit {
2658
2684
  };
2659
2685
  removeRole(role: string): void;
2660
2686
  phoneMask(event: Event, formType?: 'user' | 'company'): void;
2661
- AddressChangeUser(address: any): void;
2687
+ /** address1 itself is owned by im-address-verify-field; patch the sibling fields it resolved. */
2688
+ onUserAddressResolved(address: GoogleAddressResult): void;
2662
2689
  back(): void;
2663
2690
  static ɵfac: i0.ɵɵFactoryDeclaration<RoleSelectComponent, never>;
2664
2691
  static ɵcmp: i0.ɵɵComponentDeclaration<RoleSelectComponent, "app-role-select", never, { "roleData": { "alias": "roleData"; "required": false; }; "cloudfrontUrl": { "alias": "cloudfrontUrl"; "required": false; }; "providerId": { "alias": "providerId"; "required": false; }; "providerName": { "alias": "providerName"; "required": false; }; }, { "backToParent": "backToParent"; "providerSaved": "providerSaved"; }, never, never, false, never>;
@@ -3871,10 +3898,12 @@ declare class PreviewComponent implements OnDestroy {
3871
3898
  saveProvider(): Promise<void>;
3872
3899
  validateCompanyDetails(): boolean;
3873
3900
  saveCompanyDetails(): Promise<void>;
3874
- AddressChangeCompany(address: any): void;
3901
+ /** address1 itself is owned by im-address-verify-field; patch the sibling fields it resolved. */
3902
+ onCompanyAddressResolved(address: GoogleAddressResult): void;
3875
3903
  phoneMask(event: Event, type: 'profile' | 'company'): void;
3876
3904
  formatPhone(phone: string): string;
3877
- AddressChangeUser(address: any): void;
3905
+ /** address itself is owned by im-address-verify-field; patch the sibling fields it resolved. */
3906
+ onUserAddressResolved(address: GoogleAddressResult): void;
3878
3907
  allowOnlyNumbers(event: KeyboardEvent): void;
3879
3908
  static ɵfac: i0.ɵɵFactoryDeclaration<PreviewComponent, never>;
3880
3909
  static ɵcmp: i0.ɵɵComponentDeclaration<PreviewComponent, "app-preview", never, { "providerId": { "alias": "providerId"; "required": false; }; "isResume": { "alias": "isResume"; "required": false; }; "resumeModel": { "alias": "resumeModel"; "required": false; }; "providerName": { "alias": "providerName"; "required": false; }; "roleData": { "alias": "roleData"; "required": false; }; "cloudfrontUrl": { "alias": "cloudfrontUrl"; "required": false; }; "signatureFileId": { "alias": "signatureFileId"; "required": false; }; "signatureUrl": { "alias": "signatureUrl"; "required": false; }; }, { "backToParent": "backToParent"; }, never, never, true, never>;
@@ -3924,9 +3953,165 @@ declare class CommonPipesModule {
3924
3953
  static ɵinj: i0.ɵɵInjectorDeclaration<CommonPipesModule>;
3925
3954
  }
3926
3955
 
3956
+ /**
3957
+ * Drop-in replacement for a plain `ngx-google-places-autocomplete` address input.
3958
+ * Bundles the input, a "confirm on map" button, the verified/unverified status line,
3959
+ * and the `<im-address-map-picker>` modal so every consumer needs is:
3960
+ *
3961
+ * <im-address-verify-field formControlName="address1" [options]="options"
3962
+ * (addressResolved)="onAddressResolved($event)"></im-address-verify-field>
3963
+ *
3964
+ * `addressResolved` hands back the full parsed address so the caller can patch
3965
+ * whatever sibling fields (city/state/zip/...) its own form happens to have —
3966
+ * this component only owns the address1 text value via ControlValueAccessor.
3967
+ */
3968
+ declare class AddressVerifyFieldComponent implements ControlValueAccessor {
3969
+ placeholder: string;
3970
+ options: any;
3971
+ maxLength: number | null;
3972
+ inputId?: string;
3973
+ name?: string;
3974
+ autocompleteAttr: string;
3975
+ /**
3976
+ * Extra CSS classes merged onto the wrapped <input>. Defaults to Bootstrap's "form-control"
3977
+ * for consumers that already use Bootstrap forms (set to '' to opt out entirely).
3978
+ */
3979
+ inputClass: string;
3980
+ /** Set from the parent's touched/dirty + invalid check to show Bootstrap's `is-invalid` state. */
3981
+ invalid: boolean;
3982
+ /**
3983
+ * Per-consumer look for the wrapped <input> — needed for pages that style inputs with their
3984
+ * own scoped component stylesheet (e.g. `.ip-input`), since that stylesheet can't reach into
3985
+ * this component's own template past Angular's view encapsulation. Avoid setting `padding`/
3986
+ * `paddingRight` here if it would cover the map button's reserved space (see scss).
3987
+ */
3988
+ inputStyle: {
3989
+ [key: string]: string;
3990
+ };
3991
+ initialLat?: number | null;
3992
+ initialLng?: number | null;
3993
+ /** Fires whenever a place is picked (autocomplete or map) with the full parsed address. */
3994
+ addressResolved: EventEmitter<GoogleAddressResult>;
3995
+ /** Fires when the user types in the field by hand, invalidating any prior verification. */
3996
+ manualEdit: EventEmitter<void>;
3997
+ value: string;
3998
+ disabled: boolean;
3999
+ addressVerified: boolean;
4000
+ mapPickerVisible: boolean;
4001
+ private lastResolvedLat;
4002
+ private lastResolvedLng;
4003
+ private onChange;
4004
+ private onTouched;
4005
+ writeValue(value: string): void;
4006
+ registerOnChange(fn: (value: string) => void): void;
4007
+ registerOnTouched(fn: () => void): void;
4008
+ setDisabledState(isDisabled: boolean): void;
4009
+ notifyChange(value: string): void;
4010
+ notifyTouched(): void;
4011
+ /** Typing in the field by hand invalidates the previous verification. */
4012
+ onManualEdit(): void;
4013
+ isVerified(): boolean;
4014
+ onAutocompleteChange(place: any): void;
4015
+ openMapPicker(): void;
4016
+ onMapPickerConfirmed(result: GoogleAddressResult): void;
4017
+ onMapPickerCancelled(): void;
4018
+ get computedInputStyle(): {
4019
+ [key: string]: string;
4020
+ };
4021
+ get mapInitialLat(): number | null | undefined;
4022
+ get mapInitialLng(): number | null | undefined;
4023
+ private applyVerifiedAddress;
4024
+ static ɵfac: i0.ɵɵFactoryDeclaration<AddressVerifyFieldComponent, never>;
4025
+ static ɵcmp: i0.ɵɵComponentDeclaration<AddressVerifyFieldComponent, "im-address-verify-field", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "options": { "alias": "options"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; }; "name": { "alias": "name"; "required": false; }; "autocompleteAttr": { "alias": "autocompleteAttr"; "required": false; }; "inputClass": { "alias": "inputClass"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "inputStyle": { "alias": "inputStyle"; "required": false; }; "initialLat": { "alias": "initialLat"; "required": false; }; "initialLng": { "alias": "initialLng"; "required": false; }; }, { "addressResolved": "addressResolved"; "manualEdit": "manualEdit"; }, never, never, false, never>;
4026
+ }
4027
+
4028
+ declare class AddressMapPickerComponent implements OnChanges, OnDestroy {
4029
+ private ngZone;
4030
+ private modalService;
4031
+ visible: boolean;
4032
+ title: string;
4033
+ searchPlaceholder: string;
4034
+ options: any;
4035
+ initialLat?: number | null;
4036
+ initialLng?: number | null;
4037
+ initialAddress?: string | null;
4038
+ confirmed: EventEmitter<GoogleAddressResult>;
4039
+ cancelled: EventEmitter<void>;
4040
+ pickerModalTpl: TemplateRef<any>;
4041
+ center: google.maps.LatLngLiteral;
4042
+ zoom: number;
4043
+ markerPosition: google.maps.LatLngLiteral | null;
4044
+ markerOptions: google.maps.MarkerOptions;
4045
+ mapOptions: google.maps.MapOptions;
4046
+ isSatelliteView: boolean;
4047
+ searchText: string;
4048
+ resolvedAddress: GoogleAddressResult | null;
4049
+ /** Raw `types` of the closest geocode match for the current point — drives isNonAddressFeature. */
4050
+ private resolvedPlaceTypes;
4051
+ isResolving: boolean;
4052
+ isLocating: boolean;
4053
+ /** The Google Maps script tag is loaded async — never touch `google.maps` until this is true. */
4054
+ mapsApiReady: boolean;
4055
+ private geocoder;
4056
+ private justConfirmed;
4057
+ private mapsPollHandle;
4058
+ private locatedForThisOpen;
4059
+ private modalRef?;
4060
+ constructor(ngZone: NgZone, modalService: BsModalService);
4061
+ get isOutOfCountry(): boolean;
4062
+ /** True when we only have a vague/failed match — no real street number & route to hand back. */
4063
+ get isMissingStreetAddress(): boolean;
4064
+ /** True when the exact point picked looks like water, parkland, a rail line, etc. — not a street address. */
4065
+ get isNonAddressFeature(): boolean;
4066
+ toggleSatelliteView(): void;
4067
+ ngOnChanges(changes: SimpleChanges): void;
4068
+ ngOnDestroy(): void;
4069
+ private showModal;
4070
+ private hideModal;
4071
+ /** Callers may hand us "", null, undefined, or a numeric string — only a real finite number is usable. */
4072
+ private toFiniteNumber;
4073
+ private resetState;
4074
+ /** Polls until the async Google Maps script has finished loading. */
4075
+ private ensureMapsReady;
4076
+ /** Centers the map on the address/coords already known, or falls back to the user's current location. */
4077
+ private locateOnOpen;
4078
+ private getGeocoder;
4079
+ /**
4080
+ * Reverse-geocoding a point can return several candidates at different precision levels.
4081
+ * Prefer the first one that actually has a street number + route — a plain "route" or
4082
+ * "locality" match isn't a real street address.
4083
+ */
4084
+ private pickBestGeocodeResult;
4085
+ onMapClick(event: any): void;
4086
+ onMarkerDragEnd(event: any): void;
4087
+ onSearchAddressChange(place: any): void;
4088
+ private geocodeFreeText;
4089
+ useCurrentLocation(): void;
4090
+ private setMarker;
4091
+ private reverseGeocode;
4092
+ confirm(): void;
4093
+ cancel(): void;
4094
+ private onModalClosed;
4095
+ static ɵfac: i0.ɵɵFactoryDeclaration<AddressMapPickerComponent, never>;
4096
+ static ɵcmp: i0.ɵɵComponentDeclaration<AddressMapPickerComponent, "im-address-map-picker", never, { "visible": { "alias": "visible"; "required": false; }; "title": { "alias": "title"; "required": false; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; }; "options": { "alias": "options"; "required": false; }; "initialLat": { "alias": "initialLat"; "required": false; }; "initialLng": { "alias": "initialLng"; "required": false; }; "initialAddress": { "alias": "initialAddress"; "required": false; }; }, { "confirmed": "confirmed"; "cancelled": "cancelled"; }, never, never, false, never>;
4097
+ }
4098
+
4099
+ /**
4100
+ * Standalone-safe wrapper around the address-verify field + map picker, so both
4101
+ * NgModule-declared components (via `imports`) and standalone components (via their
4102
+ * own `imports` array) can pull in `<im-address-verify-field>` without depending on
4103
+ * the whole `InitialProcessModule` (which would create a circular module reference
4104
+ * for standalone components that `InitialProcessModule` itself imports, e.g. preview).
4105
+ */
4106
+ declare class AddressVerifyFieldModule {
4107
+ static ɵfac: i0.ɵɵFactoryDeclaration<AddressVerifyFieldModule, never>;
4108
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AddressVerifyFieldModule, [typeof AddressVerifyFieldComponent, typeof AddressMapPickerComponent], [typeof i2.CommonModule, typeof _angular_forms.FormsModule, typeof i5.ModalModule, typeof i6.TooltipModule, typeof i7.GoogleMapsModule, typeof GooglePlaceModule], [typeof AddressVerifyFieldComponent]>;
4109
+ static ɵinj: i0.ɵɵInjectorDeclaration<AddressVerifyFieldModule>;
4110
+ }
4111
+
3927
4112
  declare class InitialProcessModule {
3928
4113
  static ɵfac: i0.ɵɵFactoryDeclaration<InitialProcessModule, never>;
3929
- static ɵmod: i0.ɵɵNgModuleDeclaration<InitialProcessModule, [typeof InitialProcessComponent, typeof ClaimProcessComponent, typeof TermsConditionsComponent, typeof PrivacyPolicyComponent, typeof CredentialingComponent, typeof StepperComponent, typeof EducationComponent, typeof CertificationComponent, typeof SkillsComponent, typeof LicensesComponent, typeof ToolsComponent, typeof RoleSelectComponent, typeof Step2CoverageComponent, typeof WorkexperienceComponent, typeof FirstComponent], [typeof i2.CommonModule, typeof _angular_forms.FormsModule, typeof _angular_forms.ReactiveFormsModule, typeof i18.RouterModule, typeof UsMapModule, typeof i20.NgSelectModule, typeof i21.BsDatepickerModule, typeof Ng2LoadingSpinnerModule, typeof LoaderModule, typeof CustomPipesModule, typeof NgxStarsModule, typeof i26.TooltipModule, typeof i27.TabsModule, typeof i28.AccordionModule, typeof GooglePlaceModule, typeof i30.GoogleMapsModule, typeof TextMaskModule, typeof SignaturePadModule, typeof PreviewComponent, typeof CommonPipesModule], [typeof InitialProcessComponent, typeof TermsConditionsComponent, typeof PrivacyPolicyComponent, typeof ClaimProcessComponent]>;
4114
+ static ɵmod: i0.ɵɵNgModuleDeclaration<InitialProcessModule, [typeof InitialProcessComponent, typeof ClaimProcessComponent, typeof TermsConditionsComponent, typeof PrivacyPolicyComponent, typeof CredentialingComponent, typeof StepperComponent, typeof EducationComponent, typeof CertificationComponent, typeof SkillsComponent, typeof LicensesComponent, typeof ToolsComponent, typeof RoleSelectComponent, typeof Step2CoverageComponent, typeof WorkexperienceComponent, typeof FirstComponent], [typeof i2.CommonModule, typeof _angular_forms.FormsModule, typeof _angular_forms.ReactiveFormsModule, typeof i18.RouterModule, typeof UsMapModule, typeof i20.NgSelectModule, typeof i21.BsDatepickerModule, typeof Ng2LoadingSpinnerModule, typeof LoaderModule, typeof CustomPipesModule, typeof NgxStarsModule, typeof i6.TooltipModule, typeof i27.TabsModule, typeof i28.AccordionModule, typeof GooglePlaceModule, typeof i7.GoogleMapsModule, typeof i5.ModalModule, typeof TextMaskModule, typeof SignaturePadModule, typeof PreviewComponent, typeof CommonPipesModule, typeof AddressVerifyFieldModule], [typeof InitialProcessComponent, typeof TermsConditionsComponent, typeof PrivacyPolicyComponent, typeof ClaimProcessComponent, typeof AddressVerifyFieldModule]>;
3930
4115
  static ɵinj: i0.ɵɵInjectorDeclaration<InitialProcessModule>;
3931
4116
  }
3932
4117
 
@@ -3991,5 +4176,5 @@ declare class VerifyEmailComponent implements OnInit, OnDestroy {
3991
4176
  static ɵcmp: i0.ɵɵComponentDeclaration<VerifyEmailComponent, "app-verify-email", never, {}, {}, never, never, true, never>;
3992
4177
  }
3993
4178
 
3994
- export { AppType, ClaimProcessComponent, InitialProcessComponent, InitialProcessModule, LIBRARY_CONFIG, MustChangePasswordComponent, PreviewComponent, PrivacyPolicyComponent, TermsConditionsComponent, VerifyEmailComponent };
3995
- export type { LibraryConfig };
4179
+ export { AddressVerifyFieldComponent, AddressVerifyFieldModule, AppType, ClaimProcessComponent, InitialProcessComponent, InitialProcessModule, LIBRARY_CONFIG, MustChangePasswordComponent, PreviewComponent, PrivacyPolicyComponent, TermsConditionsComponent, VerifyEmailComponent, extractGoogleAddressComponents };
4180
+ export type { GoogleAddressResult, LibraryConfig };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idsoftsource/initial-process",
3
- "version": "2.9.7",
3
+ "version": "2.9.9",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^20.0.0",
6
6
  "@angular/core": "^20.0.0",