@dyedurham/search-and-file-widget 2.1.28 → 2.1.30

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.
Files changed (2) hide show
  1. package/dnd-filing-shell.js +2091 -1029
  2. package/package.json +10 -10
@@ -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";
@@ -84930,8 +84958,516 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
84930
84958
  }
84931
84959
  });
84932
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 toBCExtractOfficers(dataExtract) {
85264
+ const officers = dataExtract?.officers;
85265
+ return (Array.isArray(officers) ? officers : []).map((o, index) => ({
85266
+ officerNumber: Number.isInteger(o?.officerNumber) ? o.officerNumber : index + 1,
85267
+ firstName: o?.firstName ?? "",
85268
+ middleName: o?.middleName || void 0,
85269
+ lastName: o?.lastName ?? "",
85270
+ positions: Array.isArray(o?.positions) ? o.positions : []
85271
+ }));
85272
+ }
85273
+ function getBCAnnualReportOfficerChanges(task, extractOfficers = []) {
85274
+ const isOfficer = (a) => isPrincipalAffiliation2(a) && a.role?.role_name === OFFICER_ROLE_NAME && a._participant?.participant_type === "person";
85275
+ const incoming = (task.incomingAffiliations ?? []).filter(isOfficer).map((affiliation) => {
85276
+ const { firstName, lastName } = officerName(affiliation);
85277
+ return {
85278
+ affiliation,
85279
+ current: extractOfficers.find((e) => normalizeName(e.firstName) === normalizeName(firstName) && normalizeName(e.lastName) === normalizeName(lastName))
85280
+ };
85281
+ });
85282
+ return {
85283
+ incoming,
85284
+ added: incoming.filter((o) => !o.current).map((o) => o.affiliation),
85285
+ edited: incoming.filter((o) => Boolean(o.current)),
85286
+ ceased: (task.outgoingAffiliations ?? []).filter(isOfficer)
85287
+ };
85288
+ }
85289
+ function buildBCAnnualReportContext(task, env) {
85290
+ return {
85291
+ corporationNumber: task.entity._profile.corp_number ?? "",
85292
+ accessCodeOrPassword: getBritishColumbiaAccessCode(task, env),
85293
+ incorporationDate: String(task.entity._compliance?.incorporation_date ?? "").slice(0, 10),
85294
+ filingType: "annualReportFiling"
85295
+ };
85296
+ }
85297
+ function buildBCAnnualReportValidateRequest(task, deltaData, extractOfficers = []) {
85298
+ const { added, edited, ceased } = getBCAnnualReportOfficerChanges(task, extractOfficers);
85299
+ return pruneUndefined({
85300
+ filingType: "annualReportFiling",
85301
+ filing: {
85302
+ reference: deltaData.referenceNumbers?.referenceNumber || void 0,
85303
+ docket: deltaData.referenceNumbers?.docketNumber || void 0,
85304
+ addOfficers: added.map(mapAddedOfficer),
85305
+ ceaseOfficers: ceased.map(mapCeasedOfficer),
85306
+ // Athennian does not populate edits (UEM-235 mapping), so they come from matching the task's
85307
+ // officers with the registry's current data.
85308
+ editOfficers: edited.map(mapEditedOfficer),
85309
+ companyEmail: deltaData.companyEmail?.trim() ?? "",
85310
+ isAnnualReportReminderRequired: Boolean(deltaData.isAnnualReportReminderRequired)
85311
+ }
85312
+ });
85313
+ }
85314
+ function officerAddresses(affiliation) {
85315
+ const addresses = affiliation.addresses?.length ? affiliation.addresses : affiliation.parent_affiliation?.addresses ?? [];
85316
+ const delivery = pickAddress(addresses, "Delivery");
85317
+ return {
85318
+ // Falls back to the first address when none is typed "Mailing", like the other BC filings.
85319
+ mailing: mapAddress(pickAddress(addresses, "Mailing", true)),
85320
+ delivery: delivery ? mapAddress(delivery) : void 0
85321
+ };
85322
+ }
85323
+ function officerName(affiliation) {
85324
+ const profile = affiliation.participant?._profile;
85325
+ return {
85326
+ firstName: profile?.firstName ?? "",
85327
+ middleName: profile?.middleName || void 0,
85328
+ lastName: profile?.lastName ?? ""
85329
+ };
85330
+ }
85331
+ function mapAddedOfficer(affiliation) {
85332
+ const { mailing, delivery } = officerAddresses(affiliation);
85333
+ const isSame = !delivery || sameAddress(delivery, mailing);
85334
+ return __spreadProps(__spreadValues({}, officerName(affiliation)), {
85335
+ positions: toBCOfficerPosition(affiliation.role?.static_title),
85336
+ mailingAddress: mailing,
85337
+ isDeliveryAddressSameAsMailing: isSame,
85338
+ deliveryAddress: isSame ? void 0 : delivery
85339
+ });
85340
+ }
85341
+ function mapEditedOfficer({ affiliation, current }) {
85342
+ const { mailing, delivery } = officerAddresses(affiliation);
85343
+ const position = toBCOfficerPosition(affiliation.role?.static_title);
85344
+ return {
85345
+ officerNumber: current.officerNumber,
85346
+ hasNameChange: false,
85347
+ addOfficerPositions: current.positions.includes(position) ? void 0 : [position],
85348
+ mailingAddress: mailing,
85349
+ // Both addresses are required to edit an officer; send the mailing address again when there is no delivery one.
85350
+ deliveryAddress: delivery ?? mailing
85351
+ };
85352
+ }
85353
+ function mapCeasedOfficer(affiliation) {
85354
+ const { mailing, delivery } = officerAddresses(affiliation);
85355
+ return __spreadProps(__spreadValues({}, officerName(affiliation)), {
85356
+ mailingAddress: mailing,
85357
+ // The API requires a delivery address to cease an officer; send the mailing address again.
85358
+ deliveryAddress: delivery ?? mailing
85359
+ });
85360
+ }
85361
+ var OFFICER_ROLE_NAME, OFFICER_POSITIONS, normalizeName;
85362
+ var init_british_columbia_annual_report_mapper = __esm({
85363
+ "src/app/helpers/mappers/british-columbia-annual-report.mapper.ts"() {
85364
+ init_common_utils();
85365
+ init_british_columbia_change_of_office_addresses_mapper();
85366
+ init_british_columbia_formation_mapper();
85367
+ OFFICER_ROLE_NAME = "Officer";
85368
+ OFFICER_POSITIONS = /* @__PURE__ */ new Map([
85369
+ ["chairman", "chair"],
85370
+ ["chair", "chair"],
85371
+ ["chair person", "chair"],
85372
+ ["chairwoman", "chair"],
85373
+ ["president", "president"],
85374
+ ["vice-president", "vicePresident"],
85375
+ ["chief executive officer", "ceo"],
85376
+ ["chief financial officer", "cfo"],
85377
+ ["assistant secretary", "assistantSecretary"],
85378
+ ["secretary", "secretary"],
85379
+ ["treasurer", "treasurer"]
85380
+ ]);
85381
+ normalizeName = (value) => (value ?? "").trim().toLowerCase();
85382
+ }
85383
+ });
85384
+
85385
+ // src/app/helpers/british-columbia/annual-report/british-columbia-annual-report-form.helper.ts
85386
+ var BritishColumbiaAnnualReportFormHelper;
85387
+ var init_british_columbia_annual_report_form_helper = __esm({
85388
+ "src/app/helpers/british-columbia/annual-report/british-columbia-annual-report-form.helper.ts"() {
85389
+ init_forms();
85390
+ init_british_columbia_form_enums();
85391
+ init_initial_return_enums();
85392
+ init_BritishColumbiaConstants();
85393
+ init_common_utils();
85394
+ init_british_columbia_annual_report_mapper();
85395
+ init_british_columbia_formation_mapper();
85396
+ init_british_columbia_formation_form_helper();
85397
+ BritishColumbiaAnnualReportFormHelper = class {
85398
+ /**
85399
+ * `extractOfficers` are the officers of the registry's current data: an incoming officer who is
85400
+ * already one of them is shown as an "Update" (filed as an edit) instead of an "Add".
85401
+ */
85402
+ static generateConfig(task, extractOfficers = []) {
85403
+ const delta = task.deltaData;
85404
+ const { incoming, ceased } = getBCAnnualReportOfficerChanges(task, extractOfficers);
85405
+ const config2 = {};
85406
+ config2[BCAnnualReportFormGroups.General] = new FormGroup({
85407
+ [BCAnnualReportFormControls.ClientMatterNumber]: new FormControl(delta?.referenceNumbers?.referenceNumber ?? task.entity._profile.client_matter_number ?? ""),
85408
+ [BCAnnualReportFormControls.DocketNumber]: new FormControl(delta?.referenceNumbers?.docketNumber ?? ""),
85409
+ [BCAnnualReportFormControls.EntityIdentifier]: new FormControl({
85410
+ value: task.entity._profile.corp_number ?? "",
85411
+ disabled: true
85412
+ })
85413
+ });
85414
+ config2[BCAnnualReportFormGroups.Officers] = new FormArray([
85415
+ ...incoming.map(({ affiliation, current }) => this.generateOfficerFormGroup(affiliation, current ? IRAffiliationType.Update : IRAffiliationType.Add)),
85416
+ ...ceased.map((officer) => this.generateOfficerFormGroup(officer, IRAffiliationType.Ceased))
85417
+ ]);
85418
+ const emailOptions = this.getCompanyEmailOptions(task);
85419
+ config2[BCAnnualReportFormGroups.CompanyEmail] = new FormGroup({
85420
+ // A saved choice wins; otherwise a lone entity email is preselected, else the user picks one.
85421
+ [BCAnnualReportFormControls.CompanyEmail]: new FormControl(delta?.companyEmail ?? (emailOptions.length === 1 ? emailOptions[0].value : ""), [Validators.required, Validators.email, Validators.maxLength(BC_COMPANY_EMAIL_MAX_LENGTH)])
85422
+ });
85423
+ config2[BCAnnualReportFormGroups.AnnualReportReminder] = new FormGroup({
85424
+ [BCAnnualReportFormControls.IsAnnualReportReminderRequired]: new FormControl(delta?.isAnnualReportReminderRequired ?? false)
85425
+ });
85426
+ return config2;
85427
+ }
85428
+ /** The entity's own emails (built by Athennian), plus a previously saved value that is no longer among them. */
85429
+ static getCompanyEmailOptions(task) {
85430
+ const options = (task.entity.emailOptions ?? []).filter((option) => option.value).map((option) => ({ value: option.value, label: option.value }));
85431
+ const saved = task.deltaData?.companyEmail;
85432
+ if (saved && !options.some((option) => option.value === saved)) {
85433
+ options.push({ value: saved, label: saved });
85434
+ }
85435
+ return options.filter((option, index) => options.findIndex((other) => other.value === option.value) === index);
85436
+ }
85437
+ /** One read-only officer row; `AffiliationType` drives the Add / Cease chip. */
85438
+ static generateOfficerFormGroup(affiliation, affiliationType) {
85439
+ const addresses = affiliation.addresses?.length ? affiliation.addresses : affiliation.parent_affiliation?.addresses ?? [];
85440
+ return new FormGroup({
85441
+ [BCAnnualReportFormControls.Id]: new FormControl(affiliation._id),
85442
+ [BCAnnualReportFormControls.AffiliationName]: new FormControl({
85443
+ value: generateTaskAffiliationFullName(affiliation),
85444
+ disabled: true
85445
+ }),
85446
+ [BCAnnualReportFormControls.Role]: new FormControl({
85447
+ value: affiliation.role?.static_title ?? "",
85448
+ disabled: true
85449
+ }),
85450
+ [BCAnnualReportFormControls.AffiliationType]: new FormControl(affiliationType),
85451
+ [BCAnnualReportFormControls.EffectiveDate]: new FormControl({
85452
+ value: affiliation.start_date ? toYyyyMmDd(affiliation.start_date) ?? "" : "",
85453
+ disabled: true
85454
+ }),
85455
+ [BCAnnualReportFormControls.CeaseDate]: new FormControl({
85456
+ value: affiliation.end_date ? toYyyyMmDd(affiliation.end_date) ?? "" : "",
85457
+ disabled: true
85458
+ }),
85459
+ [BCAnnualReportFormControls.FullAddress]: new FormControl({
85460
+ value: BritishColumbiaFormationFormHelper.formatFullAddress(pickAddress(addresses, "Mailing", true)),
85461
+ disabled: true
85462
+ })
85463
+ });
85464
+ }
85465
+ };
85466
+ }
85467
+ });
85468
+
84933
85469
  // src/app/helpers/british-columbia/change-of-directors/british-columbia-change-of-directors-form.helper.ts
