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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dnd-filing-shell.js +1993 -998
  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,479 @@ 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 getBCAnnualReportOfficerChanges(task) {
85264
+ const isOfficer = (a) => isPrincipalAffiliation2(a) && a.role?.role_name === OFFICER_ROLE_NAME && a._participant?.participant_type === "person";
85265
+ return {
85266
+ added: (task.incomingAffiliations ?? []).filter(isOfficer),
85267
+ ceased: (task.outgoingAffiliations ?? []).filter(isOfficer)
85268
+ };
85269
+ }
85270
+ function buildBCAnnualReportContext(task, env) {
85271
+ return {
85272
+ corporationNumber: task.entity._profile.corp_number ?? "",
85273
+ accessCodeOrPassword: getBritishColumbiaAccessCode(task, env),
85274
+ incorporationDate: String(task.entity._compliance?.incorporation_date ?? "").slice(0, 10),
85275
+ filingType: "annualReportFiling"
85276
+ };
85277
+ }
85278
+ function buildBCAnnualReportValidateRequest(task, deltaData) {
85279
+ const { added, ceased } = getBCAnnualReportOfficerChanges(task);
85280
+ return pruneUndefined({
85281
+ filingType: "annualReportFiling",
85282
+ filing: {
85283
+ reference: deltaData.referenceNumbers?.referenceNumber || void 0,
85284
+ docket: deltaData.referenceNumbers?.docketNumber || void 0,
85285
+ addOfficers: added.map(mapAddedOfficer),
85286
+ ceaseOfficers: ceased.map(mapCeasedOfficer),
85287
+ // Athennian does not populate edits (UEM-235 mapping: `editOfficers: []`).
85288
+ editOfficers: [],
85289
+ companyEmail: deltaData.companyEmail?.trim() ?? "",
85290
+ isAnnualReportReminderRequired: Boolean(deltaData.isAnnualReportReminderRequired)
85291
+ }
85292
+ });
85293
+ }
85294
+ function officerAddresses(affiliation) {
85295
+ const addresses = affiliation.addresses?.length ? affiliation.addresses : affiliation.parent_affiliation?.addresses ?? [];
85296
+ const delivery = pickAddress(addresses, "Delivery");
85297
+ return {
85298
+ // Falls back to the first address when none is typed "Mailing", like the other BC filings.
85299
+ mailing: mapAddress(pickAddress(addresses, "Mailing", true)),
85300
+ delivery: delivery ? mapAddress(delivery) : void 0
85301
+ };
85302
+ }
85303
+ function officerName(affiliation) {
85304
+ const profile = affiliation.participant?._profile;
85305
+ return {
85306
+ firstName: profile?.firstName ?? "",
85307
+ middleName: profile?.middleName || void 0,
85308
+ lastName: profile?.lastName ?? ""
85309
+ };
85310
+ }
85311
+ function mapAddedOfficer(affiliation) {
85312
+ const { mailing, delivery } = officerAddresses(affiliation);
85313
+ const isSame = !delivery || sameAddress(delivery, mailing);
85314
+ return __spreadProps(__spreadValues({}, officerName(affiliation)), {
85315
+ positions: toBCOfficerPosition(affiliation.role?.static_title),
85316
+ mailingAddress: mailing,
85317
+ isDeliveryAddressSameAsMailing: isSame,
85318
+ deliveryAddress: isSame ? void 0 : delivery
85319
+ });
85320
+ }
85321
+ function mapCeasedOfficer(affiliation) {
85322
+ const { mailing, delivery } = officerAddresses(affiliation);
85323
+ return __spreadProps(__spreadValues({}, officerName(affiliation)), {
85324
+ mailingAddress: mailing,
85325
+ // The API requires a delivery address to cease an officer; send the mailing address again.
85326
+ deliveryAddress: delivery ?? mailing
85327
+ });
85328
+ }
85329
+ var OFFICER_ROLE_NAME, OFFICER_POSITIONS;
85330
+ var init_british_columbia_annual_report_mapper = __esm({
85331
+ "src/app/helpers/mappers/british-columbia-annual-report.mapper.ts"() {
85332
+ init_common_utils();
85333
+ init_british_columbia_change_of_office_addresses_mapper();
85334
+ init_british_columbia_formation_mapper();
85335
+ OFFICER_ROLE_NAME = "Officer";
85336
+ OFFICER_POSITIONS = /* @__PURE__ */ new Map([
85337
+ ["chairman", "chair"],
85338
+ ["chair", "chair"],
85339
+ ["chair person", "chair"],
85340
+ ["chairwoman", "chair"],
85341
+ ["president", "president"],
85342
+ ["vice-president", "vicePresident"],
85343
+ ["chief executive officer", "ceo"],
85344
+ ["chief financial officer", "cfo"],
85345
+ ["assistant secretary", "assistantSecretary"],
85346
+ ["secretary", "secretary"],
85347
+ ["treasurer", "treasurer"]
85348
+ ]);
85349
+ }
85350
+ });
85351
+
85352
+ // src/app/helpers/british-columbia/annual-report/british-columbia-annual-report-form.helper.ts
85353
+ var BritishColumbiaAnnualReportFormHelper;
85354
+ var init_british_columbia_annual_report_form_helper = __esm({
85355
+ "src/app/helpers/british-columbia/annual-report/british-columbia-annual-report-form.helper.ts"() {
85356
+ init_forms();
85357
+ init_british_columbia_form_enums();
85358
+ init_initial_return_enums();
85359
+ init_BritishColumbiaConstants();
85360
+ init_common_utils();
85361
+ init_british_columbia_annual_report_mapper();
85362
+ init_british_columbia_formation_mapper();
85363
+ init_british_columbia_formation_form_helper();
85364
+ BritishColumbiaAnnualReportFormHelper = class {
85365
+ static generateConfig(task) {
85366
+ const delta = task.deltaData;
85367
+ const { added, ceased } = getBCAnnualReportOfficerChanges(task);
85368
+ const config2 = {};
85369
+ config2[BCAnnualReportFormGroups.General] = new FormGroup({
85370
+ [BCAnnualReportFormControls.ClientMatterNumber]: new FormControl(delta?.referenceNumbers?.referenceNumber ?? task.entity._profile.client_matter_number ?? ""),
85371
+ [BCAnnualReportFormControls.DocketNumber]: new FormControl(delta?.referenceNumbers?.docketNumber ?? ""),
85372
+ [BCAnnualReportFormControls.EntityIdentifier]: new FormControl({
85373
+ value: task.entity._profile.corp_number ?? "",
85374
+ disabled: true
85375
+ })
85376
+ });
85377
+ config2[BCAnnualReportFormGroups.Officers] = new FormArray([
85378
+ ...added.map((officer) => this.generateOfficerFormGroup(officer, IRAffiliationType.Add)),
85379
+ ...ceased.map((officer) => this.generateOfficerFormGroup(officer, IRAffiliationType.Ceased))
85380
+ ]);
85381
+ const emailOptions = this.getCompanyEmailOptions(task);
85382
+ config2[BCAnnualReportFormGroups.CompanyEmail] = new FormGroup({
85383
+ // A saved choice wins; otherwise a lone entity email is preselected, else the user picks one.
85384
+ [BCAnnualReportFormControls.CompanyEmail]: new FormControl(delta?.companyEmail ?? (emailOptions.length === 1 ? emailOptions[0].value : ""), [Validators.required, Validators.email, Validators.maxLength(BC_COMPANY_EMAIL_MAX_LENGTH)])
85385
+ });
85386
+ config2[BCAnnualReportFormGroups.AnnualReportReminder] = new FormGroup({
85387
+ [BCAnnualReportFormControls.IsAnnualReportReminderRequired]: new FormControl(delta?.isAnnualReportReminderRequired ?? false)
85388
+ });
85389
+ return config2;
85390
+ }
85391
+ /** The entity's own emails (built by Athennian), plus a previously saved value that is no longer among them. */
85392
+ static getCompanyEmailOptions(task) {
85393
+ const options = (task.entity.emailOptions ?? []).filter((option) => option.value).map((option) => ({ value: option.value, label: option.value }));
85394
+ const saved = task.deltaData?.companyEmail;
85395
+ if (saved && !options.some((option) => option.value === saved)) {
85396
+ options.push({ value: saved, label: saved });
85397
+ }
85398
+ return options.filter((option, index) => options.findIndex((other) => other.value === option.value) === index);
85399
+ }
85400
+ /** One read-only officer row; `AffiliationType` drives the Add / Cease chip. */
85401
+ static generateOfficerFormGroup(affiliation, affiliationType) {
85402
+ const addresses = affiliation.addresses?.length ? affiliation.addresses : affiliation.parent_affiliation?.addresses ?? [];
85403
+ return new FormGroup({
85404
+ [BCAnnualReportFormControls.Id]: new FormControl(affiliation._id),
85405
+ [BCAnnualReportFormControls.AffiliationName]: new FormControl({
85406
+ value: generateTaskAffiliationFullName(affiliation),
85407
+ disabled: true
85408
+ }),
85409
+ [BCAnnualReportFormControls.Role]: new FormControl({
85410
+ value: affiliation.role?.static_title ?? "",
85411
+ disabled: true
85412
+ }),
85413
+ [BCAnnualReportFormControls.AffiliationType]: new FormControl(affiliationType),
85414
+ [BCAnnualReportFormControls.EffectiveDate]: new FormControl({
85415
+ value: affiliation.start_date ? toYyyyMmDd(affiliation.start_date) ?? "" : "",
85416
+ disabled: true
85417
+ }),
85418
+ [BCAnnualReportFormControls.CeaseDate]: new FormControl({
85419
+ value: affiliation.end_date ? toYyyyMmDd(affiliation.end_date) ?? "" : "",
85420
+ disabled: true
85421
+ }),
85422
+ [BCAnnualReportFormControls.FullAddress]: new FormControl({
85423
+ value: BritishColumbiaFormationFormHelper.formatFullAddress(pickAddress(addresses, "Mailing", true)),
85424
+ disabled: true
85425
+ })
85426
+ });
85427
+ }
85428
+ };
85429
+ }
85430
+ });
85431
+
84933
85432
  // src/app/helpers/british-columbia/change-of-directors/british-columbia-change-of-directors-form.helper.ts
84934
- var Controls, BritishColumbiaChangeOfDirectorsFormHelper;
85433
+ var Controls2, BritishColumbiaChangeOfDirectorsFormHelper;
84935
85434
  var init_british_columbia_change_of_directors_form_helper = __esm({
84936
85435
  "src/app/helpers/british-columbia/change-of-directors/british-columbia-change-of-directors-form.helper.ts"() {
84937
85436
  init_forms();
@@ -84942,7 +85441,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
84942
85441
  init_BritishColumbiaConstants();
84943
85442
  init_custom_validators();
84944
85443
  init_british_columbia_formation_form_helper();
84945
- Controls = BCChangeOfDirectorsFormControls;
85444
+ Controls2 = BCChangeOfDirectorsFormControls;
84946
85445
  BritishColumbiaChangeOfDirectorsFormHelper = class {
84947
85446
  static generateConfig(task, _translateFn, currentDataExtract) {
84948
85447
  const affiliations = task.entity.affiliations ?? [];
@@ -84957,9 +85456,9 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
84957
85456
  const config2 = {};
84958
85457
  config2[BCChangeOfDirectorsFormGroups.ReferenceNumbers] = this.generateReferenceNumbersFormGroup(delta?.referenceNumbers, task.entity._profile?.client_matter_number, delta?.referenceNumbers?.referenceNumber);
84959
85458
  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])
85459
+ [Controls2.CorporationName]: this.readOnly(task.entity._profile.name),
85460
+ [Controls2.IncorporationNumber]: this.readOnly(task.entity._profile.corp_number),
85461
+ [Controls2.CompanyEmail]: new FormControl(companyEmail, [Validators.required, Validators.email])
84963
85462
  });
84964
85463
  const isDirector = (a) => isPrincipalAffiliation2(a) && a.role?.role_name === "Director";
84965
85464
  const incoming = task.incomingAffiliations ?? [];
@@ -84967,9 +85466,9 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
84967
85466
  const ceasedIds = new Set(outgoing.filter(isDirector).map((a) => a._id));
84968
85467
  const hasAddOrCease = ceasedIds.size > 0 || incoming.filter(isDirector).length > 0;
84969
85468
  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)
85469
+ [Controls2.DirectorsAddedOrDeleted]: new FormControl(delta?.filingDetails?.directorsAddedOrDeleted ?? hasAddOrCease),
85470
+ [Controls2.ChangeDate]: this.readOnly(effectiveDate),
85471
+ [Controls2.FilingFee]: this.readOnly(BC_CHANGE_OF_DIRECTORS_FILING_FEE)
84973
85472
  });
84974
85473
  const currentDirectorKeys = this.getCurrentDirectorKeys(currentDataExtract);
84975
85474
  const directors = [
@@ -84981,13 +85480,13 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
84981
85480
  config2[BCChangeOfDirectorsFormGroups.Directors] = new FormArray(directors.length ? directors : fallbackDirectors);
84982
85481
  }
84983
85482
  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)
85483
+ [Controls2.RegisterAsOfDate]: this.readOnly(today),
85484
+ [Controls2.NotificationMethod]: new FormControl(delta?.notification?.method ?? BCNotificationMethod.Email, Validators.required),
85485
+ [Controls2.NotificationEmail]: new FormControl(delta?.notification?.email ?? companyEmail, requiredIfValue(Controls2.NotificationMethod, BCNotificationMethod.Email)),
85486
+ [Controls2.NotificationMailingAddress]: this.readOnly(registeredMailing)
84988
85487
  });
84989
85488
  config2[BCChangeOfDirectorsFormGroups.AnnualReportReminder] = new FormGroup({
84990
- [Controls.AnnualReportReminder]: new FormControl(delta?.annualReportReminder ?? BCAnnualReportReminder.Yes, Validators.required)
85489
+ [Controls2.AnnualReportReminder]: new FormControl(delta?.annualReportReminder ?? BCAnnualReportReminder.Yes, Validators.required)
84991
85490
  });
84992
85491
  return config2;
84993
85492
  }
@@ -85032,18 +85531,18 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
85032
85531
  }
85033
85532
  static generateReferenceNumbersFormGroup(deltaData, clientMatterNumber, savedClientMatterNumber) {
85034
85533
  return new FormGroup({
85035
- [Controls.ClientMatterNumber]: new FormControl(clientMatterNumber ?? savedClientMatterNumber ?? ""),
85036
- [Controls.DocketNumber]: new FormControl(deltaData?.docketNumber ?? "")
85534
+ [Controls2.ClientMatterNumber]: new FormControl(clientMatterNumber ?? savedClientMatterNumber ?? ""),
85535
+ [Controls2.DocketNumber]: new FormControl(deltaData?.docketNumber ?? "")
85037
85536
  });
85038
85537
  }
85039
85538
  static generateDirectorFormGroup(affiliation, affiliationType) {
85040
85539
  const addresses = affiliation.addresses?.length ? affiliation.addresses : affiliation.parent_affiliation?.addresses ?? [];
85041
85540
  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")))
85541
+ [Controls2.Id]: new FormControl(affiliation._id),
85542
+ [Controls2.AffiliationName]: this.readOnly(generateTaskAffiliationFullName(affiliation)),
85543
+ [Controls2.AffiliationType]: this.readOnly(affiliationType),
85544
+ [Controls2.MailingAddress]: this.readOnly(BritishColumbiaFormationFormHelper.formatFullAddress(BritishColumbiaFormationFormHelper.pickAddress(addresses, "Mailing"))),
85545
+ [Controls2.DeliveryAddress]: this.readOnly(BritishColumbiaFormationFormHelper.formatFullAddress(BritishColumbiaFormationFormHelper.pickAddress(addresses, "Delivery")))
85047
85546
  });
85048
85547
  }
85049
85548
  static generateDirectorFormGroupsFromChangeDirectors(task) {
@@ -85074,11 +85573,11 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
85074
85573
  static generateDirectorFormGroupFromPayload(director, affiliationType) {
85075
85574
  const name = director?.PersonName ?? director?.personName ?? director;
85076
85575
  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))
85576
+ [Controls2.Id]: new FormControl(director?.Id ?? director?.id ?? ""),
85577
+ [Controls2.AffiliationName]: this.readOnly(this.formatDirectorName(name?.FirstName ?? name?.firstName, name?.MiddleName ?? name?.middleName, name?.LastName ?? name?.lastName)),
85578
+ [Controls2.AffiliationType]: this.readOnly(affiliationType),
85579
+ [Controls2.MailingAddress]: this.readOnly(this.formatPayloadAddress(director?.mailingAddress ?? director?.MailingAddress ?? director)),
85580
+ [Controls2.DeliveryAddress]: this.readOnly(this.formatPayloadAddress(director?.deliveryAddress ?? director?.DeliveryAddress ?? director))
85082
85581
  });
85083
85582
  }
85084
85583
  static formatDirectorName(firstName, middleName, lastName) {
@@ -85107,320 +85606,891 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
85107
85606
  }
85108
85607
  });
