@dyedurham/search-and-file-widget 2.1.21 → 2.1.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -58112,6 +58112,9 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
58112
58112
  return task?._taskType === TaskType.AnnualCompliance;
58113
58113
  }
58114
58114
  function getFilingProvider(task) {
58115
+ if (task && isBritishColumbiaTask(task)) {
58116
+ return "bcreg";
58117
+ }
58115
58118
  return task && !isOntarioTask(task) ? "federal" : "obr";
58116
58119
  }
58117
58120
  function getSearchOrFilingType(task) {
@@ -81313,12 +81316,16 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
81313
81316
  bcChangeOfDirectorsInitialDelta = signal(null);
81314
81317
  bcFormationInitialDelta = signal(null);
81315
81318
  bcChangeOfOfficeAddressesInitialDelta = signal(null);
81319
+ bcAnnualReportInitialDelta = signal(null);
81316
81320
  setFormationInitialDelta(delta) {
81317
81321
  this.formationInitialDelta.set(delta);
81318
81322
  }
81319
81323
  setBCFormationInitialDelta(delta) {
81320
81324
  this.bcFormationInitialDelta.set(delta);
81321
81325
  }
81326
+ setBCAnnualReportInitialDelta(delta) {
81327
+ this.bcAnnualReportInitialDelta.set(delta);
81328
+ }
81322
81329
  setBCChangeOfOfficeAddressesInitialDelta(delta) {
81323
81330
  this.bcChangeOfOfficeAddressesInitialDelta.set(delta);
81324
81331
  }
@@ -81342,6 +81349,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
81342
81349
  this.bcChangeOfDirectorsInitialDelta.set(null);
81343
81350
  this.bcFormationInitialDelta.set(null);
81344
81351
  this.bcChangeOfOfficeAddressesInitialDelta.set(null);
81352
+ this.bcAnnualReportInitialDelta.set(null);
81345
81353
  }
81346
81354
  static \u0275fac = function DeltaStateService_Factory(__ngFactoryType__) {
81347
81355
  return new (__ngFactoryType__ || _DeltaStateService)();
@@ -84202,7 +84210,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
84202
84210
  });
84203
84211
 
84204
84212
  // src/app/enums/british-columbia-form.enums.ts