84934
- var Controls, BritishColumbiaChangeOfDirectorsFormHelper;
85470
+ var Controls2, BritishColumbiaChangeOfDirectorsFormHelper;
84935
85471
  var init_british_columbia_change_of_directors_form_helper = __esm({
84936
85472
  "src/app/helpers/british-columbia/change-of-directors/british-columbia-change-of-directors-form.helper.ts"() {
84937
85473
  init_forms();
@@ -84942,7 +85478,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
84942
85478
  init_BritishColumbiaConstants();
84943
85479
  init_custom_validators();
84944
85480
  init_british_columbia_formation_form_helper();
84945
- Controls = BCChangeOfDirectorsFormControls;
85481
+ Controls2 = BCChangeOfDirectorsFormControls;
84946
85482
  BritishColumbiaChangeOfDirectorsFormHelper = class {
84947
85483
  static generateConfig(task, _translateFn, currentDataExtract) {
84948
85484
  const affiliations = task.entity.affiliations ?? [];
@@ -84957,9 +85493,9 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
84957
85493
  const config2 = {};
84958
85494
  config2[BCChangeOfDirectorsFormGroups.ReferenceNumbers] = this.generateReferenceNumbersFormGroup(delta?.referenceNumbers, task.entity._profile?.client_matter_number, delta?.referenceNumbers?.referenceNumber);
84959
85495
  config2[BCChangeOfDirectorsFormGroups.CorporationDetails] = new FormGroup({
84960
- [Controls.CorporationName]: this.readOnly(task.entity._profile.name),
84961
- [Controls.IncorporationNumber]: this.readOnly(task.entity._profile.corp_number),
84962
- [Controls.CompanyEmail]: new FormControl(companyEmail, [Validators.required, Validators.email])
85496
+ [Controls2.CorporationName]: this.readOnly(task.entity._profile.name),
85497
+ [Controls2.IncorporationNumber]: this.readOnly(task.entity._profile.corp_number),
85498
+ [Controls2.CompanyEmail]: new FormControl(companyEmail, [Validators.required, Validators.email])
84963
85499
  });
84964
85500
  const isDirector = (a) => isPrincipalAffiliation2(a) && a.role?.role_name === "Director";
84965
85501
  const incoming = task.incomingAffiliations ?? [];
@@ -84967,9 +85503,9 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
84967
85503
  const ceasedIds = new Set(outgoing.filter(isDirector).map((a) => a._id));
84968
85504
  const hasAddOrCease = ceasedIds.size > 0 || incoming.filter(isDirector).length > 0;
84969
85505
  config2[BCChangeOfDirectorsFormGroups.FilingDetails] = new FormGroup({
84970
- [Controls.DirectorsAddedOrDeleted]: new FormControl(delta?.filingDetails?.directorsAddedOrDeleted ?? hasAddOrCease),
84971
- [Controls.ChangeDate]: this.readOnly(effectiveDate),
84972
- [Controls.FilingFee]: this.readOnly(BC_CHANGE_OF_DIRECTORS_FILING_FEE)
85506
+ [Controls2.DirectorsAddedOrDeleted]: new FormControl(delta?.filingDetails?.directorsAddedOrDeleted ?? hasAddOrCease),
85507
+ [Controls2.ChangeDate]: this.readOnly(effectiveDate),
85508
+ [Controls2.FilingFee]: this.readOnly(BC_CHANGE_OF_DIRECTORS_FILING_FEE)
84973
85509
  });
84974
85510
  const currentDirectorKeys = this.getCurrentDirectorKeys(currentDataExtract);
84975
85511
  const directors = [
@@ -84981,13 +85517,13 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
84981
85517
  config2[BCChangeOfDirectorsFormGroups.Directors] = new FormArray(directors.length ? directors : fallbackDirectors);
84982
85518
  }
84983
85519
  config2[BCChangeOfDirectorsFormGroups.Notification] = new FormGroup({
84984
- [Controls.RegisterAsOfDate]: this.readOnly(today),
84985
- [Controls.NotificationMethod]: new FormControl(delta?.notification?.method ?? BCNotificationMethod.Email, Validators.required),
84986
- [Controls.NotificationEmail]: new FormControl(delta?.notification?.email ?? companyEmail, requiredIfValue(Controls.NotificationMethod, BCNotificationMethod.Email)),
84987
- [Controls.NotificationMailingAddress]: this.readOnly(registeredMailing)
85520
+ [Controls2.RegisterAsOfDate]: this.readOnly(today),
85521
+ [Controls2.NotificationMethod]: new FormControl(delta?.notification?.method ?? BCNotificationMethod.Email, Validators.required),
85522
+ [Controls2.NotificationEmail]: new FormControl(delta?.notification?.email ?? companyEmail, requiredIfValue(Controls2.NotificationMethod, BCNotificationMethod.Email)),
85523
+ [Controls2.NotificationMailingAddress]: this.readOnly(registeredMailing)
84988
85524
  });
84989
85525
  config2[BCChangeOfDirectorsFormGroups.AnnualReportReminder] = new FormGroup({
84990
- [Controls.AnnualReportReminder]: new FormControl(delta?.annualReportReminder ?? BCAnnualReportReminder.Yes, Validators.required)
85526
+ [Controls2.AnnualReportReminder]: new FormControl(delta?.annualReportReminder ?? BCAnnualReportReminder.Yes, Validators.required)
84991
85527
  });
84992
85528
  return config2;
84993
85529
  }
@@ -85032,18 +85568,18 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
85032
85568
  }
85033
85569
  static generateReferenceNumbersFormGroup(deltaData, clientMatterNumber, savedClientMatterNumber) {
85034
85570
  return new FormGroup({
85035
- [Controls.ClientMatterNumber]: new FormControl(clientMatterNumber ?? savedClientMatterNumber ?? ""),
85036
- [Controls.DocketNumber]: new FormControl(deltaData?.docketNumber ?? "")
85571
+ [Controls2.ClientMatterNumber]: new FormControl(clientMatterNumber ?? savedClientMatterNumber ?? ""),
85572
+ [Controls2.DocketNumber]: new FormControl(deltaData?.docketNumber ?? "")
85037
85573
  });
85038
85574
  }
85039
85575
  static generateDirectorFormGroup(affiliation, affiliationType) {
85040
85576
  const addresses = affiliation.addresses?.length ? affiliation.addresses : affiliation.parent_affiliation?.addresses ?? [];
85041
85577
  return new FormGroup({
85042
- [Controls.Id]: new FormControl(affiliation._id),
85043
- [Controls.AffiliationName]: this.readOnly(generateTaskAffiliationFullName(affiliation)),
85044
- [Controls.AffiliationType]: this.readOnly(affiliationType),
85045
- [Controls.MailingAddress]: this.readOnly(BritishColumbiaFormationFormHelper.formatFullAddress(BritishColumbiaFormationFormHelper.pickAddress(addresses, "Mailing"))),
85046
- [Controls.DeliveryAddress]: this.readOnly(BritishColumbiaFormationFormHelper.formatFullAddress(BritishColumbiaFormationFormHelper.pickAddress(addresses, "Delivery")))
85578
+ [Controls2.Id]: new FormControl(affiliation._id),
85579
+ [Controls2.AffiliationName]: this.readOnly(generateTaskAffiliationFullName(affiliation)),
85580
+ [Controls2.AffiliationType]: this.readOnly(affiliationType),
85581
+ [Controls2.MailingAddress]: this.readOnly(BritishColumbiaFormationFormHelper.formatFullAddress(BritishColumbiaFormationFormHelper.pickAddress(addresses, "Mailing"))),
85582
+ [Controls2.DeliveryAddress]: this.readOnly(BritishColumbiaFormationFormHelper.formatFullAddress(BritishColumbiaFormationFormHelper.pickAddress(addresses, "Delivery")))
85047
85583
  });
85048
85584
  }
85049
85585
  static generateDirectorFormGroupsFromChangeDirectors(task) {
@@ -85074,11 +85610,11 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
85074
85610
  static generateDirectorFormGroupFromPayload(director, affiliationType) {
85075
85611
  const name = director?.PersonName ?? director?.personName ?? director;
85076
85612
  return new FormGroup({
85077
- [Controls.Id]: new FormControl(director?.Id ?? director?.id ?? ""),
85078
- [Controls.AffiliationName]: this.readOnly(this.formatDirectorName(name?.FirstName ?? name?.firstName, name?.MiddleName ?? name?.middleName, name?.LastName ?? name?.lastName)),
85079
- [Controls.AffiliationType]: this.readOnly(affiliationType),
85080
- [Controls.MailingAddress]: this.readOnly(this.formatPayloadAddress(director?.mailingAddress ?? director?.MailingAddress ?? director)),
85081
- [Controls.DeliveryAddress]: this.readOnly(this.formatPayloadAddress(director?.deliveryAddress ?? director?.DeliveryAddress ?? director))
85613
+ [Controls2.Id]: new FormControl(director?.Id ?? director?.id ?? ""),
85614
+ [Controls2.AffiliationName]: this.readOnly(this.formatDirectorName(name?.FirstName ?? name?.firstName, name?.MiddleName ?? name?.middleName, name?.LastName ?? name?.lastName)),
85615
+ [Controls2.AffiliationType]: this.readOnly(affiliationType),
85616
+ [Controls2.MailingAddress]: this.readOnly(this.formatPayloadAddress(director?.mailingAddress ?? director?.MailingAddress ?? director)),
85617
+ [Controls2.DeliveryAddress]: this.readOnly(this.formatPayloadAddress(director?.deliveryAddress ?? director?.DeliveryAddress ?? director))
85082
85618
  });
85083
85619
  }
85084
85620
  static formatDirectorName(firstName, middleName, lastName) {
@@ -85107,327 +85643,891 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
85107
85643
  }
85108
85644
  });
85109
85645
 
85110
- // src/app/helpers/british-columbia/change-of-office-addresses/british-columbia-change-of-office-addresses-form.helper.ts
85111
- var Controls2, COMPANY_EMAIL_TYPES, isCompanyEmail, incomingAddressByGrid, EDITABLE_ADDRESS_CONTROLS, BritishColumbiaChangeOfOfficeAddressesFormHelper;
85112
- var init_british_columbia_change_of_office_addresses_form_helper = __esm({
85113
- "src/app/helpers/british-columbia/change-of-office-addresses/british-columbia-change-of-office-addresses-form.helper.ts"() {
85114
- init_forms();
85115
- init_common_models();
85646
+ // src/app/constants/ui/british-columbia-formation-form.constants.ts
85647
+ 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;
85648
+ var init_british_columbia_formation_form_constants = __esm({
85649
+ "src/app/constants/ui/british-columbia-formation-form.constants.ts"() {
85650
+ init_form_enums();
85116
85651
  init_british_columbia_form_enums();
85117
85652
  init_BritishColumbiaConstants();
85118
85653
  init_british_columbia_formation_form_helper();
85119
- init_BritishColumbiaConstants();
85120
- init_common_utils();
85121
- Controls2 = BCChangeOfOfficeAddressesFormControls;
85122
- COMPANY_EMAIL_TYPES = ["Business Email", "Email"];
85123
- isCompanyEmail = (communication) => Boolean(communication?.value) && COMPANY_EMAIL_TYPES.includes(communication?.type ?? "");
85124
- incomingAddressByGrid = /* @__PURE__ */ new WeakMap();
85125
- EDITABLE_ADDRESS_CONTROLS = [
85126
- Controls2.AddressLine1,
85127
- Controls2.AddressLine2,
85128
- Controls2.City,
85129
- Controls2.PostalCode
85130
- ];
85131
- BritishColumbiaChangeOfOfficeAddressesFormHelper = class {
85132
- static generateConfig(task, _translateFn, currentDataExtract) {
85133
- const affiliations = task.entity.affiliations ?? [];
85134
- const delta = task.deltaData;
85135
- const format = BritishColumbiaFormationFormHelper.formatFullAddress;
85136
- const pick = BritishColumbiaFormationFormHelper.pickAddress;
85137
- const registeredOffice = BritishColumbiaFormationFormHelper.findSharedAddressAffiliation(affiliations, AddressTitle2.REGISTERED_OFFICE);
85138
- const recordsOffice = BritishColumbiaFormationFormHelper.findSharedAddressAffiliation(affiliations, AddressTitle2.RECORDS_OFFICE);
85139
- const incoming = this.incomingOfficeAddresses(task);
85140
- const extract = this.officeExtract(currentDataExtract);
85141
- const seed = this.resolveOfficeAddresses(task, currentDataExtract);
85142
- const config2 = {};
85143
- config2[BCChangeOfOfficeAddressesFormGroups.ReferenceNumbers] = this.generateReferenceNumbersFormGroup(delta?.referenceNumbers, task.entity._profile.client_matter_number);
85144
- config2[BCChangeOfOfficeAddressesFormGroups.CorporationDetails] = new FormGroup({
85145
- [Controls2.CorporationName]: this.readOnly(task.entity._profile.name),
85146
- [Controls2.IncorporationNumber]: this.readOnly(task.entity._profile.corp_number),
85147
- [Controls2.CompanyEmail]: new FormControl(delta?.companyEmail || this.resolveCompanyEmail(task), Validators.required)
85148
- });
85149
- config2[BCChangeOfOfficeAddressesFormGroups.AnnualReportReminder] = new FormGroup({
85150
- [Controls2.AnnualReportReminder]: new FormControl(delta?.annualReportReminder ?? BCAnnualReportReminder.Yes, Validators.required)
85151
- });
85152
- const regDeliverySame = seed.registeredOffice?.deliverySameAsMailing ?? true;
85153
- config2[BCChangeOfOfficeAddressesFormGroups.RegisteredOfficeAddress] = new FormGroup({
85154
- [Controls2.CurrentMailingAddress]: this.readOnly(this.previousText(extract, "regMailing", format(pick(registeredOffice?.addresses, "Mailing")))),
85155
- [Controls2.CurrentDeliveryAddress]: this.readOnly(this.previousText(extract, "regDelivery", format(pick(registeredOffice?.addresses, "Delivery")))),
85156
- [Controls2.NewMailingAddress]: this.createOfficeAddressFormGroup(seed.registeredOffice?.mailingAddress, true),
85157
- [Controls2.DeliverySameAsMailing]: new FormControl(regDeliverySame),
85158
- [Controls2.NewDeliveryAddress]: this.createOfficeAddressFormGroup(seed.registeredOffice?.deliveryAddress, !regDeliverySame)
85159
- });
85160
- const recSameAsRegistered = seed.recordsOffice?.sameAsRegisteredOffice ?? true;
85161
- const recDeliverySame = seed.recordsOffice?.deliverySameAsMailing ?? true;
85162
- config2[BCChangeOfOfficeAddressesFormGroups.RecordsOfficeAddress] = new FormGroup({
85163
- [Controls2.CurrentMailingAddress]: this.readOnly(this.previousText(extract, "recMailing", format(pick(recordsOffice?.addresses, "Mailing")))),
85164
- [Controls2.CurrentDeliveryAddress]: this.readOnly(this.previousText(extract, "recDelivery", format(pick(recordsOffice?.addresses, "Delivery")))),
85165
- [Controls2.SameAsRegisteredOffice]: new FormControl(recSameAsRegistered),
85166
- [Controls2.NewMailingAddress]: this.createOfficeAddressFormGroup(seed.recordsOffice?.mailingAddress, !recSameAsRegistered),
85167
- [Controls2.DeliverySameAsMailing]: new FormControl(recDeliverySame),
85168
- [Controls2.NewDeliveryAddress]: this.createOfficeAddressFormGroup(seed.recordsOffice?.deliveryAddress, !recSameAsRegistered && !recDeliverySame)
85169
- });
85170
- const grid = (group2, control) => config2[group2].get(control);
85171
- const register = (target, address) => address && incomingAddressByGrid.set(target, address);
85172
- register(grid(BCChangeOfOfficeAddressesFormGroups.RegisteredOfficeAddress, Controls2.NewDeliveryAddress), incoming.regDelivery);
85173
- register(grid(BCChangeOfOfficeAddressesFormGroups.RecordsOfficeAddress, Controls2.NewMailingAddress), incoming.recMailing);
85174
- register(grid(BCChangeOfOfficeAddressesFormGroups.RecordsOfficeAddress, Controls2.NewDeliveryAddress), incoming.recDelivery);
85175
- return config2;
85176
- }
85177
- /** The company email choices: the entity's email options, plus the resolved default if it isn't one. */
85178
- static getCompanyEmailOptions(task) {
85179
- const values = (task.entity.emailOptions ?? []).filter(isCompanyEmail).map((o) => o.value);
85180
- const fallback = this.resolveCompanyEmail(task);
85181
- return [...new Set(fallback ? [...values, fallback] : values)].map((value) => ({
85182
- value,
85183
- label: value
85184
- }));
85654
+ BC_NAME_TYPE_OPTIONS = Object.values(BCNameType).filter((v) => typeof v === "number").map((v) => ({ label: BCNameTypeLabel[v], value: v }));
85655
+ labelledValue = (label, value, t) => `<span class="body-1-semibold">${t(label)}:</span> ${value || t("None")}`;
85656
+ isNamed = (form) => form.get(BCFormationFormControls.CorporationNameType)?.value === BCNameType.Named;
85657
+ BC_FORMATION_DELTA_CARD_FORM_REFERENCE_NUMBERS_FIELDS = [
85658
+ {
85659
+ type: FormType.Input,
85660
+ label: "Client/Matter Number",
85661
+ formControlName: BCFormationFormControls.ClientMatterNumber
85662
+ },
85663
+ {
85664
+ type: FormType.Input,
85665
+ label: "Docket Number",
85666
+ formControlName: BCFormationFormControls.DocketNumber
85185
85667
  }
85186
- /**
85187
- * Pre-fills the new addresses from the task's incoming "Shared Address" affiliations (Registered
85188
- * Office / Records Office), taking each Mailing / Delivery address from the affiliation or, when
85189
- * it has none, from its parent affiliation. Nothing is pre-filled without an incoming address.
85190
- */
85191
- static seedFromIncomingAffiliations(task) {
85192
- const { regMailing, regDelivery, recMailing, recDelivery } = this.incomingOfficeAddresses(task);
85193
- if (!regMailing && !recMailing) {
85194
- return {};
85668
+ ];
85669
+ BC_FORMATION_DELTA_CARD_FORM_CORPORATION_DETAILS_FIELDS = [
85670
+ {
85671
+ type: FormType.Select,
85672
+ label: "Corporation Name Type",
85673
+ formControlName: BCFormationFormControls.CorporationNameType,
85674
+ required: true,
85675
+ options: BC_NAME_TYPE_OPTIONS,
85676
+ needTranslate: true,
85677
+ onChange: (form) => {
85678
+ form.get(BCFormationFormControls.CompanyName)?.updateValueAndValidity({ emitEvent: false });
85679
+ form.get(BCFormationFormControls.NameReservationNumber)?.updateValueAndValidity({ emitEvent: false });
85195
85680
  }
85196
- const regDeliverySame = !regDelivery || this.isSameOfficeAddress(regDelivery, regMailing);
85197
- const recDeliverySame = !recDelivery || this.isSameOfficeAddress(recDelivery, recMailing);
85198
- const recSameAsRegistered = !recMailing || this.isSameOfficeAddress(recMailing, regMailing) && this.isSameOfficeAddress(recDelivery ?? recMailing, regDelivery ?? regMailing);
85199
- return {
85200
- registeredOffice: {
85201
- mailingAddress: regMailing,
85202
- deliverySameAsMailing: regDeliverySame,
85203
- deliveryAddress: regDeliverySame ? void 0 : regDelivery
85204
- },
85205
- recordsOffice: {
85206
- sameAsRegisteredOffice: recSameAsRegistered,
85207
- mailingAddress: recSameAsRegistered ? void 0 : recMailing,
85208
- deliverySameAsMailing: recDeliverySame,
85209
- deliveryAddress: recDeliverySame ? void 0 : recDelivery
85210
- }
85211
- };
85212
- }
85213
- /**
85214
- * The new office addresses: the incoming Shared Address, else the registry's current address
85215
- * (the data extract, or the Entity's own addresses when there is no extract).
85216
- */
85217
- static resolveOfficeAddresses(task, currentDataExtract) {
85218
- const affiliations = task.entity.affiliations ?? [];
85219
- return this.withCurrentAddresses(this.seedFromIncomingAffiliations(task), this.incomingOfficeAddresses(task), BritishColumbiaFormationFormHelper.findSharedAddressAffiliation(affiliations, AddressTitle2.REGISTERED_OFFICE), BritishColumbiaFormationFormHelper.findSharedAddressAffiliation(affiliations, AddressTitle2.RECORDS_OFFICE), this.officeExtract(currentDataExtract));
85681
+ },
85682
+ {
85683
+ type: FormType.Text,
85684
+ formControlName: "",
85685
+ class: "span-6 beside-select",
85686
+ // Numbered only: a Named company shows no preview of the typed name.
85687
+ isVisible: (form) => !isNamed(form),
85688
+ dynamicLabel: () => BC_NUMBERED_NAME_PREVIEW
85689
+ },
85690
+ {
85691
+ type: FormType.Input,
85692
+ label: "Proposed Corporate Name",
85693
+ formControlName: BCFormationFormControls.CompanyName,
85694
+ required: true,
85695
+ isVisible: isNamed,
85696
+ class: "column-3"
85697
+ },
85698
+ {
85699
+ type: FormType.Input,
85700
+ label: "Name Reservation #",
85701
+ formControlName: BCFormationFormControls.NameReservationNumber,
85702
+ required: true,
85703
+ maxLength: 9,
85704
+ errorMessage: "Enter a valid Name Reservation number (for example NR1234567)",
85705
+ showRequiredMessage: true,
85706
+ isVisible: isNamed,
85707
+ class: "span-6"
85708
+ },
85709
+ {
85710
+ type: FormType.Text,
85711
+ formControlName: BCFormationFormControls.RequestedDateForIncorporation,
85712
+ class: "span-12 spaced-text",
85713
+ dynamicLabel: (form, t) => labelledValue("Requested Date for Incorporation", form.get(BCFormationFormControls.RequestedDateForIncorporation)?.value, t)
85714
+ },
85715
+ {
85716
+ type: FormType.Text,
85717
+ formControlName: BCFormationFormControls.IsFutureEffectiveDate,
85718
+ class: "span-12 fee-warning",
85719
+ isVisible: (form) => Boolean(form.get(BCFormationFormControls.IsFutureEffectiveDate)?.value),
85720
+ dynamicLabel: (_, t) => t("There is an additional fee of {{fee}} for an effective date in the future.").replace("{{fee}}", BC_FUTURE_EFFECTIVE_DATE_FEE)
85721
+ },
85722
+ {
85723
+ // Options are filled per task from `task.entity.emailOptions` by the incorporation form.
85724
+ type: FormType.Select,
85725
+ label: "Company Email",
85726
+ formControlName: BCFormationFormControls.CompanyEmail,
85727
+ required: true,
85728
+ options: [],
85729
+ class: "span-6"
85220
85730
  }
85221
- /**
85222
- * For an office without an incoming address, the new address is its
85223
- * current address on the register (so the filing leaves it unchanged). A current address outside
85224
- * British Columbia is not used: the office is then reported as missing.
85225
- */
85226
- static withCurrentAddresses(seed, incoming, registeredOffice, recordsOffice, extract) {
85227
- const pickBy = BritishColumbiaFormationFormHelper.pickAddress;
85228
- const current = (office, type, key) => {
85229
- if (extract) {
85230
- const registry = extract[key];
85231
- return registry && this.isBritishColumbiaExtract(registry) ? this.extractToOfficeAddressDelta(registry) : void 0;
85731
+ // The company password is not shown: it is taken from the entity's registry ID.
85732
+ ];
85733
+ BC_FORMATION_DELTA_CARD_FORM_NAME_TRANSLATION_FIELDS = [
85734
+ {
85735
+ type: FormType.Checkbox,
85736
+ label: "This company uses one or more translations of its name outside of Canada.",
85737
+ formControlName: BCFormationFormControls.UsesNameTranslation,
85738
+ class: "span-12",
85739
+ onChange: (form) => {
85740
+ const rows = form.get(BCFormationFormControls.NameTranslations);
85741
+ const enabled = Boolean(form.get(BCFormationFormControls.UsesNameTranslation)?.value);
85742
+ if (!rows) {
85743
+ return;
85232
85744
  }
85233
- const address = pickBy(office?.addresses, type);
85234
- return address && this.isBritishColumbia(address) ? this.toOfficeAddressDelta(address) : void 0;
85235
- };
85236
- const result = __spreadValues({}, seed);
85237
- if (!incoming.regMailing) {
85238
- const mailing = current(registeredOffice, "Mailing", "regMailing");
85239
- const delivery = current(registeredOffice, "Delivery", "regDelivery");
85240
- if (mailing) {
85241
- const same = !delivery || this.isSameOfficeAddress(delivery, mailing);
85242
- result.registeredOffice = {
85243
- mailingAddress: mailing,
85244
- deliverySameAsMailing: same,
85245
- deliveryAddress: same ? void 0 : delivery
85246
- };
85745
+ if (enabled && rows.length === 0) {
85746
+ rows.push(BritishColumbiaFormationFormHelper.createNameTranslationFormGroup());
85247
85747
  }
85248
- }
85249
- if (!incoming.recMailing) {
85250
- const mailing = current(recordsOffice, "Mailing", "recMailing");
85251
- const delivery = current(recordsOffice, "Delivery", "recDelivery");
85252
- if (mailing) {
85253
- const registeredMailing = result.registeredOffice?.mailingAddress;
85254
- const registeredDelivery = result.registeredOffice?.deliveryAddress ?? registeredMailing;
85255
- const sameAsRegistered = this.isSameOfficeAddress(mailing, registeredMailing) && this.isSameOfficeAddress(delivery ?? mailing, registeredDelivery);
85256
- const deliverySame = !delivery || this.isSameOfficeAddress(delivery, mailing);
85257
- result.recordsOffice = {
85258
- sameAsRegisteredOffice: sameAsRegistered,
85259
- mailingAddress: sameAsRegistered ? void 0 : mailing,
85260
- deliverySameAsMailing: deliverySame,
85261
- deliveryAddress: deliverySame ? void 0 : delivery
85262
- };
85263
- } else {
85264
- result.recordsOffice = { sameAsRegisteredOffice: false, deliverySameAsMailing: false };
85748
+ if (!enabled) {
85749
+ rows.clear();
85265
85750
  }
85266
85751
  }
85267
- return result;
85752
+ },
85753
+ {
85754
+ type: FormType.Text,
85755
+ formControlName: "",
85756
+ class: "span-12",
85757
+ isVisible: (form) => Boolean(form.get(BCFormationFormControls.UsesNameTranslation)?.value),
85758
+ 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.")}`
85268
85759
  }
85269
- /** The four office addresses of the registry's data extract, or undefined when there is none. */
85270
- static officeExtract(extract) {
85271
- const data = extract?.dataExtract;
85272
- if (!data || !(data["registeredOfficeMailingAddress"] || data["registeredOfficeDeliveryAddress"] || data["recordsOfficeMailingAddress"] || data["recordsOfficeDeliveryAddress"])) {
85273
- return void 0;
85274
- }
85275
- return {
85276
- regMailing: data["registeredOfficeMailingAddress"],
85277
- regDelivery: data["registeredOfficeDeliveryAddress"],
85278
- recMailing: data["recordsOfficeMailingAddress"],
85279
- recDelivery: data["recordsOfficeDeliveryAddress"]
85280
- };
85760
+ ];
85761
+ BC_FORMATION_DELTA_CARD_FORM_NAME_TRANSLATION_ROW_FIELDS = [
85762
+ {
85763
+ type: FormType.Input,
85764
+ label: "Name Translation",
85765
+ formControlName: BCFormationFormControls.NameTranslation,
85766
+ required: true,
85767
+ class: "span-6"
85768
+ }
85769
+ ];
85770
+ BC_FORMATION_CARD_FORM_REGISTERED_OFFICE_FIELDS = [
85771
+ {
85772
+ type: FormType.Text,
85773
+ formControlName: BCFormationFormControls.MailingAddress,
85774
+ class: "span-12",
85775
+ dynamicLabel: (form, t) => labelledValue("Mailing Address - Full Address", form.get(BCFormationFormControls.MailingAddress)?.value, t)
85776
+ },
85777
+ {
85778
+ type: FormType.Text,
85779
+ formControlName: BCFormationFormControls.DeliveryAddress,
85780
+ class: "span-12",
85781
+ dynamicLabel: (form, t) => labelledValue("Delivery Address - Full Address", form.get(BCFormationFormControls.DeliveryAddress)?.value, t)
85782
+ }
85783
+ ];
85784
+ BC_FORMATION_CARD_FORM_RECORDS_OFFICE_FIELDS = [
85785
+ {
85786
+ type: FormType.Text,
85787
+ formControlName: BCFormationFormControls.RecordsOfficeMailingAddress,
85788
+ class: "span-12",
85789
+ dynamicLabel: (form, t) => labelledValue("Mailing Address - Full Address", form.get(BCFormationFormControls.RecordsOfficeMailingAddress)?.value, t)
85790
+ },
85791
+ {
85792
+ type: FormType.Text,
85793
+ formControlName: BCFormationFormControls.RecordsOfficeDeliveryAddress,
85794
+ class: "span-12",
85795
+ dynamicLabel: (form, t) => labelledValue("Delivery Address - Full Address", form.get(BCFormationFormControls.RecordsOfficeDeliveryAddress)?.value, t)
85281
85796
  }
85282
- /** The "Previous" text of an office line: the registry's address, else the Entity's own. */
85283
- static previousText(extract, key, fallback) {
85284
- if (!extract) {
85285
- return fallback;
85797
+ ];
85798
+ BC_FORMATION_DELTA_CARD_FORM_COMPLETING_PARTY_FIELDS = [
85799
+ {
85800
+ type: FormType.Input,
85801
+ label: "First Name",
85802
+ formControlName: BCFormationFormControls.CompletingPartyFirstName,
85803
+ required: true,
85804
+ class: "column-3"
85805
+ },
85806
+ {
85807
+ type: FormType.Input,
85808
+ label: "Middle Name",
85809
+ formControlName: BCFormationFormControls.CompletingPartyMiddleName,
85810
+ class: "column-3"
85811
+ },
85812
+ {
85813
+ type: FormType.Input,
85814
+ label: "Last Name",
85815
+ formControlName: BCFormationFormControls.CompletingPartyLastName,
85816
+ required: true,
85817
+ class: "column-3"
85818
+ },
85819
+ {
85820
+ type: FormType.Input,
85821
+ inputType: "email",
85822
+ label: "Email",
85823
+ formControlName: BCFormationFormControls.CompletingPartyEmail,
85824
+ required: true,
85825
+ errorMessage: "Enter a valid email address",
85826
+ showRequiredMessage: true,
85827
+ class: "column-3"
85828
+ },
85829
+ {
85830
+ type: FormType.Text,
85831
+ formControlName: "",
85832
+ class: "span-12",
85833
+ dynamicLabel: (_, t) => t("A copy of the filed Incorporation Application is emailed to this address.")
85834
+ },
85835
+ {
85836
+ type: FormType.Input,
85837
+ label: "Street Address",
85838
+ formControlName: BCFormationFormControls.AddressLine1,
85839
+ required: true,
85840
+ class: "column-3"
85841
+ },
85842
+ {
85843
+ type: FormType.Input,
85844
+ label: "Additional Street Address",
85845
+ formControlName: BCFormationFormControls.AddressLine2,
85846
+ class: "column-3"
85847
+ },
85848
+ {
85849
+ type: FormType.Input,
85850
+ label: "City",
85851
+ formControlName: BCFormationFormControls.City,
85852
+ required: true,
85853
+ class: "column-2"
85854
+ },
85855
+ {
85856
+ type: FormType.Input,
85857
+ label: "Province / State",
85858
+ formControlName: BCFormationFormControls.ProvinceState,
85859
+ required: true,
85860
+ class: "column-2"
85861
+ },
85862
+ {
85863
+ type: FormType.Input,
85864
+ label: "Postal / Zip Code",
85865
+ formControlName: BCFormationFormControls.PostalZip,
85866
+ required: true,
85867
+ errorMessage: "Enter a valid Canadian postal code (for example V8W 1X4)",
85868
+ showRequiredMessage: true,
85869
+ class: "column-2"
85870
+ },
85871
+ {
85872
+ type: FormType.Select,
85873
+ label: "Country",
85874
+ formControlName: BCFormationFormControls.Country,
85875
+ required: true,
85876
+ options: BC_COMPLETING_PARTY_COUNTRY_OPTIONS,
85877
+ class: "span-4",
85878
+ // Province / State is required for Canada and the US, and the postal code format is Canada-only.
85879
+ onChange: (form) => {
85880
+ [BCFormationFormControls.ProvinceState, BCFormationFormControls.PostalZip].forEach((control) => form.get(control)?.updateValueAndValidity({ emitEvent: false }));
85286
85881
  }
85287
- const address = extract[key];
85288
- const province = this.isBritishColumbiaExtract(address) ? BC_DEFAULT_PROVINCE_STATE : address?.provinceOrState;
85289
- const country = (address?.country ?? "").toUpperCase() === "CA" ? BC_DEFAULT_COUNTRY : address?.country;
85290
- return [
85291
- address?.streetAddress,
85292
- address?.additionalStreetAddress,
85293
- address?.city,
85294
- province,
85295
- address?.postalOrZipCode,
85296
- country
85297
- ].filter((part) => Boolean(part?.trim())).join(", ");
85882
+ },
85883
+ {
85884
+ type: FormType.Checkbox,
85885
+ // Checkbox labels don't get the renderer's required asterisk, so it is added here (AC2).
85886
+ dynamicLabel: (_, t) => `${t("The Completing Party confirms they have examined the Articles and the Incorporation Agreement, and the signature requirements have been met.")} *`,
85887
+ formControlName: BCFormationFormControls.HasConfirmedCompletion,
85888
+ required: true,
85889
+ class: "span-12"
85890
+ },
85891
+ {
85892
+ type: FormType.Checkbox,
85893
+ // Checkbox labels don't get the renderer's required asterisk, so it is added here (AC2).
85894
+ dynamicLabel: (_, t) => `${t("I have a signed Incorporation Agreement and a set of Articles for the company to be incorporated.")} *`,
85895
+ formControlName: BCFormationFormControls.HasRequiredDocuments,
85896
+ required: true,
85897
+ class: "span-12"
85298
85898
  }
85299
- static isBritishColumbiaExtract(address) {
85300
- const province = (address?.provinceOrState ?? "").trim().toLowerCase();
85301
- return !!address && ["bc", "b.c.", "british columbia"].includes(province);
85899
+ ];
85900
+ BC_FORMATION_CARD_FORM_DIRECTORS_FIELDS = [
85901
+ {
85902
+ type: FormType.Text,
85903
+ formControlName: BCFormationFormControls.MailingAddress,
85904
+ class: "span-12",
85905
+ dynamicLabel: (form, t) => labelledValue("Mailing Address - Full Address", form.get(BCFormationFormControls.MailingAddress)?.value, t)
85906
+ },
85907
+ {
85908
+ type: FormType.Text,
85909
+ formControlName: BCFormationFormControls.DeliveryAddress,
85910
+ class: "span-12",
85911
+ // A director without a Delivery address is filed with "delivery same as mailing", so the
85912
+ // Mailing address is shown, as in the draft.
85913
+ dynamicLabel: (form, t) => labelledValue("Delivery Address - Full Address", form.get(BCFormationFormControls.DeliveryAddress)?.value || form.get(BCFormationFormControls.MailingAddress)?.value, t)
85302
85914
  }
85303
- static extractToOfficeAddressDelta(address) {
85304
- return {
85305
- addressLine1: address.streetAddress ?? "",
85306
- addressLine2: address.additionalStreetAddress ?? "",
85307
- city: address.city ?? "",
85308
- postalCode: address.postalOrZipCode ?? "",
85309
- province: BC_DEFAULT_PROVINCE_STATE,
85310
- country: BC_DEFAULT_COUNTRY
85311
- };
85915
+ ];
85916
+ BC_FORMATION_CARD_FORM_INCORPORATORS_FIELDS = [
85917
+ {
85918
+ type: FormType.Text,
85919
+ formControlName: BCFormationFormControls.FullAddress,
85920
+ class: "span-12",
85921
+ dynamicLabel: (form, t) => labelledValue("Full Address", form.get(BCFormationFormControls.FullAddress)?.value, t)
85312
85922
  }
85313
- /** The four office addresses of the task's incoming Shared Address, as form values. */
85314
- static incomingOfficeAddresses(task) {
85315
- const incoming = task.incomingAffiliations ?? [];
85316
- const pickBy = (title, locationType) => {
85317
- 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 ?? []);
85318
- const wanted = locationType.toLowerCase();
85319
- const address = pool.find((a) => (a.computed_location_type ?? "").toLowerCase() === wanted || (a.location_type ?? "").toLowerCase() === wanted);
85320
- return address && this.isBritishColumbia(address) ? this.toOfficeAddressDelta(address) : void 0;
85321
- };
85322
- return {
85323
- regMailing: pickBy(AddressTitle2.REGISTERED_OFFICE, "Mailing"),
85324
- regDelivery: pickBy(AddressTitle2.REGISTERED_OFFICE, "Delivery"),
85325
- recMailing: pickBy(AddressTitle2.RECORDS_OFFICE, "Mailing"),
85326
- recDelivery: pickBy(AddressTitle2.RECORDS_OFFICE, "Delivery")
85327
- };
85923
+ ];
85924
+ }
85925
+ });
85926
+
85927
+ // src/app/constants/ui/british-columbia-annual-report-form.constants.ts
85928
+ var BC_ANNUAL_REPORT_GENERAL_FIELDS, BC_ANNUAL_REPORT_OFFICERS_FIELDS, buildBCAnnualReportCompanyEmailFields, BC_ANNUAL_REPORT_REMINDER_FIELDS;
85929
+ var init_british_columbia_annual_report_form_constants = __esm({
85930
+ "src/app/constants/ui/british-columbia-annual-report-form.constants.ts"() {
85931
+ init_form_enums();
85932
+ init_british_columbia_form_enums();
85933
+ init_british_columbia_formation_form_constants();
85934
+ BC_ANNUAL_REPORT_GENERAL_FIELDS = [
85935
+ {
85936
+ type: FormType.Input,
85937
+ label: "Client/Matter Number",
85938
+ formControlName: BCAnnualReportFormControls.ClientMatterNumber
85939
+ },
85940
+ {
85941
+ type: FormType.Input,
85942
+ label: "Docket Number",
85943
+ formControlName: BCAnnualReportFormControls.DocketNumber
85944
+ },
85945
+ {
85946
+ type: FormType.Text,
85947
+ formControlName: BCAnnualReportFormControls.EntityIdentifier,
85948
+ class: "span-12",
85949
+ dynamicLabel: (form, t) => labelledValue("Entity Identifier", form.get(BCAnnualReportFormControls.EntityIdentifier)?.value, t)
85328
85950
  }
85329
- /** Street = street number + street name; the suite goes to Address Line 2. */
85330
- static toOfficeAddressDelta(address) {
85331
- const street = [getAddressComponent(address, "Street Number Only"), getAddressComponent(address, "Street Only")].filter(Boolean).join(" ") || getAddressComponent(address, "Street Address") || address.street || "";
85332
- return {
85333
- addressLine1: street,
85334
- addressLine2: getAddressComponent(address, "Suite/Apartment") || address.address2 || "",
85335
- city: address.city ?? "",
85336
- postalCode: address.postal_zip ?? "",
85337
- province: BC_DEFAULT_PROVINCE_STATE,
85338
- country: BC_DEFAULT_COUNTRY
85339
- };
85951
+ ];
85952
+ BC_ANNUAL_REPORT_OFFICERS_FIELDS = [
85953
+ {
85954
+ type: FormType.Text,
85955
+ formControlName: BCAnnualReportFormControls.EffectiveDate,
85956
+ class: "span-12",
85957
+ dynamicLabel: (form, t) => labelledValue("Effective Date", form.get(BCAnnualReportFormControls.EffectiveDate)?.value, t)
85958
+ },
85959
+ {
85960
+ type: FormType.Text,
85961
+ formControlName: BCAnnualReportFormControls.CeaseDate,
85962
+ class: "span-12",
85963
+ dynamicLabel: (form, t) => labelledValue("Cease Date", form.get(BCAnnualReportFormControls.CeaseDate)?.value, t)
85964
+ },
85965
+ {
85966
+ type: FormType.Text,
85967
+ formControlName: BCAnnualReportFormControls.FullAddress,
85968
+ class: "span-12",
85969
+ dynamicLabel: (form, t) => labelledValue("Full Address", form.get(BCAnnualReportFormControls.FullAddress)?.value, t)
85340
85970
  }
85341
- /** An address with no province is accepted; the form only ever deals in British Columbia. */
85342
- static isBritishColumbia(address) {
85343
- const province = (address.province_state ?? "").trim().toLowerCase();
85344
- return !province || ["bc", "b.c.", "british columbia"].includes(province);
85971
+ ];
85972
+ buildBCAnnualReportCompanyEmailFields = (options) => [
85973
+ {
85974
+ type: FormType.Select,
85975
+ label: "Company Email",
85976
+ formControlName: BCAnnualReportFormControls.CompanyEmail,
85977
+ required: true,
85978
+ options,
85979
+ errorMessage: "Company Email is required",
85980
+ class: "span-6"
85345
85981
  }
85346
- static isSameOfficeAddress(a, b) {
85347
- const key = (x) => [x?.addressLine1, x?.addressLine2, x?.city, x?.postalCode].map((v) => (v ?? "").trim().toLowerCase().replace(/\s+/g, " ")).join("|");
85348
- return key(a) === key(b);
85982
+ ];
85983
+ BC_ANNUAL_REPORT_REMINDER_FIELDS = [
85984
+ {
85985
+ type: FormType.Checkbox,
85986
+ label: "Would the company like to receive reminders to file its annual reports",
85987
+ formControlName: BCAnnualReportFormControls.IsAnnualReportReminderRequired,
85988
+ class: "span-12"
85349
85989
  }
85350
- /**
85351
- * The company's email: the entity's email options, then the Registered Office's email, then the
85352
- * entity's own, then any other address of the entity (e.g. a Head Office). Only a Business Email
85353
- * or an Email counts; a Personal Email never does.
85354
- */
85355
- static resolveCompanyEmail(task) {
85356
- const affiliations = task.entity.affiliations ?? [];
85357
- const registeredOffice = BritishColumbiaFormationFormHelper.findSharedAddressAffiliation(affiliations, AddressTitle2.REGISTERED_OFFICE);
85358
- 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 || "";
85990
+ ];
85991
+ }
85992
+ });
85993
+
85994
+ // src/app/components/british-columbia/annual-report/british-columbia-annual-report-form/british-columbia-annual-report-form.component.ts
85995
+ function BritishColumbiaAnnualReportFormComponent_Conditional_1_Template(rf, ctx) {
85996
+ if (rf & 1) {
85997
+ \u0275\u0275element(0, "alert", 1);
85998
+ }
85999
+ if (rf & 2) {
86000
+ const ctx_r0 = \u0275\u0275nextContext();
86001
+ \u0275\u0275property("type", ctx_r0.alertType.Info);
86002
+ }
86003
+ }
86004
+ function BritishColumbiaAnnualReportFormComponent_Conditional_2_Template(rf, ctx) {
86005
+ if (rf & 1) {
86006
+ \u0275\u0275element(0, "alert", 2);
86007
+ }
86008
+ if (rf & 2) {
86009
+ const ctx_r0 = \u0275\u0275nextContext();
86010
+ \u0275\u0275property("content", ctx_r0.errors());
86011
+ }
86012
+ }
86013
+ function BritishColumbiaAnnualReportFormComponent_Conditional_5_Template(rf, ctx) {
86014
+ if (rf & 1) {
86015
+ const _r2 = \u0275\u0275getCurrentView();
86016
+ \u0275\u0275elementStart(0, "expandable-card", 4)(1, "div", 8)(2, "filing-form-group", 9);
86017
+ \u0275\u0275listener("visiblyValidChange", function BritishColumbiaAnnualReportFormComponent_Conditional_5_Template_filing_form_group_visiblyValidChange_2_listener($event) {
86018
+ \u0275\u0275restoreView(_r2);
86019
+ const ctx_r0 = \u0275\u0275nextContext();
86020
+ return \u0275\u0275resetView(ctx_r0.onSectionValidChange("general", $event));
86021
+ });
86022
+ \u0275\u0275elementEnd()()();
86023
+ }
86024
+ if (rf & 2) {
86025
+ const ctx_r0 = \u0275\u0275nextContext();
86026
+ const general_r3 = \u0275\u0275readContextLet(4);
86027
+ \u0275\u0275property("isStatusIcon", false)("title", ctx_r0.groups.General);
86028
+ \u0275\u0275advance(2);
86029
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", general_r3)("config", ctx_r0.generalFields);
86030
+ }
86031
+ }
86032
+ function BritishColumbiaAnnualReportFormComponent_Conditional_8_Template(rf, ctx) {
86033
+ if (rf & 1) {
86034
+ \u0275\u0275element(0, "expandable-list-card", 5);
86035
+ }
86036
+ if (rf & 2) {
86037
+ const ctx_r0 = \u0275\u0275nextContext();
86038
+ const officersArray_r4 = \u0275\u0275readContextLet(6);
86039
+ const isOpenOfficers_r5 = \u0275\u0275readContextLet(7);
86040
+ \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);
86041
+ }
86042
+ }
86043
+ function BritishColumbiaAnnualReportFormComponent_Conditional_9_Template(rf, ctx) {
86044
+ if (rf & 1) {
86045
+ \u0275\u0275elementStart(0, "expandable-card", 6)(1, "h2", 10);
86046
+ \u0275\u0275text(2);
86047
+ \u0275\u0275pipe(3, "translate");
86048
+ \u0275\u0275elementEnd()();
86049
+ }
86050
+ if (rf & 2) {
86051
+ const ctx_r0 = \u0275\u0275nextContext();
86052
+ \u0275\u0275property("title", ctx_r0.groups.Officers);
86053
+ \u0275\u0275advance(2);
86054
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(3, 2, "Unchanged"));
86055
+ }
86056
+ }
86057
+ function BritishColumbiaAnnualReportFormComponent_Conditional_11_Template(rf, ctx) {
86058
+ if (rf & 1) {
86059
+ const _r6 = \u0275\u0275getCurrentView();
86060
+ \u0275\u0275elementStart(0, "expandable-card", 7)(1, "div", 8)(2, "filing-form-group", 9);
86061
+ \u0275\u0275listener("visiblyValidChange", function BritishColumbiaAnnualReportFormComponent_Conditional_11_Template_filing_form_group_visiblyValidChange_2_listener($event) {
86062
+ \u0275\u0275restoreView(_r6);
86063
+ const ctx_r0 = \u0275\u0275nextContext();
86064
+ return \u0275\u0275resetView(ctx_r0.onSectionValidChange("companyEmail", $event));
86065
+ });
86066
+ \u0275\u0275elementEnd()()();
86067
+ }
86068
+ if (rf & 2) {
86069
+ const ctx_r0 = \u0275\u0275nextContext();
86070
+ const companyEmail_r7 = \u0275\u0275readContextLet(10);
86071
+ \u0275\u0275property("isValid", ctx_r0.sectionValidity["companyEmail"])("isStatusIcon", ctx_r0.statusIcon())("title", ctx_r0.groups.CompanyEmail);
86072
+ \u0275\u0275advance(2);
86073
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", companyEmail_r7)("config", ctx_r0.companyEmailFields());
86074
+ }
86075
+ }
86076
+ function BritishColumbiaAnnualReportFormComponent_Conditional_13_Template(rf, ctx) {
86077
+ if (rf & 1) {
86078
+ \u0275\u0275elementStart(0, "expandable-card", 4)(1, "div", 8);
86079
+ \u0275\u0275element(2, "filing-form-group", 11);
86080
+ \u0275\u0275elementEnd()();
86081
+ }
86082
+ if (rf & 2) {
86083
+ const ctx_r0 = \u0275\u0275nextContext();
86084
+ const reminder_r8 = \u0275\u0275readContextLet(12);
86085
+ \u0275\u0275property("isStatusIcon", false)("title", ctx_r0.groups.AnnualReportReminder);
86086
+ \u0275\u0275advance(2);
86087
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", reminder_r8)("config", ctx_r0.reminderFields);
86088
+ }
86089
+ }
86090
+ var BritishColumbiaAnnualReportFormComponent;
86091
+ var init_british_columbia_annual_report_form_component = __esm({
86092
+ "src/app/components/british-columbia/annual-report/british-columbia-annual-report-form/british-columbia-annual-report-form.component.ts"() {
86093
+ init_core();
86094
+ init_ngx_translate_core();
86095
+ init_expandable_card_component();
86096
+ init_expandable_list_card_component();
86097
+ init_filing_form_group_component();
86098
+ init_alert_component();
86099
+ init_alert_enum();
86100
+ init_british_columbia_form_enums();
86101
+ init_british_columbia_annual_report_form_constants();
86102
+ init_british_columbia_annual_report_form_helper();
86103
+ init_core();
86104
+ BritishColumbiaAnnualReportFormComponent = class _BritishColumbiaAnnualReportFormComponent {
86105
+ form = input.required();
86106
+ task = input();
86107
+ errors = input([]);
86108
+ isNote = input(false);
86109
+ statusIcon = input(true);
86110
+ isSubmitted = input(false);
86111
+ visiblyValidChange = output();
86112
+ alertType = AlertType;
86113
+ groups = BCAnnualReportFormGroups;
86114
+ generalFields = BC_ANNUAL_REPORT_GENERAL_FIELDS;
86115
+ officersFields = BC_ANNUAL_REPORT_OFFICERS_FIELDS;
86116
+ reminderFields = BC_ANNUAL_REPORT_REMINDER_FIELDS;
86117
+ companyEmailFields = computed(() => {
86118
+ const task = this.task();
86119
+ return buildBCAnnualReportCompanyEmailFields(task ? BritishColumbiaAnnualReportFormHelper.getCompanyEmailOptions(task) : []);
86120
+ });
86121
+ /** AC2: the Officers section starts expanded for 3 officers or fewer, collapsed for more. */
86122
+ initiallyOpenCardsCount = 3;
86123
+ sectionValidity = {};
86124
+ isVisiblyValid() {
86125
+ return Object.values(this.sectionValidity).every((v) => v);
85359
86126
  }
85360
- /**
85361
- * Address Line 1*, Address Line 2, City*, Postal Code*, Province (BC), Country (Canada).
85362
- * Province and Country are always disabled; the rest follow `enabled`.
85363
- */
85364
- static createOfficeAddressFormGroup(delta, enabled = true) {
85365
- const group2 = new FormGroup({
85366
- [Controls2.AddressLine1]: new FormControl(delta?.addressLine1 ?? "", Validators.required),
85367
- [Controls2.AddressLine2]: new FormControl(delta?.addressLine2 ?? ""),
85368
- [Controls2.City]: new FormControl(delta?.city ?? "", Validators.required),
85369
- [Controls2.PostalCode]: new FormControl(delta?.postalCode ?? "", Validators.required),
85370
- [Controls2.Province]: this.readOnly(delta?.province ?? BC_DEFAULT_PROVINCE_STATE),
85371
- [Controls2.Country]: this.readOnly(delta?.country ?? BC_DEFAULT_COUNTRY)
85372
- });
85373
- this.setOfficeAddressEnabled(group2, enabled);
85374
- return group2;
86127
+ onSectionValidChange(section, valid) {
86128
+ this.sectionValidity = __spreadProps(__spreadValues({}, this.sectionValidity), { [section]: valid });
86129
+ this.visiblyValidChange.emit(this.isVisiblyValid());
85375
86130
  }
85376
- /**
85377
- * Enables or disables the editable controls of an address grid (used by "Same as…" checkboxes).
85378
- * Hiding a grid also clears it. Showing it again refills it with the address Athennian sent for
85379
- * it, or leaves it empty when there is none (and when the user has already typed something).
85380
- */
85381
- static setOfficeAddressEnabled(group2, enabled) {
85382
- if (!group2) {
85383
- return;
85384
- }
85385
- const restore = incomingAddressByGrid.get(group2);
85386
- const isEmpty = EDITABLE_ADDRESS_CONTROLS.every((name) => !group2.get(name)?.value);
85387
- EDITABLE_ADDRESS_CONTROLS.forEach((name) => {
85388
- const control = group2.get(name);
85389
- if (enabled) {
85390
- control?.enable({ emitEvent: false });
85391
- if (restore && isEmpty) {
85392
- control?.setValue(restore[name] ?? "", { emitEvent: false });
85393
- }
85394
- } else {
85395
- control?.setValue("", { emitEvent: false });
85396
- control?.disable({ emitEvent: false });
85397
- }
85398
- });
85399
- group2.updateValueAndValidity({ emitEvent: false });
86131
+ getFormGroup(key) {
86132
+ return this.form().get(key);
85400
86133
  }
85401
- static generateReferenceNumbersFormGroup(deltaData, clientMatterNumber) {
85402
- return new FormGroup({
85403
- [Controls2.ClientMatterNumber]: new FormControl(
85404
- // `??`: an explicitly cleared value ('') in a saved draft must be preserved; the entity default applies only when absent.
85405
- deltaData?.referenceNumber ?? clientMatterNumber ?? ""
85406
- ),
85407
- [Controls2.DocketNumber]: new FormControl(deltaData?.docketNumber ?? "")
85408
- });
86134
+ getFormArray(key) {
86135
+ return this.form().get(key);
85409
86136
  }
85410
- static readOnly(value) {
85411
- return new FormControl({ value: value ?? "", disabled: true });
86137
+ static \u0275fac = function BritishColumbiaAnnualReportFormComponent_Factory(__ngFactoryType__) {
86138
+ return new (__ngFactoryType__ || _BritishColumbiaAnnualReportFormComponent)();
86139
+ };
86140
+ 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) {
86141
+ if (rf & 1) {
86142
+ \u0275\u0275elementStart(0, "div", 0);
86143
+ \u0275\u0275template(1, BritishColumbiaAnnualReportFormComponent_Conditional_1_Template, 1, 1, "alert", 1)(2, BritishColumbiaAnnualReportFormComponent_Conditional_2_Template, 1, 1, "alert", 2);
86144
+ \u0275\u0275elementStart(3, "div", 3);
86145
+ \u0275\u0275declareLet(4);
86146
+ \u0275\u0275template(5, BritishColumbiaAnnualReportFormComponent_Conditional_5_Template, 3, 5, "expandable-card", 4);
86147
+ \u0275\u0275declareLet(6)(7);
86148
+ \u0275\u0275template(8, BritishColumbiaAnnualReportFormComponent_Conditional_8_Template, 1, 7, "expandable-list-card", 5)(9, BritishColumbiaAnnualReportFormComponent_Conditional_9_Template, 4, 4, "expandable-card", 6);
86149
+ \u0275\u0275declareLet(10);
86150
+ \u0275\u0275template(11, BritishColumbiaAnnualReportFormComponent_Conditional_11_Template, 3, 6, "expandable-card", 7);
86151
+ \u0275\u0275declareLet(12);
86152
+ \u0275\u0275template(13, BritishColumbiaAnnualReportFormComponent_Conditional_13_Template, 3, 5, "expandable-card", 4);
86153
+ \u0275\u0275elementEnd()();
86154
+ }
86155
+ if (rf & 2) {
86156
+ let tmp_5_0;
86157
+ \u0275\u0275advance();
86158
+ \u0275\u0275conditional(ctx.isNote() ? 1 : -1);
86159
+ \u0275\u0275advance();
86160
+ \u0275\u0275conditional(ctx.errors().length ? 2 : -1);
86161
+ \u0275\u0275advance(2);
86162
+ const general_r9 = \u0275\u0275storeLet(ctx.getFormGroup(ctx.groups.General));
86163
+ \u0275\u0275advance();
86164
+ \u0275\u0275conditional(general_r9 ? 5 : -1);
86165
+ \u0275\u0275advance();
86166
+ const officersArray_r10 = \u0275\u0275storeLet(ctx.getFormArray(ctx.groups.Officers));
86167
+ \u0275\u0275advance();
86168
+ \u0275\u0275storeLet(((tmp_5_0 = officersArray_r10 == null ? null : officersArray_r10.length) !== null && tmp_5_0 !== void 0 ? tmp_5_0 : 0) <= ctx.initiallyOpenCardsCount);
86169
+ \u0275\u0275advance();
86170
+ \u0275\u0275conditional(officersArray_r10 && officersArray_r10.length ? 8 : 9);
86171
+ \u0275\u0275advance(2);
86172
+ const companyEmail_r11 = \u0275\u0275storeLet(ctx.getFormGroup(ctx.groups.CompanyEmail));
86173
+ \u0275\u0275advance();
86174
+ \u0275\u0275conditional(companyEmail_r11 ? 11 : -1);
86175
+ \u0275\u0275advance();
86176
+ const reminder_r12 = \u0275\u0275storeLet(ctx.getFormGroup(ctx.groups.AnnualReportReminder));
86177
+ \u0275\u0275advance();
86178
+ \u0275\u0275conditional(reminder_r12 ? 13 : -1);
86179
+ }
86180
+ }, dependencies: [
86181
+ ExpandableCardComponent,
86182
+ ExpandableListCardComponent,
86183
+ FilingFormGroupComponent,
86184
+ AlertComponent,
86185
+ TranslatePipe
86186
+ ], 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 });
86187
+ };
86188
+ (() => {
86189
+ (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(BritishColumbiaAnnualReportFormComponent, [{
86190
+ type: Component,
86191
+ args: [{ standalone: true, selector: "british-columbia-annual-report-form", changeDetection: ChangeDetectionStrategy.OnPush, imports: [
86192
+ ExpandableCardComponent,
86193
+ ExpandableListCardComponent,
86194
+ FilingFormGroupComponent,
86195
+ AlertComponent,
86196
+ TranslatePipe
86197
+ ], template: `<div class="annual-report-form">\r
86198
+ @if (isNote()) {\r
86199
+ <alert\r
86200
+ [type]="alertType.Info"\r
86201
+ title="Entity changed"\r
86202
+ content="A new draft needs to be generated as the Entity was changed since the last draft was produced."\r
86203
+ />\r
86204
+ }\r
86205
+ \r
86206
+ @if (errors().length) {\r
86207
+ <alert\r
86208
+ title="The following issues need to be resolved before proceeding:"\r
86209
+ [content]="errors()"\r
86210
+ />\r
86211
+ }\r
86212
+ \r
86213
+ <div class="annual-report-form-content">\r
86214
+ @let general = getFormGroup(groups.General);\r
86215
+ \r
86216
+ @if (general) {\r
86217
+ <expandable-card [isStatusIcon]="false" [title]="groups.General">\r
86218
+ <div class="annual-report-form-item">\r
86219
+ <filing-form-group\r
86220
+ [isSubmitted]="isSubmitted()"\r
86221
+ [form]="general"\r
86222
+ [config]="generalFields"\r
86223
+ (visiblyValidChange)="onSectionValidChange('general', $event)"\r
86224
+ />\r
86225
+ </div>\r
86226
+ </expandable-card>\r
86227
+ }\r
86228
+ \r
86229
+ @let officersArray = getFormArray(groups.Officers);\r
86230
+ @let isOpenOfficers = (officersArray?.length ?? 0) <= initiallyOpenCardsCount;\r
86231
+ \r
86232
+ @if (officersArray && officersArray.length) {\r
86233
+ <expandable-list-card\r
86234
+ [isSubmitted]="isSubmitted()"\r
86235
+ [isValid]="true"\r
86236
+ [areItemsOpen]="isOpenOfficers"\r
86237
+ [isStatusIcon]="false"\r
86238
+ [fields]="officersFields"\r
86239
+ [formArray]="officersArray"\r
86240
+ [title]="groups.Officers"\r
86241
+ />\r
86242
+ } @else {\r
86243
+ <expandable-card [title]="groups.Officers">\r
86244
+ <h2 class="body-1-regular">{{ 'Unchanged' | translate }}</h2>\r
86245
+ </expandable-card>\r
86246
+ }\r
86247
+ \r
86248
+ @let companyEmail = getFormGroup(groups.CompanyEmail);\r
86249
+ \r
86250
+ @if (companyEmail) {\r
86251
+ <expandable-card\r
86252
+ [isValid]="sectionValidity['companyEmail']"\r
86253
+ [isStatusIcon]="statusIcon()"\r
86254
+ [title]="groups.CompanyEmail"\r
86255
+ >\r
86256
+ <div class="annual-report-form-item">\r
86257
+ <filing-form-group\r
86258
+ [isSubmitted]="isSubmitted()"\r
86259
+ [form]="companyEmail"\r
86260
+ [config]="companyEmailFields()"\r
86261
+ (visiblyValidChange)="onSectionValidChange('companyEmail', $event)"\r
86262
+ />\r
86263
+ </div>\r
86264
+ </expandable-card>\r
86265
+ }\r
86266
+ \r
86267
+ @let reminder = getFormGroup(groups.AnnualReportReminder);\r
86268
+ \r
86269
+ @if (reminder) {\r
86270
+ <expandable-card [isStatusIcon]="false" [title]="groups.AnnualReportReminder">\r
86271
+ <div class="annual-report-form-item">\r
86272
+ <filing-form-group\r
86273
+ [isSubmitted]="isSubmitted()"\r
86274
+ [form]="reminder"\r
86275
+ [config]="reminderFields"\r
86276
+ />\r
86277
+ </div>\r
86278
+ </expandable-card>\r
86279
+ }\r
86280
+ </div>\r
86281
+ </div>\r
86282
+ `, 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"] }]
86283
+ }], null, null);
86284
+ })();
86285
+ (() => {
86286
+ (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 });
86287
+ })();
86288
+ }
86289
+ });
86290
+
86291
+ // src/app/components/british-columbia/annual-report/steps/delta/british-columbia-annual-report-delta-form.component.ts
86292
+ var BritishColumbiaAnnualReportDeltaFormComponent;
86293
+ var init_british_columbia_annual_report_delta_form_component = __esm({
86294
+ "src/app/components/british-columbia/annual-report/steps/delta/british-columbia-annual-report-delta-form.component.ts"() {
86295
+ init_core();
86296
+ init_button();
86297
+ init_ngx_translate_core();
86298
+ init_british_columbia_annual_report_form_component();
86299
+ init_common_utils();
86300
+ init_core();
86301
+ BritishColumbiaAnnualReportDeltaFormComponent = class _BritishColumbiaAnnualReportDeltaFormComponent {
86302
+ form = input.required();
86303
+ actionsDisabled = input(false);
86304
+ isNote = input(true);
86305
+ task = input();
86306
+ errors = input([]);
86307
+ close = output();
86308
+ save = output();
86309
+ validate = output();
86310
+ submitted = signal(false);
86311
+ visiblyValid = signal(true);
86312
+ clientErrors = signal([]);
86313
+ translate = inject(TranslateService);
86314
+ combinedErrors = computed(() => {
86315
+ const client = this.clientErrors();
86316
+ return client.length ? client : this.errors();
86317
+ });
86318
+ onVisiblyValidChange(valid) {
86319
+ this.visiblyValid.set(valid);
85412
86320
  }
86321
+ /** AC5: highlights the incomplete fields and shows the "required fields" banner instead of calling the API. */
86322
+ onValidate() {
86323
+ this.submitted.set(true);
86324
+ this.clientErrors.set([]);
86325
+ markFormGroupTouched(this.form());
86326
+ if (!this.visiblyValid()) {
86327
+ this.clientErrors.set([this.translate.instant("Some required fields aren't completed.")]);
86328
+ return;
86329
+ }
86330
+ this.validate.emit();
86331
+ }
86332
+ static \u0275fac = function BritishColumbiaAnnualReportDeltaFormComponent_Factory(__ngFactoryType__) {
86333
+ return new (__ngFactoryType__ || _BritishColumbiaAnnualReportDeltaFormComponent)();
86334
+ };
86335
+ 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) {
86336
+ if (rf & 1) {
86337
+ \u0275\u0275elementStart(0, "div", 0)(1, "british-columbia-annual-report-form", 1);
86338
+ \u0275\u0275listener("visiblyValidChange", function BritishColumbiaAnnualReportDeltaFormComponent_Template_british_columbia_annual_report_form_visiblyValidChange_1_listener($event) {
86339
+ return ctx.onVisiblyValidChange($event);
86340
+ });
86341
+ \u0275\u0275elementEnd();
86342
+ \u0275\u0275elementStart(2, "div", 2)(3, "button", 3);
86343
+ \u0275\u0275listener("click", function BritishColumbiaAnnualReportDeltaFormComponent_Template_button_click_3_listener() {
86344
+ return ctx.close.emit();
86345
+ });
86346
+ \u0275\u0275elementStart(4, "span", 4);
86347
+ \u0275\u0275text(5);
86348
+ \u0275\u0275pipe(6, "translate");
86349
+ \u0275\u0275elementEnd()();
86350
+ \u0275\u0275elementStart(7, "button", 3);
86351
+ \u0275\u0275listener("click", function BritishColumbiaAnnualReportDeltaFormComponent_Template_button_click_7_listener() {
86352
+ return ctx.save.emit();
86353
+ });
86354
+ \u0275\u0275elementStart(8, "span", 4);
86355
+ \u0275\u0275text(9);
86356
+ \u0275\u0275pipe(10, "translate");
86357
+ \u0275\u0275elementEnd()();
86358
+ \u0275\u0275elementStart(11, "button", 5);
86359
+ \u0275\u0275listener("click", function BritishColumbiaAnnualReportDeltaFormComponent_Template_button_click_11_listener() {
86360
+ return ctx.onValidate();
86361
+ });
86362
+ \u0275\u0275elementStart(12, "span", 4);
86363
+ \u0275\u0275text(13);
86364
+ \u0275\u0275pipe(14, "translate");
86365
+ \u0275\u0275elementEnd()()()();
86366
+ }
86367
+ if (rf & 2) {
86368
+ \u0275\u0275advance();
86369
+ \u0275\u0275property("form", ctx.form())("task", ctx.task())("errors", ctx.combinedErrors())("isNote", ctx.isNote())("isSubmitted", ctx.submitted())("statusIcon", true);
86370
+ \u0275\u0275advance(2);
86371
+ \u0275\u0275property("disabled", ctx.actionsDisabled());
86372
+ \u0275\u0275advance(2);
86373
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(6, 12, "Close"));
86374
+ \u0275\u0275advance(2);
86375
+ \u0275\u0275property("disabled", ctx.actionsDisabled());
86376
+ \u0275\u0275advance(2);
86377
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(10, 14, "Save Changes"));
86378
+ \u0275\u0275advance(2);
86379
+ \u0275\u0275property("disabled", ctx.actionsDisabled());
86380
+ \u0275\u0275advance(2);
86381
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(14, 16, "Validate & Generate Draft"));
86382
+ }
86383
+ }, 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 });
86384
+ };
86385
+ (() => {
86386
+ (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(BritishColumbiaAnnualReportDeltaFormComponent, [{
86387
+ type: Component,
86388
+ 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
86389
+ <british-columbia-annual-report-form\r
86390
+ class="annual-report-delta-form-content"\r
86391
+ [form]="form()"\r
86392
+ [task]="task()"\r
86393
+ [errors]="combinedErrors()"\r
86394
+ [isNote]="isNote()"\r
86395
+ [isSubmitted]="submitted()"\r
86396
+ [statusIcon]="true"\r
86397
+ (visiblyValidChange)="onVisiblyValidChange($event)"\r
86398
+ />\r
86399
+ \r
86400
+ <div class="annual-report-delta-form-actions">\r
86401
+ <button [disabled]="actionsDisabled()" mat-stroked-button mat-button (click)="close.emit()">\r
86402
+ <span class="body-1-semibold">{{ 'Close' | translate }}</span>\r
86403
+ </button>\r
86404
+ <button (click)="save.emit()" [disabled]="actionsDisabled()" mat-stroked-button mat-button>\r
86405
+ <span class="body-1-semibold">{{ 'Save Changes' | translate }}</span>\r
86406
+ </button>\r
86407
+ <button\r
86408
+ class="submit"\r
86409
+ color="primary"\r
86410
+ mat-flat-button\r
86411
+ [disabled]="actionsDisabled()"\r
86412
+ (click)="onValidate()"\r
86413
+ >\r
86414
+ <span class="body-1-semibold">{{ 'Validate & Generate Draft' | translate }}</span>\r
86415
+ </button>\r
86416
+ </div>\r
86417
+ </div>\r
86418
+ `, 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"] }]
86419
+ }], null, null);
86420
+ })();
86421
+ (() => {
86422
+ (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 });
86423
+ })();
86424
+ }
86425
+ });
86426
+
86427
+ // src/app/components/british-columbia/annual-report/steps/preview/british-columbia-annual-report-preview-form.component.ts
86428
+ var BritishColumbiaAnnualReportPreviewFormComponent;
86429
+ var init_british_columbia_annual_report_preview_form_component = __esm({
86430
+ "src/app/components/british-columbia/annual-report/steps/preview/british-columbia-annual-report-preview-form.component.ts"() {
86431
+ init_core();
86432
+ init_button();
86433
+ init_ngx_translate_core();
86434
+ init_british_columbia_annual_report_form_component();
86435
+ init_core();
86436
+ BritishColumbiaAnnualReportPreviewFormComponent = class _BritishColumbiaAnnualReportPreviewFormComponent {
86437
+ form = input.required();
86438
+ actionsDisabled = input(false);
86439
+ task = input();
86440
+ errors = input([]);
86441
+ close = output();
86442
+ file = output();
86443
+ static \u0275fac = function BritishColumbiaAnnualReportPreviewFormComponent_Factory(__ngFactoryType__) {
86444
+ return new (__ngFactoryType__ || _BritishColumbiaAnnualReportPreviewFormComponent)();
86445
+ };
86446
+ 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) {
86447
+ if (rf & 1) {
86448
+ \u0275\u0275elementStart(0, "div", 0);
86449
+ \u0275\u0275element(1, "british-columbia-annual-report-form", 1);
86450
+ \u0275\u0275elementStart(2, "div", 2)(3, "button", 3);
86451
+ \u0275\u0275listener("click", function BritishColumbiaAnnualReportPreviewFormComponent_Template_button_click_3_listener() {
86452
+ return ctx.close.emit();
86453
+ });
86454
+ \u0275\u0275elementStart(4, "span", 4);
86455
+ \u0275\u0275text(5);
86456
+ \u0275\u0275pipe(6, "translate");
86457
+ \u0275\u0275elementEnd()();
86458
+ \u0275\u0275elementStart(7, "button", 5);
86459
+ \u0275\u0275listener("click", function BritishColumbiaAnnualReportPreviewFormComponent_Template_button_click_7_listener() {
86460
+ return ctx.file.emit();
86461
+ });
86462
+ \u0275\u0275elementStart(8, "span", 4);
86463
+ \u0275\u0275text(9);
86464
+ \u0275\u0275pipe(10, "translate");
86465
+ \u0275\u0275elementEnd()()()();
86466
+ }
86467
+ if (rf & 2) {
86468
+ \u0275\u0275advance();
86469
+ \u0275\u0275property("form", ctx.form())("task", ctx.task())("errors", ctx.errors())("statusIcon", false);
86470
+ \u0275\u0275advance(2);
86471
+ \u0275\u0275property("disabled", ctx.actionsDisabled());
86472
+ \u0275\u0275advance(2);
86473
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(6, 8, "Close"));
86474
+ \u0275\u0275advance(2);
86475
+ \u0275\u0275property("disabled", ctx.actionsDisabled());
86476
+ \u0275\u0275advance(2);
86477
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(10, 10, "File"));
86478
+ }
86479
+ }, 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 });
85413
86480
  };
86481
+ (() => {
86482
+ (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(BritishColumbiaAnnualReportPreviewFormComponent, [{
86483
+ type: Component,
86484
+ 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
86485
+ <british-columbia-annual-report-form\r
86486
+ class="annual-report-preview-form-content"\r
86487
+ [form]="form()"\r
86488
+ [task]="task()"\r
86489
+ [errors]="errors()"\r
86490
+ [statusIcon]="false"\r
86491
+ />\r
86492
+ \r
86493
+ <div class="annual-report-preview-form-actions">\r
86494
+ <button [disabled]="actionsDisabled()" mat-stroked-button mat-button (click)="close.emit()">\r
86495
+ <span class="body-1-semibold">{{ 'Close' | translate }}</span>\r
86496
+ </button>\r
86497
+ <button\r
86498
+ class="submit"\r
86499
+ color="primary"\r
86500
+ mat-flat-button\r
86501
+ [disabled]="actionsDisabled()"\r
86502
+ (click)="file.emit()"\r
86503
+ >\r
86504
+ <span class="body-1-semibold">{{ 'File' | translate }}</span>\r
86505
+ </button>\r
86506
+ </div>\r
86507
+ </div>\r
86508
+ `, 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"] }]
86509
+ }], null, null);
86510
+ })();
86511
+ (() => {
86512
+ (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 });
86513
+ })();
85414
86514
  }
85415
86515
  });
85416
86516
 
85417
86517
  // src/app/constants/ui/british-columbia-change-of-directors-form.constants.ts
85418
- 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;
86518
+ 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;
85419
86519
  var init_british_columbia_change_of_directors_form_constants = __esm({
85420
86520
  "src/app/constants/ui/british-columbia-change-of-directors-form.constants.ts"() {
85421
86521
  init_form_enums();
85422
86522
  init_british_columbia_form_enums();
85423
86523
  init_BritishColumbiaConstants();
85424
86524
  Controls3 = BCChangeOfDirectorsFormControls;
85425
- labelledValue = (label, value, t) => `<span class="body-1-semibold">${t(label)}:</span> ${value || t("Not specified")}`;
86525
+ labelledValue2 = (label, value, t) => `<span class="body-1-semibold">${t(label)}:</span> ${value || t("Not specified")}`;
85426
86526
  readOnlyRow = (label, control, className = "span-12") => ({
85427
86527
  type: FormType.Text,
85428
86528
  formControlName: control,
85429
86529
  class: className,
85430
- dynamicLabel: (form, t) => labelledValue(label, form.get(control)?.value, t)
86530
+ dynamicLabel: (form, t) => labelledValue2(label, form.get(control)?.value, t)
85431
86531
  });
85432
86532
  directorsAddedOrDeleted = (form) => Boolean(form.get(Controls3.DirectorsAddedOrDeleted)?.value);
85433
86533
  isNotifyByMail = (form) => form.get(Controls3.NotificationMethod)?.value === BCNotificationMethod.Mail;
@@ -86410,287 +87510,6 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
86410
87510
  }
86411
87511
  });
86412
87512
 
86413
- // src/app/constants/ui/british-columbia-formation-form.constants.ts
86414
- 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;
86415
- var init_british_columbia_formation_form_constants = __esm({
86416
- "src/app/constants/ui/british-columbia-formation-form.constants.ts"() {
86417
- init_form_enums();
86418
- init_british_columbia_form_enums();
86419
- init_BritishColumbiaConstants();
86420
- init_british_columbia_formation_form_helper();
86421
- BC_NAME_TYPE_OPTIONS = Object.values(BCNameType).filter((v) => typeof v === "number").map((v) => ({ label: BCNameTypeLabel[v], value: v }));
86422
- labelledValue2 = (label, value, t) => `<span class="body-1-semibold">${t(label)}:</span> ${value || t("None")}`;
86423
- isNamed = (form) => form.get(BCFormationFormControls.CorporationNameType)?.value === BCNameType.Named;
86424
- BC_FORMATION_DELTA_CARD_FORM_REFERENCE_NUMBERS_FIELDS = [
86425
- {
86426
- type: FormType.Input,
86427
- label: "Client/Matter Number",
86428
- formControlName: BCFormationFormControls.ClientMatterNumber
86429
- },
86430
- {
86431
- type: FormType.Input,
86432
- label: "Docket Number",
86433
- formControlName: BCFormationFormControls.DocketNumber
86434
- }
86435
- ];
86436
- BC_FORMATION_DELTA_CARD_FORM_CORPORATION_DETAILS_FIELDS = [
86437
- {
86438
- type: FormType.Select,
86439
- label: "Corporation Name Type",
86440
- formControlName: BCFormationFormControls.CorporationNameType,
86441
- required: true,
86442
- options: BC_NAME_TYPE_OPTIONS,
86443
- needTranslate: true,
86444
- onChange: (form) => {
86445
- form.get(BCFormationFormControls.CompanyName)?.updateValueAndValidity({ emitEvent: false });
86446
- form.get(BCFormationFormControls.NameReservationNumber)?.updateValueAndValidity({ emitEvent: false });
86447
- }
86448
- },
86449
- {
86450
- type: FormType.Text,
86451
- formControlName: "",
86452
- class: "span-6 beside-select",
86453
- // Numbered only: a Named company shows no preview of the typed name.
86454
- isVisible: (form) => !isNamed(form),
86455
- dynamicLabel: () => BC_NUMBERED_NAME_PREVIEW
86456
- },
86457
- {
86458
- type: FormType.Input,
86459
- label: "Proposed Corporate Name",
86460
- formControlName: BCFormationFormControls.CompanyName,
86461
- required: true,
86462
- isVisible: isNamed,
86463
- class: "column-3"
86464
- },
86465
- {
86466
- type: FormType.Input,
86467
- label: "Name Reservation #",
86468
- formControlName: BCFormationFormControls.NameReservationNumber,
86469
- required: true,
86470
- maxLength: 9,
86471
- errorMessage: "Enter a valid Name Reservation number (for example NR1234567)",
86472
- showRequiredMessage: true,
86473
- isVisible: isNamed,
86474
- class: "span-6"
86475
- },
86476
- {
86477
- type: FormType.Text,
86478
- formControlName: BCFormationFormControls.RequestedDateForIncorporation,
86479
- class: "span-12 spaced-text",
86480
- dynamicLabel: (form, t) => labelledValue2("Requested Date for Incorporation", form.get(BCFormationFormControls.RequestedDateForIncorporation)?.value, t)
86481
- },
86482
- {
86483
- type: FormType.Text,
86484
- formControlName: BCFormationFormControls.IsFutureEffectiveDate,
86485
- class: "span-12 fee-warning",
86486
- isVisible: (form) => Boolean(form.get(BCFormationFormControls.IsFutureEffectiveDate)?.value),
86487
- dynamicLabel: (_, t) => t("There is an additional fee of {{fee}} for an effective date in the future.").replace("{{fee}}", BC_FUTURE_EFFECTIVE_DATE_FEE)
86488
- },
86489
- {
86490
- // Options are filled per task from `task.entity.emailOptions` by the incorporation form.
86491
- type: FormType.Select,
86492
- label: "Company Email",
86493
- formControlName: BCFormationFormControls.CompanyEmail,
86494
- required: true,
86495
- options: [],
86496
- class: "span-6"
86497
- }
86498
- // The company password is not shown: it is taken from the entity's registry ID.
86499
- ];
86500
- BC_FORMATION_DELTA_CARD_FORM_NAME_TRANSLATION_FIELDS = [
86501
- {
86502
- type: FormType.Checkbox,
86503
- label: "This company uses one or more translations of its name outside of Canada.",
86504
- formControlName: BCFormationFormControls.UsesNameTranslation,
86505
- class: "span-12",
86506
- onChange: (form) => {
86507
- const rows = form.get(BCFormationFormControls.NameTranslations);
86508
- const enabled = Boolean(form.get(BCFormationFormControls.UsesNameTranslation)?.value);
86509
- if (!rows) {
86510
- return;
86511
- }
86512
- if (enabled && rows.length === 0) {
86513
- rows.push(BritishColumbiaFormationFormHelper.createNameTranslationFormGroup());
86514
- }
86515
- if (!enabled) {
86516
- rows.clear();
86517
- }
86518
- }
86519
- },
86520
- {
86521
- type: FormType.Text,
86522
- formControlName: "",
86523
- class: "span-12",
86524
- isVisible: (form) => Boolean(form.get(BCFormationFormControls.UsesNameTranslation)?.value),
86525
- 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.")}`
86526
- }
86527
- ];
86528
- BC_FORMATION_DELTA_CARD_FORM_NAME_TRANSLATION_ROW_FIELDS = [
86529
- {
86530
- type: FormType.Input,
86531
- label: "Name Translation",
86532
- formControlName: BCFormationFormControls.NameTranslation,
86533
- required: true,
86534
- class: "span-6"
86535
- }
86536
- ];
86537
- BC_FORMATION_CARD_FORM_REGISTERED_OFFICE_FIELDS = [
86538
- {
86539
- type: FormType.Text,
86540
- formControlName: BCFormationFormControls.MailingAddress,
86541
- class: "span-12",
86542
- dynamicLabel: (form, t) => labelledValue2("Mailing Address - Full Address", form.get(BCFormationFormControls.MailingAddress)?.value, t)
86543
- },
86544
- {
86545
- type: FormType.Text,
86546
- formControlName: BCFormationFormControls.DeliveryAddress,
86547
- class: "span-12",
86548
- dynamicLabel: (form, t) => labelledValue2("Delivery Address - Full Address", form.get(BCFormationFormControls.DeliveryAddress)?.value, t)
86549
- }
86550
- ];
86551
- BC_FORMATION_CARD_FORM_RECORDS_OFFICE_FIELDS = [
86552
- {
86553
- type: FormType.Text,
86554
- formControlName: BCFormationFormControls.RecordsOfficeMailingAddress,
86555
- class: "span-12",
86556
- dynamicLabel: (form, t) => labelledValue2("Mailing Address - Full Address", form.get(BCFormationFormControls.RecordsOfficeMailingAddress)?.value, t)
86557
- },
86558
- {
86559
- type: FormType.Text,
86560
- formControlName: BCFormationFormControls.RecordsOfficeDeliveryAddress,
86561
- class: "span-12",
86562
- dynamicLabel: (form, t) => labelledValue2("Delivery Address - Full Address", form.get(BCFormationFormControls.RecordsOfficeDeliveryAddress)?.value, t)
86563
- }
86564
- ];
86565
- BC_FORMATION_DELTA_CARD_FORM_COMPLETING_PARTY_FIELDS = [
86566
- {
86567
- type: FormType.Input,
86568
- label: "First Name",
86569
- formControlName: BCFormationFormControls.CompletingPartyFirstName,
86570
- required: true,
86571
- class: "column-3"
86572
- },
86573
- {
86574
- type: FormType.Input,
86575
- label: "Middle Name",
86576
- formControlName: BCFormationFormControls.CompletingPartyMiddleName,
86577
- class: "column-3"
86578
- },
86579
- {
86580
- type: FormType.Input,
86581
- label: "Last Name",
86582
- formControlName: BCFormationFormControls.CompletingPartyLastName,
86583
- required: true,
86584
- class: "column-3"
86585
- },
86586
- {
86587
- type: FormType.Input,
86588
- inputType: "email",
86589
- label: "Email",
86590
- formControlName: BCFormationFormControls.CompletingPartyEmail,
86591
- required: true,
86592
- errorMessage: "Enter a valid email address",
86593
- showRequiredMessage: true,
86594
- class: "column-3"
86595
- },
86596
- {
86597
- type: FormType.Text,
86598
- formControlName: "",
86599
- class: "span-12",
86600
- dynamicLabel: (_, t) => t("A copy of the filed Incorporation Application is emailed to this address.")
86601
- },
86602
- {
86603
- type: FormType.Input,
86604
- label: "Street Address",
86605
- formControlName: BCFormationFormControls.AddressLine1,
86606
- required: true,
86607
- class: "column-3"
86608
- },
86609
- {
86610
- type: FormType.Input,
86611
- label: "Additional Street Address",
86612
- formControlName: BCFormationFormControls.AddressLine2,
86613
- class: "column-3"
86614
- },
86615
- {
86616
- type: FormType.Input,
86617
- label: "City",
86618
- formControlName: BCFormationFormControls.City,
86619
- required: true,
86620
- class: "column-2"
86621
- },
86622
- {
86623
- type: FormType.Input,
86624
- label: "Province / State",
86625
- formControlName: BCFormationFormControls.ProvinceState,
86626
- required: true,
86627
- class: "column-2"
86628
- },
86629
- {
86630
- type: FormType.Input,
86631
- label: "Postal / Zip Code",
86632
- formControlName: BCFormationFormControls.PostalZip,
86633
- required: true,
86634
- errorMessage: "Enter a valid Canadian postal code (for example V8W 1X4)",
86635
- showRequiredMessage: true,
86636
- class: "column-2"
86637
- },
86638
- {
86639
- type: FormType.Select,
86640
- label: "Country",
86641
- formControlName: BCFormationFormControls.Country,
86642
- required: true,
86643
- options: BC_COMPLETING_PARTY_COUNTRY_OPTIONS,
86644
- class: "span-4",
86645
- // Province / State is required for Canada and the US, and the postal code format is Canada-only.
86646
- onChange: (form) => {
86647
- [BCFormationFormControls.ProvinceState, BCFormationFormControls.PostalZip].forEach((control) => form.get(control)?.updateValueAndValidity({ emitEvent: false }));
86648
- }
86649
- },
86650
- {
86651
- type: FormType.Checkbox,
86652
- // Checkbox labels don't get the renderer's required asterisk, so it is added here (AC2).
86653
- dynamicLabel: (_, t) => `${t("The Completing Party confirms they have examined the Articles and the Incorporation Agreement, and the signature requirements have been met.")} *`,
86654
- formControlName: BCFormationFormControls.HasConfirmedCompletion,
86655
- required: true,
86656
- class: "span-12"
86657
- },
86658
- {
86659
- type: FormType.Checkbox,
86660
- // Checkbox labels don't get the renderer's required asterisk, so it is added here (AC2).
86661
- dynamicLabel: (_, t) => `${t("I have a signed Incorporation Agreement and a set of Articles for the company to be incorporated.")} *`,
86662
- formControlName: BCFormationFormControls.HasRequiredDocuments,
86663
- required: true,
86664
- class: "span-12"
86665
- }
86666
- ];
86667
- BC_FORMATION_CARD_FORM_DIRECTORS_FIELDS = [
86668
- {
86669
- type: FormType.Text,
86670
- formControlName: BCFormationFormControls.MailingAddress,
86671
- class: "span-12",
86672
- dynamicLabel: (form, t) => labelledValue2("Mailing Address - Full Address", form.get(BCFormationFormControls.MailingAddress)?.value, t)
86673
- },
86674
- {
86675
- type: FormType.Text,
86676
- formControlName: BCFormationFormControls.DeliveryAddress,
86677
- class: "span-12",
86678
- // A director without a Delivery address is filed with "delivery same as mailing", so the
86679
- // Mailing address is shown, as in the draft.
86680
- dynamicLabel: (form, t) => labelledValue2("Delivery Address - Full Address", form.get(BCFormationFormControls.DeliveryAddress)?.value || form.get(BCFormationFormControls.MailingAddress)?.value, t)
86681
- }
86682
- ];
86683
- BC_FORMATION_CARD_FORM_INCORPORATORS_FIELDS = [
86684
- {
86685
- type: FormType.Text,
86686
- formControlName: BCFormationFormControls.FullAddress,
86687
- class: "span-12",
86688
- dynamicLabel: (form, t) => labelledValue2("Full Address", form.get(BCFormationFormControls.FullAddress)?.value, t)
86689
- }
86690
- ];
86691
- }
86692
- });
86693
-
86694
87513
  // src/app/components/british-columbia/incorporation/british-columbia-incorporation-form/british-columbia-incorporation-form.component.ts
86695
87514
  function BritishColumbiaIncorporationFormComponent_Conditional_1_Template(rf, ctx) {
86696
87515
  if (rf & 1) {
@@ -87856,20 +88675,11 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
87856
88675
  \u0275\u0275property("content", ctx_r0.errors());
87857
88676
  }
87858
88677
  }
87859
- function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_3_Template(rf, ctx) {
87860
- if (rf & 1) {
87861
- \u0275\u0275element(0, "alert", 2);
87862
- }
87863
- if (rf & 2) {
87864
- const ctx_r0 = \u0275\u0275nextContext();
87865
- \u0275\u0275property("content", ctx_r0.missingMessages());
87866
- }
87867
- }
87868
- function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_6_Template(rf, ctx) {
88678
+ function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_5_Template(rf, ctx) {
87869
88679
  if (rf & 1) {
87870
88680
  const _r2 = \u0275\u0275getCurrentView();
87871
88681
  \u0275\u0275elementStart(0, "expandable-card", 4)(1, "filing-form-group", 7);
87872
- \u0275\u0275listener("visiblyValidChange", function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_6_Template_filing_form_group_visiblyValidChange_1_listener($event) {
88682
+ \u0275\u0275listener("visiblyValidChange", function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_5_Template_filing_form_group_visiblyValidChange_1_listener($event) {
87873
88683
  \u0275\u0275restoreView(_r2);
87874
88684
  const ctx_r0 = \u0275\u0275nextContext();
87875
88685
  return \u0275\u0275resetView(ctx_r0.onSectionValidChange("refNumbers", $event));
@@ -87878,17 +88688,17 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
87878
88688
  }
87879
88689
  if (rf & 2) {
87880
88690
  const ctx_r0 = \u0275\u0275nextContext();
87881
- const referenceNumbers_r3 = \u0275\u0275readContextLet(5);
88691
+ const referenceNumbers_r3 = \u0275\u0275readContextLet(4);
87882
88692
  \u0275\u0275property("title", ctx_r0.groups.ReferenceNumbers);
87883
88693
  \u0275\u0275advance();
87884
88694
  \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", referenceNumbers_r3)("config", ctx_r0.referenceNumbersFields);
87885
88695
  }
87886
88696
  }
87887
- function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_8_Template(rf, ctx) {
88697
+ function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_7_Template(rf, ctx) {
87888
88698
  if (rf & 1) {
87889
88699
  const _r4 = \u0275\u0275getCurrentView();
87890
88700
  \u0275\u0275elementStart(0, "expandable-card", 5)(1, "filing-form-group", 7);
87891
- \u0275\u0275listener("visiblyValidChange", function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_8_Template_filing_form_group_visiblyValidChange_1_listener($event) {
88701
+ \u0275\u0275listener("visiblyValidChange", function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_7_Template_filing_form_group_visiblyValidChange_1_listener($event) {
87892
88702
  \u0275\u0275restoreView(_r4);
87893
88703
  const ctx_r0 = \u0275\u0275nextContext();
87894
88704
  return \u0275\u0275resetView(ctx_r0.onSectionValidChange("corpDetails", $event));
@@ -87897,129 +88707,232 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
87897
88707
  }
87898
88708
  if (rf & 2) {
87899
88709
  const ctx_r0 = \u0275\u0275nextContext();
87900
- const corporationDetails_r5 = \u0275\u0275readContextLet(7);
88710
+ const corporationDetails_r5 = \u0275\u0275readContextLet(6);
87901
88711
  \u0275\u0275property("isStatusIcon", !ctx_r0.readonly())("isValid", ctx_r0.sectionValidity["corpDetails"] !== false)("title", ctx_r0.groups.CorporationDetails);
87902
88712
  \u0275\u0275advance();
87903
88713
  \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", corporationDetails_r5)("config", ctx_r0.corporationDetailsFields());
87904
88714
  }
87905
88715
  }
87906
- function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_10_For_3_Conditional_7_Template(rf, ctx) {
88716
+ function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_9_Conditional_9_Template(rf, ctx) {
87907
88717
  if (rf & 1) {
87908
- \u0275\u0275elementStart(0, "div", 12);
87909
- \u0275\u0275text(1);
87910
- \u0275\u0275pipe(2, "translate");
88718
+ const _r7 = \u0275\u0275getCurrentView();
88719
+ \u0275\u0275elementStart(0, "filing-form-group", 7);
88720
+ \u0275\u0275listener("visiblyValidChange", function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_9_Conditional_9_Template_filing_form_group_visiblyValidChange_0_listener() {
88721
+ \u0275\u0275restoreView(_r7);
88722
+ const ctx_r0 = \u0275\u0275nextContext(2);
88723
+ return \u0275\u0275resetView(ctx_r0.emitValidity());
88724
+ });
88725
+ \u0275\u0275elementEnd();
88726
+ }
88727
+ if (rf & 2) {
88728
+ \u0275\u0275nextContext();
88729
+ const registeredMailing_r8 = \u0275\u0275readContextLet(0);
88730
+ const ctx_r0 = \u0275\u0275nextContext();
88731
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", registeredMailing_r8)("config", ctx_r0.addressFields);
88732
+ }
88733
+ }
88734
+ function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_9_Conditional_14_Template(rf, ctx) {
88735
+ if (rf & 1) {
88736
+ const _r9 = \u0275\u0275getCurrentView();
88737
+ \u0275\u0275element(0, "filing-form-group", 9);
88738
+ \u0275\u0275elementStart(1, "filing-form-group", 7);
88739
+ \u0275\u0275listener("visiblyValidChange", function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_9_Conditional_14_Template_filing_form_group_visiblyValidChange_1_listener() {
88740
+ \u0275\u0275restoreView(_r9);
88741
+ const ctx_r0 = \u0275\u0275nextContext(2);
88742
+ return \u0275\u0275resetView(ctx_r0.emitValidity());
88743
+ });
87911
88744
  \u0275\u0275elementEnd();
87912
88745
  }
87913
88746
  if (rf & 2) {
87914
- const row_r6 = \u0275\u0275nextContext().$implicit;
88747
+ \u0275\u0275nextContext();
88748
+ const registeredDelivery_r10 = \u0275\u0275readContextLet(1);
88749
+ const ctx_r0 = \u0275\u0275nextContext();
88750
+ const registeredOffice_r11 = \u0275\u0275readContextLet(8);
88751
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", registeredOffice_r11)("config", ctx_r0.deliveryNoteFields);
87915
88752
  \u0275\u0275advance();
87916
- \u0275\u0275textInterpolate2(" ", \u0275\u0275pipeBind1(2, 2, "Previous"), ": ", row_r6.previous, " ");
88753
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", registeredDelivery_r10)("config", ctx_r0.addressFields);
87917
88754
  }
87918
88755
  }
87919
- function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_10_For_3_Template(rf, ctx) {
88756
+ function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_9_Template(rf, ctx) {
87920
88757
  if (rf & 1) {
87921
- \u0275\u0275elementStart(0, "div", 9)(1, "div", 10)(2, "span", 11);
87922
- \u0275\u0275text(3);
87923
- \u0275\u0275pipe(4, "translate");
88758
+ const _r6 = \u0275\u0275getCurrentView();
88759
+ \u0275\u0275declareLet(0)(1)(2);
88760
+ \u0275\u0275elementStart(3, "expandable-card", 5)(4, "div", 8);
88761
+ \u0275\u0275element(5, "filing-form-group", 9);
88762
+ \u0275\u0275elementStart(6, "h4", 10);
88763
+ \u0275\u0275text(7);
88764
+ \u0275\u0275pipe(8, "translate");
87924
88765
  \u0275\u0275elementEnd();
87925
- \u0275\u0275text(5);
87926
- \u0275\u0275pipe(6, "translate");
88766
+ \u0275\u0275template(9, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_9_Conditional_9_Template, 1, 3, "filing-form-group", 9);
88767
+ \u0275\u0275elementStart(10, "h4", 10);
88768
+ \u0275\u0275text(11);
88769
+ \u0275\u0275pipe(12, "translate");
87927
88770
  \u0275\u0275elementEnd();
87928
- \u0275\u0275template(7, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_10_For_3_Conditional_7_Template, 3, 4, "div", 12);
88771
+ \u0275\u0275elementStart(13, "filing-form-group", 7);
88772
+ \u0275\u0275listener("visiblyValidChange", function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_9_Template_filing_form_group_visiblyValidChange_13_listener() {
88773
+ \u0275\u0275restoreView(_r6);
88774
+ const ctx_r0 = \u0275\u0275nextContext();
88775
+ return \u0275\u0275resetView(ctx_r0.emitValidity());
88776
+ });
87929
88777
  \u0275\u0275elementEnd();
88778
+ \u0275\u0275template(14, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_9_Conditional_14_Template, 2, 6);
88779
+ \u0275\u0275elementEnd()();
87930
88780
  }
87931
88781
  if (rf & 2) {
87932
- const row_r6 = ctx.$implicit;
87933
- \u0275\u0275advance(3);
87934
- \u0275\u0275textInterpolate1("", \u0275\u0275pipeBind1(4, 3, row_r6.label), ":");
88782
+ const ctx_r0 = \u0275\u0275nextContext();
88783
+ const registeredOffice_r11 = \u0275\u0275readContextLet(8);
88784
+ const registeredMailing_r12 = \u0275\u0275storeLet(ctx_r0.getAddressGroup(registeredOffice_r11, ctx_r0.controls.NewMailingAddress));
88785
+ \u0275\u0275advance();
88786
+ const registeredDelivery_r13 = \u0275\u0275storeLet(ctx_r0.getAddressGroup(registeredOffice_r11, ctx_r0.controls.NewDeliveryAddress));
88787
+ const registeredDeliverySame_r14 = ctx_r0.isChecked(registeredOffice_r11, ctx_r0.controls.DeliverySameAsMailing);
88788
+ \u0275\u0275advance(2);
88789
+ \u0275\u0275property("isStatusIcon", !ctx_r0.readonly())("isValid", ctx_r0.isRegisteredOfficeValid())("title", ctx_r0.groups.RegisteredOfficeAddress);
88790
+ \u0275\u0275advance(2);
88791
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", registeredOffice_r11)("config", ctx_r0.currentAddressesFields);
88792
+ \u0275\u0275advance(2);
88793
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(8, 15, "New Mailing Address"));
87935
88794
  \u0275\u0275advance(2);
87936
- \u0275\u0275textInterpolate1(" ", row_r6.value || \u0275\u0275pipeBind1(6, 5, "Not specified"), " ");
88795
+ \u0275\u0275conditional(registeredMailing_r12 ? 9 : -1);
87937
88796
  \u0275\u0275advance(2);
87938
- \u0275\u0275conditional(row_r6.previous ? 7 : -1);
88797
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(12, 17, "New Delivery Address"));
88798
+ \u0275\u0275advance(2);
88799
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", registeredOffice_r11)("config", ctx_r0.deliverySameAsMailingFields);
88800
+ \u0275\u0275advance();
88801
+ \u0275\u0275conditional(!registeredDeliverySame_r14 && registeredDelivery_r13 ? 14 : -1);
87939
88802
  }
87940
88803
  }
87941
- function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_10_Template(rf, ctx) {
88804
+ function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_11_Conditional_8_Conditional_3_Template(rf, ctx) {
87942
88805
  if (rf & 1) {
87943
- \u0275\u0275elementStart(0, "expandable-card", 5)(1, "div", 8);
87944
- \u0275\u0275repeaterCreate(2, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_10_For_3_Template, 8, 7, "div", 9, _forTrack05);
87945
- \u0275\u0275elementEnd()();
88806
+ const _r17 = \u0275\u0275getCurrentView();
88807
+ \u0275\u0275elementStart(0, "filing-form-group", 7);
88808
+ \u0275\u0275listener("visiblyValidChange", function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_11_Conditional_8_Conditional_3_Template_filing_form_group_visiblyValidChange_0_listener() {
88809
+ \u0275\u0275restoreView(_r17);
88810
+ const ctx_r0 = \u0275\u0275nextContext(3);
88811
+ return \u0275\u0275resetView(ctx_r0.emitValidity());
88812
+ });
88813
+ \u0275\u0275elementEnd();
87946
88814
  }
87947
88815
  if (rf & 2) {
88816
+ \u0275\u0275nextContext(2);
88817
+ const recordsMailing_r18 = \u0275\u0275readContextLet(0);
87948
88818
  const ctx_r0 = \u0275\u0275nextContext();
87949
- \u0275\u0275property("isStatusIcon", !ctx_r0.readonly())("isValid", ctx_r0.isRegisteredOfficeValid())("title", ctx_r0.groups.RegisteredOfficeAddress);
87950
- \u0275\u0275advance(2);
87951
- \u0275\u0275repeater(ctx_r0.registeredRows());
88819
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", recordsMailing_r18)("config", ctx_r0.addressFields);
87952
88820
  }
87953
88821
  }
87954
- function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_12_For_3_Conditional_7_Template(rf, ctx) {
88822
+ function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_11_Conditional_8_Conditional_8_Template(rf, ctx) {
87955
88823
  if (rf & 1) {
87956
- \u0275\u0275elementStart(0, "div", 12);
87957
- \u0275\u0275text(1);
87958
- \u0275\u0275pipe(2, "translate");
88824
+ const _r19 = \u0275\u0275getCurrentView();
88825
+ \u0275\u0275elementStart(0, "filing-form-group", 7);
88826
+ \u0275\u0275listener("visiblyValidChange", function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_11_Conditional_8_Conditional_8_Template_filing_form_group_visiblyValidChange_0_listener() {
88827
+ \u0275\u0275restoreView(_r19);
88828
+ const ctx_r0 = \u0275\u0275nextContext(3);
88829
+ return \u0275\u0275resetView(ctx_r0.emitValidity());
88830
+ });
87959
88831
  \u0275\u0275elementEnd();
87960
88832
  }
87961
88833
  if (rf & 2) {
87962
- const row_r7 = \u0275\u0275nextContext().$implicit;
87963
- \u0275\u0275advance();
87964
- \u0275\u0275textInterpolate2(" ", \u0275\u0275pipeBind1(2, 2, "Previous"), ": ", row_r7.previous, " ");
88834
+ \u0275\u0275nextContext(2);
88835
+ const recordsDelivery_r20 = \u0275\u0275readContextLet(1);
88836
+ const ctx_r0 = \u0275\u0275nextContext();
88837
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", recordsDelivery_r20)("config", ctx_r0.addressFields);
87965
88838
  }
87966
88839
  }
87967
- function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_12_For_3_Template(rf, ctx) {
88840
+ function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_11_Conditional_8_Template(rf, ctx) {
87968
88841
  if (rf & 1) {
87969
- \u0275\u0275elementStart(0, "div", 9)(1, "div", 10)(2, "span", 11);
87970
- \u0275\u0275text(3);
87971
- \u0275\u0275pipe(4, "translate");
88842
+ const _r16 = \u0275\u0275getCurrentView();
88843
+ \u0275\u0275elementStart(0, "h4", 10);
88844
+ \u0275\u0275text(1);
88845
+ \u0275\u0275pipe(2, "translate");
87972
88846
  \u0275\u0275elementEnd();
88847
+ \u0275\u0275template(3, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_11_Conditional_8_Conditional_3_Template, 1, 3, "filing-form-group", 9);
88848
+ \u0275\u0275elementStart(4, "h4", 10);
87973
88849
  \u0275\u0275text(5);
87974
88850
  \u0275\u0275pipe(6, "translate");
87975
88851
  \u0275\u0275elementEnd();
87976
- \u0275\u0275template(7, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_12_For_3_Conditional_7_Template, 3, 4, "div", 12);
88852
+ \u0275\u0275elementStart(7, "filing-form-group", 7);
88853
+ \u0275\u0275listener("visiblyValidChange", function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_11_Conditional_8_Template_filing_form_group_visiblyValidChange_7_listener() {
88854
+ \u0275\u0275restoreView(_r16);
88855
+ const ctx_r0 = \u0275\u0275nextContext(2);
88856
+ return \u0275\u0275resetView(ctx_r0.emitValidity());
88857
+ });
87977
88858
  \u0275\u0275elementEnd();
88859
+ \u0275\u0275template(8, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_11_Conditional_8_Conditional_8_Template, 1, 3, "filing-form-group", 9);
87978
88860
  }
87979
88861
  if (rf & 2) {
87980
- const row_r7 = ctx.$implicit;
87981
- \u0275\u0275advance(3);
87982
- \u0275\u0275textInterpolate1("", \u0275\u0275pipeBind1(4, 3, row_r7.label), ":");
88862
+ \u0275\u0275nextContext();
88863
+ const recordsMailing_r18 = \u0275\u0275readContextLet(0);
88864
+ const recordsDelivery_r20 = \u0275\u0275readContextLet(1);
88865
+ const recordsDeliverySame_r21 = \u0275\u0275readContextLet(3);
88866
+ const ctx_r0 = \u0275\u0275nextContext();
88867
+ const recordsOffice_r22 = \u0275\u0275readContextLet(10);
88868
+ \u0275\u0275advance();
88869
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(2, 7, "New Mailing Address"));
87983
88870
  \u0275\u0275advance(2);
87984
- \u0275\u0275textInterpolate1(" ", row_r7.value || \u0275\u0275pipeBind1(6, 5, "Not specified"), " ");
88871
+ \u0275\u0275conditional(recordsMailing_r18 ? 3 : -1);
87985
88872
  \u0275\u0275advance(2);
87986
- \u0275\u0275conditional(row_r7.previous ? 7 : -1);
88873
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(6, 9, "New Delivery Address"));
88874
+ \u0275\u0275advance(2);
88875
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", recordsOffice_r22)("config", ctx_r0.deliverySameAsMailingFields);
88876
+ \u0275\u0275advance();
88877
+ \u0275\u0275conditional(!recordsDeliverySame_r21 && recordsDelivery_r20 ? 8 : -1);
87987
88878
  }
87988
88879
  }
87989
- function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_12_Template(rf, ctx) {
88880
+ function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_11_Template(rf, ctx) {
87990
88881
  if (rf & 1) {
87991
- \u0275\u0275elementStart(0, "expandable-card", 5)(1, "div", 8);
87992
- \u0275\u0275repeaterCreate(2, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_12_For_3_Template, 8, 7, "div", 9, _forTrack05);
88882
+ const _r15 = \u0275\u0275getCurrentView();
88883
+ \u0275\u0275declareLet(0)(1)(2)(3);
88884
+ \u0275\u0275elementStart(4, "expandable-card", 5)(5, "div", 8);
88885
+ \u0275\u0275element(6, "filing-form-group", 9);
88886
+ \u0275\u0275elementStart(7, "filing-form-group", 7);
88887
+ \u0275\u0275listener("visiblyValidChange", function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_11_Template_filing_form_group_visiblyValidChange_7_listener() {
88888
+ \u0275\u0275restoreView(_r15);
88889
+ const ctx_r0 = \u0275\u0275nextContext();
88890
+ return \u0275\u0275resetView(ctx_r0.emitValidity());
88891
+ });
88892
+ \u0275\u0275elementEnd();
88893
+ \u0275\u0275template(8, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_11_Conditional_8_Template, 9, 11);
87993
88894
  \u0275\u0275elementEnd()();
87994
88895
  }
87995
88896
  if (rf & 2) {
87996
88897
  const ctx_r0 = \u0275\u0275nextContext();
88898
+ const recordsOffice_r22 = \u0275\u0275readContextLet(10);
88899
+ \u0275\u0275storeLet(ctx_r0.getAddressGroup(recordsOffice_r22, ctx_r0.controls.NewMailingAddress));
88900
+ \u0275\u0275advance();
88901
+ \u0275\u0275storeLet(ctx_r0.getAddressGroup(recordsOffice_r22, ctx_r0.controls.NewDeliveryAddress));
88902
+ const recordsSameAsRegistered_r23 = ctx_r0.isChecked(recordsOffice_r22, ctx_r0.controls.SameAsRegisteredOffice);
88903
+ \u0275\u0275advance(2);
88904
+ \u0275\u0275storeLet(ctx_r0.isChecked(recordsOffice_r22, ctx_r0.controls.DeliverySameAsMailing));
88905
+ \u0275\u0275advance();
87997
88906
  \u0275\u0275property("isStatusIcon", !ctx_r0.readonly())("isValid", ctx_r0.isRecordsOfficeValid())("title", ctx_r0.groups.RecordsOfficeAddress);
87998
88907
  \u0275\u0275advance(2);
87999
- \u0275\u0275repeater(ctx_r0.recordsRows());
88908
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", recordsOffice_r22)("config", ctx_r0.currentAddressesFields);
88909
+ \u0275\u0275advance();
88910
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", recordsOffice_r22)("config", ctx_r0.sameAsRegisteredOfficeFields);
88911
+ \u0275\u0275advance();
88912
+ \u0275\u0275conditional(!recordsSameAsRegistered_r23 ? 8 : -1);
88000
88913
  }
88001
88914
  }
88002
- function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_14_Template(rf, ctx) {
88915
+ function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_13_Template(rf, ctx) {
88003
88916
  if (rf & 1) {
88004
- \u0275\u0275elementStart(0, "expandable-card", 6)(1, "div", 13)(2, "p");
88917
+ \u0275\u0275elementStart(0, "expandable-card", 6)(1, "div", 11)(2, "p");
88005
88918
  \u0275\u0275text(3);
88006
88919
  \u0275\u0275pipe(4, "translate");
88007
88920
  \u0275\u0275elementEnd();
88008
- \u0275\u0275elementStart(5, "mat-radio-group", 14)(6, "mat-radio-button", 15);
88921
+ \u0275\u0275elementStart(5, "mat-radio-group", 12)(6, "mat-radio-button", 13);
88009
88922
  \u0275\u0275text(7);
88010
88923
  \u0275\u0275pipe(8, "translate");
88011
88924
  \u0275\u0275elementEnd();
88012
- \u0275\u0275elementStart(9, "mat-radio-button", 15);
88925
+ \u0275\u0275elementStart(9, "mat-radio-button", 13);
88013
88926
  \u0275\u0275text(10);
88014
88927
  \u0275\u0275pipe(11, "translate");
88015
88928
  \u0275\u0275elementEnd()()()();
88016
88929
  }
88017
88930
  if (rf & 2) {
88018
88931
  const ctx_r0 = \u0275\u0275nextContext();
88019
- const annualReportReminder_r8 = \u0275\u0275readContextLet(13);
88932
+ const annualReportReminder_r24 = \u0275\u0275readContextLet(12);
88020
88933
  \u0275\u0275property("isStatusIcon", false)("title", ctx_r0.groups.AnnualReportReminder);
88021
88934
  \u0275\u0275advance();
88022
- \u0275\u0275property("formGroup", annualReportReminder_r8);
88935
+ \u0275\u0275property("formGroup", annualReportReminder_r24);
88023
88936
  \u0275\u0275advance(2);
88024
88937
  \u0275\u0275textInterpolate1(" ", \u0275\u0275pipeBind1(4, 9, "Does this company wish to be reminded to file its annual reports? If an email address is specified, the reminder will be sent to the company's email address. Otherwise, the reminder will be mailed to the registered or head office of the company."), " ");
88025
88938
  \u0275\u0275advance(2);
@@ -88034,7 +88947,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88034
88947
  \u0275\u0275textInterpolate1(" ", \u0275\u0275pipeBind1(11, 13, "No, I do not need to be reminded"), " ");
88035
88948
  }
88036
88949
  }
88037
- var _forTrack05, BritishColumbiaChangeOfOfficeAddressesFormComponent;
88950
+ var BritishColumbiaChangeOfOfficeAddressesFormComponent;
88038
88951
  var init_change_of_office_addresses_form_component = __esm({
88039
88952
  "src/app/components/british-columbia/change-of-office-addresses/change-of-office-addresses-form/change-of-office-addresses-form.component.ts"() {
88040
88953
  init_core();
@@ -88047,18 +88960,16 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88047
88960
  init_expandable_card_component();
88048
88961
  init_british_columbia_form_enums();
88049
88962
  init_british_columbia_change_of_office_addresses_form_constants();
88963
+ init_forms_utils();
88050
88964
  init_BritishColumbiaConstants();
88051
88965
  init_british_columbia_change_of_office_addresses_form_helper();
88052
88966
  init_core();
88053
88967
  init_forms();
88054
- _forTrack05 = ($index, $item) => $item.label;
88055
88968
  BritishColumbiaChangeOfOfficeAddressesFormComponent = class _BritishColumbiaChangeOfOfficeAddressesFormComponent {
88056
88969
  form = input.required();
88057
88970
  task = input();
88058
88971
  errors = input([]);
88059
88972
  isNote = input(false);
88060
- /** True while the registry's current data is loading: addresses are not reported missing yet. */
88061
- loading = input(false);
88062
88973
  isSubmitted = input(false);
88063
88974
  readonly = input(false);
88064
88975
  visiblyValidChange = output();
@@ -88076,41 +88987,17 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88076
88987
  deliveryNoteFields = BC_COA_CARD_FORM_DELIVERY_ADDRESS_NOTE_FIELDS;
88077
88988
  deliverySameAsMailingFields = BC_COA_DELTA_CARD_FORM_DELIVERY_SAME_AS_MAILING_FIELDS;
88078
88989
  sameAsRegisteredOfficeFields = BC_COA_DELTA_CARD_FORM_SAME_AS_REGISTERED_OFFICE_FIELDS;
88079
- translate = inject(TranslateService);
88080
88990
  sectionValidity = {};
88081
88991
  isVisiblyValid() {
88082
88992
  return Object.values(this.sectionValidity).every((v) => v) && this.isRegisteredOfficeValid() && this.isRecordsOfficeValid();
88083
88993
  }
88084
88994
  isRegisteredOfficeValid() {
88085
- return !this.isRegisteredMissing();
88995
+ const office = this.getFormGroup(this.groups.RegisteredOfficeAddress);
88996
+ return this.isAddressValid(office, this.controls.NewMailingAddress) && this.isAddressValid(office, this.controls.NewDeliveryAddress);
88086
88997
  }
88087
88998
  isRecordsOfficeValid() {
88088
- return !this.isRecordsMissing();
88089
- }
88090
- /** One message per missing office address, shown in the banner at the top of the form. */
88091
- missingMessages() {
88092
- const t = (key) => this.translate.instant(key);
88093
- const records = this.getFormGroup(this.groups.RecordsOfficeAddress);
88094
- if (this.loading() || !records || !this.getFormGroup(this.groups.RegisteredOfficeAddress)) {
88095
- return [];
88096
- }
88097
- const recordsSameAsRegistered = this.isChecked(records, this.controls.SameAsRegisteredOffice);
88098
- const [regMailing, regDelivery] = this.registeredRows();
88099
- const [recMailing, recDelivery] = this.recordsRows();
88100
- return [
88101
- !regMailing.value && t("The Registered Office mailing address is missing. Add it in UEM, then try again."),
88102
- !regDelivery.value && t("The Registered Office delivery address is missing. Add it in UEM, then try again."),
88103
- // "Same as Registered Office" is already reported by the registered office messages.
88104
- !recordsSameAsRegistered && !recMailing.value && t("The Records Office mailing address is missing. Add it in UEM, then try again."),
88105
- !recordsSameAsRegistered && !recDelivery.value && t("The Records Office delivery address is missing. Add it in UEM, then try again.")
88106
- ].filter((m) => !!m);
88107
- }
88108
- /** The incoming Shared Address supplied no new address for a line (and none is on the register). */
88109
- isRegisteredMissing() {
88110
- return !!this.getFormGroup(this.groups.RegisteredOfficeAddress) && this.registeredRows().some((row) => !row.value);
88111
- }
88112
- isRecordsMissing() {
88113
- return !!this.getFormGroup(this.groups.RecordsOfficeAddress) && this.recordsRows().some((row) => !row.value);
88999
+ const office = this.getFormGroup(this.groups.RecordsOfficeAddress);
89000
+ return this.isAddressValid(office, this.controls.NewMailingAddress) && this.isAddressValid(office, this.controls.NewDeliveryAddress);
88114
89001
  }
88115
89002
  isChecked(office, control) {
88116
89003
  return Boolean(office?.get(control)?.value);
@@ -88128,77 +89015,28 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88128
89015
  getAddressGroup(office, control) {
88129
89016
  return office?.get(control) ?? null;
88130
89017
  }
88131
- /** Registered office lines: the new (incoming) address and, if it changed, the previous one. */
88132
- registeredRows() {
88133
- const office = this.getFormGroup(this.groups.RegisteredOfficeAddress);
88134
- return this.buildRows(office, this.isChecked(office, this.controls.DeliverySameAsMailing));
88135
- }
88136
- /** Records office lines; "Same as Registered Office" reuses the registered office's new lines. */
88137
- recordsRows() {
88138
- const office = this.getFormGroup(this.groups.RecordsOfficeAddress);
88139
- if (this.isChecked(office, this.controls.SameAsRegisteredOffice)) {
88140
- const registered = this.registeredRows();
88141
- const current = this.currentOf(office);
88142
- return registered.map((row, i) => __spreadProps(__spreadValues({}, row), {
88143
- previous: this.changedPrevious(row.value, i === 0 ? current.mailing : current.delivery)
88144
- }));
88145
- }
88146
- return this.buildRows(office, this.isChecked(office, this.controls.DeliverySameAsMailing));
88147
- }
88148
- buildRows(office, deliverySame) {
88149
- const current = this.currentOf(office);
88150
- const mailing = this.formatNew(this.getAddressGroup(office, this.controls.NewMailingAddress));
88151
- const delivery = deliverySame ? mailing : this.formatNew(this.getAddressGroup(office, this.controls.NewDeliveryAddress));
88152
- return [
88153
- {
88154
- label: "Mailing Address",
88155
- value: mailing,
88156
- previous: this.changedPrevious(mailing, current.mailing)
88157
- },
88158
- {
88159
- label: "Delivery Address",
88160
- value: delivery,
88161
- previous: this.changedPrevious(delivery, current.delivery)
88162
- }
88163
- ];
88164
- }
88165
- currentOf(office) {
88166
- return {
88167
- mailing: office?.get(this.controls.CurrentMailingAddress)?.value ?? "",
88168
- delivery: office?.get(this.controls.CurrentDeliveryAddress)?.value ?? ""
88169
- };
88170
- }
88171
- formatNew(group2) {
88172
- const c = this.controls;
88173
- const v = group2?.getRawValue() ?? {};
88174
- if (![v[c.AddressLine1], v[c.City], v[c.PostalCode]].some((part) => part?.trim())) {
88175
- return "";
88176
- }
88177
- return [v[c.AddressLine1], v[c.AddressLine2], v[c.City], v[c.Province], v[c.PostalCode], v[c.Country]].filter((part) => Boolean(part?.trim())).join(", ");
88178
- }
88179
- /** The previous address, only when it exists and differs from the new one. */
88180
- changedPrevious(next, previous) {
88181
- const normalize = (s) => s.toLowerCase().replace(/[^a-z0-9]/g, "");
88182
- return previous && normalize(previous) !== normalize(next) ? previous : "";
89018
+ isAddressValid(office, control) {
89019
+ const group2 = this.getAddressGroup(office, control);
89020
+ return !group2 || group2.disabled || isFormGroupVisiblyValid(group2, this.addressFields);
88183
89021
  }
88184
89022
  static \u0275fac = function BritishColumbiaChangeOfOfficeAddressesFormComponent_Factory(__ngFactoryType__) {
88185
89023
  return new (__ngFactoryType__ || _BritishColumbiaChangeOfOfficeAddressesFormComponent)();
88186
89024
  };
88187
- static \u0275cmp = /* @__PURE__ */ \u0275\u0275defineComponent({ type: _BritishColumbiaChangeOfOfficeAddressesFormComponent, selectors: [["british-columbia-change-of-office-addresses-form"]], inputs: { form: [1, "form"], task: [1, "task"], errors: [1, "errors"], isNote: [1, "isNote"], loading: [1, "loading"], isSubmitted: [1, "isSubmitted"], readonly: [1, "readonly"] }, outputs: { visiblyValidChange: "visiblyValidChange" }, decls: 15, vars: 11, consts: [[1, "change-of-office-addresses-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, "change-of-office-addresses-form-content"], [3, "title"], [3, "isStatusIcon", "isValid", "title"], [3, "isStatusIcon", "title"], [3, "visiblyValidChange", "isSubmitted", "form", "config"], [1, "change-of-office-addresses-form-item"], [1, "change-of-office-addresses-form-address"], [1, "body-1-regular", "grey"], [1, "body-1-semibold"], [1, "change-of-office-addresses-form-previous"], [1, "annual-reminder", 3, "formGroup"], [3, "formControlName"], [3, "value"]], template: function BritishColumbiaChangeOfOfficeAddressesFormComponent_Template(rf, ctx) {
89025
+ static \u0275cmp = /* @__PURE__ */ \u0275\u0275defineComponent({ type: _BritishColumbiaChangeOfOfficeAddressesFormComponent, selectors: [["british-columbia-change-of-office-addresses-form"]], inputs: { form: [1, "form"], task: [1, "task"], errors: [1, "errors"], isNote: [1, "isNote"], isSubmitted: [1, "isSubmitted"], readonly: [1, "readonly"] }, outputs: { visiblyValidChange: "visiblyValidChange" }, decls: 14, vars: 12, consts: [[1, "change-of-office-addresses-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, "change-of-office-addresses-form-content"], [3, "title"], [3, "isStatusIcon", "isValid", "title"], [3, "isStatusIcon", "title"], [3, "visiblyValidChange", "isSubmitted", "form", "config"], [1, "change-of-office-addresses-form-item"], [3, "isSubmitted", "form", "config"], [1, "change-of-office-addresses-form-item-title"], [1, "annual-reminder", 3, "formGroup"], [3, "formControlName"], [3, "value"]], template: function BritishColumbiaChangeOfOfficeAddressesFormComponent_Template(rf, ctx) {
88188
89026
  if (rf & 1) {
88189
89027
  \u0275\u0275elementStart(0, "div", 0);
88190
- \u0275\u0275template(1, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_1_Template, 1, 1, "alert", 1)(2, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_2_Template, 1, 1, "alert", 2)(3, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_3_Template, 1, 1, "alert", 2);
88191
- \u0275\u0275elementStart(4, "div", 3);
88192
- \u0275\u0275declareLet(5);
88193
- \u0275\u0275template(6, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_6_Template, 2, 4, "expandable-card", 4);
88194
- \u0275\u0275declareLet(7);
88195
- \u0275\u0275template(8, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_8_Template, 2, 6, "expandable-card", 5);
88196
- \u0275\u0275declareLet(9);
88197
- \u0275\u0275template(10, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_10_Template, 4, 3, "expandable-card", 5);
88198
- \u0275\u0275declareLet(11);
88199
- \u0275\u0275template(12, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_12_Template, 4, 3, "expandable-card", 5);
88200
- \u0275\u0275declareLet(13);
88201
- \u0275\u0275template(14, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_14_Template, 12, 15, "expandable-card", 6);
89028
+ \u0275\u0275template(1, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_1_Template, 1, 1, "alert", 1)(2, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_2_Template, 1, 1, "alert", 2);
89029
+ \u0275\u0275elementStart(3, "div", 3);
89030
+ \u0275\u0275declareLet(4);
89031
+ \u0275\u0275template(5, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_5_Template, 2, 4, "expandable-card", 4);
89032
+ \u0275\u0275declareLet(6);
89033
+ \u0275\u0275template(7, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_7_Template, 2, 6, "expandable-card", 5);
89034
+ \u0275\u0275declareLet(8);
89035
+ \u0275\u0275template(9, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_9_Template, 15, 19, "expandable-card", 5);
89036
+ \u0275\u0275declareLet(10);
89037
+ \u0275\u0275template(11, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_11_Template, 9, 13, "expandable-card", 5);
89038
+ \u0275\u0275declareLet(12);
89039
+ \u0275\u0275template(13, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_13_Template, 12, 15, "expandable-card", 6);
88202
89040
  \u0275\u0275elementEnd()();
88203
89041
  }
88204
89042
  if (rf & 2) {
@@ -88206,26 +89044,26 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88206
89044
  \u0275\u0275conditional(ctx.isNote() ? 1 : -1);
88207
89045
  \u0275\u0275advance();
88208
89046
  \u0275\u0275conditional(ctx.errors().length ? 2 : -1);
88209
- \u0275\u0275advance();
88210
- \u0275\u0275conditional(ctx.missingMessages().length ? 3 : -1);
88211
89047
  \u0275\u0275advance(2);
88212
- const referenceNumbers_r9 = \u0275\u0275storeLet(ctx.getFormGroup(ctx.groups.ReferenceNumbers));
89048
+ const referenceNumbers_r25 = \u0275\u0275storeLet(ctx.getFormGroup(ctx.groups.ReferenceNumbers));
88213
89049
  \u0275\u0275advance();
88214
- \u0275\u0275conditional(referenceNumbers_r9 ? 6 : -1);
89050
+ \u0275\u0275conditional(referenceNumbers_r25 ? 5 : -1);
88215
89051
  \u0275\u0275advance();
88216
- const corporationDetails_r10 = \u0275\u0275storeLet(ctx.getFormGroup(ctx.groups.CorporationDetails));
89052
+ const corporationDetails_r26 = \u0275\u0275storeLet(ctx.getFormGroup(ctx.groups.CorporationDetails));
88217
89053
  \u0275\u0275advance();
88218
- \u0275\u0275conditional(corporationDetails_r10 ? 8 : -1);
88219
- const registeredOffice_r11 = ctx.getFormGroup(ctx.groups.RegisteredOfficeAddress);
88220
- \u0275\u0275advance(2);
88221
- \u0275\u0275conditional(registeredOffice_r11 ? 10 : -1);
88222
- const recordsOffice_r12 = ctx.getFormGroup(ctx.groups.RecordsOfficeAddress);
88223
- \u0275\u0275advance(2);
88224
- \u0275\u0275conditional(recordsOffice_r12 ? 12 : -1);
89054
+ \u0275\u0275conditional(corporationDetails_r26 ? 7 : -1);
89055
+ \u0275\u0275advance();
89056
+ const registeredOffice_r27 = \u0275\u0275storeLet(ctx.getFormGroup(ctx.groups.RegisteredOfficeAddress));
89057
+ \u0275\u0275advance();
89058
+ \u0275\u0275conditional(registeredOffice_r27 ? 9 : -1);
89059
+ \u0275\u0275advance();
89060
+ const recordsOffice_r28 = \u0275\u0275storeLet(ctx.getFormGroup(ctx.groups.RecordsOfficeAddress));
88225
89061
  \u0275\u0275advance();
88226
- const annualReportReminder_r13 = \u0275\u0275storeLet(ctx.getFormGroup(ctx.groups.AnnualReportReminder));
89062
+ \u0275\u0275conditional(recordsOffice_r28 ? 11 : -1);
88227
89063
  \u0275\u0275advance();
88228
- \u0275\u0275conditional(annualReportReminder_r13 ? 14 : -1);
89064
+ const annualReportReminder_r29 = \u0275\u0275storeLet(ctx.getFormGroup(ctx.groups.AnnualReportReminder));
89065
+ \u0275\u0275advance();
89066
+ \u0275\u0275conditional(annualReportReminder_r29 ? 13 : -1);
88229
89067
  }
88230
89068
  }, dependencies: [
88231
89069
  FilingFormGroupComponent,
@@ -88239,7 +89077,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88239
89077
  FormGroupDirective,
88240
89078
  FormControlName,
88241
89079
  TranslatePipe
88242
- ], styles: ['\n\n[_nghost-%COMP%] {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n}\n[_nghost-%COMP%] .change-of-office-addresses-form[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n height: 100%;\n}\n[_nghost-%COMP%] .change-of-office-addresses-form-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n flex: 1;\n overflow-y: auto;\n min-height: 0;\n}\n[_nghost-%COMP%] .change-of-office-addresses-form[_ngcontent-%COMP%] .annual-reminder[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 24px;\n}\n[_nghost-%COMP%] .change-of-office-addresses-form[_ngcontent-%COMP%] .annual-reminder[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n color: #6b7280;\n font-size: 14px;\n line-height: 1.5;\n margin: 0;\n}\n[_nghost-%COMP%] .change-of-office-addresses-form[_ngcontent-%COMP%] .annual-reminder[_ngcontent-%COMP%] mat-radio-group[_ngcontent-%COMP%] {\n align-items: flex-start;\n display: flex;\n flex-direction: column;\n gap: 14px;\n}\n[_nghost-%COMP%] .change-of-office-addresses-form[_ngcontent-%COMP%] .annual-reminder[_ngcontent-%COMP%] .mat-mdc-radio-button .mdc-label {\n color: #4b5563 !important;\n font-size: 14px !important;\n line-height: 1.45;\n}\n[_nghost-%COMP%] .change-of-office-addresses-form[_ngcontent-%COMP%] .annual-reminder[_ngcontent-%COMP%] .mat-mdc-radio-button {\n --mdc-radio-state-layer-size: 40px;\n}\n[_nghost-%COMP%] .change-of-office-addresses-form-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n[_nghost-%COMP%] .change-of-office-addresses-form-item-title[_ngcontent-%COMP%] {\n color: var(--filing-modal-color-dark-blue);\n}\n[_nghost-%COMP%] .change-of-office-addresses-form-address[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n[_nghost-%COMP%] .change-of-office-addresses-form-previous[_ngcontent-%COMP%] {\n font-size: 13px !important;\n line-height: 18px;\n font-family: "Open Sans";\n font-style: italic;\n color: var(--filing-modal-color-grey-mid);\n}\n/*# sourceMappingURL=change-of-office-addresses-form.component.css.map */'], changeDetection: 0 });
89080
+ ], styles: ["\n\n[_nghost-%COMP%] {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n}\n[_nghost-%COMP%] .change-of-office-addresses-form[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n height: 100%;\n}\n[_nghost-%COMP%] .change-of-office-addresses-form-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n flex: 1;\n overflow-y: auto;\n min-height: 0;\n}\n[_nghost-%COMP%] .change-of-office-addresses-form[_ngcontent-%COMP%] .annual-reminder[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 24px;\n}\n[_nghost-%COMP%] .change-of-office-addresses-form[_ngcontent-%COMP%] .annual-reminder[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n color: #6b7280;\n font-size: 14px;\n line-height: 1.5;\n margin: 0;\n}\n[_nghost-%COMP%] .change-of-office-addresses-form[_ngcontent-%COMP%] .annual-reminder[_ngcontent-%COMP%] mat-radio-group[_ngcontent-%COMP%] {\n align-items: flex-start;\n display: flex;\n flex-direction: column;\n gap: 14px;\n}\n[_nghost-%COMP%] .change-of-office-addresses-form[_ngcontent-%COMP%] .annual-reminder[_ngcontent-%COMP%] .mat-mdc-radio-button .mdc-label {\n color: #4b5563 !important;\n font-size: 14px !important;\n line-height: 1.45;\n}\n[_nghost-%COMP%] .change-of-office-addresses-form[_ngcontent-%COMP%] .annual-reminder[_ngcontent-%COMP%] .mat-mdc-radio-button {\n --mdc-radio-state-layer-size: 40px;\n}\n[_nghost-%COMP%] .change-of-office-addresses-form-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n[_nghost-%COMP%] .change-of-office-addresses-form-item-title[_ngcontent-%COMP%] {\n color: var(--filing-modal-color-dark-blue);\n}\n/*# sourceMappingURL=change-of-office-addresses-form.component.css.map */"], changeDetection: 0 });
88243
89081
  };
88244
89082
  (() => {
88245
89083
  (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(BritishColumbiaChangeOfOfficeAddressesFormComponent, [{
@@ -88267,13 +89105,6 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88267
89105
  [content]="errors()"\r
88268
89106
  />\r
88269
89107
  }\r
88270
- \r
88271
- @if (missingMessages().length) {\r
88272
- <alert\r
88273
- title="The following issues need to be resolved before proceeding:"\r
88274
- [content]="missingMessages()"\r
88275
- />\r
88276
- }\r
88277
89108
  \r
88278
89109
  <div class="change-of-office-addresses-form-content">\r
88279
89110
  @let referenceNumbers = getFormGroup(groups.ReferenceNumbers);\r
@@ -88310,24 +89141,54 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88310
89141
  @let registeredOffice = getFormGroup(groups.RegisteredOfficeAddress);\r
88311
89142
  \r
88312
89143
  @if (registeredOffice) {\r
89144
+ @let registeredMailing = getAddressGroup(registeredOffice, controls.NewMailingAddress);\r
89145
+ @let registeredDelivery = getAddressGroup(registeredOffice, controls.NewDeliveryAddress);\r
89146
+ @let registeredDeliverySame = isChecked(registeredOffice, controls.DeliverySameAsMailing);\r
89147
+ \r
88313
89148
  <expandable-card\r
88314
89149
  [isStatusIcon]="!readonly()"\r
88315
89150
  [isValid]="isRegisteredOfficeValid()"\r
88316
89151
  [title]="groups.RegisteredOfficeAddress"\r
88317
89152
  >\r
88318
89153
  <div class="change-of-office-addresses-form-item">\r
88319
- @for (row of registeredRows(); track row.label) {\r
88320
- <div class="change-of-office-addresses-form-address">\r
88321
- <div class="body-1-regular grey">\r
88322
- <span class="body-1-semibold">{{ row.label | translate }}:</span>\r
88323
- {{ row.value || ('Not specified' | translate) }}\r
88324
- </div>\r
88325
- @if (row.previous) {\r
88326
- <div class="change-of-office-addresses-form-previous">\r
88327
- {{ 'Previous' | translate }}: {{ row.previous }}\r
88328
- </div>\r
88329
- }\r
88330
- </div>\r
89154
+ <filing-form-group\r
89155
+ [isSubmitted]="isSubmitted()"\r
89156
+ [form]="registeredOffice"\r
89157
+ [config]="currentAddressesFields"\r
89158
+ />\r
89159
+ \r
89160
+ <h4 class="change-of-office-addresses-form-item-title">{{ 'New Mailing Address' | translate }}</h4>\r
89161
+ \r
89162
+ @if (registeredMailing) {\r
89163
+ <filing-form-group\r
89164
+ [isSubmitted]="isSubmitted()"\r
89165
+ [form]="registeredMailing"\r
89166
+ [config]="addressFields"\r
89167
+ (visiblyValidChange)="emitValidity()"\r
89168
+ />\r
89169
+ }\r
89170
+ \r
89171
+ <h4 class="change-of-office-addresses-form-item-title">{{ 'New Delivery Address' | translate }}</h4>\r
89172
+ \r
89173
+ <filing-form-group\r
89174
+ [isSubmitted]="isSubmitted()"\r
89175
+ [form]="registeredOffice"\r
89176
+ [config]="deliverySameAsMailingFields"\r
89177
+ (visiblyValidChange)="emitValidity()"\r
89178
+ />\r
89179
+ \r
89180
+ @if (!registeredDeliverySame && registeredDelivery) {\r
89181
+ <filing-form-group\r
89182
+ [isSubmitted]="isSubmitted()"\r
89183
+ [form]="registeredOffice"\r
89184
+ [config]="deliveryNoteFields"\r
89185
+ />\r
89186
+ <filing-form-group\r
89187
+ [isSubmitted]="isSubmitted()"\r
89188
+ [form]="registeredDelivery"\r
89189
+ [config]="addressFields"\r
89190
+ (visiblyValidChange)="emitValidity()"\r
89191
+ />\r
88331
89192
  }\r
88332
89193
  </div>\r
88333
89194
  </expandable-card>\r
@@ -88337,24 +89198,59 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88337
89198
  @let recordsOffice = getFormGroup(groups.RecordsOfficeAddress);\r
88338
89199
  \r
88339
89200
  @if (recordsOffice) {\r
89201
+ @let recordsMailing = getAddressGroup(recordsOffice, controls.NewMailingAddress);\r
89202
+ @let recordsDelivery = getAddressGroup(recordsOffice, controls.NewDeliveryAddress);\r
89203
+ @let recordsSameAsRegistered = isChecked(recordsOffice, controls.SameAsRegisteredOffice);\r
89204
+ @let recordsDeliverySame = isChecked(recordsOffice, controls.DeliverySameAsMailing);\r
89205
+ \r
88340
89206
  <expandable-card\r
88341
89207
  [isStatusIcon]="!readonly()"\r
88342
89208
  [isValid]="isRecordsOfficeValid()"\r
88343
89209
  [title]="groups.RecordsOfficeAddress"\r
88344
89210
  >\r
88345
89211
  <div class="change-of-office-addresses-form-item">\r
88346
- @for (row of recordsRows(); track row.label) {\r
88347
- <div class="change-of-office-addresses-form-address">\r
88348
- <div class="body-1-regular grey">\r
88349
- <span class="body-1-semibold">{{ row.label | translate }}:</span>\r
88350
- {{ row.value || ('Not specified' | translate) }}\r
88351
- </div>\r
88352
- @if (row.previous) {\r
88353
- <div class="change-of-office-addresses-form-previous">\r
88354
- {{ 'Previous' | translate }}: {{ row.previous }}\r
88355
- </div>\r
88356
- }\r
88357
- </div>\r
89212
+ <filing-form-group\r
89213
+ [isSubmitted]="isSubmitted()"\r
89214
+ [form]="recordsOffice"\r
89215
+ [config]="currentAddressesFields"\r
89216
+ />\r
89217
+ \r
89218
+ <filing-form-group\r
89219
+ [isSubmitted]="isSubmitted()"\r
89220
+ [form]="recordsOffice"\r
89221
+ [config]="sameAsRegisteredOfficeFields"\r
89222
+ (visiblyValidChange)="emitValidity()"\r
89223
+ />\r
89224
+ \r
89225
+ @if (!recordsSameAsRegistered) {\r
89226
+ <h4 class="change-of-office-addresses-form-item-title">{{ 'New Mailing Address' | translate }}</h4>\r
89227
+ \r
89228
+ @if (recordsMailing) {\r
89229
+ <filing-form-group\r
89230
+ [isSubmitted]="isSubmitted()"\r
89231
+ [form]="recordsMailing"\r
89232
+ [config]="addressFields"\r
89233
+ (visiblyValidChange)="emitValidity()"\r
89234
+ />\r
89235
+ }\r
89236
+ \r
89237
+ <h4 class="change-of-office-addresses-form-item-title">{{ 'New Delivery Address' | translate }}</h4>\r
89238
+ \r
89239
+ <filing-form-group\r
89240
+ [isSubmitted]="isSubmitted()"\r
89241
+ [form]="recordsOffice"\r
89242
+ [config]="deliverySameAsMailingFields"\r
89243
+ (visiblyValidChange)="emitValidity()"\r
89244
+ />\r
89245
+ \r
89246
+ @if (!recordsDeliverySame && recordsDelivery) {\r
89247
+ <filing-form-group\r
89248
+ [isSubmitted]="isSubmitted()"\r
89249
+ [form]="recordsDelivery"\r
89250
+ [config]="addressFields"\r
89251
+ (visiblyValidChange)="emitValidity()"\r
89252
+ />\r
89253
+ }\r
88358
89254
  }\r
88359
89255
  </div>\r
88360
89256
  </expandable-card>\r
@@ -88384,11 +89280,11 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88384
89280
  }\r
88385
89281
  </div>\r
88386
89282
  </div>\r
88387
- `, styles: ['/* src/app/components/british-columbia/change-of-office-addresses/change-of-office-addresses-form/change-of-office-addresses-form.component.scss */\n:host {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n}\n:host .change-of-office-addresses-form {\n display: flex;\n flex-direction: column;\n gap: 16px;\n height: 100%;\n}\n:host .change-of-office-addresses-form-content {\n display: flex;\n flex-direction: column;\n gap: 16px;\n flex: 1;\n overflow-y: auto;\n min-height: 0;\n}\n:host .change-of-office-addresses-form .annual-reminder {\n display: flex;\n flex-direction: column;\n gap: 24px;\n}\n:host .change-of-office-addresses-form .annual-reminder p {\n color: #6b7280;\n font-size: 14px;\n line-height: 1.5;\n margin: 0;\n}\n:host .change-of-office-addresses-form .annual-reminder mat-radio-group {\n align-items: flex-start;\n display: flex;\n flex-direction: column;\n gap: 14px;\n}\n:host .change-of-office-addresses-form .annual-reminder ::ng-deep .mat-mdc-radio-button .mdc-label {\n color: #4b5563 !important;\n font-size: 14px !important;\n line-height: 1.45;\n}\n:host .change-of-office-addresses-form .annual-reminder ::ng-deep .mat-mdc-radio-button {\n --mdc-radio-state-layer-size: 40px;\n}\n:host .change-of-office-addresses-form-item {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n:host .change-of-office-addresses-form-item-title {\n color: var(--filing-modal-color-dark-blue);\n}\n:host .change-of-office-addresses-form-address {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n:host .change-of-office-addresses-form-previous {\n font-size: 13px !important;\n line-height: 18px;\n font-family: "Open Sans";\n font-style: italic;\n color: var(--filing-modal-color-grey-mid);\n}\n/*# sourceMappingURL=change-of-office-addresses-form.component.css.map */\n'] }]
89283
+ `, styles: ["/* src/app/components/british-columbia/change-of-office-addresses/change-of-office-addresses-form/change-of-office-addresses-form.component.scss */\n:host {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n}\n:host .change-of-office-addresses-form {\n display: flex;\n flex-direction: column;\n gap: 16px;\n height: 100%;\n}\n:host .change-of-office-addresses-form-content {\n display: flex;\n flex-direction: column;\n gap: 16px;\n flex: 1;\n overflow-y: auto;\n min-height: 0;\n}\n:host .change-of-office-addresses-form .annual-reminder {\n display: flex;\n flex-direction: column;\n gap: 24px;\n}\n:host .change-of-office-addresses-form .annual-reminder p {\n color: #6b7280;\n font-size: 14px;\n line-height: 1.5;\n margin: 0;\n}\n:host .change-of-office-addresses-form .annual-reminder mat-radio-group {\n align-items: flex-start;\n display: flex;\n flex-direction: column;\n gap: 14px;\n}\n:host .change-of-office-addresses-form .annual-reminder ::ng-deep .mat-mdc-radio-button .mdc-label {\n color: #4b5563 !important;\n font-size: 14px !important;\n line-height: 1.45;\n}\n:host .change-of-office-addresses-form .annual-reminder ::ng-deep .mat-mdc-radio-button {\n --mdc-radio-state-layer-size: 40px;\n}\n:host .change-of-office-addresses-form-item {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n:host .change-of-office-addresses-form-item-title {\n color: var(--filing-modal-color-dark-blue);\n}\n/*# sourceMappingURL=change-of-office-addresses-form.component.css.map */\n"] }]
88388
89284
  }], null, null);
88389
89285
  })();
88390
89286
  (() => {
88391
- (typeof ngDevMode === "undefined" || ngDevMode) && \u0275setClassDebugInfo(BritishColumbiaChangeOfOfficeAddressesFormComponent, { className: "BritishColumbiaChangeOfOfficeAddressesFormComponent", filePath: "src/app/components/british-columbia/change-of-office-addresses/change-of-office-addresses-form/change-of-office-addresses-form.component.ts", lineNumber: 61 });
89287
+ (typeof ngDevMode === "undefined" || ngDevMode) && \u0275setClassDebugInfo(BritishColumbiaChangeOfOfficeAddressesFormComponent, { className: "BritishColumbiaChangeOfOfficeAddressesFormComponent", filePath: "src/app/components/british-columbia/change-of-office-addresses/change-of-office-addresses-form/change-of-office-addresses-form.component.ts", lineNumber: 55 });
88392
89288
  })();
88393
89289
  }
88394
89290
  });
@@ -88442,7 +89338,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88442
89338
  static \u0275fac = function BritishColumbiaChangeOfOfficeAddressesDeltaFormComponent_Factory(__ngFactoryType__) {
88443
89339
  return new (__ngFactoryType__ || _BritishColumbiaChangeOfOfficeAddressesDeltaFormComponent)();
88444
89340
  };
88445
- static \u0275cmp = /* @__PURE__ */ \u0275\u0275defineComponent({ type: _BritishColumbiaChangeOfOfficeAddressesDeltaFormComponent, selectors: [["british-columbia-change-of-office-addresses-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: 19, consts: [[1, "change-of-office-addresses-delta-form"], [1, "change-of-office-addresses-delta-form-content", 3, "visiblyValidChange", "form", "task", "errors", "isNote", "loading", "isSubmitted", "readonly"], [1, "change-of-office-addresses-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 BritishColumbiaChangeOfOfficeAddressesDeltaFormComponent_Template(rf, ctx) {
89341
+ static \u0275cmp = /* @__PURE__ */ \u0275\u0275defineComponent({ type: _BritishColumbiaChangeOfOfficeAddressesDeltaFormComponent, selectors: [["british-columbia-change-of-office-addresses-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, "change-of-office-addresses-delta-form"], [1, "change-of-office-addresses-delta-form-content", 3, "visiblyValidChange", "form", "task", "errors", "isNote", "isSubmitted", "readonly"], [1, "change-of-office-addresses-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 BritishColumbiaChangeOfOfficeAddressesDeltaFormComponent_Template(rf, ctx) {
88446
89342
  if (rf & 1) {
88447
89343
  \u0275\u0275elementStart(0, "div", 0)(1, "british-columbia-change-of-office-addresses-form", 1);
88448
89344
  \u0275\u0275listener("visiblyValidChange", function BritishColumbiaChangeOfOfficeAddressesDeltaFormComponent_Template_british_columbia_change_of_office_addresses_form_visiblyValidChange_1_listener($event) {
@@ -88476,19 +89372,19 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88476
89372
  }
88477
89373
  if (rf & 2) {
88478
89374
  \u0275\u0275advance();
88479
- \u0275\u0275property("form", ctx.form())("task", ctx.task())("errors", ctx.combinedErrors())("isNote", ctx.isNote())("loading", ctx.actionsDisabled())("isSubmitted", ctx.submitted())("readonly", false);
89375
+ \u0275\u0275property("form", ctx.form())("task", ctx.task())("errors", ctx.combinedErrors())("isNote", ctx.isNote())("isSubmitted", ctx.submitted())("readonly", false);
88480
89376
  \u0275\u0275advance(2);
88481
89377
  \u0275\u0275property("disabled", ctx.actionsDisabled());
88482
89378
  \u0275\u0275advance(2);
88483
- \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(6, 13, "Close"));
89379
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(6, 12, "Close"));
88484
89380
  \u0275\u0275advance(2);
88485
89381
  \u0275\u0275property("disabled", ctx.actionsDisabled());
88486
89382
  \u0275\u0275advance(2);
88487
- \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(10, 15, "Save Changes"));
89383
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(10, 14, "Save Changes"));
88488
89384
  \u0275\u0275advance(2);
88489
89385
  \u0275\u0275property("disabled", ctx.actionsDisabled());
88490
89386
  \u0275\u0275advance(2);
88491
- \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(14, 17, "Validate & Generate Draft"));
89387
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(14, 16, "Validate & Generate Draft"));
88492
89388
  }
88493
89389
  }, dependencies: [MatButton, TranslatePipe, BritishColumbiaChangeOfOfficeAddressesFormComponent], styles: ["\n\n[_nghost-%COMP%] .change-of-office-addresses-delta-form[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n height: 100%;\n}\n[_nghost-%COMP%] .change-of-office-addresses-delta-form-content[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n}\n[_nghost-%COMP%] .change-of-office-addresses-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%] .change-of-office-addresses-delta-form-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n margin: 0;\n}\n[_nghost-%COMP%] .change-of-office-addresses-delta-form-actions[_ngcontent-%COMP%] .submit[_ngcontent-%COMP%] {\n padding-left: 30px;\n padding-right: 30px;\n}\n/*# sourceMappingURL=change-of-office-addresses-delta-form.component.css.map */"], changeDetection: 0 });
88494
89390
  };
@@ -88502,7 +89398,6 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88502
89398
  [task]="task()"\r
88503
89399
  [errors]="combinedErrors()"\r
88504
89400
  [isNote]="isNote()"\r
88505
- [loading]="actionsDisabled()"\r
88506
89401
  [isSubmitted]="submitted()"\r
88507
89402
  [readonly]="false"\r
88508
89403
  (visiblyValidChange)="onVisiblyValidChange($event)"\r
@@ -88687,52 +89582,52 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88687
89582
  function BritishColumbiaComponent_Conditional_2_Conditional_0_Template(rf, ctx) {
88688
89583
  if (rf & 1) {
88689
89584
  const _r5 = \u0275\u0275getCurrentView();
88690
- \u0275\u0275elementStart(0, "british-columbia-incorporation-delta-form", 6);
88691
- \u0275\u0275listener("validate", function BritishColumbiaComponent_Conditional_2_Conditional_0_Template_british_columbia_incorporation_delta_form_validate_0_listener() {
89585
+ \u0275\u0275elementStart(0, "british-columbia-annual-report-delta-form", 2);
89586
+ \u0275\u0275listener("validate", function BritishColumbiaComponent_Conditional_2_Conditional_0_Template_british_columbia_annual_report_delta_form_validate_0_listener() {
88692
89587
  \u0275\u0275restoreView(_r5);
88693
89588
  const ctx_r1 = \u0275\u0275nextContext(2);
88694
- return \u0275\u0275resetView(ctx_r1.onFormationValidate());
88695
- })("close", function BritishColumbiaComponent_Conditional_2_Conditional_0_Template_british_columbia_incorporation_delta_form_close_0_listener() {
89589
+ return \u0275\u0275resetView(ctx_r1.onAnnualReportValidate());
89590
+ })("close", function BritishColumbiaComponent_Conditional_2_Conditional_0_Template_british_columbia_annual_report_delta_form_close_0_listener() {
88696
89591
  \u0275\u0275restoreView(_r5);
88697
89592
  const ctx_r1 = \u0275\u0275nextContext(2);
88698
89593
  return \u0275\u0275resetView(ctx_r1.onClose());
88699
- })("save", function BritishColumbiaComponent_Conditional_2_Conditional_0_Template_british_columbia_incorporation_delta_form_save_0_listener() {
89594
+ })("save", function BritishColumbiaComponent_Conditional_2_Conditional_0_Template_british_columbia_annual_report_delta_form_save_0_listener() {
88700
89595
  \u0275\u0275restoreView(_r5);
88701
89596
  const ctx_r1 = \u0275\u0275nextContext(2);
88702
- return \u0275\u0275resetView(ctx_r1.onFormationSave());
89597
+ return \u0275\u0275resetView(ctx_r1.onAnnualReportSave());
88703
89598
  });
88704
89599
  \u0275\u0275elementEnd();
88705
89600
  }
88706
89601
  if (rf & 2) {
88707
89602
  const ctx_r1 = \u0275\u0275nextContext(2);
88708
89603
  const taskData_r3 = \u0275\u0275readContextLet(0);
88709
- \u0275\u0275property("task", taskData_r3)("errors", ctx_r1.errors())("isNote", ctx_r1.isNote())("actionsDisabled", ctx_r1.actionsDisabled())("form", ctx_r1.deltaForm());
89604
+ \u0275\u0275property("task", taskData_r3)("form", ctx_r1.deltaForm())("actionsDisabled", ctx_r1.actionsDisabled())("errors", ctx_r1.errors())("isNote", ctx_r1.isNote());
88710
89605
  }
88711
89606
  }
88712
89607
  function BritishColumbiaComponent_Conditional_2_Conditional_1_Template(rf, ctx) {
88713
89608
  if (rf & 1) {
88714
89609
  const _r6 = \u0275\u0275getCurrentView();
88715
- \u0275\u0275elementStart(0, "british-columbia-incorporation-preview-form", 7);
88716
- \u0275\u0275listener("next", function BritishColumbiaComponent_Conditional_2_Conditional_1_Template_british_columbia_incorporation_preview_form_next_0_listener() {
89610
+ \u0275\u0275elementStart(0, "british-columbia-annual-report-preview-form", 3);
89611
+ \u0275\u0275listener("close", function BritishColumbiaComponent_Conditional_2_Conditional_1_Template_british_columbia_annual_report_preview_form_close_0_listener() {
88717
89612
  \u0275\u0275restoreView(_r6);
88718
89613
  const ctx_r1 = \u0275\u0275nextContext(2);
88719
- return \u0275\u0275resetView(ctx_r1.onFormationSubmit());
88720
- })("close", function BritishColumbiaComponent_Conditional_2_Conditional_1_Template_british_columbia_incorporation_preview_form_close_0_listener() {
89614
+ return \u0275\u0275resetView(ctx_r1.close.emit());
89615
+ })("file", function BritishColumbiaComponent_Conditional_2_Conditional_1_Template_british_columbia_annual_report_preview_form_file_0_listener() {
88721
89616
  \u0275\u0275restoreView(_r6);
88722
89617
  const ctx_r1 = \u0275\u0275nextContext(2);
88723
- return \u0275\u0275resetView(ctx_r1.close.emit());
89618
+ return \u0275\u0275resetView(ctx_r1.onAnnualReportSubmit());
88724
89619
  });
88725
89620
  \u0275\u0275elementEnd();
88726
89621
  }
88727
89622
  if (rf & 2) {
88728
89623
  const ctx_r1 = \u0275\u0275nextContext(2);
88729
89624
  const taskData_r3 = \u0275\u0275readContextLet(0);
88730
- \u0275\u0275property("task", taskData_r3)("form", ctx_r1.previewForm())("errors", ctx_r1.errors())("actionsDisabled", ctx_r1.actionsDisabled());
89625
+ \u0275\u0275property("task", taskData_r3)("form", ctx_r1.previewForm())("actionsDisabled", ctx_r1.actionsDisabled())("errors", ctx_r1.errors());
88731
89626
  }
88732
89627
  }
88733
89628
  function BritishColumbiaComponent_Conditional_2_Template(rf, ctx) {
88734
89629
  if (rf & 1) {
88735
- \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);
89630
+ \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);
88736
89631
  }
88737
89632
  if (rf & 2) {
88738
89633
  const ctx_r1 = \u0275\u0275nextContext();
@@ -88744,39 +89639,96 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88744
89639
  function BritishColumbiaComponent_Conditional_3_Conditional_0_Template(rf, ctx) {
88745
89640
  if (rf & 1) {
88746
89641
  const _r7 = \u0275\u0275getCurrentView();
88747
- \u0275\u0275elementStart(0, "british-columbia-change-of-office-addresses-delta-form", 2);
88748
- \u0275\u0275listener("validate", function BritishColumbiaComponent_Conditional_3_Conditional_0_Template_british_columbia_change_of_office_addresses_delta_form_validate_0_listener() {
89642
+ \u0275\u0275elementStart(0, "british-columbia-incorporation-delta-form", 6);
89643
+ \u0275\u0275listener("validate", function BritishColumbiaComponent_Conditional_3_Conditional_0_Template_british_columbia_incorporation_delta_form_validate_0_listener() {
88749
89644
  \u0275\u0275restoreView(_r7);
88750
89645
  const ctx_r1 = \u0275\u0275nextContext(2);
88751
- return \u0275\u0275resetView(ctx_r1.onChangeOfOfficeAddressesValidate());
88752
- })("close", function BritishColumbiaComponent_Conditional_3_Conditional_0_Template_british_columbia_change_of_office_addresses_delta_form_close_0_listener() {
89646
+ return \u0275\u0275resetView(ctx_r1.onFormationValidate());
89647
+ })("close", function BritishColumbiaComponent_Conditional_3_Conditional_0_Template_british_columbia_incorporation_delta_form_close_0_listener() {
88753
89648
  \u0275\u0275restoreView(_r7);
88754
89649
  const ctx_r1 = \u0275\u0275nextContext(2);
88755
89650
  return \u0275\u0275resetView(ctx_r1.onClose());
88756
- })("save", function BritishColumbiaComponent_Conditional_3_Conditional_0_Template_british_columbia_change_of_office_addresses_delta_form_save_0_listener() {
89651
+ })("save", function BritishColumbiaComponent_Conditional_3_Conditional_0_Template_british_columbia_incorporation_delta_form_save_0_listener() {
88757
89652
  \u0275\u0275restoreView(_r7);
88758
89653
  const ctx_r1 = \u0275\u0275nextContext(2);
88759
- return \u0275\u0275resetView(ctx_r1.onChangeOfOfficeAddressesSave());
89654
+ return \u0275\u0275resetView(ctx_r1.onFormationSave());
88760
89655
  });
88761
89656
  \u0275\u0275elementEnd();
88762
89657
  }
88763
89658
  if (rf & 2) {
88764
89659
  const ctx_r1 = \u0275\u0275nextContext(2);
88765
89660
  const taskData_r3 = \u0275\u0275readContextLet(0);
88766
- \u0275\u0275property("task", taskData_r3)("form", ctx_r1.deltaForm())("actionsDisabled", ctx_r1.actionsDisabled())("errors", ctx_r1.errors())("isNote", ctx_r1.isNote());
89661
+ \u0275\u0275property("task", taskData_r3)("errors", ctx_r1.errors())("isNote", ctx_r1.isNote())("actionsDisabled", ctx_r1.actionsDisabled())("form", ctx_r1.deltaForm());
88767
89662
  }
88768
89663
  }
88769
89664
  function BritishColumbiaComponent_Conditional_3_Conditional_1_Template(rf, ctx) {
88770
89665
  if (rf & 1) {
88771
89666
  const _r8 = \u0275\u0275getCurrentView();
88772
- \u0275\u0275elementStart(0, "british-columbia-change-of-office-addresses-preview-form", 3);
88773
- \u0275\u0275listener("close", function BritishColumbiaComponent_Conditional_3_Conditional_1_Template_british_columbia_change_of_office_addresses_preview_form_close_0_listener() {
89667
+ \u0275\u0275elementStart(0, "british-columbia-incorporation-preview-form", 7);
89668
+ \u0275\u0275listener("next", function BritishColumbiaComponent_Conditional_3_Conditional_1_Template_british_columbia_incorporation_preview_form_next_0_listener() {
88774
89669
  \u0275\u0275restoreView(_r8);
88775
89670
  const ctx_r1 = \u0275\u0275nextContext(2);
88776
- return \u0275\u0275resetView(ctx_r1.close.emit());
88777
- })("file", function BritishColumbiaComponent_Conditional_3_Conditional_1_Template_british_columbia_change_of_office_addresses_preview_form_file_0_listener() {
89671
+ return \u0275\u0275resetView(ctx_r1.onFormationSubmit());
89672
+ })("close", function BritishColumbiaComponent_Conditional_3_Conditional_1_Template_british_columbia_incorporation_preview_form_close_0_listener() {
88778
89673
  \u0275\u0275restoreView(_r8);
88779
89674
  const ctx_r1 = \u0275\u0275nextContext(2);
89675
+ return \u0275\u0275resetView(ctx_r1.close.emit());
89676
+ });
89677
+ \u0275\u0275elementEnd();
89678
+ }
89679
+ if (rf & 2) {
89680
+ const ctx_r1 = \u0275\u0275nextContext(2);
89681
+ const taskData_r3 = \u0275\u0275readContextLet(0);
89682
+ \u0275\u0275property("task", taskData_r3)("form", ctx_r1.previewForm())("errors", ctx_r1.errors())("actionsDisabled", ctx_r1.actionsDisabled());
89683
+ }
89684
+ }
89685
+ function BritishColumbiaComponent_Conditional_3_Template(rf, ctx) {
89686
+ if (rf & 1) {
89687
+ \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);
89688
+ }
89689
+ if (rf & 2) {
89690
+ const ctx_r1 = \u0275\u0275nextContext();
89691
+ \u0275\u0275conditional(ctx_r1.activeStep() === ctx_r1.steps.Validate ? 0 : -1);
89692
+ \u0275\u0275advance();
89693
+ \u0275\u0275conditional(ctx_r1.activeStep() === ctx_r1.steps.FilingPreview ? 1 : -1);
89694
+ }
89695
+ }
89696
+ function BritishColumbiaComponent_Conditional_4_Conditional_0_Template(rf, ctx) {
89697
+ if (rf & 1) {
89698
+ const _r9 = \u0275\u0275getCurrentView();
89699
+ \u0275\u0275elementStart(0, "british-columbia-change-of-office-addresses-delta-form", 2);
89700
+ \u0275\u0275listener("validate", function BritishColumbiaComponent_Conditional_4_Conditional_0_Template_british_columbia_change_of_office_addresses_delta_form_validate_0_listener() {
89701
+ \u0275\u0275restoreView(_r9);
89702
+ const ctx_r1 = \u0275\u0275nextContext(2);
89703
+ return \u0275\u0275resetView(ctx_r1.onChangeOfOfficeAddressesValidate());
89704
+ })("close", function BritishColumbiaComponent_Conditional_4_Conditional_0_Template_british_columbia_change_of_office_addresses_delta_form_close_0_listener() {
89705
+ \u0275\u0275restoreView(_r9);
89706
+ const ctx_r1 = \u0275\u0275nextContext(2);
89707
+ return \u0275\u0275resetView(ctx_r1.onClose());
89708
+ })("save", function BritishColumbiaComponent_Conditional_4_Conditional_0_Template_british_columbia_change_of_office_addresses_delta_form_save_0_listener() {
89709
+ \u0275\u0275restoreView(_r9);
89710
+ const ctx_r1 = \u0275\u0275nextContext(2);
89711
+ return \u0275\u0275resetView(ctx_r1.onChangeOfOfficeAddressesSave());
89712
+ });
89713
+ \u0275\u0275elementEnd();
89714
+ }
89715
+ if (rf & 2) {
89716
+ const ctx_r1 = \u0275\u0275nextContext(2);
89717
+ const taskData_r3 = \u0275\u0275readContextLet(0);
89718
+ \u0275\u0275property("task", taskData_r3)("form", ctx_r1.deltaForm())("actionsDisabled", ctx_r1.actionsDisabled())("errors", ctx_r1.errors())("isNote", ctx_r1.isNote());
89719
+ }
89720
+ }
89721
+ function BritishColumbiaComponent_Conditional_4_Conditional_1_Template(rf, ctx) {
89722
+ if (rf & 1) {
89723
+ const _r10 = \u0275\u0275getCurrentView();
89724
+ \u0275\u0275elementStart(0, "british-columbia-change-of-office-addresses-preview-form", 3);
89725
+ \u0275\u0275listener("close", function BritishColumbiaComponent_Conditional_4_Conditional_1_Template_british_columbia_change_of_office_addresses_preview_form_close_0_listener() {
89726
+ \u0275\u0275restoreView(_r10);
89727
+ const ctx_r1 = \u0275\u0275nextContext(2);
89728
+ return \u0275\u0275resetView(ctx_r1.close.emit());
89729
+ })("file", function BritishColumbiaComponent_Conditional_4_Conditional_1_Template_british_columbia_change_of_office_addresses_preview_form_file_0_listener() {
89730
+ \u0275\u0275restoreView(_r10);
89731
+ const ctx_r1 = \u0275\u0275nextContext(2);
88780
89732
  return \u0275\u0275resetView(ctx_r1.onChangeOfOfficeAddressesFile());
88781
89733
  });
88782
89734
  \u0275\u0275elementEnd();
@@ -88787,9 +89739,9 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88787
89739
  \u0275\u0275property("task", taskData_r3)("form", ctx_r1.previewForm())("actionsDisabled", ctx_r1.actionsDisabled())("errors", ctx_r1.errors());
88788
89740
  }
88789
89741
  }
88790
- function BritishColumbiaComponent_Conditional_3_Template(rf, ctx) {
89742
+ function BritishColumbiaComponent_Conditional_4_Template(rf, ctx) {
88791
89743
  if (rf & 1) {
88792
- \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);
89744
+ \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);
88793
89745
  }
88794
89746
  if (rf & 2) {
88795
89747
  const ctx_r1 = \u0275\u0275nextContext();
@@ -88808,12 +89760,15 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88808
89760
  init_app_enums();
88809
89761
  init_BritishColumbiaConstants();
88810
89762
  init_british_columbia_form_enums();
89763
+ init_british_columbia_annual_report_form_helper();
88811
89764
  init_british_columbia_change_of_directors_form_helper();
88812
89765
  init_british_columbia_formation_form_helper();
88813
89766
  init_british_columbia_change_of_office_addresses_form_helper();
88814
89767
  init_delta_state_service();
88815
89768
  init_common_utils();
88816
89769
  init_confirm_modal_component();
89770
+ init_british_columbia_annual_report_delta_form_component();
89771
+ init_british_columbia_annual_report_preview_form_component();
88817
89772
  init_change_of_directors_delta_form_component();
88818
89773
  init_change_of_directors_preview_form_component();
88819
89774
  init_british_columbia_incorporation_delta_form_component();
@@ -88829,8 +89784,8 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88829
89784
  actionsDisabled = input(false);
88830
89785
  errors = input([]);
88831
89786
  currentDataExtract = input();
88832
- /** False while the registry's current data is loading; the validated-draft preview waits for it. */
88833
- extractReady = input(true);
89787
+ /** Officers of the registry's current data, to tell an Annual Report edit from an add. */
89788
+ annualReportExtract = input();
88834
89789
  close = output();
88835
89790
  codValidate = output();
88836
89791
  saveCodDeltaData = output();
@@ -88841,6 +89796,10 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88841
89796
  nextStep = output();
88842
89797
  recheckStep = output();
88843
89798
  prevStep = output();
89799
+ // Annual Report outputs
89800
+ arValidate = output();
89801
+ saveArDeltaData = output();
89802
+ arSubmit = output();
88844
89803
  // Change of Office Addresses outputs
88845
89804
  coaValidate = output();
88846
89805
  saveCoaDeltaData = output();
@@ -88851,6 +89810,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88851
89810
  steps = Step;
88852
89811
  isChangeOfDirectorsTask = isChangeOfPrincipalsTask;
88853
89812
  isFormationTask = isFormationTask2;
89813
+ isAnnualReportTask = isAnnualReturnTask;
88854
89814
  isChangeOfOfficeAddressesTask = isChangeOfAddressTask;
88855
89815
  deltaForm = signal(new FormGroup({}));
88856
89816
  previewForm = signal(new FormGroup({}));
@@ -88866,9 +89826,16 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88866
89826
  this.deltaState.setBCFormationInitialDelta(this.generateFormationDeltaData());
88867
89827
  }
88868
89828
  if (task && isChangeOfAddressTask(task)) {
88869
- this.deltaForm.set(new FormGroup(BritishColumbiaChangeOfOfficeAddressesFormHelper.generateConfig(task, (key) => this.translate.instant(key), this.currentDataExtract())));
89829
+ this.deltaForm.set(new FormGroup(BritishColumbiaChangeOfOfficeAddressesFormHelper.generateConfig(task, (key) => this.translate.instant(key))));
88870
89830
  this.deltaState.setBCChangeOfOfficeAddressesInitialDelta(this.generateChangeOfOfficeAddressesDeltaData());
88871
89831
  }
89832
+ if (task && isAnnualReturnTask(task)) {
89833
+ const extractOfficers = this.annualReportExtract() ?? [];
89834
+ untracked2(() => {
89835
+ this.deltaForm.set(new FormGroup(BritishColumbiaAnnualReportFormHelper.generateConfig(task, extractOfficers)));
89836
+ this.deltaState.setBCAnnualReportInitialDelta(this.generateAnnualReportDeltaData());
89837
+ });
89838
+ }
88872
89839
  });
88873
89840
  effect(() => {
88874
89841
  const task = this.task();
@@ -88892,8 +89859,16 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88892
89859
  this.nextStep.emit();
88893
89860
  }
88894
89861
  }
88895
- if (task && isChangeOfAddressTask(task) && deltaData && this.extractReady()) {
88896
- const form = new FormGroup(BritishColumbiaChangeOfOfficeAddressesFormHelper.generateConfig(task, (key) => this.translate.instant(key), this.currentDataExtract()));
89862
+ if (isAnnualReturnTask(task)) {
89863
+ const form = new FormGroup(BritishColumbiaAnnualReportFormHelper.generateConfig(task, deltaData?.validatedData?.extractOfficers ?? this.annualReportExtract() ?? []));
89864
+ form.disable();
89865
+ this.previewForm.set(form);
89866
+ if (untracked2(() => this.activeStep()) === Step.Validate) {
89867
+ this.nextStep.emit();
89868
+ }
89869
+ }
89870
+ if (task && isChangeOfAddressTask(task) && deltaData) {
89871
+ const form = new FormGroup(BritishColumbiaChangeOfOfficeAddressesFormHelper.generateConfig(task, (key) => this.translate.instant(key)));
88897
89872
  form.disable();
88898
89873
  this.previewForm.set(form);
88899
89874
  const step = untracked2(() => this.activeStep());
@@ -88905,6 +89880,33 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88905
89880
  }
88906
89881
  });
88907
89882
  }
89883
+ onAnnualReportValidate() {
89884
+ markFormGroupTouched(this.deltaForm());
89885
+ this.arValidate.emit(this.generateAnnualReportDeltaData());
89886
+ }
89887
+ onAnnualReportSave() {
89888
+ const delta = this.generateAnnualReportDeltaData();
89889
+ this.deltaState.setBCAnnualReportInitialDelta(delta);
89890
+ this.saveArDeltaData.emit(delta);
89891
+ }
89892
+ /** No certification step for this filing: "File" submits the staged draft directly. */
89893
+ onAnnualReportSubmit() {
89894
+ this.arSubmit.emit();
89895
+ }
89896
+ generateAnnualReportDeltaData() {
89897
+ const formData = this.deltaForm().getRawValue();
89898
+ const general = formData[BCAnnualReportFormGroups.General];
89899
+ const companyEmail = formData[BCAnnualReportFormGroups.CompanyEmail];
89900
+ const reminder = formData[BCAnnualReportFormGroups.AnnualReportReminder];
89901
+ return {
89902
+ referenceNumbers: {
89903
+ referenceNumber: general?.[BCAnnualReportFormControls.ClientMatterNumber] ?? null,
89904
+ docketNumber: general?.[BCAnnualReportFormControls.DocketNumber] ?? null
89905
+ },
89906
+ companyEmail: companyEmail?.[BCAnnualReportFormControls.CompanyEmail] ?? null,
89907
+ isAnnualReportReminderRequired: Boolean(reminder?.[BCAnnualReportFormControls.IsAnnualReportReminderRequired])
89908
+ };
89909
+ }
88908
89910
  onChangeOfOfficeAddressesValidate() {
88909
89911
  markFormGroupTouched(this.deltaForm());
88910
89912
  this.coaValidate.emit(this.generateChangeOfOfficeAddressesDeltaData());
@@ -89056,7 +90058,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
89056
90058
  }
89057
90059
  onClose() {
89058
90060
  const task = this.task();
89059
- 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());
90061
+ 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());
89060
90062
  if (!hasChanges) {
89061
90063
  this.close.emit();
89062
90064
  return;
@@ -89072,7 +90074,9 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
89072
90074
  width: "65rem"
89073
90075
  }).afterClosed().subscribe((val) => {
89074
90076
  if (val) {
89075
- if (task && isFormationTask2(task)) {
90077
+ if (task && isAnnualReturnTask(task)) {
90078
+ this.onAnnualReportSave();
90079
+ } else if (task && isFormationTask2(task)) {
89076
90080
  this.onFormationSave();
89077
90081
  } else if (task && isChangeOfAddressTask(task)) {
89078
90082
  this.onChangeOfOfficeAddressesSave();
@@ -89086,21 +90090,25 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
89086
90090
  static \u0275fac = function BritishColumbiaComponent_Factory(__ngFactoryType__) {
89087
90091
  return new (__ngFactoryType__ || _BritishColumbiaComponent)();
89088
90092
  };
89089
- 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"], extractReady: [1, "extractReady"] }, 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) {
90093
+ 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"], annualReportExtract: [1, "annualReportExtract"] }, 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) {
89090
90094
  if (rf & 1) {
89091
90095
  \u0275\u0275declareLet(0);
89092
- \u0275\u0275template(1, BritishColumbiaComponent_Conditional_1_Template, 2, 2)(2, BritishColumbiaComponent_Conditional_2_Template, 2, 2)(3, BritishColumbiaComponent_Conditional_3_Template, 2, 2);
90096
+ \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);
89093
90097
  }
89094
90098
  if (rf & 2) {
89095
- const taskData_r9 = \u0275\u0275storeLet(ctx.task());
90099
+ const taskData_r11 = \u0275\u0275storeLet(ctx.task());
89096
90100
  \u0275\u0275advance();
89097
- \u0275\u0275conditional(ctx.isChangeOfDirectorsTask(taskData_r9) ? 1 : -1);
90101
+ \u0275\u0275conditional(ctx.isChangeOfDirectorsTask(taskData_r11) ? 1 : -1);
89098
90102
  \u0275\u0275advance();
89099
- \u0275\u0275conditional(ctx.isFormationTask(taskData_r9) ? 2 : -1);
90103
+ \u0275\u0275conditional(ctx.isAnnualReportTask(taskData_r11) ? 2 : -1);
89100
90104
  \u0275\u0275advance();
89101
- \u0275\u0275conditional(ctx.isChangeOfOfficeAddressesTask(taskData_r9) ? 3 : -1);
90105
+ \u0275\u0275conditional(ctx.isFormationTask(taskData_r11) ? 3 : -1);
90106
+ \u0275\u0275advance();
90107
+ \u0275\u0275conditional(ctx.isChangeOfOfficeAddressesTask(taskData_r11) ? 4 : -1);
89102
90108
  }
89103
90109
  }, dependencies: [
90110
+ BritishColumbiaAnnualReportDeltaFormComponent,
90111
+ BritishColumbiaAnnualReportPreviewFormComponent,
89104
90112
  BritishColumbiaChangeOfDirectorsDeltaFormComponent,
89105
90113
  BritishColumbiaChangeOfDirectorsPreviewFormComponent,
89106
90114
  BritishColumbiaIncorporationDeltaFormComponent,
@@ -89113,17 +90121,19 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
89113
90121
  (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(BritishColumbiaComponent, [{
89114
90122
  type: Component,
89115
90123
  args: [{ standalone: true, selector: "british-columbia", changeDetection: ChangeDetectionStrategy.OnPush, imports: [
90124
+ BritishColumbiaAnnualReportDeltaFormComponent,
90125
+ BritishColumbiaAnnualReportPreviewFormComponent,
89116
90126
  BritishColumbiaChangeOfDirectorsDeltaFormComponent,
89117
90127
  BritishColumbiaChangeOfDirectorsPreviewFormComponent,
89118
90128
  BritishColumbiaIncorporationDeltaFormComponent,
89119
90129
  BritishColumbiaIncorporationPreviewFormComponent,
89120
90130
  BritishColumbiaChangeOfOfficeAddressesDeltaFormComponent,
89121
90131
  BritishColumbiaChangeOfOfficeAddressesPreviewFormComponent
89122
- ], 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"] }]
90132
+ ], 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"] }]
89123
90133
  }], () => [], null);
89124
90134
  })();
89125
90135
  (() => {
89126
- (typeof ngDevMode === "undefined" || ngDevMode) && \u0275setClassDebugInfo(BritishColumbiaComponent, { className: "BritishColumbiaComponent", filePath: "src/app/components/british-columbia/british-columbia.component.ts", lineNumber: 72 });
90136
+ (typeof ngDevMode === "undefined" || ngDevMode) && \u0275setClassDebugInfo(BritishColumbiaComponent, { className: "BritishColumbiaComponent", filePath: "src/app/components/british-columbia/british-columbia.component.ts", lineNumber: 83 });
89127
90137
  })();
89128
90138
  }
89129
90139
  });
@@ -90775,7 +91785,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
90775
91785
  \u0275\u0275pipe(7, "translate");
90776
91786
  \u0275\u0275elementEnd();
90777
91787
  \u0275\u0275elementStart(8, "ul", 16);
90778
- \u0275\u0275repeaterCreate(9, FederalIncorporationFormComponent_Conditional_7_For_10_Template, 2, 1, "li", 17, _forTrack06);
91788
+ \u0275\u0275repeaterCreate(9, FederalIncorporationFormComponent_Conditional_7_For_10_Template, 2, 1, "li", 17, _forTrack05);
90779
91789
  \u0275\u0275elementEnd()();
90780
91790
  \u0275\u0275elementStart(11, "span", 17);
90781
91791
  \u0275\u0275text(12);
@@ -90978,7 +91988,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
90978
91988
  \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", contactForm_r24)("config", ctx_r0.contactControl);
90979
91989
  }
90980
91990
  }
90981
- var _c016, _forTrack06, FederalIncorporationFormComponent;
91991
+ var _c016, _forTrack05, FederalIncorporationFormComponent;
90982
91992
  var init_federal_incorporation_form_component = __esm({
90983
91993
  "src/app/components/federal/incorporation/federal-incorporation-form/federal-incorporation-form.component.ts"() {
90984
91994
  init_core();
@@ -91003,7 +92013,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
91003
92013
  init_common();
91004
92014
  init_core();
91005
92015
  _c016 = ["*"];
91006
- _forTrack06 = ($index, $item) => $item.affiliationID;
92016
+ _forTrack05 = ($index, $item) => $item.affiliationID;
91007
92017
  FederalIncorporationFormComponent = class _FederalIncorporationFormComponent {
91008
92018
  form = input.required();
91009
92019
  isNote = input(false);
@@ -95504,14 +96514,14 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
95504
96514
  });
95505
96515
 
95506
96516
  // src/app/helpers/mappers/british-columbia-change-of-directors.mapper.ts
95507
- function getBritishColumbiaAccessCode(task, password) {
96517
+ function getBritishColumbiaAccessCode2(task, password) {
95508
96518
  return password?.trim() || task.entity._profile.registry_id?.trim() || "";
95509
96519
  }
95510
96520
  function buildBritishColumbiaDataExtractOrder(task, password) {
95511
96521
  const incorporationDate = toYyyyMmDd(task.entity._compliance.incorporation_date) ?? "";
95512
96522
  const request = {
95513
96523
  corporationNumber: task.entity._profile.corp_number?.trim() ?? "",
95514
- accessCodeOrPassword: getBritishColumbiaAccessCode(task, password),
96524
+ accessCodeOrPassword: getBritishColumbiaAccessCode2(task, password),
95515
96525
  incorporationDate: /^\d{4}-\d{2}-\d{2}$/.test(incorporationDate) ? incorporationDate : "",
95516
96526
  filingType: "changeOfDirectorsFiling"
95517
96527
  };
@@ -95555,7 +96565,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
95555
96565
  currentDataServiceOrderId,
95556
96566
  filing: __spreadProps(__spreadValues({
95557
96567
  corporationNumber: task.entity._profile.corp_number ?? "",
95558
- accessCodeOrPassword: getBritishColumbiaAccessCode(task),
96568
+ accessCodeOrPassword: getBritishColumbiaAccessCode2(task),
95559
96569
  reference: deltaData.referenceNumbers.referenceNumber ?? null,
95560
96570
  docket: deltaData.referenceNumbers.docketNumber ?? null
95561
96571
  }, (addDirectors.length || ceaseDirectors.length) && effectiveDate ? { effectiveDate } : {}), {
@@ -95663,7 +96673,12 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
95663
96673
  });
95664
96674
 
95665
96675
  // src/app/services/british-columbia/british-columbia-maintenance.service.ts
95666
- var MAINTENANCE_FILING_PATH, TEMP_UAT_BC_FILING_URL2, DATA_EXTRACT_PATH, DEFAULT_EXTRACT_POLL, DEFAULT_RESULT_POLL, BritishColumbiaMaintenanceService;
96676
+ function isExtractNotCompleted(error) {
96677
+ const result = error?.validateResult;
96678
+ const fromResult = (result?.Errors ?? []).some((e) => e.Code === EXTRACT_NOT_COMPLETED_CODE || EXTRACT_NOT_COMPLETED_MESSAGE.test(e.Message ?? ""));
96679
+ return fromResult || EXTRACT_NOT_COMPLETED_MESSAGE.test(error?.message ?? "");
96680
+ }
96681
+ 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;
95667
96682
  var init_british_columbia_maintenance_service = __esm({
95668
96683
  "src/app/services/british-columbia/british-columbia-maintenance.service.ts"() {
95669
96684
  init_core();
@@ -95674,6 +96689,9 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
95674
96689
  DATA_EXTRACT_PATH = "/filings/ca/bc/data-extract";
95675
96690
  DEFAULT_EXTRACT_POLL = { intervalMs: 3e3, timeoutMs: 6e5 };
95676
96691
  DEFAULT_RESULT_POLL = { intervalMs: 3e3, timeoutMs: 6e5 };
96692
+ DEFAULT_VALIDATE_RETRY = { intervalMs: 3e3, timeoutMs: 12e4 };
96693
+ EXTRACT_NOT_COMPLETED_CODE = "SVC1031";
96694
+ EXTRACT_NOT_COMPLETED_MESSAGE = /extract has not completed/i;
95677
96695
  BritishColumbiaMaintenanceService = class _BritishColumbiaMaintenanceService {
95678
96696
  config;
95679
96697
  setConfig(config2) {
@@ -95686,7 +96704,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
95686
96704
  corporationNumber: context2.corporationNumber,
95687
96705
  accessCodeOrPassword: context2.accessCodeOrPassword,
95688
96706
  incorporationDate: context2.incorporationDate,
95689
- filingType: "changeOfAddressFiling"
96707
+ filingType: context2.filingType ?? "changeOfAddressFiling"
95690
96708
  }, opts);
95691
96709
  const id = body?.currentDataServiceOrderId ?? body?.CurrentDataServiceOrderId;
95692
96710
  if (!ok || !id || String(body?.status ?? "").toLowerCase() === "failed") {
@@ -95695,7 +96713,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
95695
96713
  return String(id);
95696
96714
  });
95697
96715
  }
95698
- /** Polls the extract until the registry has it ready (`success`) and returns the extract. */
96716
+ /** Polls the extract until the registry has it ready (`success`) and returns what it holds. */
95699
96717
  waitForCurrentDataExtract(_0, _1) {
95700
96718
  return __async(this, arguments, function* (signature, extractId, opts = {}, poll = {}) {
95701
96719
  const { intervalMs, timeoutMs } = __spreadValues(__spreadValues({}, DEFAULT_EXTRACT_POLL), poll);
@@ -95704,7 +96722,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
95704
96722
  const { status, ok, body, raw } = yield this.send(signature, "GET", `${DATA_EXTRACT_PATH}/${encodeURIComponent(extractId)}`, void 0, opts);
95705
96723
  const state2 = String(body?.status ?? "").toLowerCase();
95706
96724
  if (ok && state2 === "success") {
95707
- return body ?? {};
96725
+ return body;
95708
96726
  }
95709
96727
  if (!ok || state2 === "failed" || state2 === "sourceunavailable") {
95710
96728
  throw this.failure(status, "Retrieving the current data from the registry failed", body, raw);
@@ -95722,7 +96740,23 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
95722
96740
  * saved request used to detect Entity changes.
95723
96741
  */
95724
96742
  validate(_0, _1, _2, _3) {
95725
- return __async(this, arguments, function* (signature, requestBody, extractId, context2, opts = {}) {
96743
+ return __async(this, arguments, function* (signature, requestBody, extractId, context2, opts = {}, retry = {}) {
96744
+ const { intervalMs, timeoutMs } = __spreadValues(__spreadValues({}, DEFAULT_VALIDATE_RETRY), retry);
96745
+ const deadline = Date.now() + timeoutMs;
96746
+ for (; ; ) {
96747
+ try {
96748
+ return yield this.validateOnce(signature, requestBody, extractId, context2, opts);
96749
+ } catch (error) {
96750
+ if (!isExtractNotCompleted(error) || Date.now() >= deadline) {
96751
+ throw error;
96752
+ }
96753
+ yield this.sleep(intervalMs);
96754
+ }
96755
+ }
96756
+ });
96757
+ }
96758
+ validateOnce(signature, requestBody, extractId, context2, opts) {
96759
+ return __async(this, null, function* () {
95726
96760
  const { status, ok, body, raw } = yield this.send(signature, "POST", MAINTENANCE_FILING_PATH, {
95727
96761
  currentDataServiceOrderId: extractId,
95728
96762
  filingType: requestBody.filingType,
@@ -95872,83 +96906,6 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
95872
96906
  }
95873
96907
  });
95874
96908
 
95875
- // src/app/helpers/mappers/british-columbia-change-of-office-addresses.mapper.ts
95876
- function formatPostalCode(value) {
95877
- const compact = clean(value).replace(/[\s-]+/g, "").toUpperCase();
95878
- return compact.length === 6 ? `${compact.slice(0, 3)} ${compact.slice(3)}` : clean(value).toUpperCase();
95879
- }
95880
- function toEcoreAddress(address) {
95881
- const line2 = clean(address?.addressLine2);
95882
- return __spreadProps(__spreadValues({
95883
- streetAddress: clean(address?.addressLine1)
95884
- }, line2 ? { additionalStreetAddress: line2 } : {}), {
95885
- city: clean(address?.city),
95886
- provinceOrState: BC_PROVINCE_CODE,
95887
- postalOrZipCode: formatPostalCode(address?.postalCode),
95888
- country: CANADA_COUNTRY_CODE
95889
- });
95890
- }
95891
- function isSameAddress(a, b) {
95892
- const key = (x) => [x.streetAddress, x.additionalStreetAddress, x.city, x.provinceOrState, x.postalOrZipCode, x.country].map((v) => (v ?? "").trim().toLowerCase().replace(/\s+/g, " ")).join("|");
95893
- return key(a) === key(b);
95894
- }
95895
- function buildBCChangeOfOfficeAddressesValidateRequest(task, deltaData) {
95896
- const registered = deltaData.registeredOffice;
95897
- const records = deltaData.recordsOffice;
95898
- const registeredMailing = toEcoreAddress(registered?.mailingAddress);
95899
- const registeredDelivery = registered?.deliverySameAsMailing ? registeredMailing : toEcoreAddress(registered?.deliveryAddress);
95900
- const recordsMailing = records?.sameAsRegisteredOffice ? registeredMailing : toEcoreAddress(records?.mailingAddress);
95901
- const recordsDelivery = records?.sameAsRegisteredOffice ? registeredDelivery : records?.deliverySameAsMailing ? recordsMailing : toEcoreAddress(records?.deliveryAddress);
95902
- const registeredDeliverySame = isSameAddress(registeredDelivery, registeredMailing);
95903
- const recordsSameAsRegistered = isSameAddress(recordsMailing, registeredMailing);
95904
- const recordsDeliverySame = isSameAddress(recordsDelivery, recordsMailing);
95905
- const filing = {
95906
- registeredOfficeMailingAddress: registeredMailing,
95907
- isRegisteredOfficeDeliveryAddressSameAsMailing: registeredDeliverySame,
95908
- isRecordsOfficeMailingAddressSameAsRegisteredOfficeMailing: recordsSameAsRegistered,
95909
- isRecordsOfficeDeliveryAddressSameAsRecordsOfficeMailing: recordsDeliverySame,
95910
- // Both are picked on the form; the fallbacks only cover data saved before they were added.
95911
- companyEmail: clean(deltaData.companyEmail) || BritishColumbiaChangeOfOfficeAddressesFormHelper.resolveCompanyEmail(task),
95912
- isAnnualReportReminderRequired: deltaData.annualReportReminder === BCAnnualReportReminder.Yes
95913
- };
95914
- const reference = clean(deltaData.referenceNumbers?.referenceNumber);
95915
- const docket = clean(deltaData.referenceNumbers?.docketNumber);
95916
- if (reference) {
95917
- filing.reference = reference;
95918
- }
95919
- if (docket) {
95920
- filing.docket = docket;
95921
- }
95922
- if (!registeredDeliverySame) {
95923
- filing.registeredOfficeDeliveryAddress = registeredDelivery;
95924
- }
95925
- if (!recordsSameAsRegistered) {
95926
- filing.recordsOfficeMailingAddress = recordsMailing;
95927
- }
95928
- if (!recordsDeliverySame) {
95929
- filing.recordsOfficeDeliveryAddress = recordsDelivery;
95930
- }
95931
- return { filingType: "changeOfAddressFiling", filing };
95932
- }
95933
- function getBritishColumbiaAccessCode2(task, env) {
95934
- const registryId = task.entity._profile.registry_id?.trim() ?? "";
95935
- if (registryId) {
95936
- return registryId;
95937
- }
95938
- return env === "TEST" ? TEMP_UAT_TEST_ACCESS_CODE : "";
95939
- }
95940
- var TEMP_UAT_TEST_ACCESS_CODE, BC_PROVINCE_CODE, CANADA_COUNTRY_CODE, clean;
95941
- var init_british_columbia_change_of_office_addresses_mapper = __esm({
95942
- "src/app/helpers/mappers/british-columbia-change-of-office-addresses.mapper.ts"() {
95943
- init_BritishColumbiaConstants();
95944
- init_british_columbia_change_of_office_addresses_form_helper();
95945
- TEMP_UAT_TEST_ACCESS_CODE = "xxxxxxxx";
95946
- BC_PROVINCE_CODE = "BC";
95947
- CANADA_COUNTRY_CODE = "CA";
95948
- clean = (value) => (value ?? "").trim();
95949
- }
95950
- });
95951
-
95952
96909
  // src/app/components/filing/filing.component.ts
95953
96910
  function FilingComponent_Conditional_7_Template(rf, ctx) {
95954
96911
  if (rf & 1) {
@@ -96064,6 +97021,18 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
96064
97021
  \u0275\u0275restoreView(_r6);
96065
97022
  const ctx_r2 = \u0275\u0275nextContext(2);
96066
97023
  return \u0275\u0275resetView(ctx_r2.onBritishColumbiaChangeOfOfficeAddressesSubmit());
97024
+ })("arValidate", function FilingComponent_Conditional_10_Conditional_1_Template_british_columbia_arValidate_0_listener($event) {
97025
+ \u0275\u0275restoreView(_r6);
97026
+ const ctx_r2 = \u0275\u0275nextContext(2);
97027
+ return \u0275\u0275resetView(ctx_r2.onBritishColumbiaAnnualReportValidate($event));
97028
+ })("saveArDeltaData", function FilingComponent_Conditional_10_Conditional_1_Template_british_columbia_saveArDeltaData_0_listener($event) {
97029
+ \u0275\u0275restoreView(_r6);
97030
+ const ctx_r2 = \u0275\u0275nextContext(2);
97031
+ return \u0275\u0275resetView(ctx_r2.onBritishColumbiaAnnualReportSave($event));
97032
+ })("arSubmit", function FilingComponent_Conditional_10_Conditional_1_Template_british_columbia_arSubmit_0_listener() {
97033
+ \u0275\u0275restoreView(_r6);
97034
+ const ctx_r2 = \u0275\u0275nextContext(2);
97035
+ return \u0275\u0275resetView(ctx_r2.onBritishColumbiaAnnualReportSubmit());
96067
97036
  })("formationValidate", function FilingComponent_Conditional_10_Conditional_1_Template_british_columbia_formationValidate_0_listener($event) {
96068
97037
  \u0275\u0275restoreView(_r6);
96069
97038
  const ctx_r2 = \u0275\u0275nextContext(2);
@@ -96082,7 +97051,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
96082
97051
  if (rf & 2) {
96083
97052
  const ctx_r2 = \u0275\u0275nextContext(2);
96084
97053
  const currentTask_r5 = \u0275\u0275readContextLet(9);
96085
- \u0275\u0275property("task", currentTask_r5)("currentUser", ctx_r2.currentUser())("activeStep", ctx_r2.activeStep())("isNote", ctx_r2.dataWasChanged())("actionsDisabled", ctx_r2.isLoading())("errors", ctx_r2.errors())("currentDataExtract", ctx_r2.currentDataExtract())("extractReady", ctx_r2.bcCoaExtractReady());
97054
+ \u0275\u0275property("task", currentTask_r5)("currentUser", ctx_r2.currentUser())("activeStep", ctx_r2.activeStep())("isNote", ctx_r2.dataWasChanged())("actionsDisabled", ctx_r2.isLoading())("errors", ctx_r2.errors())("currentDataExtract", ctx_r2.currentDataExtract())("annualReportExtract", ctx_r2.bcAnnualReportExtract());
96086
97055
  }
96087
97056
  }
96088
97057
  function FilingComponent_Conditional_10_Conditional_2_Template(rf, ctx) {
@@ -96170,6 +97139,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
96170
97139
  init_federal_update_maintain_service();
96171
97140
  init_ontario_update_maintain_service();
96172
97141
  init_initial_return_payload_helper();
97142
+ init_british_columbia_annual_report_mapper();
96173
97143
  init_ontario_formation_mapper();
96174
97144
  init_federal_formation_mapper();
96175
97145
  init_ontario_update_maintain_mapper();
@@ -96180,7 +97150,6 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
96180
97150
  init_british_columbia_change_of_directors_service();
96181
97151
  init_british_columbia_change_of_directors_mapper();
96182
97152
  init_british_columbia_maintenance_service();
96183
- init_british_columbia_change_of_office_addresses_form_helper();
96184
97153
  init_british_columbia_change_of_office_addresses_mapper();
96185
97154
  init_core();
96186
97155
  init_button();
@@ -96255,14 +97224,13 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
96255
97224
  dataWasChanged = signal(false);
96256
97225
  serviceOrderId = "";
96257
97226
  bcCurrentDataServiceOrderId = "";
96258
- /** The registry's current data ordered for the Change of Office Addresses; reused by Validate. */
96259
- bcCoaExtractId = "";
96260
- /** False while the registry's current office addresses are loading. */
96261
- bcCoaExtractReady = signal(true);
96262
- /** Numbers the loads, so a load for a task that is no longer the active one cannot publish. */
96263
- bcCoaLoadId = 0;
96264
97227
  currentDataExtract = signal(void 0);
96265
97228
  bcDataExtractTaskId = "";
97229
+ // BC Annual Report: the registry's current data, ordered when the task opens (like Change of Directors).
97230
+ bcAnnualReportExtract = signal(void 0);
97231
+ bcAnnualReportExtractId = "";
97232
+ bcAnnualReportExtractOfficers;
97233
+ bcAnnualReportExtractTaskId = "";
96266
97234
  activeStep = signal(Step.Validate);
96267
97235
  isLoading = signal(false);
96268
97236
  validationConfig = signal(null);
@@ -96281,7 +97249,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
96281
97249
  return `File ${jurisdiction} Notice of Change`;
96282
97250
  }
96283
97251
  if (isAnnualReturnTask(task)) {
96284
- return `File ${jurisdiction} Annual Return`;
97252
+ return isBritishColumbiaTask(task) ? `File ${jurisdiction} Annual Report` : `File ${jurisdiction} Annual Return`;
96285
97253
  }
96286
97254
  if (isFormationTask2(task)) {
96287
97255
  return `File ${jurisdiction} Articles of Incorporation`;
@@ -96355,62 +97323,15 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
96355
97323
  this.isLoading.set(false);
96356
97324
  }
96357
97325
  }
96358
- if (isChangeOfAddressTask(task) && isBritishColumbiaTask(task) && this.bcDataExtractTaskId !== task._id) {
96359
- if (!this._signature()) {
97326
+ if (isAnnualReturnTask(task) && isBritishColumbiaTask(task) && this.bcAnnualReportExtractTaskId !== task._id) {
97327
+ if (task.deltaData?.validatedData) {
97328
+ this.bcAnnualReportExtractTaskId = task._id;
96360
97329
  return;
96361
97330
  }
96362
- this.bcDataExtractTaskId = task._id;
96363
- yield this.loadBritishColumbiaOfficeAddressExtract(task);
97331
+ void this.loadBritishColumbiaAnnualReportExtract();
96364
97332
  }
96365
97333
  }));
96366
97334
  }
96367
- /**
96368
- * Orders the registry's current office addresses as soon as the Change of Office Addresses opens,
96369
- * so each office shows its registry address as "Previous". If the registry is unavailable the form
96370
- * falls back to the Entity's own addresses, and Validate orders the extract again.
96371
- */
96372
- loadBritishColumbiaOfficeAddressExtract(task) {
96373
- return __async(this, null, function* () {
96374
- const signature = this._signature();
96375
- if (!signature) {
96376
- return;
96377
- }
96378
- const loadId = ++this.bcCoaLoadId;
96379
- const isLatest = () => loadId === this.bcCoaLoadId;
96380
- const isActive = () => isLatest() && this.task()?._id === task._id;
96381
- this.bcCoaExtractId = "";
96382
- this.isLoading.set(true);
96383
- this.bcCoaExtractReady.set(false);
96384
- try {
96385
- const opts = this.validateOptions() ?? {};
96386
- const context2 = this.getBritishColumbiaOfficeAddressContext(task, signature);
96387
- const extractId = yield this.bcMaintenanceService.orderCurrentDataExtract(signature, context2, opts);
96388
- const extract = yield this.bcMaintenanceService.waitForCurrentDataExtract(signature, extractId, opts);
96389
- if (isActive()) {
96390
- this.bcCoaExtractId = extractId;
96391
- this.currentDataExtract.set(extract);
96392
- }
96393
- } catch (error) {
96394
- if (isActive()) {
96395
- this.bcCoaExtractId = "";
96396
- this.currentDataExtract.set(void 0);
96397
- console.warn("The registry's current office addresses could not be loaded.", error);
96398
- }
96399
- } finally {
96400
- if (isLatest()) {
96401
- this.bcCoaExtractReady.set(true);
96402
- this.isLoading.set(false);
96403
- }
96404
- }
96405
- });
96406
- }
96407
- getBritishColumbiaOfficeAddressContext(task, signature) {
96408
- return {
96409
- corporationNumber: task.entity._profile.corp_number ?? "",
96410
- accessCodeOrPassword: getBritishColumbiaAccessCode2(task, signature.env),
96411
- incorporationDate: String(task.entity._compliance?.incorporation_date ?? "").slice(0, 10)
96412
- };
96413
- }
96414
97335
  getCurrentData() {
96415
97336
  return __async(this, null, function* () {
96416
97337
  const signature = this._signature();
@@ -96691,6 +97612,109 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
96691
97612
  }
96692
97613
  });
96693
97614
  }
97615
+ /**
97616
+ * British Columbia Annual Report "Validate & Generate Draft": orders the registry's current data,
97617
+ * sends the filing to eCore, hands the draft PDF to the host, and saves the delta together with
97618
+ * the ServiceOrderId and the request sent (`validatedData`) used to detect later Entity changes.
97619
+ */
97620
+ onBritishColumbiaAnnualReportValidate(deltaData) {
97621
+ return __async(this, null, function* () {
97622
+ const task = this.task();
97623
+ const signature = this._signature();
97624
+ try {
97625
+ if (!task || !signature || !isAnnualReturnTask(task)) {
97626
+ throw new Error("The filing is not ready yet. Please try again.");
97627
+ }
97628
+ this.isLoading.set(true);
97629
+ this.errors.set([]);
97630
+ const opts = this.validateOptions() ?? {};
97631
+ const context2 = buildBCAnnualReportContext(task, signature.env);
97632
+ let extractId = this.bcAnnualReportExtractId;
97633
+ let extractOfficers = this.bcAnnualReportExtractOfficers;
97634
+ if (!extractId || !extractOfficers) {
97635
+ extractId = yield this.bcMaintenanceService.orderCurrentDataExtract(signature, context2, opts);
97636
+ const extract = yield this.bcMaintenanceService.waitForCurrentDataExtract(signature, extractId, opts);
97637
+ extractOfficers = toBCExtractOfficers(extract.dataExtract);
97638
+ this.bcAnnualReportExtractId = extractId;
97639
+ this.bcAnnualReportExtractOfficers = extractOfficers;
97640
+ }
97641
+ const requestBody = buildBCAnnualReportValidateRequest(task, deltaData, extractOfficers);
97642
+ const response = yield this.bcMaintenanceService.validate(signature, requestBody, extractId, context2, opts);
97643
+ if (this.hasResponseErrors(response))
97644
+ return;
97645
+ const serviceOrderId = response.ServiceOrderId ?? "";
97646
+ const draftPdf = response.Draft ?? "";
97647
+ const searchOrFilingType = getSearchOrFilingType(task);
97648
+ if (draftPdf && searchOrFilingType) {
97649
+ this.filingValidateSuccess.emit({
97650
+ searchOrFilingType,
97651
+ serviceOrderId,
97652
+ validatedOn: /* @__PURE__ */ new Date(),
97653
+ provider: getFilingProvider(task),
97654
+ draftPdf,
97655
+ documentName: this.validateOptions()?.documentName ?? "British Columbia Annual Report Draft",
97656
+ documentType: "pdf"
97657
+ });
97658
+ }
97659
+ this.deltaDataChange.emit(__spreadProps(__spreadValues({}, deltaData), {
97660
+ serviceOrderId,
97661
+ // The corporation number is added by the service, not by the request builder, so it is
97662
+ // stored explicitly (the access code is deliberately left out) to detect entity changes. The
97663
+ // extract officers are the registry data the edits were matched against, so reopening rebuilds
97664
+ // the same request without ordering the extract again.
97665
+ validatedData: __spreadProps(__spreadValues({}, JSON.parse(JSON.stringify(requestBody))), {
97666
+ corporationNumber: context2.corporationNumber,
97667
+ extractOfficers
97668
+ })
97669
+ }));
97670
+ this.close.emit();
97671
+ } catch (response) {
97672
+ this.handleCatchError(response);
97673
+ } finally {
97674
+ this.isLoading.set(false);
97675
+ }
97676
+ });
97677
+ }
97678
+ /**
97679
+ * British Columbia Annual Report save – propagates delta data to the host.
97680
+ * The draft link (ServiceOrderId and the request it was generated from) is kept, so reopening
97681
+ * can tell whether the saved data still matches the draft and show "Entity changed" if not.
97682
+ */
97683
+ onBritishColumbiaAnnualReportSave(deltaData) {
97684
+ const oldDeltaData = this.task()?.deltaData;
97685
+ const draftLink = oldDeltaData?.serviceOrderId && oldDeltaData?.validatedData ? {
97686
+ serviceOrderId: oldDeltaData.serviceOrderId,
97687
+ validatedData: oldDeltaData.validatedData
97688
+ } : {};
97689
+ if (oldDeltaData) {
97690
+ delete this.task()?.deltaData;
97691
+ }
97692
+ this.deltaDataChange.emit(__spreadValues(__spreadValues({}, deltaData), draftLink));
97693
+ }
97694
+ /**
97695
+ * British Columbia Annual Report submit/file: submits the filing staged by "Validate & Generate
97696
+ * Draft" using the ServiceOrderId saved with the delta. There is no certification step.
97697
+ */
97698
+ onBritishColumbiaAnnualReportSubmit() {
97699
+ return __async(this, null, function* () {
97700
+ const signature = this._signature();
97701
+ const serviceOrderId = this.task()?.deltaData?.serviceOrderId;
97702
+ if (!signature || !serviceOrderId) {
97703
+ this.handleCatchError(new Error("Missing serviceOrderId. Generate a draft before filing."));
97704
+ return;
97705
+ }
97706
+ try {
97707
+ this.isLoading.set(true);
97708
+ this.errors.set([]);
97709
+ yield this.bcMaintenanceService.submitAndWait(signature, serviceOrderId, this.validateOptions() ?? {});
97710
+ this.close.emit();
97711
+ } catch (response) {
97712
+ this.handleCatchError(response);
97713
+ } finally {
97714
+ this.isLoading.set(false);
97715
+ }
97716
+ });
97717
+ }
96694
97718
  /**
96695
97719
  * British Columbia Change of Office Addresses "Validate & Generate Draft": sends the filing
96696
97720
  * to eCore, hands the draft PDF to the host, and saves the delta together with the
@@ -96706,21 +97730,15 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
96706
97730
  }
96707
97731
  this.isLoading.set(true);
96708
97732
  this.errors.set([]);
97733
+ const requestBody = buildBCChangeOfOfficeAddressesValidateRequest(task, deltaData);
96709
97734
  const opts = this.validateOptions() ?? {};
96710
- const context2 = this.getBritishColumbiaOfficeAddressContext(task, signature);
96711
- let extractId = this.bcCoaExtractId;
96712
- let filingData = deltaData;
96713
- if (!extractId) {
96714
- extractId = yield this.bcMaintenanceService.orderCurrentDataExtract(signature, context2, opts);
96715
- const extract = yield this.bcMaintenanceService.waitForCurrentDataExtract(signature, extractId, opts);
96716
- this.bcCoaExtractId = extractId;
96717
- const { registeredOffice, recordsOffice } = BritishColumbiaChangeOfOfficeAddressesFormHelper.resolveOfficeAddresses(task, extract);
96718
- filingData = __spreadProps(__spreadValues({}, deltaData), {
96719
- registeredOffice: registeredOffice ?? deltaData.registeredOffice,
96720
- recordsOffice: recordsOffice ?? deltaData.recordsOffice
96721
- });
96722
- }
96723
- const requestBody = buildBCChangeOfOfficeAddressesValidateRequest(task, filingData);
97735
+ const context2 = {
97736
+ corporationNumber: task.entity._profile.corp_number ?? "",
97737
+ accessCodeOrPassword: getBritishColumbiaAccessCode(task, signature.env),
97738
+ incorporationDate: String(task.entity._compliance?.incorporation_date ?? "").slice(0, 10)
97739
+ };
97740
+ const extractId = yield this.bcMaintenanceService.orderCurrentDataExtract(signature, context2, opts);
97741
+ yield this.bcMaintenanceService.waitForCurrentDataExtract(signature, extractId, opts);
96724
97742
  const response = yield this.bcMaintenanceService.validate(signature, requestBody, extractId, context2, opts);
96725
97743
  if (this.hasResponseErrors(response))
96726
97744
  return;
@@ -96738,7 +97756,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
96738
97756
  documentType: "pdf"
96739
97757
  });
96740
97758
  }
96741
- this.deltaDataChange.emit(__spreadProps(__spreadValues({}, filingData), {
97759
+ this.deltaDataChange.emit(__spreadProps(__spreadValues({}, deltaData), {
96742
97760
  serviceOrderId,
96743
97761
  // The corporation number is added by the service, not by the request builder, so it is
96744
97762
  // stored explicitly (the access code is deliberately left out) to detect entity changes.
@@ -97016,12 +98034,14 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
97016
98034
  const task = this.task();
97017
98035
  if (!task)
97018
98036
  return;
97019
- if (isUpdateMaintain(task)) {
98037
+ if (isUpdateMaintain(task) && !isBritishColumbiaTask(task)) {
97020
98038
  this.serviceOrderId = "";
97021
98039
  void this.getCurrentData();
97022
98040
  } else if (isChangeOfPrincipalsTask(task) && isBritishColumbiaTask(task)) {
97023
98041
  this.bcDataExtractTaskId = "";
97024
98042
  void this.refreshBritishColumbiaCurrentDataExtract();
98043
+ } else if (isAnnualReturnTask(task) && isBritishColumbiaTask(task)) {
98044
+ void this.loadBritishColumbiaAnnualReportExtract();
97025
98045
  }
97026
98046
  this.activeStep.set(Step.Validate);
97027
98047
  }
@@ -97048,6 +98068,39 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
97048
98068
  }
97049
98069
  });
97050
98070
  }
98071
+ /**
98072
+ * Orders the registry's current data for the BC Annual Report as soon as the task opens, as Change of
98073
+ * Directors does, and keeps what it holds: an incoming officer who is already an officer there is
98074
+ * filed as an edit, not an add. If this fails, Validate orders the extract again.
98075
+ */
98076
+ loadBritishColumbiaAnnualReportExtract() {
98077
+ return __async(this, null, function* () {
98078
+ const task = this.task();
98079
+ const signature = this._signature();
98080
+ if (!task || !signature || !isAnnualReturnTask(task))
98081
+ return;
98082
+ this.bcAnnualReportExtractTaskId = task._id;
98083
+ this.bcAnnualReportExtractId = "";
98084
+ this.bcAnnualReportExtractOfficers = void 0;
98085
+ this.bcAnnualReportExtract.set(void 0);
98086
+ this.errors.set([]);
98087
+ this.isLoading.set(true);
98088
+ try {
98089
+ const opts = this.validateOptions() ?? {};
98090
+ const context2 = buildBCAnnualReportContext(task, signature.env);
98091
+ const extractId = yield this.bcMaintenanceService.orderCurrentDataExtract(signature, context2, opts);
98092
+ const extract = yield this.bcMaintenanceService.waitForCurrentDataExtract(signature, extractId, opts);
98093
+ const officers = toBCExtractOfficers(extract.dataExtract);
98094
+ this.bcAnnualReportExtractId = extractId;
98095
+ this.bcAnnualReportExtractOfficers = officers;
98096
+ this.bcAnnualReportExtract.set(officers);
98097
+ } catch (error) {
98098
+ this.handleCatchError(error);
98099
+ } finally {
98100
+ this.isLoading.set(false);
98101
+ }
98102
+ });
98103
+ }
97051
98104
  parseError(errors) {
97052
98105
  return errors.map((item) => (item["ErrorMessage"] ?? item["Message"] ?? "").toString().trim()).filter((message) => message.length > 0);
97053
98106
  }
@@ -97160,6 +98213,8 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
97160
98213
  initialDelta = isOntarioTask(task) ? this.deltaState.formationInitialDelta() : isBritishColumbiaTask(task) ? this.deltaState.bcFormationInitialDelta() : this.deltaState.federalFormationInitialDelta();
97161
98214
  } else if (isChangeOfAddressTask(task) && isBritishColumbiaTask(task)) {
97162
98215
  initialDelta = this.deltaState.bcChangeOfOfficeAddressesInitialDelta();
98216
+ } else if (isAnnualReturnTask(task) && isBritishColumbiaTask(task)) {
98217
+ initialDelta = this.deltaState.bcAnnualReportInitialDelta();
97163
98218
  } else if (isUpdateMaintain(task)) {
97164
98219
  initialDelta = isOntarioTask(task) ? this.deltaState.initialReturnInitialDelta() : this.deltaState.federalUpdateMaintainInitialDelta();
97165
98220
  } else if (isChangeOfPrincipalsTask(task) && isBritishColumbiaTask(task)) {
@@ -97198,6 +98253,13 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
97198
98253
  corporationNumber: task.entity._profile.corp_number ?? ""
97199
98254
  });
97200
98255
  }
98256
+ if (isAnnualReturnTask(task) && isBritishColumbiaTask(task)) {
98257
+ const extractOfficers = deltaData?.validatedData?.extractOfficers ?? [];
98258
+ return __spreadProps(__spreadValues({}, buildBCAnnualReportValidateRequest(task, deltaData, extractOfficers)), {
98259
+ corporationNumber: task.entity._profile.corp_number ?? "",
98260
+ extractOfficers
98261
+ });
98262
+ }
97201
98263
  if (isUpdateMaintain(task) && isOntarioTask(task)) {
97202
98264
  const serviceOrderId = deltaData?.serviceOrderId ?? this.serviceOrderId;
97203
98265
  if (!serviceOrderId) {
@@ -97226,7 +98288,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
97226
98288
  if (rf & 2) {
97227
98289
  \u0275\u0275styleProp("height", ctx.modalHeight());
97228
98290
  }
97229
- }, 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", "extractReady"], [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", "extractReady"], [3, "close", "deltaDataChange", "file", "validate", "umSave", "umValidate", "umSubmit", "nextStep", "actionsDisabled", "isNote", "activeStep", "task", "errors"], [3, "diameter"]], template: function FilingComponent_Template(rf, ctx) {
98291
+ }, 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", "annualReportExtract"], [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", "annualReportExtract"], [3, "close", "deltaDataChange", "file", "validate", "umSave", "umValidate", "umSubmit", "nextStep", "actionsDisabled", "isNote", "activeStep", "task", "errors"], [3, "diameter"]], template: function FilingComponent_Template(rf, ctx) {
97230
98292
  if (rf & 1) {
97231
98293
  const _r1 = \u0275\u0275getCurrentView();
97232
98294
  \u0275\u0275elementStart(0, "div", 0)(1, "div", 1)(2, "h1", 2);
@@ -97330,7 +98392,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
97330
98392
  [actionsDisabled]="isLoading()"\r
97331
98393
  [errors]="errors()"\r
97332
98394
  [currentDataExtract]="currentDataExtract()"\r
97333
- [extractReady]="bcCoaExtractReady()"\r
98395
+ [annualReportExtract]="bcAnnualReportExtract()"\r
97334
98396
  (close)="close.emit()"\r
97335
98397
  (nextStep)="onNextStepClick()"\r
97336
98398
  (recheckStep)="defineInitialStep()"\r
@@ -97341,6 +98403,9 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
97341
98403
  (coaValidate)="onBritishColumbiaChangeOfOfficeAddressesValidate($event)"\r
97342
98404
  (saveCoaDeltaData)="onBritishColumbiaChangeOfOfficeAddressesSave($event)"\r
97343
98405
  (coaSubmit)="onBritishColumbiaChangeOfOfficeAddressesSubmit()"\r
98406
+ (arValidate)="onBritishColumbiaAnnualReportValidate($event)"\r
98407
+ (saveArDeltaData)="onBritishColumbiaAnnualReportSave($event)"\r
98408
+ (arSubmit)="onBritishColumbiaAnnualReportSubmit()"\r
97344
98409
  (formationValidate)="onBritishColumbiaFormationValidate($event)"\r
97345
98410
  (saveFormationDeltaData)="onBritishColumbiaFormationSave($event)"\r
97346
98411
  (formationSubmit)="onBritishColumbiaFormationSubmit()"\r
@@ -97374,7 +98439,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
97374
98439
  }], () => [], null);
97375
98440
  })();
97376
98441
  (() => {
97377
- (typeof ngDevMode === "undefined" || ngDevMode) && \u0275setClassDebugInfo(FilingComponent, { className: "FilingComponent", filePath: "src/app/components/filing/filing.component.ts", lineNumber: 99 });
98442
+ (typeof ngDevMode === "undefined" || ngDevMode) && \u0275setClassDebugInfo(FilingComponent, { className: "FilingComponent", filePath: "src/app/components/filing/filing.component.ts", lineNumber: 105 });
97378
98443
  })();
97379
98444
  }
97380
98445
  });
@@ -102024,19 +103089,19 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
102024
103089
  "File British Columbia Change of Office Addresses": "File British Columbia Change of Office Addresses",
102025
103090
  "Records Office Address": "Records Office Address",
102026
103091
  "The new addresses will take effect at the beginning of the day following the filing date. The registered and records offices must be located in British Columbia.": "The new addresses will take effect at the beginning of the day following the filing date. The registered and records offices must be located in British Columbia.",
102027
- "The Registered Office mailing address is missing. Add it in UEM, then try again.": "The Registered Office mailing address is missing. Add it in UEM, then try again.",
102028
- "The Registered Office delivery address is missing. Add it in UEM, then try again.": "The Registered Office delivery address is missing. Add it in UEM, then try again.",
102029
- "The Records Office mailing address is missing. Add it in UEM, then try again.": "The Records Office mailing address is missing. Add it in UEM, then try again.",
102030
- "The Records Office delivery address is missing. Add it in UEM, then try again.": "The Records Office delivery address is missing. Add it in UEM, then try again.",
102031
- "Mailing Address": "Mailing Address",
102032
- "Delivery Address": "Delivery Address",
102033
103092
  "Current Mailing Address": "Current Mailing Address",
102034
103093
  "Current Delivery Address": "Current Delivery Address",
102035
103094
  "New Mailing Address": "New Mailing Address",
102036
103095
  "New Delivery Address": "New Delivery Address",
102037
103096
  "Same as Mailing Address": "Same as Mailing Address",
102038
103097
  "Same as Registered Office": "Same as Registered Office",
102039
- "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."
103098
+ "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.",
103099
+ "Company Name": "Company Name",
103100
+ "Name Reservation (NR) Number": "Name Reservation (NR) Number",
103101
+ "File British Columbia Annual Report": "File British Columbia Annual Report",
103102
+ "Would the company like to receive reminders to file its annual reports": "Would the company like to receive reminders to file its annual reports",
103103
+ "Company Email is required": "Company Email is required",
103104
+ "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."
102040
103105
  };
102041
103106
  }
102042
103107
  });
@@ -102386,19 +103451,16 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
102386
103451
  "Without Par Value": "Sans valeur nominale",
102387
103452
  "File British Columbia Change of Office Addresses": "D\xE9poser le changement d'adresses de bureaux de la Colombie-Britannique",
102388
103453
  "The new addresses will take effect at the beginning of the day following the filing date. The registered and records offices must be located in British Columbia.": "Les nouvelles adresses prendront effet au d\xE9but du jour suivant la date de d\xE9p\xF4t. Le si\xE8ge social et le bureau des registres doivent \xEAtre situ\xE9s en Colombie-Britannique.",
102389
- "The Registered Office mailing address is missing. Add it in UEM, then try again.": "L'adresse postale du si\xE8ge social est manquante. Ajoutez-la dans UEM, puis r\xE9essayez.",
102390
- "The Registered Office delivery address is missing. Add it in UEM, then try again.": "L'adresse de livraison du si\xE8ge social est manquante. Ajoutez-la dans UEM, puis r\xE9essayez.",
102391
- "The Records Office mailing address is missing. Add it in UEM, then try again.": "L'adresse postale du bureau des registres est manquante. Ajoutez-la dans UEM, puis r\xE9essayez.",
102392
- "The Records Office delivery address is missing. Add it in UEM, then try again.": "L'adresse de livraison du bureau des registres est manquante. Ajoutez-la dans UEM, puis r\xE9essayez.",
102393
- "Mailing Address": "Adresse postale",
102394
- "Delivery Address": "Adresse de livraison",
102395
103454
  "Current Mailing Address": "Adresse postale actuelle",
102396
103455
  "Current Delivery Address": "Adresse de livraison actuelle",
102397
103456
  "New Mailing Address": "Nouvelle adresse postale",
102398
103457
  "New Delivery Address": "Nouvelle adresse de livraison",
102399
103458
  "Same as Mailing Address": "Identique \xE0 l'adresse postale",
102400
103459
  "Same as Registered Office": "Identique au si\xE8ge social",
102401
- "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."
103460
+ "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.",
103461
+ "File British Columbia Articles of Incorporation": "D\xE9poser les statuts constitutifs de la Colombie-Britannique",
103462
+ "Company Name": "Nom de la soci\xE9t\xE9",
103463
+ "Name Reservation (NR) Number": "Num\xE9ro de r\xE9servation de nom (NR)"
102402
103464
  };
102403
103465
  }
102404
103466
  });