85109
85608
 
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();
85609
+ // src/app/constants/ui/british-columbia-formation-form.constants.ts
85610
+ var BC_NAME_TYPE_OPTIONS, labelledValue, isNamed, BC_FORMATION_DELTA_CARD_FORM_REFERENCE_NUMBERS_FIELDS, BC_FORMATION_DELTA_CARD_FORM_CORPORATION_DETAILS_FIELDS, BC_FORMATION_DELTA_CARD_FORM_NAME_TRANSLATION_FIELDS, BC_FORMATION_DELTA_CARD_FORM_NAME_TRANSLATION_ROW_FIELDS, BC_FORMATION_CARD_FORM_REGISTERED_OFFICE_FIELDS, BC_FORMATION_CARD_FORM_RECORDS_OFFICE_FIELDS, BC_FORMATION_DELTA_CARD_FORM_COMPLETING_PARTY_FIELDS, BC_FORMATION_CARD_FORM_DIRECTORS_FIELDS, BC_FORMATION_CARD_FORM_INCORPORATORS_FIELDS;
85611
+ var init_british_columbia_formation_form_constants = __esm({
85612
+ "src/app/constants/ui/british-columbia-formation-form.constants.ts"() {
85613
+ init_form_enums();
85116
85614
  init_british_columbia_form_enums();
85117
85615
  init_BritishColumbiaConstants();
85118
85616
  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 incomingSeed = this.seedFromIncomingAffiliations(task);
85142
- const seed = this.withCurrentAddresses(incomingSeed, incoming, registeredOffice, recordsOffice, extract);
85143
- const config2 = {};
85144
- config2[BCChangeOfOfficeAddressesFormGroups.ReferenceNumbers] = this.generateReferenceNumbersFormGroup(delta?.referenceNumbers, task.entity._profile.client_matter_number);
85145
- config2[BCChangeOfOfficeAddressesFormGroups.CorporationDetails] = new FormGroup({
85146
- [Controls2.CorporationName]: this.readOnly(task.entity._profile.name),
85147
- [Controls2.IncorporationNumber]: this.readOnly(task.entity._profile.corp_number),
85148
- [Controls2.CompanyEmail]: new FormControl(delta?.companyEmail || this.resolveCompanyEmail(task), Validators.required)
85149
- });
85150
- config2[BCChangeOfOfficeAddressesFormGroups.AnnualReportReminder] = new FormGroup({
85151
- [Controls2.AnnualReportReminder]: new FormControl(delta?.annualReportReminder ?? BCAnnualReportReminder.Yes, Validators.required)
85152
- });
85153
- const regDeliverySame = seed.registeredOffice?.deliverySameAsMailing ?? true;
85154
- config2[BCChangeOfOfficeAddressesFormGroups.RegisteredOfficeAddress] = new FormGroup({
85155
- [Controls2.CurrentMailingAddress]: this.readOnly(this.previousText(extract, "regMailing", format(pick(registeredOffice?.addresses, "Mailing")))),
85156
- [Controls2.CurrentDeliveryAddress]: this.readOnly(this.previousText(extract, "regDelivery", format(pick(registeredOffice?.addresses, "Delivery")))),
85157
- [Controls2.NewMailingAddress]: this.createOfficeAddressFormGroup(seed.registeredOffice?.mailingAddress, true),
85158
- [Controls2.DeliverySameAsMailing]: new FormControl(regDeliverySame),
85159
- [Controls2.NewDeliveryAddress]: this.createOfficeAddressFormGroup(seed.registeredOffice?.deliveryAddress, !regDeliverySame)
85160
- });
85161
- const recSameAsRegistered = seed.recordsOffice?.sameAsRegisteredOffice ?? true;
85162
- const recDeliverySame = seed.recordsOffice?.deliverySameAsMailing ?? true;
85163
- config2[BCChangeOfOfficeAddressesFormGroups.RecordsOfficeAddress] = new FormGroup({
85164
- [Controls2.CurrentMailingAddress]: this.readOnly(this.previousText(extract, "recMailing", format(pick(recordsOffice?.addresses, "Mailing")))),
85165
- [Controls2.CurrentDeliveryAddress]: this.readOnly(this.previousText(extract, "recDelivery", format(pick(recordsOffice?.addresses, "Delivery")))),
85166
- [Controls2.SameAsRegisteredOffice]: new FormControl(recSameAsRegistered),
85167
- [Controls2.NewMailingAddress]: this.createOfficeAddressFormGroup(seed.recordsOffice?.mailingAddress, !recSameAsRegistered),
85168
- [Controls2.DeliverySameAsMailing]: new FormControl(recDeliverySame),
85169
- [Controls2.NewDeliveryAddress]: this.createOfficeAddressFormGroup(seed.recordsOffice?.deliveryAddress, !recSameAsRegistered && !recDeliverySame)
85170
- });
85171
- const grid = (group2, control) => config2[group2].get(control);
85172
- const register = (target, address) => address && incomingAddressByGrid.set(target, address);
85173
- register(grid(BCChangeOfOfficeAddressesFormGroups.RegisteredOfficeAddress, Controls2.NewDeliveryAddress), incoming.regDelivery);
85174
- register(grid(BCChangeOfOfficeAddressesFormGroups.RecordsOfficeAddress, Controls2.NewMailingAddress), incoming.recMailing);
85175
- register(grid(BCChangeOfOfficeAddressesFormGroups.RecordsOfficeAddress, Controls2.NewDeliveryAddress), incoming.recDelivery);
85176
- return config2;
85177
- }
85178
- /** The company email choices: the entity's email options, plus the resolved default if it isn't one. */
85179
- static getCompanyEmailOptions(task) {
85180
- const values = (task.entity.emailOptions ?? []).filter(isCompanyEmail).map((o) => o.value);
85181
- const fallback = this.resolveCompanyEmail(task);
85182
- return [...new Set(fallback ? [...values, fallback] : values)].map((value) => ({
85183
- value,
85184
- label: value
85185
- }));
85617
+ BC_NAME_TYPE_OPTIONS = Object.values(BCNameType).filter((v) => typeof v === "number").map((v) => ({ label: BCNameTypeLabel[v], value: v }));
85618
+ labelledValue = (label, value, t) => `<span class="body-1-semibold">${t(label)}:</span> ${value || t("None")}`;
85619
+ isNamed = (form) => form.get(BCFormationFormControls.CorporationNameType)?.value === BCNameType.Named;
85620
+ BC_FORMATION_DELTA_CARD_FORM_REFERENCE_NUMBERS_FIELDS = [
85621
+ {
85622
+ type: FormType.Input,
85623
+ label: "Client/Matter Number",
85624
+ formControlName: BCFormationFormControls.ClientMatterNumber
85625
+ },
85626
+ {
85627
+ type: FormType.Input,
85628
+ label: "Docket Number",
85629
+ formControlName: BCFormationFormControls.DocketNumber
85186
85630
  }
85187
- /**
85188
- * Pre-fills the new addresses from the task's incoming "Shared Address" affiliations (Registered
85189
- * Office / Records Office), taking each Mailing / Delivery address from the affiliation or, when
85190
- * it has none, from its parent affiliation. Nothing is pre-filled without an incoming address.
85191
- */
85192
- static seedFromIncomingAffiliations(task) {
85193
- const { regMailing, regDelivery, recMailing, recDelivery } = this.incomingOfficeAddresses(task);
85194
- if (!regMailing && !recMailing) {
85195
- return {};
85631
+ ];
85632
+ BC_FORMATION_DELTA_CARD_FORM_CORPORATION_DETAILS_FIELDS = [
85633
+ {
85634
+ type: FormType.Select,
85635
+ label: "Corporation Name Type",
85636
+ formControlName: BCFormationFormControls.CorporationNameType,
85637
+ required: true,
85638
+ options: BC_NAME_TYPE_OPTIONS,
85639
+ needTranslate: true,
85640
+ onChange: (form) => {
85641
+ form.get(BCFormationFormControls.CompanyName)?.updateValueAndValidity({ emitEvent: false });
85642
+ form.get(BCFormationFormControls.NameReservationNumber)?.updateValueAndValidity({ emitEvent: false });
85196
85643
  }
85197
- const regDeliverySame = !regDelivery || this.isSameOfficeAddress(regDelivery, regMailing);
85198
- const recDeliverySame = !recDelivery || this.isSameOfficeAddress(recDelivery, recMailing);
85199
- const recSameAsRegistered = !recMailing || this.isSameOfficeAddress(recMailing, regMailing) && this.isSameOfficeAddress(recDelivery ?? recMailing, regDelivery ?? regMailing);
85200
- return {
85201
- registeredOffice: {
85202
- mailingAddress: regMailing,
85203
- deliverySameAsMailing: regDeliverySame,
85204
- deliveryAddress: regDeliverySame ? void 0 : regDelivery
85205
- },
85206
- recordsOffice: {
85207
- sameAsRegisteredOffice: recSameAsRegistered,
85208
- mailingAddress: recSameAsRegistered ? void 0 : recMailing,
85209
- deliverySameAsMailing: recDeliverySame,
85210
- deliveryAddress: recDeliverySame ? void 0 : recDelivery
85211
- }
85212
- };
85644
+ },
85645
+ {
85646
+ type: FormType.Text,
85647
+ formControlName: "",
85648
+ class: "span-6 beside-select",
85649
+ // Numbered only: a Named company shows no preview of the typed name.
85650
+ isVisible: (form) => !isNamed(form),
85651
+ dynamicLabel: () => BC_NUMBERED_NAME_PREVIEW
85652
+ },
85653
+ {
85654
+ type: FormType.Input,
85655
+ label: "Proposed Corporate Name",
85656
+ formControlName: BCFormationFormControls.CompanyName,
85657
+ required: true,
85658
+ isVisible: isNamed,
85659
+ class: "column-3"
85660
+ },
85661
+ {
85662
+ type: FormType.Input,
85663
+ label: "Name Reservation #",
85664
+ formControlName: BCFormationFormControls.NameReservationNumber,
85665
+ required: true,
85666
+ maxLength: 9,
85667
+ errorMessage: "Enter a valid Name Reservation number (for example NR1234567)",
85668
+ showRequiredMessage: true,
85669
+ isVisible: isNamed,
85670
+ class: "span-6"
85671
+ },
85672
+ {
85673
+ type: FormType.Text,
85674
+ formControlName: BCFormationFormControls.RequestedDateForIncorporation,
85675
+ class: "span-12 spaced-text",
85676
+ dynamicLabel: (form, t) => labelledValue("Requested Date for Incorporation", form.get(BCFormationFormControls.RequestedDateForIncorporation)?.value, t)
85677
+ },
85678
+ {
85679
+ type: FormType.Text,
85680
+ formControlName: BCFormationFormControls.IsFutureEffectiveDate,
85681
+ class: "span-12 fee-warning",
85682
+ isVisible: (form) => Boolean(form.get(BCFormationFormControls.IsFutureEffectiveDate)?.value),
85683
+ dynamicLabel: (_, t) => t("There is an additional fee of {{fee}} for an effective date in the future.").replace("{{fee}}", BC_FUTURE_EFFECTIVE_DATE_FEE)
85684
+ },
85685
+ {
85686
+ // Options are filled per task from `task.entity.emailOptions` by the incorporation form.
85687
+ type: FormType.Select,
85688
+ label: "Company Email",
85689
+ formControlName: BCFormationFormControls.CompanyEmail,
85690
+ required: true,
85691
+ options: [],
85692
+ class: "span-6"
85213
85693
  }
85214
- /**
85215
- * For an office without an incoming address, the new address is its
85216
- * current address on the register (so the filing leaves it unchanged). A current address outside
85217
- * British Columbia is not used: the office is then reported as missing.
85218
- */
85219
- static withCurrentAddresses(seed, incoming, registeredOffice, recordsOffice, extract) {
85220
- const pickBy = BritishColumbiaFormationFormHelper.pickAddress;
85221
- const current = (office, type, key) => {
85222
- if (extract) {
85223
- const registry = extract[key];
85224
- return registry && this.isBritishColumbiaExtract(registry) ? this.extractToOfficeAddressDelta(registry) : void 0;
85694
+ // The company password is not shown: it is taken from the entity's registry ID.
85695
+ ];
85696
+ BC_FORMATION_DELTA_CARD_FORM_NAME_TRANSLATION_FIELDS = [
85697
+ {
85698
+ type: FormType.Checkbox,
85699
+ label: "This company uses one or more translations of its name outside of Canada.",
85700
+ formControlName: BCFormationFormControls.UsesNameTranslation,
85701
+ class: "span-12",
85702
+ onChange: (form) => {
85703
+ const rows = form.get(BCFormationFormControls.NameTranslations);
85704
+ const enabled = Boolean(form.get(BCFormationFormControls.UsesNameTranslation)?.value);
85705
+ if (!rows) {
85706
+ return;
85225
85707
  }
85226
- const address = pickBy(office?.addresses, type);
85227
- return address && this.isBritishColumbia(address) ? this.toOfficeAddressDelta(address) : void 0;
85228
- };
85229
- const result = __spreadValues({}, seed);
85230
- if (!incoming.regMailing) {
85231
- const mailing = current(registeredOffice, "Mailing", "regMailing");
85232
- const delivery = current(registeredOffice, "Delivery", "regDelivery");
85233
- if (mailing) {
85234
- const same = !delivery || this.isSameOfficeAddress(delivery, mailing);
85235
- result.registeredOffice = {
85236
- mailingAddress: mailing,
85237
- deliverySameAsMailing: same,
85238
- deliveryAddress: same ? void 0 : delivery
85239
- };
85708
+ if (enabled && rows.length === 0) {
85709
+ rows.push(BritishColumbiaFormationFormHelper.createNameTranslationFormGroup());
85240
85710
  }
85241
- }
85242
- if (!incoming.recMailing) {
85243
- const mailing = current(recordsOffice, "Mailing", "recMailing");
85244
- const delivery = current(recordsOffice, "Delivery", "recDelivery");
85245
- if (mailing) {
85246
- const registeredMailing = result.registeredOffice?.mailingAddress;
85247
- const registeredDelivery = result.registeredOffice?.deliveryAddress ?? registeredMailing;
85248
- const sameAsRegistered = this.isSameOfficeAddress(mailing, registeredMailing) && this.isSameOfficeAddress(delivery ?? mailing, registeredDelivery);
85249
- const deliverySame = !delivery || this.isSameOfficeAddress(delivery, mailing);
85250
- result.recordsOffice = {
85251
- sameAsRegisteredOffice: sameAsRegistered,
85252
- mailingAddress: sameAsRegistered ? void 0 : mailing,
85253
- deliverySameAsMailing: deliverySame,
85254
- deliveryAddress: deliverySame ? void 0 : delivery
85255
- };
85256
- } else {
85257
- result.recordsOffice = { sameAsRegisteredOffice: false, deliverySameAsMailing: false };
85711
+ if (!enabled) {
85712
+ rows.clear();
85258
85713
  }
85259
85714
  }
85260
- return result;
85715
+ },
85716
+ {
85717
+ type: FormType.Text,
85718
+ formControlName: "",
85719
+ class: "span-12",
85720
+ isVisible: (form) => Boolean(form.get(BCFormationFormControls.UsesNameTranslation)?.value),
85721
+ dynamicLabel: (_, t) => `<span class="body-1-semibold">${t("Note")}:</span> ${t("Name translations must use the Latin Alphabet (English, French, etc.). Names that use other writing systems must spell the name phonetically in English or French.")}`
85261
85722
  }
85262
- /** The four office addresses of the registry's data extract, or undefined when there is none. */
85263
- static officeExtract(extract) {
85264
- const data = extract?.dataExtract;
85265
- if (!data || !(data["registeredOfficeMailingAddress"] || data["registeredOfficeDeliveryAddress"] || data["recordsOfficeMailingAddress"] || data["recordsOfficeDeliveryAddress"])) {
85266
- return void 0;
85267
- }
85268
- return {
85269
- regMailing: data["registeredOfficeMailingAddress"],
85270
- regDelivery: data["registeredOfficeDeliveryAddress"],
85271
- recMailing: data["recordsOfficeMailingAddress"],
85272
- recDelivery: data["recordsOfficeDeliveryAddress"]
85273
- };
85723
+ ];
85724
+ BC_FORMATION_DELTA_CARD_FORM_NAME_TRANSLATION_ROW_FIELDS = [
85725
+ {
85726
+ type: FormType.Input,
85727
+ label: "Name Translation",
85728
+ formControlName: BCFormationFormControls.NameTranslation,
85729
+ required: true,
85730
+ class: "span-6"
85274
85731
  }
85275
- /** The "Previous" text of an office line: the registry's address, else the Entity's own. */
85276
- static previousText(extract, key, fallback) {
85277
- if (!extract) {
85278
- return fallback;
85732
+ ];
85733
+ BC_FORMATION_CARD_FORM_REGISTERED_OFFICE_FIELDS = [
85734
+ {
85735
+ type: FormType.Text,
85736
+ formControlName: BCFormationFormControls.MailingAddress,
85737
+ class: "span-12",
85738
+ dynamicLabel: (form, t) => labelledValue("Mailing Address - Full Address", form.get(BCFormationFormControls.MailingAddress)?.value, t)
85739
+ },
85740
+ {
85741
+ type: FormType.Text,
85742
+ formControlName: BCFormationFormControls.DeliveryAddress,
85743
+ class: "span-12",
85744
+ dynamicLabel: (form, t) => labelledValue("Delivery Address - Full Address", form.get(BCFormationFormControls.DeliveryAddress)?.value, t)
85745
+ }
85746
+ ];
85747
+ BC_FORMATION_CARD_FORM_RECORDS_OFFICE_FIELDS = [
85748
+ {
85749
+ type: FormType.Text,
85750
+ formControlName: BCFormationFormControls.RecordsOfficeMailingAddress,
85751
+ class: "span-12",
85752
+ dynamicLabel: (form, t) => labelledValue("Mailing Address - Full Address", form.get(BCFormationFormControls.RecordsOfficeMailingAddress)?.value, t)
85753
+ },
85754
+ {
85755
+ type: FormType.Text,
85756
+ formControlName: BCFormationFormControls.RecordsOfficeDeliveryAddress,
85757
+ class: "span-12",
85758
+ dynamicLabel: (form, t) => labelledValue("Delivery Address - Full Address", form.get(BCFormationFormControls.RecordsOfficeDeliveryAddress)?.value, t)
85759
+ }
85760
+ ];
85761
+ BC_FORMATION_DELTA_CARD_FORM_COMPLETING_PARTY_FIELDS = [
85762
+ {
85763
+ type: FormType.Input,
85764
+ label: "First Name",
85765
+ formControlName: BCFormationFormControls.CompletingPartyFirstName,
85766
+ required: true,
85767
+ class: "column-3"
85768
+ },
85769
+ {
85770
+ type: FormType.Input,
85771
+ label: "Middle Name",
85772
+ formControlName: BCFormationFormControls.CompletingPartyMiddleName,
85773
+ class: "column-3"
85774
+ },
85775
+ {
85776
+ type: FormType.Input,
85777
+ label: "Last Name",
85778
+ formControlName: BCFormationFormControls.CompletingPartyLastName,
85779
+ required: true,
85780
+ class: "column-3"
85781
+ },
85782
+ {
85783
+ type: FormType.Input,
85784
+ inputType: "email",
85785
+ label: "Email",
85786
+ formControlName: BCFormationFormControls.CompletingPartyEmail,
85787
+ required: true,
85788
+ errorMessage: "Enter a valid email address",
85789
+ showRequiredMessage: true,
85790
+ class: "column-3"
85791
+ },
85792
+ {
85793
+ type: FormType.Text,
85794
+ formControlName: "",
85795
+ class: "span-12",
85796
+ dynamicLabel: (_, t) => t("A copy of the filed Incorporation Application is emailed to this address.")
85797
+ },
85798
+ {
85799
+ type: FormType.Input,
85800
+ label: "Street Address",
85801
+ formControlName: BCFormationFormControls.AddressLine1,
85802
+ required: true,
85803
+ class: "column-3"
85804
+ },
85805
+ {
85806
+ type: FormType.Input,
85807
+ label: "Additional Street Address",
85808
+ formControlName: BCFormationFormControls.AddressLine2,
85809
+ class: "column-3"
85810
+ },
85811
+ {
85812
+ type: FormType.Input,
85813
+ label: "City",
85814
+ formControlName: BCFormationFormControls.City,
85815
+ required: true,
85816
+ class: "column-2"
85817
+ },
85818
+ {
85819
+ type: FormType.Input,
85820
+ label: "Province / State",
85821
+ formControlName: BCFormationFormControls.ProvinceState,
85822
+ required: true,
85823
+ class: "column-2"
85824
+ },
85825
+ {
85826
+ type: FormType.Input,
85827
+ label: "Postal / Zip Code",
85828
+ formControlName: BCFormationFormControls.PostalZip,
85829
+ required: true,
85830
+ errorMessage: "Enter a valid Canadian postal code (for example V8W 1X4)",
85831
+ showRequiredMessage: true,
85832
+ class: "column-2"
85833
+ },
85834
+ {
85835
+ type: FormType.Select,
85836
+ label: "Country",
85837
+ formControlName: BCFormationFormControls.Country,
85838
+ required: true,
85839
+ options: BC_COMPLETING_PARTY_COUNTRY_OPTIONS,
85840
+ class: "span-4",
85841
+ // Province / State is required for Canada and the US, and the postal code format is Canada-only.
85842
+ onChange: (form) => {
85843
+ [BCFormationFormControls.ProvinceState, BCFormationFormControls.PostalZip].forEach((control) => form.get(control)?.updateValueAndValidity({ emitEvent: false }));
85279
85844
  }
85280
- const address = extract[key];
85281
- const province = this.isBritishColumbiaExtract(address) ? BC_DEFAULT_PROVINCE_STATE : address?.provinceOrState;
85282
- const country = (address?.country ?? "").toUpperCase() === "CA" ? BC_DEFAULT_COUNTRY : address?.country;
85283
- return [
85284
- address?.streetAddress,
85285
- address?.additionalStreetAddress,
85286
- address?.city,
85287
- province,
85288
- address?.postalOrZipCode,
85289
- country
85290
- ].filter((part) => Boolean(part?.trim())).join(", ");
85845
+ },
85846
+ {
85847
+ type: FormType.Checkbox,
85848
+ // Checkbox labels don't get the renderer's required asterisk, so it is added here (AC2).
85849
+ dynamicLabel: (_, t) => `${t("The Completing Party confirms they have examined the Articles and the Incorporation Agreement, and the signature requirements have been met.")} *`,
85850
+ formControlName: BCFormationFormControls.HasConfirmedCompletion,
85851
+ required: true,
85852
+ class: "span-12"
85853
+ },
85854
+ {
85855
+ type: FormType.Checkbox,
85856
+ // Checkbox labels don't get the renderer's required asterisk, so it is added here (AC2).
85857
+ dynamicLabel: (_, t) => `${t("I have a signed Incorporation Agreement and a set of Articles for the company to be incorporated.")} *`,
85858
+ formControlName: BCFormationFormControls.HasRequiredDocuments,
85859
+ required: true,
85860
+ class: "span-12"
85291
85861
  }
85292
- static isBritishColumbiaExtract(address) {
85293
- const province = (address?.provinceOrState ?? "").trim().toLowerCase();
85294
- return !!address && ["bc", "b.c.", "british columbia"].includes(province);
85862
+ ];
85863
+ BC_FORMATION_CARD_FORM_DIRECTORS_FIELDS = [
85864
+ {
85865
+ type: FormType.Text,
85866
+ formControlName: BCFormationFormControls.MailingAddress,
85867
+ class: "span-12",
85868
+ dynamicLabel: (form, t) => labelledValue("Mailing Address - Full Address", form.get(BCFormationFormControls.MailingAddress)?.value, t)
85869
+ },
85870
+ {
85871
+ type: FormType.Text,
85872
+ formControlName: BCFormationFormControls.DeliveryAddress,
85873
+ class: "span-12",
85874
+ // A director without a Delivery address is filed with "delivery same as mailing", so the
85875
+ // Mailing address is shown, as in the draft.
85876
+ dynamicLabel: (form, t) => labelledValue("Delivery Address - Full Address", form.get(BCFormationFormControls.DeliveryAddress)?.value || form.get(BCFormationFormControls.MailingAddress)?.value, t)
85295
85877
  }
85296
- static extractToOfficeAddressDelta(address) {
85297
- return {
85298
- addressLine1: address.streetAddress ?? "",
85299
- addressLine2: address.additionalStreetAddress ?? "",
85300
- city: address.city ?? "",
85301
- postalCode: address.postalOrZipCode ?? "",
85302
- province: BC_DEFAULT_PROVINCE_STATE,
85303
- country: BC_DEFAULT_COUNTRY
85304
- };
85878
+ ];
85879
+ BC_FORMATION_CARD_FORM_INCORPORATORS_FIELDS = [
85880
+ {
85881
+ type: FormType.Text,
85882
+ formControlName: BCFormationFormControls.FullAddress,
85883
+ class: "span-12",
85884
+ dynamicLabel: (form, t) => labelledValue("Full Address", form.get(BCFormationFormControls.FullAddress)?.value, t)
85305
85885
  }
85306
- /** The four office addresses of the task's incoming Shared Address, as form values. */
85307
- static incomingOfficeAddresses(task) {
85308
- const incoming = task.incomingAffiliations ?? [];
85309
- const pickBy = (title, locationType) => {
85310
- 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 ?? []);
85311
- const wanted = locationType.toLowerCase();
85312
- const address = pool.find((a) => (a.computed_location_type ?? "").toLowerCase() === wanted || (a.location_type ?? "").toLowerCase() === wanted);
85313
- return address && this.isBritishColumbia(address) ? this.toOfficeAddressDelta(address) : void 0;
85314
- };
85315
- return {
85316
- regMailing: pickBy(AddressTitle2.REGISTERED_OFFICE, "Mailing"),
85317
- regDelivery: pickBy(AddressTitle2.REGISTERED_OFFICE, "Delivery"),
85318
- recMailing: pickBy(AddressTitle2.RECORDS_OFFICE, "Mailing"),
85319
- recDelivery: pickBy(AddressTitle2.RECORDS_OFFICE, "Delivery")
85320
- };
85886
+ ];
85887
+ }
85888
+ });
85889
+
85890
+ // src/app/constants/ui/british-columbia-annual-report-form.constants.ts
85891
+ var BC_ANNUAL_REPORT_GENERAL_FIELDS, BC_ANNUAL_REPORT_OFFICERS_FIELDS, buildBCAnnualReportCompanyEmailFields, BC_ANNUAL_REPORT_REMINDER_FIELDS;
85892
+ var init_british_columbia_annual_report_form_constants = __esm({
85893
+ "src/app/constants/ui/british-columbia-annual-report-form.constants.ts"() {
85894
+ init_form_enums();
85895
+ init_british_columbia_form_enums();
85896
+ init_british_columbia_formation_form_constants();
85897
+ BC_ANNUAL_REPORT_GENERAL_FIELDS = [
85898
+ {
85899
+ type: FormType.Input,
85900
+ label: "Client/Matter Number",
85901
+ formControlName: BCAnnualReportFormControls.ClientMatterNumber
85902
+ },
85903
+ {
85904
+ type: FormType.Input,
85905
+ label: "Docket Number",
85906
+ formControlName: BCAnnualReportFormControls.DocketNumber
85907
+ },
85908
+ {
85909
+ type: FormType.Text,
85910
+ formControlName: BCAnnualReportFormControls.EntityIdentifier,
85911
+ class: "span-12",
85912
+ dynamicLabel: (form, t) => labelledValue("Entity Identifier", form.get(BCAnnualReportFormControls.EntityIdentifier)?.value, t)
85321
85913
  }
85322
- /** Street = street number + street name; the suite goes to Address Line 2. */
85323
- static toOfficeAddressDelta(address) {
85324
- const street = [getAddressComponent(address, "Street Number Only"), getAddressComponent(address, "Street Only")].filter(Boolean).join(" ") || getAddressComponent(address, "Street Address") || address.street || "";
85325
- return {
85326
- addressLine1: street,
85327
- addressLine2: getAddressComponent(address, "Suite/Apartment") || address.address2 || "",
85328
- city: address.city ?? "",
85329
- postalCode: address.postal_zip ?? "",
85330
- province: BC_DEFAULT_PROVINCE_STATE,
85331
- country: BC_DEFAULT_COUNTRY
85332
- };
85914
+ ];
85915
+ BC_ANNUAL_REPORT_OFFICERS_FIELDS = [
85916
+ {
85917
+ type: FormType.Text,
85918
+ formControlName: BCAnnualReportFormControls.EffectiveDate,
85919
+ class: "span-12",
85920
+ dynamicLabel: (form, t) => labelledValue("Effective Date", form.get(BCAnnualReportFormControls.EffectiveDate)?.value, t)
85921
+ },
85922
+ {
85923
+ type: FormType.Text,
85924
+ formControlName: BCAnnualReportFormControls.CeaseDate,
85925
+ class: "span-12",
85926
+ dynamicLabel: (form, t) => labelledValue("Cease Date", form.get(BCAnnualReportFormControls.CeaseDate)?.value, t)
85927
+ },
85928
+ {
85929
+ type: FormType.Text,
85930
+ formControlName: BCAnnualReportFormControls.FullAddress,
85931
+ class: "span-12",
85932
+ dynamicLabel: (form, t) => labelledValue("Full Address", form.get(BCAnnualReportFormControls.FullAddress)?.value, t)
85333
85933
  }
85334
- /** An address with no province is accepted; the form only ever deals in British Columbia. */
85335
- static isBritishColumbia(address) {
85336
- const province = (address.province_state ?? "").trim().toLowerCase();
85337
- return !province || ["bc", "b.c.", "british columbia"].includes(province);
85934
+ ];
85935
+ buildBCAnnualReportCompanyEmailFields = (options) => [
85936
+ {
85937
+ type: FormType.Select,
85938
+ label: "Company Email",
85939
+ formControlName: BCAnnualReportFormControls.CompanyEmail,
85940
+ required: true,
85941
+ options,
85942
+ errorMessage: "Company Email is required",
85943
+ class: "span-6"
85338
85944
  }
85339
- static isSameOfficeAddress(a, b) {
85340
- const key = (x) => [x?.addressLine1, x?.addressLine2, x?.city, x?.postalCode].map((v) => (v ?? "").trim().toLowerCase().replace(/\s+/g, " ")).join("|");
85341
- return key(a) === key(b);
85945
+ ];
85946
+ BC_ANNUAL_REPORT_REMINDER_FIELDS = [
85947
+ {
85948
+ type: FormType.Checkbox,
85949
+ label: "Would the company like to receive reminders to file its annual reports",
85950
+ formControlName: BCAnnualReportFormControls.IsAnnualReportReminderRequired,
85951
+ class: "span-12"
85342
85952
  }
85343
- /**
85344
- * The company's email: the entity's email options, then the Registered Office's email, then the
85345
- * entity's own, then any other address of the entity (e.g. a Head Office). Only a Business Email
85346
- * or an Email counts; a Personal Email never does.
85347
- */
85348
- static resolveCompanyEmail(task) {
85349
- const affiliations = task.entity.affiliations ?? [];
85350
- const registeredOffice = BritishColumbiaFormationFormHelper.findSharedAddressAffiliation(affiliations, AddressTitle2.REGISTERED_OFFICE);
85351
- 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 || "";
85953
+ ];
85954
+ }
85955
+ });
85956
+
85957
+ // src/app/components/british-columbia/annual-report/british-columbia-annual-report-form/british-columbia-annual-report-form.component.ts
85958
+ function BritishColumbiaAnnualReportFormComponent_Conditional_1_Template(rf, ctx) {
85959
+ if (rf & 1) {
85960
+ \u0275\u0275element(0, "alert", 1);
85961
+ }
85962
+ if (rf & 2) {
85963
+ const ctx_r0 = \u0275\u0275nextContext();
85964
+ \u0275\u0275property("type", ctx_r0.alertType.Info);
85965
+ }
85966
+ }
85967
+ function BritishColumbiaAnnualReportFormComponent_Conditional_2_Template(rf, ctx) {
85968
+ if (rf & 1) {
85969
+ \u0275\u0275element(0, "alert", 2);
85970
+ }
85971
+ if (rf & 2) {
85972
+ const ctx_r0 = \u0275\u0275nextContext();
85973
+ \u0275\u0275property("content", ctx_r0.errors());
85974
+ }
85975
+ }
85976
+ function BritishColumbiaAnnualReportFormComponent_Conditional_5_Template(rf, ctx) {
85977
+ if (rf & 1) {
85978
+ const _r2 = \u0275\u0275getCurrentView();
85979
+ \u0275\u0275elementStart(0, "expandable-card", 4)(1, "div", 8)(2, "filing-form-group", 9);
85980
+ \u0275\u0275listener("visiblyValidChange", function BritishColumbiaAnnualReportFormComponent_Conditional_5_Template_filing_form_group_visiblyValidChange_2_listener($event) {
85981
+ \u0275\u0275restoreView(_r2);
85982
+ const ctx_r0 = \u0275\u0275nextContext();
85983
+ return \u0275\u0275resetView(ctx_r0.onSectionValidChange("general", $event));
85984
+ });
85985
+ \u0275\u0275elementEnd()()();
85986
+ }
85987
+ if (rf & 2) {
85988
+ const ctx_r0 = \u0275\u0275nextContext();
85989
+ const general_r3 = \u0275\u0275readContextLet(4);
85990
+ \u0275\u0275property("isStatusIcon", false)("title", ctx_r0.groups.General);
85991
+ \u0275\u0275advance(2);
85992
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", general_r3)("config", ctx_r0.generalFields);
85993
+ }
85994
+ }
85995
+ function BritishColumbiaAnnualReportFormComponent_Conditional_8_Template(rf, ctx) {
85996
+ if (rf & 1) {
85997
+ \u0275\u0275element(0, "expandable-list-card", 5);
85998
+ }
85999
+ if (rf & 2) {
86000
+ const ctx_r0 = \u0275\u0275nextContext();
86001
+ const officersArray_r4 = \u0275\u0275readContextLet(6);
86002
+ const isOpenOfficers_r5 = \u0275\u0275readContextLet(7);
86003
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("isValid", true)("areItemsOpen", isOpenOfficers_r5)("isStatusIcon", false)("fields", ctx_r0.officersFields)("formArray", officersArray_r4)("title", ctx_r0.groups.Officers);
86004
+ }
86005
+ }
86006
+ function BritishColumbiaAnnualReportFormComponent_Conditional_9_Template(rf, ctx) {
86007
+ if (rf & 1) {
86008
+ \u0275\u0275elementStart(0, "expandable-card", 6)(1, "h2", 10);
86009
+ \u0275\u0275text(2);
86010
+ \u0275\u0275pipe(3, "translate");
86011
+ \u0275\u0275elementEnd()();
86012
+ }
86013
+ if (rf & 2) {
86014
+ const ctx_r0 = \u0275\u0275nextContext();
86015
+ \u0275\u0275property("title", ctx_r0.groups.Officers);
86016
+ \u0275\u0275advance(2);
86017
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(3, 2, "Unchanged"));
86018
+ }
86019
+ }
86020
+ function BritishColumbiaAnnualReportFormComponent_Conditional_11_Template(rf, ctx) {
86021
+ if (rf & 1) {
86022
+ const _r6 = \u0275\u0275getCurrentView();
86023
+ \u0275\u0275elementStart(0, "expandable-card", 7)(1, "div", 8)(2, "filing-form-group", 9);
86024
+ \u0275\u0275listener("visiblyValidChange", function BritishColumbiaAnnualReportFormComponent_Conditional_11_Template_filing_form_group_visiblyValidChange_2_listener($event) {
86025
+ \u0275\u0275restoreView(_r6);
86026
+ const ctx_r0 = \u0275\u0275nextContext();
86027
+ return \u0275\u0275resetView(ctx_r0.onSectionValidChange("companyEmail", $event));
86028
+ });
86029
+ \u0275\u0275elementEnd()()();
86030
+ }
86031
+ if (rf & 2) {
86032
+ const ctx_r0 = \u0275\u0275nextContext();
86033
+ const companyEmail_r7 = \u0275\u0275readContextLet(10);
86034
+ \u0275\u0275property("isValid", ctx_r0.sectionValidity["companyEmail"])("isStatusIcon", ctx_r0.statusIcon())("title", ctx_r0.groups.CompanyEmail);
86035
+ \u0275\u0275advance(2);
86036
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", companyEmail_r7)("config", ctx_r0.companyEmailFields());
86037
+ }
86038
+ }
86039
+ function BritishColumbiaAnnualReportFormComponent_Conditional_13_Template(rf, ctx) {
86040
+ if (rf & 1) {
86041
+ \u0275\u0275elementStart(0, "expandable-card", 4)(1, "div", 8);
86042
+ \u0275\u0275element(2, "filing-form-group", 11);
86043
+ \u0275\u0275elementEnd()();
86044
+ }
86045
+ if (rf & 2) {
86046
+ const ctx_r0 = \u0275\u0275nextContext();
86047
+ const reminder_r8 = \u0275\u0275readContextLet(12);
86048
+ \u0275\u0275property("isStatusIcon", false)("title", ctx_r0.groups.AnnualReportReminder);
86049
+ \u0275\u0275advance(2);
86050
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", reminder_r8)("config", ctx_r0.reminderFields);
86051
+ }
86052
+ }
86053
+ var BritishColumbiaAnnualReportFormComponent;
86054
+ var init_british_columbia_annual_report_form_component = __esm({
86055
+ "src/app/components/british-columbia/annual-report/british-columbia-annual-report-form/british-columbia-annual-report-form.component.ts"() {
86056
+ init_core();
86057
+ init_ngx_translate_core();
86058
+ init_expandable_card_component();
86059
+ init_expandable_list_card_component();
86060
+ init_filing_form_group_component();
86061
+ init_alert_component();
86062
+ init_alert_enum();
86063
+ init_british_columbia_form_enums();
86064
+ init_british_columbia_annual_report_form_constants();
86065
+ init_british_columbia_annual_report_form_helper();
86066
+ init_core();
86067
+ BritishColumbiaAnnualReportFormComponent = class _BritishColumbiaAnnualReportFormComponent {
86068
+ form = input.required();
86069
+ task = input();
86070
+ errors = input([]);
86071
+ isNote = input(false);
86072
+ statusIcon = input(true);
86073
+ isSubmitted = input(false);
86074
+ visiblyValidChange = output();
86075
+ alertType = AlertType;
86076
+ groups = BCAnnualReportFormGroups;
86077
+ generalFields = BC_ANNUAL_REPORT_GENERAL_FIELDS;
86078
+ officersFields = BC_ANNUAL_REPORT_OFFICERS_FIELDS;
86079
+ reminderFields = BC_ANNUAL_REPORT_REMINDER_FIELDS;
86080
+ companyEmailFields = computed(() => {
86081
+ const task = this.task();
86082
+ return buildBCAnnualReportCompanyEmailFields(task ? BritishColumbiaAnnualReportFormHelper.getCompanyEmailOptions(task) : []);
86083
+ });
86084
+ /** AC2: the Officers section starts expanded for 3 officers or fewer, collapsed for more. */
86085
+ initiallyOpenCardsCount = 3;
86086
+ sectionValidity = {};
86087
+ isVisiblyValid() {
86088
+ return Object.values(this.sectionValidity).every((v) => v);
85352
86089
  }
85353
- /**
85354
- * Address Line 1*, Address Line 2, City*, Postal Code*, Province (BC), Country (Canada).
85355
- * Province and Country are always disabled; the rest follow `enabled`.
85356
- */
85357
- static createOfficeAddressFormGroup(delta, enabled = true) {
85358
- const group2 = new FormGroup({
85359
- [Controls2.AddressLine1]: new FormControl(delta?.addressLine1 ?? "", Validators.required),
85360
- [Controls2.AddressLine2]: new FormControl(delta?.addressLine2 ?? ""),
85361
- [Controls2.City]: new FormControl(delta?.city ?? "", Validators.required),
85362
- [Controls2.PostalCode]: new FormControl(delta?.postalCode ?? "", Validators.required),
85363
- [Controls2.Province]: this.readOnly(delta?.province ?? BC_DEFAULT_PROVINCE_STATE),
85364
- [Controls2.Country]: this.readOnly(delta?.country ?? BC_DEFAULT_COUNTRY)
85365
- });
85366
- this.setOfficeAddressEnabled(group2, enabled);
85367
- return group2;
86090
+ onSectionValidChange(section, valid) {
86091
+ this.sectionValidity = __spreadProps(__spreadValues({}, this.sectionValidity), { [section]: valid });
86092
+ this.visiblyValidChange.emit(this.isVisiblyValid());
85368
86093
  }
85369
- /**
85370
- * Enables or disables the editable controls of an address grid (used by "Same as…" checkboxes).
85371
- * Hiding a grid also clears it. Showing it again refills it with the address Athennian sent for
85372
- * it, or leaves it empty when there is none (and when the user has already typed something).
85373
- */
85374
- static setOfficeAddressEnabled(group2, enabled) {
85375
- if (!group2) {
85376
- return;
85377
- }
85378
- const restore = incomingAddressByGrid.get(group2);
85379
- const isEmpty = EDITABLE_ADDRESS_CONTROLS.every((name) => !group2.get(name)?.value);
85380
- EDITABLE_ADDRESS_CONTROLS.forEach((name) => {
85381
- const control = group2.get(name);
85382
- if (enabled) {
85383
- control?.enable({ emitEvent: false });
85384
- if (restore && isEmpty) {
85385
- control?.setValue(restore[name] ?? "", { emitEvent: false });
85386
- }
85387
- } else {
85388
- control?.setValue("", { emitEvent: false });
85389
- control?.disable({ emitEvent: false });
85390
- }
85391
- });
85392
- group2.updateValueAndValidity({ emitEvent: false });
86094
+ getFormGroup(key) {
86095
+ return this.form().get(key);
85393
86096
  }
85394
- static generateReferenceNumbersFormGroup(deltaData, clientMatterNumber) {
85395
- return new FormGroup({
85396
- [Controls2.ClientMatterNumber]: new FormControl(
85397
- // `??`: an explicitly cleared value ('') in a saved draft must be preserved; the entity default applies only when absent.
85398
- deltaData?.referenceNumber ?? clientMatterNumber ?? ""
85399
- ),
85400
- [Controls2.DocketNumber]: new FormControl(deltaData?.docketNumber ?? "")
85401
- });
86097
+ getFormArray(key) {
86098
+ return this.form().get(key);
85402
86099
  }
85403
- static readOnly(value) {
85404
- return new FormControl({ value: value ?? "", disabled: true });
86100
+ static \u0275fac = function BritishColumbiaAnnualReportFormComponent_Factory(__ngFactoryType__) {
86101
+ return new (__ngFactoryType__ || _BritishColumbiaAnnualReportFormComponent)();
86102
+ };
86103
+ static \u0275cmp = /* @__PURE__ */ \u0275\u0275defineComponent({ type: _BritishColumbiaAnnualReportFormComponent, selectors: [["british-columbia-annual-report-form"]], inputs: { form: [1, "form"], task: [1, "task"], errors: [1, "errors"], isNote: [1, "isNote"], statusIcon: [1, "statusIcon"], isSubmitted: [1, "isSubmitted"] }, outputs: { visiblyValidChange: "visiblyValidChange" }, decls: 14, vars: 11, consts: [[1, "annual-report-form"], ["title", "Entity changed", "content", "A new draft needs to be generated as the Entity was changed since the last draft was produced.", 3, "type"], ["title", "The following issues need to be resolved before proceeding:", 3, "content"], [1, "annual-report-form-content"], [3, "isStatusIcon", "title"], [3, "isSubmitted", "isValid", "areItemsOpen", "isStatusIcon", "fields", "formArray", "title"], [3, "title"], [3, "isValid", "isStatusIcon", "title"], [1, "annual-report-form-item"], [3, "visiblyValidChange", "isSubmitted", "form", "config"], [1, "body-1-regular"], [3, "isSubmitted", "form", "config"]], template: function BritishColumbiaAnnualReportFormComponent_Template(rf, ctx) {
86104
+ if (rf & 1) {
86105
+ \u0275\u0275elementStart(0, "div", 0);
86106
+ \u0275\u0275template(1, BritishColumbiaAnnualReportFormComponent_Conditional_1_Template, 1, 1, "alert", 1)(2, BritishColumbiaAnnualReportFormComponent_Conditional_2_Template, 1, 1, "alert", 2);
86107
+ \u0275\u0275elementStart(3, "div", 3);
86108
+ \u0275\u0275declareLet(4);
86109
+ \u0275\u0275template(5, BritishColumbiaAnnualReportFormComponent_Conditional_5_Template, 3, 5, "expandable-card", 4);
86110
+ \u0275\u0275declareLet(6)(7);
86111
+ \u0275\u0275template(8, BritishColumbiaAnnualReportFormComponent_Conditional_8_Template, 1, 7, "expandable-list-card", 5)(9, BritishColumbiaAnnualReportFormComponent_Conditional_9_Template, 4, 4, "expandable-card", 6);
86112
+ \u0275\u0275declareLet(10);
86113
+ \u0275\u0275template(11, BritishColumbiaAnnualReportFormComponent_Conditional_11_Template, 3, 6, "expandable-card", 7);
86114
+ \u0275\u0275declareLet(12);
86115
+ \u0275\u0275template(13, BritishColumbiaAnnualReportFormComponent_Conditional_13_Template, 3, 5, "expandable-card", 4);
86116
+ \u0275\u0275elementEnd()();
86117
+ }
86118
+ if (rf & 2) {
86119
+ let tmp_5_0;
86120
+ \u0275\u0275advance();
86121
+ \u0275\u0275conditional(ctx.isNote() ? 1 : -1);
86122
+ \u0275\u0275advance();
86123
+ \u0275\u0275conditional(ctx.errors().length ? 2 : -1);
86124
+ \u0275\u0275advance(2);
86125
+ const general_r9 = \u0275\u0275storeLet(ctx.getFormGroup(ctx.groups.General));
86126
+ \u0275\u0275advance();
86127
+ \u0275\u0275conditional(general_r9 ? 5 : -1);
86128
+ \u0275\u0275advance();
86129
+ const officersArray_r10 = \u0275\u0275storeLet(ctx.getFormArray(ctx.groups.Officers));
86130
+ \u0275\u0275advance();
86131
+ \u0275\u0275storeLet(((tmp_5_0 = officersArray_r10 == null ? null : officersArray_r10.length) !== null && tmp_5_0 !== void 0 ? tmp_5_0 : 0) <= ctx.initiallyOpenCardsCount);
86132
+ \u0275\u0275advance();
86133
+ \u0275\u0275conditional(officersArray_r10 && officersArray_r10.length ? 8 : 9);
86134
+ \u0275\u0275advance(2);
86135
+ const companyEmail_r11 = \u0275\u0275storeLet(ctx.getFormGroup(ctx.groups.CompanyEmail));
86136
+ \u0275\u0275advance();
86137
+ \u0275\u0275conditional(companyEmail_r11 ? 11 : -1);
86138
+ \u0275\u0275advance();
86139
+ const reminder_r12 = \u0275\u0275storeLet(ctx.getFormGroup(ctx.groups.AnnualReportReminder));
86140
+ \u0275\u0275advance();
86141
+ \u0275\u0275conditional(reminder_r12 ? 13 : -1);
86142
+ }
86143
+ }, dependencies: [
86144
+ ExpandableCardComponent,
86145
+ ExpandableListCardComponent,
86146
+ FilingFormGroupComponent,
86147
+ AlertComponent,
86148
+ TranslatePipe
86149
+ ], styles: ["\n\n[_nghost-%COMP%] {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n}\n[_nghost-%COMP%] .annual-report-form[_ngcontent-%COMP%] {\n display: flex;\n height: 100%;\n flex-direction: column;\n gap: 16px;\n}\n[_nghost-%COMP%] .annual-report-form-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n flex: 1;\n overflow: auto;\n min-height: 0;\n}\n[_nghost-%COMP%] .annual-report-form-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n/*# sourceMappingURL=british-columbia-annual-report-form.component.css.map */"], changeDetection: 0 });
86150
+ };
86151
+ (() => {
86152
+ (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(BritishColumbiaAnnualReportFormComponent, [{
86153
+ type: Component,
86154
+ args: [{ standalone: true, selector: "british-columbia-annual-report-form", changeDetection: ChangeDetectionStrategy.OnPush, imports: [
86155
+ ExpandableCardComponent,
86156
+ ExpandableListCardComponent,
86157
+ FilingFormGroupComponent,
86158
+ AlertComponent,
86159
+ TranslatePipe
86160
+ ], template: `<div class="annual-report-form">\r
86161
+ @if (isNote()) {\r
86162
+ <alert\r
86163
+ [type]="alertType.Info"\r
86164
+ title="Entity changed"\r
86165
+ content="A new draft needs to be generated as the Entity was changed since the last draft was produced."\r
86166
+ />\r
86167
+ }\r
86168
+ \r
86169
+ @if (errors().length) {\r
86170
+ <alert\r
86171
+ title="The following issues need to be resolved before proceeding:"\r
86172
+ [content]="errors()"\r
86173
+ />\r
86174
+ }\r
86175
+ \r
86176
+ <div class="annual-report-form-content">\r
86177
+ @let general = getFormGroup(groups.General);\r
86178
+ \r
86179
+ @if (general) {\r
86180
+ <expandable-card [isStatusIcon]="false" [title]="groups.General">\r
86181
+ <div class="annual-report-form-item">\r
86182
+ <filing-form-group\r
86183
+ [isSubmitted]="isSubmitted()"\r
86184
+ [form]="general"\r
86185
+ [config]="generalFields"\r
86186
+ (visiblyValidChange)="onSectionValidChange('general', $event)"\r
86187
+ />\r
86188
+ </div>\r
86189
+ </expandable-card>\r
86190
+ }\r
86191
+ \r
86192
+ @let officersArray = getFormArray(groups.Officers);\r
86193
+ @let isOpenOfficers = (officersArray?.length ?? 0) <= initiallyOpenCardsCount;\r
86194
+ \r
86195
+ @if (officersArray && officersArray.length) {\r
86196
+ <expandable-list-card\r
86197
+ [isSubmitted]="isSubmitted()"\r
86198
+ [isValid]="true"\r
86199
+ [areItemsOpen]="isOpenOfficers"\r
86200
+ [isStatusIcon]="false"\r
86201
+ [fields]="officersFields"\r
86202
+ [formArray]="officersArray"\r
86203
+ [title]="groups.Officers"\r
86204
+ />\r
86205
+ } @else {\r
86206
+ <expandable-card [title]="groups.Officers">\r
86207
+ <h2 class="body-1-regular">{{ 'Unchanged' | translate }}</h2>\r
86208
+ </expandable-card>\r
86209
+ }\r
86210
+ \r
86211
+ @let companyEmail = getFormGroup(groups.CompanyEmail);\r
86212
+ \r
86213
+ @if (companyEmail) {\r
86214
+ <expandable-card\r
86215
+ [isValid]="sectionValidity['companyEmail']"\r
86216
+ [isStatusIcon]="statusIcon()"\r
86217
+ [title]="groups.CompanyEmail"\r
86218
+ >\r
86219
+ <div class="annual-report-form-item">\r
86220
+ <filing-form-group\r
86221
+ [isSubmitted]="isSubmitted()"\r
86222
+ [form]="companyEmail"\r
86223
+ [config]="companyEmailFields()"\r
86224
+ (visiblyValidChange)="onSectionValidChange('companyEmail', $event)"\r
86225
+ />\r
86226
+ </div>\r
86227
+ </expandable-card>\r
86228
+ }\r
86229
+ \r
86230
+ @let reminder = getFormGroup(groups.AnnualReportReminder);\r
86231
+ \r
86232
+ @if (reminder) {\r
86233
+ <expandable-card [isStatusIcon]="false" [title]="groups.AnnualReportReminder">\r
86234
+ <div class="annual-report-form-item">\r
86235
+ <filing-form-group\r
86236
+ [isSubmitted]="isSubmitted()"\r
86237
+ [form]="reminder"\r
86238
+ [config]="reminderFields"\r
86239
+ />\r
86240
+ </div>\r
86241
+ </expandable-card>\r
86242
+ }\r
86243
+ </div>\r
86244
+ </div>\r
86245
+ `, styles: ["/* src/app/components/british-columbia/annual-report/british-columbia-annual-report-form/british-columbia-annual-report-form.component.scss */\n:host {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n}\n:host .annual-report-form {\n display: flex;\n height: 100%;\n flex-direction: column;\n gap: 16px;\n}\n:host .annual-report-form-content {\n display: flex;\n flex-direction: column;\n gap: 16px;\n flex: 1;\n overflow: auto;\n min-height: 0;\n}\n:host .annual-report-form-item {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n/*# sourceMappingURL=british-columbia-annual-report-form.component.css.map */\n"] }]
86246
+ }], null, null);
86247
+ })();
86248
+ (() => {
86249
+ (typeof ngDevMode === "undefined" || ngDevMode) && \u0275setClassDebugInfo(BritishColumbiaAnnualReportFormComponent, { className: "BritishColumbiaAnnualReportFormComponent", filePath: "src/app/components/british-columbia/annual-report/british-columbia-annual-report-form/british-columbia-annual-report-form.component.ts", lineNumber: 43 });
86250
+ })();
86251
+ }
86252
+ });
86253
+
86254
+ // src/app/components/british-columbia/annual-report/steps/delta/british-columbia-annual-report-delta-form.component.ts
86255
+ var BritishColumbiaAnnualReportDeltaFormComponent;
86256
+ var init_british_columbia_annual_report_delta_form_component = __esm({
86257
+ "src/app/components/british-columbia/annual-report/steps/delta/british-columbia-annual-report-delta-form.component.ts"() {
86258
+ init_core();
86259
+ init_button();
86260
+ init_ngx_translate_core();
86261
+ init_british_columbia_annual_report_form_component();
86262
+ init_common_utils();
86263
+ init_core();
86264
+ BritishColumbiaAnnualReportDeltaFormComponent = class _BritishColumbiaAnnualReportDeltaFormComponent {
86265
+ form = input.required();
86266
+ actionsDisabled = input(false);
86267
+ isNote = input(true);
86268
+ task = input();
86269
+ errors = input([]);
86270
+ close = output();
86271
+ save = output();
86272
+ validate = output();
86273
+ submitted = signal(false);
86274
+ visiblyValid = signal(true);
86275
+ clientErrors = signal([]);
86276
+ translate = inject(TranslateService);
86277
+ combinedErrors = computed(() => {
86278
+ const client = this.clientErrors();
86279
+ return client.length ? client : this.errors();
86280
+ });
86281
+ onVisiblyValidChange(valid) {
86282
+ this.visiblyValid.set(valid);
85405
86283
  }
86284
+ /** AC5: highlights the incomplete fields and shows the "required fields" banner instead of calling the API. */
86285
+ onValidate() {
86286
+ this.submitted.set(true);
86287
+ this.clientErrors.set([]);
86288
+ markFormGroupTouched(this.form());
86289
+ if (!this.visiblyValid()) {
86290
+ this.clientErrors.set([this.translate.instant("Some required fields aren't completed.")]);
86291
+ return;
86292
+ }
86293
+ this.validate.emit();
86294
+ }
86295
+ static \u0275fac = function BritishColumbiaAnnualReportDeltaFormComponent_Factory(__ngFactoryType__) {
86296
+ return new (__ngFactoryType__ || _BritishColumbiaAnnualReportDeltaFormComponent)();
86297
+ };
86298
+ static \u0275cmp = /* @__PURE__ */ \u0275\u0275defineComponent({ type: _BritishColumbiaAnnualReportDeltaFormComponent, selectors: [["british-columbia-annual-report-delta-form"]], inputs: { form: [1, "form"], actionsDisabled: [1, "actionsDisabled"], isNote: [1, "isNote"], task: [1, "task"], errors: [1, "errors"] }, outputs: { close: "close", save: "save", validate: "validate" }, decls: 15, vars: 18, consts: [[1, "annual-report-delta-form"], [1, "annual-report-delta-form-content", 3, "visiblyValidChange", "form", "task", "errors", "isNote", "isSubmitted", "statusIcon"], [1, "annual-report-delta-form-actions"], ["mat-stroked-button", "", "mat-button", "", 3, "click", "disabled"], [1, "body-1-semibold"], ["color", "primary", "mat-flat-button", "", 1, "submit", 3, "click", "disabled"]], template: function BritishColumbiaAnnualReportDeltaFormComponent_Template(rf, ctx) {
86299
+ if (rf & 1) {
86300
+ \u0275\u0275elementStart(0, "div", 0)(1, "british-columbia-annual-report-form", 1);
86301
+ \u0275\u0275listener("visiblyValidChange", function BritishColumbiaAnnualReportDeltaFormComponent_Template_british_columbia_annual_report_form_visiblyValidChange_1_listener($event) {
86302
+ return ctx.onVisiblyValidChange($event);
86303
+ });
86304
+ \u0275\u0275elementEnd();
86305
+ \u0275\u0275elementStart(2, "div", 2)(3, "button", 3);
86306
+ \u0275\u0275listener("click", function BritishColumbiaAnnualReportDeltaFormComponent_Template_button_click_3_listener() {
86307
+ return ctx.close.emit();
86308
+ });
86309
+ \u0275\u0275elementStart(4, "span", 4);
86310
+ \u0275\u0275text(5);
86311
+ \u0275\u0275pipe(6, "translate");
86312
+ \u0275\u0275elementEnd()();
86313
+ \u0275\u0275elementStart(7, "button", 3);
86314
+ \u0275\u0275listener("click", function BritishColumbiaAnnualReportDeltaFormComponent_Template_button_click_7_listener() {
86315
+ return ctx.save.emit();
86316
+ });
86317
+ \u0275\u0275elementStart(8, "span", 4);
86318
+ \u0275\u0275text(9);
86319
+ \u0275\u0275pipe(10, "translate");
86320
+ \u0275\u0275elementEnd()();
86321
+ \u0275\u0275elementStart(11, "button", 5);
86322
+ \u0275\u0275listener("click", function BritishColumbiaAnnualReportDeltaFormComponent_Template_button_click_11_listener() {
86323
+ return ctx.onValidate();
86324
+ });
86325
+ \u0275\u0275elementStart(12, "span", 4);
86326
+ \u0275\u0275text(13);
86327
+ \u0275\u0275pipe(14, "translate");
86328
+ \u0275\u0275elementEnd()()()();
86329
+ }
86330
+ if (rf & 2) {
86331
+ \u0275\u0275advance();
86332
+ \u0275\u0275property("form", ctx.form())("task", ctx.task())("errors", ctx.combinedErrors())("isNote", ctx.isNote())("isSubmitted", ctx.submitted())("statusIcon", true);
86333
+ \u0275\u0275advance(2);
86334
+ \u0275\u0275property("disabled", ctx.actionsDisabled());
86335
+ \u0275\u0275advance(2);
86336
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(6, 12, "Close"));
86337
+ \u0275\u0275advance(2);
86338
+ \u0275\u0275property("disabled", ctx.actionsDisabled());
86339
+ \u0275\u0275advance(2);
86340
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(10, 14, "Save Changes"));
86341
+ \u0275\u0275advance(2);
86342
+ \u0275\u0275property("disabled", ctx.actionsDisabled());
86343
+ \u0275\u0275advance(2);
86344
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(14, 16, "Validate & Generate Draft"));
86345
+ }
86346
+ }, dependencies: [MatButton, TranslatePipe, BritishColumbiaAnnualReportFormComponent], styles: ["\n\n[_nghost-%COMP%] .annual-report-delta-form[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n height: 100%;\n}\n[_nghost-%COMP%] .annual-report-delta-form-content[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n}\n[_nghost-%COMP%] .annual-report-delta-form-actions[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: 8px;\n padding-top: 16px;\n}\n[_nghost-%COMP%] .annual-report-delta-form-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n margin: 0;\n}\n[_nghost-%COMP%] .annual-report-delta-form-actions[_ngcontent-%COMP%] .submit[_ngcontent-%COMP%] {\n padding-left: 30px;\n padding-right: 30px;\n}\n/*# sourceMappingURL=british-columbia-annual-report-delta-form.component.css.map */"], changeDetection: 0 });
85406
86347
  };
86348
+ (() => {
86349
+ (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(BritishColumbiaAnnualReportDeltaFormComponent, [{
86350
+ type: Component,
86351
+ args: [{ standalone: true, selector: "british-columbia-annual-report-delta-form", changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatButton, TranslatePipe, BritishColumbiaAnnualReportFormComponent], template: `<div class="annual-report-delta-form">\r
86352
+ <british-columbia-annual-report-form\r
86353
+ class="annual-report-delta-form-content"\r
86354
+ [form]="form()"\r
86355
+ [task]="task()"\r
86356
+ [errors]="combinedErrors()"\r
86357
+ [isNote]="isNote()"\r
86358
+ [isSubmitted]="submitted()"\r
86359
+ [statusIcon]="true"\r
86360
+ (visiblyValidChange)="onVisiblyValidChange($event)"\r
86361
+ />\r
86362
+ \r
86363
+ <div class="annual-report-delta-form-actions">\r
86364
+ <button [disabled]="actionsDisabled()" mat-stroked-button mat-button (click)="close.emit()">\r
86365
+ <span class="body-1-semibold">{{ 'Close' | translate }}</span>\r
86366
+ </button>\r
86367
+ <button (click)="save.emit()" [disabled]="actionsDisabled()" mat-stroked-button mat-button>\r
86368
+ <span class="body-1-semibold">{{ 'Save Changes' | translate }}</span>\r
86369
+ </button>\r
86370
+ <button\r
86371
+ class="submit"\r
86372
+ color="primary"\r
86373
+ mat-flat-button\r
86374
+ [disabled]="actionsDisabled()"\r
86375
+ (click)="onValidate()"\r
86376
+ >\r
86377
+ <span class="body-1-semibold">{{ 'Validate & Generate Draft' | translate }}</span>\r
86378
+ </button>\r
86379
+ </div>\r
86380
+ </div>\r
86381
+ `, styles: ["/* src/app/components/british-columbia/annual-report/steps/delta/british-columbia-annual-report-delta-form.component.scss */\n:host .annual-report-delta-form {\n display: flex;\n flex-direction: column;\n gap: 16px;\n height: 100%;\n}\n:host .annual-report-delta-form-content {\n flex: 1;\n min-height: 0;\n}\n:host .annual-report-delta-form-actions {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: 8px;\n padding-top: 16px;\n}\n:host .annual-report-delta-form-actions button {\n margin: 0;\n}\n:host .annual-report-delta-form-actions .submit {\n padding-left: 30px;\n padding-right: 30px;\n}\n/*# sourceMappingURL=british-columbia-annual-report-delta-form.component.css.map */\n"] }]
86382
+ }], null, null);
86383
+ })();
86384
+ (() => {
86385
+ (typeof ngDevMode === "undefined" || ngDevMode) && \u0275setClassDebugInfo(BritishColumbiaAnnualReportDeltaFormComponent, { className: "BritishColumbiaAnnualReportDeltaFormComponent", filePath: "src/app/components/british-columbia/annual-report/steps/delta/british-columbia-annual-report-delta-form.component.ts", lineNumber: 25 });
86386
+ })();
86387
+ }
86388
+ });
86389
+
86390
+ // src/app/components/british-columbia/annual-report/steps/preview/british-columbia-annual-report-preview-form.component.ts
86391
+ var BritishColumbiaAnnualReportPreviewFormComponent;
86392
+ var init_british_columbia_annual_report_preview_form_component = __esm({
86393
+ "src/app/components/british-columbia/annual-report/steps/preview/british-columbia-annual-report-preview-form.component.ts"() {
86394
+ init_core();
86395
+ init_button();
86396
+ init_ngx_translate_core();
86397
+ init_british_columbia_annual_report_form_component();
86398
+ init_core();
86399
+ BritishColumbiaAnnualReportPreviewFormComponent = class _BritishColumbiaAnnualReportPreviewFormComponent {
86400
+ form = input.required();
86401
+ actionsDisabled = input(false);
86402
+ task = input();
86403
+ errors = input([]);
86404
+ close = output();
86405
+ file = output();
86406
+ static \u0275fac = function BritishColumbiaAnnualReportPreviewFormComponent_Factory(__ngFactoryType__) {
86407
+ return new (__ngFactoryType__ || _BritishColumbiaAnnualReportPreviewFormComponent)();
86408
+ };
86409
+ static \u0275cmp = /* @__PURE__ */ \u0275\u0275defineComponent({ type: _BritishColumbiaAnnualReportPreviewFormComponent, selectors: [["british-columbia-annual-report-preview-form"]], inputs: { form: [1, "form"], actionsDisabled: [1, "actionsDisabled"], task: [1, "task"], errors: [1, "errors"] }, outputs: { close: "close", file: "file" }, decls: 11, vars: 12, consts: [[1, "annual-report-preview-form"], [1, "annual-report-preview-form-content", 3, "form", "task", "errors", "statusIcon"], [1, "annual-report-preview-form-actions"], ["mat-stroked-button", "", "mat-button", "", 3, "click", "disabled"], [1, "body-1-semibold"], ["color", "primary", "mat-flat-button", "", 1, "submit", 3, "click", "disabled"]], template: function BritishColumbiaAnnualReportPreviewFormComponent_Template(rf, ctx) {
86410
+ if (rf & 1) {
86411
+ \u0275\u0275elementStart(0, "div", 0);
86412
+ \u0275\u0275element(1, "british-columbia-annual-report-form", 1);
86413
+ \u0275\u0275elementStart(2, "div", 2)(3, "button", 3);
86414
+ \u0275\u0275listener("click", function BritishColumbiaAnnualReportPreviewFormComponent_Template_button_click_3_listener() {
86415
+ return ctx.close.emit();
86416
+ });
86417
+ \u0275\u0275elementStart(4, "span", 4);
86418
+ \u0275\u0275text(5);
86419
+ \u0275\u0275pipe(6, "translate");
86420
+ \u0275\u0275elementEnd()();
86421
+ \u0275\u0275elementStart(7, "button", 5);
86422
+ \u0275\u0275listener("click", function BritishColumbiaAnnualReportPreviewFormComponent_Template_button_click_7_listener() {
86423
+ return ctx.file.emit();
86424
+ });
86425
+ \u0275\u0275elementStart(8, "span", 4);
86426
+ \u0275\u0275text(9);
86427
+ \u0275\u0275pipe(10, "translate");
86428
+ \u0275\u0275elementEnd()()()();
86429
+ }
86430
+ if (rf & 2) {
86431
+ \u0275\u0275advance();
86432
+ \u0275\u0275property("form", ctx.form())("task", ctx.task())("errors", ctx.errors())("statusIcon", false);
86433
+ \u0275\u0275advance(2);
86434
+ \u0275\u0275property("disabled", ctx.actionsDisabled());
86435
+ \u0275\u0275advance(2);
86436
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(6, 8, "Close"));
86437
+ \u0275\u0275advance(2);
86438
+ \u0275\u0275property("disabled", ctx.actionsDisabled());
86439
+ \u0275\u0275advance(2);
86440
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(10, 10, "File"));
86441
+ }
86442
+ }, dependencies: [MatButton, TranslatePipe, BritishColumbiaAnnualReportFormComponent], styles: ["\n\n[_nghost-%COMP%] .annual-report-preview-form[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n height: 100%;\n}\n[_nghost-%COMP%] .annual-report-preview-form-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n height: 100%;\n}\n[_nghost-%COMP%] .annual-report-preview-form-actions[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: 8px;\n padding-top: 16px;\n}\n[_nghost-%COMP%] .annual-report-preview-form-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n margin: 0;\n}\n/*# sourceMappingURL=british-columbia-annual-report-preview-form.component.css.map */"], changeDetection: 0 });
86443
+ };
86444
+ (() => {
86445
+ (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(BritishColumbiaAnnualReportPreviewFormComponent, [{
86446
+ type: Component,
86447
+ args: [{ standalone: true, selector: "british-columbia-annual-report-preview-form", changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatButton, TranslatePipe, BritishColumbiaAnnualReportFormComponent], template: `<div class="annual-report-preview-form">\r
86448
+ <british-columbia-annual-report-form\r
86449
+ class="annual-report-preview-form-content"\r
86450
+ [form]="form()"\r
86451
+ [task]="task()"\r
86452
+ [errors]="errors()"\r
86453
+ [statusIcon]="false"\r
86454
+ />\r
86455
+ \r
86456
+ <div class="annual-report-preview-form-actions">\r
86457
+ <button [disabled]="actionsDisabled()" mat-stroked-button mat-button (click)="close.emit()">\r
86458
+ <span class="body-1-semibold">{{ 'Close' | translate }}</span>\r
86459
+ </button>\r
86460
+ <button\r
86461
+ class="submit"\r
86462
+ color="primary"\r
86463
+ mat-flat-button\r
86464
+ [disabled]="actionsDisabled()"\r
86465
+ (click)="file.emit()"\r
86466
+ >\r
86467
+ <span class="body-1-semibold">{{ 'File' | translate }}</span>\r
86468
+ </button>\r
86469
+ </div>\r
86470
+ </div>\r
86471
+ `, styles: ["/* src/app/components/british-columbia/annual-report/steps/preview/british-columbia-annual-report-preview-form.component.scss */\n:host .annual-report-preview-form {\n display: flex;\n flex-direction: column;\n gap: 16px;\n height: 100%;\n}\n:host .annual-report-preview-form-content {\n display: flex;\n flex-direction: column;\n gap: 16px;\n height: 100%;\n}\n:host .annual-report-preview-form-actions {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: 8px;\n padding-top: 16px;\n}\n:host .annual-report-preview-form-actions button {\n margin: 0;\n}\n/*# sourceMappingURL=british-columbia-annual-report-preview-form.component.css.map */\n"] }]
86472
+ }], null, null);
86473
+ })();
86474
+ (() => {
86475
+ (typeof ngDevMode === "undefined" || ngDevMode) && \u0275setClassDebugInfo(BritishColumbiaAnnualReportPreviewFormComponent, { className: "BritishColumbiaAnnualReportPreviewFormComponent", filePath: "src/app/components/british-columbia/annual-report/steps/preview/british-columbia-annual-report-preview-form.component.ts", lineNumber: 25 });
86476
+ })();
85407
86477
  }
85408
86478
  });
85409
86479
 
85410
86480
  // src/app/constants/ui/british-columbia-change-of-directors-form.constants.ts
85411
- var Controls3, labelledValue, readOnlyRow, directorsAddedOrDeleted, isNotifyByMail, BC_COD_DELTA_CARD_FORM_REFERENCE_NUMBERS_FIELDS, BC_COD_CARD_FORM_CORPORATION_DETAILS_FIELDS, BC_COD_DELTA_CARD_FORM_FILING_DETAILS_FIELDS, BC_COD_CARD_FORM_DIRECTORS_FIELDS, BC_COD_DELTA_CARD_FORM_ANNUAL_REPORT_REMINDER_FIELDS;
86481
+ var Controls3, labelledValue2, readOnlyRow, directorsAddedOrDeleted, isNotifyByMail, BC_COD_DELTA_CARD_FORM_REFERENCE_NUMBERS_FIELDS, BC_COD_CARD_FORM_CORPORATION_DETAILS_FIELDS, BC_COD_DELTA_CARD_FORM_FILING_DETAILS_FIELDS, BC_COD_CARD_FORM_DIRECTORS_FIELDS, BC_COD_DELTA_CARD_FORM_ANNUAL_REPORT_REMINDER_FIELDS;
85412
86482
  var init_british_columbia_change_of_directors_form_constants = __esm({
85413
86483
  "src/app/constants/ui/british-columbia-change-of-directors-form.constants.ts"() {
85414
86484
  init_form_enums();
85415
86485
  init_british_columbia_form_enums();
85416
86486
  init_BritishColumbiaConstants();
85417
86487
  Controls3 = BCChangeOfDirectorsFormControls;
85418
- labelledValue = (label, value, t) => `<span class="body-1-semibold">${t(label)}:</span> ${value || t("Not specified")}`;
86488
+ labelledValue2 = (label, value, t) => `<span class="body-1-semibold">${t(label)}:</span> ${value || t("Not specified")}`;
85419
86489
  readOnlyRow = (label, control, className = "span-12") => ({
85420
86490
  type: FormType.Text,
85421
86491
  formControlName: control,
85422
86492
  class: className,
85423
- dynamicLabel: (form, t) => labelledValue(label, form.get(control)?.value, t)
86493
+ dynamicLabel: (form, t) => labelledValue2(label, form.get(control)?.value, t)
85424
86494
  });
85425
86495
  directorsAddedOrDeleted = (form) => Boolean(form.get(Controls3.DirectorsAddedOrDeleted)?.value);
85426
86496
  isNotifyByMail = (form) => form.get(Controls3.NotificationMethod)?.value === BCNotificationMethod.Mail;
@@ -86403,285 +87473,6 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
86403
87473
  }
86404
87474
  });
86405
87475
 
86406
- // src/app/constants/ui/british-columbia-formation-form.constants.ts
86407
- 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;
86408
- var init_british_columbia_formation_form_constants = __esm({
86409
- "src/app/constants/ui/british-columbia-formation-form.constants.ts"() {
86410
- init_form_enums();
86411
- init_british_columbia_form_enums();
86412
- init_BritishColumbiaConstants();
86413
- init_british_columbia_formation_form_helper();
86414
- BC_NAME_TYPE_OPTIONS = Object.values(BCNameType).filter((v) => typeof v === "number").map((v) => ({ label: BCNameTypeLabel[v], value: v }));
86415
- labelledValue2 = (label, value, t) => `<span class="body-1-semibold">${t(label)}:</span> ${value || t("None")}`;
86416
- isNamed = (form) => form.get(BCFormationFormControls.CorporationNameType)?.value === BCNameType.Named;
86417
- BC_FORMATION_DELTA_CARD_FORM_REFERENCE_NUMBERS_FIELDS = [
86418
- {
86419
- type: FormType.Input,
86420
- label: "Client/Matter Number",
86421
- formControlName: BCFormationFormControls.ClientMatterNumber
86422
- },
86423
- {
86424
- type: FormType.Input,
86425
- label: "Docket Number",
86426
- formControlName: BCFormationFormControls.DocketNumber
86427
- }
86428
- ];
86429
- BC_FORMATION_DELTA_CARD_FORM_CORPORATION_DETAILS_FIELDS = [
86430
- {
86431
- type: FormType.Select,
86432
- label: "Corporation Name Type",
86433
- formControlName: BCFormationFormControls.CorporationNameType,
86434
- required: true,
86435
- options: BC_NAME_TYPE_OPTIONS,
86436
- needTranslate: true,
86437
- onChange: (form) => {
86438
- form.get(BCFormationFormControls.CompanyName)?.updateValueAndValidity({ emitEvent: false });
86439
- form.get(BCFormationFormControls.NameReservationNumber)?.updateValueAndValidity({ emitEvent: false });
86440
- }
86441
- },
86442
- {
86443
- type: FormType.Text,
86444
- formControlName: "",
86445
- class: "span-6 beside-select",
86446
- // Numbered only: a Named company shows no preview of the typed name.
86447
- isVisible: (form) => !isNamed(form),
86448
- dynamicLabel: () => BC_NUMBERED_NAME_PREVIEW
86449
- },
86450
- {
86451
- type: FormType.Input,
86452
- label: "Proposed Corporate Name",
86453
- formControlName: BCFormationFormControls.CompanyName,
86454
- required: true,
86455
- isVisible: isNamed,
86456
- class: "column-3"
86457
- },
86458
- {
86459
- type: FormType.Input,
86460
- label: "Name Reservation #",
86461
- formControlName: BCFormationFormControls.NameReservationNumber,
86462
- required: true,
86463
- maxLength: 9,
86464
- errorMessage: "Enter a valid Name Reservation number (for example NR1234567)",
86465
- showRequiredMessage: true,
86466
- isVisible: isNamed,
86467
- class: "span-6"
86468
- },
86469
- {
86470
- type: FormType.Text,
86471
- formControlName: BCFormationFormControls.RequestedDateForIncorporation,
86472
- class: "span-12 spaced-text",
86473
- dynamicLabel: (form, t) => labelledValue2("Requested Date for Incorporation", form.get(BCFormationFormControls.RequestedDateForIncorporation)?.value, t)
86474
- },
86475
- {
86476
- type: FormType.Text,
86477
- formControlName: BCFormationFormControls.IsFutureEffectiveDate,
86478
- class: "span-12 fee-warning",
86479
- isVisible: (form) => Boolean(form.get(BCFormationFormControls.IsFutureEffectiveDate)?.value),
86480
- dynamicLabel: (_, t) => t("There is an additional fee of {{fee}} for an effective date in the future.").replace("{{fee}}", BC_FUTURE_EFFECTIVE_DATE_FEE)
86481
- },
86482
- {
86483
- // Options are filled per task from `task.entity.emailOptions` by the incorporation form.
86484
- type: FormType.Select,
86485
- label: "Company Email",
86486
- formControlName: BCFormationFormControls.CompanyEmail,
86487
- required: true,
86488
- options: [],
86489
- class: "span-6"
86490
- }
86491
- // The company password is not shown: it is taken from the entity's registry ID.
86492
- ];
86493
- BC_FORMATION_DELTA_CARD_FORM_NAME_TRANSLATION_FIELDS = [
86494
- {
86495
- type: FormType.Checkbox,
86496
- label: "This company uses one or more translations of its name outside of Canada.",
86497
- formControlName: BCFormationFormControls.UsesNameTranslation,
86498
- class: "span-12",
86499
- onChange: (form) => {
86500
- const rows = form.get(BCFormationFormControls.NameTranslations);
86501
- const enabled = Boolean(form.get(BCFormationFormControls.UsesNameTranslation)?.value);
86502
- if (!rows) {
86503
- return;
86504
- }
86505
- if (enabled && rows.length === 0) {
86506
- rows.push(BritishColumbiaFormationFormHelper.createNameTranslationFormGroup());
86507
- }
86508
- if (!enabled) {
86509
- rows.clear();
86510
- }
86511
- }
86512
- },
86513
- {
86514
- type: FormType.Text,
86515
- formControlName: "",
86516
- class: "span-12",
86517
- isVisible: (form) => Boolean(form.get(BCFormationFormControls.UsesNameTranslation)?.value),
86518
- 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.")}`
86519
- }
86520
- ];
86521
- BC_FORMATION_DELTA_CARD_FORM_NAME_TRANSLATION_ROW_FIELDS = [
86522
- {
86523
- type: FormType.Input,
86524
- label: "Name Translation",
86525
- formControlName: BCFormationFormControls.NameTranslation,
86526
- required: true,
86527
- class: "span-6"
86528
- }
86529
- ];
86530
- BC_FORMATION_CARD_FORM_REGISTERED_OFFICE_FIELDS = [
86531
- {
86532
- type: FormType.Text,
86533
- formControlName: BCFormationFormControls.MailingAddress,
86534
- class: "span-12",
86535
- dynamicLabel: (form, t) => labelledValue2("Mailing Address - Full Address", form.get(BCFormationFormControls.MailingAddress)?.value, t)
86536
- },
86537
- {
86538
- type: FormType.Text,
86539
- formControlName: BCFormationFormControls.DeliveryAddress,
86540
- class: "span-12",
86541
- dynamicLabel: (form, t) => labelledValue2("Delivery Address - Full Address", form.get(BCFormationFormControls.DeliveryAddress)?.value, t)
86542
- }
86543
- ];
86544
- BC_FORMATION_CARD_FORM_RECORDS_OFFICE_FIELDS = [
86545
- {
86546
- type: FormType.Text,
86547
- formControlName: BCFormationFormControls.RecordsOfficeMailingAddress,
86548
- class: "span-12",
86549
- dynamicLabel: (form, t) => labelledValue2("Mailing Address - Full Address", form.get(BCFormationFormControls.RecordsOfficeMailingAddress)?.value, t)
86550
- },
86551
- {
86552
- type: FormType.Text,
86553
- formControlName: BCFormationFormControls.RecordsOfficeDeliveryAddress,
86554
- class: "span-12",
86555
- dynamicLabel: (form, t) => labelledValue2("Delivery Address - Full Address", form.get(BCFormationFormControls.RecordsOfficeDeliveryAddress)?.value, t)
86556
- }
86557
- ];
86558
- BC_FORMATION_DELTA_CARD_FORM_COMPLETING_PARTY_FIELDS = [
86559
- {
86560
- type: FormType.Input,
86561
- label: "First Name",
86562
- formControlName: BCFormationFormControls.CompletingPartyFirstName,
86563
- required: true,
86564
- class: "column-3"
86565
- },
86566
- {
86567
- type: FormType.Input,
86568
- label: "Middle Name",
86569
- formControlName: BCFormationFormControls.CompletingPartyMiddleName,
86570
- class: "column-3"
86571
- },
86572
- {
86573
- type: FormType.Input,
86574
- label: "Last Name",
86575
- formControlName: BCFormationFormControls.CompletingPartyLastName,
86576
- required: true,
86577
- class: "column-3"
86578
- },
86579
- {
86580
- type: FormType.Input,
86581
- inputType: "email",
86582
- label: "Email",
86583
- formControlName: BCFormationFormControls.CompletingPartyEmail,
86584
- required: true,
86585
- errorMessage: "Enter a valid email address",
86586
- showRequiredMessage: true,
86587
- class: "column-3"
86588
- },
86589
- {
86590
- type: FormType.Text,
86591
- formControlName: "",
86592
- class: "span-12",
86593
- dynamicLabel: (_, t) => t("A copy of the filed Incorporation Application is emailed to this address.")
86594
- },
86595
- {
86596
- type: FormType.Input,
86597
- label: "Street Address",
86598
- formControlName: BCFormationFormControls.AddressLine1,
86599
- required: true,
86600
- class: "column-3"
86601
- },
86602
- {
86603
- type: FormType.Input,
86604
- label: "Additional Street Address",
86605
- formControlName: BCFormationFormControls.AddressLine2,
86606
- class: "column-3"
86607
- },
86608
- {
86609
- type: FormType.Input,
86610
- label: "City",
86611
- formControlName: BCFormationFormControls.City,
86612
- required: true,
86613
- class: "column-2"
86614
- },
86615
- {
86616
- type: FormType.Input,
86617
- label: "Province / State",
86618
- formControlName: BCFormationFormControls.ProvinceState,
86619
- required: true,
86620
- class: "column-2"
86621
- },
86622
- {
86623
- type: FormType.Input,
86624
- label: "Postal / Zip Code",
86625
- formControlName: BCFormationFormControls.PostalZip,
86626
- required: true,
86627
- errorMessage: "Enter a valid Canadian postal code (for example V8W 1X4)",
86628
- showRequiredMessage: true,
86629
- class: "column-2"
86630
- },
86631
- {
86632
- type: FormType.Select,
86633
- label: "Country",
86634
- formControlName: BCFormationFormControls.Country,
86635
- required: true,
86636
- options: BC_COMPLETING_PARTY_COUNTRY_OPTIONS,
86637
- class: "span-4",
86638
- // Province / State is required for Canada and the US, and the postal code format is Canada-only.
86639
- onChange: (form) => {
86640
- [BCFormationFormControls.ProvinceState, BCFormationFormControls.PostalZip].forEach((control) => form.get(control)?.updateValueAndValidity({ emitEvent: false }));
86641
- }
86642
- },
86643
- {
86644
- type: FormType.Checkbox,
86645
- // Checkbox labels don't get the renderer's required asterisk, so it is added here (AC2).
86646
- dynamicLabel: (_, t) => `${t("The Completing Party confirms they have examined the Articles and the Incorporation Agreement, and the signature requirements have been met.")} *`,
86647
- formControlName: BCFormationFormControls.HasConfirmedCompletion,
86648
- required: true,
86649
- class: "span-12"
86650
- },
86651
- {
86652
- type: FormType.Checkbox,
86653
- // Checkbox labels don't get the renderer's required asterisk, so it is added here (AC2).
86654
- dynamicLabel: (_, t) => `${t("I have a signed Incorporation Agreement and a set of Articles for the company to be incorporated.")} *`,
86655
- formControlName: BCFormationFormControls.HasRequiredDocuments,
86656
- required: true,
86657
- class: "span-12"
86658
- }
86659
- ];
86660
- BC_FORMATION_CARD_FORM_DIRECTORS_FIELDS = [
86661
- {
86662
- type: FormType.Text,
86663
- formControlName: BCFormationFormControls.MailingAddress,
86664
- class: "span-12",
86665
- dynamicLabel: (form, t) => labelledValue2("Mailing Address - Full Address", form.get(BCFormationFormControls.MailingAddress)?.value, t)
86666
- },
86667
- {
86668
- type: FormType.Text,
86669
- formControlName: BCFormationFormControls.DeliveryAddress,
86670
- class: "span-12",
86671
- dynamicLabel: (form, t) => labelledValue2("Delivery Address - Full Address", form.get(BCFormationFormControls.DeliveryAddress)?.value, t)
86672
- }
86673
- ];
86674
- BC_FORMATION_CARD_FORM_INCORPORATORS_FIELDS = [
86675
- {
86676
- type: FormType.Text,
86677
- formControlName: BCFormationFormControls.FullAddress,
86678
- class: "span-12",
86679
- dynamicLabel: (form, t) => labelledValue2("Full Address", form.get(BCFormationFormControls.FullAddress)?.value, t)
86680
- }
86681
- ];
86682
- }
86683
- });
86684
-
86685
87476
  // src/app/components/british-columbia/incorporation/british-columbia-incorporation-form/british-columbia-incorporation-form.component.ts
86686
87477
  function BritishColumbiaIncorporationFormComponent_Conditional_1_Template(rf, ctx) {
86687
87478
  if (rf & 1) {
@@ -87847,20 +88638,11 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
87847
88638
  \u0275\u0275property("content", ctx_r0.errors());
87848
88639
  }
87849
88640
  }
87850
- function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_3_Template(rf, ctx) {
87851
- if (rf & 1) {
87852
- \u0275\u0275element(0, "alert", 2);
87853
- }
87854
- if (rf & 2) {
87855
- const ctx_r0 = \u0275\u0275nextContext();
87856
- \u0275\u0275property("content", ctx_r0.missingMessages());
87857
- }
87858
- }
87859
- function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_6_Template(rf, ctx) {
88641
+ function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_5_Template(rf, ctx) {
87860
88642
  if (rf & 1) {
87861
88643
  const _r2 = \u0275\u0275getCurrentView();
87862
88644
  \u0275\u0275elementStart(0, "expandable-card", 4)(1, "filing-form-group", 7);
87863
- \u0275\u0275listener("visiblyValidChange", function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_6_Template_filing_form_group_visiblyValidChange_1_listener($event) {
88645
+ \u0275\u0275listener("visiblyValidChange", function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_5_Template_filing_form_group_visiblyValidChange_1_listener($event) {
87864
88646
  \u0275\u0275restoreView(_r2);
87865
88647
  const ctx_r0 = \u0275\u0275nextContext();
87866
88648
  return \u0275\u0275resetView(ctx_r0.onSectionValidChange("refNumbers", $event));
@@ -87869,17 +88651,17 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
87869
88651
  }
87870
88652
  if (rf & 2) {
87871
88653
  const ctx_r0 = \u0275\u0275nextContext();
87872
- const referenceNumbers_r3 = \u0275\u0275readContextLet(5);
88654
+ const referenceNumbers_r3 = \u0275\u0275readContextLet(4);
87873
88655
  \u0275\u0275property("title", ctx_r0.groups.ReferenceNumbers);
87874
88656
  \u0275\u0275advance();
87875
88657
  \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", referenceNumbers_r3)("config", ctx_r0.referenceNumbersFields);
87876
88658
  }
87877
88659
  }
87878
- function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_8_Template(rf, ctx) {
88660
+ function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_7_Template(rf, ctx) {
87879
88661
  if (rf & 1) {
87880
88662
  const _r4 = \u0275\u0275getCurrentView();
87881
88663
  \u0275\u0275elementStart(0, "expandable-card", 5)(1, "filing-form-group", 7);
87882
- \u0275\u0275listener("visiblyValidChange", function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_8_Template_filing_form_group_visiblyValidChange_1_listener($event) {
88664
+ \u0275\u0275listener("visiblyValidChange", function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_7_Template_filing_form_group_visiblyValidChange_1_listener($event) {
87883
88665
  \u0275\u0275restoreView(_r4);
87884
88666
  const ctx_r0 = \u0275\u0275nextContext();
87885
88667
  return \u0275\u0275resetView(ctx_r0.onSectionValidChange("corpDetails", $event));
@@ -87888,129 +88670,232 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
87888
88670
  }
87889
88671
  if (rf & 2) {
87890
88672
  const ctx_r0 = \u0275\u0275nextContext();
87891
- const corporationDetails_r5 = \u0275\u0275readContextLet(7);
88673
+ const corporationDetails_r5 = \u0275\u0275readContextLet(6);
87892
88674
  \u0275\u0275property("isStatusIcon", !ctx_r0.readonly())("isValid", ctx_r0.sectionValidity["corpDetails"] !== false)("title", ctx_r0.groups.CorporationDetails);
87893
88675
  \u0275\u0275advance();
87894
88676
  \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", corporationDetails_r5)("config", ctx_r0.corporationDetailsFields());
87895
88677
  }
87896
88678
  }
87897
- function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_10_For_3_Conditional_7_Template(rf, ctx) {
88679
+ function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_9_Conditional_9_Template(rf, ctx) {
87898
88680
  if (rf & 1) {
87899
- \u0275\u0275elementStart(0, "div", 12);
87900
- \u0275\u0275text(1);
87901
- \u0275\u0275pipe(2, "translate");
88681
+ const _r7 = \u0275\u0275getCurrentView();
88682
+ \u0275\u0275elementStart(0, "filing-form-group", 7);
88683
+ \u0275\u0275listener("visiblyValidChange", function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_9_Conditional_9_Template_filing_form_group_visiblyValidChange_0_listener() {
88684
+ \u0275\u0275restoreView(_r7);
88685
+ const ctx_r0 = \u0275\u0275nextContext(2);
88686
+ return \u0275\u0275resetView(ctx_r0.emitValidity());
88687
+ });
87902
88688
  \u0275\u0275elementEnd();
87903
88689
  }
87904
88690
  if (rf & 2) {
87905
- const row_r6 = \u0275\u0275nextContext().$implicit;
88691
+ \u0275\u0275nextContext();
88692
+ const registeredMailing_r8 = \u0275\u0275readContextLet(0);
88693
+ const ctx_r0 = \u0275\u0275nextContext();
88694
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", registeredMailing_r8)("config", ctx_r0.addressFields);
88695
+ }
88696
+ }
88697
+ function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_9_Conditional_14_Template(rf, ctx) {
88698
+ if (rf & 1) {
88699
+ const _r9 = \u0275\u0275getCurrentView();
88700
+ \u0275\u0275element(0, "filing-form-group", 9);
88701
+ \u0275\u0275elementStart(1, "filing-form-group", 7);
88702
+ \u0275\u0275listener("visiblyValidChange", function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_9_Conditional_14_Template_filing_form_group_visiblyValidChange_1_listener() {
88703
+ \u0275\u0275restoreView(_r9);
88704
+ const ctx_r0 = \u0275\u0275nextContext(2);
88705
+ return \u0275\u0275resetView(ctx_r0.emitValidity());
88706
+ });
88707
+ \u0275\u0275elementEnd();
88708
+ }
88709
+ if (rf & 2) {
88710
+ \u0275\u0275nextContext();
88711
+ const registeredDelivery_r10 = \u0275\u0275readContextLet(1);
88712
+ const ctx_r0 = \u0275\u0275nextContext();
88713
+ const registeredOffice_r11 = \u0275\u0275readContextLet(8);
88714
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", registeredOffice_r11)("config", ctx_r0.deliveryNoteFields);
87906
88715
  \u0275\u0275advance();
87907
- \u0275\u0275textInterpolate2(" ", \u0275\u0275pipeBind1(2, 2, "Previous"), ": ", row_r6.previous, " ");
88716
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", registeredDelivery_r10)("config", ctx_r0.addressFields);
87908
88717
  }
87909
88718
  }
87910
- function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_10_For_3_Template(rf, ctx) {
88719
+ function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_9_Template(rf, ctx) {
87911
88720
  if (rf & 1) {
87912
- \u0275\u0275elementStart(0, "div", 9)(1, "div", 10)(2, "span", 11);
87913
- \u0275\u0275text(3);
87914
- \u0275\u0275pipe(4, "translate");
88721
+ const _r6 = \u0275\u0275getCurrentView();
88722
+ \u0275\u0275declareLet(0)(1)(2);
88723
+ \u0275\u0275elementStart(3, "expandable-card", 5)(4, "div", 8);
88724
+ \u0275\u0275element(5, "filing-form-group", 9);
88725
+ \u0275\u0275elementStart(6, "h4", 10);
88726
+ \u0275\u0275text(7);
88727
+ \u0275\u0275pipe(8, "translate");
87915
88728
  \u0275\u0275elementEnd();
87916
- \u0275\u0275text(5);
87917
- \u0275\u0275pipe(6, "translate");
88729
+ \u0275\u0275template(9, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_9_Conditional_9_Template, 1, 3, "filing-form-group", 9);
88730
+ \u0275\u0275elementStart(10, "h4", 10);
88731
+ \u0275\u0275text(11);
88732
+ \u0275\u0275pipe(12, "translate");
87918
88733
  \u0275\u0275elementEnd();
87919
- \u0275\u0275template(7, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_10_For_3_Conditional_7_Template, 3, 4, "div", 12);
88734
+ \u0275\u0275elementStart(13, "filing-form-group", 7);
88735
+ \u0275\u0275listener("visiblyValidChange", function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_9_Template_filing_form_group_visiblyValidChange_13_listener() {
88736
+ \u0275\u0275restoreView(_r6);
88737
+ const ctx_r0 = \u0275\u0275nextContext();
88738
+ return \u0275\u0275resetView(ctx_r0.emitValidity());
88739
+ });
87920
88740
  \u0275\u0275elementEnd();
88741
+ \u0275\u0275template(14, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_9_Conditional_14_Template, 2, 6);
88742
+ \u0275\u0275elementEnd()();
87921
88743
  }
87922
88744
  if (rf & 2) {
87923
- const row_r6 = ctx.$implicit;
87924
- \u0275\u0275advance(3);
87925
- \u0275\u0275textInterpolate1("", \u0275\u0275pipeBind1(4, 3, row_r6.label), ":");
88745
+ const ctx_r0 = \u0275\u0275nextContext();
88746
+ const registeredOffice_r11 = \u0275\u0275readContextLet(8);
88747
+ const registeredMailing_r12 = \u0275\u0275storeLet(ctx_r0.getAddressGroup(registeredOffice_r11, ctx_r0.controls.NewMailingAddress));
88748
+ \u0275\u0275advance();
88749
+ const registeredDelivery_r13 = \u0275\u0275storeLet(ctx_r0.getAddressGroup(registeredOffice_r11, ctx_r0.controls.NewDeliveryAddress));
88750
+ const registeredDeliverySame_r14 = ctx_r0.isChecked(registeredOffice_r11, ctx_r0.controls.DeliverySameAsMailing);
88751
+ \u0275\u0275advance(2);
88752
+ \u0275\u0275property("isStatusIcon", !ctx_r0.readonly())("isValid", ctx_r0.isRegisteredOfficeValid())("title", ctx_r0.groups.RegisteredOfficeAddress);
88753
+ \u0275\u0275advance(2);
88754
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", registeredOffice_r11)("config", ctx_r0.currentAddressesFields);
88755
+ \u0275\u0275advance(2);
88756
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(8, 15, "New Mailing Address"));
87926
88757
  \u0275\u0275advance(2);
87927
- \u0275\u0275textInterpolate1(" ", row_r6.value || \u0275\u0275pipeBind1(6, 5, "Not specified"), " ");
88758
+ \u0275\u0275conditional(registeredMailing_r12 ? 9 : -1);
87928
88759
  \u0275\u0275advance(2);
87929
- \u0275\u0275conditional(row_r6.previous ? 7 : -1);
88760
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(12, 17, "New Delivery Address"));
88761
+ \u0275\u0275advance(2);
88762
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", registeredOffice_r11)("config", ctx_r0.deliverySameAsMailingFields);
88763
+ \u0275\u0275advance();
88764
+ \u0275\u0275conditional(!registeredDeliverySame_r14 && registeredDelivery_r13 ? 14 : -1);
87930
88765
  }
87931
88766
  }
87932
- function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_10_Template(rf, ctx) {
88767
+ function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_11_Conditional_8_Conditional_3_Template(rf, ctx) {
87933
88768
  if (rf & 1) {
87934
- \u0275\u0275elementStart(0, "expandable-card", 5)(1, "div", 8);
87935
- \u0275\u0275repeaterCreate(2, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_10_For_3_Template, 8, 7, "div", 9, _forTrack05);
87936
- \u0275\u0275elementEnd()();
88769
+ const _r17 = \u0275\u0275getCurrentView();
88770
+ \u0275\u0275elementStart(0, "filing-form-group", 7);
88771
+ \u0275\u0275listener("visiblyValidChange", function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_11_Conditional_8_Conditional_3_Template_filing_form_group_visiblyValidChange_0_listener() {
88772
+ \u0275\u0275restoreView(_r17);
88773
+ const ctx_r0 = \u0275\u0275nextContext(3);
88774
+ return \u0275\u0275resetView(ctx_r0.emitValidity());
88775
+ });
88776
+ \u0275\u0275elementEnd();
87937
88777
  }
87938
88778
  if (rf & 2) {
88779
+ \u0275\u0275nextContext(2);
88780
+ const recordsMailing_r18 = \u0275\u0275readContextLet(0);
87939
88781
  const ctx_r0 = \u0275\u0275nextContext();
87940
- \u0275\u0275property("isStatusIcon", !ctx_r0.readonly())("isValid", ctx_r0.isRegisteredOfficeValid())("title", ctx_r0.groups.RegisteredOfficeAddress);
87941
- \u0275\u0275advance(2);
87942
- \u0275\u0275repeater(ctx_r0.registeredRows());
88782
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", recordsMailing_r18)("config", ctx_r0.addressFields);
87943
88783
  }
87944
88784
  }
87945
- function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_12_For_3_Conditional_7_Template(rf, ctx) {
88785
+ function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_11_Conditional_8_Conditional_8_Template(rf, ctx) {
87946
88786
  if (rf & 1) {
87947
- \u0275\u0275elementStart(0, "div", 12);
87948
- \u0275\u0275text(1);
87949
- \u0275\u0275pipe(2, "translate");
88787
+ const _r19 = \u0275\u0275getCurrentView();
88788
+ \u0275\u0275elementStart(0, "filing-form-group", 7);
88789
+ \u0275\u0275listener("visiblyValidChange", function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_11_Conditional_8_Conditional_8_Template_filing_form_group_visiblyValidChange_0_listener() {
88790
+ \u0275\u0275restoreView(_r19);
88791
+ const ctx_r0 = \u0275\u0275nextContext(3);
88792
+ return \u0275\u0275resetView(ctx_r0.emitValidity());
88793
+ });
87950
88794
  \u0275\u0275elementEnd();
87951
88795
  }
87952
88796
  if (rf & 2) {
87953
- const row_r7 = \u0275\u0275nextContext().$implicit;
87954
- \u0275\u0275advance();
87955
- \u0275\u0275textInterpolate2(" ", \u0275\u0275pipeBind1(2, 2, "Previous"), ": ", row_r7.previous, " ");
88797
+ \u0275\u0275nextContext(2);
88798
+ const recordsDelivery_r20 = \u0275\u0275readContextLet(1);
88799
+ const ctx_r0 = \u0275\u0275nextContext();
88800
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", recordsDelivery_r20)("config", ctx_r0.addressFields);
87956
88801
  }
87957
88802
  }
87958
- function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_12_For_3_Template(rf, ctx) {
88803
+ function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_11_Conditional_8_Template(rf, ctx) {
87959
88804
  if (rf & 1) {
87960
- \u0275\u0275elementStart(0, "div", 9)(1, "div", 10)(2, "span", 11);
87961
- \u0275\u0275text(3);
87962
- \u0275\u0275pipe(4, "translate");
88805
+ const _r16 = \u0275\u0275getCurrentView();
88806
+ \u0275\u0275elementStart(0, "h4", 10);
88807
+ \u0275\u0275text(1);
88808
+ \u0275\u0275pipe(2, "translate");
87963
88809
  \u0275\u0275elementEnd();
88810
+ \u0275\u0275template(3, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_11_Conditional_8_Conditional_3_Template, 1, 3, "filing-form-group", 9);
88811
+ \u0275\u0275elementStart(4, "h4", 10);
87964
88812
  \u0275\u0275text(5);
87965
88813
  \u0275\u0275pipe(6, "translate");
87966
88814
  \u0275\u0275elementEnd();
87967
- \u0275\u0275template(7, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_12_For_3_Conditional_7_Template, 3, 4, "div", 12);
88815
+ \u0275\u0275elementStart(7, "filing-form-group", 7);
88816
+ \u0275\u0275listener("visiblyValidChange", function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_11_Conditional_8_Template_filing_form_group_visiblyValidChange_7_listener() {
88817
+ \u0275\u0275restoreView(_r16);
88818
+ const ctx_r0 = \u0275\u0275nextContext(2);
88819
+ return \u0275\u0275resetView(ctx_r0.emitValidity());
88820
+ });
87968
88821
  \u0275\u0275elementEnd();
88822
+ \u0275\u0275template(8, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_11_Conditional_8_Conditional_8_Template, 1, 3, "filing-form-group", 9);
87969
88823
  }
87970
88824
  if (rf & 2) {
87971
- const row_r7 = ctx.$implicit;
87972
- \u0275\u0275advance(3);
87973
- \u0275\u0275textInterpolate1("", \u0275\u0275pipeBind1(4, 3, row_r7.label), ":");
88825
+ \u0275\u0275nextContext();
88826
+ const recordsMailing_r18 = \u0275\u0275readContextLet(0);
88827
+ const recordsDelivery_r20 = \u0275\u0275readContextLet(1);
88828
+ const recordsDeliverySame_r21 = \u0275\u0275readContextLet(3);
88829
+ const ctx_r0 = \u0275\u0275nextContext();
88830
+ const recordsOffice_r22 = \u0275\u0275readContextLet(10);
88831
+ \u0275\u0275advance();
88832
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(2, 7, "New Mailing Address"));
87974
88833
  \u0275\u0275advance(2);
87975
- \u0275\u0275textInterpolate1(" ", row_r7.value || \u0275\u0275pipeBind1(6, 5, "Not specified"), " ");
88834
+ \u0275\u0275conditional(recordsMailing_r18 ? 3 : -1);
87976
88835
  \u0275\u0275advance(2);
87977
- \u0275\u0275conditional(row_r7.previous ? 7 : -1);
88836
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(6, 9, "New Delivery Address"));
88837
+ \u0275\u0275advance(2);
88838
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", recordsOffice_r22)("config", ctx_r0.deliverySameAsMailingFields);
88839
+ \u0275\u0275advance();
88840
+ \u0275\u0275conditional(!recordsDeliverySame_r21 && recordsDelivery_r20 ? 8 : -1);
87978
88841
  }
87979
88842
  }
87980
- function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_12_Template(rf, ctx) {
88843
+ function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_11_Template(rf, ctx) {
87981
88844
  if (rf & 1) {
87982
- \u0275\u0275elementStart(0, "expandable-card", 5)(1, "div", 8);
87983
- \u0275\u0275repeaterCreate(2, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_12_For_3_Template, 8, 7, "div", 9, _forTrack05);
88845
+ const _r15 = \u0275\u0275getCurrentView();
88846
+ \u0275\u0275declareLet(0)(1)(2)(3);
88847
+ \u0275\u0275elementStart(4, "expandable-card", 5)(5, "div", 8);
88848
+ \u0275\u0275element(6, "filing-form-group", 9);
88849
+ \u0275\u0275elementStart(7, "filing-form-group", 7);
88850
+ \u0275\u0275listener("visiblyValidChange", function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_11_Template_filing_form_group_visiblyValidChange_7_listener() {
88851
+ \u0275\u0275restoreView(_r15);
88852
+ const ctx_r0 = \u0275\u0275nextContext();
88853
+ return \u0275\u0275resetView(ctx_r0.emitValidity());
88854
+ });
88855
+ \u0275\u0275elementEnd();
88856
+ \u0275\u0275template(8, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_11_Conditional_8_Template, 9, 11);
87984
88857
  \u0275\u0275elementEnd()();
87985
88858
  }
87986
88859
  if (rf & 2) {
87987
88860
  const ctx_r0 = \u0275\u0275nextContext();
88861
+ const recordsOffice_r22 = \u0275\u0275readContextLet(10);
88862
+ \u0275\u0275storeLet(ctx_r0.getAddressGroup(recordsOffice_r22, ctx_r0.controls.NewMailingAddress));
88863
+ \u0275\u0275advance();
88864
+ \u0275\u0275storeLet(ctx_r0.getAddressGroup(recordsOffice_r22, ctx_r0.controls.NewDeliveryAddress));
88865
+ const recordsSameAsRegistered_r23 = ctx_r0.isChecked(recordsOffice_r22, ctx_r0.controls.SameAsRegisteredOffice);
88866
+ \u0275\u0275advance(2);
88867
+ \u0275\u0275storeLet(ctx_r0.isChecked(recordsOffice_r22, ctx_r0.controls.DeliverySameAsMailing));
88868
+ \u0275\u0275advance();
87988
88869
  \u0275\u0275property("isStatusIcon", !ctx_r0.readonly())("isValid", ctx_r0.isRecordsOfficeValid())("title", ctx_r0.groups.RecordsOfficeAddress);
87989
88870
  \u0275\u0275advance(2);
87990
- \u0275\u0275repeater(ctx_r0.recordsRows());
88871
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", recordsOffice_r22)("config", ctx_r0.currentAddressesFields);
88872
+ \u0275\u0275advance();
88873
+ \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", recordsOffice_r22)("config", ctx_r0.sameAsRegisteredOfficeFields);
88874
+ \u0275\u0275advance();
88875
+ \u0275\u0275conditional(!recordsSameAsRegistered_r23 ? 8 : -1);
87991
88876
  }
87992
88877
  }
87993
- function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_14_Template(rf, ctx) {
88878
+ function BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_13_Template(rf, ctx) {
87994
88879
  if (rf & 1) {
87995
- \u0275\u0275elementStart(0, "expandable-card", 6)(1, "div", 13)(2, "p");
88880
+ \u0275\u0275elementStart(0, "expandable-card", 6)(1, "div", 11)(2, "p");
87996
88881
  \u0275\u0275text(3);
87997
88882
  \u0275\u0275pipe(4, "translate");
87998
88883
  \u0275\u0275elementEnd();
87999
- \u0275\u0275elementStart(5, "mat-radio-group", 14)(6, "mat-radio-button", 15);
88884
+ \u0275\u0275elementStart(5, "mat-radio-group", 12)(6, "mat-radio-button", 13);
88000
88885
  \u0275\u0275text(7);
88001
88886
  \u0275\u0275pipe(8, "translate");
88002
88887
  \u0275\u0275elementEnd();
88003
- \u0275\u0275elementStart(9, "mat-radio-button", 15);
88888
+ \u0275\u0275elementStart(9, "mat-radio-button", 13);
88004
88889
  \u0275\u0275text(10);
88005
88890
  \u0275\u0275pipe(11, "translate");
88006
88891
  \u0275\u0275elementEnd()()()();
88007
88892
  }
88008
88893
  if (rf & 2) {
88009
88894
  const ctx_r0 = \u0275\u0275nextContext();
88010
- const annualReportReminder_r8 = \u0275\u0275readContextLet(13);
88895
+ const annualReportReminder_r24 = \u0275\u0275readContextLet(12);
88011
88896
  \u0275\u0275property("isStatusIcon", false)("title", ctx_r0.groups.AnnualReportReminder);
88012
88897
  \u0275\u0275advance();
88013
- \u0275\u0275property("formGroup", annualReportReminder_r8);
88898
+ \u0275\u0275property("formGroup", annualReportReminder_r24);
88014
88899
  \u0275\u0275advance(2);
88015
88900
  \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."), " ");
88016
88901
  \u0275\u0275advance(2);
@@ -88025,7 +88910,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88025
88910
  \u0275\u0275textInterpolate1(" ", \u0275\u0275pipeBind1(11, 13, "No, I do not need to be reminded"), " ");
88026
88911
  }
88027
88912
  }
88028
- var _forTrack05, BritishColumbiaChangeOfOfficeAddressesFormComponent;
88913
+ var BritishColumbiaChangeOfOfficeAddressesFormComponent;
88029
88914
  var init_change_of_office_addresses_form_component = __esm({
88030
88915
  "src/app/components/british-columbia/change-of-office-addresses/change-of-office-addresses-form/change-of-office-addresses-form.component.ts"() {
88031
88916
  init_core();
@@ -88038,18 +88923,16 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88038
88923
  init_expandable_card_component();
88039
88924
  init_british_columbia_form_enums();
88040
88925
  init_british_columbia_change_of_office_addresses_form_constants();
88926
+ init_forms_utils();
88041
88927
  init_BritishColumbiaConstants();
88042
88928
  init_british_columbia_change_of_office_addresses_form_helper();
88043
88929
  init_core();
88044
88930
  init_forms();
88045
- _forTrack05 = ($index, $item) => $item.label;
88046
88931
  BritishColumbiaChangeOfOfficeAddressesFormComponent = class _BritishColumbiaChangeOfOfficeAddressesFormComponent {
88047
88932
  form = input.required();
88048
88933
  task = input();
88049
88934
  errors = input([]);
88050
88935
  isNote = input(false);
88051
- /** True while the registry's current data is loading: addresses are not reported missing yet. */
88052
- loading = input(false);
88053
88936
  isSubmitted = input(false);
88054
88937
  readonly = input(false);
88055
88938
  visiblyValidChange = output();
@@ -88067,41 +88950,17 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88067
88950
  deliveryNoteFields = BC_COA_CARD_FORM_DELIVERY_ADDRESS_NOTE_FIELDS;
88068
88951
  deliverySameAsMailingFields = BC_COA_DELTA_CARD_FORM_DELIVERY_SAME_AS_MAILING_FIELDS;
88069
88952
  sameAsRegisteredOfficeFields = BC_COA_DELTA_CARD_FORM_SAME_AS_REGISTERED_OFFICE_FIELDS;
88070
- translate = inject(TranslateService);
88071
88953
  sectionValidity = {};
88072
88954
  isVisiblyValid() {
88073
88955
  return Object.values(this.sectionValidity).every((v) => v) && this.isRegisteredOfficeValid() && this.isRecordsOfficeValid();
88074
88956
  }
88075
88957
  isRegisteredOfficeValid() {
88076
- return !this.isRegisteredMissing();
88958
+ const office = this.getFormGroup(this.groups.RegisteredOfficeAddress);
88959
+ return this.isAddressValid(office, this.controls.NewMailingAddress) && this.isAddressValid(office, this.controls.NewDeliveryAddress);
88077
88960
  }
88078
88961
  isRecordsOfficeValid() {
88079
- return !this.isRecordsMissing();
88080
- }
88081
- /** One message per missing office address, shown in the banner at the top of the form. */
88082
- missingMessages() {
88083
- const t = (key) => this.translate.instant(key);
88084
- const records = this.getFormGroup(this.groups.RecordsOfficeAddress);
88085
- if (this.loading() || !records || !this.getFormGroup(this.groups.RegisteredOfficeAddress)) {
88086
- return [];
88087
- }
88088
- const recordsSameAsRegistered = this.isChecked(records, this.controls.SameAsRegisteredOffice);
88089
- const [regMailing, regDelivery] = this.registeredRows();
88090
- const [recMailing, recDelivery] = this.recordsRows();
88091
- return [
88092
- !regMailing.value && t("The Registered Office mailing address is missing. Add it in UEM, then try again."),
88093
- !regDelivery.value && t("The Registered Office delivery address is missing. Add it in UEM, then try again."),
88094
- // "Same as Registered Office" is already reported by the registered office messages.
88095
- !recordsSameAsRegistered && !recMailing.value && t("The Records Office mailing address is missing. Add it in UEM, then try again."),
88096
- !recordsSameAsRegistered && !recDelivery.value && t("The Records Office delivery address is missing. Add it in UEM, then try again.")
88097
- ].filter((m) => !!m);
88098
- }
88099
- /** The incoming Shared Address supplied no new address for a line (and none is on the register). */
88100
- isRegisteredMissing() {
88101
- return !!this.getFormGroup(this.groups.RegisteredOfficeAddress) && this.registeredRows().some((row) => !row.value);
88102
- }
88103
- isRecordsMissing() {
88104
- return !!this.getFormGroup(this.groups.RecordsOfficeAddress) && this.recordsRows().some((row) => !row.value);
88962
+ const office = this.getFormGroup(this.groups.RecordsOfficeAddress);
88963
+ return this.isAddressValid(office, this.controls.NewMailingAddress) && this.isAddressValid(office, this.controls.NewDeliveryAddress);
88105
88964
  }
88106
88965
  isChecked(office, control) {
88107
88966
  return Boolean(office?.get(control)?.value);
@@ -88119,77 +88978,28 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88119
88978
  getAddressGroup(office, control) {
88120
88979
  return office?.get(control) ?? null;
88121
88980
  }
88122
- /** Registered office lines: the new (incoming) address and, if it changed, the previous one. */
88123
- registeredRows() {
88124
- const office = this.getFormGroup(this.groups.RegisteredOfficeAddress);
88125
- return this.buildRows(office, this.isChecked(office, this.controls.DeliverySameAsMailing));
88126
- }
88127
- /** Records office lines; "Same as Registered Office" reuses the registered office's new lines. */
88128
- recordsRows() {
88129
- const office = this.getFormGroup(this.groups.RecordsOfficeAddress);
88130
- if (this.isChecked(office, this.controls.SameAsRegisteredOffice)) {
88131
- const registered = this.registeredRows();
88132
- const current = this.currentOf(office);
88133
- return registered.map((row, i) => __spreadProps(__spreadValues({}, row), {
88134
- previous: this.changedPrevious(row.value, i === 0 ? current.mailing : current.delivery)
88135
- }));
88136
- }
88137
- return this.buildRows(office, this.isChecked(office, this.controls.DeliverySameAsMailing));
88138
- }
88139
- buildRows(office, deliverySame) {
88140
- const current = this.currentOf(office);
88141
- const mailing = this.formatNew(this.getAddressGroup(office, this.controls.NewMailingAddress));
88142
- const delivery = deliverySame ? mailing : this.formatNew(this.getAddressGroup(office, this.controls.NewDeliveryAddress));
88143
- return [
88144
- {
88145
- label: "Mailing Address",
88146
- value: mailing,
88147
- previous: this.changedPrevious(mailing, current.mailing)
88148
- },
88149
- {
88150
- label: "Delivery Address",
88151
- value: delivery,
88152
- previous: this.changedPrevious(delivery, current.delivery)
88153
- }
88154
- ];
88155
- }
88156
- currentOf(office) {
88157
- return {
88158
- mailing: office?.get(this.controls.CurrentMailingAddress)?.value ?? "",
88159
- delivery: office?.get(this.controls.CurrentDeliveryAddress)?.value ?? ""
88160
- };
88161
- }
88162
- formatNew(group2) {
88163
- const c = this.controls;
88164
- const v = group2?.getRawValue() ?? {};
88165
- if (![v[c.AddressLine1], v[c.City], v[c.PostalCode]].some((part) => part?.trim())) {
88166
- return "";
88167
- }
88168
- 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(", ");
88169
- }
88170
- /** The previous address, only when it exists and differs from the new one. */
88171
- changedPrevious(next, previous) {
88172
- const normalize = (s) => s.toLowerCase().replace(/[^a-z0-9]/g, "");
88173
- return previous && normalize(previous) !== normalize(next) ? previous : "";
88981
+ isAddressValid(office, control) {
88982
+ const group2 = this.getAddressGroup(office, control);
88983
+ return !group2 || group2.disabled || isFormGroupVisiblyValid(group2, this.addressFields);
88174
88984
  }
88175
88985
  static \u0275fac = function BritishColumbiaChangeOfOfficeAddressesFormComponent_Factory(__ngFactoryType__) {
88176
88986
  return new (__ngFactoryType__ || _BritishColumbiaChangeOfOfficeAddressesFormComponent)();
88177
88987
  };
88178
- 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) {
88988
+ 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) {
88179
88989
  if (rf & 1) {
88180
88990
  \u0275\u0275elementStart(0, "div", 0);
88181
- \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);
88182
- \u0275\u0275elementStart(4, "div", 3);
88183
- \u0275\u0275declareLet(5);
88184
- \u0275\u0275template(6, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_6_Template, 2, 4, "expandable-card", 4);
88185
- \u0275\u0275declareLet(7);
88186
- \u0275\u0275template(8, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_8_Template, 2, 6, "expandable-card", 5);
88187
- \u0275\u0275declareLet(9);
88188
- \u0275\u0275template(10, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_10_Template, 4, 3, "expandable-card", 5);
88189
- \u0275\u0275declareLet(11);
88190
- \u0275\u0275template(12, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_12_Template, 4, 3, "expandable-card", 5);
88191
- \u0275\u0275declareLet(13);
88192
- \u0275\u0275template(14, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_14_Template, 12, 15, "expandable-card", 6);
88991
+ \u0275\u0275template(1, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_1_Template, 1, 1, "alert", 1)(2, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_2_Template, 1, 1, "alert", 2);
88992
+ \u0275\u0275elementStart(3, "div", 3);
88993
+ \u0275\u0275declareLet(4);
88994
+ \u0275\u0275template(5, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_5_Template, 2, 4, "expandable-card", 4);
88995
+ \u0275\u0275declareLet(6);
88996
+ \u0275\u0275template(7, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_7_Template, 2, 6, "expandable-card", 5);
88997
+ \u0275\u0275declareLet(8);
88998
+ \u0275\u0275template(9, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_9_Template, 15, 19, "expandable-card", 5);
88999
+ \u0275\u0275declareLet(10);
89000
+ \u0275\u0275template(11, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_11_Template, 9, 13, "expandable-card", 5);
89001
+ \u0275\u0275declareLet(12);
89002
+ \u0275\u0275template(13, BritishColumbiaChangeOfOfficeAddressesFormComponent_Conditional_13_Template, 12, 15, "expandable-card", 6);
88193
89003
  \u0275\u0275elementEnd()();
88194
89004
  }
88195
89005
  if (rf & 2) {
@@ -88197,26 +89007,26 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88197
89007
  \u0275\u0275conditional(ctx.isNote() ? 1 : -1);
88198
89008
  \u0275\u0275advance();
88199
89009
  \u0275\u0275conditional(ctx.errors().length ? 2 : -1);
88200
- \u0275\u0275advance();
88201
- \u0275\u0275conditional(ctx.missingMessages().length ? 3 : -1);
88202
89010
  \u0275\u0275advance(2);
88203
- const referenceNumbers_r9 = \u0275\u0275storeLet(ctx.getFormGroup(ctx.groups.ReferenceNumbers));
89011
+ const referenceNumbers_r25 = \u0275\u0275storeLet(ctx.getFormGroup(ctx.groups.ReferenceNumbers));
88204
89012
  \u0275\u0275advance();
88205
- \u0275\u0275conditional(referenceNumbers_r9 ? 6 : -1);
89013
+ \u0275\u0275conditional(referenceNumbers_r25 ? 5 : -1);
88206
89014
  \u0275\u0275advance();
88207
- const corporationDetails_r10 = \u0275\u0275storeLet(ctx.getFormGroup(ctx.groups.CorporationDetails));
89015
+ const corporationDetails_r26 = \u0275\u0275storeLet(ctx.getFormGroup(ctx.groups.CorporationDetails));
88208
89016
  \u0275\u0275advance();
88209
- \u0275\u0275conditional(corporationDetails_r10 ? 8 : -1);
88210
- const registeredOffice_r11 = ctx.getFormGroup(ctx.groups.RegisteredOfficeAddress);
88211
- \u0275\u0275advance(2);
88212
- \u0275\u0275conditional(registeredOffice_r11 ? 10 : -1);
88213
- const recordsOffice_r12 = ctx.getFormGroup(ctx.groups.RecordsOfficeAddress);
88214
- \u0275\u0275advance(2);
88215
- \u0275\u0275conditional(recordsOffice_r12 ? 12 : -1);
89017
+ \u0275\u0275conditional(corporationDetails_r26 ? 7 : -1);
89018
+ \u0275\u0275advance();
89019
+ const registeredOffice_r27 = \u0275\u0275storeLet(ctx.getFormGroup(ctx.groups.RegisteredOfficeAddress));
89020
+ \u0275\u0275advance();
89021
+ \u0275\u0275conditional(registeredOffice_r27 ? 9 : -1);
89022
+ \u0275\u0275advance();
89023
+ const recordsOffice_r28 = \u0275\u0275storeLet(ctx.getFormGroup(ctx.groups.RecordsOfficeAddress));
88216
89024
  \u0275\u0275advance();
88217
- const annualReportReminder_r13 = \u0275\u0275storeLet(ctx.getFormGroup(ctx.groups.AnnualReportReminder));
89025
+ \u0275\u0275conditional(recordsOffice_r28 ? 11 : -1);
88218
89026
  \u0275\u0275advance();
88219
- \u0275\u0275conditional(annualReportReminder_r13 ? 14 : -1);
89027
+ const annualReportReminder_r29 = \u0275\u0275storeLet(ctx.getFormGroup(ctx.groups.AnnualReportReminder));
89028
+ \u0275\u0275advance();
89029
+ \u0275\u0275conditional(annualReportReminder_r29 ? 13 : -1);
88220
89030
  }
88221
89031
  }, dependencies: [
88222
89032
  FilingFormGroupComponent,
@@ -88230,7 +89040,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88230
89040
  FormGroupDirective,
88231
89041
  FormControlName,
88232
89042
  TranslatePipe
88233
- ], 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 });
89043
+ ], 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 });
88234
89044
  };
88235
89045
  (() => {
88236
89046
  (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(BritishColumbiaChangeOfOfficeAddressesFormComponent, [{
@@ -88258,13 +89068,6 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88258
89068
  [content]="errors()"\r
88259
89069
  />\r
88260
89070
  }\r
88261
- \r
88262
- @if (missingMessages().length) {\r
88263
- <alert\r
88264
- title="The following issues need to be resolved before proceeding:"\r
88265
- [content]="missingMessages()"\r
88266
- />\r
88267
- }\r
88268
89071
  \r
88269
89072
  <div class="change-of-office-addresses-form-content">\r
88270
89073
  @let referenceNumbers = getFormGroup(groups.ReferenceNumbers);\r
@@ -88301,24 +89104,54 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88301
89104
  @let registeredOffice = getFormGroup(groups.RegisteredOfficeAddress);\r
88302
89105
  \r
88303
89106
  @if (registeredOffice) {\r
89107
+ @let registeredMailing = getAddressGroup(registeredOffice, controls.NewMailingAddress);\r
89108
+ @let registeredDelivery = getAddressGroup(registeredOffice, controls.NewDeliveryAddress);\r
89109
+ @let registeredDeliverySame = isChecked(registeredOffice, controls.DeliverySameAsMailing);\r
89110
+ \r
88304
89111
  <expandable-card\r
88305
89112
  [isStatusIcon]="!readonly()"\r
88306
89113
  [isValid]="isRegisteredOfficeValid()"\r
88307
89114
  [title]="groups.RegisteredOfficeAddress"\r
88308
89115
  >\r
88309
89116
  <div class="change-of-office-addresses-form-item">\r
88310
- @for (row of registeredRows(); track row.label) {\r
88311
- <div class="change-of-office-addresses-form-address">\r
88312
- <div class="body-1-regular grey">\r
88313
- <span class="body-1-semibold">{{ row.label | translate }}:</span>\r
88314
- {{ row.value || ('Not specified' | translate) }}\r
88315
- </div>\r
88316
- @if (row.previous) {\r
88317
- <div class="change-of-office-addresses-form-previous">\r
88318
- {{ 'Previous' | translate }}: {{ row.previous }}\r
88319
- </div>\r
88320
- }\r
88321
- </div>\r
89117
+ <filing-form-group\r
89118
+ [isSubmitted]="isSubmitted()"\r
89119
+ [form]="registeredOffice"\r
89120
+ [config]="currentAddressesFields"\r
89121
+ />\r
89122
+ \r
89123
+ <h4 class="change-of-office-addresses-form-item-title">{{ 'New Mailing Address' | translate }}</h4>\r
89124
+ \r
89125
+ @if (registeredMailing) {\r
89126
+ <filing-form-group\r
89127
+ [isSubmitted]="isSubmitted()"\r
89128
+ [form]="registeredMailing"\r
89129
+ [config]="addressFields"\r
89130
+ (visiblyValidChange)="emitValidity()"\r
89131
+ />\r
89132
+ }\r
89133
+ \r
89134
+ <h4 class="change-of-office-addresses-form-item-title">{{ 'New Delivery Address' | translate }}</h4>\r
89135
+ \r
89136
+ <filing-form-group\r
89137
+ [isSubmitted]="isSubmitted()"\r
89138
+ [form]="registeredOffice"\r
89139
+ [config]="deliverySameAsMailingFields"\r
89140
+ (visiblyValidChange)="emitValidity()"\r
89141
+ />\r
89142
+ \r
89143
+ @if (!registeredDeliverySame && registeredDelivery) {\r
89144
+ <filing-form-group\r
89145
+ [isSubmitted]="isSubmitted()"\r
89146
+ [form]="registeredOffice"\r
89147
+ [config]="deliveryNoteFields"\r
89148
+ />\r
89149
+ <filing-form-group\r
89150
+ [isSubmitted]="isSubmitted()"\r
89151
+ [form]="registeredDelivery"\r
89152
+ [config]="addressFields"\r
89153
+ (visiblyValidChange)="emitValidity()"\r
89154
+ />\r
88322
89155
  }\r
88323
89156
  </div>\r
88324
89157
  </expandable-card>\r
@@ -88328,24 +89161,59 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88328
89161
  @let recordsOffice = getFormGroup(groups.RecordsOfficeAddress);\r
88329
89162
  \r
88330
89163
  @if (recordsOffice) {\r
89164
+ @let recordsMailing = getAddressGroup(recordsOffice, controls.NewMailingAddress);\r
89165
+ @let recordsDelivery = getAddressGroup(recordsOffice, controls.NewDeliveryAddress);\r
89166
+ @let recordsSameAsRegistered = isChecked(recordsOffice, controls.SameAsRegisteredOffice);\r
89167
+ @let recordsDeliverySame = isChecked(recordsOffice, controls.DeliverySameAsMailing);\r
89168
+ \r
88331
89169
  <expandable-card\r
88332
89170
  [isStatusIcon]="!readonly()"\r
88333
89171
  [isValid]="isRecordsOfficeValid()"\r
88334
89172
  [title]="groups.RecordsOfficeAddress"\r
88335
89173
  >\r
88336
89174
  <div class="change-of-office-addresses-form-item">\r
88337
- @for (row of recordsRows(); track row.label) {\r
88338
- <div class="change-of-office-addresses-form-address">\r
88339
- <div class="body-1-regular grey">\r
88340
- <span class="body-1-semibold">{{ row.label | translate }}:</span>\r
88341
- {{ row.value || ('Not specified' | translate) }}\r
88342
- </div>\r
88343
- @if (row.previous) {\r
88344
- <div class="change-of-office-addresses-form-previous">\r
88345
- {{ 'Previous' | translate }}: {{ row.previous }}\r
88346
- </div>\r
88347
- }\r
88348
- </div>\r
89175
+ <filing-form-group\r
89176
+ [isSubmitted]="isSubmitted()"\r
89177
+ [form]="recordsOffice"\r
89178
+ [config]="currentAddressesFields"\r
89179
+ />\r
89180
+ \r
89181
+ <filing-form-group\r
89182
+ [isSubmitted]="isSubmitted()"\r
89183
+ [form]="recordsOffice"\r
89184
+ [config]="sameAsRegisteredOfficeFields"\r
89185
+ (visiblyValidChange)="emitValidity()"\r
89186
+ />\r
89187
+ \r
89188
+ @if (!recordsSameAsRegistered) {\r
89189
+ <h4 class="change-of-office-addresses-form-item-title">{{ 'New Mailing Address' | translate }}</h4>\r
89190
+ \r
89191
+ @if (recordsMailing) {\r
89192
+ <filing-form-group\r
89193
+ [isSubmitted]="isSubmitted()"\r
89194
+ [form]="recordsMailing"\r
89195
+ [config]="addressFields"\r
89196
+ (visiblyValidChange)="emitValidity()"\r
89197
+ />\r
89198
+ }\r
89199
+ \r
89200
+ <h4 class="change-of-office-addresses-form-item-title">{{ 'New Delivery Address' | translate }}</h4>\r
89201
+ \r
89202
+ <filing-form-group\r
89203
+ [isSubmitted]="isSubmitted()"\r
89204
+ [form]="recordsOffice"\r
89205
+ [config]="deliverySameAsMailingFields"\r
89206
+ (visiblyValidChange)="emitValidity()"\r
89207
+ />\r
89208
+ \r
89209
+ @if (!recordsDeliverySame && recordsDelivery) {\r
89210
+ <filing-form-group\r
89211
+ [isSubmitted]="isSubmitted()"\r
89212
+ [form]="recordsDelivery"\r
89213
+ [config]="addressFields"\r
89214
+ (visiblyValidChange)="emitValidity()"\r
89215
+ />\r
89216
+ }\r
88349
89217
  }\r
88350
89218
  </div>\r
88351
89219
  </expandable-card>\r
@@ -88375,11 +89243,11 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88375
89243
  }\r
88376
89244
  </div>\r
88377
89245
  </div>\r
88378
- `, 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'] }]
89246
+ `, 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"] }]
88379
89247
  }], null, null);
88380
89248
  })();
88381
89249
  (() => {
88382
- (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 });
89250
+ (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 });
88383
89251
  })();
88384
89252
  }
88385
89253
  });
@@ -88433,7 +89301,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88433
89301
  static \u0275fac = function BritishColumbiaChangeOfOfficeAddressesDeltaFormComponent_Factory(__ngFactoryType__) {
88434
89302
  return new (__ngFactoryType__ || _BritishColumbiaChangeOfOfficeAddressesDeltaFormComponent)();
88435
89303
  };
88436
- 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) {
89304
+ 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) {
88437
89305
  if (rf & 1) {
88438
89306
  \u0275\u0275elementStart(0, "div", 0)(1, "british-columbia-change-of-office-addresses-form", 1);
88439
89307
  \u0275\u0275listener("visiblyValidChange", function BritishColumbiaChangeOfOfficeAddressesDeltaFormComponent_Template_british_columbia_change_of_office_addresses_form_visiblyValidChange_1_listener($event) {
@@ -88467,19 +89335,19 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88467
89335
  }
88468
89336
  if (rf & 2) {
88469
89337
  \u0275\u0275advance();
88470
- \u0275\u0275property("form", ctx.form())("task", ctx.task())("errors", ctx.combinedErrors())("isNote", ctx.isNote())("loading", ctx.actionsDisabled())("isSubmitted", ctx.submitted())("readonly", false);
89338
+ \u0275\u0275property("form", ctx.form())("task", ctx.task())("errors", ctx.combinedErrors())("isNote", ctx.isNote())("isSubmitted", ctx.submitted())("readonly", false);
88471
89339
  \u0275\u0275advance(2);
88472
89340
  \u0275\u0275property("disabled", ctx.actionsDisabled());
88473
89341
  \u0275\u0275advance(2);
88474
- \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(6, 13, "Close"));
89342
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(6, 12, "Close"));
88475
89343
  \u0275\u0275advance(2);
88476
89344
  \u0275\u0275property("disabled", ctx.actionsDisabled());
88477
89345
  \u0275\u0275advance(2);
88478
- \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(10, 15, "Save Changes"));
89346
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(10, 14, "Save Changes"));
88479
89347
  \u0275\u0275advance(2);
88480
89348
  \u0275\u0275property("disabled", ctx.actionsDisabled());
88481
89349
  \u0275\u0275advance(2);
88482
- \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(14, 17, "Validate & Generate Draft"));
89350
+ \u0275\u0275textInterpolate(\u0275\u0275pipeBind1(14, 16, "Validate & Generate Draft"));
88483
89351
  }
88484
89352
  }, 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 });
88485
89353
  };
@@ -88493,7 +89361,6 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88493
89361
  [task]="task()"\r
88494
89362
  [errors]="combinedErrors()"\r
88495
89363
  [isNote]="isNote()"\r
88496
- [loading]="actionsDisabled()"\r
88497
89364
  [isSubmitted]="submitted()"\r
88498
89365
  [readonly]="false"\r
88499
89366
  (visiblyValidChange)="onVisiblyValidChange($event)"\r
@@ -88678,52 +89545,52 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88678
89545
  function BritishColumbiaComponent_Conditional_2_Conditional_0_Template(rf, ctx) {
88679
89546
  if (rf & 1) {
88680
89547
  const _r5 = \u0275\u0275getCurrentView();
88681
- \u0275\u0275elementStart(0, "british-columbia-incorporation-delta-form", 6);
88682
- \u0275\u0275listener("validate", function BritishColumbiaComponent_Conditional_2_Conditional_0_Template_british_columbia_incorporation_delta_form_validate_0_listener() {
89548
+ \u0275\u0275elementStart(0, "british-columbia-annual-report-delta-form", 2);
89549
+ \u0275\u0275listener("validate", function BritishColumbiaComponent_Conditional_2_Conditional_0_Template_british_columbia_annual_report_delta_form_validate_0_listener() {
88683
89550
  \u0275\u0275restoreView(_r5);
88684
89551
  const ctx_r1 = \u0275\u0275nextContext(2);
88685
- return \u0275\u0275resetView(ctx_r1.onFormationValidate());
88686
- })("close", function BritishColumbiaComponent_Conditional_2_Conditional_0_Template_british_columbia_incorporation_delta_form_close_0_listener() {
89552
+ return \u0275\u0275resetView(ctx_r1.onAnnualReportValidate());
89553
+ })("close", function BritishColumbiaComponent_Conditional_2_Conditional_0_Template_british_columbia_annual_report_delta_form_close_0_listener() {
88687
89554
  \u0275\u0275restoreView(_r5);
88688
89555
  const ctx_r1 = \u0275\u0275nextContext(2);
88689
89556
  return \u0275\u0275resetView(ctx_r1.onClose());
88690
- })("save", function BritishColumbiaComponent_Conditional_2_Conditional_0_Template_british_columbia_incorporation_delta_form_save_0_listener() {
89557
+ })("save", function BritishColumbiaComponent_Conditional_2_Conditional_0_Template_british_columbia_annual_report_delta_form_save_0_listener() {
88691
89558
  \u0275\u0275restoreView(_r5);
88692
89559
  const ctx_r1 = \u0275\u0275nextContext(2);
88693
- return \u0275\u0275resetView(ctx_r1.onFormationSave());
89560
+ return \u0275\u0275resetView(ctx_r1.onAnnualReportSave());
88694
89561
  });
88695
89562
  \u0275\u0275elementEnd();
88696
89563
  }
88697
89564
  if (rf & 2) {
88698
89565
  const ctx_r1 = \u0275\u0275nextContext(2);
88699
89566
  const taskData_r3 = \u0275\u0275readContextLet(0);
88700
- \u0275\u0275property("task", taskData_r3)("errors", ctx_r1.errors())("isNote", ctx_r1.isNote())("actionsDisabled", ctx_r1.actionsDisabled())("form", ctx_r1.deltaForm());
89567
+ \u0275\u0275property("task", taskData_r3)("form", ctx_r1.deltaForm())("actionsDisabled", ctx_r1.actionsDisabled())("errors", ctx_r1.errors())("isNote", ctx_r1.isNote());
88701
89568
  }
88702
89569
  }
88703
89570
  function BritishColumbiaComponent_Conditional_2_Conditional_1_Template(rf, ctx) {
88704
89571
  if (rf & 1) {
88705
89572
  const _r6 = \u0275\u0275getCurrentView();
88706
- \u0275\u0275elementStart(0, "british-columbia-incorporation-preview-form", 7);
88707
- \u0275\u0275listener("next", function BritishColumbiaComponent_Conditional_2_Conditional_1_Template_british_columbia_incorporation_preview_form_next_0_listener() {
89573
+ \u0275\u0275elementStart(0, "british-columbia-annual-report-preview-form", 3);
89574
+ \u0275\u0275listener("close", function BritishColumbiaComponent_Conditional_2_Conditional_1_Template_british_columbia_annual_report_preview_form_close_0_listener() {
88708
89575
  \u0275\u0275restoreView(_r6);
88709
89576
  const ctx_r1 = \u0275\u0275nextContext(2);
88710
- return \u0275\u0275resetView(ctx_r1.onFormationSubmit());
88711
- })("close", function BritishColumbiaComponent_Conditional_2_Conditional_1_Template_british_columbia_incorporation_preview_form_close_0_listener() {
89577
+ return \u0275\u0275resetView(ctx_r1.close.emit());
89578
+ })("file", function BritishColumbiaComponent_Conditional_2_Conditional_1_Template_british_columbia_annual_report_preview_form_file_0_listener() {
88712
89579
  \u0275\u0275restoreView(_r6);
88713
89580
  const ctx_r1 = \u0275\u0275nextContext(2);
88714
- return \u0275\u0275resetView(ctx_r1.close.emit());
89581
+ return \u0275\u0275resetView(ctx_r1.onAnnualReportSubmit());
88715
89582
  });
88716
89583
  \u0275\u0275elementEnd();
88717
89584
  }
88718
89585
  if (rf & 2) {
88719
89586
  const ctx_r1 = \u0275\u0275nextContext(2);
88720
89587
  const taskData_r3 = \u0275\u0275readContextLet(0);
88721
- \u0275\u0275property("task", taskData_r3)("form", ctx_r1.previewForm())("errors", ctx_r1.errors())("actionsDisabled", ctx_r1.actionsDisabled());
89588
+ \u0275\u0275property("task", taskData_r3)("form", ctx_r1.previewForm())("actionsDisabled", ctx_r1.actionsDisabled())("errors", ctx_r1.errors());
88722
89589
  }
88723
89590
  }
88724
89591
  function BritishColumbiaComponent_Conditional_2_Template(rf, ctx) {
88725
89592
  if (rf & 1) {
88726
- \u0275\u0275template(0, BritishColumbiaComponent_Conditional_2_Conditional_0_Template, 1, 5, "british-columbia-incorporation-delta-form", 4)(1, BritishColumbiaComponent_Conditional_2_Conditional_1_Template, 1, 4, "british-columbia-incorporation-preview-form", 5);
89593
+ \u0275\u0275template(0, BritishColumbiaComponent_Conditional_2_Conditional_0_Template, 1, 5, "british-columbia-annual-report-delta-form", 0)(1, BritishColumbiaComponent_Conditional_2_Conditional_1_Template, 1, 4, "british-columbia-annual-report-preview-form", 1);
88727
89594
  }
88728
89595
  if (rf & 2) {
88729
89596
  const ctx_r1 = \u0275\u0275nextContext();
@@ -88735,39 +89602,96 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88735
89602
  function BritishColumbiaComponent_Conditional_3_Conditional_0_Template(rf, ctx) {
88736
89603
  if (rf & 1) {
88737
89604
  const _r7 = \u0275\u0275getCurrentView();
88738
- \u0275\u0275elementStart(0, "british-columbia-change-of-office-addresses-delta-form", 2);
88739
- \u0275\u0275listener("validate", function BritishColumbiaComponent_Conditional_3_Conditional_0_Template_british_columbia_change_of_office_addresses_delta_form_validate_0_listener() {
89605
+ \u0275\u0275elementStart(0, "british-columbia-incorporation-delta-form", 6);
89606
+ \u0275\u0275listener("validate", function BritishColumbiaComponent_Conditional_3_Conditional_0_Template_british_columbia_incorporation_delta_form_validate_0_listener() {
88740
89607
  \u0275\u0275restoreView(_r7);
88741
89608
  const ctx_r1 = \u0275\u0275nextContext(2);
88742
- return \u0275\u0275resetView(ctx_r1.onChangeOfOfficeAddressesValidate());
88743
- })("close", function BritishColumbiaComponent_Conditional_3_Conditional_0_Template_british_columbia_change_of_office_addresses_delta_form_close_0_listener() {
89609
+ return \u0275\u0275resetView(ctx_r1.onFormationValidate());
89610
+ })("close", function BritishColumbiaComponent_Conditional_3_Conditional_0_Template_british_columbia_incorporation_delta_form_close_0_listener() {
88744
89611
  \u0275\u0275restoreView(_r7);
88745
89612
  const ctx_r1 = \u0275\u0275nextContext(2);
88746
89613
  return \u0275\u0275resetView(ctx_r1.onClose());
88747
- })("save", function BritishColumbiaComponent_Conditional_3_Conditional_0_Template_british_columbia_change_of_office_addresses_delta_form_save_0_listener() {
89614
+ })("save", function BritishColumbiaComponent_Conditional_3_Conditional_0_Template_british_columbia_incorporation_delta_form_save_0_listener() {
88748
89615
  \u0275\u0275restoreView(_r7);
88749
89616
  const ctx_r1 = \u0275\u0275nextContext(2);
88750
- return \u0275\u0275resetView(ctx_r1.onChangeOfOfficeAddressesSave());
89617
+ return \u0275\u0275resetView(ctx_r1.onFormationSave());
88751
89618
  });
88752
89619
  \u0275\u0275elementEnd();
88753
89620
  }
88754
89621
  if (rf & 2) {
88755
89622
  const ctx_r1 = \u0275\u0275nextContext(2);
88756
89623
  const taskData_r3 = \u0275\u0275readContextLet(0);
88757
- \u0275\u0275property("task", taskData_r3)("form", ctx_r1.deltaForm())("actionsDisabled", ctx_r1.actionsDisabled())("errors", ctx_r1.errors())("isNote", ctx_r1.isNote());
89624
+ \u0275\u0275property("task", taskData_r3)("errors", ctx_r1.errors())("isNote", ctx_r1.isNote())("actionsDisabled", ctx_r1.actionsDisabled())("form", ctx_r1.deltaForm());
88758
89625
  }
88759
89626
  }
88760
89627
  function BritishColumbiaComponent_Conditional_3_Conditional_1_Template(rf, ctx) {
88761
89628
  if (rf & 1) {
88762
89629
  const _r8 = \u0275\u0275getCurrentView();
88763
- \u0275\u0275elementStart(0, "british-columbia-change-of-office-addresses-preview-form", 3);
88764
- \u0275\u0275listener("close", function BritishColumbiaComponent_Conditional_3_Conditional_1_Template_british_columbia_change_of_office_addresses_preview_form_close_0_listener() {
89630
+ \u0275\u0275elementStart(0, "british-columbia-incorporation-preview-form", 7);
89631
+ \u0275\u0275listener("next", function BritishColumbiaComponent_Conditional_3_Conditional_1_Template_british_columbia_incorporation_preview_form_next_0_listener() {
88765
89632
  \u0275\u0275restoreView(_r8);
88766
89633
  const ctx_r1 = \u0275\u0275nextContext(2);
88767
- return \u0275\u0275resetView(ctx_r1.close.emit());
88768
- })("file", function BritishColumbiaComponent_Conditional_3_Conditional_1_Template_british_columbia_change_of_office_addresses_preview_form_file_0_listener() {
89634
+ return \u0275\u0275resetView(ctx_r1.onFormationSubmit());
89635
+ })("close", function BritishColumbiaComponent_Conditional_3_Conditional_1_Template_british_columbia_incorporation_preview_form_close_0_listener() {
88769
89636
  \u0275\u0275restoreView(_r8);
88770
89637
  const ctx_r1 = \u0275\u0275nextContext(2);
89638
+ return \u0275\u0275resetView(ctx_r1.close.emit());
89639
+ });
89640
+ \u0275\u0275elementEnd();
89641
+ }
89642
+ if (rf & 2) {
89643
+ const ctx_r1 = \u0275\u0275nextContext(2);
89644
+ const taskData_r3 = \u0275\u0275readContextLet(0);
89645
+ \u0275\u0275property("task", taskData_r3)("form", ctx_r1.previewForm())("errors", ctx_r1.errors())("actionsDisabled", ctx_r1.actionsDisabled());
89646
+ }
89647
+ }
89648
+ function BritishColumbiaComponent_Conditional_3_Template(rf, ctx) {
89649
+ if (rf & 1) {
89650
+ \u0275\u0275template(0, BritishColumbiaComponent_Conditional_3_Conditional_0_Template, 1, 5, "british-columbia-incorporation-delta-form", 4)(1, BritishColumbiaComponent_Conditional_3_Conditional_1_Template, 1, 4, "british-columbia-incorporation-preview-form", 5);
89651
+ }
89652
+ if (rf & 2) {
89653
+ const ctx_r1 = \u0275\u0275nextContext();
89654
+ \u0275\u0275conditional(ctx_r1.activeStep() === ctx_r1.steps.Validate ? 0 : -1);
89655
+ \u0275\u0275advance();
89656
+ \u0275\u0275conditional(ctx_r1.activeStep() === ctx_r1.steps.FilingPreview ? 1 : -1);
89657
+ }
89658
+ }
89659
+ function BritishColumbiaComponent_Conditional_4_Conditional_0_Template(rf, ctx) {
89660
+ if (rf & 1) {
89661
+ const _r9 = \u0275\u0275getCurrentView();
89662
+ \u0275\u0275elementStart(0, "british-columbia-change-of-office-addresses-delta-form", 2);
89663
+ \u0275\u0275listener("validate", function BritishColumbiaComponent_Conditional_4_Conditional_0_Template_british_columbia_change_of_office_addresses_delta_form_validate_0_listener() {
89664
+ \u0275\u0275restoreView(_r9);
89665
+ const ctx_r1 = \u0275\u0275nextContext(2);
89666
+ return \u0275\u0275resetView(ctx_r1.onChangeOfOfficeAddressesValidate());
89667
+ })("close", function BritishColumbiaComponent_Conditional_4_Conditional_0_Template_british_columbia_change_of_office_addresses_delta_form_close_0_listener() {
89668
+ \u0275\u0275restoreView(_r9);
89669
+ const ctx_r1 = \u0275\u0275nextContext(2);
89670
+ return \u0275\u0275resetView(ctx_r1.onClose());
89671
+ })("save", function BritishColumbiaComponent_Conditional_4_Conditional_0_Template_british_columbia_change_of_office_addresses_delta_form_save_0_listener() {
89672
+ \u0275\u0275restoreView(_r9);
89673
+ const ctx_r1 = \u0275\u0275nextContext(2);
89674
+ return \u0275\u0275resetView(ctx_r1.onChangeOfOfficeAddressesSave());
89675
+ });
89676
+ \u0275\u0275elementEnd();
89677
+ }
89678
+ if (rf & 2) {
89679
+ const ctx_r1 = \u0275\u0275nextContext(2);
89680
+ const taskData_r3 = \u0275\u0275readContextLet(0);
89681
+ \u0275\u0275property("task", taskData_r3)("form", ctx_r1.deltaForm())("actionsDisabled", ctx_r1.actionsDisabled())("errors", ctx_r1.errors())("isNote", ctx_r1.isNote());
89682
+ }
89683
+ }
89684
+ function BritishColumbiaComponent_Conditional_4_Conditional_1_Template(rf, ctx) {
89685
+ if (rf & 1) {
89686
+ const _r10 = \u0275\u0275getCurrentView();
89687
+ \u0275\u0275elementStart(0, "british-columbia-change-of-office-addresses-preview-form", 3);
89688
+ \u0275\u0275listener("close", function BritishColumbiaComponent_Conditional_4_Conditional_1_Template_british_columbia_change_of_office_addresses_preview_form_close_0_listener() {
89689
+ \u0275\u0275restoreView(_r10);
89690
+ const ctx_r1 = \u0275\u0275nextContext(2);
89691
+ return \u0275\u0275resetView(ctx_r1.close.emit());
89692
+ })("file", function BritishColumbiaComponent_Conditional_4_Conditional_1_Template_british_columbia_change_of_office_addresses_preview_form_file_0_listener() {
89693
+ \u0275\u0275restoreView(_r10);
89694
+ const ctx_r1 = \u0275\u0275nextContext(2);
88771
89695
  return \u0275\u0275resetView(ctx_r1.onChangeOfOfficeAddressesFile());
88772
89696
  });
88773
89697
  \u0275\u0275elementEnd();
@@ -88778,9 +89702,9 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88778
89702
  \u0275\u0275property("task", taskData_r3)("form", ctx_r1.previewForm())("actionsDisabled", ctx_r1.actionsDisabled())("errors", ctx_r1.errors());
88779
89703
  }
88780
89704
  }
88781
- function BritishColumbiaComponent_Conditional_3_Template(rf, ctx) {
89705
+ function BritishColumbiaComponent_Conditional_4_Template(rf, ctx) {
88782
89706
  if (rf & 1) {
88783
- \u0275\u0275template(0, BritishColumbiaComponent_Conditional_3_Conditional_0_Template, 1, 5, "british-columbia-change-of-office-addresses-delta-form", 0)(1, BritishColumbiaComponent_Conditional_3_Conditional_1_Template, 1, 4, "british-columbia-change-of-office-addresses-preview-form", 1);
89707
+ \u0275\u0275template(0, BritishColumbiaComponent_Conditional_4_Conditional_0_Template, 1, 5, "british-columbia-change-of-office-addresses-delta-form", 0)(1, BritishColumbiaComponent_Conditional_4_Conditional_1_Template, 1, 4, "british-columbia-change-of-office-addresses-preview-form", 1);
88784
89708
  }
88785
89709
  if (rf & 2) {
88786
89710
  const ctx_r1 = \u0275\u0275nextContext();
@@ -88799,12 +89723,15 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88799
89723
  init_app_enums();
88800
89724
  init_BritishColumbiaConstants();
88801
89725
  init_british_columbia_form_enums();
89726
+ init_british_columbia_annual_report_form_helper();
88802
89727
  init_british_columbia_change_of_directors_form_helper();
88803
89728
  init_british_columbia_formation_form_helper();
88804
89729
  init_british_columbia_change_of_office_addresses_form_helper();
88805
89730
  init_delta_state_service();
88806
89731
  init_common_utils();
88807
89732
  init_confirm_modal_component();
89733
+ init_british_columbia_annual_report_delta_form_component();
89734
+ init_british_columbia_annual_report_preview_form_component();
88808
89735
  init_change_of_directors_delta_form_component();
88809
89736
  init_change_of_directors_preview_form_component();
88810
89737
  init_british_columbia_incorporation_delta_form_component();
@@ -88820,8 +89747,6 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88820
89747
  actionsDisabled = input(false);
88821
89748
  errors = input([]);
88822
89749
  currentDataExtract = input();
88823
- /** False while the registry's current data is loading; the validated-draft preview waits for it. */
88824
- extractReady = input(true);
88825
89750
  close = output();
88826
89751
  codValidate = output();
88827
89752
  saveCodDeltaData = output();
@@ -88832,6 +89757,10 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88832
89757
  nextStep = output();
88833
89758
  recheckStep = output();
88834
89759
  prevStep = output();
89760
+ // Annual Report outputs
89761
+ arValidate = output();
89762
+ saveArDeltaData = output();
89763
+ arSubmit = output();
88835
89764
  // Change of Office Addresses outputs
88836
89765
  coaValidate = output();
88837
89766
  saveCoaDeltaData = output();
@@ -88842,6 +89771,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88842
89771
  steps = Step;
88843
89772
  isChangeOfDirectorsTask = isChangeOfPrincipalsTask;
88844
89773
  isFormationTask = isFormationTask2;
89774
+ isAnnualReportTask = isAnnualReturnTask;
88845
89775
  isChangeOfOfficeAddressesTask = isChangeOfAddressTask;
88846
89776
  deltaForm = signal(new FormGroup({}));
88847
89777
  previewForm = signal(new FormGroup({}));
@@ -88857,9 +89787,15 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88857
89787
  this.deltaState.setBCFormationInitialDelta(this.generateFormationDeltaData());
88858
89788
  }
88859
89789
  if (task && isChangeOfAddressTask(task)) {
88860
- this.deltaForm.set(new FormGroup(BritishColumbiaChangeOfOfficeAddressesFormHelper.generateConfig(task, (key) => this.translate.instant(key), this.currentDataExtract())));
89790
+ this.deltaForm.set(new FormGroup(BritishColumbiaChangeOfOfficeAddressesFormHelper.generateConfig(task, (key) => this.translate.instant(key))));
88861
89791
  this.deltaState.setBCChangeOfOfficeAddressesInitialDelta(this.generateChangeOfOfficeAddressesDeltaData());
88862
89792
  }
89793
+ if (task && isAnnualReturnTask(task)) {
89794
+ untracked2(() => {
89795
+ this.deltaForm.set(new FormGroup(BritishColumbiaAnnualReportFormHelper.generateConfig(task)));
89796
+ this.deltaState.setBCAnnualReportInitialDelta(this.generateAnnualReportDeltaData());
89797
+ });
89798
+ }
88863
89799
  });
88864
89800
  effect(() => {
88865
89801
  const task = this.task();
@@ -88883,8 +89819,16 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88883
89819
  this.nextStep.emit();
88884
89820
  }
88885
89821
  }
88886
- if (task && isChangeOfAddressTask(task) && deltaData && this.extractReady()) {
88887
- const form = new FormGroup(BritishColumbiaChangeOfOfficeAddressesFormHelper.generateConfig(task, (key) => this.translate.instant(key), this.currentDataExtract()));
89822
+ if (isAnnualReturnTask(task)) {
89823
+ const form = new FormGroup(BritishColumbiaAnnualReportFormHelper.generateConfig(task));
89824
+ form.disable();
89825
+ this.previewForm.set(form);
89826
+ if (untracked2(() => this.activeStep()) === Step.Validate) {
89827
+ this.nextStep.emit();
89828
+ }
89829
+ }
89830
+ if (task && isChangeOfAddressTask(task) && deltaData) {
89831
+ const form = new FormGroup(BritishColumbiaChangeOfOfficeAddressesFormHelper.generateConfig(task, (key) => this.translate.instant(key)));
88888
89832
  form.disable();
88889
89833
  this.previewForm.set(form);
88890
89834
  const step = untracked2(() => this.activeStep());
@@ -88896,6 +89840,33 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
88896
89840
  }
88897
89841
  });
88898
89842
  }
89843
+ onAnnualReportValidate() {
89844
+ markFormGroupTouched(this.deltaForm());
89845
+ this.arValidate.emit(this.generateAnnualReportDeltaData());
89846
+ }
89847
+ onAnnualReportSave() {
89848
+ const delta = this.generateAnnualReportDeltaData();
89849
+ this.deltaState.setBCAnnualReportInitialDelta(delta);
89850
+ this.saveArDeltaData.emit(delta);
89851
+ }
89852
+ /** No certification step for this filing: "File" submits the staged draft directly. */
89853
+ onAnnualReportSubmit() {
89854
+ this.arSubmit.emit();
89855
+ }
89856
+ generateAnnualReportDeltaData() {
89857
+ const formData = this.deltaForm().getRawValue();
89858
+ const general = formData[BCAnnualReportFormGroups.General];
89859
+ const companyEmail = formData[BCAnnualReportFormGroups.CompanyEmail];
89860
+ const reminder = formData[BCAnnualReportFormGroups.AnnualReportReminder];
89861
+ return {
89862
+ referenceNumbers: {
89863
+ referenceNumber: general?.[BCAnnualReportFormControls.ClientMatterNumber] ?? null,
89864
+ docketNumber: general?.[BCAnnualReportFormControls.DocketNumber] ?? null
89865
+ },
89866
+ companyEmail: companyEmail?.[BCAnnualReportFormControls.CompanyEmail] ?? null,
89867
+ isAnnualReportReminderRequired: Boolean(reminder?.[BCAnnualReportFormControls.IsAnnualReportReminderRequired])
89868
+ };
89869
+ }
88899
89870
  onChangeOfOfficeAddressesValidate() {
88900
89871
  markFormGroupTouched(this.deltaForm());
88901
89872
  this.coaValidate.emit(this.generateChangeOfOfficeAddressesDeltaData());
@@ -89047,7 +90018,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
89047
90018
  }
89048
90019
  onClose() {
89049
90020
  const task = this.task();
89050
- const hasChanges = task && isFormationTask2(task) ? !deepEqual(this.deltaState.bcFormationInitialDelta(), this.generateFormationDeltaData()) : task && isChangeOfAddressTask(task) ? !deepEqual(this.deltaState.bcChangeOfOfficeAddressesInitialDelta(), this.generateChangeOfOfficeAddressesDeltaData()) : !deepEqual(this.deltaState.bcChangeOfDirectorsInitialDelta(), this.generateChangeOfDirectorsDeltaData());
90021
+ const hasChanges = task && isAnnualReturnTask(task) ? !deepEqual(this.deltaState.bcAnnualReportInitialDelta(), this.generateAnnualReportDeltaData()) : task && isFormationTask2(task) ? !deepEqual(this.deltaState.bcFormationInitialDelta(), this.generateFormationDeltaData()) : task && isChangeOfAddressTask(task) ? !deepEqual(this.deltaState.bcChangeOfOfficeAddressesInitialDelta(), this.generateChangeOfOfficeAddressesDeltaData()) : !deepEqual(this.deltaState.bcChangeOfDirectorsInitialDelta(), this.generateChangeOfDirectorsDeltaData());
89051
90022
  if (!hasChanges) {
89052
90023
  this.close.emit();
89053
90024
  return;
@@ -89063,7 +90034,9 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
89063
90034
  width: "65rem"
89064
90035
  }).afterClosed().subscribe((val) => {
89065
90036
  if (val) {
89066
- if (task && isFormationTask2(task)) {
90037
+ if (task && isAnnualReturnTask(task)) {
90038
+ this.onAnnualReportSave();
90039
+ } else if (task && isFormationTask2(task)) {
89067
90040
  this.onFormationSave();
89068
90041
  } else if (task && isChangeOfAddressTask(task)) {
89069
90042
  this.onChangeOfOfficeAddressesSave();
@@ -89077,21 +90050,25 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
89077
90050
  static \u0275fac = function BritishColumbiaComponent_Factory(__ngFactoryType__) {
89078
90051
  return new (__ngFactoryType__ || _BritishColumbiaComponent)();
89079
90052
  };
89080
- 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) {
90053
+ static \u0275cmp = /* @__PURE__ */ \u0275\u0275defineComponent({ type: _BritishColumbiaComponent, selectors: [["british-columbia"]], inputs: { task: [1, "task"], currentUser: [1, "currentUser"], activeStep: [1, "activeStep"], isNote: [1, "isNote"], actionsDisabled: [1, "actionsDisabled"], errors: [1, "errors"], currentDataExtract: [1, "currentDataExtract"] }, outputs: { close: "close", codValidate: "codValidate", saveCodDeltaData: "saveCodDeltaData", codSubmit: "codSubmit", formationValidate: "formationValidate", formationSubmit: "formationSubmit", saveFormationDeltaData: "saveFormationDeltaData", nextStep: "nextStep", recheckStep: "recheckStep", prevStep: "prevStep", arValidate: "arValidate", saveArDeltaData: "saveArDeltaData", arSubmit: "arSubmit", coaValidate: "coaValidate", saveCoaDeltaData: "saveCoaDeltaData", coaSubmit: "coaSubmit" }, decls: 5, vars: 5, consts: [[3, "task", "form", "actionsDisabled", "errors", "isNote"], [3, "task", "form", "actionsDisabled", "errors"], [3, "validate", "close", "save", "task", "form", "actionsDisabled", "errors", "isNote"], [3, "close", "file", "task", "form", "actionsDisabled", "errors"], [3, "task", "errors", "isNote", "actionsDisabled", "form"], [3, "task", "form", "errors", "actionsDisabled"], [3, "validate", "close", "save", "task", "errors", "isNote", "actionsDisabled", "form"], [3, "next", "close", "task", "form", "errors", "actionsDisabled"]], template: function BritishColumbiaComponent_Template(rf, ctx) {
89081
90054
  if (rf & 1) {
89082
90055
  \u0275\u0275declareLet(0);
89083
- \u0275\u0275template(1, BritishColumbiaComponent_Conditional_1_Template, 2, 2)(2, BritishColumbiaComponent_Conditional_2_Template, 2, 2)(3, BritishColumbiaComponent_Conditional_3_Template, 2, 2);
90056
+ \u0275\u0275template(1, BritishColumbiaComponent_Conditional_1_Template, 2, 2)(2, BritishColumbiaComponent_Conditional_2_Template, 2, 2)(3, BritishColumbiaComponent_Conditional_3_Template, 2, 2)(4, BritishColumbiaComponent_Conditional_4_Template, 2, 2);
89084
90057
  }
89085
90058
  if (rf & 2) {
89086
- const taskData_r9 = \u0275\u0275storeLet(ctx.task());
90059
+ const taskData_r11 = \u0275\u0275storeLet(ctx.task());
90060
+ \u0275\u0275advance();
90061
+ \u0275\u0275conditional(ctx.isChangeOfDirectorsTask(taskData_r11) ? 1 : -1);
89087
90062
  \u0275\u0275advance();
89088
- \u0275\u0275conditional(ctx.isChangeOfDirectorsTask(taskData_r9) ? 1 : -1);
90063
+ \u0275\u0275conditional(ctx.isAnnualReportTask(taskData_r11) ? 2 : -1);
89089
90064
  \u0275\u0275advance();
89090
- \u0275\u0275conditional(ctx.isFormationTask(taskData_r9) ? 2 : -1);
90065
+ \u0275\u0275conditional(ctx.isFormationTask(taskData_r11) ? 3 : -1);
89091
90066
  \u0275\u0275advance();
89092
- \u0275\u0275conditional(ctx.isChangeOfOfficeAddressesTask(taskData_r9) ? 3 : -1);
90067
+ \u0275\u0275conditional(ctx.isChangeOfOfficeAddressesTask(taskData_r11) ? 4 : -1);
89093
90068
  }
89094
90069
  }, dependencies: [
90070
+ BritishColumbiaAnnualReportDeltaFormComponent,
90071
+ BritishColumbiaAnnualReportPreviewFormComponent,
89095
90072
  BritishColumbiaChangeOfDirectorsDeltaFormComponent,
89096
90073
  BritishColumbiaChangeOfDirectorsPreviewFormComponent,
89097
90074
  BritishColumbiaIncorporationDeltaFormComponent,
@@ -89104,17 +90081,19 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
89104
90081
  (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(BritishColumbiaComponent, [{
89105
90082
  type: Component,
89106
90083
  args: [{ standalone: true, selector: "british-columbia", changeDetection: ChangeDetectionStrategy.OnPush, imports: [
90084
+ BritishColumbiaAnnualReportDeltaFormComponent,
90085
+ BritishColumbiaAnnualReportPreviewFormComponent,
89107
90086
  BritishColumbiaChangeOfDirectorsDeltaFormComponent,
89108
90087
  BritishColumbiaChangeOfDirectorsPreviewFormComponent,
89109
90088
  BritishColumbiaIncorporationDeltaFormComponent,
89110
90089
  BritishColumbiaIncorporationPreviewFormComponent,
89111
90090
  BritishColumbiaChangeOfOfficeAddressesDeltaFormComponent,
89112
90091
  BritishColumbiaChangeOfOfficeAddressesPreviewFormComponent
89113
- ], template: '@let taskData = this.task();\r\n\r\n@if (isChangeOfDirectorsTask(taskData)) {\r\n @if (activeStep() === steps.Validate) {\r\n <british-columbia-change-of-directors-delta-form\r\n [task]="taskData"\r\n [form]="deltaForm()"\r\n [actionsDisabled]="actionsDisabled()"\r\n [errors]="errors()"\r\n [isNote]="isNote()"\r\n (validate)="onChangeOfDirectorsValidate()"\r\n (close)="onClose()"\r\n (save)="onChangeOfDirectorsSave()"\r\n />\r\n }\r\n\r\n @if (activeStep() === steps.FilingPreview) {\r\n <british-columbia-change-of-directors-preview-form\r\n [task]="taskData"\r\n [form]="previewForm()"\r\n [actionsDisabled]="actionsDisabled()"\r\n [errors]="errors()"\r\n (close)="close.emit()"\r\n (file)="onChangeOfDirectorsSubmit()"\r\n />\r\n }\r\n}\r\n\r\n@if (isFormationTask(taskData)) {\r\n @if (activeStep() === steps.Validate) {\r\n <british-columbia-incorporation-delta-form\r\n [task]="taskData"\r\n [errors]="errors()"\r\n [isNote]="isNote()"\r\n [actionsDisabled]="actionsDisabled()"\r\n [form]="deltaForm()"\r\n (validate)="onFormationValidate()"\r\n (close)="onClose()"\r\n (save)="onFormationSave()"\r\n />\r\n }\r\n\r\n @if (activeStep() === steps.FilingPreview) {\r\n <british-columbia-incorporation-preview-form\r\n [task]="taskData"\r\n [form]="previewForm()"\r\n [errors]="errors()"\r\n [actionsDisabled]="actionsDisabled()"\r\n (next)="onFormationSubmit()"\r\n (close)="close.emit()"\r\n />\r\n }\r\n}\r\n\r\n@if (isChangeOfOfficeAddressesTask(taskData)) {\r\n @if (activeStep() === steps.Validate) {\r\n <british-columbia-change-of-office-addresses-delta-form\r\n [task]="taskData"\r\n [form]="deltaForm()"\r\n [actionsDisabled]="actionsDisabled()"\r\n [errors]="errors()"\r\n [isNote]="isNote()"\r\n (validate)="onChangeOfOfficeAddressesValidate()"\r\n (close)="onClose()"\r\n (save)="onChangeOfOfficeAddressesSave()"\r\n />\r\n }\r\n\r\n @if (activeStep() === steps.FilingPreview) {\r\n <british-columbia-change-of-office-addresses-preview-form\r\n [task]="taskData"\r\n [form]="previewForm()"\r\n [actionsDisabled]="actionsDisabled()"\r\n [errors]="errors()"\r\n (close)="close.emit()"\r\n (file)="onChangeOfOfficeAddressesFile()"\r\n />\r\n }\r\n}\r\n', styles: ["/* src/app/components/british-columbia/british-columbia.component.scss */\n:host {\n display: contents;\n}\n/*# sourceMappingURL=british-columbia.component.css.map */\n"] }]
90092
+ ], template: '@let taskData = this.task();\r\n\r\n@if (isChangeOfDirectorsTask(taskData)) {\r\n @if (activeStep() === steps.Validate) {\r\n <british-columbia-change-of-directors-delta-form\r\n [task]="taskData"\r\n [form]="deltaForm()"\r\n [actionsDisabled]="actionsDisabled()"\r\n [errors]="errors()"\r\n [isNote]="isNote()"\r\n (validate)="onChangeOfDirectorsValidate()"\r\n (close)="onClose()"\r\n (save)="onChangeOfDirectorsSave()"\r\n />\r\n }\r\n\r\n @if (activeStep() === steps.FilingPreview) {\r\n <british-columbia-change-of-directors-preview-form\r\n [task]="taskData"\r\n [form]="previewForm()"\r\n [actionsDisabled]="actionsDisabled()"\r\n [errors]="errors()"\r\n (close)="close.emit()"\r\n (file)="onChangeOfDirectorsSubmit()"\r\n />\r\n }\r\n}\r\n\r\n@if (isAnnualReportTask(taskData)) {\r\n @if (activeStep() === steps.Validate) {\r\n <british-columbia-annual-report-delta-form\r\n [task]="taskData"\r\n [form]="deltaForm()"\r\n [actionsDisabled]="actionsDisabled()"\r\n [errors]="errors()"\r\n [isNote]="isNote()"\r\n (validate)="onAnnualReportValidate()"\r\n (close)="onClose()"\r\n (save)="onAnnualReportSave()"\r\n />\r\n }\r\n\r\n @if (activeStep() === steps.FilingPreview) {\r\n <british-columbia-annual-report-preview-form\r\n [task]="taskData"\r\n [form]="previewForm()"\r\n [actionsDisabled]="actionsDisabled()"\r\n [errors]="errors()"\r\n (close)="close.emit()"\r\n (file)="onAnnualReportSubmit()"\r\n />\r\n }\r\n}\r\n\r\n@if (isFormationTask(taskData)) {\r\n @if (activeStep() === steps.Validate) {\r\n <british-columbia-incorporation-delta-form\r\n [task]="taskData"\r\n [errors]="errors()"\r\n [isNote]="isNote()"\r\n [actionsDisabled]="actionsDisabled()"\r\n [form]="deltaForm()"\r\n (validate)="onFormationValidate()"\r\n (close)="onClose()"\r\n (save)="onFormationSave()"\r\n />\r\n }\r\n\r\n @if (activeStep() === steps.FilingPreview) {\r\n <british-columbia-incorporation-preview-form\r\n [task]="taskData"\r\n [form]="previewForm()"\r\n [errors]="errors()"\r\n [actionsDisabled]="actionsDisabled()"\r\n (next)="onFormationSubmit()"\r\n (close)="close.emit()"\r\n />\r\n }\r\n}\r\n\r\n@if (isChangeOfOfficeAddressesTask(taskData)) {\r\n @if (activeStep() === steps.Validate) {\r\n <british-columbia-change-of-office-addresses-delta-form\r\n [task]="taskData"\r\n [form]="deltaForm()"\r\n [actionsDisabled]="actionsDisabled()"\r\n [errors]="errors()"\r\n [isNote]="isNote()"\r\n (validate)="onChangeOfOfficeAddressesValidate()"\r\n (close)="onClose()"\r\n (save)="onChangeOfOfficeAddressesSave()"\r\n />\r\n }\r\n\r\n @if (activeStep() === steps.FilingPreview) {\r\n <british-columbia-change-of-office-addresses-preview-form\r\n [task]="taskData"\r\n [form]="previewForm()"\r\n [actionsDisabled]="actionsDisabled()"\r\n [errors]="errors()"\r\n (close)="close.emit()"\r\n (file)="onChangeOfOfficeAddressesFile()"\r\n />\r\n }\r\n}\r\n', styles: ["/* src/app/components/british-columbia/british-columbia.component.scss */\n:host {\n display: contents;\n}\n/*# sourceMappingURL=british-columbia.component.css.map */\n"] }]
89114
90093
  }], () => [], null);
89115
90094
  })();
89116
90095
  (() => {
89117
- (typeof ngDevMode === "undefined" || ngDevMode) && \u0275setClassDebugInfo(BritishColumbiaComponent, { className: "BritishColumbiaComponent", filePath: "src/app/components/british-columbia/british-columbia.component.ts", lineNumber: 72 });
90096
+ (typeof ngDevMode === "undefined" || ngDevMode) && \u0275setClassDebugInfo(BritishColumbiaComponent, { className: "BritishColumbiaComponent", filePath: "src/app/components/british-columbia/british-columbia.component.ts", lineNumber: 82 });
89118
90097
  })();
89119
90098
  }
89120
90099
  });
@@ -90766,7 +91745,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
90766
91745
  \u0275\u0275pipe(7, "translate");
90767
91746
  \u0275\u0275elementEnd();
90768
91747
  \u0275\u0275elementStart(8, "ul", 16);
90769
- \u0275\u0275repeaterCreate(9, FederalIncorporationFormComponent_Conditional_7_For_10_Template, 2, 1, "li", 17, _forTrack06);
91748
+ \u0275\u0275repeaterCreate(9, FederalIncorporationFormComponent_Conditional_7_For_10_Template, 2, 1, "li", 17, _forTrack05);
90770
91749
  \u0275\u0275elementEnd()();
90771
91750
  \u0275\u0275elementStart(11, "span", 17);
90772
91751
  \u0275\u0275text(12);
@@ -90969,7 +91948,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
90969
91948
  \u0275\u0275property("isSubmitted", ctx_r0.isSubmitted())("form", contactForm_r24)("config", ctx_r0.contactControl);
90970
91949
  }
90971
91950
  }
90972
- var _c016, _forTrack06, FederalIncorporationFormComponent;
91951
+ var _c016, _forTrack05, FederalIncorporationFormComponent;
90973
91952
  var init_federal_incorporation_form_component = __esm({
90974
91953
  "src/app/components/federal/incorporation/federal-incorporation-form/federal-incorporation-form.component.ts"() {
90975
91954
  init_core();
@@ -90994,7 +91973,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
90994
91973
  init_common();
90995
91974
  init_core();
90996
91975
  _c016 = ["*"];
90997
- _forTrack06 = ($index, $item) => $item.affiliationID;
91976
+ _forTrack05 = ($index, $item) => $item.affiliationID;
90998
91977
  FederalIncorporationFormComponent = class _FederalIncorporationFormComponent {
90999
91978
  form = input.required();
91000
91979
  isNote = input(false);
@@ -95495,14 +96474,14 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
95495
96474
  });
95496
96475
 
95497
96476
  // src/app/helpers/mappers/british-columbia-change-of-directors.mapper.ts
95498
- function getBritishColumbiaAccessCode(task, password) {
96477
+ function getBritishColumbiaAccessCode2(task, password) {
95499
96478
  return password?.trim() || task.entity._profile.registry_id?.trim() || "";
95500
96479
  }
95501
96480
  function buildBritishColumbiaDataExtractOrder(task, password) {
95502
96481
  const incorporationDate = toYyyyMmDd(task.entity._compliance.incorporation_date) ?? "";
95503
96482
  const request = {
95504
96483
  corporationNumber: task.entity._profile.corp_number?.trim() ?? "",
95505
- accessCodeOrPassword: getBritishColumbiaAccessCode(task, password),
96484
+ accessCodeOrPassword: getBritishColumbiaAccessCode2(task, password),
95506
96485
  incorporationDate: /^\d{4}-\d{2}-\d{2}$/.test(incorporationDate) ? incorporationDate : "",
95507
96486
  filingType: "changeOfDirectorsFiling"
95508
96487
  };
@@ -95546,7 +96525,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
95546
96525
  currentDataServiceOrderId,
95547
96526
  filing: __spreadProps(__spreadValues({
95548
96527
  corporationNumber: task.entity._profile.corp_number ?? "",
95549
- accessCodeOrPassword: getBritishColumbiaAccessCode(task),
96528
+ accessCodeOrPassword: getBritishColumbiaAccessCode2(task),
95550
96529
  reference: deltaData.referenceNumbers.referenceNumber ?? null,
95551
96530
  docket: deltaData.referenceNumbers.docketNumber ?? null
95552
96531
  }, (addDirectors.length || ceaseDirectors.length) && effectiveDate ? { effectiveDate } : {}), {
@@ -95654,7 +96633,12 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
95654
96633
  });
95655
96634
 
95656
96635
  // src/app/services/british-columbia/british-columbia-maintenance.service.ts
95657
- var MAINTENANCE_FILING_PATH, TEMP_UAT_BC_FILING_URL2, DATA_EXTRACT_PATH, DEFAULT_EXTRACT_POLL, DEFAULT_RESULT_POLL, BritishColumbiaMaintenanceService;
96636
+ function isExtractNotCompleted(error) {
96637
+ const result = error?.validateResult;
96638
+ const fromResult = (result?.Errors ?? []).some((e) => e.Code === EXTRACT_NOT_COMPLETED_CODE || EXTRACT_NOT_COMPLETED_MESSAGE.test(e.Message ?? ""));
96639
+ return fromResult || EXTRACT_NOT_COMPLETED_MESSAGE.test(error?.message ?? "");
96640
+ }
96641
+ var MAINTENANCE_FILING_PATH, TEMP_UAT_BC_FILING_URL2, DATA_EXTRACT_PATH, DEFAULT_EXTRACT_POLL, DEFAULT_RESULT_POLL, DEFAULT_VALIDATE_RETRY, EXTRACT_NOT_COMPLETED_CODE, EXTRACT_NOT_COMPLETED_MESSAGE, BritishColumbiaMaintenanceService;
95658
96642
  var init_british_columbia_maintenance_service = __esm({
95659
96643
  "src/app/services/british-columbia/british-columbia-maintenance.service.ts"() {
95660
96644
  init_core();
@@ -95665,6 +96649,9 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
95665
96649
  DATA_EXTRACT_PATH = "/filings/ca/bc/data-extract";
95666
96650
  DEFAULT_EXTRACT_POLL = { intervalMs: 3e3, timeoutMs: 6e5 };
95667
96651
  DEFAULT_RESULT_POLL = { intervalMs: 3e3, timeoutMs: 6e5 };
96652
+ DEFAULT_VALIDATE_RETRY = { intervalMs: 3e3, timeoutMs: 12e4 };
96653
+ EXTRACT_NOT_COMPLETED_CODE = "SVC1031";
96654
+ EXTRACT_NOT_COMPLETED_MESSAGE = /extract has not completed/i;
95668
96655
  BritishColumbiaMaintenanceService = class _BritishColumbiaMaintenanceService {
95669
96656
  config;
95670
96657
  setConfig(config2) {
@@ -95677,7 +96664,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
95677
96664
  corporationNumber: context2.corporationNumber,
95678
96665
  accessCodeOrPassword: context2.accessCodeOrPassword,
95679
96666
  incorporationDate: context2.incorporationDate,
95680
- filingType: "changeOfAddressFiling"
96667
+ filingType: context2.filingType ?? "changeOfAddressFiling"
95681
96668
  }, opts);
95682
96669
  const id = body?.currentDataServiceOrderId ?? body?.CurrentDataServiceOrderId;
95683
96670
  if (!ok || !id || String(body?.status ?? "").toLowerCase() === "failed") {
@@ -95686,7 +96673,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
95686
96673
  return String(id);
95687
96674
  });
95688
96675
  }
95689
- /** Polls the extract until the registry has it ready (`success`) and returns the extract. */
96676
+ /** Polls the extract until the registry has it ready (`success`). */
95690
96677
  waitForCurrentDataExtract(_0, _1) {
95691
96678
  return __async(this, arguments, function* (signature, extractId, opts = {}, poll = {}) {
95692
96679
  const { intervalMs, timeoutMs } = __spreadValues(__spreadValues({}, DEFAULT_EXTRACT_POLL), poll);
@@ -95695,7 +96682,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
95695
96682
  const { status, ok, body, raw } = yield this.send(signature, "GET", `${DATA_EXTRACT_PATH}/${encodeURIComponent(extractId)}`, void 0, opts);
95696
96683
  const state2 = String(body?.status ?? "").toLowerCase();
95697
96684
  if (ok && state2 === "success") {
95698
- return body ?? {};
96685
+ return;
95699
96686
  }
95700
96687
  if (!ok || state2 === "failed" || state2 === "sourceunavailable") {
95701
96688
  throw this.failure(status, "Retrieving the current data from the registry failed", body, raw);
@@ -95713,7 +96700,23 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
95713
96700
  * saved request used to detect Entity changes.
95714
96701
  */
95715
96702
  validate(_0, _1, _2, _3) {
95716
- return __async(this, arguments, function* (signature, requestBody, extractId, context2, opts = {}) {
96703
+ return __async(this, arguments, function* (signature, requestBody, extractId, context2, opts = {}, retry = {}) {
96704
+ const { intervalMs, timeoutMs } = __spreadValues(__spreadValues({}, DEFAULT_VALIDATE_RETRY), retry);
96705
+ const deadline = Date.now() + timeoutMs;
96706
+ for (; ; ) {
96707
+ try {
96708
+ return yield this.validateOnce(signature, requestBody, extractId, context2, opts);
96709
+ } catch (error) {
96710
+ if (!isExtractNotCompleted(error) || Date.now() >= deadline) {
96711
+ throw error;
96712
+ }
96713
+ yield this.sleep(intervalMs);
96714
+ }
96715
+ }
96716
+ });
96717
+ }
96718
+ validateOnce(signature, requestBody, extractId, context2, opts) {
96719
+ return __async(this, null, function* () {
95717
96720
  const { status, ok, body, raw } = yield this.send(signature, "POST", MAINTENANCE_FILING_PATH, {
95718
96721
  currentDataServiceOrderId: extractId,
95719
96722
  filingType: requestBody.filingType,
@@ -95863,83 +96866,6 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
95863
96866
  }
95864
96867
  });
95865
96868
 
95866
- // src/app/helpers/mappers/british-columbia-change-of-office-addresses.mapper.ts
95867
- function formatPostalCode(value) {
95868
- const compact = clean(value).replace(/[\s-]+/g, "").toUpperCase();
95869
- return compact.length === 6 ? `${compact.slice(0, 3)} ${compact.slice(3)}` : clean(value).toUpperCase();
95870
- }
95871
- function toEcoreAddress(address) {
95872
- const line2 = clean(address?.addressLine2);
95873
- return __spreadProps(__spreadValues({
95874
- streetAddress: clean(address?.addressLine1)
95875
- }, line2 ? { additionalStreetAddress: line2 } : {}), {
95876
- city: clean(address?.city),
95877
- provinceOrState: BC_PROVINCE_CODE,
95878
- postalOrZipCode: formatPostalCode(address?.postalCode),
95879
- country: CANADA_COUNTRY_CODE
95880
- });
95881
- }
95882
- function isSameAddress(a, b) {
95883
- const key = (x) => [x.streetAddress, x.additionalStreetAddress, x.city, x.provinceOrState, x.postalOrZipCode, x.country].map((v) => (v ?? "").trim().toLowerCase().replace(/\s+/g, " ")).join("|");
95884
- return key(a) === key(b);
95885
- }
95886
- function buildBCChangeOfOfficeAddressesValidateRequest(task, deltaData) {
95887
- const registered = deltaData.registeredOffice;
95888
- const records = deltaData.recordsOffice;
95889
- const registeredMailing = toEcoreAddress(registered?.mailingAddress);
95890
- const registeredDelivery = registered?.deliverySameAsMailing ? registeredMailing : toEcoreAddress(registered?.deliveryAddress);
95891
- const recordsMailing = records?.sameAsRegisteredOffice ? registeredMailing : toEcoreAddress(records?.mailingAddress);
95892
- const recordsDelivery = records?.sameAsRegisteredOffice ? registeredDelivery : records?.deliverySameAsMailing ? recordsMailing : toEcoreAddress(records?.deliveryAddress);
95893
- const registeredDeliverySame = isSameAddress(registeredDelivery, registeredMailing);
95894
- const recordsSameAsRegistered = isSameAddress(recordsMailing, registeredMailing);
95895
- const recordsDeliverySame = isSameAddress(recordsDelivery, recordsMailing);
95896
- const filing = {
95897
- registeredOfficeMailingAddress: registeredMailing,
95898
- isRegisteredOfficeDeliveryAddressSameAsMailing: registeredDeliverySame,
95899
- isRecordsOfficeMailingAddressSameAsRegisteredOfficeMailing: recordsSameAsRegistered,
95900
- isRecordsOfficeDeliveryAddressSameAsRecordsOfficeMailing: recordsDeliverySame,
95901
- // Both are picked on the form; the fallbacks only cover data saved before they were added.
95902
- companyEmail: clean(deltaData.companyEmail) || BritishColumbiaChangeOfOfficeAddressesFormHelper.resolveCompanyEmail(task),
95903
- isAnnualReportReminderRequired: deltaData.annualReportReminder === BCAnnualReportReminder.Yes
95904
- };
95905
- const reference = clean(deltaData.referenceNumbers?.referenceNumber);
95906
- const docket = clean(deltaData.referenceNumbers?.docketNumber);
95907
- if (reference) {
95908
- filing.reference = reference;
95909
- }
95910
- if (docket) {
95911
- filing.docket = docket;
95912
- }
95913
- if (!registeredDeliverySame) {
95914
- filing.registeredOfficeDeliveryAddress = registeredDelivery;
95915
- }
95916
- if (!recordsSameAsRegistered) {
95917
- filing.recordsOfficeMailingAddress = recordsMailing;
95918
- }
95919
- if (!recordsDeliverySame) {
95920
- filing.recordsOfficeDeliveryAddress = recordsDelivery;
95921
- }
95922
- return { filingType: "changeOfAddressFiling", filing };
95923
- }
95924
- function getBritishColumbiaAccessCode2(task, env) {
95925
- const registryId = task.entity._profile.registry_id?.trim() ?? "";
95926
- if (registryId) {
95927
- return registryId;
95928
- }
95929
- return env === "TEST" ? TEMP_UAT_TEST_ACCESS_CODE : "";
95930
- }
95931
- var TEMP_UAT_TEST_ACCESS_CODE, BC_PROVINCE_CODE, CANADA_COUNTRY_CODE, clean;
95932
- var init_british_columbia_change_of_office_addresses_mapper = __esm({
95933
- "src/app/helpers/mappers/british-columbia-change-of-office-addresses.mapper.ts"() {
95934
- init_BritishColumbiaConstants();
95935
- init_british_columbia_change_of_office_addresses_form_helper();
95936
- TEMP_UAT_TEST_ACCESS_CODE = "xxxxxxxx";
95937
- BC_PROVINCE_CODE = "BC";
95938
- CANADA_COUNTRY_CODE = "CA";
95939
- clean = (value) => (value ?? "").trim();
95940
- }
95941
- });
95942
-
95943
96869
  // src/app/components/filing/filing.component.ts
95944
96870
  function FilingComponent_Conditional_7_Template(rf, ctx) {
95945
96871
  if (rf & 1) {
@@ -96055,6 +96981,18 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
96055
96981
  \u0275\u0275restoreView(_r6);
96056
96982
  const ctx_r2 = \u0275\u0275nextContext(2);
96057
96983
  return \u0275\u0275resetView(ctx_r2.onBritishColumbiaChangeOfOfficeAddressesSubmit());
96984
+ })("arValidate", function FilingComponent_Conditional_10_Conditional_1_Template_british_columbia_arValidate_0_listener($event) {
96985
+ \u0275\u0275restoreView(_r6);
96986
+ const ctx_r2 = \u0275\u0275nextContext(2);
96987
+ return \u0275\u0275resetView(ctx_r2.onBritishColumbiaAnnualReportValidate($event));
96988
+ })("saveArDeltaData", function FilingComponent_Conditional_10_Conditional_1_Template_british_columbia_saveArDeltaData_0_listener($event) {
96989
+ \u0275\u0275restoreView(_r6);
96990
+ const ctx_r2 = \u0275\u0275nextContext(2);
96991
+ return \u0275\u0275resetView(ctx_r2.onBritishColumbiaAnnualReportSave($event));
96992
+ })("arSubmit", function FilingComponent_Conditional_10_Conditional_1_Template_british_columbia_arSubmit_0_listener() {
96993
+ \u0275\u0275restoreView(_r6);
96994
+ const ctx_r2 = \u0275\u0275nextContext(2);
96995
+ return \u0275\u0275resetView(ctx_r2.onBritishColumbiaAnnualReportSubmit());
96058
96996
  })("formationValidate", function FilingComponent_Conditional_10_Conditional_1_Template_british_columbia_formationValidate_0_listener($event) {
96059
96997
  \u0275\u0275restoreView(_r6);
96060
96998
  const ctx_r2 = \u0275\u0275nextContext(2);
@@ -96073,7 +97011,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
96073
97011
  if (rf & 2) {
96074
97012
  const ctx_r2 = \u0275\u0275nextContext(2);
96075
97013
  const currentTask_r5 = \u0275\u0275readContextLet(9);
96076
- \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());
97014
+ \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());
96077
97015
  }
96078
97016
  }
96079
97017
  function FilingComponent_Conditional_10_Conditional_2_Template(rf, ctx) {
@@ -96123,7 +97061,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
96123
97061
  }
96124
97062
  function FilingComponent_Conditional_10_Template(rf, ctx) {
96125
97063
  if (rf & 1) {
96126
- \u0275\u0275template(0, FilingComponent_Conditional_10_Conditional_0_Template, 1, 7, "ontario", 8)(1, FilingComponent_Conditional_10_Conditional_1_Template, 1, 8, "british-columbia", 9)(2, FilingComponent_Conditional_10_Conditional_2_Template, 1, 5, "federal", 10);
97064
+ \u0275\u0275template(0, FilingComponent_Conditional_10_Conditional_0_Template, 1, 7, "ontario", 8)(1, FilingComponent_Conditional_10_Conditional_1_Template, 1, 7, "british-columbia", 9)(2, FilingComponent_Conditional_10_Conditional_2_Template, 1, 5, "federal", 10);
96127
97065
  }
96128
97066
  if (rf & 2) {
96129
97067
  const ctx_r2 = \u0275\u0275nextContext();
@@ -96161,6 +97099,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
96161
97099
  init_federal_update_maintain_service();
96162
97100
  init_ontario_update_maintain_service();
96163
97101
  init_initial_return_payload_helper();
97102
+ init_british_columbia_annual_report_mapper();
96164
97103
  init_ontario_formation_mapper();
96165
97104
  init_federal_formation_mapper();
96166
97105
  init_ontario_update_maintain_mapper();
@@ -96245,10 +97184,6 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
96245
97184
  dataWasChanged = signal(false);
96246
97185
  serviceOrderId = "";
96247
97186
  bcCurrentDataServiceOrderId = "";
96248
- /** The registry's current data ordered for the Change of Office Addresses; reused by Validate. */
96249
- bcCoaExtractId = "";
96250
- /** False while the registry's current office addresses are loading. */
96251
- bcCoaExtractReady = signal(true);
96252
97187
  currentDataExtract = signal(void 0);
96253
97188
  bcDataExtractTaskId = "";
96254
97189
  activeStep = signal(Step.Validate);
@@ -96269,7 +97204,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
96269
97204
  return `File ${jurisdiction} Notice of Change`;
96270
97205
  }
96271
97206
  if (isAnnualReturnTask(task)) {
96272
- return `File ${jurisdiction} Annual Return`;
97207
+ return isBritishColumbiaTask(task) ? `File ${jurisdiction} Annual Report` : `File ${jurisdiction} Annual Return`;
96273
97208
  }
96274
97209
  if (isFormationTask2(task)) {
96275
97210
  return `File ${jurisdiction} Articles of Incorporation`;
@@ -96343,47 +97278,8 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
96343
97278
  this.isLoading.set(false);
96344
97279
  }
96345
97280
  }
96346
- if (isChangeOfAddressTask(task) && isBritishColumbiaTask(task) && this.bcDataExtractTaskId !== task._id) {
96347
- this.bcDataExtractTaskId = task._id;
96348
- yield this.loadBritishColumbiaOfficeAddressExtract(task);
96349
- }
96350
97281
  }));
96351
97282
  }
96352
- /**
96353
- * Orders the registry's current office addresses as soon as the Change of Office Addresses opens,
96354
- * so each office shows its registry address as "Previous". If the registry is unavailable the form
96355
- * falls back to the Entity's own addresses, and Validate orders the extract again.
96356
- */
96357
- loadBritishColumbiaOfficeAddressExtract(task) {
96358
- return __async(this, null, function* () {
96359
- const signature = this._signature();
96360
- if (!signature) {
96361
- return;
96362
- }
96363
- this.isLoading.set(true);
96364
- this.bcCoaExtractReady.set(false);
96365
- try {
96366
- const opts = this.validateOptions() ?? {};
96367
- const context2 = this.getBritishColumbiaOfficeAddressContext(task, signature);
96368
- this.bcCoaExtractId = yield this.bcMaintenanceService.orderCurrentDataExtract(signature, context2, opts);
96369
- this.currentDataExtract.set(yield this.bcMaintenanceService.waitForCurrentDataExtract(signature, this.bcCoaExtractId, opts));
96370
- } catch (error) {
96371
- this.bcCoaExtractId = "";
96372
- this.currentDataExtract.set(void 0);
96373
- console.warn("The registry's current office addresses could not be loaded.", error);
96374
- } finally {
96375
- this.bcCoaExtractReady.set(true);
96376
- this.isLoading.set(false);
96377
- }
96378
- });
96379
- }
96380
- getBritishColumbiaOfficeAddressContext(task, signature) {
96381
- return {
96382
- corporationNumber: task.entity._profile.corp_number ?? "",
96383
- accessCodeOrPassword: getBritishColumbiaAccessCode2(task, signature.env),
96384
- incorporationDate: String(task.entity._compliance?.incorporation_date ?? "").slice(0, 10)
96385
- };
96386
- }
96387
97283
  getCurrentData() {
96388
97284
  return __async(this, null, function* () {
96389
97285
  const signature = this._signature();
@@ -96664,6 +97560,99 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
96664
97560
  }
96665
97561
  });
96666
97562
  }
97563
+ /**
97564
+ * British Columbia Annual Report "Validate & Generate Draft": orders the registry's current data,
97565
+ * sends the filing to eCore, hands the draft PDF to the host, and saves the delta together with
97566
+ * the ServiceOrderId and the request sent (`validatedData`) used to detect later Entity changes.
97567
+ */
97568
+ onBritishColumbiaAnnualReportValidate(deltaData) {
97569
+ return __async(this, null, function* () {
97570
+ const task = this.task();
97571
+ const signature = this._signature();
97572
+ try {
97573
+ if (!task || !signature || !isAnnualReturnTask(task)) {
97574
+ throw new Error("The filing is not ready yet. Please try again.");
97575
+ }
97576
+ this.isLoading.set(true);
97577
+ this.errors.set([]);
97578
+ const requestBody = buildBCAnnualReportValidateRequest(task, deltaData);
97579
+ const opts = this.validateOptions() ?? {};
97580
+ const context2 = buildBCAnnualReportContext(task, signature.env);
97581
+ const extractId = yield this.bcMaintenanceService.orderCurrentDataExtract(signature, context2, opts);
97582
+ yield this.bcMaintenanceService.waitForCurrentDataExtract(signature, extractId, opts);
97583
+ const response = yield this.bcMaintenanceService.validate(signature, requestBody, extractId, context2, opts);
97584
+ if (this.hasResponseErrors(response))
97585
+ return;
97586
+ const serviceOrderId = response.ServiceOrderId ?? "";
97587
+ const draftPdf = response.Draft ?? "";
97588
+ const searchOrFilingType = getSearchOrFilingType(task);
97589
+ if (draftPdf && searchOrFilingType) {
97590
+ this.filingValidateSuccess.emit({
97591
+ searchOrFilingType,
97592
+ serviceOrderId,
97593
+ validatedOn: /* @__PURE__ */ new Date(),
97594
+ provider: getFilingProvider(task),
97595
+ draftPdf,
97596
+ documentName: this.validateOptions()?.documentName ?? "British Columbia Annual Report Draft",
97597
+ documentType: "pdf"
97598
+ });
97599
+ }
97600
+ this.deltaDataChange.emit(__spreadProps(__spreadValues({}, deltaData), {
97601
+ serviceOrderId,
97602
+ // The corporation number is added by the service, not by the request builder, so it is
97603
+ // stored explicitly (the access code is deliberately left out) to detect entity changes.
97604
+ validatedData: __spreadProps(__spreadValues({}, JSON.parse(JSON.stringify(requestBody))), {
97605
+ corporationNumber: context2.corporationNumber
97606
+ })
97607
+ }));
97608
+ this.close.emit();
97609
+ } catch (response) {
97610
+ this.handleCatchError(response);
97611
+ } finally {
97612
+ this.isLoading.set(false);
97613
+ }
97614
+ });
97615
+ }
97616
+ /**
97617
+ * British Columbia Annual Report save – propagates delta data to the host.
97618
+ * The draft link (ServiceOrderId and the request it was generated from) is kept, so reopening
97619
+ * can tell whether the saved data still matches the draft and show "Entity changed" if not.
97620
+ */
97621
+ onBritishColumbiaAnnualReportSave(deltaData) {
97622
+ const oldDeltaData = this.task()?.deltaData;
97623
+ const draftLink = oldDeltaData?.serviceOrderId && oldDeltaData?.validatedData ? {
97624
+ serviceOrderId: oldDeltaData.serviceOrderId,
97625
+ validatedData: oldDeltaData.validatedData
97626
+ } : {};
97627
+ if (oldDeltaData) {
97628
+ delete this.task()?.deltaData;
97629
+ }
97630
+ this.deltaDataChange.emit(__spreadValues(__spreadValues({}, deltaData), draftLink));
97631
+ }
97632
+ /**
97633
+ * British Columbia Annual Report submit/file: submits the filing staged by "Validate & Generate
97634
+ * Draft" using the ServiceOrderId saved with the delta. There is no certification step.
97635
+ */
97636
+ onBritishColumbiaAnnualReportSubmit() {
97637
+ return __async(this, null, function* () {
97638
+ const signature = this._signature();
97639
+ const serviceOrderId = this.task()?.deltaData?.serviceOrderId;
97640
+ if (!signature || !serviceOrderId) {
97641
+ this.handleCatchError(new Error("Missing serviceOrderId. Generate a draft before filing."));
97642
+ return;
97643
+ }
97644
+ try {
97645
+ this.isLoading.set(true);
97646
+ this.errors.set([]);
97647
+ yield this.bcMaintenanceService.submitAndWait(signature, serviceOrderId, this.validateOptions() ?? {});
97648
+ this.close.emit();
97649
+ } catch (response) {
97650
+ this.handleCatchError(response);
97651
+ } finally {
97652
+ this.isLoading.set(false);
97653
+ }
97654
+ });
97655
+ }
96667
97656
  /**
96668
97657
  * British Columbia Change of Office Addresses "Validate & Generate Draft": sends the filing
96669
97658
  * to eCore, hands the draft PDF to the host, and saves the delta together with the
@@ -96681,13 +97670,13 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
96681
97670
  this.errors.set([]);
96682
97671
  const requestBody = buildBCChangeOfOfficeAddressesValidateRequest(task, deltaData);
96683
97672
  const opts = this.validateOptions() ?? {};
96684
- const context2 = this.getBritishColumbiaOfficeAddressContext(task, signature);
96685
- let extractId = this.bcCoaExtractId;
96686
- if (!extractId) {
96687
- extractId = yield this.bcMaintenanceService.orderCurrentDataExtract(signature, context2, opts);
96688
- yield this.bcMaintenanceService.waitForCurrentDataExtract(signature, extractId, opts);
96689
- this.bcCoaExtractId = extractId;
96690
- }
97673
+ const context2 = {
97674
+ corporationNumber: task.entity._profile.corp_number ?? "",
97675
+ accessCodeOrPassword: getBritishColumbiaAccessCode(task, signature.env),
97676
+ incorporationDate: String(task.entity._compliance?.incorporation_date ?? "").slice(0, 10)
97677
+ };
97678
+ const extractId = yield this.bcMaintenanceService.orderCurrentDataExtract(signature, context2, opts);
97679
+ yield this.bcMaintenanceService.waitForCurrentDataExtract(signature, extractId, opts);
96691
97680
  const response = yield this.bcMaintenanceService.validate(signature, requestBody, extractId, context2, opts);
96692
97681
  if (this.hasResponseErrors(response))
96693
97682
  return;
@@ -96983,7 +97972,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
96983
97972
  const task = this.task();
96984
97973
  if (!task)
96985
97974
  return;
96986
- if (isUpdateMaintain(task)) {
97975
+ if (isUpdateMaintain(task) && !isBritishColumbiaTask(task)) {
96987
97976
  this.serviceOrderId = "";
96988
97977
  void this.getCurrentData();
96989
97978
  } else if (isChangeOfPrincipalsTask(task) && isBritishColumbiaTask(task)) {
@@ -97127,6 +98116,8 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
97127
98116
  initialDelta = isOntarioTask(task) ? this.deltaState.formationInitialDelta() : isBritishColumbiaTask(task) ? this.deltaState.bcFormationInitialDelta() : this.deltaState.federalFormationInitialDelta();
97128
98117
  } else if (isChangeOfAddressTask(task) && isBritishColumbiaTask(task)) {
97129
98118
  initialDelta = this.deltaState.bcChangeOfOfficeAddressesInitialDelta();
98119
+ } else if (isAnnualReturnTask(task) && isBritishColumbiaTask(task)) {
98120
+ initialDelta = this.deltaState.bcAnnualReportInitialDelta();
97130
98121
  } else if (isUpdateMaintain(task)) {
97131
98122
  initialDelta = isOntarioTask(task) ? this.deltaState.initialReturnInitialDelta() : this.deltaState.federalUpdateMaintainInitialDelta();
97132
98123
  } else if (isChangeOfPrincipalsTask(task) && isBritishColumbiaTask(task)) {
@@ -97165,6 +98156,11 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
97165
98156
  corporationNumber: task.entity._profile.corp_number ?? ""
97166
98157
  });
97167
98158
  }
98159
+ if (isAnnualReturnTask(task) && isBritishColumbiaTask(task)) {
98160
+ return __spreadProps(__spreadValues({}, buildBCAnnualReportValidateRequest(task, deltaData)), {
98161
+ corporationNumber: task.entity._profile.corp_number ?? ""
98162
+ });
98163
+ }
97168
98164
  if (isUpdateMaintain(task) && isOntarioTask(task)) {
97169
98165
  const serviceOrderId = deltaData?.serviceOrderId ?? this.serviceOrderId;
97170
98166
  if (!serviceOrderId) {
@@ -97193,7 +98189,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
97193
98189
  if (rf & 2) {
97194
98190
  \u0275\u0275styleProp("height", ctx.modalHeight());
97195
98191
  }
97196
- }, 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) {
98192
+ }, inputs: { env: [1, "env"], config: [1, "config"], language: [1, "language"], proxyApiUrl: [1, "proxyApiUrl"], jwtToken: [1, "jwtToken"], task: [1, "task"], currentUser: [1, "currentUser"], height: [1, "height"], validateOptions: [1, "validateOptions"], getDocumentBytes: [1, "getDocumentBytes"] }, outputs: { deltaDataChange: "deltaDataChange", filingValidateSuccess: "filingValidateSuccess", filingSubmitSuccess: "filingSubmitSuccess", close: "close" }, decls: 12, vars: 9, consts: [[1, "filing"], [1, "filing-title"], [1, "filing-title-text"], [1, "filing-title-action", 3, "click"], [1, "filing-header"], [1, "filing-content"], [1, "filing-content-loading"], ["mat-stroked-button", "", 3, "click", "disabled"], [3, "task", "activeStep", "isNote", "actionsDisabled", "errors", "prevData", "irValidationConfig"], [3, "task", "currentUser", "activeStep", "isNote", "actionsDisabled", "errors", "currentDataExtract"], [3, "actionsDisabled", "isNote", "activeStep", "task", "errors"], [3, "close", "formationValidate", "saveFormationDeltaData", "formationSubmit", "nextStep", "prevStep", "irValidate", "saveIrDeltaData", "irSubmit", "task", "activeStep", "isNote", "actionsDisabled", "errors", "prevData", "irValidationConfig"], [3, "close", "nextStep", "recheckStep", "prevStep", "codValidate", "saveCodDeltaData", "codSubmit", "coaValidate", "saveCoaDeltaData", "coaSubmit", "arValidate", "saveArDeltaData", "arSubmit", "formationValidate", "saveFormationDeltaData", "formationSubmit", "task", "currentUser", "activeStep", "isNote", "actionsDisabled", "errors", "currentDataExtract"], [3, "close", "deltaDataChange", "file", "validate", "umSave", "umValidate", "umSubmit", "nextStep", "actionsDisabled", "isNote", "activeStep", "task", "errors"], [3, "diameter"]], template: function FilingComponent_Template(rf, ctx) {
97197
98193
  if (rf & 1) {
97198
98194
  const _r1 = \u0275\u0275getCurrentView();
97199
98195
  \u0275\u0275elementStart(0, "div", 0)(1, "div", 1)(2, "h1", 2);
@@ -97297,7 +98293,6 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
97297
98293
  [actionsDisabled]="isLoading()"\r
97298
98294
  [errors]="errors()"\r
97299
98295
  [currentDataExtract]="currentDataExtract()"\r
97300
- [extractReady]="bcCoaExtractReady()"\r
97301
98296
  (close)="close.emit()"\r
97302
98297
  (nextStep)="onNextStepClick()"\r
97303
98298
  (recheckStep)="defineInitialStep()"\r
@@ -97308,6 +98303,9 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
97308
98303
  (coaValidate)="onBritishColumbiaChangeOfOfficeAddressesValidate($event)"\r
97309
98304
  (saveCoaDeltaData)="onBritishColumbiaChangeOfOfficeAddressesSave($event)"\r
97310
98305
  (coaSubmit)="onBritishColumbiaChangeOfOfficeAddressesSubmit()"\r
98306
+ (arValidate)="onBritishColumbiaAnnualReportValidate($event)"\r
98307
+ (saveArDeltaData)="onBritishColumbiaAnnualReportSave($event)"\r
98308
+ (arSubmit)="onBritishColumbiaAnnualReportSubmit()"\r
97311
98309
  (formationValidate)="onBritishColumbiaFormationValidate($event)"\r
97312
98310
  (saveFormationDeltaData)="onBritishColumbiaFormationSave($event)"\r
97313
98311
  (formationSubmit)="onBritishColumbiaFormationSubmit()"\r
@@ -97341,7 +98339,7 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
97341
98339
  }], () => [], null);
97342
98340
  })();
97343
98341
  (() => {
97344
- (typeof ngDevMode === "undefined" || ngDevMode) && \u0275setClassDebugInfo(FilingComponent, { className: "FilingComponent", filePath: "src/app/components/filing/filing.component.ts", lineNumber: 98 });
98342
+ (typeof ngDevMode === "undefined" || ngDevMode) && \u0275setClassDebugInfo(FilingComponent, { className: "FilingComponent", filePath: "src/app/components/filing/filing.component.ts", lineNumber: 103 });
97345
98343
  })();
97346
98344
  }
97347
98345
  });
@@ -101991,19 +102989,19 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
101991
102989
  "File British Columbia Change of Office Addresses": "File British Columbia Change of Office Addresses",
101992
102990
  "Records Office Address": "Records Office Address",
101993
102991
  "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.",
101994
- "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.",
101995
- "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.",
101996
- "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.",
101997
- "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.",
101998
- "Mailing Address": "Mailing Address",
101999
- "Delivery Address": "Delivery Address",
102000
102992
  "Current Mailing Address": "Current Mailing Address",
102001
102993
  "Current Delivery Address": "Current Delivery Address",
102002
102994
  "New Mailing Address": "New Mailing Address",
102003
102995
  "New Delivery Address": "New Delivery Address",
102004
102996
  "Same as Mailing Address": "Same as Mailing Address",
102005
102997
  "Same as Registered Office": "Same as Registered Office",
102006
- "The delivery address must be a physical location in British Columbia where documents can be delivered during statutory business hours. A post office box is not acceptable.": "The delivery address must be a physical location in British Columbia where documents can be delivered during statutory business hours. A post office box is not acceptable."
102998
+ "The delivery address must be a physical location in British Columbia where documents can be delivered during statutory business hours. A post office box is not acceptable.": "The delivery address must be a physical location in British Columbia where documents can be delivered during statutory business hours. A post office box is not acceptable.",
102999
+ "Company Name": "Company Name",
103000
+ "Name Reservation (NR) Number": "Name Reservation (NR) Number",
103001
+ "File British Columbia Annual Report": "File British Columbia Annual Report",
103002
+ "Would the company like to receive reminders to file its annual reports": "Would the company like to receive reminders to file its annual reports",
103003
+ "Company Email is required": "Company Email is required",
103004
+ "The draft is missing its Service Order ID. Close this window and generate a new draft.": "The draft is missing its Service Order ID. Close this window and generate a new draft."
102007
103005
  };
102008
103006
  }
102009
103007
  });
@@ -102353,19 +103351,16 @@ Note: Recommended intrinsic image size is calculated assuming a maximum DPR of $
102353
103351
  "Without Par Value": "Sans valeur nominale",
102354
103352
  "File British Columbia Change of Office Addresses": "D\xE9poser le changement d'adresses de bureaux de la Colombie-Britannique",
102355
103353
  "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.",
102356
- "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.",
102357
- "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.",
102358
- "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.",
102359
- "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.",
102360
- "Mailing Address": "Adresse postale",
102361
- "Delivery Address": "Adresse de livraison",
102362
103354
  "Current Mailing Address": "Adresse postale actuelle",
102363
103355
  "Current Delivery Address": "Adresse de livraison actuelle",
102364
103356
  "New Mailing Address": "Nouvelle adresse postale",
102365
103357
  "New Delivery Address": "Nouvelle adresse de livraison",
102366
103358
  "Same as Mailing Address": "Identique \xE0 l'adresse postale",
102367
103359
  "Same as Registered Office": "Identique au si\xE8ge social",
102368
- "The delivery address must be a physical location in British Columbia where documents can be delivered during statutory business hours. A post office box is not acceptable.": "L'adresse de livraison doit \xEAtre un lieu physique en Colombie-Britannique o\xF9 des documents peuvent \xEAtre livr\xE9s pendant les heures d'ouverture l\xE9gales. Une case postale n'est pas accept\xE9e."
103360
+ "The delivery address must be a physical location in British Columbia where documents can be delivered during statutory business hours. A post office box is not acceptable.": "L'adresse de livraison doit \xEAtre un lieu physique en Colombie-Britannique o\xF9 des documents peuvent \xEAtre livr\xE9s pendant les heures d'ouverture l\xE9gales. Une case postale n'est pas accept\xE9e.",
103361
+ "File British Columbia Articles of Incorporation": "D\xE9poser les statuts constitutifs de la Colombie-Britannique",
103362
+ "Company Name": "Nom de la soci\xE9t\xE9",
103363
+ "Name Reservation (NR) Number": "Num\xE9ro de r\xE9servation de nom (NR)"
102369
103364
  };
102370
103365
  }
102371
103366
  });