84205
- var BCChangeOfDirectorsFormControls, BCChangeOfDirectorsFormGroups, BCFormationFormControls, BCChangeOfOfficeAddressesFormControls, BCChangeOfOfficeAddressesFormGroups, BCFormationFormGroups;
84213
+ var BCChangeOfDirectorsFormControls, BCChangeOfDirectorsFormGroups, BCFormationFormControls, BCChangeOfOfficeAddressesFormControls, BCChangeOfOfficeAddressesFormGroups, BCAnnualReportFormControls, BCAnnualReportFormGroups, BCFormationFormGroups;
84206
84214
  var init_british_columbia_form_enums = __esm({
84207
84215
  "src/app/enums/british-columbia-form.enums.ts"() {
84208
84216
  (function(BCChangeOfDirectorsFormControls2) {
@@ -84294,6 +84302,26 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
84294
84302
  BCChangeOfOfficeAddressesFormGroups2["RecordsOfficeAddress"] = "Records Office Address";
84295
84303
  BCChangeOfOfficeAddressesFormGroups2["AnnualReportReminder"] = "Annual Report Reminder";
84296
84304
  })(BCChangeOfOfficeAddressesFormGroups || (BCChangeOfOfficeAddressesFormGroups = {}));
84305
+ (function(BCAnnualReportFormControls2) {
84306
+ BCAnnualReportFormControls2["Id"] = "id";
84307
+ BCAnnualReportFormControls2["AffiliationName"] = "entityName";
84308
+ BCAnnualReportFormControls2["Role"] = "Role";
84309
+ BCAnnualReportFormControls2["AffiliationType"] = "AffiliationType";
84310
+ BCAnnualReportFormControls2["ClientMatterNumber"] = "ClientMatterNumber";
84311
+ BCAnnualReportFormControls2["DocketNumber"] = "docketNumber";
84312
+ BCAnnualReportFormControls2["EntityIdentifier"] = "entityIdentifier";
84313
+ BCAnnualReportFormControls2["EffectiveDate"] = "effectiveDate";
84314
+ BCAnnualReportFormControls2["CeaseDate"] = "ceaseDate";
84315
+ BCAnnualReportFormControls2["FullAddress"] = "fullAddress";
84316
+ BCAnnualReportFormControls2["CompanyEmail"] = "companyEmail";
84317
+ BCAnnualReportFormControls2["IsAnnualReportReminderRequired"] = "isAnnualReportReminderRequired";
84318
+ })(BCAnnualReportFormControls || (BCAnnualReportFormControls = {}));
84319
+ (function(BCAnnualReportFormGroups2) {
84320
+ BCAnnualReportFormGroups2["General"] = "General";
84321
+ BCAnnualReportFormGroups2["Officers"] = "Officers";
84322
+ BCAnnualReportFormGroups2["CompanyEmail"] = "Company Email";
84323
+ BCAnnualReportFormGroups2["AnnualReportReminder"] = "Annual Report Reminder";
84324
+ })(BCAnnualReportFormGroups || (BCAnnualReportFormGroups = {}));
84297
84325
  (function(BCFormationFormGroups2) {
84298
84326
  BCFormationFormGroups2["ReferenceNumbers"] = "Reference Numbers";
84299
84327
  BCFormationFormGroups2["CorporationDetails"] = "Corporation Details";
@@ -84312,12 +84340,12 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
84312
84340
  const entityDetails = deltaData.entityDetails;
84313
84341
  const isNamed2 = entityDetails?.corporationNameType === BCNameType.Named;
84314
84342
  const nameTranslations = entityDetails?.usesNameTranslation ? (entityDetails.nameTranslations ?? []).filter(Boolean) : [];
84315
- const registeredOffice = findSharedAddressAffiliation(affiliations, AddressTitle2.REGISTERED_OFFICE);
84316
- const recordsOffice = findSharedAddressAffiliation(affiliations, AddressTitle2.RECORDS_OFFICE);
84317
- const regMailing = pickAddress(registeredOffice?.addresses, "Mailing");
84318
- const regDelivery = pickAddress(registeredOffice?.addresses, "Delivery");
84319
- const recMailing = pickAddress(recordsOffice?.addresses, "Mailing");
84320
- const recDelivery = pickAddress(recordsOffice?.addresses, "Delivery");
84343
+ const registeredOfficeAddresses = collectSharedAddresses(affiliations, AddressTitle2.REGISTERED_OFFICE);
84344
+ const recordsOfficeAddresses = collectSharedAddresses(affiliations, AddressTitle2.RECORDS_OFFICE);
84345
+ const regMailing = pickAddress(registeredOfficeAddresses, "Mailing");
84346
+ const regDelivery = pickAddress(registeredOfficeAddresses, "Delivery");
84347
+ const recMailing = pickAddress(recordsOfficeAddresses, "Mailing");
84348
+ const recDelivery = pickAddress(recordsOfficeAddresses, "Delivery");
84321
84349
  const regMailingBC = mapAddress(regMailing);
84322
84350
  const regDeliveryBC = regDelivery ? mapAddress(regDelivery) : void 0;
84323
84351
  const recMailingBC = recMailing ? mapAddress(recMailing) : void 0;
@@ -84358,6 +84386,26 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
84358
84386
  };
84359
84387
  return pruneUndefined(request);
84360
84388
  }
84389
+ function findBCOfficeAddressIssues(task) {
84390
+ const affiliations = task.entity.affiliations ?? [];
84391
+ const issues = [];
84392
+ const offices = [
84393
+ { name: "Registered Office", title: AddressTitle2.REGISTERED_OFFICE, required: true },
84394
+ { name: "Records Office", title: AddressTitle2.RECORDS_OFFICE, required: false }
84395
+ ];
84396
+ for (const { name, title, required } of offices) {
84397
+ const addresses = collectSharedAddresses(affiliations, title);
84398
+ if (!addresses.length && !required) {
84399
+ continue;
84400
+ }
84401
+ for (const type of ["Mailing", "Delivery"]) {
84402
+ if (!pickAddress(addresses, type)) {
84403
+ issues.push(`The ${name} has no ${type} address.`);
84404
+ }
84405
+ }
84406
+ }
84407
+ return issues;
84408
+ }
84361
84409
  function findBCRequestIssues(request) {
84362
84410
  const issues = [];
84363
84411
  const email = request.companyEmail?.trim() ?? "";
@@ -84366,17 +84414,17 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
84366
84414
  } else if (email.length > 150) {
84367
84415
  issues.push("Company Email must be 150 characters or fewer.");
84368
84416
  }
84369
- if (!request.registeredOfficeMailingAddress?.streetAddress?.trim()) {
84370
- issues.push("The Registered Office has no Mailing address. Add one in Athennian.");
84371
- }
84372
84417
  for (const director of request.directors ?? []) {
84373
84418
  if (!director.mailingAddress?.streetAddress?.trim()) {
84374
- issues.push(`Director ${`${director.firstName} ${director.lastName}`.trim()} has no Mailing address. Add one in Athennian.`);
84419
+ issues.push(`Director ${`${director.firstName} ${director.lastName}`.trim()} has no Mailing address.`);
84375
84420
  }
84376
84421
  }
84422
+ if (!request.authorizedShareStructure?.shareClasses?.length) {
84423
+ issues.push("The Authorized Share Structure is required.");
84424
+ }
84377
84425
  const password = request.password ?? "";
84378
84426
  if (password.length < BC_PASSWORD_MIN_LENGTH || password.length > BC_PASSWORD_MAX_LENGTH || !/^[A-Za-z0-9]+$/.test(password)) {
84379
- issues.push(`The company password (taken from the entity's registry ID) must be ${BC_PASSWORD_MIN_LENGTH} to ${BC_PASSWORD_MAX_LENGTH} letters or digits only. Update the registry ID in Athennian.`);
84427
+ issues.push(`The company password (taken from the entity's registry ID) must be ${BC_PASSWORD_MIN_LENGTH} to ${BC_PASSWORD_MAX_LENGTH} letters or digits only.`);
84380
84428
  }
84381
84429
  return issues;
84382
84430
  }
@@ -84431,7 +84479,8 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
84431
84479
  return {
84432
84480
  incorporatorType: isIndividual ? "individual" : "corporationOrFirm",
84433
84481
  // Names are only accepted for an individual; a corporation or firm is identified by
84434
- // `corporationOrFirmName` (the API rejects first/last name otherwise).
84482
+ // `corporationOrFirmName` (the deployed API rejects first/last name otherwise, although its
84483
+ // published spec lists them as required).
84435
84484
  firstName: isIndividual ? incorporator.firstName ?? "" : void 0,
84436
84485
  middleName: isIndividual ? incorporator.middleName || void 0 : void 0,
84437
84486
  lastName: isIndividual ? incorporator.lastName ?? "" : void 0,
@@ -84470,6 +84519,9 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
84470
84519
  function findSharedAddressAffiliation(affiliations, staticTitle) {
84471
84520
  return affiliations.find((a) => a.role?.role_name === AddressRole2.SHARED_ADDRESS && a.role?.static_title === staticTitle && isActiveAffiliation(a));
84472
84521
  }
84522
+ function collectSharedAddresses(affiliations, staticTitle) {
84523
+ return affiliations.filter((a) => a.role?.role_name === AddressRole2.SHARED_ADDRESS && a.role?.static_title === staticTitle && isActiveAffiliation(a)).flatMap((a) => a.addresses ?? []);
84524
+ }
84473
84525
  function pickAddress(addresses, locationType, fallbackToFirst = false) {
84474
84526
  const match = addresses?.find((a) => (a.computed_location_type ?? a.location_type)?.toLowerCase() === locationType.toLowerCase());
84475
84527
  return match ?? (fallbackToFirst ? addresses?.[0] : void 0);
@@ -84606,7 +84658,8 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
84606
84658
  const affiliations = task.entity.affiliations ?? [];
84607
84659
  const delta = task.deltaData;
84608
84660
  const registeredOffice = findSharedAddressAffiliation(affiliations, AddressTitle2.REGISTERED_OFFICE);
84609
- const recordsOffice = findSharedAddressAffiliation(affiliations, AddressTitle2.RECORDS_OFFICE);
84661
+ const registeredOfficeAddresses = collectSharedAddresses(affiliations, AddressTitle2.REGISTERED_OFFICE);
84662
+ const recordsOfficeAddresses = collectSharedAddresses(affiliations, AddressTitle2.RECORDS_OFFICE);
84610
84663
  const companyEmail = task.entity.emailOptions?.[0]?.value ?? registeredOffice?.addresses?.[0]?.communications?.find((c) => c.type === "Business Email")?.value ?? task.entity.communications?.find((c) => c.type === "Business Email")?.value ?? // Email only: the entity may carry its Business Email on another address (e.g. Head
84611
84664
  // Office) when no Registered Office shared address exists.
84612
84665
  task.entity.addresses?.flatMap((a) => a.communications ?? []).find((c) => c.type === "Business Email")?.value ?? "";
@@ -84615,19 +84668,19 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
84615
84668
  config2[BCFormationFormGroups.CorporationDetails] = this.generateCorporationDetailsFormGroup(task, delta?.entityDetails, companyEmail);
84616
84669
  config2[BCFormationFormGroups.RegisteredOfficeAddress] = new FormGroup({
84617
84670
  [BCFormationFormControls.MailingAddress]: new FormControl({
84618
- value: this.formatFullAddress(this.pickAddress(registeredOffice?.addresses, "Mailing", true)),
84671
+ value: this.formatFullAddress(this.pickAddress(registeredOfficeAddresses, "Mailing", true)),
84619
84672
  disabled: true
84620
84673
  }),
84621
84674
  [BCFormationFormControls.DeliveryAddress]: new FormControl({
84622
- value: this.formatFullAddress(this.pickAddress(registeredOffice?.addresses, "Delivery", true)),
84675
+ value: this.formatFullAddress(this.pickAddress(registeredOfficeAddresses, "Delivery", true)),
84623
84676
  disabled: true
84624
84677
  }),
84625
84678
  [BCFormationFormControls.RecordsOfficeMailingAddress]: new FormControl({
84626
- value: this.formatFullAddress(this.pickAddress(recordsOffice?.addresses, "Mailing", true)),
84679
+ value: this.formatFullAddress(this.pickAddress(recordsOfficeAddresses, "Mailing", true)),
84627
84680
  disabled: true
84628
84681
  }),
84629
84682
  [BCFormationFormControls.RecordsOfficeDeliveryAddress]: new FormControl({
84630
- value: this.formatFullAddress(this.pickAddress(recordsOffice?.addresses, "Delivery", true)),
84683
+ value: this.formatFullAddress(this.pickAddress(recordsOfficeAddresses, "Delivery", true)),
84631
84684
  disabled: true
84632
84685
  })
84633
84686
  });
@@ -84905,8 +84958,479 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
84905
84958
  }
84906
84959
  });
84907
84960
 
84961
+ // src/app/helpers/british-columbia/change-of-office-addresses/british-columbia-change-of-office-addresses-form.helper.ts
84962
+ var Controls, COMPANY_EMAIL_TYPES, isCompanyEmail, incomingAddressByGrid, EDITABLE_ADDRESS_CONTROLS, BritishColumbiaChangeOfOfficeAddressesFormHelper;
84963
+ var init_british_columbia_change_of_office_addresses_form_helper = __esm({
84964
+ "src/app/helpers/british-columbia/change-of-office-addresses/british-columbia-change-of-office-addresses-form.helper.ts"() {
84965
+ init_forms();
84966
+ init_common_models();
84967
+ init_british_columbia_form_enums();
84968
+ init_BritishColumbiaConstants();
84969
+ init_british_columbia_formation_form_helper();
84970
+ init_BritishColumbiaConstants();
84971
+ init_common_utils();
84972
+ Controls = BCChangeOfOfficeAddressesFormControls;
84973
+ COMPANY_EMAIL_TYPES = ["Business Email", "Email"];
84974
+ isCompanyEmail = (communication) => Boolean(communication?.value) && COMPANY_EMAIL_TYPES.includes(communication?.type ?? "");
84975
+ incomingAddressByGrid = /* @__PURE__ */ new WeakMap();
84976
+ EDITABLE_ADDRESS_CONTROLS = [
84977
+ Controls.AddressLine1,
84978
+ Controls.AddressLine2,
84979
+ Controls.City,
84980
+ Controls.PostalCode
84981
+ ];
84982
+ BritishColumbiaChangeOfOfficeAddressesFormHelper = class {
84983
+ static generateConfig(task, _translateFn) {
84984
+ const affiliations = task.entity.affiliations ?? [];
84985
+ const delta = task.deltaData;
84986
+ const format = BritishColumbiaFormationFormHelper.formatFullAddress;
84987
+ const pick = BritishColumbiaFormationFormHelper.pickAddress;
84988
+ const registeredOffice = BritishColumbiaFormationFormHelper.findSharedAddressAffiliation(affiliations, AddressTitle2.REGISTERED_OFFICE);
84989
+ const recordsOffice = BritishColumbiaFormationFormHelper.findSharedAddressAffiliation(affiliations, AddressTitle2.RECORDS_OFFICE);
84990
+ const incoming = this.incomingOfficeAddresses(task);
84991
+ const seed = delta?.registeredOffice ? this.fillEmptyAddresses(delta, incoming) : this.seedFromIncomingAffiliations(task);
84992
+ const config2 = {};
84993
+ config2[BCChangeOfOfficeAddressesFormGroups.ReferenceNumbers] = this.generateReferenceNumbersFormGroup(delta?.referenceNumbers, task.entity._profile.client_matter_number);
84994
+ config2[BCChangeOfOfficeAddressesFormGroups.CorporationDetails] = new FormGroup({
84995
+ [Controls.CorporationName]: this.readOnly(task.entity._profile.name),
84996
+ [Controls.IncorporationNumber]: this.readOnly(task.entity._profile.corp_number),
84997
+ [Controls.CompanyEmail]: new FormControl(delta?.companyEmail || this.resolveCompanyEmail(task), Validators.required)
84998
+ });
84999
+ config2[BCChangeOfOfficeAddressesFormGroups.AnnualReportReminder] = new FormGroup({
85000
+ [Controls.AnnualReportReminder]: new FormControl(delta?.annualReportReminder ?? BCAnnualReportReminder.Yes, Validators.required)
85001
+ });
85002
+ const regDeliverySame = seed.registeredOffice?.deliverySameAsMailing ?? true;
85003
+ config2[BCChangeOfOfficeAddressesFormGroups.RegisteredOfficeAddress] = new FormGroup({
85004
+ [Controls.CurrentMailingAddress]: this.readOnly(format(pick(registeredOffice?.addresses, "Mailing"))),
85005
+ [Controls.CurrentDeliveryAddress]: this.readOnly(format(pick(registeredOffice?.addresses, "Delivery"))),
85006
+ [Controls.NewMailingAddress]: this.createOfficeAddressFormGroup(seed.registeredOffice?.mailingAddress, true),
85007
+ [Controls.DeliverySameAsMailing]: new FormControl(regDeliverySame),
85008
+ [Controls.NewDeliveryAddress]: this.createOfficeAddressFormGroup(seed.registeredOffice?.deliveryAddress, !regDeliverySame)
85009
+ });
85010
+ const recSameAsRegistered = seed.recordsOffice?.sameAsRegisteredOffice ?? true;
85011
+ const recDeliverySame = seed.recordsOffice?.deliverySameAsMailing ?? true;
85012
+ config2[BCChangeOfOfficeAddressesFormGroups.RecordsOfficeAddress] = new FormGroup({
85013
+ [Controls.CurrentMailingAddress]: this.readOnly(format(pick(recordsOffice?.addresses, "Mailing"))),
85014
+ [Controls.CurrentDeliveryAddress]: this.readOnly(format(pick(recordsOffice?.addresses, "Delivery"))),
85015
+ [Controls.SameAsRegisteredOffice]: new FormControl(recSameAsRegistered),
85016
+ [Controls.NewMailingAddress]: this.createOfficeAddressFormGroup(seed.recordsOffice?.mailingAddress, !recSameAsRegistered),
85017
+ [Controls.DeliverySameAsMailing]: new FormControl(recDeliverySame),
85018
+ [Controls.NewDeliveryAddress]: this.createOfficeAddressFormGroup(seed.recordsOffice?.deliveryAddress, !recSameAsRegistered && !recDeliverySame)
85019
+ });
85020
+ const grid = (group2, control) => config2[group2].get(control);
85021
+ const register = (target, address) => address && incomingAddressByGrid.set(target, address);
85022
+ register(grid(BCChangeOfOfficeAddressesFormGroups.RegisteredOfficeAddress, Controls.NewDeliveryAddress), incoming.regDelivery);
85023
+ register(grid(BCChangeOfOfficeAddressesFormGroups.RecordsOfficeAddress, Controls.NewMailingAddress), incoming.recMailing);
85024
+ register(grid(BCChangeOfOfficeAddressesFormGroups.RecordsOfficeAddress, Controls.NewDeliveryAddress), incoming.recDelivery);
85025
+ return config2;
85026
+ }
85027
+ /** The company email choices: the entity's email options, plus the resolved default if it isn't one. */
85028
+ static getCompanyEmailOptions(task) {
85029
+ const values = (task.entity.emailOptions ?? []).filter(isCompanyEmail).map((o) => o.value);
85030
+ const fallback = this.resolveCompanyEmail(task);
85031
+ return [...new Set(fallback ? [...values, fallback] : values)].map((value) => ({
85032
+ value,
85033
+ label: value
85034
+ }));
85035
+ }
85036
+ /**
85037
+ * Pre-fills the new addresses from the task's incoming "Shared Address" affiliations (Registered
85038
+ * Office / Records Office), taking each Mailing / Delivery address from the affiliation or, when
85039
+ * it has none, from its parent affiliation. Nothing is pre-filled without an incoming address.
85040
+ */
85041
+ static seedFromIncomingAffiliations(task) {
85042
+ const { regMailing, regDelivery, recMailing, recDelivery } = this.incomingOfficeAddresses(task);
85043
+ if (!regMailing && !recMailing) {
85044
+ return {};
85045
+ }
85046
+ const regDeliverySame = !regDelivery || this.isSameOfficeAddress(regDelivery, regMailing);
85047
+ const recDeliverySame = !recDelivery || this.isSameOfficeAddress(recDelivery, recMailing);
85048
+ const recSameAsRegistered = !recMailing || this.isSameOfficeAddress(recMailing, regMailing) && this.isSameOfficeAddress(recDelivery ?? recMailing, regDelivery ?? regMailing);
85049
+ return {
85050
+ registeredOffice: {
85051
+ mailingAddress: regMailing,
85052
+ deliverySameAsMailing: regDeliverySame,
85053
+ deliveryAddress: regDeliverySame ? void 0 : regDelivery
85054
+ },
85055
+ recordsOffice: {
85056
+ sameAsRegisteredOffice: recSameAsRegistered,
85057
+ mailingAddress: recSameAsRegistered ? void 0 : recMailing,
85058
+ deliverySameAsMailing: recDeliverySame,
85059
+ deliveryAddress: recDeliverySame ? void 0 : recDelivery
85060
+ }
85061
+ };
85062
+ }
85063
+ /** Keeps the saved flags and addresses, but fills an address the draft left empty from `incoming`. */
85064
+ static fillEmptyAddresses(saved, incoming) {
85065
+ const hasValues = (address) => EDITABLE_ADDRESS_CONTROLS.some((name) => Boolean(address?.[name]));
85066
+ const pick = (savedAddress, incomingAddress) => hasValues(savedAddress) ? savedAddress : incomingAddress ?? savedAddress;
85067
+ return {
85068
+ registeredOffice: __spreadProps(__spreadValues({}, saved.registeredOffice), {
85069
+ mailingAddress: pick(saved.registeredOffice?.mailingAddress, incoming.regMailing),
85070
+ deliveryAddress: pick(saved.registeredOffice?.deliveryAddress, incoming.regDelivery)
85071
+ }),
85072
+ recordsOffice: __spreadProps(__spreadValues({}, saved.recordsOffice), {
85073
+ mailingAddress: pick(saved.recordsOffice?.mailingAddress, incoming.recMailing),
85074
+ deliveryAddress: pick(saved.recordsOffice?.deliveryAddress, incoming.recDelivery)
85075
+ })
85076
+ };
85077
+ }
85078
+ /** The four office addresses of the task's incoming Shared Address, as form values. */
85079
+ static incomingOfficeAddresses(task) {
85080
+ const incoming = task.incomingAffiliations ?? [];
85081
+ const pickBy = (title, locationType) => {
85082
+ const pool = incoming.filter((a) => a.role?.role_name === AddressRole2.SHARED_ADDRESS && a.role?.static_title === title).flatMap((a) => a.addresses?.length ? a.addresses : a.parent_affiliation?.addresses ?? []);
85083
+ const wanted = locationType.toLowerCase();
85084
+ const address = pool.find((a) => (a.computed_location_type ?? "").toLowerCase() === wanted || (a.location_type ?? "").toLowerCase() === wanted);
85085
+ return address && this.isBritishColumbia(address) ? this.toOfficeAddressDelta(address) : void 0;
85086
+ };
85087
+ return {
85088
+ regMailing: pickBy(AddressTitle2.REGISTERED_OFFICE, "Mailing"),
85089
+ regDelivery: pickBy(AddressTitle2.REGISTERED_OFFICE, "Delivery"),
85090
+ recMailing: pickBy(AddressTitle2.RECORDS_OFFICE, "Mailing"),
85091
+ recDelivery: pickBy(AddressTitle2.RECORDS_OFFICE, "Delivery")
85092
+ };
85093
+ }
85094
+ /** Street = street number + street name; the suite goes to Address Line 2. */
85095
+ static toOfficeAddressDelta(address) {
85096
+ const street = [getAddressComponent(address, "Street Number Only"), getAddressComponent(address, "Street Only")].filter(Boolean).join(" ") || getAddressComponent(address, "Street Address") || address.street || "";
85097
+ return {
85098
+ addressLine1: street,
85099
+ addressLine2: getAddressComponent(address, "Suite/Apartment") || address.address2 || "",
85100
+ city: address.city ?? "",
85101
+ postalCode: address.postal_zip ?? "",
85102
+ province: BC_DEFAULT_PROVINCE_STATE,
85103
+ country: BC_DEFAULT_COUNTRY
85104
+ };
85105
+ }
85106
+ /** An address with no province is accepted; the form only ever deals in British Columbia. */
85107
+ static isBritishColumbia(address) {
85108
+ const province = (address.province_state ?? "").trim().toLowerCase();
85109
+ return !province || ["bc", "b.c.", "british columbia"].includes(province);
85110
+ }
85111
+ static isSameOfficeAddress(a, b) {
85112
+ const key = (x) => [x?.addressLine1, x?.addressLine2, x?.city, x?.postalCode].map((v) => (v ?? "").trim().toLowerCase().replace(/\s+/g, " ")).join("|");
85113
+ return key(a) === key(b);
85114
+ }
85115
+ /**
85116
+ * The company's email: the entity's email options, then the Registered Office's email, then the
85117
+ * entity's own, then any other address of the entity (e.g. a Head Office). Only a Business Email
85118
+ * or an Email counts; a Personal Email never does.
85119
+ */
85120
+ static resolveCompanyEmail(task) {
85121
+ const affiliations = task.entity.affiliations ?? [];
85122
+ const registeredOffice = BritishColumbiaFormationFormHelper.findSharedAddressAffiliation(affiliations, AddressTitle2.REGISTERED_OFFICE);
85123
+ return task.entity.emailOptions?.find(isCompanyEmail)?.value || registeredOffice?.addresses?.[0]?.communications?.find(isCompanyEmail)?.value || task.entity.communications?.find(isCompanyEmail)?.value || task.entity.addresses?.flatMap((a) => a.communications ?? []).find(isCompanyEmail)?.value || "";
85124
+ }
85125
+ /**
85126
+ * Address Line 1*, Address Line 2, City*, Postal Code*, Province (BC), Country (Canada).
85127
+ * Province and Country are always disabled; the rest follow `enabled`.
85128
+ */
85129
+ static createOfficeAddressFormGroup(delta, enabled = true) {
85130
+ const group2 = new FormGroup({
85131
+ [Controls.AddressLine1]: new FormControl(delta?.addressLine1 ?? "", Validators.required),
85132
+ [Controls.AddressLine2]: new FormControl(delta?.addressLine2 ?? ""),
85133
+ [Controls.City]: new FormControl(delta?.city ?? "", Validators.required),
85134
+ [Controls.PostalCode]: new FormControl(delta?.postalCode ?? "", Validators.required),
85135
+ [Controls.Province]: this.readOnly(delta?.province ?? BC_DEFAULT_PROVINCE_STATE),
85136
+ [Controls.Country]: this.readOnly(delta?.country ?? BC_DEFAULT_COUNTRY)
85137
+ });
85138
+ this.setOfficeAddressEnabled(group2, enabled);
85139
+ return group2;
85140
+ }
85141
+ /**
85142
+ * Enables or disables the editable controls of an address grid (used by "Same as…" checkboxes).
85143
+ * Hiding a grid also clears it. Showing it again refills it with the address Athennian sent for
85144
+ * it, or leaves it empty when there is none (and when the user has already typed something).
85145
+ */
85146
+ static setOfficeAddressEnabled(group2, enabled) {
85147
+ if (!group2) {
85148
+ return;
85149
+ }
85150
+ const restore = incomingAddressByGrid.get(group2);
85151
+ const isEmpty = EDITABLE_ADDRESS_CONTROLS.every((name) => !group2.get(name)?.value);
85152
+ EDITABLE_ADDRESS_CONTROLS.forEach((name) => {
85153
+ const control = group2.get(name);
85154
+ if (enabled) {
85155
+ control?.enable({ emitEvent: false });
85156
+ if (restore && isEmpty) {
85157
+ control?.setValue(restore[name] ?? "", { emitEvent: false });
85158
+ }
85159
+ } else {
85160
+ control?.setValue("", { emitEvent: false });
85161
+ control?.disable({ emitEvent: false });
85162
+ }
85163
+ });
85164
+ group2.updateValueAndValidity({ emitEvent: false });
85165
+ }
85166
+ static generateReferenceNumbersFormGroup(deltaData, clientMatterNumber) {
85167
+ return new FormGroup({
85168
+ [Controls.ClientMatterNumber]: new FormControl(
85169
+ // `??`: an explicitly cleared value ('') in a saved draft must be preserved; the entity default applies only when absent.
85170
+ deltaData?.referenceNumber ?? clientMatterNumber ?? ""
85171
+ ),
85172
+ [Controls.DocketNumber]: new FormControl(deltaData?.docketNumber ?? "")
85173
+ });
85174
+ }
85175
+ static readOnly(value) {
85176
+ return new FormControl({ value: value ?? "", disabled: true });
85177
+ }
85178
+ };
85179
+ }
85180
+ });
85181
+
85182
+ // src/app/helpers/mappers/british-columbia-change-of-office-addresses.mapper.ts
85183
+ function formatPostalCode(value) {
85184
+ const compact = clean(value).replace(/[\s-]+/g, "").toUpperCase();
85185
+ return compact.length === 6 ? `${compact.slice(0, 3)} ${compact.slice(3)}` : clean(value).toUpperCase();
85186
+ }
85187
+ function toEcoreAddress(address) {
85188
+ const line2 = clean(address?.addressLine2);
85189
+ return __spreadProps(__spreadValues({
85190
+ streetAddress: clean(address?.addressLine1)
85191
+ }, line2 ? { additionalStreetAddress: line2 } : {}), {
85192
+ city: clean(address?.city),
85193
+ provinceOrState: BC_PROVINCE_CODE,
85194
+ postalOrZipCode: formatPostalCode(address?.postalCode),
85195
+ country: CANADA_COUNTRY_CODE
85196
+ });
85197
+ }
85198
+ function isSameAddress(a, b) {
85199
+ const key = (x) => [x.streetAddress, x.additionalStreetAddress, x.city, x.provinceOrState, x.postalOrZipCode, x.country].map((v) => (v ?? "").trim().toLowerCase().replace(/\s+/g, " ")).join("|");
85200
+ return key(a) === key(b);
85201
+ }
85202
+ function buildBCChangeOfOfficeAddressesValidateRequest(task, deltaData) {
85203
+ const registered = deltaData.registeredOffice;
85204
+ const records = deltaData.recordsOffice;
85205
+ const registeredMailing = toEcoreAddress(registered?.mailingAddress);
85206
+ const registeredDelivery = registered?.deliverySameAsMailing ? registeredMailing : toEcoreAddress(registered?.deliveryAddress);
85207
+ const recordsMailing = records?.sameAsRegisteredOffice ? registeredMailing : toEcoreAddress(records?.mailingAddress);
85208
+ const recordsDelivery = records?.sameAsRegisteredOffice ? registeredDelivery : records?.deliverySameAsMailing ? recordsMailing : toEcoreAddress(records?.deliveryAddress);
85209
+ const registeredDeliverySame = isSameAddress(registeredDelivery, registeredMailing);
85210
+ const recordsSameAsRegistered = isSameAddress(recordsMailing, registeredMailing);
85211
+ const recordsDeliverySame = isSameAddress(recordsDelivery, recordsMailing);
85212
+ const filing = {
85213
+ registeredOfficeMailingAddress: registeredMailing,
85214
+ isRegisteredOfficeDeliveryAddressSameAsMailing: registeredDeliverySame,
85215
+ isRecordsOfficeMailingAddressSameAsRegisteredOfficeMailing: recordsSameAsRegistered,
85216
+ isRecordsOfficeDeliveryAddressSameAsRecordsOfficeMailing: recordsDeliverySame,
85217
+ // Both are picked on the form; the fallbacks only cover data saved before they were added.
85218
+ companyEmail: clean(deltaData.companyEmail) || BritishColumbiaChangeOfOfficeAddressesFormHelper.resolveCompanyEmail(task),
85219
+ isAnnualReportReminderRequired: deltaData.annualReportReminder === BCAnnualReportReminder.Yes
85220
+ };
85221
+ const reference = clean(deltaData.referenceNumbers?.referenceNumber);
85222
+ const docket = clean(deltaData.referenceNumbers?.docketNumber);
85223
+ if (reference) {
85224
+ filing.reference = reference;
85225
+ }
85226
+ if (docket) {
85227
+ filing.docket = docket;
85228
+ }
85229
+ if (!registeredDeliverySame) {
85230
+ filing.registeredOfficeDeliveryAddress = registeredDelivery;
85231
+ }
85232
+ if (!recordsSameAsRegistered) {
85233
+ filing.recordsOfficeMailingAddress = recordsMailing;
85234
+ }
85235
+ if (!recordsDeliverySame) {
85236
+ filing.recordsOfficeDeliveryAddress = recordsDelivery;
85237
+ }
85238
+ return { filingType: "changeOfAddressFiling", filing };
85239
+ }
85240
+ function getBritishColumbiaAccessCode(task, env) {
85241
+ const registryId = task.entity._profile.registry_id?.trim() ?? "";
85242
+ if (registryId) {
85243
+ return registryId;
85244
+ }
85245
+ return env === "TEST" ? TEMP_UAT_TEST_ACCESS_CODE : "";
85246
+ }
85247
+ var TEMP_UAT_TEST_ACCESS_CODE, BC_PROVINCE_CODE, CANADA_COUNTRY_CODE, clean;
85248
+ var init_british_columbia_change_of_office_addresses_mapper = __esm({
85249
+ "src/app/helpers/mappers/british-columbia-change-of-office-addresses.mapper.ts"() {
85250
+ init_BritishColumbiaConstants();
85251
+ init_british_columbia_change_of_office_addresses_form_helper();
85252
+ TEMP_UAT_TEST_ACCESS_CODE = "12345678";
85253
+ BC_PROVINCE_CODE = "BC";
85254
+ CANADA_COUNTRY_CODE = "CA";
85255
+ clean = (value) => (value ?? "").trim();
85256
+ }
85257
+ });
85258
+
85259
+ // src/app/helpers/mappers/british-columbia-annual-report.mapper.ts
85260
+ function toBCOfficerPosition(title) {
85261
+ return OFFICER_POSITIONS.get((title ?? "").trim().toLowerCase()) ?? "otherOffices";
85262
+ }
85263
+ function getBCAnnualReportOfficerChanges(task) {
85264
+ const isOfficer = (a) => isPrincipalAffiliation2(a) && a.role?.role_name === OFFICER_ROLE_NAME && a._participant?.participant_type === "person";
85265
+ return {
85266
+ added: (task.incomingAffiliations ?? []).filter(isOfficer),
85267
+ ceased: (task.outgoingAffiliations ?? []).filter(isOfficer)
85268
+ };
85269
+ }
85270
+ function buildBCAnnualReportContext(task, env) {
85271
+ return {
85272
+ corporationNumber: task.entity._profile.corp_number ?? "",
85273
+ accessCodeOrPassword: getBritishColumbiaAccessCode(task, env),
85274
+ incorporationDate: String(task.entity._compliance?.incorporation_date ?? "").slice(0, 10),
85275
+ filingType: "annualReportFiling"
85276
+ };
85277
+ }
85278
+ function buildBCAnnualReportValidateRequest(task, deltaData) {
85279
+ const { added, ceased } = getBCAnnualReportOfficerChanges(task);
85280
+ return pruneUndefined({
85281
+ filingType: "annualReportFiling",
85282
+ filing: {
85283
+ reference: deltaData.referenceNumbers?.referenceNumber || void 0,
85284
+ docket: deltaData.referenceNumbers?.docketNumber || void 0,
85285
+ addOfficers: added.map(mapAddedOfficer),
85286
+ ceaseOfficers: ceased.map(mapCeasedOfficer),
85287
+ // Athennian does not populate edits (UEM-235 mapping: `editOfficers: []`).
85288
+ editOfficers: [],
85289
+ companyEmail: deltaData.companyEmail?.trim() ?? "",
85290
+ isAnnualReportReminderRequired: Boolean(deltaData.isAnnualReportReminderRequired)
85291
+ }
85292
+ });
85293
+ }
85294
+ function officerAddresses(affiliation) {
85295
+ const addresses = affiliation.addresses?.length ? affiliation.addresses : affiliation.parent_affiliation?.addresses ?? [];
85296
+ const delivery = pickAddress(addresses, "Delivery");
85297
+ return {
85298
+ // Falls back to the first address when none is typed "Mailing", like the other BC filings.
85299
+ mailing: mapAddress(pickAddress(addresses, "Mailing", true)),
85300
+ delivery: delivery ? mapAddress(delivery) : void 0
85301
+ };
85302
+ }
85303
+ function officerName(affiliation) {
85304
+ const profile = affiliation.participant?._profile;
85305
+ return {
85306
+ firstName: profile?.firstName ?? "",
85307
+ middleName: profile?.middleName || void 0,
85308
+ lastName: profile?.lastName ?? ""
85309
+ };
85310
+ }
85311
+ function mapAddedOfficer(affiliation) {
85312
+ const { mailing, delivery } = officerAddresses(affiliation);
85313
+ const isSame = !delivery || sameAddress(delivery, mailing);
85314
+ return __spreadProps(__spreadValues({}, officerName(affiliation)), {
85315
+ positions: toBCOfficerPosition(affiliation.role?.static_title),
85316
+ mailingAddress: mailing,
85317
+ isDeliveryAddressSameAsMailing: isSame,
85318
+ deliveryAddress: isSame ? void 0 : delivery
85319
+ });
85320
+ }
85321
+ function mapCeasedOfficer(affiliation) {
85322
+ const { mailing, delivery } = officerAddresses(affiliation);
85323
+ return __spreadProps(__spreadValues({}, officerName(affiliation)), {
85324
+ mailingAddress: mailing,
85325
+ // The API requires a delivery address to cease an officer; send the mailing address again.
85326
+ deliveryAddress: delivery ?? mailing
85327
+ });
85328
+ }
85329
+ var OFFICER_ROLE_NAME, OFFICER_POSITIONS;
85330
+ var init_british_columbia_annual_report_mapper = __esm({
85331
+ "src/app/helpers/mappers/british-columbia-annual-report.mapper.ts"() {
85332
+ init_common_utils();
85333
+ init_british_columbia_change_of_office_addresses_mapper();
85334
+ init_british_columbia_formation_mapper();
85335
+ OFFICER_ROLE_NAME = "Officer";
85336
+ OFFICER_POSITIONS = /* @__PURE__ */ new Map([
85337
+ ["chairman", "chair"],
85338
+ ["chair", "chair"],
85339
+ ["chair person", "chair"],
85340
+ ["chairwoman", "chair"],
85341
+ ["president", "president"],
85342
+ ["vice-president", "vicePresident"],
85343
+ ["chief executive officer", "ceo"],
85344
+ ["chief financial officer", "cfo"],
85345
+ ["assistant secretary", "assistantSecretary"],
85346
+ ["secretary", "secretary"],
85347
+ ["treasurer", "treasurer"]
85348
+ ]);
85349
+ }
85350
+ });
85351
+
85352
+ // src/app/helpers/british-columbia/annual-report/british-columbia-annual-report-form.helper.ts
85353
+ var BritishColumbiaAnnualReportFormHelper;
85354
+ var init_british_columbia_annual_report_form_helper = __esm({
85355
+ "src/app/helpers/british-columbia/annual-report/british-columbia-annual-report-form.helper.ts"() {
85356
+ init_forms();
85357
+ init_british_columbia_form_enums();
85358
+ init_initial_return_enums();
85359
+ init_BritishColumbiaConstants();
85360
+ init_common_utils();
85361
+ init_british_columbia_annual_report_mapper();
85362
+ init_british_columbia_formation_mapper();
85363
+ init_british_columbia_formation_form_helper();
85364
+ BritishColumbiaAnnualReportFormHelper = class {
85365
+ static generateConfig(task) {
85366
+ const delta = task.deltaData;
85367
+ const { added, ceased } = getBCAnnualReportOfficerChanges(task);
85368
+ const config2 = {};
85369
+ config2[BCAnnualReportFormGroups.General] = new FormGroup({
85370
+ [BCAnnualReportFormControls.ClientMatterNumber]: new FormControl(delta?.referenceNumbers?.referenceNumber ?? task.entity._profile.client_matter_number ?? ""),
85371
+ [BCAnnualReportFormControls.DocketNumber]: new FormControl(delta?.referenceNumbers?.docketNumber ?? ""),
85372
+ [BCAnnualReportFormControls.EntityIdentifier]: new FormControl({
85373
+ value: task.entity._profile.corp_number ?? "",
85374
+ disabled: true
85375
+ })
85376
+ });
85377
+ config2[BCAnnualReportFormGroups.Officers] = new FormArray([
85378
+ ...added.map((officer) => this.generateOfficerFormGroup(officer, IRAffiliationType.Add)),
85379
+ ...ceased.map((officer) => this.generateOfficerFormGroup(officer, IRAffiliationType.Ceased))
85380
+ ]);
85381
+ const emailOptions = this.getCompanyEmailOptions(task);
85382
+ config2[BCAnnualReportFormGroups.CompanyEmail] = new FormGroup({
85383
+ // A saved choice wins; otherwise a lone entity email is preselected, else the user picks one.
85384
+ [BCAnnualReportFormControls.CompanyEmail]: new FormControl(delta?.companyEmail ?? (emailOptions.length === 1 ? emailOptions[0].value : ""), [Validators.required, Validators.email, Validators.maxLength(BC_COMPANY_EMAIL_MAX_LENGTH)])
85385
+ });
85386
+ config2[BCAnnualReportFormGroups.AnnualReportReminder] = new FormGroup({
85387
+ [BCAnnualReportFormControls.IsAnnualReportReminderRequired]: new FormControl(delta?.isAnnualReportReminderRequired ?? false)
85388
+ });
85389
+ return config2;
85390
+ }
85391
+ /** The entity's own emails (built by Athennian), plus a previously saved value that is no longer among them. */
85392
+ static getCompanyEmailOptions(task) {
85393
+ const options = (task.entity.emailOptions ?? []).filter((option) => option.value).map((option) => ({ value: option.value, label: option.value }));
85394
+ const saved = task.deltaData?.companyEmail;
85395
+ if (saved && !options.some((option) => option.value === saved)) {
85396
+ options.push({ value: saved, label: saved });
85397
+ }
85398
+ return options.filter((option, index) => options.findIndex((other) => other.value === option.value) === index);
85399
+ }
85400
+ /** One read-only officer row; `AffiliationType` drives the Add / Cease chip. */
85401
+ static generateOfficerFormGroup(affiliation, affiliationType) {
85402
+ const addresses = affiliation.addresses?.length ? affiliation.addresses : affiliation.parent_affiliation?.addresses ?? [];
85403
+ return new FormGroup({
85404
+ [BCAnnualReportFormControls.Id]: new FormControl(affiliation._id),
85405
+ [BCAnnualReportFormControls.AffiliationName]: new FormControl({
85406
+ value: generateTaskAffiliationFullName(affiliation),
85407
+ disabled: true
85408
+ }),
85409
+ [BCAnnualReportFormControls.Role]: new FormControl({
85410
+ value: affiliation.role?.static_title ?? "",
85411
+ disabled: true
85412
+ }),
85413
+ [BCAnnualReportFormControls.AffiliationType]: new FormControl(affiliationType),
85414
+ [BCAnnualReportFormControls.EffectiveDate]: new FormControl({
85415
+ value: affiliation.start_date ? toYyyyMmDd(affiliation.start_date) ?? "" : "",
85416
+ disabled: true
85417
+ }),
85418
+ [BCAnnualReportFormControls.CeaseDate]: new FormControl({
85419
+ value: affiliation.end_date ? toYyyyMmDd(affiliation.end_date) ?? "" : "",
85420
+ disabled: true
85421
+ }),
85422
+ [BCAnnualReportFormControls.FullAddress]: new FormControl({
85423
+ value: BritishColumbiaFormationFormHelper.formatFullAddress(pickAddress(addresses, "Mailing", true)),
85424
+ disabled: true
85425
+ })
85426
+ });
85427
+ }
85428
+ };
85429
+ }
85430
+ });
85431
+
84908
85432
  // src/app/helpers/british-columbia/change-of-directors/british-columbia-change-of-directors-form.helper.ts
84909
- var Controls, BritishColumbiaChangeOfDirectorsFormHelper;
85433
+ var Controls2, BritishColumbiaChangeOfDirectorsFormHelper;
84910
85434
  var init_british_columbia_change_of_directors_form_helper = __esm({
84911
85435
  "src/app/helpers/british-columbia/change-of-directors/british-columbia-change-of-directors-form.helper.ts"() {
84912
85436
  init_forms();
@@ -84917,7 +85441,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
84917
85441
  init_BritishColumbiaConstants();
84918
85442
  init_custom_validators();
84919
85443
  init_british_columbia_formation_form_helper();
84920
- Controls = BCChangeOfDirectorsFormControls;
85444
+ Controls2 = BCChangeOfDirectorsFormControls;
84921
85445
  BritishColumbiaChangeOfDirectorsFormHelper = class {
84922
85446
  static generateConfig(task, _translateFn, currentDataExtract) {
84923
85447
  const affiliations = task.entity.affiliations ?? [];
@@ -84932,9 +85456,9 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
84932
85456
  const config2 = {};
84933
85457
  config2[BCChangeOfDirectorsFormGroups.ReferenceNumbers] = this.generateReferenceNumbersFormGroup(delta?.referenceNumbers, task.entity._profile?.client_matter_number, delta?.referenceNumbers?.referenceNumber);
84934
85458
  config2[BCChangeOfDirectorsFormGroups.CorporationDetails] = new FormGroup({
84935
- [Controls.CorporationName]: this.readOnly(task.entity._profile.name),
84936
- [Controls.IncorporationNumber]: this.readOnly(task.entity._profile.corp_number),
84937
- [Controls.CompanyEmail]: new FormControl(companyEmail, [Validators.required, Validators.email])
85459
+ [Controls2.CorporationName]: this.readOnly(task.entity._profile.name),
85460
+ [Controls2.IncorporationNumber]: this.readOnly(task.entity._profile.corp_number),
85461
+ [Controls2.CompanyEmail]: new FormControl(companyEmail, [Validators.required, Validators.email])
84938
85462
  });
84939
85463
  const isDirector = (a) => isPrincipalAffiliation2(a) && a.role?.role_name === "Director";
84940
85464
  const incoming = task.incomingAffiliations ?? [];
@@ -84942,9 +85466,9 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
84942
85466
  const ceasedIds = new Set(outgoing.filter(isDirector).map((a) => a._id));
84943
85467
  const hasAddOrCease = ceasedIds.size > 0 || incoming.filter(isDirector).length > 0;
84944
85468
  config2[BCChangeOfDirectorsFormGroups.FilingDetails] = new FormGroup({
84945
- [Controls.DirectorsAddedOrDeleted]: new FormControl(delta?.filingDetails?.directorsAddedOrDeleted ?? hasAddOrCease),
84946
- [Controls.ChangeDate]: this.readOnly(effectiveDate),
84947
- [Controls.FilingFee]: this.readOnly(BC_CHANGE_OF_DIRECTORS_FILING_FEE)
85469
+ [Controls2.DirectorsAddedOrDeleted]: new FormControl(delta?.filingDetails?.directorsAddedOrDeleted ?? hasAddOrCease),
85470
+ [Controls2.ChangeDate]: this.readOnly(effectiveDate),
85471
+ [Controls2.FilingFee]: this.readOnly(BC_CHANGE_OF_DIRECTORS_FILING_FEE)
84948
85472
  });
84949
85473
  const currentDirectorKeys = this.getCurrentDirectorKeys(currentDataExtract);
84950
85474
  const directors = [
@@ -84956,13 +85480,13 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
84956
85480
  config2[BCChangeOfDirectorsFormGroups.Directors] = new FormArray(directors.length ? directors : fallbackDirectors);
84957
85481
  }
84958
85482
  config2[BCChangeOfDirectorsFormGroups.Notification] = new FormGroup({
84959
- [Controls.RegisterAsOfDate]: this.readOnly(today),
84960
- [Controls.NotificationMethod]: new FormControl(delta?.notification?.method ?? BCNotificationMethod.Email, Validators.required),
84961
- [Controls.NotificationEmail]: new FormControl(delta?.notification?.email ?? companyEmail, requiredIfValue(Controls.NotificationMethod, BCNotificationMethod.Email)),
84962
- [Controls.NotificationMailingAddress]: this.readOnly(registeredMailing)
85483
+ [Controls2.RegisterAsOfDate]: this.readOnly(today),
85484
+ [Controls2.NotificationMethod]: new FormControl(delta?.notification?.method ?? BCNotificationMethod.Email, Validators.required),
85485
+ [Controls2.NotificationEmail]: new FormControl(delta?.notification?.email ?? companyEmail, requiredIfValue(Controls2.NotificationMethod, BCNotificationMethod.Email)),
85486
+ [Controls2.NotificationMailingAddress]: this.readOnly(registeredMailing)
84963
85487
  });
84964
85488
  config2[BCChangeOfDirectorsFormGroups.AnnualReportReminder] = new FormGroup({
84965
- [Controls.AnnualReportReminder]: new FormControl(delta?.annualReportReminder ?? BCAnnualReportReminder.Yes, Validators.required)
85489
+ [Controls2.AnnualReportReminder]: new FormControl(delta?.annualReportReminder ?? BCAnnualReportReminder.Yes, Validators.required)
84966
85490
  });
84967
85491
  return config2;
84968
85492
  }
@@ -85007,18 +85531,18 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
85007
85531
  }
85008
85532
  static generateReferenceNumbersFormGroup(deltaData, clientMatterNumber, savedClientMatterNumber) {
85009
85533
  return new FormGroup({
85010
- [Controls.ClientMatterNumber]: new FormControl(clientMatterNumber ?? savedClientMatterNumber ?? ""),
85011
- [Controls.DocketNumber]: new FormControl(deltaData?.docketNumber ?? "")
85534
+ [Controls2.ClientMatterNumber]: new FormControl(clientMatterNumber ?? savedClientMatterNumber ?? ""),
85535
+ [Controls2.DocketNumber]: new FormControl(deltaData?.docketNumber ?? "")
85012
85536
  });
85013
85537
  }
85014
85538
  static generateDirectorFormGroup(affiliation, affiliationType) {
85015
85539
  const addresses = affiliation.addresses?.length ? affiliation.addresses : affiliation.parent_affiliation?.addresses ?? [];
85016
85540
  return new FormGroup({
85017
- [Controls.Id]: new FormControl(affiliation._id),
85018
- [Controls.AffiliationName]: this.readOnly(generateTaskAffiliationFullName(affiliation)),
85019
- [Controls.AffiliationType]: this.readOnly(affiliationType),
85020
- [Controls.MailingAddress]: this.readOnly(BritishColumbiaFormationFormHelper.formatFullAddress(BritishColumbiaFormationFormHelper.pickAddress(addresses, "Mailing"))),
85021
- [Controls.DeliveryAddress]: this.readOnly(BritishColumbiaFormationFormHelper.formatFullAddress(BritishColumbiaFormationFormHelper.pickAddress(addresses, "Delivery")))
85541
+ [Controls2.Id]: new FormControl(affiliation._id),
85542
+ [Controls2.AffiliationName]: this.readOnly(generateTaskAffiliationFullName(affiliation)),
85543
+ [Controls2.AffiliationType]: this.readOnly(affiliationType),
85544
+ [Controls2.MailingAddress]: this.readOnly(BritishColumbiaFormationFormHelper.formatFullAddress(BritishColumbiaFormationFormHelper.pickAddress(addresses, "Mailing"))),
85545
+ [Controls2.DeliveryAddress]: this.readOnly(BritishColumbiaFormationFormHelper.formatFullAddress(BritishColumbiaFormationFormHelper.pickAddress(addresses, "Delivery")))
85022
85546
  });
85023
85547
  }
85024
85548
  static generateDirectorFormGroupsFromChangeDirectors(task) {
@@ -85049,11 +85573,11 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
85049
85573
  static generateDirectorFormGroupFromPayload(director, affiliationType) {
85050
85574
  const name = director?.PersonName ?? director?.personName ?? director;
85051
85575
  return new FormGroup({
85052
- [Controls.Id]: new FormControl(director?.Id ?? director?.id ?? ""),
85053
- [Controls.AffiliationName]: this.readOnly(this.formatDirectorName(name?.FirstName ?? name?.firstName, name?.MiddleName ?? name?.middleName, name?.LastName ?? name?.lastName)),
85054
- [Controls.AffiliationType]: this.readOnly(affiliationType),
85055
- [Controls.MailingAddress]: this.readOnly(this.formatPayloadAddress(director?.mailingAddress ?? director?.MailingAddress ?? director)),
85056
- [Controls.DeliveryAddress]: this.readOnly(this.formatPayloadAddress(director?.deliveryAddress ?? director?.DeliveryAddress ?? director))
85576
+ [Controls2.Id]: new FormControl(director?.Id ?? director?.id ?? ""),
85577
+ [Controls2.AffiliationName]: this.readOnly(this.formatDirectorName(name?.FirstName ?? name?.firstName, name?.MiddleName ?? name?.middleName, name?.LastName ?? name?.lastName)),
85578
+ [Controls2.AffiliationType]: this.readOnly(affiliationType),
85579
+ [Controls2.MailingAddress]: this.readOnly(this.formatPayloadAddress(director?.mailingAddress ?? director?.MailingAddress ?? director)),
85580
+ [Controls2.DeliveryAddress]: this.readOnly(this.formatPayloadAddress(director?.deliveryAddress ?? director?.DeliveryAddress ?? director))
85057
85581
  });
85058
85582
  }
85059
85583
  static formatDirectorName(firstName, middleName, lastName) {
@@ -85082,241 +85606,891 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
85082
85606
  }
85083
85607
  });
85084
85608
 
85085
- // src/app/helpers/british-columbia/change-of-office-addresses/british-columbia-change-of-office-addresses-form.helper.ts
85086
- var Controls2, COMPANY_EMAIL_TYPES, isCompanyEmail, incomingAddressByGrid, EDITABLE_ADDRESS_CONTROLS, BritishColumbiaChangeOfOfficeAddressesFormHelper;
85087
- var init_british_columbia_change_of_office_addresses_form_helper = __esm({
85088
- "src/app/helpers/british-columbia/change-of-office-addresses/british-columbia-change-of-office-addresses-form.helper.ts"() {
85089
- init_forms();
85090
- init_common_models();
85609
+ // src/app/constants/ui/british-columbia-formation-form.constants.ts
85610
+ var BC_NAME_TYPE_OPTIONS, labelledValue, isNamed, BC_FORMATION_DELTA_CARD_FORM_REFERENCE_NUMBERS_FIELDS, BC_FORMATION_DELTA_CARD_FORM_CORPORATION_DETAILS_FIELDS, BC_FORMATION_DELTA_CARD_FORM_NAME_TRANSLATION_FIELDS, BC_FORMATION_DELTA_CARD_FORM_NAME_TRANSLATION_ROW_FIELDS, BC_FORMATION_CARD_FORM_REGISTERED_OFFICE_FIELDS, BC_FORMATION_CARD_FORM_RECORDS_OFFICE_FIELDS, BC_FORMATION_DELTA_CARD_FORM_COMPLETING_PARTY_FIELDS, BC_FORMATION_CARD_FORM_DIRECTORS_FIELDS, BC_FORMATION_CARD_FORM_INCORPORATORS_FIELDS;
85611
+ var init_british_columbia_formation_form_constants = __esm({
85612
+ "src/app/constants/ui/british-columbia-formation-form.constants.ts"() {
85613
+ init_form_enums();
85091
85614
  init_british_columbia_form_enums();
85092
85615
  init_BritishColumbiaConstants();
85093
85616
  init_british_columbia_formation_form_helper();
85094
- init_BritishColumbiaConstants();
85095
- init_common_utils();
85096
- Controls2 = BCChangeOfOfficeAddressesFormControls;
85097
- COMPANY_EMAIL_TYPES = ["Business Email", "Email"];
85098
- isCompanyEmail = (communication) => Boolean(communication?.value) && COMPANY_EMAIL_TYPES.includes(communication?.type ?? "");
85099
- incomingAddressByGrid = /* @__PURE__ */ new WeakMap();
85100
- EDITABLE_ADDRESS_CONTROLS = [
85101
- Controls2.AddressLine1,
85102
- Controls2.AddressLine2,
85103
- Controls2.City,
85104
- Controls2.PostalCode
85617
+ BC_NAME_TYPE_OPTIONS = Object.values(BCNameType).filter((v) => typeof v === "number").map((v) => ({ label: BCNameTypeLabel[v], value: v }));
85618
+ labelledValue = (label, value, t) => `<span class="body-1-semibold">${t(label)}:</span> ${value || t("None")}`;
85619
+ isNamed = (form) => form.get(BCFormationFormControls.CorporationNameType)?.value === BCNameType.Named;
85620
+ BC_FORMATION_DELTA_CARD_FORM_REFERENCE_NUMBERS_FIELDS = [
85621
+ {
85622
+ type: FormType.Input,
85623
+ label: "Client/Matter Number",
85624
+ formControlName: BCFormationFormControls.ClientMatterNumber
85625
+ },
85626
+ {
85627
+ type: FormType.Input,
85628
+ label: "Docket Number",
85629
+ formControlName: BCFormationFormControls.DocketNumber
85630
+ }
85105
85631
  ];
85106
- BritishColumbiaChangeOfOfficeAddressesFormHelper = class {
85107
- static generateConfig(task, _translateFn) {
85108
- const affiliations = task.entity.affiliations ?? [];
85109
- const delta = task.deltaData;
85110
- const format = BritishColumbiaFormationFormHelper.formatFullAddress;
85111
- const pick = BritishColumbiaFormationFormHelper.pickAddress;
85112
- const registeredOffice = BritishColumbiaFormationFormHelper.findSharedAddressAffiliation(affiliations, AddressTitle2.REGISTERED_OFFICE);
85113
- const recordsOffice = BritishColumbiaFormationFormHelper.findSharedAddressAffiliation(affiliations, AddressTitle2.RECORDS_OFFICE);
85114
- const incoming = this.incomingOfficeAddresses(task);
85115
- const seed = delta?.registeredOffice ? this.fillEmptyAddresses(delta, incoming) : this.seedFromIncomingAffiliations(task);
85116
- const config2 = {};
85117
- config2[BCChangeOfOfficeAddressesFormGroups.ReferenceNumbers] = this.generateReferenceNumbersFormGroup(delta?.referenceNumbers, task.entity._profile.client_matter_number);
85118
- config2[BCChangeOfOfficeAddressesFormGroups.CorporationDetails] = new FormGroup({
85119
- [Controls2.CorporationName]: this.readOnly(task.entity._profile.name),
85120
- [Controls2.IncorporationNumber]: this.readOnly(task.entity._profile.corp_number),
85121
- [Controls2.CompanyEmail]: new FormControl(delta?.companyEmail || this.resolveCompanyEmail(task), Validators.required)
85122
- });
85123
- config2[BCChangeOfOfficeAddressesFormGroups.AnnualReportReminder] = new FormGroup({
85124
- [Controls2.AnnualReportReminder]: new FormControl(delta?.annualReportReminder ?? BCAnnualReportReminder.Yes, Validators.required)
85125
- });
85126
- const regDeliverySame = seed.registeredOffice?.deliverySameAsMailing ?? true;
85127
- config2[BCChangeOfOfficeAddressesFormGroups.RegisteredOfficeAddress] = new FormGroup({
85128
- [Controls2.CurrentMailingAddress]: this.readOnly(format(pick(registeredOffice?.addresses, "Mailing"))),
85129
- [Controls2.CurrentDeliveryAddress]: this.readOnly(format(pick(registeredOffice?.addresses, "Delivery"))),
85130
- [Controls2.NewMailingAddress]: this.createOfficeAddressFormGroup(seed.registeredOffice?.mailingAddress, true),
85131
- [Controls2.DeliverySameAsMailing]: new FormControl(regDeliverySame),
85132
- [Controls2.NewDeliveryAddress]: this.createOfficeAddressFormGroup(seed.registeredOffice?.deliveryAddress, !regDeliverySame)
85133
- });
85134
- const recSameAsRegistered = seed.recordsOffice?.sameAsRegisteredOffice ?? true;
85135
- const recDeliverySame = seed.recordsOffice?.deliverySameAsMailing ?? true;
85136
- config2[BCChangeOfOfficeAddressesFormGroups.RecordsOfficeAddress] = new FormGroup({
85137
- [Controls2.CurrentMailingAddress]: this.readOnly(format(pick(recordsOffice?.addresses, "Mailing"))),
85138
- [Controls2.CurrentDeliveryAddress]: this.readOnly(format(pick(recordsOffice?.addresses, "Delivery"))),
85139
- [Controls2.SameAsRegisteredOffice]: new FormControl(recSameAsRegistered),
85140
- [Controls2.NewMailingAddress]: this.createOfficeAddressFormGroup(seed.recordsOffice?.mailingAddress, !recSameAsRegistered),
85141
- [Controls2.DeliverySameAsMailing]: new FormControl(recDeliverySame),
85142
- [Controls2.NewDeliveryAddress]: this.createOfficeAddressFormGroup(seed.recordsOffice?.deliveryAddress, !recSameAsRegistered && !recDeliverySame)
85143
- });
85144
- const grid = (group2, control) => config2[group2].get(control);
85145
- const register = (target, address) => address && incomingAddressByGrid.set(target, address);
85146
- register(grid(BCChangeOfOfficeAddressesFormGroups.RegisteredOfficeAddress, Controls2.NewDeliveryAddress), incoming.regDelivery);
85147
- register(grid(BCChangeOfOfficeAddressesFormGroups.RecordsOfficeAddress, Controls2.NewMailingAddress), incoming.recMailing);
85148
- register(grid(BCChangeOfOfficeAddressesFormGroups.RecordsOfficeAddress, Controls2.NewDeliveryAddress), incoming.recDelivery);
85149
- return config2;
85632
+ BC_FORMATION_DELTA_CARD_FORM_CORPORATION_DETAILS_FIELDS = [
85633
+ {
85634
+ type: FormType.Select,
85635
+ label: "Corporation Name Type",
85636
+ formControlName: BCFormationFormControls.CorporationNameType,
85637
+ required: true,
85638
+ options: BC_NAME_TYPE_OPTIONS,
85639
+ needTranslate: true,
85640
+ onChange: (form) => {
85641
+ form.get(BCFormationFormControls.CompanyName)?.updateValueAndValidity({ emitEvent: false });
85642
+ form.get(BCFormationFormControls.NameReservationNumber)?.updateValueAndValidity({ emitEvent: false });
85643
+ }
85644
+ },
85645
+ {
85646
+ type: FormType.Text,
85647
+ formControlName: "",
85648
+ class: "span-6 beside-select",
85649
+ // Numbered only: a Named company shows no preview of the typed name.
85650
+ isVisible: (form) => !isNamed(form),
85651
+ dynamicLabel: () => BC_NUMBERED_NAME_PREVIEW
85652
+ },
85653
+ {
85654
+ type: FormType.Input,
85655
+ label: "Proposed Corporate Name",
85656
+ formControlName: BCFormationFormControls.CompanyName,
85657
+ required: true,
85658
+ isVisible: isNamed,
85659
+ class: "column-3"
85660
+ },
85661
+ {
85662
+ type: FormType.Input,
85663
+ label: "Name Reservation #",
85664
+ formControlName: BCFormationFormControls.NameReservationNumber,
85665
+ required: true,
85666
+ maxLength: 9,
85667
+ errorMessage: "Enter a valid Name Reservation number (for example NR1234567)",
85668
+ showRequiredMessage: true,
85669
+ isVisible: isNamed,
85670
+ class: "span-6"
85671
+ },
85672
+ {
85673
+ type: FormType.Text,
85674
+ formControlName: BCFormationFormControls.RequestedDateForIncorporation,
85675
+ class: "span-12 spaced-text",
85676
+ dynamicLabel: (form, t) => labelledValue("Requested Date for Incorporation", form.get(BCFormationFormControls.RequestedDateForIncorporation)?.value, t)
85677
+ },
85678
+ {
85679
+ type: FormType.Text,
85680
+ formControlName: BCFormationFormControls.IsFutureEffectiveDate,
85681
+ class: "span-12 fee-warning",
85682
+ isVisible: (form) => Boolean(form.get(BCFormationFormControls.IsFutureEffectiveDate)?.value),
85683
+ dynamicLabel: (_, t) => t("There is an additional fee of {{fee}} for an effective date in the future.").replace("{{fee}}", BC_FUTURE_EFFECTIVE_DATE_FEE)
85684
+ },
85685
+ {
85686
+ // Options are filled per task from `task.entity.emailOptions` by the incorporation form.
85687
+ type: FormType.Select,
85688
+ label: "Company Email",
85689
+ formControlName: BCFormationFormControls.CompanyEmail,
85690
+ required: true,
85691
+ options: [],
85692
+ class: "span-6"
85150
85693
  }
85151
- /** The company email choices: the entity's email options, plus the resolved default if it isn't one. */
85152
- static getCompanyEmailOptions(task) {
85153
- const values = (task.entity.emailOptions ?? []).filter(isCompanyEmail).map((o) => o.value);
85154
- const fallback = this.resolveCompanyEmail(task);
85155
- return [...new Set(fallback ? [...values, fallback] : values)].map((value) => ({
85156
- value,
85157
- label: value
85158
- }));
85694
+ // The company password is not shown: it is taken from the entity's registry ID.
85695
+ ];
85696
+ BC_FORMATION_DELTA_CARD_FORM_NAME_TRANSLATION_FIELDS = [
85697
+ {
85698
+ type: FormType.Checkbox,
85699
+ label: "This company uses one or more translations of its name outside of Canada.",
85700
+ formControlName: BCFormationFormControls.UsesNameTranslation,
85701
+ class: "span-12",
85702
+ onChange: (form) => {
85703
+ const rows = form.get(BCFormationFormControls.NameTranslations);
85704
+ const enabled = Boolean(form.get(BCFormationFormControls.UsesNameTranslation)?.value);
85705
+ if (!rows) {
85706
+ return;
85707
+ }
85708
+ if (enabled && rows.length === 0) {
85709
+ rows.push(BritishColumbiaFormationFormHelper.createNameTranslationFormGroup());
85710
+ }
85711
+ if (!enabled) {
85712
+ rows.clear();
85713
+ }
85714
+ }
85715
+ },
85716
+ {
85717
+ type: FormType.Text,
85718
+ formControlName: "",
85719
+ class: "span-12",
85720
+ isVisible: (form) => Boolean(form.get(BCFormationFormControls.UsesNameTranslation)?.value),
85721
+ dynamicLabel: (_, t) => `<span class="body-1-semibold">${t("Note")}:</span> ${t("Name translations must use the Latin Alphabet (English, French, etc.). Names that use other writing systems must spell the name phonetically in English or French.")}`
85159
85722
  }
85160
- /**
85161
- * Pre-fills the new addresses from the task's incoming "Shared Address" affiliations (Registered
85162
- * Office / Records Office), taking each Mailing / Delivery address from the affiliation or, when
85163
- * it has none, from its parent affiliation. Nothing is pre-filled without an incoming address.
85164
- */
85165
- static seedFromIncomingAffiliations(task) {
85166
- const { regMailing, regDelivery, recMailing, recDelivery } = this.incomingOfficeAddresses(task);
85167
- if (!regMailing && !recMailing) {
85168
- return {};
85723
+ ];
85724
+ BC_FORMATION_DELTA_CARD_FORM_NAME_TRANSLATION_ROW_FIELDS = [
85725
+ {
85726
+ type: FormType.Input,
85727
+ label: "Name Translation",
85728
+ formControlName: BCFormationFormControls.NameTranslation,
85729
+ required: true,
85730
+ class: "span-6"
85731
+ }
85732
+ ];
85733
+ BC_FORMATION_CARD_FORM_REGISTERED_OFFICE_FIELDS = [
85734
+ {
85735
+ type: FormType.Text,
85736
+ formControlName: BCFormationFormControls.MailingAddress,
85737
+ class: "span-12",
85738
+ dynamicLabel: (form, t) => labelledValue("Mailing Address - Full Address", form.get(BCFormationFormControls.MailingAddress)?.value, t)
85739
+ },
85740
+ {
85741
+ type: FormType.Text,
85742
+ formControlName: BCFormationFormControls.DeliveryAddress,
85743
+ class: "span-12",
85744
+ dynamicLabel: (form, t) => labelledValue("Delivery Address - Full Address", form.get(BCFormationFormControls.DeliveryAddress)?.value, t)
85745
+ }
85746
+ ];
85747
+ BC_FORMATION_CARD_FORM_RECORDS_OFFICE_FIELDS = [
85748
+ {
85749
+ type: FormType.Text,
85750
+ formControlName: BCFormationFormControls.RecordsOfficeMailingAddress,
85751
+ class: "span-12",
85752
+ dynamicLabel: (form, t) => labelledValue("Mailing Address - Full Address", form.get(BCFormationFormControls.RecordsOfficeMailingAddress)?.value, t)
85753
+ },
85754
+ {
85755
+ type: FormType.Text,
85756
+ formControlName: BCFormationFormControls.RecordsOfficeDeliveryAddress,
85757
+ class: "span-12",
85758
+ dynamicLabel: (form, t) => labelledValue("Delivery Address - Full Address", form.get(BCFormationFormControls.RecordsOfficeDeliveryAddress)?.value, t)
85759
+ }
85760
+ ];
85761
+ BC_FORMATION_DELTA_CARD_FORM_COMPLETING_PARTY_FIELDS = [
85762
+ {
85763
+ type: FormType.Input,
85764
+ label: "First Name",
85765
+ formControlName: BCFormationFormControls.CompletingPartyFirstName,
85766
+ required: true,
85767
+ class: "column-3"
85768
+ },
85769
+ {
85770
+ type: FormType.Input,
85771
+ label: "Middle Name",
85772
+ formControlName: BCFormationFormControls.CompletingPartyMiddleName,
85773
+ class: "column-3"
85774
+ },
85775
+ {
85776
+ type: FormType.Input,
85777
+ label: "Last Name",
85778
+ formControlName: BCFormationFormControls.CompletingPartyLastName,
85779
+ required: true,
85780
+ class: "column-3"
85781
+ },
85782
+ {
85783
+ type: FormType.Input,
85784
+ inputType: "email",
85785
+ label: "Email",
85786
+ formControlName: BCFormationFormControls.CompletingPartyEmail,
85787
+ required: true,
85788
+ errorMessage: "Enter a valid email address",
85789
+ showRequiredMessage: true,
85790
+ class: "column-3"
85791
+ },
85792
+ {
85793
+ type: FormType.Text,
85794
+ formControlName: "",
85795
+ class: "span-12",
85796
+ dynamicLabel: (_, t) => t("A copy of the filed Incorporation Application is emailed to this address.")
85797
+ },
85798
+ {
85799
+ type: FormType.Input,
85800
+ label: "Street Address",
85801
+ formControlName: BCFormationFormControls.AddressLine1,
85802
+ required: true,
85803
+ class: "column-3"
85804
+ },
85805
+ {
85806
+ type: FormType.Input,
85807
+ label: "Additional Street Address",
85808
+ formControlName: BCFormationFormControls.AddressLine2,
85809
+ class: "column-3"
85810
+ },
85811
+ {
85812
+ type: FormType.Input,
85813
+ label: "City",
85814
+ formControlName: BCFormationFormControls.City,
85815
+ required: true,
85816
+ class: "column-2"
85817
+ },
85818
+ {
85819
+ type: FormType.Input,
85820
+ label: "Province / State",
85821
+ formControlName: BCFormationFormControls.ProvinceState,
85822
+ required: true,
85823
+ class: "column-2"
85824
+ },
85825
+ {
85826
+ type: FormType.Input,
85827
+ label: "Postal / Zip Code",
85828
+ formControlName: BCFormationFormControls.PostalZip,
85829
+ required: true,
85830
+ errorMessage: "Enter a valid Canadian postal code (for example V8W 1X4)",
85831
+ showRequiredMessage: true,
85832
+ class: "column-2"
85833
+ },
85834
+ {
85835
+ type: FormType.Select,
85836
+ label: "Country",
85837
+ formControlName: BCFormationFormControls.Country,
85838
+ required: true,
85839
+ options: BC_COMPLETING_PARTY_COUNTRY_OPTIONS,
85840
+ class: "span-4",
85841
+ // Province / State is required for Canada and the US, and the postal code format is Canada-only.
85842
+ onChange: (form) => {
85843
+ [BCFormationFormControls.ProvinceState, BCFormationFormControls.PostalZip].forEach((control) => form.get(control)?.updateValueAndValidity({ emitEvent: false }));
85169
85844
  }
85170
- const regDeliverySame = !regDelivery || this.isSameOfficeAddress(regDelivery, regMailing);
85171
- const recDeliverySame = !recDelivery || this.isSameOfficeAddress(recDelivery, recMailing);
85172
- const recSameAsRegistered = !recMailing || this.isSameOfficeAddress(recMailing, regMailing) && this.isSameOfficeAddress(recDelivery ?? recMailing, regDelivery ?? regMailing);
85173
- return {
85174
- registeredOffice: {
85175
- mailingAddress: regMailing,
85176
- deliverySameAsMailing: regDeliverySame,
85177
- deliveryAddress: regDeliverySame ? void 0 : regDelivery
85178
- },
85179
- recordsOffice: {
85180
- sameAsRegisteredOffice: recSameAsRegistered,
85181
- mailingAddress: recSameAsRegistered ? void 0 : recMailing,
85182
- deliverySameAsMailing: recDeliverySame,
85183
- deliveryAddress: recDeliverySame ? void 0 : recDelivery
85184
- }
85185
- };
85845
+ },
85846
+ {
85847
+ type: FormType.Checkbox,
85848
+ // Checkbox labels don't get the renderer's required asterisk, so it is added here (AC2).
85849
+ dynamicLabel: (_, t) => `${t("The Completing Party confirms they have examined the Articles and the Incorporation Agreement, and the signature requirements have been met.")} *`,
85850
+ formControlName: BCFormationFormControls.HasConfirmedCompletion,
85851
+ required: true,
85852
+ class: "span-12"
85853
+ },
85854
+ {
85855
+ type: FormType.Checkbox,
85856
+ // Checkbox labels don't get the renderer's required asterisk, so it is added here (AC2).
85857
+ dynamicLabel: (_, t) => `${t("I have a signed Incorporation Agreement and a set of Articles for the company to be incorporated.")} *`,
85858
+ formControlName: BCFormationFormControls.HasRequiredDocuments,
85859
+ required: true,
85860
+ class: "span-12"
85186
85861
  }
85187
- /** Keeps the saved flags and addresses, but fills an address the draft left empty from `incoming`. */
85188
- static fillEmptyAddresses(saved, incoming) {
85189
- const hasValues = (address) => EDITABLE_ADDRESS_CONTROLS.some((name) => Boolean(address?.[name]));
85190
- const pick = (savedAddress, incomingAddress) => hasValues(savedAddress) ? savedAddress : incomingAddress ?? savedAddress;
85191
- return {
85192
- registeredOffice: __spreadProps(__spreadValues({}, saved.registeredOffice), {
85193
- mailingAddress: pick(saved.registeredOffice?.mailingAddress, incoming.regMailing),
85194
- deliveryAddress: pick(saved.registeredOffice?.deliveryAddress, incoming.regDelivery)
85195
- }),
85196
- recordsOffice: __spreadProps(__spreadValues({}, saved.recordsOffice), {
85197
- mailingAddress: pick(saved.recordsOffice?.mailingAddress, incoming.recMailing),
85198
- deliveryAddress: pick(saved.recordsOffice?.deliveryAddress, incoming.recDelivery)
85199
- })
85200
- };
85862
+ ];
85863
+ BC_FORMATION_CARD_FORM_DIRECTORS_FIELDS = [
85864
+ {
85865
+ type: FormType.Text,
85866
+ formControlName: BCFormationFormControls.MailingAddress,
85867
+ class: "span-12",
85868
+ dynamicLabel: (form, t) => labelledValue("Mailing Address - Full Address", form.get(BCFormationFormControls.MailingAddress)?.value, t)
85869
+ },
85870
+ {
85871
+ type: FormType.Text,
85872
+ formControlName: BCFormationFormControls.DeliveryAddress,
85873
+ class: "span-12",
85874
+ // A director without a Delivery address is filed with "delivery same as mailing", so the
85875
+ // Mailing address is shown, as in the draft.
85876
+ dynamicLabel: (form, t) => labelledValue("Delivery Address - Full Address", form.get(BCFormationFormControls.DeliveryAddress)?.value || form.get(BCFormationFormControls.MailingAddress)?.value, t)
85201
85877
  }
85202
- /** The four office addresses of the task's incoming Shared Address, as form values. */
85203
- static incomingOfficeAddresses(task) {
85204
- const incoming = task.incomingAffiliations ?? [];
85205
- const pickBy = (title, locationType) => {
85206
- const pool = incoming.filter((a) => a.role?.role_name === AddressRole2.SHARED_ADDRESS && a.role?.static_title === title).flatMap((a) => a.addresses?.length ? a.addresses : a.parent_affiliation?.addresses ?? []);
85207
- const wanted = locationType.toLowerCase();
85208
- const address = pool.find((a) => (a.computed_location_type ?? "").toLowerCase() === wanted || (a.location_type ?? "").toLowerCase() === wanted);
85209
- return address && this.isBritishColumbia(address) ? this.toOfficeAddressDelta(address) : void 0;
85210
- };
85211
- return {
85212
- regMailing: pickBy(AddressTitle2.REGISTERED_OFFICE, "Mailing"),
85213
- regDelivery: pickBy(AddressTitle2.REGISTERED_OFFICE, "Delivery"),
85214
- recMailing: pickBy(AddressTitle2.RECORDS_OFFICE, "Mailing"),
85215
- recDelivery: pickBy(AddressTitle2.RECORDS_OFFICE, "Delivery")
85216
- };
85878
+ ];
85879
+ BC_FORMATION_CARD_FORM_INCORPORATORS_FIELDS = [
85880
+ {
85881
+ type: FormType.Text,
85882
+ formControlName: BCFormationFormControls.FullAddress,
85883
+ class: "span-12",
85884
+ dynamicLabel: (form, t) => labelledValue("Full Address", form.get(BCFormationFormControls.FullAddress)?.value, t)
85217
85885
  }
85218
- /** Street = street number + street name; the suite goes to Address Line 2. */
85219
- static toOfficeAddressDelta(address) {
85220
- const street = [getAddressComponent(address, "Street Number Only"), getAddressComponent(address, "Street Only")].filter(Boolean).join(" ") || getAddressComponent(address, "Street Address") || address.street || "";
85221
- return {
85222
- addressLine1: street,
85223
- addressLine2: getAddressComponent(address, "Suite/Apartment") || address.address2 || "",
85224
- city: address.city ?? "",
85225
- postalCode: address.postal_zip ?? "",
85226
- province: BC_DEFAULT_PROVINCE_STATE,
85227
- country: BC_DEFAULT_COUNTRY
85228
- };
85886
+ ];
85887
+ }
85888
+ });
85889
+
85890
+ // src/app/constants/ui/british-columbia-annual-report-form.constants.ts
85891
+ var BC_ANNUAL_REPORT_GENERAL_FIELDS, BC_ANNUAL_REPORT_OFFICERS_FIELDS, buildBCAnnualReportCompanyEmailFields, BC_ANNUAL_REPORT_REMINDER_FIELDS;
85892
+ var init_british_columbia_annual_report_form_constants = __esm({
85893
+ "src/app/constants/ui/british-columbia-annual-report-form.constants.ts"() {
85894
+ init_form_enums();
85895
+ init_british_columbia_form_enums();
85896
+ init_british_columbia_formation_form_constants();
85897
+ BC_ANNUAL_REPORT_GENERAL_FIELDS = [
85898
+ {
85899
+ type: FormType.Input,
85900
+ label: "Client/Matter Number",
85901
+ formControlName: BCAnnualReportFormControls.ClientMatterNumber
85902
+ },
85903
+ {
85904
+ type: FormType.Input,
85905
+ label: "Docket Number",
85906
+ formControlName: BCAnnualReportFormControls.DocketNumber
85907
+ },
85908
+ {
85909
+ type: FormType.Text,
85910
+ formControlName: BCAnnualReportFormControls.EntityIdentifier,
85911
+ class: "span-12",
85912
+ dynamicLabel: (form, t) => labelledValue("Entity Identifier", form.get(BCAnnualReportFormControls.EntityIdentifier)?.value, t)
85229
85913
  }
85230
- /** An address with no province is accepted; the form only ever deals in British Columbia. */
85231
- static isBritishColumbia(address) {
85232
- const province = (address.province_state ?? "").trim().toLowerCase();
85233
- return !province || ["bc", "b.c.", "british columbia"].includes(province);
85914
+ ];
85915
+ BC_ANNUAL_REPORT_OFFICERS_FIELDS = [
85916
+ {
85917
+ type: FormType.Text,
85918
+ formControlName: BCAnnualReportFormControls.EffectiveDate,
85919
+ class: "span-12",
85920
+ dynamicLabel: (form, t) => labelledValue("Effective Date", form.get(BCAnnualReportFormControls.EffectiveDate)?.value, t)
85921
+ },
85922
+ {
85923
+ type: FormType.Text,
85924
+ formControlName: BCAnnualReportFormControls.CeaseDate,
85925
+ class: "span-12",
85926
+ dynamicLabel: (form, t) => labelledValue("Cease Date", form.get(BCAnnualReportFormControls.CeaseDate)?.value, t)
85927
+ },
85928
+ {
85929
+ type: FormType.Text,
85930
+ formControlName: BCAnnualReportFormControls.FullAddress,
85931
+ class: "span-12",
85932
+ dynamicLabel: (form, t) => labelledValue("Full Address", form.get(BCAnnualReportFormControls.FullAddress)?.value, t)
85234
85933
  }
85235
- static isSameOfficeAddress(a, b) {
85236
- const key = (x) => [x?.addressLine1, x?.addressLine2, x?.city, x?.postalCode].map((v) => (v ?? "").trim().toLowerCase().replace(/\s+/g, " ")).join("|");
85237
- return key(a) === key(b);
85934
+ ];
85935
+ buildBCAnnualReportCompanyEmailFields = (options) => [
85936
+ {
85937
+ type: FormType.Select,
85938
+ label: "Company Email",
85939
+ formControlName: BCAnnualReportFormControls.CompanyEmail,
85940
+ required: true,
85941
+ options,
85942
+ errorMessage: "Company Email is required",
85943
+ class: "span-6"
85238
85944
  }
85239
- /**
85240
- * The company's email: the entity's email options, then the Registered Office's email, then the
85241
- * entity's own, then any other address of the entity (e.g. a Head Office). Only a Business Email
85242
- * or an Email counts; a Personal Email never does.
85243
- */
85244
- static resolveCompanyEmail(task) {
85245
- const affiliations = task.entity.affiliations ?? [];
85246
- const registeredOffice = BritishColumbiaFormationFormHelper.findSharedAddressAffiliation(affiliations, AddressTitle2.REGISTERED_OFFICE);
85247
- return task.entity.emailOptions?.find(isCompanyEmail)?.value || registeredOffice?.addresses?.[0]?.communications?.find(isCompanyEmail)?.value || task.entity.communications?.find(isCompanyEmail)?.value || task.entity.addresses?.flatMap((a) => a.communications ?? []).find(isCompanyEmail)?.value || "";
85945
+ ];
85946
+ BC_ANNUAL_REPORT_REMINDER_FIELDS = [
85947
+ {
85948
+ type: FormType.Checkbox,
85949
+ label: "Would the company like to receive reminders to file its annual reports",
85950
+ formControlName: BCAnnualReportFormControls.IsAnnualReportReminderRequired,
85951
+ class: "span-12"
85248
85952
  }
85249
- /**
85250
- * Address Line 1*, Address Line 2, City*, Postal Code*, Province (BC), Country (Canada).
85251
- * Province and Country are always disabled; the rest follow `enabled`.
85252
- */
85253
- static createOfficeAddressFormGroup(delta, enabled = true) {
85254
- const group2 = new FormGroup({
85255
- [Controls2.AddressLine1]: new FormControl(delta?.addressLine1 ?? "", Validators.required),
85256
- [Controls2.AddressLine2]: new FormControl(delta?.addressLine2 ?? ""),
85257
- [Controls2.City]: new FormControl(delta?.city ?? "", Validators.required),
85258
- [Controls2.PostalCode]: new FormControl(delta?.postalCode ?? "", Validators.required),
85259
- [Controls2.Province]: this.readOnly(delta?.province ?? BC_DEFAULT_PROVINCE_STATE),
85260
- [Controls2.Country]: this.readOnly(delta?.country ?? BC_DEFAULT_COUNTRY)
85261
- });
85262
- this.setOfficeAddressEnabled(group2, enabled);
85263
- return group2;
85953
+ ];
85954
+ }
85955
+ });
85956
+
85957
+ // src/app/components/british-columbia/annual-report/british-columbia-annual-report-form/british-columbia-annual-report-form.component.ts
85958
+ function BritishColumbiaAnnualReportFormComponent_Conditional_1_Template(rf, ctx) {
85959
+ if (rf & 1) {
85960
+ \u0275\u0275element(0, "alert", 1);
85961
+ }
85962
+ if (rf & 2) {
85963
+ const ctx_r0 = \u0275\u0275nextContext();
85964
+ \u0275\u0275property("type", ctx_r0.alertType.Info);
85965
+ }
85966
+ }
85967
+ function BritishColumbiaAnnualReportFormComponent_Conditional_2_Template(rf, ctx) {
85968
+ if (rf & 1) {
85969
+ \u0275\u0275element(0, "alert", 2);
85970
+ }
85971
+ if (rf & 2) {
85972
+ const ctx_r0 = \u0275\u0275nextContext();
85973
+ \u0275\u0275property("content", ctx_r0.errors());
85974
+ }
85975
+ }
85976
+ function BritishColumbiaAnnualReportFormComponent_Conditional_5_Template(rf, ctx) {
85977
+ if (rf & 1) {
85978
+ const _r2 = \u0275\u0275getCurrentView();
85979
+ \u0275\u0275elementStart(0, "expandable-card", 4)(1, "div", 8)(2, "filing-form-group", 9);
85980
+ \u0275\u0275listener("visiblyValidChange", function BritishColumbiaAnnualReportFormComponent_Conditional_5_Template_filing_form_group_visiblyValidChange_2_listener($event) {
85981
+ \u0275\u0275restoreView(_r2);
85982
+ const ctx_r0 = \u0275\u0275nextContext();
85983
+ return \u0275\u0275resetView(ctx_r0.onSectionValidChange("general", $event));
85984
+ });
85985
+ \u0275\u0275elementEnd()()();
85986
+ }
85987
+ if (rf & 2) {
85988
+ const ctx_r0 = \u0275\u0275nextContext();
85989
+ const general_r3 = \u0275\u0275readContextLet(4);
85990
+ \u0275\u0275property("isStatusIcon", false)("title", ctx_r0.groups.General);
85991
+ \u0275\u0275advance(2);
85992
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", general_r3)("config", ctx_r0.generalFields);
85993
+ }
85994
+ }
85995
+ function BritishColumbiaAnnualReportFormComponent_Conditional_8_Template(rf, ctx) {
85996
+ if (rf & 1) {
85997
+ \u0275\u0275element(0, "expandable-list-card", 5);
85998
+ }
85999
+ if (rf & 2) {
86000
+ const ctx_r0 = \u0275\u0275nextContext();
86001
+ const officersArray_r4 = \u0275\u0275readContextLet(6);
86002
+ const isOpenOfficers_r5 = \u0275\u0275readContextLet(7);
86003
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("isValid", true)("areItemsOpen", isOpenOfficers_r5)("isStatusIcon", false)("fields", ctx_r0.officersFields)("formArray", officersArray_r4)("title", ctx_r0.groups.Officers);
86004
+ }
86005
+ }
86006
+ function BritishColumbiaAnnualReportFormComponent_Conditional_9_Template(rf, ctx) {
86007
+ if (rf & 1) {
86008
+ \u0275\u0275elementStart(0, "expandable-card", 6)(1, "h2", 10);
86009
+ \u0275\u0275text(2);
86010
+ \u0275\u0275pipe(3, "translate");
86011
+ \u0275\u0275elementEnd()();
86012
+ }
86013
+ if (rf & 2) {
86014
+ const ctx_r0 = \u0275\u0275nextContext();
86015
+ \u0275\u0275property("title", ctx_r0.groups.Officers);
86016
+ \u0275\u0275advance(2);
86017
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(3, 2, "Unchanged"));
86018
+ }
86019
+ }
86020
+ function BritishColumbiaAnnualReportFormComponent_Conditional_11_Template(rf, ctx) {
86021
+ if (rf & 1) {
86022
+ const _r6 = \u0275\u0275getCurrentView();
86023
+ \u0275\u0275elementStart(0, "expandable-card", 7)(1, "div", 8)(2, "filing-form-group", 9);
86024
+ \u0275\u0275listener("visiblyValidChange", function BritishColumbiaAnnualReportFormComponent_Conditional_11_Template_filing_form_group_visiblyValidChange_2_listener($event) {
86025
+ \u0275\u0275restoreView(_r6);
86026
+ const ctx_r0 = \u0275\u0275nextContext();
86027
+ return \u0275\u0275resetView(ctx_r0.onSectionValidChange("companyEmail", $event));
86028
+ });
86029
+ \u0275\u0275elementEnd()()();
86030
+ }
86031
+ if (rf & 2) {
86032
+ const ctx_r0 = \u0275\u0275nextContext();
86033
+ const companyEmail_r7 = \u0275\u0275readContextLet(10);
86034
+ \u0275\u0275property("isValid", ctx_r0.sectionValidity["companyEmail"])("isStatusIcon", ctx_r0.statusIcon())("title", ctx_r0.groups.CompanyEmail);
86035
+ \u0275\u0275advance(2);
86036
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", companyEmail_r7)("config", ctx_r0.companyEmailFields());
86037
+ }
86038
+ }
86039
+ function BritishColumbiaAnnualReportFormComponent_Conditional_13_Template(rf, ctx) {
86040
+ if (rf & 1) {
86041
+ \u0275\u0275elementStart(0, "expandable-card", 4)(1, "div", 8);
86042
+ \u0275\u0275element(2, "filing-form-group", 11);
86043
+ \u0275\u0275elementEnd()();
86044
+ }
86045
+ if (rf & 2) {
86046
+ const ctx_r0 = \u0275\u0275nextContext();
86047
+ const reminder_r8 = \u0275\u0275readContextLet(12);
86048
+ \u0275\u0275property("isStatusIcon", false)("title", ctx_r0.groups.AnnualReportReminder);
86049
+ \u0275\u0275advance(2);
86050
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", reminder_r8)("config", ctx_r0.reminderFields);
86051
+ }
86052
+ }
86053
+ var BritishColumbiaAnnualReportFormComponent;
86054
+ var init_british_columbia_annual_report_form_component = __esm({
86055
+ "src/app/components/british-columbia/annual-report/british-columbia-annual-report-form/british-columbia-annual-report-form.component.ts"() {
86056
+ init_core();
86057
+ init_ngx_translate_core();
86058
+ init_expandable_card_component();
86059
+ init_expandable_list_card_component();
86060
+ init_filing_form_group_component();
86061
+ init_alert_component();
86062
+ init_alert_enum();
86063
+ init_british_columbia_form_enums();
86064
+ init_british_columbia_annual_report_form_constants();
86065
+ init_british_columbia_annual_report_form_helper();
86066
+ init_core();
86067
+ BritishColumbiaAnnualReportFormComponent = class _BritishColumbiaAnnualReportFormComponent {
86068
+ form = input.required();
86069
+ task = input();
86070
+ errors = input([]);
86071
+ isNote = input(false);
86072
+ statusIcon = input(true);
86073
+ isSubmitted = input(false);
86074
+ visiblyValidChange = output();
86075
+ alertType = AlertType;
86076
+ groups = BCAnnualReportFormGroups;
86077
+ generalFields = BC_ANNUAL_REPORT_GENERAL_FIELDS;
86078
+ officersFields = BC_ANNUAL_REPORT_OFFICERS_FIELDS;
86079
+ reminderFields = BC_ANNUAL_REPORT_REMINDER_FIELDS;
86080
+ companyEmailFields = computed(() => {
86081
+ const task = this.task();
86082
+ return buildBCAnnualReportCompanyEmailFields(task ? BritishColumbiaAnnualReportFormHelper.getCompanyEmailOptions(task) : []);
86083
+ });
86084
+ /** AC2: the Officers section starts expanded for 3 officers or fewer, collapsed for more. */
86085
+ initiallyOpenCardsCount = 3;
86086
+ sectionValidity = {};
86087
+ isVisiblyValid() {
86088
+ return Object.values(this.sectionValidity).every((v) => v);
85264
86089
  }
85265
- /**
85266
- * Enables or disables the editable controls of an address grid (used by "Same as…" checkboxes).
85267
- * Hiding a grid also clears it. Showing it again refills it with the address Athennian sent for
85268
- * it, or leaves it empty when there is none (and when the user has already typed something).
85269
- */
85270
- static setOfficeAddressEnabled(group2, enabled) {
85271
- if (!group2) {
85272
- return;
85273
- }
85274
- const restore = incomingAddressByGrid.get(group2);
85275
- const isEmpty = EDITABLE_ADDRESS_CONTROLS.every((name) => !group2.get(name)?.value);
85276
- EDITABLE_ADDRESS_CONTROLS.forEach((name) => {
85277
- const control = group2.get(name);
85278
- if (enabled) {
85279
- control?.enable({ emitEvent: false });
85280
- if (restore && isEmpty) {
85281
- control?.setValue(restore[name] ?? "", { emitEvent: false });
85282
- }
85283
- } else {
85284
- control?.setValue("", { emitEvent: false });
85285
- control?.disable({ emitEvent: false });
85286
- }
85287
- });
85288
- group2.updateValueAndValidity({ emitEvent: false });
86090
+ onSectionValidChange(section, valid) {
86091
+ this.sectionValidity = __spreadProps(__spreadValues({}, this.sectionValidity), { [section]: valid });
86092
+ this.visiblyValidChange.emit(this.isVisiblyValid());
85289
86093
  }
85290
- static generateReferenceNumbersFormGroup(deltaData, clientMatterNumber) {
85291
- return new FormGroup({
85292
- [Controls2.ClientMatterNumber]: new FormControl(
85293
- // `??`: an explicitly cleared value ('') in a saved draft must be preserved; the entity default applies only when absent.
85294
- deltaData?.referenceNumber ?? clientMatterNumber ?? ""
85295
- ),
85296
- [Controls2.DocketNumber]: new FormControl(deltaData?.docketNumber ?? "")
85297
- });
86094
+ getFormGroup(key) {
86095
+ return this.form().get(key);
85298
86096
  }
85299
- static readOnly(value) {
85300
- return new FormControl({ value: value ?? "", disabled: true });
86097
+ getFormArray(key) {
86098
+ return this.form().get(key);
86099
+ }
86100
+ static \u0275fac = function BritishColumbiaAnnualReportFormComponent_Factory(__ngFactoryType__) {
86101
+ return new (__ngFactoryType__ || _BritishColumbiaAnnualReportFormComponent)();
86102
+ };
86103
+ static \u0275cmp = /* @__PURE__ */ \u0275\u0275defineComponent({ type: _BritishColumbiaAnnualReportFormComponent, selectors: [["british-columbia-annual-report-form"]], inputs: { form: [1, "form"], task: [1, "task"], errors: [1, "errors"], isNote: [1, "isNote"], statusIcon: [1, "statusIcon"], isSubmitted: [1, "isSubmitted"] }, outputs: { visiblyValidChange: "visiblyValidChange" }, decls: 14, vars: 11, consts: [[1, "annual-report-form"], ["title", "Entity changed", "content", "A new draft needs to be generated as the Entity was changed since the last draft was produced.", 3, "type"], ["title", "The following issues need to be resolved before proceeding:", 3, "content"], [1, "annual-report-form-content"], [3, "isStatusIcon", "title"], [3, "isSubmitted", "isValid", "areItemsOpen", "isStatusIcon", "fields", "formArray", "title"], [3, "title"], [3, "isValid", "isStatusIcon", "title"], [1, "annual-report-form-item"], [3, "visiblyValidChange", "isSubmitted", "form", "config"], [1, "body-1-regular"], [3, "isSubmitted", "form", "config"]], template: function BritishColumbiaAnnualReportFormComponent_Template(rf, ctx) {
86104
+ if (rf & 1) {
86105
+ \u0275\u0275elementStart(0, "div", 0);
86106
+ \u0275\u0275template(1, BritishColumbiaAnnualReportFormComponent_Conditional_1_Template, 1, 1, "alert", 1)(2, BritishColumbiaAnnualReportFormComponent_Conditional_2_Template, 1, 1, "alert", 2);
86107
+ \u0275\u0275elementStart(3, "div", 3);
86108
+ \u0275\u0275declareLet(4);
86109
+ \u0275\u0275template(5, BritishColumbiaAnnualReportFormComponent_Conditional_5_Template, 3, 5, "expandable-card", 4);
86110
+ \u0275\u0275declareLet(6)(7);
86111
+ \u0275\u0275template(8, BritishColumbiaAnnualReportFormComponent_Conditional_8_Template, 1, 7, "expandable-list-card", 5)(9, BritishColumbiaAnnualReportFormComponent_Conditional_9_Template, 4, 4, "expandable-card", 6);
86112
+ \u0275\u0275declareLet(10);
86113
+ \u0275\u0275template(11, BritishColumbiaAnnualReportFormComponent_Conditional_11_Template, 3, 6, "expandable-card", 7);
86114
+ \u0275\u0275declareLet(12);
86115
+ \u0275\u0275template(13, BritishColumbiaAnnualReportFormComponent_Conditional_13_Template, 3, 5, "expandable-card", 4);
86116
+ \u0275\u0275elementEnd()();
86117
+ }
86118
+ if (rf & 2) {
86119
+ let tmp_5_0;
86120
+ \u0275\u0275advance();
86121
+ \u0275\u0275conditional(ctx.isNote() ? 1 : -1);
86122
+ \u0275\u0275advance();
86123
+ \u0275\u0275conditional(ctx.errors().length ? 2 : -1);
86124
+ \u0275\u0275advance(2);
86125
+ const general_r9 = \u0275\u0275storeLet(ctx.getFormGroup(ctx.groups.General));
86126
+ \u0275\u0275advance();
86127
+ \u0275\u0275conditional(general_r9 ? 5 : -1);
86128
+ \u0275\u0275advance();
86129
+ const officersArray_r10 = \u0275\u0275storeLet(ctx.getFormArray(ctx.groups.Officers));
86130
+ \u0275\u0275advance();
86131
+ \u0275\u0275storeLet(((tmp_5_0 = officersArray_r10 == null ? null : officersArray_r10.length) !== null && tmp_5_0 !== void 0 ? tmp_5_0 : 0) <= ctx.initiallyOpenCardsCount);
86132
+ \u0275\u0275advance();
86133
+ \u0275\u0275conditional(officersArray_r10 && officersArray_r10.length ? 8 : 9);
86134
+ \u0275\u0275advance(2);
86135
+ const companyEmail_r11 = \u0275\u0275storeLet(ctx.getFormGroup(ctx.groups.CompanyEmail));
86136
+ \u0275\u0275advance();
86137
+ \u0275\u0275conditional(companyEmail_r11 ? 11 : -1);
86138
+ \u0275\u0275advance();
86139
+ const reminder_r12 = \u0275\u0275storeLet(ctx.getFormGroup(ctx.groups.AnnualReportReminder));
86140
+ \u0275\u0275advance();
86141
+ \u0275\u0275conditional(reminder_r12 ? 13 : -1);
86142
+ }
86143
+ }, dependencies: [
86144
+ ExpandableCardComponent,
86145
+ ExpandableListCardComponent,
86146
+ FilingFormGroupComponent,
86147
+ AlertComponent,
86148
+ TranslatePipe
86149
+ ], styles: ["\n\n[_nghost-%COMP%] {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n}\n[_nghost-%COMP%] .annual-report-form[_ngcontent-%COMP%] {\n display: flex;\n height: 100%;\n flex-direction: column;\n gap: 16px;\n}\n[_nghost-%COMP%] .annual-report-form-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n flex: 1;\n overflow: auto;\n min-height: 0;\n}\n[_nghost-%COMP%] .annual-report-form-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n/*# sourceMappingURL=british-columbia-annual-report-form.component.css.map */"], changeDetection: 0 });
86150
+ };
86151
+ (() => {
86152
+ (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(BritishColumbiaAnnualReportFormComponent, [{
86153
+ type: Component,
86154
+ args: [{ standalone: true, selector: "british-columbia-annual-report-form", changeDetection: ChangeDetectionStrategy.OnPush, imports: [
86155
+ ExpandableCardComponent,
86156
+ ExpandableListCardComponent,
86157
+ FilingFormGroupComponent,
86158
+ AlertComponent,
86159
+ TranslatePipe
86160
+ ], template: `<div class="annual-report-form">\r
86161
+ @if (isNote()) {\r
86162
+ <alert\r
86163
+ [type]="alertType.Info"\r
86164
+ title="Entity changed"\r
86165
+ content="A new draft needs to be generated as the Entity was changed since the last draft was produced."\r
86166
+ />\r
86167
+ }\r
86168
+ \r
86169
+ @if (errors().length) {\r
86170
+ <alert\r
86171
+ title="The following issues need to be resolved before proceeding:"\r
86172
+ [content]="errors()"\r
86173
+ />\r
86174
+ }\r
86175
+ \r
86176
+ <div class="annual-report-form-content">\r
86177
+ @let general = getFormGroup(groups.General);\r
86178
+ \r
86179
+ @if (general) {\r
86180
+ <expandable-card [isStatusIcon]="false" [title]="groups.General">\r
86181
+ <div class="annual-report-form-item">\r
86182
+ <filing-form-group\r
86183
+ [isSubmitted]="isSubmitted()"\r
86184
+ [form]="general"\r
86185
+ [config]="generalFields"\r
86186
+ (visiblyValidChange)="onSectionValidChange('general', $event)"\r
86187
+ />\r
86188
+ </div>\r
86189
+ </expandable-card>\r
86190
+ }\r
86191
+ \r
86192
+ @let officersArray = getFormArray(groups.Officers);\r
86193
+ @let isOpenOfficers = (officersArray?.length ?? 0) <= initiallyOpenCardsCount;\r
86194
+ \r
86195
+ @if (officersArray && officersArray.length) {\r
86196
+ <expandable-list-card\r
86197
+ [isSubmitted]="isSubmitted()"\r
86198
+ [isValid]="true"\r
86199
+ [areItemsOpen]="isOpenOfficers"\r
86200
+ [isStatusIcon]="false"\r
86201
+ [fields]="officersFields"\r
86202
+ [formArray]="officersArray"\r
86203
+ [title]="groups.Officers"\r
86204
+ />\r
86205
+ } @else {\r
86206
+ <expandable-card [title]="groups.Officers">\r
86207
+ <h2 class="body-1-regular">{{ 'Unchanged' | translate }}</h2>\r
86208
+ </expandable-card>\r
86209
+ }\r
86210
+ \r
86211
+ @let companyEmail = getFormGroup(groups.CompanyEmail);\r
86212
+ \r
86213
+ @if (companyEmail) {\r
86214
+ <expandable-card\r
86215
+ [isValid]="sectionValidity['companyEmail']"\r
86216
+ [isStatusIcon]="statusIcon()"\r
86217
+ [title]="groups.CompanyEmail"\r
86218
+ >\r
86219
+ <div class="annual-report-form-item">\r
86220
+ <filing-form-group\r
86221
+ [isSubmitted]="isSubmitted()"\r
86222
+ [form]="companyEmail"\r
86223
+ [config]="companyEmailFields()"\r
86224
+ (visiblyValidChange)="onSectionValidChange('companyEmail', $event)"\r
86225
+ />\r
86226
+ </div>\r
86227
+ </expandable-card>\r
86228
+ }\r
86229
+ \r
86230
+ @let reminder = getFormGroup(groups.AnnualReportReminder);\r
86231
+ \r
86232
+ @if (reminder) {\r
86233
+ <expandable-card [isStatusIcon]="false" [title]="groups.AnnualReportReminder">\r
86234
+ <div class="annual-report-form-item">\r
86235
+ <filing-form-group\r
86236
+ [isSubmitted]="isSubmitted()"\r
86237
+ [form]="reminder"\r
86238
+ [config]="reminderFields"\r
86239
+ />\r
86240
+ </div>\r
86241
+ </expandable-card>\r
86242
+ }\r
86243
+ </div>\r
86244
+ </div>\r
86245
+ `, styles: ["/* src/app/components/british-columbia/annual-report/british-columbia-annual-report-form/british-columbia-annual-report-form.component.scss */\n:host {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n}\n:host .annual-report-form {\n display: flex;\n height: 100%;\n flex-direction: column;\n gap: 16px;\n}\n:host .annual-report-form-content {\n display: flex;\n flex-direction: column;\n gap: 16px;\n flex: 1;\n overflow: auto;\n min-height: 0;\n}\n:host .annual-report-form-item {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n/*# sourceMappingURL=british-columbia-annual-report-form.component.css.map */\n"] }]
86246
+ }], null, null);
86247
+ })();
86248
+ (() => {
86249
+ (typeof ngDevMode === "undefined" || ngDevMode) && \u0275setClassDebugInfo(BritishColumbiaAnnualReportFormComponent, { className: "BritishColumbiaAnnualReportFormComponent", filePath: "src/app/components/british-columbia/annual-report/british-columbia-annual-report-form/british-columbia-annual-report-form.component.ts", lineNumber: 43 });
86250
+ })();
86251
+ }
86252
+ });
86253
+
86254
+ // src/app/components/british-columbia/annual-report/steps/delta/british-columbia-annual-report-delta-form.component.ts
86255
+ var BritishColumbiaAnnualReportDeltaFormComponent;
86256
+ var init_british_columbia_annual_report_delta_form_component = __esm({
86257
+ "src/app/components/british-columbia/annual-report/steps/delta/british-columbia-annual-report-delta-form.component.ts"() {
86258
+ init_core();
86259
+ init_button();
86260
+ init_ngx_translate_core();
86261
+ init_british_columbia_annual_report_form_component();
86262
+ init_common_utils();
86263
+ init_core();
86264
+ BritishColumbiaAnnualReportDeltaFormComponent = class _BritishColumbiaAnnualReportDeltaFormComponent {
86265
+ form = input.required();
86266
+ actionsDisabled = input(false);
86267
+ isNote = input(true);
86268
+ task = input();
86269
+ errors = input([]);
86270
+ close = output();
86271
+ save = output();
86272
+ validate = output();
86273
+ submitted = signal(false);
86274
+ visiblyValid = signal(true);
86275
+ clientErrors = signal([]);
86276
+ translate = inject(TranslateService);
86277
+ combinedErrors = computed(() => {
86278
+ const client = this.clientErrors();
86279
+ return client.length ? client : this.errors();
86280
+ });
86281
+ onVisiblyValidChange(valid) {
86282
+ this.visiblyValid.set(valid);
85301
86283
  }
86284
+ /** AC5: highlights the incomplete fields and shows the "required fields" banner instead of calling the API. */
86285
+ onValidate() {
86286
+ this.submitted.set(true);
86287
+ this.clientErrors.set([]);
86288
+ markFormGroupTouched(this.form());
86289
+ if (!this.visiblyValid()) {
86290
+ this.clientErrors.set([this.translate.instant("Some required fields aren't completed.")]);
86291
+ return;
86292
+ }
86293
+ this.validate.emit();
86294
+ }
86295
+ static \u0275fac = function BritishColumbiaAnnualReportDeltaFormComponent_Factory(__ngFactoryType__) {
86296
+ return new (__ngFactoryType__ || _BritishColumbiaAnnualReportDeltaFormComponent)();
86297
+ };
86298
+ static \u0275cmp = /* @__PURE__ */ \u0275\u0275defineComponent({ type: _BritishColumbiaAnnualReportDeltaFormComponent, selectors: [["british-columbia-annual-report-delta-form"]], inputs: { form: [1, "form"], actionsDisabled: [1, "actionsDisabled"], isNote: [1, "isNote"], task: [1, "task"], errors: [1, "errors"] }, outputs: { close: "close", save: "save", validate: "validate" }, decls: 15, vars: 18, consts: [[1, "annual-report-delta-form"], [1, "annual-report-delta-form-content", 3, "visiblyValidChange", "form", "task", "errors", "isNote", "isSubmitted", "statusIcon"], [1, "annual-report-delta-form-actions"], ["mat-stroked-button", "", "mat-button", "", 3, "click", "disabled"], [1, "body-1-semibold"], ["color", "primary", "mat-flat-button", "", 1, "submit", 3, "click", "disabled"]], template: function BritishColumbiaAnnualReportDeltaFormComponent_Template(rf, ctx) {
86299
+ if (rf & 1) {
86300
+ \u0275\u0275elementStart(0, "div", 0)(1, "british-columbia-annual-report-form", 1);
86301
+ \u0275\u0275listener("visiblyValidChange", function BritishColumbiaAnnualReportDeltaFormComponent_Template_british_columbia_annual_report_form_visiblyValidChange_1_listener($event) {
86302
+ return ctx.onVisiblyValidChange($event);
86303
+ });
86304
+ \u0275\u0275elementEnd();
86305
+ \u0275\u0275elementStart(2, "div", 2)(3, "button", 3);
86306
+ \u0275\u0275listener("click", function BritishColumbiaAnnualReportDeltaFormComponent_Template_button_click_3_listener() {
86307
+ return ctx.close.emit();
86308
+ });
86309
+ \u0275\u0275elementStart(4, "span", 4);
86310
+ \u0275\u0275text(5);
86311
+ \u0275\u0275pipe(6, "translate");
86312
+ \u0275\u0275elementEnd()();
86313
+ \u0275\u0275elementStart(7, "button", 3);
86314
+ \u0275\u0275listener("click", function BritishColumbiaAnnualReportDeltaFormComponent_Template_button_click_7_listener() {
86315
+ return ctx.save.emit();
86316
+ });
86317
+ \u0275\u0275elementStart(8, "span", 4);
86318
+ \u0275\u0275text(9);
86319
+ \u0275\u0275pipe(10, "translate");
86320
+ \u0275\u0275elementEnd()();
86321
+ \u0275\u0275elementStart(11, "button", 5);
86322
+ \u0275\u0275listener("click", function BritishColumbiaAnnualReportDeltaFormComponent_Template_button_click_11_listener() {
86323
+ return ctx.onValidate();
86324
+ });
86325
+ \u0275\u0275elementStart(12, "span", 4);
86326
+ \u0275\u0275text(13);
86327
+ \u0275\u0275pipe(14, "translate");
86328
+ \u0275\u0275elementEnd()()()();
86329
+ }
86330
+ if (rf & 2) {
86331
+ \u0275\u0275advance();
86332
+ \u0275\u0275property("form", ctx.form())("task", ctx.task())("errors", ctx.combinedErrors())("isNote", ctx.isNote())("isSubmitted", ctx.submitted())("statusIcon", true);
86333
+ \u0275\u0275advance(2);
86334
+ \u0275\u0275property("disabled", ctx.actionsDisabled());
86335
+ \u0275\u0275advance(2);
86336
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(6, 12, "Close"));
86337
+ \u0275\u0275advance(2);
86338
+ \u0275\u0275property("disabled", ctx.actionsDisabled());
86339
+ \u0275\u0275advance(2);
86340
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(10, 14, "Save Changes"));
86341
+ \u0275\u0275advance(2);
86342
+ \u0275\u0275property("disabled", ctx.actionsDisabled());
86343
+ \u0275\u0275advance(2);
86344
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(14, 16, "Validate & Generate Draft"));
86345
+ }
86346
+ }, dependencies: [MatButton, TranslatePipe, BritishColumbiaAnnualReportFormComponent], styles: ["\n\n[_nghost-%COMP%] .annual-report-delta-form[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n height: 100%;\n}\n[_nghost-%COMP%] .annual-report-delta-form-content[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n}\n[_nghost-%COMP%] .annual-report-delta-form-actions[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: 8px;\n padding-top: 16px;\n}\n[_nghost-%COMP%] .annual-report-delta-form-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n margin: 0;\n}\n[_nghost-%COMP%] .annual-report-delta-form-actions[_ngcontent-%COMP%] .submit[_ngcontent-%COMP%] {\n padding-left: 30px;\n padding-right: 30px;\n}\n/*# sourceMappingURL=british-columbia-annual-report-delta-form.component.css.map */"], changeDetection: 0 });
85302
86347
  };
86348
+ (() => {
86349
+ (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(BritishColumbiaAnnualReportDeltaFormComponent, [{
86350
+ type: Component,
86351
+ args: [{ standalone: true, selector: "british-columbia-annual-report-delta-form", changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatButton, TranslatePipe, BritishColumbiaAnnualReportFormComponent], template: `<div class="annual-report-delta-form">\r
86352
+ <british-columbia-annual-report-form\r
86353
+ class="annual-report-delta-form-content"\r
86354
+ [form]="form()"\r
86355
+ [task]="task()"\r
86356
+ [errors]="combinedErrors()"\r
86357
+ [isNote]="isNote()"\r
86358
+ [isSubmitted]="submitted()"\r
86359
+ [statusIcon]="true"\r
86360
+ (visiblyValidChange)="onVisiblyValidChange($event)"\r
86361
+ />\r
86362
+ \r
86363
+ <div class="annual-report-delta-form-actions">\r
86364
+ <button [disabled]="actionsDisabled()" mat-stroked-button mat-button (click)="close.emit()">\r
86365
+ <span class="body-1-semibold">{{ 'Close' | translate }}</span>\r
86366
+ </button>\r
86367
+ <button (click)="save.emit()" [disabled]="actionsDisabled()" mat-stroked-button mat-button>\r
86368
+ <span class="body-1-semibold">{{ 'Save Changes' | translate }}</span>\r
86369
+ </button>\r
86370
+ <button\r
86371
+ class="submit"\r
86372
+ color="primary"\r
86373
+ mat-flat-button\r
86374
+ [disabled]="actionsDisabled()"\r
86375
+ (click)="onValidate()"\r
86376
+ >\r
86377
+ <span class="body-1-semibold">{{ 'Validate & Generate Draft' | translate }}</span>\r
86378
+ </button>\r
86379
+ </div>\r
86380
+ </div>\r
86381
+ `, styles: ["/* src/app/components/british-columbia/annual-report/steps/delta/british-columbia-annual-report-delta-form.component.scss */\n:host .annual-report-delta-form {\n display: flex;\n flex-direction: column;\n gap: 16px;\n height: 100%;\n}\n:host .annual-report-delta-form-content {\n flex: 1;\n min-height: 0;\n}\n:host .annual-report-delta-form-actions {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: 8px;\n padding-top: 16px;\n}\n:host .annual-report-delta-form-actions button {\n margin: 0;\n}\n:host .annual-report-delta-form-actions .submit {\n padding-left: 30px;\n padding-right: 30px;\n}\n/*# sourceMappingURL=british-columbia-annual-report-delta-form.component.css.map */\n"] }]
86382
+ }], null, null);
86383
+ })();
86384
+ (() => {
86385
+ (typeof ngDevMode === "undefined" || ngDevMode) && \u0275setClassDebugInfo(BritishColumbiaAnnualReportDeltaFormComponent, { className: "BritishColumbiaAnnualReportDeltaFormComponent", filePath: "src/app/components/british-columbia/annual-report/steps/delta/british-columbia-annual-report-delta-form.component.ts", lineNumber: 25 });
86386
+ })();
86387
+ }
86388
+ });
86389
+
86390
+ // src/app/components/british-columbia/annual-report/steps/preview/british-columbia-annual-report-preview-form.component.ts
86391
+ var BritishColumbiaAnnualReportPreviewFormComponent;
86392
+ var init_british_columbia_annual_report_preview_form_component = __esm({
86393
+ "src/app/components/british-columbia/annual-report/steps/preview/british-columbia-annual-report-preview-form.component.ts"() {
86394
+ init_core();
86395
+ init_button();
86396
+ init_ngx_translate_core();
86397
+ init_british_columbia_annual_report_form_component();
86398
+ init_core();
86399
+ BritishColumbiaAnnualReportPreviewFormComponent = class _BritishColumbiaAnnualReportPreviewFormComponent {
86400
+ form = input.required();
86401
+ actionsDisabled = input(false);
86402
+ task = input();
86403
+ errors = input([]);
86404
+ close = output();
86405
+ file = output();
86406
+ static \u0275fac = function BritishColumbiaAnnualReportPreviewFormComponent_Factory(__ngFactoryType__) {
86407
+ return new (__ngFactoryType__ || _BritishColumbiaAnnualReportPreviewFormComponent)();
86408
+ };
86409
+ static \u0275cmp = /* @__PURE__ */ \u0275\u0275defineComponent({ type: _BritishColumbiaAnnualReportPreviewFormComponent, selectors: [["british-columbia-annual-report-preview-form"]], inputs: { form: [1, "form"], actionsDisabled: [1, "actionsDisabled"], task: [1, "task"], errors: [1, "errors"] }, outputs: { close: "close", file: "file" }, decls: 11, vars: 12, consts: [[1, "annual-report-preview-form"], [1, "annual-report-preview-form-content", 3, "form", "task", "errors", "statusIcon"], [1, "annual-report-preview-form-actions"], ["mat-stroked-button", "", "mat-button", "", 3, "click", "disabled"], [1, "body-1-semibold"], ["color", "primary", "mat-flat-button", "", 1, "submit", 3, "click", "disabled"]], template: function BritishColumbiaAnnualReportPreviewFormComponent_Template(rf, ctx) {
86410
+ if (rf & 1) {
86411
+ \u0275\u0275elementStart(0, "div", 0);
86412
+ \u0275\u0275element(1, "british-columbia-annual-report-form", 1);
86413
+ \u0275\u0275elementStart(2, "div", 2)(3, "button", 3);
86414
+ \u0275\u0275listener("click", function BritishColumbiaAnnualReportPreviewFormComponent_Template_button_click_3_listener() {
86415
+ return ctx.close.emit();
86416
+ });
86417
+ \u0275\u0275elementStart(4, "span", 4);
86418
+ \u0275\u0275text(5);
86419
+ \u0275\u0275pipe(6, "translate");
86420
+ \u0275\u0275elementEnd()();
86421
+ \u0275\u0275elementStart(7, "button", 5);
86422
+ \u0275\u0275listener("click", function BritishColumbiaAnnualReportPreviewFormComponent_Template_button_click_7_listener() {
86423
+ return ctx.file.emit();
86424
+ });
86425
+ \u0275\u0275elementStart(8, "span", 4);
86426
+ \u0275\u0275text(9);
86427
+ \u0275\u0275pipe(10, "translate");
86428
+ \u0275\u0275elementEnd()()()();
86429
+ }
86430
+ if (rf & 2) {
86431
+ \u0275\u0275advance();
86432
+ \u0275\u0275property("form", ctx.form())("task", ctx.task())("errors", ctx.errors())("statusIcon", false);
86433
+ \u0275\u0275advance(2);
86434
+ \u0275\u0275property("disabled", ctx.actionsDisabled());
86435
+ \u0275\u0275advance(2);
86436
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(6, 8, "Close"));
86437
+ \u0275\u0275advance(2);
86438
+ \u0275\u0275property("disabled", ctx.actionsDisabled());
86439
+ \u0275\u0275advance(2);
86440
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(10, 10, "File"));
86441
+ }
86442
+ }, dependencies: [MatButton, TranslatePipe, BritishColumbiaAnnualReportFormComponent], styles: ["\n\n[_nghost-%COMP%] .annual-report-preview-form[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n height: 100%;\n}\n[_nghost-%COMP%] .annual-report-preview-form-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n height: 100%;\n}\n[_nghost-%COMP%] .annual-report-preview-form-actions[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: 8px;\n padding-top: 16px;\n}\n[_nghost-%COMP%] .annual-report-preview-form-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n margin: 0;\n}\n/*# sourceMappingURL=british-columbia-annual-report-preview-form.component.css.map */"], changeDetection: 0 });
86443
+ };
86444
+ (() => {
86445
+ (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(BritishColumbiaAnnualReportPreviewFormComponent, [{
86446
+ type: Component,
86447
+ args: [{ standalone: true, selector: "british-columbia-annual-report-preview-form", changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatButton, TranslatePipe, BritishColumbiaAnnualReportFormComponent], template: `<div class="annual-report-preview-form">\r
86448
+ <british-columbia-annual-report-form\r
86449
+ class="annual-report-preview-form-content"\r
86450
+ [form]="form()"\r
86451
+ [task]="task()"\r
86452
+ [errors]="errors()"\r
86453
+ [statusIcon]="false"\r
86454
+ />\r
86455
+ \r
86456
+ <div class="annual-report-preview-form-actions">\r
86457
+ <button [disabled]="actionsDisabled()" mat-stroked-button mat-button (click)="close.emit()">\r
86458
+ <span class="body-1-semibold">{{ 'Close' | translate }}</span>\r
86459
+ </button>\r
86460
+ <button\r
86461
+ class="submit"\r
86462
+ color="primary"\r
86463
+ mat-flat-button\r
86464
+ [disabled]="actionsDisabled()"\r
86465
+ (click)="file.emit()"\r
86466
+ >\r
86467
+ <span class="body-1-semibold">{{ 'File' | translate }}</span>\r
86468
+ </button>\r
86469
+ </div>\r
86470
+ </div>\r
86471
+ `, styles: ["/* src/app/components/british-columbia/annual-report/steps/preview/british-columbia-annual-report-preview-form.component.scss */\n:host .annual-report-preview-form {\n display: flex;\n flex-direction: column;\n gap: 16px;\n height: 100%;\n}\n:host .annual-report-preview-form-content {\n display: flex;\n flex-direction: column;\n gap: 16px;\n height: 100%;\n}\n:host .annual-report-preview-form-actions {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: 8px;\n padding-top: 16px;\n}\n:host .annual-report-preview-form-actions button {\n margin: 0;\n}\n/*# sourceMappingURL=british-columbia-annual-report-preview-form.component.css.map */\n"] }]
86472
+ }], null, null);
86473
+ })();
86474
+ (() => {
86475
+ (typeof ngDevMode === "undefined" || ngDevMode) && \u0275setClassDebugInfo(BritishColumbiaAnnualReportPreviewFormComponent, { className: "BritishColumbiaAnnualReportPreviewFormComponent", filePath: "src/app/components/british-columbia/annual-report/steps/preview/british-columbia-annual-report-preview-form.component.ts", lineNumber: 25 });
86476
+ })();
85303
86477
  }
85304
86478
  });
85305
86479
 
85306
86480
  // src/app/constants/ui/british-columbia-change-of-directors-form.constants.ts
85307
- var Controls3, labelledValue, readOnlyRow, directorsAddedOrDeleted, isNotifyByMail, BC_COD_DELTA_CARD_FORM_REFERENCE_NUMBERS_FIELDS, BC_COD_CARD_FORM_CORPORATION_DETAILS_FIELDS, BC_COD_DELTA_CARD_FORM_FILING_DETAILS_FIELDS, BC_COD_CARD_FORM_DIRECTORS_FIELDS, BC_COD_DELTA_CARD_FORM_ANNUAL_REPORT_REMINDER_FIELDS;
86481
+ var Controls3, labelledValue2, readOnlyRow, directorsAddedOrDeleted, isNotifyByMail, BC_COD_DELTA_CARD_FORM_REFERENCE_NUMBERS_FIELDS, BC_COD_CARD_FORM_CORPORATION_DETAILS_FIELDS, BC_COD_DELTA_CARD_FORM_FILING_DETAILS_FIELDS, BC_COD_CARD_FORM_DIRECTORS_FIELDS, BC_COD_DELTA_CARD_FORM_ANNUAL_REPORT_REMINDER_FIELDS;
85308
86482
  var init_british_columbia_change_of_directors_form_constants = __esm({
85309
86483
  "src/app/constants/ui/british-columbia-change-of-directors-form.constants.ts"() {
85310
86484
  init_form_enums();
85311
86485
  init_british_columbia_form_enums();
85312
86486
  init_BritishColumbiaConstants();
85313
86487
  Controls3 = BCChangeOfDirectorsFormControls;
85314
- labelledValue = (label, value, t) => `<span class="body-1-semibold">${t(label)}:</span> ${value || t("Not specified")}`;
86488
+ labelledValue2 = (label, value, t) => `<span class="body-1-semibold">${t(label)}:</span> ${value || t("Not specified")}`;
85315
86489
  readOnlyRow = (label, control, className = "span-12") => ({
85316
86490
  type: FormType.Text,
85317
86491
  formControlName: control,
85318
86492
  class: className,
85319
- dynamicLabel: (form, t) => labelledValue(label, form.get(control)?.value, t)
86493
+ dynamicLabel: (form, t) => labelledValue2(label, form.get(control)?.value, t)
85320
86494
  });
85321
86495
  directorsAddedOrDeleted = (form) => Boolean(form.get(Controls3.DirectorsAddedOrDeleted)?.value);
85322
86496
  isNotifyByMail = (form) => form.get(Controls3.NotificationMethod)?.value === BCNotificationMethod.Mail;
@@ -85936,14 +87110,14 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
85936
87110
  <strong>{{ 'Incorporation Number' | translate }}:</strong>\r
85937
87111
  {{ corporationDetails.get(controls.IncorporationNumber)?.value }}\r
85938
87112
  </p>\r
85939
- <div class="company-email-field">
85940
- <filing-form-group
85941
- [form]="corporationDetails"
85942
- [config]="companyEmailFields()"
85943
- [isSubmitted]="isSubmitted()"
85944
- (visiblyValidChange)="onSectionValidChange('corporationDetails', $event)"
85945
- />
85946
- </div>
87113
+ <div class="company-email-field">\r
87114
+ <filing-form-group\r
87115
+ [form]="corporationDetails"\r
87116
+ [config]="companyEmailFields()"\r
87117
+ [isSubmitted]="isSubmitted()"\r
87118
+ (visiblyValidChange)="onSectionValidChange('corporationDetails', $event)"\r
87119
+ />\r
87120
+ </div>\r
85947
87121
  </div>\r
85948
87122
  </expandable-card>\r
85949
87123
  }\r
@@ -85967,28 +87141,28 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
85967
87141
  \r
85968
87142
  <mat-checkbox\r
85969
87143
  class="directors-change-checkbox"\r
85970
- [formControlName]="controls.DirectorsAddedOrDeleted"
85971
- (change)="
85972
- filingDetails.get(controls.ChangeDate)?.updateValueAndValidity({ emitEvent: false });
85973
- onSectionValidChange('filingDetails', filingDetails.valid)
85974
- "
87144
+ [formControlName]="controls.DirectorsAddedOrDeleted"\r
87145
+ (change)="\r
87146
+ filingDetails.get(controls.ChangeDate)?.updateValueAndValidity({ emitEvent: false });\r
87147
+ onSectionValidChange('filingDetails', filingDetails.valid)\r
87148
+ "\r
85975
87149
  >\r
85976
87150
  {{ 'Directors will be added and/or deleted as part of this filing' | translate }}\r
85977
87151
  </mat-checkbox>\r
85978
87152
  \r
85979
87153
  @if (filingDetails.get(controls.DirectorsAddedOrDeleted)?.value) {\r
85980
- <div class="filing-details-grid">
85981
- <div class="date-field">
85982
- <p class="effective-date-description">
85983
- {{
85984
- 'The date on which the individual(s) became or ceased to be a director:'
85985
- | translate
85986
- }}
85987
- <strong>{{ getEffectiveDateDisplay(filingDetails.get(controls.ChangeDate)?.value) }}</strong>
85988
- </p>
85989
- </div>
85990
-
85991
- <p class="filing-fee">
87154
+ <div class="filing-details-grid">\r
87155
+ <div class="date-field">\r
87156
+ <p class="effective-date-description">\r
87157
+ {{\r
87158
+ 'The date on which the individual(s) became or ceased to be a director:'\r
87159
+ | translate\r
87160
+ }}\r
87161
+ <strong>{{ getEffectiveDateDisplay(filingDetails.get(controls.ChangeDate)?.value) }}</strong>\r
87162
+ </p>\r
87163
+ </div>\r
87164
+ \r
87165
+ <p class="filing-fee">\r
85992
87166
  <strong>{{ 'Filing Fee' | translate }}:</strong>\r
85993
87167
  {{ filingDetails.get(controls.FilingFee)?.value }}\r
85994
87168
  </p>\r
@@ -86000,8 +87174,8 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
86000
87174
  \r
86001
87175
  @let directorsArray = getFormArray(groups.Directors);\r
86002
87176
  \r
86003
- <expandable-card [isStatusIcon]="false" [title]="groups.Directors">
86004
- @if (directorsArray && directorsArray.length) {
87177
+ <expandable-card [isStatusIcon]="false" [title]="groups.Directors">\r
87178
+ @if (directorsArray && directorsArray.length) {\r
86005
87179
  <div class="directors-table" role="table">\r
86006
87180
  <div class="directors-table-header" role="row">\r
86007
87181
  <div role="columnheader">{{ 'Name' | translate }}</div>\r
@@ -86299,285 +87473,6 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
86299
87473
  }
86300
87474
  });
86301
87475
 
86302
- // src/app/constants/ui/british-columbia-formation-form.constants.ts
86303
- var BC_NAME_TYPE_OPTIONS, labelledValue2, isNamed, BC_FORMATION_DELTA_CARD_FORM_REFERENCE_NUMBERS_FIELDS, BC_FORMATION_DELTA_CARD_FORM_CORPORATION_DETAILS_FIELDS, BC_FORMATION_DELTA_CARD_FORM_NAME_TRANSLATION_FIELDS, BC_FORMATION_DELTA_CARD_FORM_NAME_TRANSLATION_ROW_FIELDS, BC_FORMATION_CARD_FORM_REGISTERED_OFFICE_FIELDS, BC_FORMATION_CARD_FORM_RECORDS_OFFICE_FIELDS, BC_FORMATION_DELTA_CARD_FORM_COMPLETING_PARTY_FIELDS, BC_FORMATION_CARD_FORM_DIRECTORS_FIELDS, BC_FORMATION_CARD_FORM_INCORPORATORS_FIELDS;
86304
- var init_british_columbia_formation_form_constants = __esm({
86305
- "src/app/constants/ui/british-columbia-formation-form.constants.ts"() {
86306
- init_form_enums();
86307
- init_british_columbia_form_enums();
86308
- init_BritishColumbiaConstants();
86309
- init_british_columbia_formation_form_helper();
86310
- BC_NAME_TYPE_OPTIONS = Object.values(BCNameType).filter((v) => typeof v === "number").map((v) => ({ label: BCNameTypeLabel[v], value: v }));
86311
- labelledValue2 = (label, value, t) => `<span class="body-1-semibold">${t(label)}:</span> ${value || t("None")}`;
86312
- isNamed = (form) => form.get(BCFormationFormControls.CorporationNameType)?.value === BCNameType.Named;
86313
- BC_FORMATION_DELTA_CARD_FORM_REFERENCE_NUMBERS_FIELDS = [
86314
- {
86315
- type: FormType.Input,
86316
- label: "Client/Matter Number",
86317
- formControlName: BCFormationFormControls.ClientMatterNumber
86318
- },
86319
- {
86320
- type: FormType.Input,
86321
- label: "Docket Number",
86322
- formControlName: BCFormationFormControls.DocketNumber
86323
- }
86324
- ];
86325
- BC_FORMATION_DELTA_CARD_FORM_CORPORATION_DETAILS_FIELDS = [
86326
- {
86327
- type: FormType.Select,
86328
- label: "Corporation Name Type",
86329
- formControlName: BCFormationFormControls.CorporationNameType,
86330
- required: true,
86331
- options: BC_NAME_TYPE_OPTIONS,
86332
- needTranslate: true,
86333
- onChange: (form) => {
86334
- form.get(BCFormationFormControls.CompanyName)?.updateValueAndValidity({ emitEvent: false });
86335
- form.get(BCFormationFormControls.NameReservationNumber)?.updateValueAndValidity({ emitEvent: false });
86336
- }
86337
- },
86338
- {
86339
- type: FormType.Text,
86340
- formControlName: "",
86341
- class: "span-6 beside-select",
86342
- // Numbered only: a Named company shows no preview of the typed name.
86343
- isVisible: (form) => !isNamed(form),
86344
- dynamicLabel: () => BC_NUMBERED_NAME_PREVIEW
86345
- },
86346
- {
86347
- type: FormType.Input,
86348
- label: "Proposed Corporate Name",
86349
- formControlName: BCFormationFormControls.CompanyName,
86350
- required: true,
86351
- isVisible: isNamed,
86352
- class: "column-3"
86353
- },
86354
- {
86355
- type: FormType.Input,
86356
- label: "Name Reservation #",
86357
- formControlName: BCFormationFormControls.NameReservationNumber,
86358
- required: true,
86359
- maxLength: 9,
86360
- errorMessage: "Enter a valid Name Reservation number (for example NR1234567)",
86361
- showRequiredMessage: true,
86362
- isVisible: isNamed,
86363
- class: "span-6"
86364
- },
86365
- {
86366
- type: FormType.Text,
86367
- formControlName: BCFormationFormControls.RequestedDateForIncorporation,
86368
- class: "span-12 spaced-text",
86369
- dynamicLabel: (form, t) => labelledValue2("Requested Date for Incorporation", form.get(BCFormationFormControls.RequestedDateForIncorporation)?.value, t)
86370
- },
86371
- {
86372
- type: FormType.Text,
86373
- formControlName: BCFormationFormControls.IsFutureEffectiveDate,
86374
- class: "span-12 fee-warning",
86375
- isVisible: (form) => Boolean(form.get(BCFormationFormControls.IsFutureEffectiveDate)?.value),
86376
- dynamicLabel: (_, t) => t("There is an additional fee of {{fee}} for an effective date in the future.").replace("{{fee}}", BC_FUTURE_EFFECTIVE_DATE_FEE)
86377
- },
86378
- {
86379
- // Options are filled per task from `task.entity.emailOptions` by the incorporation form.
86380
- type: FormType.Select,
86381
- label: "Company Email",
86382
- formControlName: BCFormationFormControls.CompanyEmail,
86383
- required: true,
86384
- options: [],
86385
- class: "span-6"
86386
- }
86387
- // The company password is not shown: it is taken from the entity's registry ID.
86388
- ];
86389
- BC_FORMATION_DELTA_CARD_FORM_NAME_TRANSLATION_FIELDS = [
86390
- {
86391
- type: FormType.Checkbox,
86392
- label: "This company uses one or more translations of its name outside of Canada.",
86393
- formControlName: BCFormationFormControls.UsesNameTranslation,
86394
- class: "span-12",
86395
- onChange: (form) => {
86396
- const rows = form.get(BCFormationFormControls.NameTranslations);
86397
- const enabled = Boolean(form.get(BCFormationFormControls.UsesNameTranslation)?.value);
86398
- if (!rows) {
86399
- return;
86400
- }
86401
- if (enabled && rows.length === 0) {
86402
- rows.push(BritishColumbiaFormationFormHelper.createNameTranslationFormGroup());
86403
- }
86404
- if (!enabled) {
86405
- rows.clear();
86406
- }
86407
- }
86408
- },
86409
- {
86410
- type: FormType.Text,
86411
- formControlName: "",
86412
- class: "span-12",
86413
- isVisible: (form) => Boolean(form.get(BCFormationFormControls.UsesNameTranslation)?.value),
86414
- dynamicLabel: (_, t) => `<span class="body-1-semibold">${t("Note")}:</span> ${t("Name translations must use the Latin Alphabet (English, French, etc.). Names that use other writing systems must spell the name phonetically in English or French.")}`
86415
- }
86416
- ];
86417
- BC_FORMATION_DELTA_CARD_FORM_NAME_TRANSLATION_ROW_FIELDS = [
86418
- {
86419
- type: FormType.Input,
86420
- label: "Name Translation",
86421
- formControlName: BCFormationFormControls.NameTranslation,
86422
- required: true,
86423
- class: "span-6"
86424
- }
86425
- ];
86426
- BC_FORMATION_CARD_FORM_REGISTERED_OFFICE_FIELDS = [
86427
- {
86428
- type: FormType.Text,
86429
- formControlName: BCFormationFormControls.MailingAddress,
86430
- class: "span-12",
86431
- dynamicLabel: (form, t) => labelledValue2("Mailing Address - Full Address", form.get(BCFormationFormControls.MailingAddress)?.value, t)
86432
- },
86433
- {
86434
- type: FormType.Text,
86435
- formControlName: BCFormationFormControls.DeliveryAddress,
86436
- class: "span-12",
86437
- dynamicLabel: (form, t) => labelledValue2("Delivery Address - Full Address", form.get(BCFormationFormControls.DeliveryAddress)?.value, t)
86438
- }
86439
- ];
86440
- BC_FORMATION_CARD_FORM_RECORDS_OFFICE_FIELDS = [
86441
- {
86442
- type: FormType.Text,
86443
- formControlName: BCFormationFormControls.RecordsOfficeMailingAddress,
86444
- class: "span-12",
86445
- dynamicLabel: (form, t) => labelledValue2("Mailing Address - Full Address", form.get(BCFormationFormControls.RecordsOfficeMailingAddress)?.value, t)
86446
- },
86447
- {
86448
- type: FormType.Text,
86449
- formControlName: BCFormationFormControls.RecordsOfficeDeliveryAddress,
86450
- class: "span-12",
86451
- dynamicLabel: (form, t) => labelledValue2("Delivery Address - Full Address", form.get(BCFormationFormControls.RecordsOfficeDeliveryAddress)?.value, t)
86452
- }
86453
- ];
86454
- BC_FORMATION_DELTA_CARD_FORM_COMPLETING_PARTY_FIELDS = [
86455
- {
86456
- type: FormType.Input,
86457
- label: "First Name",
86458
- formControlName: BCFormationFormControls.CompletingPartyFirstName,
86459
- required: true,
86460
- class: "column-3"
86461
- },
86462
- {
86463
- type: FormType.Input,
86464
- label: "Middle Name",
86465
- formControlName: BCFormationFormControls.CompletingPartyMiddleName,
86466
- class: "column-3"
86467
- },
86468
- {
86469
- type: FormType.Input,
86470
- label: "Last Name",
86471
- formControlName: BCFormationFormControls.CompletingPartyLastName,
86472
- required: true,
86473
- class: "column-3"
86474
- },
86475
- {
86476
- type: FormType.Input,
86477
- inputType: "email",
86478
- label: "Email",
86479
- formControlName: BCFormationFormControls.CompletingPartyEmail,
86480
- required: true,
86481
- errorMessage: "Enter a valid email address",
86482
- showRequiredMessage: true,
86483
- class: "column-3"
86484
- },
86485
- {
86486
- type: FormType.Text,
86487
- formControlName: "",
86488
- class: "span-12",
86489
- dynamicLabel: (_, t) => t("A copy of the filed Incorporation Application is emailed to this address.")
86490
- },
86491
- {
86492
- type: FormType.Input,
86493
- label: "Street Address",
86494
- formControlName: BCFormationFormControls.AddressLine1,
86495
- required: true,
86496
- class: "column-3"
86497
- },
86498
- {
86499
- type: FormType.Input,
86500
- label: "Additional Street Address",
86501
- formControlName: BCFormationFormControls.AddressLine2,
86502
- class: "column-3"
86503
- },
86504
- {
86505
- type: FormType.Input,
86506
- label: "City",
86507
- formControlName: BCFormationFormControls.City,
86508
- required: true,
86509
- class: "column-2"
86510
- },
86511
- {
86512
- type: FormType.Input,
86513
- label: "Province / State",
86514
- formControlName: BCFormationFormControls.ProvinceState,
86515
- required: true,
86516
- class: "column-2"
86517
- },
86518
- {
86519
- type: FormType.Input,
86520
- label: "Postal / Zip Code",
86521
- formControlName: BCFormationFormControls.PostalZip,
86522
- required: true,
86523
- errorMessage: "Enter a valid Canadian postal code (for example V8W 1X4)",
86524
- showRequiredMessage: true,
86525
- class: "column-2"
86526
- },
86527
- {
86528
- type: FormType.Select,
86529
- label: "Country",
86530
- formControlName: BCFormationFormControls.Country,
86531
- required: true,
86532
- options: BC_COMPLETING_PARTY_COUNTRY_OPTIONS,
86533
- class: "span-4",
86534
- // Province / State is required for Canada and the US, and the postal code format is Canada-only.
86535
- onChange: (form) => {
86536
- [BCFormationFormControls.ProvinceState, BCFormationFormControls.PostalZip].forEach((control) => form.get(control)?.updateValueAndValidity({ emitEvent: false }));
86537
- }
86538
- },
86539
- {
86540
- type: FormType.Checkbox,
86541
- // Checkbox labels don't get the renderer's required asterisk, so it is added here (AC2).
86542
- dynamicLabel: (_, t) => `${t("The Completing Party confirms they have examined the Articles and the Incorporation Agreement, and the signature requirements have been met.")} *`,
86543
- formControlName: BCFormationFormControls.HasConfirmedCompletion,
86544
- required: true,
86545
- class: "span-12"
86546
- },
86547
- {
86548
- type: FormType.Checkbox,
86549
- // Checkbox labels don't get the renderer's required asterisk, so it is added here (AC2).
86550
- dynamicLabel: (_, t) => `${t("I have a signed Incorporation Agreement and a set of Articles for the company to be incorporated.")} *`,
86551
- formControlName: BCFormationFormControls.HasRequiredDocuments,
86552
- required: true,
86553
- class: "span-12"
86554
- }
86555
- ];
86556
- BC_FORMATION_CARD_FORM_DIRECTORS_FIELDS = [
86557
- {
86558
- type: FormType.Text,
86559
- formControlName: BCFormationFormControls.MailingAddress,
86560
- class: "span-12",
86561
- dynamicLabel: (form, t) => labelledValue2("Mailing Address - Full Address", form.get(BCFormationFormControls.MailingAddress)?.value, t)
86562
- },
86563
- {
86564
- type: FormType.Text,
86565
- formControlName: BCFormationFormControls.DeliveryAddress,
86566
- class: "span-12",
86567
- dynamicLabel: (form, t) => labelledValue2("Delivery Address - Full Address", form.get(BCFormationFormControls.DeliveryAddress)?.value, t)
86568
- }
86569
- ];
86570
- BC_FORMATION_CARD_FORM_INCORPORATORS_FIELDS = [
86571
- {
86572
- type: FormType.Text,
86573
- formControlName: BCFormationFormControls.FullAddress,
86574
- class: "span-12",
86575
- dynamicLabel: (form, t) => labelledValue2("Full Address", form.get(BCFormationFormControls.FullAddress)?.value, t)
86576
- }
86577
- ];
86578
- }
86579
- });
86580
-
86581
87476
  // src/app/components/british-columbia/incorporation/british-columbia-incorporation-form/british-columbia-incorporation-form.component.ts
86582
87477
  function BritishColumbiaIncorporationFormComponent_Conditional_1_Template(rf, ctx) {
86583
87478
  if (rf & 1) {
@@ -88650,52 +89545,52 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88650
89545
  function BritishColumbiaComponent_Conditional_2_Conditional_0_Template(rf, ctx) {
88651
89546
  if (rf & 1) {
88652
89547
  const _r5 = \u0275\u0275getCurrentView();
88653
- \u0275\u0275elementStart(0, "british-columbia-incorporation-delta-form", 6);
88654
- \u0275\u0275listener("validate", function BritishColumbiaComponent_Conditional_2_Conditional_0_Template_british_columbia_incorporation_delta_form_validate_0_listener() {
89548
+ \u0275\u0275elementStart(0, "british-columbia-annual-report-delta-form", 2);
89549
+ \u0275\u0275listener("validate", function BritishColumbiaComponent_Conditional_2_Conditional_0_Template_british_columbia_annual_report_delta_form_validate_0_listener() {
88655
89550
  \u0275\u0275restoreView(_r5);
88656
89551
  const ctx_r1 = \u0275\u0275nextContext(2);
88657
- return \u0275\u0275resetView(ctx_r1.onFormationValidate());
88658
- })("close", function BritishColumbiaComponent_Conditional_2_Conditional_0_Template_british_columbia_incorporation_delta_form_close_0_listener() {
89552
+ return \u0275\u0275resetView(ctx_r1.onAnnualReportValidate());
89553
+ })("close", function BritishColumbiaComponent_Conditional_2_Conditional_0_Template_british_columbia_annual_report_delta_form_close_0_listener() {
88659
89554
  \u0275\u0275restoreView(_r5);
88660
89555
  const ctx_r1 = \u0275\u0275nextContext(2);
88661
89556
  return \u0275\u0275resetView(ctx_r1.onClose());
88662
- })("save", function BritishColumbiaComponent_Conditional_2_Conditional_0_Template_british_columbia_incorporation_delta_form_save_0_listener() {
89557
+ })("save", function BritishColumbiaComponent_Conditional_2_Conditional_0_Template_british_columbia_annual_report_delta_form_save_0_listener() {
88663
89558
  \u0275\u0275restoreView(_r5);
88664
89559
  const ctx_r1 = \u0275\u0275nextContext(2);
88665
- return \u0275\u0275resetView(ctx_r1.onFormationSave());
89560
+ return \u0275\u0275resetView(ctx_r1.onAnnualReportSave());
88666
89561
  });
88667
89562
  \u0275\u0275elementEnd();
88668
89563
  }
88669
89564
  if (rf & 2) {
88670
89565
  const ctx_r1 = \u0275\u0275nextContext(2);
88671
89566
  const taskData_r3 = \u0275\u0275readContextLet(0);
88672
- \u0275\u0275property("task", taskData_r3)("errors", ctx_r1.errors())("isNote", ctx_r1.isNote())("actionsDisabled", ctx_r1.actionsDisabled())("form", ctx_r1.deltaForm());
89567
+ \u0275\u0275property("task", taskData_r3)("form", ctx_r1.deltaForm())("actionsDisabled", ctx_r1.actionsDisabled())("errors", ctx_r1.errors())("isNote", ctx_r1.isNote());
88673
89568
  }
88674
89569
  }
88675
89570
  function BritishColumbiaComponent_Conditional_2_Conditional_1_Template(rf, ctx) {
88676
89571
  if (rf & 1) {
88677
89572
  const _r6 = \u0275\u0275getCurrentView();
88678
- \u0275\u0275elementStart(0, "british-columbia-incorporation-preview-form", 7);
88679
- \u0275\u0275listener("next", function BritishColumbiaComponent_Conditional_2_Conditional_1_Template_british_columbia_incorporation_preview_form_next_0_listener() {
89573
+ \u0275\u0275elementStart(0, "british-columbia-annual-report-preview-form", 3);
89574
+ \u0275\u0275listener("close", function BritishColumbiaComponent_Conditional_2_Conditional_1_Template_british_columbia_annual_report_preview_form_close_0_listener() {
88680
89575
  \u0275\u0275restoreView(_r6);
88681
89576
  const ctx_r1 = \u0275\u0275nextContext(2);
88682
- return \u0275\u0275resetView(ctx_r1.onFormationSubmit());
88683
- })("close", function BritishColumbiaComponent_Conditional_2_Conditional_1_Template_british_columbia_incorporation_preview_form_close_0_listener() {
89577
+ return \u0275\u0275resetView(ctx_r1.close.emit());
89578
+ })("file", function BritishColumbiaComponent_Conditional_2_Conditional_1_Template_british_columbia_annual_report_preview_form_file_0_listener() {
88684
89579
  \u0275\u0275restoreView(_r6);
88685
89580
  const ctx_r1 = \u0275\u0275nextContext(2);
88686
- return \u0275\u0275resetView(ctx_r1.close.emit());
89581
+ return \u0275\u0275resetView(ctx_r1.onAnnualReportSubmit());
88687
89582
  });
88688
89583
  \u0275\u0275elementEnd();
88689
89584
  }
88690
89585
  if (rf & 2) {
88691
89586
  const ctx_r1 = \u0275\u0275nextContext(2);
88692
89587
  const taskData_r3 = \u0275\u0275readContextLet(0);
88693
- \u0275\u0275property("task", taskData_r3)("form", ctx_r1.previewForm())("errors", ctx_r1.errors())("actionsDisabled", ctx_r1.actionsDisabled());
89588
+ \u0275\u0275property("task", taskData_r3)("form", ctx_r1.previewForm())("actionsDisabled", ctx_r1.actionsDisabled())("errors", ctx_r1.errors());
88694
89589
  }
88695
89590
  }
88696
89591
  function BritishColumbiaComponent_Conditional_2_Template(rf, ctx) {
88697
89592
  if (rf & 1) {
88698
- \u0275\u0275template(0, BritishColumbiaComponent_Conditional_2_Conditional_0_Template, 1, 5, "british-columbia-incorporation-delta-form", 4)(1, BritishColumbiaComponent_Conditional_2_Conditional_1_Template, 1, 4, "british-columbia-incorporation-preview-form", 5);
89593
+ \u0275\u0275template(0, BritishColumbiaComponent_Conditional_2_Conditional_0_Template, 1, 5, "british-columbia-annual-report-delta-form", 0)(1, BritishColumbiaComponent_Conditional_2_Conditional_1_Template, 1, 4, "british-columbia-annual-report-preview-form", 1);
88699
89594
  }
88700
89595
  if (rf & 2) {
88701
89596
  const ctx_r1 = \u0275\u0275nextContext();
@@ -88707,39 +89602,96 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88707
89602
  function BritishColumbiaComponent_Conditional_3_Conditional_0_Template(rf, ctx) {
88708
89603
  if (rf & 1) {
88709
89604
  const _r7 = \u0275\u0275getCurrentView();
88710
- \u0275\u0275elementStart(0, "british-columbia-change-of-office-addresses-delta-form", 2);
88711
- \u0275\u0275listener("validate", function BritishColumbiaComponent_Conditional_3_Conditional_0_Template_british_columbia_change_of_office_addresses_delta_form_validate_0_listener() {
89605
+ \u0275\u0275elementStart(0, "british-columbia-incorporation-delta-form", 6);
89606
+ \u0275\u0275listener("validate", function BritishColumbiaComponent_Conditional_3_Conditional_0_Template_british_columbia_incorporation_delta_form_validate_0_listener() {
88712
89607
  \u0275\u0275restoreView(_r7);
88713
89608
  const ctx_r1 = \u0275\u0275nextContext(2);
88714
- return \u0275\u0275resetView(ctx_r1.onChangeOfOfficeAddressesValidate());
88715
- })("close", function BritishColumbiaComponent_Conditional_3_Conditional_0_Template_british_columbia_change_of_office_addresses_delta_form_close_0_listener() {
89609
+ return \u0275\u0275resetView(ctx_r1.onFormationValidate());
89610
+ })("close", function BritishColumbiaComponent_Conditional_3_Conditional_0_Template_british_columbia_incorporation_delta_form_close_0_listener() {
88716
89611
  \u0275\u0275restoreView(_r7);
88717
89612
  const ctx_r1 = \u0275\u0275nextContext(2);
88718
89613
  return \u0275\u0275resetView(ctx_r1.onClose());
88719
- })("save", function BritishColumbiaComponent_Conditional_3_Conditional_0_Template_british_columbia_change_of_office_addresses_delta_form_save_0_listener() {
89614
+ })("save", function BritishColumbiaComponent_Conditional_3_Conditional_0_Template_british_columbia_incorporation_delta_form_save_0_listener() {
88720
89615
  \u0275\u0275restoreView(_r7);
88721
89616
  const ctx_r1 = \u0275\u0275nextContext(2);
88722
- return \u0275\u0275resetView(ctx_r1.onChangeOfOfficeAddressesSave());
89617
+ return \u0275\u0275resetView(ctx_r1.onFormationSave());
88723
89618
  });
88724
89619
  \u0275\u0275elementEnd();
88725
89620
  }
88726
89621
  if (rf & 2) {
88727
89622
  const ctx_r1 = \u0275\u0275nextContext(2);
88728
89623
  const taskData_r3 = \u0275\u0275readContextLet(0);
88729
- \u0275\u0275property("task", taskData_r3)("form", ctx_r1.deltaForm())("actionsDisabled", ctx_r1.actionsDisabled())("errors", ctx_r1.errors())("isNote", ctx_r1.isNote());
89624
+ \u0275\u0275property("task", taskData_r3)("errors", ctx_r1.errors())("isNote", ctx_r1.isNote())("actionsDisabled", ctx_r1.actionsDisabled())("form", ctx_r1.deltaForm());
88730
89625
  }
88731
89626
  }
88732
89627
  function BritishColumbiaComponent_Conditional_3_Conditional_1_Template(rf, ctx) {
88733
89628
  if (rf & 1) {
88734
89629
  const _r8 = \u0275\u0275getCurrentView();
88735
- \u0275\u0275elementStart(0, "british-columbia-change-of-office-addresses-preview-form", 3);
88736
- \u0275\u0275listener("close", function BritishColumbiaComponent_Conditional_3_Conditional_1_Template_british_columbia_change_of_office_addresses_preview_form_close_0_listener() {
89630
+ \u0275\u0275elementStart(0, "british-columbia-incorporation-preview-form", 7);
89631
+ \u0275\u0275listener("next", function BritishColumbiaComponent_Conditional_3_Conditional_1_Template_british_columbia_incorporation_preview_form_next_0_listener() {
88737
89632
  \u0275\u0275restoreView(_r8);
88738
89633
  const ctx_r1 = \u0275\u0275nextContext(2);
88739
- return \u0275\u0275resetView(ctx_r1.close.emit());
88740
- })("file", function BritishColumbiaComponent_Conditional_3_Conditional_1_Template_british_columbia_change_of_office_addresses_preview_form_file_0_listener() {
89634
+ return \u0275\u0275resetView(ctx_r1.onFormationSubmit());
89635
+ })("close", function BritishColumbiaComponent_Conditional_3_Conditional_1_Template_british_columbia_incorporation_preview_form_close_0_listener() {
88741
89636
  \u0275\u0275restoreView(_r8);
88742
89637
  const ctx_r1 = \u0275\u0275nextContext(2);
89638
+ return \u0275\u0275resetView(ctx_r1.close.emit());
89639
+ });
89640
+ \u0275\u0275elementEnd();
89641
+ }
89642
+ if (rf & 2) {
89643
+ const ctx_r1 = \u0275\u0275nextContext(2);
89644
+ const taskData_r3 = \u0275\u0275readContextLet(0);
89645
+ \u0275\u0275property("task", taskData_r3)("form", ctx_r1.previewForm())("errors", ctx_r1.errors())("actionsDisabled", ctx_r1.actionsDisabled());
89646
+ }
89647
+ }
89648
+ function BritishColumbiaComponent_Conditional_3_Template(rf, ctx) {
89649
+ if (rf & 1) {
89650
+ \u0275\u0275template(0, BritishColumbiaComponent_Conditional_3_Conditional_0_Template, 1, 5, "british-columbia-incorporation-delta-form", 4)(1, BritishColumbiaComponent_Conditional_3_Conditional_1_Template, 1, 4, "british-columbia-incorporation-preview-form", 5);
89651
+ }
89652
+ if (rf & 2) {
89653
+ const ctx_r1 = \u0275\u0275nextContext();
89654
+ \u0275\u0275conditional(ctx_r1.activeStep() === ctx_r1.steps.Validate ? 0 : -1);
89655
+ \u0275\u0275advance();
89656
+ \u0275\u0275conditional(ctx_r1.activeStep() === ctx_r1.steps.FilingPreview ? 1 : -1);
89657
+ }
89658
+ }
89659
+ function BritishColumbiaComponent_Conditional_4_Conditional_0_Template(rf, ctx) {
89660
+ if (rf & 1) {
89661
+ const _r9 = \u0275\u0275getCurrentView();
89662
+ \u0275\u0275elementStart(0, "british-columbia-change-of-office-addresses-delta-form", 2);
89663
+ \u0275\u0275listener("validate", function BritishColumbiaComponent_Conditional_4_Conditional_0_Template_british_columbia_change_of_office_addresses_delta_form_validate_0_listener() {
89664
+ \u0275\u0275restoreView(_r9);
89665
+ const ctx_r1 = \u0275\u0275nextContext(2);
89666
+ return \u0275\u0275resetView(ctx_r1.onChangeOfOfficeAddressesValidate());
89667
+ })("close", function BritishColumbiaComponent_Conditional_4_Conditional_0_Template_british_columbia_change_of_office_addresses_delta_form_close_0_listener() {
89668
+ \u0275\u0275restoreView(_r9);
89669
+ const ctx_r1 = \u0275\u0275nextContext(2);
89670
+ return \u0275\u0275resetView(ctx_r1.onClose());
89671
+ })("save", function BritishColumbiaComponent_Conditional_4_Conditional_0_Template_british_columbia_change_of_office_addresses_delta_form_save_0_listener() {
89672
+ \u0275\u0275restoreView(_r9);
89673
+ const ctx_r1 = \u0275\u0275nextContext(2);
89674
+ return \u0275\u0275resetView(ctx_r1.onChangeOfOfficeAddressesSave());
89675
+ });
89676
+ \u0275\u0275elementEnd();
89677
+ }
89678
+ if (rf & 2) {
89679
+ const ctx_r1 = \u0275\u0275nextContext(2);
89680
+ const taskData_r3 = \u0275\u0275readContextLet(0);
89681
+ \u0275\u0275property("task", taskData_r3)("form", ctx_r1.deltaForm())("actionsDisabled", ctx_r1.actionsDisabled())("errors", ctx_r1.errors())("isNote", ctx_r1.isNote());
89682
+ }
89683
+ }
89684
+ function BritishColumbiaComponent_Conditional_4_Conditional_1_Template(rf, ctx) {
89685
+ if (rf & 1) {
89686
+ const _r10 = \u0275\u0275getCurrentView();
89687
+ \u0275\u0275elementStart(0, "british-columbia-change-of-office-addresses-preview-form", 3);
89688
+ \u0275\u0275listener("close", function BritishColumbiaComponent_Conditional_4_Conditional_1_Template_british_columbia_change_of_office_addresses_preview_form_close_0_listener() {
89689
+ \u0275\u0275restoreView(_r10);
89690
+ const ctx_r1 = \u0275\u0275nextContext(2);
89691
+ return \u0275\u0275resetView(ctx_r1.close.emit());
89692
+ })("file", function BritishColumbiaComponent_Conditional_4_Conditional_1_Template_british_columbia_change_of_office_addresses_preview_form_file_0_listener() {
89693
+ \u0275\u0275restoreView(_r10);
89694
+ const ctx_r1 = \u0275\u0275nextContext(2);
88743
89695
  return \u0275\u0275resetView(ctx_r1.onChangeOfOfficeAddressesFile());
88744
89696
  });
88745
89697
  \u0275\u0275elementEnd();
@@ -88750,9 +89702,9 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88750
89702
  \u0275\u0275property("task", taskData_r3)("form", ctx_r1.previewForm())("actionsDisabled", ctx_r1.actionsDisabled())("errors", ctx_r1.errors());
88751
89703
  }
88752
89704
  }
88753
- function BritishColumbiaComponent_Conditional_3_Template(rf, ctx) {
89705
+ function BritishColumbiaComponent_Conditional_4_Template(rf, ctx) {
88754
89706
  if (rf & 1) {
88755
- \u0275\u0275template(0, BritishColumbiaComponent_Conditional_3_Conditional_0_Template, 1, 5, "british-columbia-change-of-office-addresses-delta-form", 0)(1, BritishColumbiaComponent_Conditional_3_Conditional_1_Template, 1, 4, "british-columbia-change-of-office-addresses-preview-form", 1);
89707
+ \u0275\u0275template(0, BritishColumbiaComponent_Conditional_4_Conditional_0_Template, 1, 5, "british-columbia-change-of-office-addresses-delta-form", 0)(1, BritishColumbiaComponent_Conditional_4_Conditional_1_Template, 1, 4, "british-columbia-change-of-office-addresses-preview-form", 1);
88756
89708
  }
88757
89709
  if (rf & 2) {
88758
89710
  const ctx_r1 = \u0275\u0275nextContext();
@@ -88771,12 +89723,15 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88771
89723
  init_app_enums();
88772
89724
  init_BritishColumbiaConstants();
88773
89725
  init_british_columbia_form_enums();
89726
+ init_british_columbia_annual_report_form_helper();
88774
89727
  init_british_columbia_change_of_directors_form_helper();
88775
89728
  init_british_columbia_formation_form_helper();
88776
89729
  init_british_columbia_change_of_office_addresses_form_helper();
88777
89730
  init_delta_state_service();
88778
89731
  init_common_utils();
88779
89732
  init_confirm_modal_component();
89733
+ init_british_columbia_annual_report_delta_form_component();
89734
+ init_british_columbia_annual_report_preview_form_component();
88780
89735
  init_change_of_directors_delta_form_component();
88781
89736
  init_change_of_directors_preview_form_component();
88782
89737
  init_british_columbia_incorporation_delta_form_component();
@@ -88802,6 +89757,10 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88802
89757
  nextStep = output();
88803
89758
  recheckStep = output();
88804
89759
  prevStep = output();
89760
+ // Annual Report outputs
89761
+ arValidate = output();
89762
+ saveArDeltaData = output();
89763
+ arSubmit = output();
88805
89764
  // Change of Office Addresses outputs
88806
89765
  coaValidate = output();
88807
89766
  saveCoaDeltaData = output();
@@ -88812,6 +89771,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88812
89771
  steps = Step;
88813
89772
  isChangeOfDirectorsTask = isChangeOfPrincipalsTask;
88814
89773
  isFormationTask = isFormationTask2;
89774
+ isAnnualReportTask = isAnnualReturnTask;
88815
89775
  isChangeOfOfficeAddressesTask = isChangeOfAddressTask;
88816
89776
  deltaForm = signal(new FormGroup({}));
88817
89777
  previewForm = signal(new FormGroup({}));
@@ -88830,6 +89790,12 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88830
89790
  this.deltaForm.set(new FormGroup(BritishColumbiaChangeOfOfficeAddressesFormHelper.generateConfig(task, (key) => this.translate.instant(key))));
88831
89791
  this.deltaState.setBCChangeOfOfficeAddressesInitialDelta(this.generateChangeOfOfficeAddressesDeltaData());
88832
89792
  }
89793
+ if (task && isAnnualReturnTask(task)) {
89794
+ untracked2(() => {
89795
+ this.deltaForm.set(new FormGroup(BritishColumbiaAnnualReportFormHelper.generateConfig(task)));
89796
+ this.deltaState.setBCAnnualReportInitialDelta(this.generateAnnualReportDeltaData());
89797
+ });
89798
+ }
88833
89799
  });
88834
89800
  effect(() => {
88835
89801
  const task = this.task();
@@ -88853,6 +89819,14 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88853
89819
  this.nextStep.emit();
88854
89820
  }
88855
89821
  }
89822
+ if (isAnnualReturnTask(task)) {
89823
+ const form = new FormGroup(BritishColumbiaAnnualReportFormHelper.generateConfig(task));
89824
+ form.disable();
89825
+ this.previewForm.set(form);
89826
+ if (untracked2(() => this.activeStep()) === Step.Validate) {
89827
+ this.nextStep.emit();
89828
+ }
89829
+ }
88856
89830
  if (task && isChangeOfAddressTask(task) && deltaData) {
88857
89831
  const form = new FormGroup(BritishColumbiaChangeOfOfficeAddressesFormHelper.generateConfig(task, (key) => this.translate.instant(key)));
88858
89832
  form.disable();
@@ -88866,6 +89840,33 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88866
89840
  }
88867
89841
  });
88868
89842
  }
89843
+ onAnnualReportValidate() {
89844
+ markFormGroupTouched(this.deltaForm());
89845
+ this.arValidate.emit(this.generateAnnualReportDeltaData());
89846
+ }
89847
+ onAnnualReportSave() {
89848
+ const delta = this.generateAnnualReportDeltaData();
89849
+ this.deltaState.setBCAnnualReportInitialDelta(delta);
89850
+ this.saveArDeltaData.emit(delta);
89851
+ }
89852
+ /** No certification step for this filing: "File" submits the staged draft directly. */
89853
+ onAnnualReportSubmit() {
89854
+ this.arSubmit.emit();
89855
+ }
89856
+ generateAnnualReportDeltaData() {
89857
+ const formData = this.deltaForm().getRawValue();
89858
+ const general = formData[BCAnnualReportFormGroups.General];
89859
+ const companyEmail = formData[BCAnnualReportFormGroups.CompanyEmail];
89860
+ const reminder = formData[BCAnnualReportFormGroups.AnnualReportReminder];
89861
+ return {
89862
+ referenceNumbers: {
89863
+ referenceNumber: general?.[BCAnnualReportFormControls.ClientMatterNumber] ?? null,
89864
+ docketNumber: general?.[BCAnnualReportFormControls.DocketNumber] ?? null
89865
+ },
89866
+ companyEmail: companyEmail?.[BCAnnualReportFormControls.CompanyEmail] ?? null,
89867
+ isAnnualReportReminderRequired: Boolean(reminder?.[BCAnnualReportFormControls.IsAnnualReportReminderRequired])
89868
+ };
89869
+ }
88869
89870
  onChangeOfOfficeAddressesValidate() {
88870
89871
  markFormGroupTouched(this.deltaForm());
88871
89872
  this.coaValidate.emit(this.generateChangeOfOfficeAddressesDeltaData());
@@ -88968,7 +89969,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88968
89969
  annualReportReminder: reminder?.[c.AnnualReportReminder] ?? null,
88969
89970
  directorChanges: {
88970
89971
  addIds: directors.filter((d) => d[c.AffiliationType] === "Add").map((d) => d[c.Id]).filter(Boolean),
88971
- editIds: directors.filter((d) => d[c.AffiliationType] === "Update" || !d[c.AffiliationType]).map((d) => d[c.Id]).filter(Boolean),
89972
+ editIds: directors.filter((d) => d[c.AffiliationType] === "Update").map((d) => d[c.Id]).filter(Boolean),
88972
89973
  ceaseIds: directors.filter((d) => d[c.AffiliationType] === "Cease").map((d) => d[c.Id]).filter(Boolean)
88973
89974
  }
88974
89975
  };
@@ -89017,7 +90018,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
89017
90018
  }
89018
90019
  onClose() {
89019
90020
  const task = this.task();
89020
- const hasChanges = task && isFormationTask2(task) ? !deepEqual(this.deltaState.bcFormationInitialDelta(), this.generateFormationDeltaData()) : task && isChangeOfAddressTask(task) ? !deepEqual(this.deltaState.bcChangeOfOfficeAddressesInitialDelta(), this.generateChangeOfOfficeAddressesDeltaData()) : !deepEqual(this.deltaState.bcChangeOfDirectorsInitialDelta(), this.generateChangeOfDirectorsDeltaData());
90021
+ const hasChanges = task && isAnnualReturnTask(task) ? !deepEqual(this.deltaState.bcAnnualReportInitialDelta(), this.generateAnnualReportDeltaData()) : task && isFormationTask2(task) ? !deepEqual(this.deltaState.bcFormationInitialDelta(), this.generateFormationDeltaData()) : task && isChangeOfAddressTask(task) ? !deepEqual(this.deltaState.bcChangeOfOfficeAddressesInitialDelta(), this.generateChangeOfOfficeAddressesDeltaData()) : !deepEqual(this.deltaState.bcChangeOfDirectorsInitialDelta(), this.generateChangeOfDirectorsDeltaData());
89021
90022
  if (!hasChanges) {
89022
90023
  this.close.emit();
89023
90024
  return;
@@ -89033,7 +90034,9 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
89033
90034
  width: "65rem"
89034
90035
  }).afterClosed().subscribe((val) => {
89035
90036
  if (val) {
89036
- if (task && isFormationTask2(task)) {
90037
+ if (task && isAnnualReturnTask(task)) {
90038
+ this.onAnnualReportSave();
90039
+ } else if (task && isFormationTask2(task)) {
89037
90040
  this.onFormationSave();
89038
90041
  } else if (task && isChangeOfAddressTask(task)) {
89039
90042
  this.onChangeOfOfficeAddressesSave();
@@ -89047,21 +90050,25 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
89047
90050
  static \u0275fac = function BritishColumbiaComponent_Factory(__ngFactoryType__) {
89048
90051
  return new (__ngFactoryType__ || _BritishColumbiaComponent)();
89049
90052
  };
89050
- static \u0275cmp = /* @__PURE__ */ \u0275\u0275defineComponent({ type: _BritishColumbiaComponent, selectors: [["british-columbia"]], inputs: { task: [1, "task"], currentUser: [1, "currentUser"], activeStep: [1, "activeStep"], isNote: [1, "isNote"], actionsDisabled: [1, "actionsDisabled"], errors: [1, "errors"], currentDataExtract: [1, "currentDataExtract"] }, outputs: { close: "close", codValidate: "codValidate", saveCodDeltaData: "saveCodDeltaData", codSubmit: "codSubmit", formationValidate: "formationValidate", formationSubmit: "formationSubmit", saveFormationDeltaData: "saveFormationDeltaData", nextStep: "nextStep", recheckStep: "recheckStep", prevStep: "prevStep", coaValidate: "coaValidate", saveCoaDeltaData: "saveCoaDeltaData", coaSubmit: "coaSubmit" }, decls: 4, vars: 4, consts: [[3, "task", "form", "actionsDisabled", "errors", "isNote"], [3, "task", "form", "actionsDisabled", "errors"], [3, "validate", "close", "save", "task", "form", "actionsDisabled", "errors", "isNote"], [3, "close", "file", "task", "form", "actionsDisabled", "errors"], [3, "task", "errors", "isNote", "actionsDisabled", "form"], [3, "task", "form", "errors", "actionsDisabled"], [3, "validate", "close", "save", "task", "errors", "isNote", "actionsDisabled", "form"], [3, "next", "close", "task", "form", "errors", "actionsDisabled"]], template: function BritishColumbiaComponent_Template(rf, ctx) {
90053
+ static \u0275cmp = /* @__PURE__ */ \u0275\u0275defineComponent({ type: _BritishColumbiaComponent, selectors: [["british-columbia"]], inputs: { task: [1, "task"], currentUser: [1, "currentUser"], activeStep: [1, "activeStep"], isNote: [1, "isNote"], actionsDisabled: [1, "actionsDisabled"], errors: [1, "errors"], currentDataExtract: [1, "currentDataExtract"] }, outputs: { close: "close", codValidate: "codValidate", saveCodDeltaData: "saveCodDeltaData", codSubmit: "codSubmit", formationValidate: "formationValidate", formationSubmit: "formationSubmit", saveFormationDeltaData: "saveFormationDeltaData", nextStep: "nextStep", recheckStep: "recheckStep", prevStep: "prevStep", arValidate: "arValidate", saveArDeltaData: "saveArDeltaData", arSubmit: "arSubmit", coaValidate: "coaValidate", saveCoaDeltaData: "saveCoaDeltaData", coaSubmit: "coaSubmit" }, decls: 5, vars: 5, consts: [[3, "task", "form", "actionsDisabled", "errors", "isNote"], [3, "task", "form", "actionsDisabled", "errors"], [3, "validate", "close", "save", "task", "form", "actionsDisabled", "errors", "isNote"], [3, "close", "file", "task", "form", "actionsDisabled", "errors"], [3, "task", "errors", "isNote", "actionsDisabled", "form"], [3, "task", "form", "errors", "actionsDisabled"], [3, "validate", "close", "save", "task", "errors", "isNote", "actionsDisabled", "form"], [3, "next", "close", "task", "form", "errors", "actionsDisabled"]], template: function BritishColumbiaComponent_Template(rf, ctx) {
89051
90054
  if (rf & 1) {
89052
90055
  \u0275\u0275declareLet(0);
89053
- \u0275\u0275template(1, BritishColumbiaComponent_Conditional_1_Template, 2, 2)(2, BritishColumbiaComponent_Conditional_2_Template, 2, 2)(3, BritishColumbiaComponent_Conditional_3_Template, 2, 2);
90056
+ \u0275\u0275template(1, BritishColumbiaComponent_Conditional_1_Template, 2, 2)(2, BritishColumbiaComponent_Conditional_2_Template, 2, 2)(3, BritishColumbiaComponent_Conditional_3_Template, 2, 2)(4, BritishColumbiaComponent_Conditional_4_Template, 2, 2);
89054
90057
  }
89055
90058
  if (rf & 2) {
89056
- const taskData_r9 = \u0275\u0275storeLet(ctx.task());
90059
+ const taskData_r11 = \u0275\u0275storeLet(ctx.task());
89057
90060
  \u0275\u0275advance();
89058
- \u0275\u0275conditional(ctx.isChangeOfDirectorsTask(taskData_r9) ? 1 : -1);
90061
+ \u0275\u0275conditional(ctx.isChangeOfDirectorsTask(taskData_r11) ? 1 : -1);
89059
90062
  \u0275\u0275advance();
89060
- \u0275\u0275conditional(ctx.isFormationTask(taskData_r9) ? 2 : -1);
90063
+ \u0275\u0275conditional(ctx.isAnnualReportTask(taskData_r11) ? 2 : -1);
89061
90064
  \u0275\u0275advance();
89062
- \u0275\u0275conditional(ctx.isChangeOfOfficeAddressesTask(taskData_r9) ? 3 : -1);
90065
+ \u0275\u0275conditional(ctx.isFormationTask(taskData_r11) ? 3 : -1);
90066
+ \u0275\u0275advance();
90067
+ \u0275\u0275conditional(ctx.isChangeOfOfficeAddressesTask(taskData_r11) ? 4 : -1);
89063
90068
  }
89064
90069
  }, dependencies: [
90070
+ BritishColumbiaAnnualReportDeltaFormComponent,
90071
+ BritishColumbiaAnnualReportPreviewFormComponent,
89065
90072
  BritishColumbiaChangeOfDirectorsDeltaFormComponent,
89066
90073
  BritishColumbiaChangeOfDirectorsPreviewFormComponent,
89067
90074
  BritishColumbiaIncorporationDeltaFormComponent,
@@ -89074,17 +90081,19 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
89074
90081
  (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(BritishColumbiaComponent, [{
89075
90082
  type: Component,
89076
90083
  args: [{ standalone: true, selector: "british-columbia", changeDetection: ChangeDetectionStrategy.OnPush, imports: [
90084
+ BritishColumbiaAnnualReportDeltaFormComponent,
90085
+ BritishColumbiaAnnualReportPreviewFormComponent,
89077
90086
  BritishColumbiaChangeOfDirectorsDeltaFormComponent,
89078
90087
  BritishColumbiaChangeOfDirectorsPreviewFormComponent,
89079
90088
  BritishColumbiaIncorporationDeltaFormComponent,
89080
90089
  BritishColumbiaIncorporationPreviewFormComponent,
89081
90090
  BritishColumbiaChangeOfOfficeAddressesDeltaFormComponent,
89082
90091
  BritishColumbiaChangeOfOfficeAddressesPreviewFormComponent
89083
- ], template: '@let taskData = this.task();\r\n\r\n@if (isChangeOfDirectorsTask(taskData)) {\r\n @if (activeStep() === steps.Validate) {\r\n <british-columbia-change-of-directors-delta-form\r\n [task]="taskData"\r\n [form]="deltaForm()"\r\n [actionsDisabled]="actionsDisabled()"\r\n [errors]="errors()"\r\n [isNote]="isNote()"\r\n (validate)="onChangeOfDirectorsValidate()"\r\n (close)="onClose()"\r\n (save)="onChangeOfDirectorsSave()"\r\n />\r\n }\r\n\r\n @if (activeStep() === steps.FilingPreview) {\r\n <british-columbia-change-of-directors-preview-form\r\n [task]="taskData"\r\n [form]="previewForm()"\r\n [actionsDisabled]="actionsDisabled()"\r\n [errors]="errors()"\r\n (close)="close.emit()"\r\n (file)="onChangeOfDirectorsSubmit()"\r\n />\r\n }\r\n}\r\n\r\n@if (isFormationTask(taskData)) {\r\n @if (activeStep() === steps.Validate) {\r\n <british-columbia-incorporation-delta-form\r\n [task]="taskData"\r\n [errors]="errors()"\r\n [isNote]="isNote()"\r\n [actionsDisabled]="actionsDisabled()"\r\n [form]="deltaForm()"\r\n (validate)="onFormationValidate()"\r\n (close)="onClose()"\r\n (save)="onFormationSave()"\r\n />\r\n }\r\n\r\n @if (activeStep() === steps.FilingPreview) {\r\n <british-columbia-incorporation-preview-form\r\n [task]="taskData"\r\n [form]="previewForm()"\r\n [errors]="errors()"\r\n [actionsDisabled]="actionsDisabled()"\r\n (next)="onFormationSubmit()"\r\n (close)="close.emit()"\r\n />\r\n }\r\n}\r\n\r\n@if (isChangeOfOfficeAddressesTask(taskData)) {\r\n @if (activeStep() === steps.Validate) {\r\n <british-columbia-change-of-office-addresses-delta-form\r\n [task]="taskData"\r\n [form]="deltaForm()"\r\n [actionsDisabled]="actionsDisabled()"\r\n [errors]="errors()"\r\n [isNote]="isNote()"\r\n (validate)="onChangeOfOfficeAddressesValidate()"\r\n (close)="onClose()"\r\n (save)="onChangeOfOfficeAddressesSave()"\r\n />\r\n }\r\n\r\n @if (activeStep() === steps.FilingPreview) {\r\n <british-columbia-change-of-office-addresses-preview-form\r\n [task]="taskData"\r\n [form]="previewForm()"\r\n [actionsDisabled]="actionsDisabled()"\r\n [errors]="errors()"\r\n (close)="close.emit()"\r\n (file)="onChangeOfOfficeAddressesFile()"\r\n />\r\n }\r\n}\r\n', styles: ["/* src/app/components/british-columbia/british-columbia.component.scss */\n:host {\n display: contents;\n}\n/*# sourceMappingURL=british-columbia.component.css.map */\n"] }]
90092
+ ], template: '@let taskData = this.task();\r\n\r\n@if (isChangeOfDirectorsTask(taskData)) {\r\n @if (activeStep() === steps.Validate) {\r\n <british-columbia-change-of-directors-delta-form\r\n [task]="taskData"\r\n [form]="deltaForm()"\r\n [actionsDisabled]="actionsDisabled()"\r\n [errors]="errors()"\r\n [isNote]="isNote()"\r\n (validate)="onChangeOfDirectorsValidate()"\r\n (close)="onClose()"\r\n (save)="onChangeOfDirectorsSave()"\r\n />\r\n }\r\n\r\n @if (activeStep() === steps.FilingPreview) {\r\n <british-columbia-change-of-directors-preview-form\r\n [task]="taskData"\r\n [form]="previewForm()"\r\n [actionsDisabled]="actionsDisabled()"\r\n [errors]="errors()"\r\n (close)="close.emit()"\r\n (file)="onChangeOfDirectorsSubmit()"\r\n />\r\n }\r\n}\r\n\r\n@if (isAnnualReportTask(taskData)) {\r\n @if (activeStep() === steps.Validate) {\r\n <british-columbia-annual-report-delta-form\r\n [task]="taskData"\r\n [form]="deltaForm()"\r\n [actionsDisabled]="actionsDisabled()"\r\n [errors]="errors()"\r\n [isNote]="isNote()"\r\n (validate)="onAnnualReportValidate()"\r\n (close)="onClose()"\r\n (save)="onAnnualReportSave()"\r\n />\r\n }\r\n\r\n @if (activeStep() === steps.FilingPreview) {\r\n <british-columbia-annual-report-preview-form\r\n [task]="taskData"\r\n [form]="previewForm()"\r\n [actionsDisabled]="actionsDisabled()"\r\n [errors]="errors()"\r\n (close)="close.emit()"\r\n (file)="onAnnualReportSubmit()"\r\n />\r\n }\r\n}\r\n\r\n@if (isFormationTask(taskData)) {\r\n @if (activeStep() === steps.Validate) {\r\n <british-columbia-incorporation-delta-form\r\n [task]="taskData"\r\n [errors]="errors()"\r\n [isNote]="isNote()"\r\n [actionsDisabled]="actionsDisabled()"\r\n [form]="deltaForm()"\r\n (validate)="onFormationValidate()"\r\n (close)="onClose()"\r\n (save)="onFormationSave()"\r\n />\r\n }\r\n\r\n @if (activeStep() === steps.FilingPreview) {\r\n <british-columbia-incorporation-preview-form\r\n [task]="taskData"\r\n [form]="previewForm()"\r\n [errors]="errors()"\r\n [actionsDisabled]="actionsDisabled()"\r\n (next)="onFormationSubmit()"\r\n (close)="close.emit()"\r\n />\r\n }\r\n}\r\n\r\n@if (isChangeOfOfficeAddressesTask(taskData)) {\r\n @if (activeStep() === steps.Validate) {\r\n <british-columbia-change-of-office-addresses-delta-form\r\n [task]="taskData"\r\n [form]="deltaForm()"\r\n [actionsDisabled]="actionsDisabled()"\r\n [errors]="errors()"\r\n [isNote]="isNote()"\r\n (validate)="onChangeOfOfficeAddressesValidate()"\r\n (close)="onClose()"\r\n (save)="onChangeOfOfficeAddressesSave()"\r\n />\r\n }\r\n\r\n @if (activeStep() === steps.FilingPreview) {\r\n <british-columbia-change-of-office-addresses-preview-form\r\n [task]="taskData"\r\n [form]="previewForm()"\r\n [actionsDisabled]="actionsDisabled()"\r\n [errors]="errors()"\r\n (close)="close.emit()"\r\n (file)="onChangeOfOfficeAddressesFile()"\r\n />\r\n }\r\n}\r\n', styles: ["/* src/app/components/british-columbia/british-columbia.component.scss */\n:host {\n display: contents;\n}\n/*# sourceMappingURL=british-columbia.component.css.map */\n"] }]
89084
90093
  }], () => [], null);
89085
90094
  })();
89086
90095
  (() => {
89087
- (typeof ngDevMode === "undefined" || ngDevMode) && \u0275setClassDebugInfo(BritishColumbiaComponent, { className: "BritishColumbiaComponent", filePath: "src/app/components/british-columbia/british-columbia.component.ts", lineNumber: 72 });
90096
+ (typeof ngDevMode === "undefined" || ngDevMode) && \u0275setClassDebugInfo(BritishColumbiaComponent, { className: "BritishColumbiaComponent", filePath: "src/app/components/british-columbia/british-columbia.component.ts", lineNumber: 82 });
89088
90097
  })();
89089
90098
  }
89090
90099
  });
@@ -95465,14 +96474,14 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
95465
96474
  });
95466
96475
 
95467
96476
  // src/app/helpers/mappers/british-columbia-change-of-directors.mapper.ts
95468
- function getBritishColumbiaAccessCode(task, password) {
96477
+ function getBritishColumbiaAccessCode2(task, password) {
95469
96478
  return password?.trim() || task.entity._profile.registry_id?.trim() || "";
95470
96479
  }
95471
96480
  function buildBritishColumbiaDataExtractOrder(task, password) {
95472
96481
  const incorporationDate = toYyyyMmDd(task.entity._compliance.incorporation_date) ?? "";
95473
96482
  const request = {
95474
96483
  corporationNumber: task.entity._profile.corp_number?.trim() ?? "",
95475
- accessCodeOrPassword: getBritishColumbiaAccessCode(task, password),
96484
+ accessCodeOrPassword: getBritishColumbiaAccessCode2(task, password),
95476
96485
  incorporationDate: /^\d{4}-\d{2}-\d{2}$/.test(incorporationDate) ? incorporationDate : "",
95477
96486
  filingType: "changeOfDirectorsFiling"
95478
96487
  };
@@ -95516,7 +96525,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
95516
96525
  currentDataServiceOrderId,
95517
96526
  filing: __spreadProps(__spreadValues({
95518
96527
  corporationNumber: task.entity._profile.corp_number ?? "",
95519
- accessCodeOrPassword: getBritishColumbiaAccessCode(task),
96528
+ accessCodeOrPassword: getBritishColumbiaAccessCode2(task),
95520
96529
  reference: deltaData.referenceNumbers.referenceNumber ?? null,
95521
96530
  docket: deltaData.referenceNumbers.docketNumber ?? null
95522
96531
  }, (addDirectors.length || ceaseDirectors.length) && effectiveDate ? { effectiveDate } : {}), {
@@ -95624,7 +96633,12 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
95624
96633
  });
95625
96634
 
95626
96635
  // src/app/services/british-columbia/british-columbia-maintenance.service.ts
95627
- var MAINTENANCE_FILING_PATH, TEMP_UAT_BC_FILING_URL2, DATA_EXTRACT_PATH, DEFAULT_EXTRACT_POLL, DEFAULT_RESULT_POLL, BritishColumbiaMaintenanceService;
96636
+ function isExtractNotCompleted(error) {
96637
+ const result = error?.validateResult;
96638
+ const fromResult = (result?.Errors ?? []).some((e) => e.Code === EXTRACT_NOT_COMPLETED_CODE || EXTRACT_NOT_COMPLETED_MESSAGE.test(e.Message ?? ""));
96639
+ return fromResult || EXTRACT_NOT_COMPLETED_MESSAGE.test(error?.message ?? "");
96640
+ }
96641
+ var MAINTENANCE_FILING_PATH, TEMP_UAT_BC_FILING_URL2, DATA_EXTRACT_PATH, DEFAULT_EXTRACT_POLL, DEFAULT_RESULT_POLL, DEFAULT_VALIDATE_RETRY, EXTRACT_NOT_COMPLETED_CODE, EXTRACT_NOT_COMPLETED_MESSAGE, BritishColumbiaMaintenanceService;
95628
96642
  var init_british_columbia_maintenance_service = __esm({
95629
96643
  "src/app/services/british-columbia/british-columbia-maintenance.service.ts"() {
95630
96644
  init_core();
@@ -95635,6 +96649,9 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
95635
96649
  DATA_EXTRACT_PATH = "/filings/ca/bc/data-extract";
95636
96650
  DEFAULT_EXTRACT_POLL = { intervalMs: 3e3, timeoutMs: 6e5 };
95637
96651
  DEFAULT_RESULT_POLL = { intervalMs: 3e3, timeoutMs: 6e5 };
96652
+ DEFAULT_VALIDATE_RETRY = { intervalMs: 3e3, timeoutMs: 12e4 };
96653
+ EXTRACT_NOT_COMPLETED_CODE = "SVC1031";
96654
+ EXTRACT_NOT_COMPLETED_MESSAGE = /extract has not completed/i;
95638
96655
  BritishColumbiaMaintenanceService = class _BritishColumbiaMaintenanceService {
95639
96656
  config;
95640
96657
  setConfig(config2) {
@@ -95647,7 +96664,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
95647
96664
  corporationNumber: context2.corporationNumber,
95648
96665
  accessCodeOrPassword: context2.accessCodeOrPassword,
95649
96666
  incorporationDate: context2.incorporationDate,
95650
- filingType: "changeOfAddressFiling"
96667
+ filingType: context2.filingType ?? "changeOfAddressFiling"
95651
96668
  }, opts);
95652
96669
  const id = body?.currentDataServiceOrderId ?? body?.CurrentDataServiceOrderId;
95653
96670
  if (!ok || !id || String(body?.status ?? "").toLowerCase() === "failed") {
@@ -95683,7 +96700,23 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
95683
96700
  * saved request used to detect Entity changes.
95684
96701
  */
95685
96702
  validate(_0, _1, _2, _3) {
95686
- return __async(this, arguments, function* (signature, requestBody, extractId, context2, opts = {}) {
96703
+ return __async(this, arguments, function* (signature, requestBody, extractId, context2, opts = {}, retry = {}) {
96704
+ const { intervalMs, timeoutMs } = __spreadValues(__spreadValues({}, DEFAULT_VALIDATE_RETRY), retry);
96705
+ const deadline = Date.now() + timeoutMs;
96706
+ for (; ; ) {
96707
+ try {
96708
+ return yield this.validateOnce(signature, requestBody, extractId, context2, opts);
96709
+ } catch (error) {
96710
+ if (!isExtractNotCompleted(error) || Date.now() >= deadline) {
96711
+ throw error;
96712
+ }
96713
+ yield this.sleep(intervalMs);
96714
+ }
96715
+ }
96716
+ });
96717
+ }
96718
+ validateOnce(signature, requestBody, extractId, context2, opts) {
96719
+ return __async(this, null, function* () {
95687
96720
  const { status, ok, body, raw } = yield this.send(signature, "POST", MAINTENANCE_FILING_PATH, {
95688
96721
  currentDataServiceOrderId: extractId,
95689
96722
  filingType: requestBody.filingType,
@@ -95833,83 +96866,6 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
95833
96866
  }
95834
96867
  });
95835
96868
 
95836
- // src/app/helpers/mappers/british-columbia-change-of-office-addresses.mapper.ts
95837
- function formatPostalCode(value) {
95838
- const compact = clean(value).replace(/[\s-]+/g, "").toUpperCase();
95839
- return compact.length === 6 ? `${compact.slice(0, 3)} ${compact.slice(3)}` : clean(value).toUpperCase();
95840
- }
95841
- function toEcoreAddress(address) {
95842
- const line2 = clean(address?.addressLine2);
95843
- return __spreadProps(__spreadValues({
95844
- streetAddress: clean(address?.addressLine1)
95845
- }, line2 ? { additionalStreetAddress: line2 } : {}), {
95846
- city: clean(address?.city),
95847
- provinceOrState: BC_PROVINCE_CODE,
95848
- postalOrZipCode: formatPostalCode(address?.postalCode),
95849
- country: CANADA_COUNTRY_CODE
95850
- });
95851
- }
95852
- function isSameAddress(a, b) {
95853
- const key = (x) => [x.streetAddress, x.additionalStreetAddress, x.city, x.provinceOrState, x.postalOrZipCode, x.country].map((v) => (v ?? "").trim().toLowerCase().replace(/\s+/g, " ")).join("|");
95854
- return key(a) === key(b);
95855
- }
95856
- function buildBCChangeOfOfficeAddressesValidateRequest(task, deltaData) {
95857
- const registered = deltaData.registeredOffice;
95858
- const records = deltaData.recordsOffice;
95859
- const registeredMailing = toEcoreAddress(registered?.mailingAddress);
95860
- const registeredDelivery = registered?.deliverySameAsMailing ? registeredMailing : toEcoreAddress(registered?.deliveryAddress);
95861
- const recordsMailing = records?.sameAsRegisteredOffice ? registeredMailing : toEcoreAddress(records?.mailingAddress);
95862
- const recordsDelivery = records?.sameAsRegisteredOffice ? registeredDelivery : records?.deliverySameAsMailing ? recordsMailing : toEcoreAddress(records?.deliveryAddress);
95863
- const registeredDeliverySame = isSameAddress(registeredDelivery, registeredMailing);
95864
- const recordsSameAsRegistered = isSameAddress(recordsMailing, registeredMailing);
95865
- const recordsDeliverySame = isSameAddress(recordsDelivery, recordsMailing);
95866
- const filing = {
95867
- registeredOfficeMailingAddress: registeredMailing,
95868
- isRegisteredOfficeDeliveryAddressSameAsMailing: registeredDeliverySame,
95869
- isRecordsOfficeMailingAddressSameAsRegisteredOfficeMailing: recordsSameAsRegistered,
95870
- isRecordsOfficeDeliveryAddressSameAsRecordsOfficeMailing: recordsDeliverySame,
95871
- // Both are picked on the form; the fallbacks only cover data saved before they were added.
95872
- companyEmail: clean(deltaData.companyEmail) || BritishColumbiaChangeOfOfficeAddressesFormHelper.resolveCompanyEmail(task),
95873
- isAnnualReportReminderRequired: deltaData.annualReportReminder === BCAnnualReportReminder.Yes
95874
- };
95875
- const reference = clean(deltaData.referenceNumbers?.referenceNumber);
95876
- const docket = clean(deltaData.referenceNumbers?.docketNumber);
95877
- if (reference) {
95878
- filing.reference = reference;
95879
- }
95880
- if (docket) {
95881
- filing.docket = docket;
95882
- }
95883
- if (!registeredDeliverySame) {
95884
- filing.registeredOfficeDeliveryAddress = registeredDelivery;
95885
- }
95886
- if (!recordsSameAsRegistered) {
95887
- filing.recordsOfficeMailingAddress = recordsMailing;
95888
- }
95889
- if (!recordsDeliverySame) {
95890
- filing.recordsOfficeDeliveryAddress = recordsDelivery;
95891
- }
95892
- return { filingType: "changeOfAddressFiling", filing };
95893
- }
95894
- function getBritishColumbiaAccessCode2(task, env) {
95895
- const registryId = task.entity._profile.registry_id?.trim() ?? "";
95896
- if (registryId) {
95897
- return registryId;
95898
- }
95899
- return env === "TEST" ? TEMP_UAT_TEST_ACCESS_CODE : "";
95900
- }
95901
- var TEMP_UAT_TEST_ACCESS_CODE, BC_PROVINCE_CODE, CANADA_COUNTRY_CODE, clean;
95902
- var init_british_columbia_change_of_office_addresses_mapper = __esm({
95903
- "src/app/helpers/mappers/british-columbia-change-of-office-addresses.mapper.ts"() {
95904
- init_BritishColumbiaConstants();
95905
- init_british_columbia_change_of_office_addresses_form_helper();
95906
- TEMP_UAT_TEST_ACCESS_CODE = "12345678";
95907
- BC_PROVINCE_CODE = "BC";
95908
- CANADA_COUNTRY_CODE = "CA";
95909
- clean = (value) => (value ?? "").trim();
95910
- }
95911
- });
95912
-
95913
96869
  // src/app/components/filing/filing.component.ts
95914
96870
  function FilingComponent_Conditional_7_Template(rf, ctx) {
95915
96871
  if (rf & 1) {
@@ -96025,6 +96981,18 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
96025
96981
  \u0275\u0275restoreView(_r6);
96026
96982
  const ctx_r2 = \u0275\u0275nextContext(2);
96027
96983
  return \u0275\u0275resetView(ctx_r2.onBritishColumbiaChangeOfOfficeAddressesSubmit());
96984
+ })("arValidate", function FilingComponent_Conditional_10_Conditional_1_Template_british_columbia_arValidate_0_listener($event) {
96985
+ \u0275\u0275restoreView(_r6);
96986
+ const ctx_r2 = \u0275\u0275nextContext(2);
96987
+ return \u0275\u0275resetView(ctx_r2.onBritishColumbiaAnnualReportValidate($event));
96988
+ })("saveArDeltaData", function FilingComponent_Conditional_10_Conditional_1_Template_british_columbia_saveArDeltaData_0_listener($event) {
96989
+ \u0275\u0275restoreView(_r6);
96990
+ const ctx_r2 = \u0275\u0275nextContext(2);
96991
+ return \u0275\u0275resetView(ctx_r2.onBritishColumbiaAnnualReportSave($event));
96992
+ })("arSubmit", function FilingComponent_Conditional_10_Conditional_1_Template_british_columbia_arSubmit_0_listener() {
96993
+ \u0275\u0275restoreView(_r6);
96994
+ const ctx_r2 = \u0275\u0275nextContext(2);
96995
+ return \u0275\u0275resetView(ctx_r2.onBritishColumbiaAnnualReportSubmit());
96028
96996
  })("formationValidate", function FilingComponent_Conditional_10_Conditional_1_Template_british_columbia_formationValidate_0_listener($event) {
96029
96997
  \u0275\u0275restoreView(_r6);
96030
96998
  const ctx_r2 = \u0275\u0275nextContext(2);
@@ -96131,6 +97099,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
96131
97099
  init_federal_update_maintain_service();
96132
97100
  init_ontario_update_maintain_service();
96133
97101
  init_initial_return_payload_helper();
97102
+ init_british_columbia_annual_report_mapper();
96134
97103
  init_ontario_formation_mapper();
96135
97104
  init_federal_formation_mapper();
96136
97105
  init_ontario_update_maintain_mapper();
@@ -96235,7 +97204,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
96235
97204
  return `File ${jurisdiction} Notice of Change`;
96236
97205
  }
96237
97206
  if (isAnnualReturnTask(task)) {
96238
- return `File ${jurisdiction} Annual Return`;
97207
+ return isBritishColumbiaTask(task) ? `File ${jurisdiction} Annual Report` : `File ${jurisdiction} Annual Return`;
96239
97208
  }
96240
97209
  if (isFormationTask2(task)) {
96241
97210
  return `File ${jurisdiction} Articles of Incorporation`;
@@ -96515,7 +97484,10 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
96515
97484
  const signature = this._signature();
96516
97485
  if (signature) {
96517
97486
  const requestBody = buildBCFormationValidateRequest(signature.task, deltaData);
96518
- const issues = findBCRequestIssues(requestBody);
97487
+ const issues = [
97488
+ ...findBCOfficeAddressIssues(signature.task),
97489
+ ...findBCRequestIssues(requestBody)
97490
+ ];
96519
97491
  if (issues.length) {
96520
97492
  this.errors.set(issues);
96521
97493
  return;
@@ -96588,6 +97560,99 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
96588
97560
  }
96589
97561
  });
96590
97562
  }
97563
+ /**
97564
+ * British Columbia Annual Report "Validate & Generate Draft": orders the registry's current data,
97565
+ * sends the filing to eCore, hands the draft PDF to the host, and saves the delta together with
97566
+ * the ServiceOrderId and the request sent (`validatedData`) used to detect later Entity changes.
97567
+ */
97568
+ onBritishColumbiaAnnualReportValidate(deltaData) {
97569
+ return __async(this, null, function* () {
97570
+ const task = this.task();
97571
+ const signature = this._signature();
97572
+ try {
97573
+ if (!task || !signature || !isAnnualReturnTask(task)) {
97574
+ throw new Error("The filing is not ready yet. Please try again.");
97575
+ }
97576
+ this.isLoading.set(true);
97577
+ this.errors.set([]);
97578
+ const requestBody = buildBCAnnualReportValidateRequest(task, deltaData);
97579
+ const opts = this.validateOptions() ?? {};
97580
+ const context2 = buildBCAnnualReportContext(task, signature.env);
97581
+ const extractId = yield this.bcMaintenanceService.orderCurrentDataExtract(signature, context2, opts);
97582
+ yield this.bcMaintenanceService.waitForCurrentDataExtract(signature, extractId, opts);
97583
+ const response = yield this.bcMaintenanceService.validate(signature, requestBody, extractId, context2, opts);
97584
+ if (this.hasResponseErrors(response))
97585
+ return;
97586
+ const serviceOrderId = response.ServiceOrderId ?? "";
97587
+ const draftPdf = response.Draft ?? "";
97588
+ const searchOrFilingType = getSearchOrFilingType(task);
97589
+ if (draftPdf && searchOrFilingType) {
97590
+ this.filingValidateSuccess.emit({
97591
+ searchOrFilingType,
97592
+ serviceOrderId,
97593
+ validatedOn: /* @__PURE__ */ new Date(),
97594
+ provider: getFilingProvider(task),
97595
+ draftPdf,
97596
+ documentName: this.validateOptions()?.documentName ?? "British Columbia Annual Report Draft",
97597
+ documentType: "pdf"
97598
+ });
97599
+ }
97600
+ this.deltaDataChange.emit(__spreadProps(__spreadValues({}, deltaData), {
97601
+ serviceOrderId,
97602
+ // The corporation number is added by the service, not by the request builder, so it is
97603
+ // stored explicitly (the access code is deliberately left out) to detect entity changes.
97604
+ validatedData: __spreadProps(__spreadValues({}, JSON.parse(JSON.stringify(requestBody))), {
97605
+ corporationNumber: context2.corporationNumber
97606
+ })
97607
+ }));
97608
+ this.close.emit();
97609
+ } catch (response) {
97610
+ this.handleCatchError(response);
97611
+ } finally {
97612
+ this.isLoading.set(false);
97613
+ }
97614
+ });
97615
+ }
97616
+ /**
97617
+ * British Columbia Annual Report save – propagates delta data to the host.
97618
+ * The draft link (ServiceOrderId and the request it was generated from) is kept, so reopening
97619
+ * can tell whether the saved data still matches the draft and show "Entity changed" if not.
97620
+ */
97621
+ onBritishColumbiaAnnualReportSave(deltaData) {
97622
+ const oldDeltaData = this.task()?.deltaData;
97623
+ const draftLink = oldDeltaData?.serviceOrderId && oldDeltaData?.validatedData ? {
97624
+ serviceOrderId: oldDeltaData.serviceOrderId,
97625
+ validatedData: oldDeltaData.validatedData
97626
+ } : {};
97627
+ if (oldDeltaData) {
97628
+ delete this.task()?.deltaData;
97629
+ }
97630
+ this.deltaDataChange.emit(__spreadValues(__spreadValues({}, deltaData), draftLink));
97631
+ }
97632
+ /**
97633
+ * British Columbia Annual Report submit/file: submits the filing staged by "Validate & Generate
97634
+ * Draft" using the ServiceOrderId saved with the delta. There is no certification step.
97635
+ */
97636
+ onBritishColumbiaAnnualReportSubmit() {
97637
+ return __async(this, null, function* () {
97638
+ const signature = this._signature();
97639
+ const serviceOrderId = this.task()?.deltaData?.serviceOrderId;
97640
+ if (!signature || !serviceOrderId) {
97641
+ this.handleCatchError(new Error("Missing serviceOrderId. Generate a draft before filing."));
97642
+ return;
97643
+ }
97644
+ try {
97645
+ this.isLoading.set(true);
97646
+ this.errors.set([]);
97647
+ yield this.bcMaintenanceService.submitAndWait(signature, serviceOrderId, this.validateOptions() ?? {});
97648
+ this.close.emit();
97649
+ } catch (response) {
97650
+ this.handleCatchError(response);
97651
+ } finally {
97652
+ this.isLoading.set(false);
97653
+ }
97654
+ });
97655
+ }
96591
97656
  /**
96592
97657
  * British Columbia Change of Office Addresses "Validate & Generate Draft": sends the filing
96593
97658
  * to eCore, hands the draft PDF to the host, and saves the delta together with the
@@ -96607,7 +97672,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
96607
97672
  const opts = this.validateOptions() ?? {};
96608
97673
  const context2 = {
96609
97674
  corporationNumber: task.entity._profile.corp_number ?? "",
96610
- accessCodeOrPassword: getBritishColumbiaAccessCode2(task, signature.env),
97675
+ accessCodeOrPassword: getBritishColumbiaAccessCode(task, signature.env),
96611
97676
  incorporationDate: String(task.entity._compliance?.incorporation_date ?? "").slice(0, 10)
96612
97677
  };
96613
97678
  const extractId = yield this.bcMaintenanceService.orderCurrentDataExtract(signature, context2, opts);
@@ -96647,13 +97712,19 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
96647
97712
  }
96648
97713
  /**
96649
97714
  * British Columbia Change of Office Addresses save – propagates delta data to the host.
97715
+ * The draft link (ServiceOrderId and the request it was generated from) is kept, so reopening
97716
+ * can tell whether the saved data still matches the draft and show "Entity changed" if not.
96650
97717
  */
96651
97718
  onBritishColumbiaChangeOfOfficeAddressesSave(deltaData) {
96652
97719
  const oldDeltaData = this.task()?.deltaData;
97720
+ const draftLink = oldDeltaData?.serviceOrderId && oldDeltaData?.validatedData ? {
97721
+ serviceOrderId: oldDeltaData.serviceOrderId,
97722
+ validatedData: oldDeltaData.validatedData
97723
+ } : {};
96653
97724
  if (oldDeltaData) {
96654
97725
  delete this.task()?.deltaData;
96655
97726
  }
96656
- this.deltaDataChange.emit(deltaData);
97727
+ this.deltaDataChange.emit(__spreadValues(__spreadValues({}, deltaData), draftLink));
96657
97728
  }
96658
97729
  /**
96659
97730
  * British Columbia Change of Office Addresses submit/file: submits the filing staged by
@@ -96901,7 +97972,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
96901
97972
  const task = this.task();
96902
97973
  if (!task)
96903
97974
  return;
96904
- if (isUpdateMaintain(task)) {
97975
+ if (isUpdateMaintain(task) && !isBritishColumbiaTask(task)) {
96905
97976
  this.serviceOrderId = "";
96906
97977
  void this.getCurrentData();
96907
97978
  } else if (isChangeOfPrincipalsTask(task) && isBritishColumbiaTask(task)) {
@@ -97045,6 +98116,8 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
97045
98116
  initialDelta = isOntarioTask(task) ? this.deltaState.formationInitialDelta() : isBritishColumbiaTask(task) ? this.deltaState.bcFormationInitialDelta() : this.deltaState.federalFormationInitialDelta();
97046
98117
  } else if (isChangeOfAddressTask(task) && isBritishColumbiaTask(task)) {
97047
98118
  initialDelta = this.deltaState.bcChangeOfOfficeAddressesInitialDelta();
98119
+ } else if (isAnnualReturnTask(task) && isBritishColumbiaTask(task)) {
98120
+ initialDelta = this.deltaState.bcAnnualReportInitialDelta();
97048
98121
  } else if (isUpdateMaintain(task)) {
97049
98122
  initialDelta = isOntarioTask(task) ? this.deltaState.initialReturnInitialDelta() : this.deltaState.federalUpdateMaintainInitialDelta();
97050
98123
  } else if (isChangeOfPrincipalsTask(task) && isBritishColumbiaTask(task)) {
@@ -97083,6 +98156,11 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
97083
98156
  corporationNumber: task.entity._profile.corp_number ?? ""
97084
98157
  });
97085
98158
  }
98159
+ if (isAnnualReturnTask(task) && isBritishColumbiaTask(task)) {
98160
+ return __spreadProps(__spreadValues({}, buildBCAnnualReportValidateRequest(task, deltaData)), {
98161
+ corporationNumber: task.entity._profile.corp_number ?? ""
98162
+ });
98163
+ }
97086
98164
  if (isUpdateMaintain(task) && isOntarioTask(task)) {
97087
98165
  const serviceOrderId = deltaData?.serviceOrderId ?? this.serviceOrderId;
97088
98166
  if (!serviceOrderId) {
@@ -97111,7 +98189,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
97111
98189
  if (rf & 2) {
97112
98190
  \u0275\u0275styleProp("height", ctx.modalHeight());
97113
98191
  }
97114
- }, inputs: { env: [1, "env"], config: [1, "config"], language: [1, "language"], proxyApiUrl: [1, "proxyApiUrl"], jwtToken: [1, "jwtToken"], task: [1, "task"], currentUser: [1, "currentUser"], height: [1, "height"], validateOptions: [1, "validateOptions"], getDocumentBytes: [1, "getDocumentBytes"] }, outputs: { deltaDataChange: "deltaDataChange", filingValidateSuccess: "filingValidateSuccess", filingSubmitSuccess: "filingSubmitSuccess", close: "close" }, decls: 12, vars: 9, consts: [[1, "filing"], [1, "filing-title"], [1, "filing-title-text"], [1, "filing-title-action", 3, "click"], [1, "filing-header"], [1, "filing-content"], [1, "filing-content-loading"], ["mat-stroked-button", "", 3, "click", "disabled"], [3, "task", "activeStep", "isNote", "actionsDisabled", "errors", "prevData", "irValidationConfig"], [3, "task", "currentUser", "activeStep", "isNote", "actionsDisabled", "errors", "currentDataExtract"], [3, "actionsDisabled", "isNote", "activeStep", "task", "errors"], [3, "close", "formationValidate", "saveFormationDeltaData", "formationSubmit", "nextStep", "prevStep", "irValidate", "saveIrDeltaData", "irSubmit", "task", "activeStep", "isNote", "actionsDisabled", "errors", "prevData", "irValidationConfig"], [3, "close", "nextStep", "recheckStep", "prevStep", "codValidate", "saveCodDeltaData", "codSubmit", "coaValidate", "saveCoaDeltaData", "coaSubmit", "formationValidate", "saveFormationDeltaData", "formationSubmit", "task", "currentUser", "activeStep", "isNote", "actionsDisabled", "errors", "currentDataExtract"], [3, "close", "deltaDataChange", "file", "validate", "umSave", "umValidate", "umSubmit", "nextStep", "actionsDisabled", "isNote", "activeStep", "task", "errors"], [3, "diameter"]], template: function FilingComponent_Template(rf, ctx) {
98192
+ }, inputs: { env: [1, "env"], config: [1, "config"], language: [1, "language"], proxyApiUrl: [1, "proxyApiUrl"], jwtToken: [1, "jwtToken"], task: [1, "task"], currentUser: [1, "currentUser"], height: [1, "height"], validateOptions: [1, "validateOptions"], getDocumentBytes: [1, "getDocumentBytes"] }, outputs: { deltaDataChange: "deltaDataChange", filingValidateSuccess: "filingValidateSuccess", filingSubmitSuccess: "filingSubmitSuccess", close: "close" }, decls: 12, vars: 9, consts: [[1, "filing"], [1, "filing-title"], [1, "filing-title-text"], [1, "filing-title-action", 3, "click"], [1, "filing-header"], [1, "filing-content"], [1, "filing-content-loading"], ["mat-stroked-button", "", 3, "click", "disabled"], [3, "task", "activeStep", "isNote", "actionsDisabled", "errors", "prevData", "irValidationConfig"], [3, "task", "currentUser", "activeStep", "isNote", "actionsDisabled", "errors", "currentDataExtract"], [3, "actionsDisabled", "isNote", "activeStep", "task", "errors"], [3, "close", "formationValidate", "saveFormationDeltaData", "formationSubmit", "nextStep", "prevStep", "irValidate", "saveIrDeltaData", "irSubmit", "task", "activeStep", "isNote", "actionsDisabled", "errors", "prevData", "irValidationConfig"], [3, "close", "nextStep", "recheckStep", "prevStep", "codValidate", "saveCodDeltaData", "codSubmit", "coaValidate", "saveCoaDeltaData", "coaSubmit", "arValidate", "saveArDeltaData", "arSubmit", "formationValidate", "saveFormationDeltaData", "formationSubmit", "task", "currentUser", "activeStep", "isNote", "actionsDisabled", "errors", "currentDataExtract"], [3, "close", "deltaDataChange", "file", "validate", "umSave", "umValidate", "umSubmit", "nextStep", "actionsDisabled", "isNote", "activeStep", "task", "errors"], [3, "diameter"]], template: function FilingComponent_Template(rf, ctx) {
97115
98193
  if (rf & 1) {
97116
98194
  const _r1 = \u0275\u0275getCurrentView();
97117
98195
  \u0275\u0275elementStart(0, "div", 0)(1, "div", 1)(2, "h1", 2);
@@ -97225,6 +98303,9 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
97225
98303
  (coaValidate)="onBritishColumbiaChangeOfOfficeAddressesValidate($event)"\r
97226
98304
  (saveCoaDeltaData)="onBritishColumbiaChangeOfOfficeAddressesSave($event)"\r
97227
98305
  (coaSubmit)="onBritishColumbiaChangeOfOfficeAddressesSubmit()"\r
98306
+ (arValidate)="onBritishColumbiaAnnualReportValidate($event)"\r
98307
+ (saveArDeltaData)="onBritishColumbiaAnnualReportSave($event)"\r
98308
+ (arSubmit)="onBritishColumbiaAnnualReportSubmit()"\r
97228
98309
  (formationValidate)="onBritishColumbiaFormationValidate($event)"\r
97229
98310
  (saveFormationDeltaData)="onBritishColumbiaFormationSave($event)"\r
97230
98311
  (formationSubmit)="onBritishColumbiaFormationSubmit()"\r
@@ -97258,7 +98339,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
97258
98339
  }], () => [], null);
97259
98340
  })();
97260
98341
  (() => {
97261
- (typeof ngDevMode === "undefined" || ngDevMode) && \u0275setClassDebugInfo(FilingComponent, { className: "FilingComponent", filePath: "src/app/components/filing/filing.component.ts", lineNumber: 98 });
98342
+ (typeof ngDevMode === "undefined" || ngDevMode) && \u0275setClassDebugInfo(FilingComponent, { className: "FilingComponent", filePath: "src/app/components/filing/filing.component.ts", lineNumber: 103 });
97262
98343
  })();
97263
98344
  }
97264
98345
  });
@@ -101914,7 +102995,13 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
101914
102995
  "New Delivery Address": "New Delivery Address",
101915
102996
  "Same as Mailing Address": "Same as Mailing Address",
101916
102997
  "Same as Registered Office": "Same as Registered Office",
101917
- "The delivery address must be a physical location in British Columbia where documents can be delivered during statutory business hours. A post office box is not acceptable.": "The delivery address must be a physical location in British Columbia where documents can be delivered during statutory business hours. A post office box is not acceptable."
102998
+ "The delivery address must be a physical location in British Columbia where documents can be delivered during statutory business hours. A post office box is not acceptable.": "The delivery address must be a physical location in British Columbia where documents can be delivered during statutory business hours. A post office box is not acceptable.",
102999
+ "Company Name": "Company Name",
103000
+ "Name Reservation (NR) Number": "Name Reservation (NR) Number",
103001
+ "File British Columbia Annual Report": "File British Columbia Annual Report",
103002
+ "Would the company like to receive reminders to file its annual reports": "Would the company like to receive reminders to file its annual reports",
103003
+ "Company Email is required": "Company Email is required",
103004
+ "The draft is missing its Service Order ID. Close this window and generate a new draft.": "The draft is missing its Service Order ID. Close this window and generate a new draft."
101918
103005
  };
101919
103006
  }
101920
103007
  });
@@ -102270,7 +103357,10 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
102270
103357
  "New Delivery Address": "Nouvelle adresse de livraison",
102271
103358
  "Same as Mailing Address": "Identique \xE0 l'adresse postale",
102272
103359
  "Same as Registered Office": "Identique au si\xE8ge social",
102273
- "The delivery address must be a physical location in British Columbia where documents can be delivered during statutory business hours. A post office box is not acceptable.": "L'adresse de livraison doit \xEAtre un lieu physique en Colombie-Britannique o\xF9 des documents peuvent \xEAtre livr\xE9s pendant les heures d'ouverture l\xE9gales. Une case postale n'est pas accept\xE9e."
103360
+ "The delivery address must be a physical location in British Columbia where documents can be delivered during statutory business hours. A post office box is not acceptable.": "L'adresse de livraison doit \xEAtre un lieu physique en Colombie-Britannique o\xF9 des documents peuvent \xEAtre livr\xE9s pendant les heures d'ouverture l\xE9gales. Une case postale n'est pas accept\xE9e.",
103361
+ "File British Columbia Articles of Incorporation": "D\xE9poser les statuts constitutifs de la Colombie-Britannique",
103362
+ "Company Name": "Nom de la soci\xE9t\xE9",
103363
+ "Name Reservation (NR) Number": "Num\xE9ro de r\xE9servation de nom (NR)"
102274
103364
  };
102275
103365
  }
102276
103366
  });