From 35feeac494cbc91e69a6f911b423473ee174d11e Mon Sep 17 00:00:00 2001 From: Karim El Jazzar <122301442+JazzarKarim@users.noreply.github.com> Date: Mon, 29 Jan 2024 11:19:07 -0800 Subject: [PATCH] 19034 rebase legal name branch (#615) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 17347 - Move COA and COD corrections for COOPS into the generic correction wo… (#549) Move COA and COD corrections for COOPS into the generic correction workflow. * 17347 - Add in isCoop check for resume button. (#550) * Add in isCoop check for resume button. * Fix code complexity issues * Fix code complexity * 18027 AGM Location change (#551) * 18027-agm location details 1 * 18027-agm location details 2 * 18027-agm location details 3 * 18027-update package version * 18027-agm location details 4 * 18027-agm location details 5 * 18027-agm location details 6 * 18027-agm location details 7 * 18027-agm location details 8 * 18027-agm location details 9 * AGM Location Change First PR (#553) * AGM Location Change First PR * small adjustment * small fixes in response to Sev's comments * Fixed in response to Sev's comments * AGM Location Change second PR (#554) * AGM Location Change second PR * Fixed unit tests * fixed in response to Sev's comments * fixed error text * AGM Location Change Third PR (#555) * Created + updated unit tests * Fixed EntityMenu test from ticket part 1 * Fixed lint errors * Fixes in response to Sev's comments * fixed lint issues * Fixed in reponse to Sev's comments * removed unnecessary test code * AGM Location Change 4th and final PR (#556) * AGM Location Change 4th and final PR * changed method name * changed comment * fixed lint error * removed unnecessary line * Fix in response to Sev's comment * Fixed in response to Sev's comment + simplified logic * Removed staff payment dialog * update agm location variable * AGM Location Change 5th PR for styling issues (#559) * AGM Location Change 5th PR for styling issues * fixed left spacing of ripple * fixed small lint issue * fixed in response to Sev's comments * Pre-populate the certify block when logged in user is not staff * Moved user's full name to store to minimize API calls * Fixed in response to Sev's comments * Added optional chaining * 16764 - Fixed end user certify block * Reverted currentuser interface + fixed accordingly * Prevent from showing undefined in certified block * Prevented undefined from showing in certify block in agm location change * 18024 Incremental AGM extension work (#558) - app version = 6.9.5 - imported shared DatePicker component - renamed a base class - added a base class - saved user info into store - added initial AboutTheBusiness sub-component - added initial AgmExtensionEvaluation sub-component - added AgmExtensionHelp sub-component - added initial ExtensionRequest sub-component - added VcardTemplate - updated tooltip text - updated FF - added AgmExtEval interface - renamed RootStateIF -> AuthenticationStateIF - renamed StateIF -> RootStateIF - added DateMixin function for DatePicker component - updated fetchUserInfo to return object (not Axios response) - added missing default FF - deleted obsolete dialog, transition, buttons, methods, CSS from AGM Extension - added help section - added initial sub-components to AGM Extension - updated intro text - updated some whitespace - updated filing code - removed delay in mounted() in AGM Extension - updated onHaveChanges() watcher in AGM Extension - pre-populated CertifiedBy - deleted obsolete transition, methods, CSS from AGM Extension - removed delay in mounted() in AGM Location Chg - updated onHaveChanges() watcher in AGM Location Chg - updated unit tests - misc cleanup * Make Certify block non-editable if non-staff user (AGM Filings) (#564) Make certify block non-editable if non-staff user * feat: digital business card (#566) * refactor: CredentialsLanding component: add heading card Signed-off-by: Akiff Manji * feat: CredentialsLanding component: add supplemental cards Signed-off-by: Akiff Manji * feat: CredentialsLanding component: add image and word wrapping Signed-off-by: Akiff Manji * feat: CredentialsLanding component: link styling Signed-off-by: Akiff Manji * feat: CredentialsStepper component: deprecate routes Signed-off-by: Akiff Manji * refactor: CredentialsStepper component: function naming Signed-off-by: Akiff Manji * refactor: DigitalCredentials component: split into sub components Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add web socket component Signed-off-by: Akiff Manji * feat: DigitalCredentials component: re-add credential table Signed-off-by: Akiff Manji * refactor: DigitalCredentials component: update types and imports Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add revocation dialogs Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add replacement dialogs Signed-off-by: Akiff Manji * feat: devcontainer config Signed-off-by: Akiff Manji * chore: fix linting errors Signed-off-by: Akiff Manji * chore: bump version number Signed-off-by: Akiff Manji * chore: rename route for specificity Signed-off-by: Akiff Manji * chore: ran linter and fixed linting errors Signed-off-by: Akiff Manji * chore: make interface field optional Signed-off-by: Akiff Manji * chore: revert auto-formatting Signed-off-by: Akiff Manji * refactor: contain dialogs for DigitalCredentials component Signed-off-by: Akiff Manji * chore: fix code smells Signed-off-by: Akiff Manji * chore: address code review comments Signed-off-by: Akiff Manji * chore: revert autoformatting Signed-off-by: Akiff Manji * chore: update wording and styling to align with UX Signed-off-by: Akiff Manji * chore: fix styling Signed-off-by: Akiff Manji * feat: feature flag credentials feature with mixin Signed-off-by: Akiff Manji * feat: add TOU dialog Signed-off-by: Akiff Manji * chore: fix test failiures and code comments * chore: cleaup Signed-off-by: Akiff Manji * fix: mixin to access digital credential feature Signed-off-by: Akiff Manji * fix: entity menu styling Signed-off-by: Akiff Manji * feat: add loading indicators to digital credential route pages Signed-off-by: Akiff Manji * feat: reset dialog and functions Signed-off-by: Akiff Manji * chore: returl null if undefined Signed-off-by: Akiff Manji * chore: beef up conditional checks Signed-off-by: Akiff Manji * chore: spelling error Signed-off-by: Akiff Manji * chore: spelling error Signed-off-by: Akiff Manji * 18284: digital business card (#552) * refactor: CredentialsLanding component: add heading card Signed-off-by: Akiff Manji * feat: CredentialsLanding component: add supplemental cards Signed-off-by: Akiff Manji * feat: CredentialsLanding component: add image and word wrapping Signed-off-by: Akiff Manji * feat: CredentialsLanding component: link styling Signed-off-by: Akiff Manji * feat: CredentialsStepper component: deprecate routes Signed-off-by: Akiff Manji * refactor: CredentialsStepper component: function naming Signed-off-by: Akiff Manji * refactor: DigitalCredentials component: split into sub components Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add web socket component Signed-off-by: Akiff Manji * feat: DigitalCredentials component: re-add credential table Signed-off-by: Akiff Manji * refactor: DigitalCredentials component: update types and imports Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add revocation dialogs Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add replacement dialogs Signed-off-by: Akiff Manji * feat: devcontainer config Signed-off-by: Akiff Manji * chore: fix linting errors Signed-off-by: Akiff Manji * chore: bump version number Signed-off-by: Akiff Manji * chore: rename route for specificity Signed-off-by: Akiff Manji * chore: ran linter and fixed linting errors Signed-off-by: Akiff Manji * chore: make interface field optional Signed-off-by: Akiff Manji * chore: revert auto-formatting Signed-off-by: Akiff Manji * refactor: contain dialogs for DigitalCredentials component Signed-off-by: Akiff Manji * chore: fix code smells Signed-off-by: Akiff Manji * chore: address code review comments Signed-off-by: Akiff Manji * chore: revert autoformatting Signed-off-by: Akiff Manji * chore: update wording and styling to align with UX Signed-off-by: Akiff Manji * chore: fix styling Signed-off-by: Akiff Manji * feat: feature flag credentials feature with mixin Signed-off-by: Akiff Manji * feat: add TOU dialog Signed-off-by: Akiff Manji * chore: fix test failiures and code comments * chore: cleaup Signed-off-by: Akiff Manji * fix: mixin to access digital credential feature Signed-off-by: Akiff Manji * fix: entity menu styling Signed-off-by: Akiff Manji * feat: add loading indicators to digital credential route pages Signed-off-by: Akiff Manji * feat: reset dialog and functions Signed-off-by: Akiff Manji * chore: returl null if undefined Signed-off-by: Akiff Manji * chore: beef up conditional checks Signed-off-by: Akiff Manji * chore: spelling error Signed-off-by: Akiff Manji * chore: spelling error Signed-off-by: Akiff Manji --------- Signed-off-by: Akiff Manji * chore: cleanup spelling and handle edge cases Signed-off-by: Akiff Manji * fix: failing tests Signed-off-by: Akiff Manji * fix: entity menu logic Signed-off-by: Akiff Manji * 18284 Updated CSP (#561) - added wss://*.gov.bc.ca to connect-src * refactor: remove websocket support in favour of interval polling Signed-off-by: Akiff Manji * chore: remove console log Signed-off-by: Akiff Manji * chore: address PR comments Signed-off-by: Akiff Manji * chore: remove unused import Signed-off-by: Akiff Manji * fix: build and test failures Signed-off-by: Akiff Manji * feat: digital business card (#562) * refactor: CredentialsLanding component: add heading card Signed-off-by: Akiff Manji * feat: CredentialsLanding component: add supplemental cards Signed-off-by: Akiff Manji * feat: CredentialsLanding component: add image and word wrapping Signed-off-by: Akiff Manji * feat: CredentialsLanding component: link styling Signed-off-by: Akiff Manji * feat: CredentialsStepper component: deprecate routes Signed-off-by: Akiff Manji * refactor: CredentialsStepper component: function naming Signed-off-by: Akiff Manji * refactor: DigitalCredentials component: split into sub components Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add web socket component Signed-off-by: Akiff Manji * feat: DigitalCredentials component: re-add credential table Signed-off-by: Akiff Manji * refactor: DigitalCredentials component: update types and imports Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add revocation dialogs Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add replacement dialogs Signed-off-by: Akiff Manji * feat: devcontainer config Signed-off-by: Akiff Manji * chore: fix linting errors Signed-off-by: Akiff Manji * chore: bump version number Signed-off-by: Akiff Manji * chore: rename route for specificity Signed-off-by: Akiff Manji * chore: ran linter and fixed linting errors Signed-off-by: Akiff Manji * chore: make interface field optional Signed-off-by: Akiff Manji * chore: revert auto-formatting Signed-off-by: Akiff Manji * refactor: contain dialogs for DigitalCredentials component Signed-off-by: Akiff Manji * chore: fix code smells Signed-off-by: Akiff Manji * chore: address code review comments Signed-off-by: Akiff Manji * chore: revert autoformatting Signed-off-by: Akiff Manji * chore: update wording and styling to align with UX Signed-off-by: Akiff Manji * chore: fix styling Signed-off-by: Akiff Manji * feat: feature flag credentials feature with mixin Signed-off-by: Akiff Manji * feat: add TOU dialog Signed-off-by: Akiff Manji * chore: fix test failiures and code comments * chore: cleaup Signed-off-by: Akiff Manji * fix: mixin to access digital credential feature Signed-off-by: Akiff Manji * fix: entity menu styling Signed-off-by: Akiff Manji * feat: add loading indicators to digital credential route pages Signed-off-by: Akiff Manji * feat: reset dialog and functions Signed-off-by: Akiff Manji * chore: returl null if undefined Signed-off-by: Akiff Manji * chore: beef up conditional checks Signed-off-by: Akiff Manji * chore: spelling error Signed-off-by: Akiff Manji * chore: spelling error Signed-off-by: Akiff Manji * chore: cleanup spelling and handle edge cases Signed-off-by: Akiff Manji * fix: failing tests Signed-off-by: Akiff Manji * fix: entity menu logic Signed-off-by: Akiff Manji * refactor: remove websocket support in favour of interval polling Signed-off-by: Akiff Manji * chore: remove console log Signed-off-by: Akiff Manji * chore: address PR comments Signed-off-by: Akiff Manji * chore: remove unused import Signed-off-by: Akiff Manji * fix: build and test failures Signed-off-by: Akiff Manji --------- Signed-off-by: Akiff Manji * Update EntityMenu.spec.ts * chore: remove web socket references Signed-off-by: Akiff Manji --------- Signed-off-by: Akiff Manji Co-authored-by: Séverin Beauvais * 18161 Updated in response to UXA notes (#567) * Updated in response to UXA notes * package version update after rebasing * 16733 undefined placeholder for federal (#569) * For PR. Added Federal keyword * Restored changes * For PR. Added federal placeholder * Updated package.json * Fixed eslindt errors * Restored space for separation of function * 18024 Incremental AGM Extension changes (#568) - app version = 7.0.3 - removed obsolete dialogs + code - stopped watching changes to certify data - indent cleanup - added initial message box + CSS - app version = 7.0.2 - added NotEligibleExtension dialog - removed waiveFees=true from AGM Extension - removed waiveFees=true from AGM Location Chg - added some unit test suites - worked on unit tests - misc cleanup - used allowable actions value from Legal API - show alert on error starting app - fixed some comments - added showErrors prop to ExtensionRequest component * 18272 Add unit test for AboutTheBusiness component (#570) * Add unit test for AboutTheBusiness * Update AboutTheBusiness tests * Incorporate Sev's test for AboutTheBusiness * Check long string date in test * 17917 Added placeholder for null values (#572) Updated Version * 18024 Incremental AGM Extension changes (#571) * - app version = 7.0.6 - updated ExtensionRequest validation styling - misc small fixes - updated unit tests - added isEligible to interface - show dialog if not eligible - expanded unit tests * wip * feat: digital credentials detailed instructions (#575) * refactor: CredentialsLanding component: add heading card Signed-off-by: Akiff Manji * feat: CredentialsLanding component: add supplemental cards Signed-off-by: Akiff Manji * feat: CredentialsLanding component: add image and word wrapping Signed-off-by: Akiff Manji * feat: CredentialsLanding component: link styling Signed-off-by: Akiff Manji * feat: CredentialsStepper component: deprecate routes Signed-off-by: Akiff Manji * refactor: CredentialsStepper component: function naming Signed-off-by: Akiff Manji * refactor: DigitalCredentials component: split into sub components Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add web socket component Signed-off-by: Akiff Manji * feat: DigitalCredentials component: re-add credential table Signed-off-by: Akiff Manji * refactor: DigitalCredentials component: update types and imports Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add revocation dialogs Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add replacement dialogs Signed-off-by: Akiff Manji * feat: devcontainer config Signed-off-by: Akiff Manji * chore: fix linting errors Signed-off-by: Akiff Manji * chore: bump version number Signed-off-by: Akiff Manji * chore: rename route for specificity Signed-off-by: Akiff Manji * chore: ran linter and fixed linting errors Signed-off-by: Akiff Manji * chore: make interface field optional Signed-off-by: Akiff Manji * chore: revert auto-formatting Signed-off-by: Akiff Manji * refactor: contain dialogs for DigitalCredentials component Signed-off-by: Akiff Manji * chore: fix code smells Signed-off-by: Akiff Manji * chore: address code review comments Signed-off-by: Akiff Manji * chore: revert autoformatting Signed-off-by: Akiff Manji * chore: update wording and styling to align with UX Signed-off-by: Akiff Manji * chore: fix styling Signed-off-by: Akiff Manji * feat: feature flag credentials feature with mixin Signed-off-by: Akiff Manji * feat: add TOU dialog Signed-off-by: Akiff Manji * chore: fix test failiures and code comments * chore: cleaup Signed-off-by: Akiff Manji * fix: mixin to access digital credential feature Signed-off-by: Akiff Manji * fix: entity menu styling Signed-off-by: Akiff Manji * feat: add loading indicators to digital credential route pages Signed-off-by: Akiff Manji * feat: reset dialog and functions Signed-off-by: Akiff Manji * chore: returl null if undefined Signed-off-by: Akiff Manji * chore: beef up conditional checks Signed-off-by: Akiff Manji * chore: spelling error Signed-off-by: Akiff Manji * chore: spelling error Signed-off-by: Akiff Manji * 18284: digital business card (#552) * refactor: CredentialsLanding component: add heading card Signed-off-by: Akiff Manji * feat: CredentialsLanding component: add supplemental cards Signed-off-by: Akiff Manji * feat: CredentialsLanding component: add image and word wrapping Signed-off-by: Akiff Manji * feat: CredentialsLanding component: link styling Signed-off-by: Akiff Manji * feat: CredentialsStepper component: deprecate routes Signed-off-by: Akiff Manji * refactor: CredentialsStepper component: function naming Signed-off-by: Akiff Manji * refactor: DigitalCredentials component: split into sub components Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add web socket component Signed-off-by: Akiff Manji * feat: DigitalCredentials component: re-add credential table Signed-off-by: Akiff Manji * refactor: DigitalCredentials component: update types and imports Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add revocation dialogs Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add replacement dialogs Signed-off-by: Akiff Manji * feat: devcontainer config Signed-off-by: Akiff Manji * chore: fix linting errors Signed-off-by: Akiff Manji * chore: bump version number Signed-off-by: Akiff Manji * chore: rename route for specificity Signed-off-by: Akiff Manji * chore: ran linter and fixed linting errors Signed-off-by: Akiff Manji * chore: make interface field optional Signed-off-by: Akiff Manji * chore: revert auto-formatting Signed-off-by: Akiff Manji * refactor: contain dialogs for DigitalCredentials component Signed-off-by: Akiff Manji * chore: fix code smells Signed-off-by: Akiff Manji * chore: address code review comments Signed-off-by: Akiff Manji * chore: revert autoformatting Signed-off-by: Akiff Manji * chore: update wording and styling to align with UX Signed-off-by: Akiff Manji * chore: fix styling Signed-off-by: Akiff Manji * feat: feature flag credentials feature with mixin Signed-off-by: Akiff Manji * feat: add TOU dialog Signed-off-by: Akiff Manji * chore: fix test failiures and code comments * chore: cleaup Signed-off-by: Akiff Manji * fix: mixin to access digital credential feature Signed-off-by: Akiff Manji * fix: entity menu styling Signed-off-by: Akiff Manji * feat: add loading indicators to digital credential route pages Signed-off-by: Akiff Manji * feat: reset dialog and functions Signed-off-by: Akiff Manji * chore: returl null if undefined Signed-off-by: Akiff Manji * chore: beef up conditional checks Signed-off-by: Akiff Manji * chore: spelling error Signed-off-by: Akiff Manji * chore: spelling error Signed-off-by: Akiff Manji --------- Signed-off-by: Akiff Manji * chore: cleanup spelling and handle edge cases Signed-off-by: Akiff Manji * fix: failing tests Signed-off-by: Akiff Manji * fix: entity menu logic Signed-off-by: Akiff Manji * 18284 Updated CSP (#561) - added wss://*.gov.bc.ca to connect-src * refactor: remove websocket support in favour of interval polling Signed-off-by: Akiff Manji * chore: remove console log Signed-off-by: Akiff Manji * chore: address PR comments Signed-off-by: Akiff Manji * chore: remove unused import Signed-off-by: Akiff Manji * fix: build and test failures Signed-off-by: Akiff Manji * feat: digital business card (#562) * refactor: CredentialsLanding component: add heading card Signed-off-by: Akiff Manji * feat: CredentialsLanding component: add supplemental cards Signed-off-by: Akiff Manji * feat: CredentialsLanding component: add image and word wrapping Signed-off-by: Akiff Manji * feat: CredentialsLanding component: link styling Signed-off-by: Akiff Manji * feat: CredentialsStepper component: deprecate routes Signed-off-by: Akiff Manji * refactor: CredentialsStepper component: function naming Signed-off-by: Akiff Manji * refactor: DigitalCredentials component: split into sub components Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add web socket component Signed-off-by: Akiff Manji * feat: DigitalCredentials component: re-add credential table Signed-off-by: Akiff Manji * refactor: DigitalCredentials component: update types and imports Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add revocation dialogs Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add replacement dialogs Signed-off-by: Akiff Manji * feat: devcontainer config Signed-off-by: Akiff Manji * chore: fix linting errors Signed-off-by: Akiff Manji * chore: bump version number Signed-off-by: Akiff Manji * chore: rename route for specificity Signed-off-by: Akiff Manji * chore: ran linter and fixed linting errors Signed-off-by: Akiff Manji * chore: make interface field optional Signed-off-by: Akiff Manji * chore: revert auto-formatting Signed-off-by: Akiff Manji * refactor: contain dialogs for DigitalCredentials component Signed-off-by: Akiff Manji * chore: fix code smells Signed-off-by: Akiff Manji * chore: address code review comments Signed-off-by: Akiff Manji * chore: revert autoformatting Signed-off-by: Akiff Manji * chore: update wording and styling to align with UX Signed-off-by: Akiff Manji * chore: fix styling Signed-off-by: Akiff Manji * feat: feature flag credentials feature with mixin Signed-off-by: Akiff Manji * feat: add TOU dialog Signed-off-by: Akiff Manji * chore: fix test failiures and code comments * chore: cleaup Signed-off-by: Akiff Manji * fix: mixin to access digital credential feature Signed-off-by: Akiff Manji * fix: entity menu styling Signed-off-by: Akiff Manji * feat: add loading indicators to digital credential route pages Signed-off-by: Akiff Manji * feat: reset dialog and functions Signed-off-by: Akiff Manji * chore: returl null if undefined Signed-off-by: Akiff Manji * chore: beef up conditional checks Signed-off-by: Akiff Manji * chore: spelling error Signed-off-by: Akiff Manji * chore: spelling error Signed-off-by: Akiff Manji * chore: cleanup spelling and handle edge cases Signed-off-by: Akiff Manji * fix: failing tests Signed-off-by: Akiff Manji * fix: entity menu logic Signed-off-by: Akiff Manji * refactor: remove websocket support in favour of interval polling Signed-off-by: Akiff Manji * chore: remove console log Signed-off-by: Akiff Manji * chore: address PR comments Signed-off-by: Akiff Manji * chore: remove unused import Signed-off-by: Akiff Manji * fix: build and test failures Signed-off-by: Akiff Manji --------- Signed-off-by: Akiff Manji * Update EntityMenu.spec.ts * chore: remove web socket references Signed-off-by: Akiff Manji * chore: fix spacing Signed-off-by: Akiff Manji * chore: some cleanup Signed-off-by: Akiff Manji * feat: credential detailed instructions Signed-off-by: Akiff Manji * chore: add tags to components Signed-off-by: Akiff Manji --------- Signed-off-by: Akiff Manji Co-authored-by: Séverin Beauvais * 18513 Fixed jerky expandable help transition (#576) - app version = 7.0.7 - imported latest ExpandableHelp component (to fix jerky transition) * Extension Request Scenario 1 (#577) * Extension Request Scenario 1 * Lots of updates after rebasing * package version update after rebasing * cleanup * Fixed unit test * Updated in response to Sev's PR comments * Removed fallback logic from subtractDates in dateutilities * lint fix * 18369 agm extension evaluation (#573) * 18369 agm evaluation component setup * 18369 agm evaluation component setup * 18369 added logic to agm extension evaluation component and unit testing * removed unnecessary data from agmExtensionEvaluation * removed rootStore values since unused * removed unused pinia * misc edit * added yellow evaluation box unit test * fixed expected value * removed redundant testing in yellow-box verification * added idea for template conditionals in the component * rearranged data variables in the conditionals * removed now unused props * misc fix * added new testing for agm extension evaluation * removed Text string variables from AgmExtension.vue * fized testing error * fixed silly typo * 17159 Update fetchNameRequest (#579) update fetchNameRequest * 18273 Extension Request Scenario 2 (#580) * Extension Request Scenario 2 * Fix lint issue * Fix min expiry date * Restore comment on isFirstAgm * Move currentDate to data object * Fix agm year not clearing on firstAgm change * Update watcher comment * Update version to 7.0.10 and fix unit tests * 18469 Capitalize AGM in output titles (#581) - app version = 7.0.11 - added missing cases for AGM filings - added special case to convert "Agm" to "AGM" - fixed a lint warning * 18274 Updated To Do List and Recent Filing History (#584) * - app version = 7.0.12 * - added AGM Extension as a filing in Filing History List - added AGM Extension as cancellable Todo Item - added AGM Extension filing component - fixed wrong enum in Entity Menu - added AGM Extension to Enum Utilities - fixed misc type warnings * - added agmExtension fields to ApiFilingIF - updated AGM Extension filing JSON per schema * - fixed unit test * - added FHL unit tests * Update FilingHistoryList1.spec.ts - updated displayName for AGM filings in unit tests (no functional impact, no dependencies) * 18369 changed the duration of extension messages in accordance with U… (#582) * 18369 changed the duration of extension messages in accordance with UX design * fixed tests for new evaluation messages. * fixed date getters and added expiry date * fixed getters and fixed typo * fixed reactive expiry date * update package json * 18204 disable restore based on ff (#583) * For PR added FF parameters * Fixed && added test cases for historical * Updated package version * chore: update content and images (#586) * refactor: CredentialsLanding component: add heading card Signed-off-by: Akiff Manji * feat: CredentialsLanding component: add supplemental cards Signed-off-by: Akiff Manji * feat: CredentialsLanding component: add image and word wrapping Signed-off-by: Akiff Manji * feat: CredentialsLanding component: link styling Signed-off-by: Akiff Manji * feat: CredentialsStepper component: deprecate routes Signed-off-by: Akiff Manji * refactor: CredentialsStepper component: function naming Signed-off-by: Akiff Manji * refactor: DigitalCredentials component: split into sub components Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add web socket component Signed-off-by: Akiff Manji * feat: DigitalCredentials component: re-add credential table Signed-off-by: Akiff Manji * refactor: DigitalCredentials component: update types and imports Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add revocation dialogs Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add replacement dialogs Signed-off-by: Akiff Manji * feat: devcontainer config Signed-off-by: Akiff Manji * chore: fix linting errors Signed-off-by: Akiff Manji * chore: bump version number Signed-off-by: Akiff Manji * chore: rename route for specificity Signed-off-by: Akiff Manji * chore: ran linter and fixed linting errors Signed-off-by: Akiff Manji * chore: make interface field optional Signed-off-by: Akiff Manji * chore: revert auto-formatting Signed-off-by: Akiff Manji * refactor: contain dialogs for DigitalCredentials component Signed-off-by: Akiff Manji * chore: fix code smells Signed-off-by: Akiff Manji * chore: address code review comments Signed-off-by: Akiff Manji * chore: revert autoformatting Signed-off-by: Akiff Manji * chore: update wording and styling to align with UX Signed-off-by: Akiff Manji * chore: fix styling Signed-off-by: Akiff Manji * feat: feature flag credentials feature with mixin Signed-off-by: Akiff Manji * feat: add TOU dialog Signed-off-by: Akiff Manji * chore: fix test failiures and code comments * chore: cleaup Signed-off-by: Akiff Manji * fix: mixin to access digital credential feature Signed-off-by: Akiff Manji * fix: entity menu styling Signed-off-by: Akiff Manji * feat: add loading indicators to digital credential route pages Signed-off-by: Akiff Manji * feat: reset dialog and functions Signed-off-by: Akiff Manji * chore: returl null if undefined Signed-off-by: Akiff Manji * chore: beef up conditional checks Signed-off-by: Akiff Manji * chore: spelling error Signed-off-by: Akiff Manji * chore: spelling error Signed-off-by: Akiff Manji * 18284: digital business card (#552) * refactor: CredentialsLanding component: add heading card Signed-off-by: Akiff Manji * feat: CredentialsLanding component: add supplemental cards Signed-off-by: Akiff Manji * feat: CredentialsLanding component: add image and word wrapping Signed-off-by: Akiff Manji * feat: CredentialsLanding component: link styling Signed-off-by: Akiff Manji * feat: CredentialsStepper component: deprecate routes Signed-off-by: Akiff Manji * refactor: CredentialsStepper component: function naming Signed-off-by: Akiff Manji * refactor: DigitalCredentials component: split into sub components Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add web socket component Signed-off-by: Akiff Manji * feat: DigitalCredentials component: re-add credential table Signed-off-by: Akiff Manji * refactor: DigitalCredentials component: update types and imports Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add revocation dialogs Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add replacement dialogs Signed-off-by: Akiff Manji * feat: devcontainer config Signed-off-by: Akiff Manji * chore: fix linting errors Signed-off-by: Akiff Manji * chore: bump version number Signed-off-by: Akiff Manji * chore: rename route for specificity Signed-off-by: Akiff Manji * chore: ran linter and fixed linting errors Signed-off-by: Akiff Manji * chore: make interface field optional Signed-off-by: Akiff Manji * chore: revert auto-formatting Signed-off-by: Akiff Manji * refactor: contain dialogs for DigitalCredentials component Signed-off-by: Akiff Manji * chore: fix code smells Signed-off-by: Akiff Manji * chore: address code review comments Signed-off-by: Akiff Manji * chore: revert autoformatting Signed-off-by: Akiff Manji * chore: update wording and styling to align with UX Signed-off-by: Akiff Manji * chore: fix styling Signed-off-by: Akiff Manji * feat: feature flag credentials feature with mixin Signed-off-by: Akiff Manji * feat: add TOU dialog Signed-off-by: Akiff Manji * chore: fix test failiures and code comments * chore: cleaup Signed-off-by: Akiff Manji * fix: mixin to access digital credential feature Signed-off-by: Akiff Manji * fix: entity menu styling Signed-off-by: Akiff Manji * feat: add loading indicators to digital credential route pages Signed-off-by: Akiff Manji * feat: reset dialog and functions Signed-off-by: Akiff Manji * chore: returl null if undefined Signed-off-by: Akiff Manji * chore: beef up conditional checks Signed-off-by: Akiff Manji * chore: spelling error Signed-off-by: Akiff Manji * chore: spelling error Signed-off-by: Akiff Manji --------- Signed-off-by: Akiff Manji * chore: cleanup spelling and handle edge cases Signed-off-by: Akiff Manji * fix: failing tests Signed-off-by: Akiff Manji * fix: entity menu logic Signed-off-by: Akiff Manji * 18284 Updated CSP (#561) - added wss://*.gov.bc.ca to connect-src * refactor: remove websocket support in favour of interval polling Signed-off-by: Akiff Manji * chore: remove console log Signed-off-by: Akiff Manji * chore: address PR comments Signed-off-by: Akiff Manji * chore: remove unused import Signed-off-by: Akiff Manji * fix: build and test failures Signed-off-by: Akiff Manji * feat: digital business card (#562) * refactor: CredentialsLanding component: add heading card Signed-off-by: Akiff Manji * feat: CredentialsLanding component: add supplemental cards Signed-off-by: Akiff Manji * feat: CredentialsLanding component: add image and word wrapping Signed-off-by: Akiff Manji * feat: CredentialsLanding component: link styling Signed-off-by: Akiff Manji * feat: CredentialsStepper component: deprecate routes Signed-off-by: Akiff Manji * refactor: CredentialsStepper component: function naming Signed-off-by: Akiff Manji * refactor: DigitalCredentials component: split into sub components Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add web socket component Signed-off-by: Akiff Manji * feat: DigitalCredentials component: re-add credential table Signed-off-by: Akiff Manji * refactor: DigitalCredentials component: update types and imports Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add revocation dialogs Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add replacement dialogs Signed-off-by: Akiff Manji * feat: devcontainer config Signed-off-by: Akiff Manji * chore: fix linting errors Signed-off-by: Akiff Manji * chore: bump version number Signed-off-by: Akiff Manji * chore: rename route for specificity Signed-off-by: Akiff Manji * chore: ran linter and fixed linting errors Signed-off-by: Akiff Manji * chore: make interface field optional Signed-off-by: Akiff Manji * chore: revert auto-formatting Signed-off-by: Akiff Manji * refactor: contain dialogs for DigitalCredentials component Signed-off-by: Akiff Manji * chore: fix code smells Signed-off-by: Akiff Manji * chore: address code review comments Signed-off-by: Akiff Manji * chore: revert autoformatting Signed-off-by: Akiff Manji * chore: update wording and styling to align with UX Signed-off-by: Akiff Manji * chore: fix styling Signed-off-by: Akiff Manji * feat: feature flag credentials feature with mixin Signed-off-by: Akiff Manji * feat: add TOU dialog Signed-off-by: Akiff Manji * chore: fix test failiures and code comments * chore: cleaup Signed-off-by: Akiff Manji * fix: mixin to access digital credential feature Signed-off-by: Akiff Manji * fix: entity menu styling Signed-off-by: Akiff Manji * feat: add loading indicators to digital credential route pages Signed-off-by: Akiff Manji * feat: reset dialog and functions Signed-off-by: Akiff Manji * chore: returl null if undefined Signed-off-by: Akiff Manji * chore: beef up conditional checks Signed-off-by: Akiff Manji * chore: spelling error Signed-off-by: Akiff Manji * chore: spelling error Signed-off-by: Akiff Manji * chore: cleanup spelling and handle edge cases Signed-off-by: Akiff Manji * fix: failing tests Signed-off-by: Akiff Manji * fix: entity menu logic Signed-off-by: Akiff Manji * refactor: remove websocket support in favour of interval polling Signed-off-by: Akiff Manji * chore: remove console log Signed-off-by: Akiff Manji * chore: address PR comments Signed-off-by: Akiff Manji * chore: remove unused import Signed-off-by: Akiff Manji * fix: build and test failures Signed-off-by: Akiff Manji --------- Signed-off-by: Akiff Manji * Update EntityMenu.spec.ts * chore: remove web socket references Signed-off-by: Akiff Manji * chore: fix spacing Signed-off-by: Akiff Manji * chore: some cleanup Signed-off-by: Akiff Manji * feat: credential detailed instructions Signed-off-by: Akiff Manji * chore: add tags to components Signed-off-by: Akiff Manji * chore: minor content updates Signed-off-by: Akiff Manji * chore: update package version Signed-off-by: Akiff Manji --------- Signed-off-by: Akiff Manji Co-authored-by: Séverin Beauvais * fix: DBC feature should be available for historical companies (#587) * refactor: CredentialsLanding component: add heading card Signed-off-by: Akiff Manji * feat: CredentialsLanding component: add supplemental cards Signed-off-by: Akiff Manji * feat: CredentialsLanding component: add image and word wrapping Signed-off-by: Akiff Manji * feat: CredentialsLanding component: link styling Signed-off-by: Akiff Manji * feat: CredentialsStepper component: deprecate routes Signed-off-by: Akiff Manji * refactor: CredentialsStepper component: function naming Signed-off-by: Akiff Manji * refactor: DigitalCredentials component: split into sub components Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add web socket component Signed-off-by: Akiff Manji * feat: DigitalCredentials component: re-add credential table Signed-off-by: Akiff Manji * refactor: DigitalCredentials component: update types and imports Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add revocation dialogs Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add replacement dialogs Signed-off-by: Akiff Manji * feat: devcontainer config Signed-off-by: Akiff Manji * chore: fix linting errors Signed-off-by: Akiff Manji * chore: bump version number Signed-off-by: Akiff Manji * chore: rename route for specificity Signed-off-by: Akiff Manji * chore: ran linter and fixed linting errors Signed-off-by: Akiff Manji * chore: make interface field optional Signed-off-by: Akiff Manji * chore: revert auto-formatting Signed-off-by: Akiff Manji * refactor: contain dialogs for DigitalCredentials component Signed-off-by: Akiff Manji * chore: fix code smells Signed-off-by: Akiff Manji * chore: address code review comments Signed-off-by: Akiff Manji * chore: revert autoformatting Signed-off-by: Akiff Manji * chore: update wording and styling to align with UX Signed-off-by: Akiff Manji * chore: fix styling Signed-off-by: Akiff Manji * feat: feature flag credentials feature with mixin Signed-off-by: Akiff Manji * feat: add TOU dialog Signed-off-by: Akiff Manji * chore: fix test failiures and code comments * chore: cleaup Signed-off-by: Akiff Manji * fix: mixin to access digital credential feature Signed-off-by: Akiff Manji * fix: entity menu styling Signed-off-by: Akiff Manji * feat: add loading indicators to digital credential route pages Signed-off-by: Akiff Manji * feat: reset dialog and functions Signed-off-by: Akiff Manji * chore: returl null if undefined Signed-off-by: Akiff Manji * chore: beef up conditional checks Signed-off-by: Akiff Manji * chore: spelling error Signed-off-by: Akiff Manji * chore: spelling error Signed-off-by: Akiff Manji * 18284: digital business card (#552) * refactor: CredentialsLanding component: add heading card Signed-off-by: Akiff Manji * feat: CredentialsLanding component: add supplemental cards Signed-off-by: Akiff Manji * feat: CredentialsLanding component: add image and word wrapping Signed-off-by: Akiff Manji * feat: CredentialsLanding component: link styling Signed-off-by: Akiff Manji * feat: CredentialsStepper component: deprecate routes Signed-off-by: Akiff Manji * refactor: CredentialsStepper component: function naming Signed-off-by: Akiff Manji * refactor: DigitalCredentials component: split into sub components Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add web socket component Signed-off-by: Akiff Manji * feat: DigitalCredentials component: re-add credential table Signed-off-by: Akiff Manji * refactor: DigitalCredentials component: update types and imports Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add revocation dialogs Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add replacement dialogs Signed-off-by: Akiff Manji * feat: devcontainer config Signed-off-by: Akiff Manji * chore: fix linting errors Signed-off-by: Akiff Manji * chore: bump version number Signed-off-by: Akiff Manji * chore: rename route for specificity Signed-off-by: Akiff Manji * chore: ran linter and fixed linting errors Signed-off-by: Akiff Manji * chore: make interface field optional Signed-off-by: Akiff Manji * chore: revert auto-formatting Signed-off-by: Akiff Manji * refactor: contain dialogs for DigitalCredentials component Signed-off-by: Akiff Manji * chore: fix code smells Signed-off-by: Akiff Manji * chore: address code review comments Signed-off-by: Akiff Manji * chore: revert autoformatting Signed-off-by: Akiff Manji * chore: update wording and styling to align with UX Signed-off-by: Akiff Manji * chore: fix styling Signed-off-by: Akiff Manji * feat: feature flag credentials feature with mixin Signed-off-by: Akiff Manji * feat: add TOU dialog Signed-off-by: Akiff Manji * chore: fix test failiures and code comments * chore: cleaup Signed-off-by: Akiff Manji * fix: mixin to access digital credential feature Signed-off-by: Akiff Manji * fix: entity menu styling Signed-off-by: Akiff Manji * feat: add loading indicators to digital credential route pages Signed-off-by: Akiff Manji * feat: reset dialog and functions Signed-off-by: Akiff Manji * chore: returl null if undefined Signed-off-by: Akiff Manji * chore: beef up conditional checks Signed-off-by: Akiff Manji * chore: spelling error Signed-off-by: Akiff Manji * chore: spelling error Signed-off-by: Akiff Manji --------- Signed-off-by: Akiff Manji * chore: cleanup spelling and handle edge cases Signed-off-by: Akiff Manji * fix: failing tests Signed-off-by: Akiff Manji * fix: entity menu logic Signed-off-by: Akiff Manji * 18284 Updated CSP (#561) - added wss://*.gov.bc.ca to connect-src * refactor: remove websocket support in favour of interval polling Signed-off-by: Akiff Manji * chore: remove console log Signed-off-by: Akiff Manji * chore: address PR comments Signed-off-by: Akiff Manji * chore: remove unused import Signed-off-by: Akiff Manji * fix: build and test failures Signed-off-by: Akiff Manji * feat: digital business card (#562) * refactor: CredentialsLanding component: add heading card Signed-off-by: Akiff Manji * feat: CredentialsLanding component: add supplemental cards Signed-off-by: Akiff Manji * feat: CredentialsLanding component: add image and word wrapping Signed-off-by: Akiff Manji * feat: CredentialsLanding component: link styling Signed-off-by: Akiff Manji * feat: CredentialsStepper component: deprecate routes Signed-off-by: Akiff Manji * refactor: CredentialsStepper component: function naming Signed-off-by: Akiff Manji * refactor: DigitalCredentials component: split into sub components Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add web socket component Signed-off-by: Akiff Manji * feat: DigitalCredentials component: re-add credential table Signed-off-by: Akiff Manji * refactor: DigitalCredentials component: update types and imports Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add revocation dialogs Signed-off-by: Akiff Manji * feat: DigitalCredentials component: add replacement dialogs Signed-off-by: Akiff Manji * feat: devcontainer config Signed-off-by: Akiff Manji * chore: fix linting errors Signed-off-by: Akiff Manji * chore: bump version number Signed-off-by: Akiff Manji * chore: rename route for specificity Signed-off-by: Akiff Manji * chore: ran linter and fixed linting errors Signed-off-by: Akiff Manji * chore: make interface field optional Signed-off-by: Akiff Manji * chore: revert auto-formatting Signed-off-by: Akiff Manji * refactor: contain dialogs for DigitalCredentials component Signed-off-by: Akiff Manji * chore: fix code smells Signed-off-by: Akiff Manji * chore: address code review comments Signed-off-by: Akiff Manji * chore: revert autoformatting Signed-off-by: Akiff Manji * chore: update wording and styling to align with UX Signed-off-by: Akiff Manji * chore: fix styling Signed-off-by: Akiff Manji * feat: feature flag credentials feature with mixin Signed-off-by: Akiff Manji * feat: add TOU dialog Signed-off-by: Akiff Manji * chore: fix test failiures and code comments * chore: cleaup Signed-off-by: Akiff Manji * fix: mixin to access digital credential feature Signed-off-by: Akiff Manji * fix: entity menu styling Signed-off-by: Akiff Manji * feat: add loading indicators to digital credential route pages Signed-off-by: Akiff Manji * feat: reset dialog and functions Signed-off-by: Akiff Manji * chore: returl null if undefined Signed-off-by: Akiff Manji * chore: beef up conditional checks Signed-off-by: Akiff Manji * chore: spelling error Signed-off-by: Akiff Manji * chore: spelling error Signed-off-by: Akiff Manji * chore: cleanup spelling and handle edge cases Signed-off-by: Akiff Manji * fix: failing tests Signed-off-by: Akiff Manji * fix: entity menu logic Signed-off-by: Akiff Manji * refactor: remove websocket support in favour of interval polling Signed-off-by: Akiff Manji * chore: remove console log Signed-off-by: Akiff Manji * chore: address PR comments Signed-off-by: Akiff Manji * chore: remove unused import Signed-off-by: Akiff Manji * fix: build and test failures Signed-off-by: Akiff Manji --------- Signed-off-by: Akiff Manji * Update EntityMenu.spec.ts * chore: remove web socket references Signed-off-by: Akiff Manji * chore: fix spacing Signed-off-by: Akiff Manji * chore: some cleanup Signed-off-by: Akiff Manji * feat: credential detailed instructions Signed-off-by: Akiff Manji * chore: add tags to components Signed-off-by: Akiff Manji * chore: minor content updates Signed-off-by: Akiff Manji * chore: update package version Signed-off-by: Akiff Manji * fix: DBC feature should be available for historical organization Signed-off-by: Akiff Manji * refactor: move logic into getter Signed-off-by: Akiff Manji * fix: DBC feature should only be available to BCSC user Signed-off-by: Akiff Manji * chore: update package version Signed-off-by: Akiff Manji * chore: update package lock file Signed-off-by: Akiff Manji --------- Signed-off-by: Akiff Manji Co-authored-by: Séverin Beauvais * 18273+18558 Extension Request Cleanup and Tests (#585) * Restore comment on isFirstAgm * Extension Request Cleanup and Tests * Update comment * Use isFirstAgm from data for validity * Remove debugging code * Fix initial state on agm extension evaluation * Fix typo * Set missing values for EmptyAgmExtEval * Add better validation for AGM extension request * Prevent future year for agm year * Update version to 7.0.17 * Fix some of the unit tests * Removed impossible test scenario * Add overflow-auto class * Update date-picker version to 1.2.38 * Remove optional from agm extension interface * Remove console.log * 18024 - Fixed AGM Extensions in TODO List (#591) * 18273+18558 Update Extension Request component UI (#592) * Extension Request Cleanup and Tests * Remove debugging code * Remove optional from agm extension interface * Remove console.log * Update Extension Request component UI * 18534 Changes to support amalgamation applications (#590) * - app version = 7.0.20 - updated some shared imports - added amalgamation as supported filing type - added amalgamation template to Filing History List - added amalgamation application to Todo List - added amalgamation sub-types to enum - added amalgamation to API Filing interface - added amalgamation to Task Todo interface - added an enum mixin method - added enum utilities methods - updated filingTypeToName() - replaced overly complex "currentFilingStatus" with filing id check - refactored entityStatus to identify the application type (amal/IA/reg) - updated unit tests * - applied fix for #18736 * - added displayName to draft app code - used displayName in TodoList.vue - used displayName in EntityHeader.vue * - added check for amalgamation type * 18024 Finish AGM Extension UI implementation (#594) * Fix AGM extension api payload * Update version to 7.0.21 * Fix unit test * feat: digital credentials gate (#595) * feat: gate digital credentials from API Signed-off-by: Akiff Manji * chore: bump package version Signed-off-by: Akiff Manji --------- Signed-off-by: Akiff Manji * 18534 Amalg unit tests + small fixes + more typing (#596) * - app version = 7.0.23 - enabled strict typing - misc small fixes/cleanup - fixed filed IA blurb - added amalgamation allowable action - added unit tests - added some typing to unit tests * wip * feat: digital credentials TOU (#597) * feat: Terms of Use for digital credentials Signed-off-by: Akiff Manji * chore: address code review comments and bump package version Signed-off-by: Akiff Manji * chore: address code review comments Signed-off-by: Akiff Manji * chore: address code review comments Signed-off-by: Akiff Manji * chore: address code review comments Signed-off-by: Akiff Manji --------- Signed-off-by: Akiff Manji * 18782 fix error in wrong agm due date (#598) fix error in wrong agm due date * 17869 - Adding CFS account number BUSINESS-FILINGS-UI (#565) * 17869 - Adding CFS account number BUSINESS-FILINGS-UI Signed-off-by: AbrahamRostampoor * cfs Update * Latest Updates * Formatting * Updated package.json and package-lock.json version number --------- Signed-off-by: AbrahamRostampoor * 18833 agm ext calc (#599) * 18833-AGM-extension-calculation * Updated package.json * Added getter that takes argument for AGM year. Working test case for getTotalAgmExtension method * 18805+18979 Amalgamate Button + Moved to amalgamationApplication + Selection Panel (#600) * Implemented Amalgamate button + changed amalgamation to amalgamationApplication * Implemented Amalgamation Selection Panel * Updated package version after rebase * Added safe value + deleted unnecessary comment * Updated in response to Sev's comments * another small update in response to Sev's comment * missing import * small updates in response to Sev's comment * removed unused imports * changed disabled condition * Create draft amalgamation + redirect + misc. fixes/updates (#601) * Create draft amalgamation + redirect + misc. fixes/updates * Fixed comments * Fixed in response to Sev's comments + added unit tests * fixed typos * Updated Amalgamation Selection in response to UXA notes (#602) * Updated in response to Yui's observations * Updated in response to Sev's comments * 19005 Implemented historical - amalgamation reason text (#604) - app version = 7.0.30 - updated some code comments - added AmalgamatedInto interface object - added enum mixin and utility functions - added some business store getters - refactored getReasonText() and added case for amalgamation - cast some parameters to pre-empt code errors - added/updated unit tests Co-authored-by: Severin Beauvais * 16967 Admin Freeze should not show on ledger (#603) * hide admin_freeze filing * update feature * fix small * fix lint issue * update feature * update test and app version * fix lint issue * update app version * Update filingHistoryListStore.ts - changed "displayLedger" check from falsy to False * 16967 Set missing `displayLedger` property for draft apps (#605) - app version = 7.0.32 - set missing draft app property - updated some interface comments Co-authored-by: Severin Beauvais * 19190 Fixed "return to MBR" issues (#607) - app version = 7.0.33 - only show "return to MBR" for temp amalgamations - only show "return to MBR" for temp incorporation applications - only show "return to MBR" for temp registrations Co-authored-by: Severin Beauvais * 19291 Implemented "future effective amalgamation" alert (#608) * - app version = 7.0.34 - moved some "unknown" from script to template - added amalgamation alert component - added optional data object to business warnings interface - added getter for future effective amalgamation warning - added alert to dashboard - fixed some route type errors - added test suite - updated unit tests * - updated [Unknown] -> [unknown] --------- Co-authored-by: Severin Beauvais * Added amalgamation FF check (#610) * Added amalgamation FF check * Fixed unit tests * typo * 19209 Pre-populate TING business + error handling (#609) - app version = 7.0.36 - fixed some getLegalType types - added generic Technical Error Dialog (per Yui) - added amalgamation enums - refactored Legal Service function for better result and error handling - added dialog to Amalgamation Selection component - refactored Amalgamation Selection for error handling and to pre-populate TING business - added test suite for new dialog Co-authored-by: Severin Beauvais * 19204 Fixed whitespace between sub-title and body (#612) - app version = 7.0.37 - removed min-height (which simulated padding when it's a single line) - added top margin (whitespace whether it's a single or wrapped line) - added top padding to body for all filings Co-authored-by: Severin Beauvais * Bump vite from 4.3.9 to 4.5.2 (#613) Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.3.9 to 4.5.2. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v4.5.2/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v4.5.2/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-type: direct:development ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * major upgrade to package version --------- Signed-off-by: Akiff Manji Signed-off-by: AbrahamRostampoor Signed-off-by: dependabot[bot] Co-authored-by: Travis Semple Co-authored-by: ketaki-deodhar <116035339+ketaki-deodhar@users.noreply.github.com> Co-authored-by: Séverin Beauvais Co-authored-by: Akiff Manji Co-authored-by: jamespaologarcia Co-authored-by: leodube-aot <122323255+leodube-aot@users.noreply.github.com> Co-authored-by: Akiff Manji Co-authored-by: Paul <144158015+PaulGarewal@users.noreply.github.com> Co-authored-by: Kevin Zhang <54437031+kzdev420@users.noreply.github.com> Co-authored-by: Shaoyun Tong <144159934+tshyun24@users.noreply.github.com> Co-authored-by: AbrahamRostampoor <144154569+AbrahamRostampoor@users.noreply.github.com> Co-authored-by: Severin Beauvais Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .devcontainer/devcontainer.json | 22 + firebase.json | 2 +- package-lock.json | 2978 ++++++----------- package.json | 19 +- src/App.vue | 164 +- src/assets/images/bc_wallet_app.png | Bin 0 -> 7278 bytes src/assets/images/bc_wallet_app_store.png | Bin 0 -> 149784 bytes src/assets/images/business_card_feature.png | Bin 0 -> 53909 bytes .../images/business_card_issuance_steps.png | Bin 0 -> 141569 bytes src/assets/styles/base.scss | 28 +- src/assets/styles/theme.scss | 4 + .../AgmExtension/AboutTheBusiness.vue | 80 + .../AgmExtension/AgmExtensionEvaluation.vue | 135 + .../AgmExtension/AgmExtensionHelp.vue | 31 + .../AgmExtension/ExtensionRequest.vue | 529 +++ .../AgmLocationChange/AgmLocation.vue | 67 + src/components/AgmLocationChange/AgmYear.vue | 76 + .../Dashboard/Alerts/Amalgamation.vue | 127 + .../Dashboard/FilingHistoryList.vue | 4 + .../FilingHistoryList/FilingTemplate.vue | 2 +- .../FilingHistoryList/HeaderActions.vue | 5 +- .../LimitedRestorationExtensionFiling.vue | 10 +- .../filings/AgmExtension.vue | 57 + .../filings/AmalgamationFiling.vue | 145 + .../filings/ConsentContinuationOut.vue | 9 +- .../filings/ContinuationOut.vue | 2 +- .../filings/IncorporationApplication.vue | 17 +- .../filings/RegistrationFiling.vue | 15 +- .../FilingHistoryList/filings/index.ts | 2 + src/components/Dashboard/StaffNotation.vue | 9 +- src/components/Dashboard/TodoList.vue | 300 +- .../TodoList/PaymentPendingOnlineBanking.vue | 15 + .../CredentialsDashboard.vue | 195 ++ .../CredentialsDetailSteps.vue | 145 + .../DigitalCredentials/CredentialsFooter.vue | 84 - .../DigitalCredentials/CredentialsInfo.vue | 40 + .../DigitalCredentials/CredentialsLanding.vue | 126 +- .../DigitalCredentials/CredentialsMenu.vue | 85 + .../CredentialsSimpleSteps.vue | 101 + .../DigitalCredentials/CredentialsStepper.vue | 291 ++ .../DigitalCredentials/CredentialsTable.vue | 67 +- .../CredentialsTermsOfUse.vue | 398 +++ .../CredentialsWebSocket.vue | 107 + .../DigitalWalletDownload.vue | 192 -- .../DigitalCredentials/IssueCredentials.vue | 165 - .../DigitalCredentials/RegisterWallet.vue | 107 - .../ConfirmCredentialsTermsofUseDialog.vue | 85 + .../ConfirmReplaceCredentialDialog.vue | 128 + .../dialogs/ConfirmRevokeCredentialDialog.vue | 128 + .../dialogs/CredentialNotReceivedDialog.vue | 131 + .../dialogs/CredentialRevokedDialog.vue | 88 + .../dialogs/ReplaceCredentialErrorDialog.vue | 67 + .../dialogs/RevokeCredentialErrorDialog.vue | 67 + .../DigitalCredentials/enums/routes.ts | 4 + src/components/DigitalCredentials/index.ts | 11 +- src/components/EntityInfo.vue | 10 +- src/components/EntityInfo/EntityHeader.vue | 30 +- src/components/EntityInfo/EntityMenu.vue | 301 +- src/components/common/Certify.vue | 21 +- src/components/common/DateTooltip.vue | 8 +- src/components/common/DetailComment.vue | 37 +- src/components/common/ForeignJurisdiction.vue | 2 +- src/components/common/NameRequestInfo.vue | 13 +- src/components/common/VcardTemplate.vue | 35 + src/components/common/index.ts | 2 + .../dialogs/AddStaffNotationDialog.vue | 3 +- .../dialogs/ConfirmDissolutionDialog.vue | 4 +- .../dialogs/NotEligibleExtensionDialog.vue | 95 + .../dialogs/TechnicalErrorDialog.vue | 64 + src/components/dialogs/index.ts | 6 +- src/enums/allowableActions.ts | 3 +- src/enums/amalgamationEnums.ts | 9 + src/enums/entityStatus.ts | 8 +- src/enums/filingSubTypes.ts | 13 +- src/enums/index.ts | 4 +- src/enums/nameRequestTypes.ts | 1 + src/enums/routes.ts | 20 +- src/interfaces/agm-ext-eval-interface.ts | 35 + src/interfaces/amalgamation-interfaces.ts | 67 + src/interfaces/api-filing-interface.ts | 31 +- src/interfaces/api-task-interface.ts | 19 +- .../authentication-state-interface.ts | 14 + ...rfaces.ts => business-state-interfaces.ts} | 13 +- .../configuration-state-interface.ts | 2 +- .../digitalCredentials-interface.ts | 12 +- .../filing-history-list-state-interface.ts | 2 +- src/interfaces/index.ts | 9 +- src/interfaces/root-state-interface.ts | 57 +- src/interfaces/state-interface.ts | 47 - src/interfaces/steps-interface.ts | 1 + src/interfaces/todo-item-interface.ts | 2 +- src/main.ts | 13 +- src/mixins/allowable-actions-mixin.ts | 36 +- src/mixins/date-mixin.ts | 12 +- src/mixins/enum-mixin.ts | 10 + src/mixins/name-request-mixin.ts | 5 +- src/resources/DigitalCredentialRoutes.ts | 39 +- src/resources/business-config.ts | 8 +- src/router.ts | 4 +- src/routes.ts | 23 +- src/services/auth-services.ts | 11 +- src/services/date-utilities.ts | 54 +- src/services/enum-utilities.ts | 71 +- src/services/legal-services.ts | 148 +- src/services/pay-services.ts | 17 + src/stores/authenticationStore.ts | 30 +- src/stores/businessStore.ts | 84 +- src/stores/configurationStore.ts | 2 +- src/stores/filingHistoryListStore.ts | 31 +- src/stores/rootStore.ts | 204 +- src/stores/state.ts | 8 +- src/utils/feature-flags.ts | 8 +- src/utils/set-base-route-and-business-id.ts | 2 +- src/views/AgmExtension.vue | 662 +--- src/views/AgmLocationChg.vue | 621 ++-- src/views/AmalgamationSelection.vue | 300 ++ src/views/AnnualReport.vue | 17 +- src/views/ConsentContinuationOut.vue | 9 +- src/views/ContinuationOut.vue | 2 +- src/views/Correction.vue | 2 +- src/views/Dashboard.vue | 34 +- src/views/DigitalCredentials.vue | 214 +- src/views/StandaloneDirectorsFiling.vue | 2 +- src/views/StandaloneOfficeAddressFiling.vue | 2 +- tests/unit/AboutTheBusiness.spec.ts | 50 + tests/unit/AgmExtension.spec.ts | 459 ++- tests/unit/AgmExtensionEvaluation.spec.ts | 206 ++ tests/unit/AgmExtensionHelp.spec.ts | 23 + tests/unit/AgmLocation.spec.ts | 99 + tests/unit/AgmLocationChg.spec.ts | 348 +- tests/unit/AgmYear.spec.ts | 132 + tests/unit/Amalgamation.spec.ts | 60 + tests/unit/AmalgamationFiling.spec.ts | 61 + tests/unit/AmalgamationSelection.spec.ts | 88 + tests/unit/AnnualReport.spec.ts | 17 +- tests/unit/App.spec.ts | 612 +++- tests/unit/Certify.spec.ts | 5 +- tests/unit/ConfigurationActions.spec.ts | 2 +- tests/unit/ConsentContinuationOut.spec.ts | 2 - tests/unit/Dashboard.spec.ts | 30 +- tests/unit/DateTooltip.spec.ts | 2 +- tests/unit/EntityHeader.spec.ts | 190 +- tests/unit/EntityInfo.spec.ts | 5 +- tests/unit/EntityMenu.spec.ts | 134 +- tests/unit/ExtensionRequest.spec.ts | 352 ++ tests/unit/FilingHistoryList1.spec.ts | 207 +- tests/unit/FilingHistoryList2.spec.ts | 45 +- tests/unit/LegalObligation.spec.ts | 4 + tests/unit/MissingInformation.spec.ts | 2 +- tests/unit/NameRequestInfo.spec.ts | 98 +- tests/unit/NotEligibleExtensionDialog.spec.ts | 41 + .../unit/PaymentPendingOnlineBanking.spec.ts | 29 +- tests/unit/StaffNotation.spec.ts | 102 +- tests/unit/StandaloneDirectorsFiling.spec.ts | 3 +- .../StandaloneOfficeAddressFiling.spec.ts | 3 +- tests/unit/TechnicalErrorDialog.spec.ts | 43 + tests/unit/TodoList1.spec.ts | 224 +- tests/unit/allowable-actions-mixin.spec.ts | 11 + tests/unit/auth-services.spec.ts | 2 +- tests/unit/date-utilities.spec.ts | 190 ++ tests/unit/filings.json | 48 + tests/unit/legal-services.spec.ts | 2 +- tests/unit/pay-services.spec.ts | 17 + tsconfig.json | 2 +- 164 files changed, 10262 insertions(+), 5039 deletions(-) create mode 100644 .devcontainer/devcontainer.json create mode 100644 src/assets/images/bc_wallet_app.png create mode 100644 src/assets/images/bc_wallet_app_store.png create mode 100644 src/assets/images/business_card_feature.png create mode 100644 src/assets/images/business_card_issuance_steps.png create mode 100644 src/components/AgmExtension/AboutTheBusiness.vue create mode 100644 src/components/AgmExtension/AgmExtensionEvaluation.vue create mode 100644 src/components/AgmExtension/AgmExtensionHelp.vue create mode 100644 src/components/AgmExtension/ExtensionRequest.vue create mode 100644 src/components/AgmLocationChange/AgmLocation.vue create mode 100644 src/components/AgmLocationChange/AgmYear.vue create mode 100644 src/components/Dashboard/Alerts/Amalgamation.vue create mode 100644 src/components/Dashboard/FilingHistoryList/filings/AgmExtension.vue create mode 100644 src/components/Dashboard/FilingHistoryList/filings/AmalgamationFiling.vue create mode 100644 src/components/DigitalCredentials/CredentialsDashboard.vue create mode 100644 src/components/DigitalCredentials/CredentialsDetailSteps.vue delete mode 100644 src/components/DigitalCredentials/CredentialsFooter.vue create mode 100644 src/components/DigitalCredentials/CredentialsInfo.vue create mode 100644 src/components/DigitalCredentials/CredentialsMenu.vue create mode 100644 src/components/DigitalCredentials/CredentialsSimpleSteps.vue create mode 100644 src/components/DigitalCredentials/CredentialsStepper.vue create mode 100644 src/components/DigitalCredentials/CredentialsTermsOfUse.vue create mode 100644 src/components/DigitalCredentials/CredentialsWebSocket.vue delete mode 100644 src/components/DigitalCredentials/DigitalWalletDownload.vue delete mode 100644 src/components/DigitalCredentials/IssueCredentials.vue delete mode 100644 src/components/DigitalCredentials/RegisterWallet.vue create mode 100644 src/components/DigitalCredentials/dialogs/ConfirmCredentialsTermsofUseDialog.vue create mode 100644 src/components/DigitalCredentials/dialogs/ConfirmReplaceCredentialDialog.vue create mode 100644 src/components/DigitalCredentials/dialogs/ConfirmRevokeCredentialDialog.vue create mode 100644 src/components/DigitalCredentials/dialogs/CredentialNotReceivedDialog.vue create mode 100644 src/components/DigitalCredentials/dialogs/CredentialRevokedDialog.vue create mode 100644 src/components/DigitalCredentials/dialogs/ReplaceCredentialErrorDialog.vue create mode 100644 src/components/DigitalCredentials/dialogs/RevokeCredentialErrorDialog.vue create mode 100644 src/components/DigitalCredentials/enums/routes.ts create mode 100644 src/components/common/VcardTemplate.vue create mode 100644 src/components/dialogs/NotEligibleExtensionDialog.vue create mode 100644 src/components/dialogs/TechnicalErrorDialog.vue create mode 100644 src/enums/amalgamationEnums.ts create mode 100644 src/interfaces/agm-ext-eval-interface.ts create mode 100644 src/interfaces/amalgamation-interfaces.ts create mode 100644 src/interfaces/authentication-state-interface.ts rename src/interfaces/{business-interfaces.ts => business-state-interfaces.ts} (83%) delete mode 100644 src/interfaces/state-interface.ts create mode 100644 src/views/AmalgamationSelection.vue create mode 100644 tests/unit/AboutTheBusiness.spec.ts create mode 100644 tests/unit/AgmExtensionEvaluation.spec.ts create mode 100644 tests/unit/AgmExtensionHelp.spec.ts create mode 100644 tests/unit/AgmLocation.spec.ts create mode 100644 tests/unit/AgmYear.spec.ts create mode 100644 tests/unit/Amalgamation.spec.ts create mode 100644 tests/unit/AmalgamationFiling.spec.ts create mode 100644 tests/unit/AmalgamationSelection.spec.ts create mode 100644 tests/unit/ExtensionRequest.spec.ts create mode 100644 tests/unit/NotEligibleExtensionDialog.spec.ts create mode 100644 tests/unit/TechnicalErrorDialog.spec.ts create mode 100644 tests/unit/date-utilities.spec.ts diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 000000000..19f7f6833 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,22 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/typescript-node +{ + "name": "Node.js & TypeScript", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/typescript-node:1-20-bullseye" + + // Features to add to the dev container. More info: https://containers.dev/features. + // "features": {}, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Use 'postCreateCommand' to run commands after the container is created. + // "postCreateCommand": "yarn install", + + // Configure tool-specific properties. + // "customizations": {}, + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" +} diff --git a/firebase.json b/firebase.json index 50521685f..0a07be0d6 100644 --- a/firebase.json +++ b/firebase.json @@ -20,7 +20,7 @@ { "key" : "X-XSS-Protection", "value" : "1; mode=block" }, { "key": "Content-Security-Policy", - "value": "default-src 'self'; frame-src 'self' *.gov.bc.ca *.hotjar.com *.googleapis.com https://*.nr-data.net https://*.newrelic.com https://*.cac1.pure.cloud; script-src 'self' 'unsafe-eval' 'unsafe-inline' *.gov.bc.ca *.hotjar.com *.googleapis.com https://*.nr-data.net https://*.newrelic.com https://*.cac1.pure.cloud; style-src 'self' 'unsafe-inline' *.cloudflare.com *.googleapis.com; font-src 'self' *.gov.bc.ca *.hotjar.com *.cloudflare.com *.googleapis.com *.gstatic.com *.jsdelivr.net; img-src 'self' data: *.hotjar.com https://*.cac1.pure.cloud; connect-src 'self' https://*.run.app *.gov.bc.ca *.launchdarkly.com *.hotjar.com *.postescanada-canadapost.ca *.sentry.io *.apigee.net wss://*.hotjar.com *.hotjar.io https://*.nr-data.net https://shyrka-prod-cac1.s3.ca-central-1.amazonaws.com https://*.newrelic.com https://*.cac1.pure.cloud wss://*.cac1.pure.cloud; manifest-src 'self'; media-src 'self' https://*.cac1.pure.cloud; object-src 'self' https://*.cac1.pure.cloud; child-src 'self' https://*.cac1.pure.cloud;" + "value": "default-src 'self'; frame-src 'self' *.gov.bc.ca *.hotjar.com *.googleapis.com https://*.nr-data.net https://*.newrelic.com https://*.cac1.pure.cloud; script-src 'self' 'unsafe-eval' 'unsafe-inline' *.gov.bc.ca *.hotjar.com *.googleapis.com https://*.nr-data.net https://*.newrelic.com https://*.cac1.pure.cloud; style-src 'self' 'unsafe-inline' *.cloudflare.com *.googleapis.com; font-src 'self' *.gov.bc.ca *.hotjar.com *.cloudflare.com *.googleapis.com *.gstatic.com *.jsdelivr.net; img-src 'self' data: *.hotjar.com https://*.cac1.pure.cloud; connect-src 'self' https://*.run.app *.gov.bc.ca wss://*.gov.bc.ca *.launchdarkly.com *.hotjar.com *.postescanada-canadapost.ca *.sentry.io *.apigee.net wss://*.hotjar.com *.hotjar.io https://*.nr-data.net https://shyrka-prod-cac1.s3.ca-central-1.amazonaws.com https://*.newrelic.com https://*.cac1.pure.cloud wss://*.cac1.pure.cloud; manifest-src 'self'; media-src 'self' https://*.cac1.pure.cloud; object-src 'self' https://*.cac1.pure.cloud; child-src 'self' https://*.cac1.pure.cloud;" }, { "key": "Cache-Control", "value": "no-cache, no-store, must-revalidate"}, { "key": "Pragma", "value": "no-cache"}, diff --git a/package-lock.json b/package-lock.json index 91a2e3307..9d1277f28 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,28 +1,30 @@ { "name": "business-filings-ui", - "version": "6.10.0", + "version": "8.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "business-filings-ui", - "version": "6.10.0", + "version": "8.0.0", "dependencies": { "@babel/compat-data": "^7.21.5", - "@bcrs-shared-components/base-address": "2.0.7", + "@bcrs-shared-components/base-address": "2.0.9", "@bcrs-shared-components/breadcrumb": "2.1.11", "@bcrs-shared-components/confirm-dialog": "1.2.1", - "@bcrs-shared-components/corp-type-module": "1.0.11", + "@bcrs-shared-components/corp-type-module": "1.0.14", "@bcrs-shared-components/court-order-poa": "2.1.4", + "@bcrs-shared-components/date-picker": "1.2.39", "@bcrs-shared-components/document-delivery": "1.2.1", - "@bcrs-shared-components/enums": "1.0.50", - "@bcrs-shared-components/expandable-help": "^1.0.0", + "@bcrs-shared-components/enums": "1.1.4", + "@bcrs-shared-components/expandable-help": "1.0.1", "@bcrs-shared-components/folio-number-input": "1.1.18", - "@bcrs-shared-components/interfaces": "1.0.75", - "@bcrs-shared-components/mixins": "1.1.25", + "@bcrs-shared-components/interfaces": "1.1.2", + "@bcrs-shared-components/mixins": "1.1.30", "@bcrs-shared-components/staff-comments": "1.3.11", "@bcrs-shared-components/staff-payment": "2.1.11", "@mdi/font": "^5.9.55", + "@reactivex/rxjs": "^6.6.7", "@sentry/integrations": "^7.50.0", "@sentry/vue": "^7.50.0", "axios": "^0.27.2", @@ -39,6 +41,7 @@ "qrcode.vue": "1.7.0", "regenerator-runtime": "^0.13.11", "register-service-worker": "^1.7.2", + "rxjs": "^7.8.1", "sbc-common-components": "3.0.8", "vue": "2.7.14", "vue-affix": "^0.5.2", @@ -71,7 +74,7 @@ "sass": "^1.55.0", "sinon": "^14.0.2", "typescript": "4.5.5", - "vite": "4.3.9", + "vite": "4.5.2", "vite-plugin-environment": "^1.1.3", "vitest": "0.33.0", "vue-class-component": "^7.2.6", @@ -85,18 +88,16 @@ }, "node_modules/@aashutoshrathi/word-wrap": { "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/@ampproject/remapping": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -107,35 +108,31 @@ }, "node_modules/@babel/code-frame": { "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/highlight": "^7.10.4" } }, "node_modules/@babel/compat-data": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.20.tgz", - "integrity": "sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw==", + "version": "7.23.2", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", @@ -147,9 +144,8 @@ }, "node_modules/@babel/highlight/node_modules/ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -159,9 +155,8 @@ }, "node_modules/@babel/highlight/node_modules/chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -173,42 +168,37 @@ }, "node_modules/@babel/highlight/node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/@babel/highlight/node_modules/color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@babel/highlight/node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/@babel/highlight/node_modules/has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@babel/highlight/node_modules/supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -218,8 +208,7 @@ }, "node_modules/@babel/parser": { "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "license": "MIT", "bin": { "parser": "bin/babel-parser.js" }, @@ -229,16 +218,15 @@ }, "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@bcrs-shared-components/base-address": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@bcrs-shared-components/base-address/-/base-address-2.0.7.tgz", - "integrity": "sha512-8BEklPFUkbXkdWS1p4NItQS+ZRJSh4WppmuJp98iZmR/4EFe+olSjACdEEA0q4X+5uRnoYoYHdrusN1jDM5kIQ==", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@bcrs-shared-components/base-address/-/base-address-2.0.9.tgz", + "integrity": "sha512-0vAFlzWxBLU1Pxv+eDJ1mrHjOfk45jG9wtY1HJ82SyViVK0kvZWI1AOzWaVQ+p/1WU6+60OR8uhyixzUwggAjQ==", "dependencies": { - "@bcrs-shared-components/mixins": "^1.1.25", + "@bcrs-shared-components/mixins": "^1.1.27", "lodash.uniqueid": "^4.0.1", "vue": "^2.7.14", "vuelidate": "0.6.2" @@ -246,8 +234,6 @@ }, "node_modules/@bcrs-shared-components/breadcrumb": { "version": "2.1.11", - "resolved": "https://registry.npmjs.org/@bcrs-shared-components/breadcrumb/-/breadcrumb-2.1.11.tgz", - "integrity": "sha512-p3rxQqchkbbXFIISoXRVQ0fOIzLT4kzxdp+WVrgwVlQAb0SrNEDJC/XNc850mLJUlt/N5uI9debf5+ItQtytlA==", "dependencies": { "@bcrs-shared-components/interfaces": "^1.0.54", "vue-property-decorator": "^9.1.2" @@ -255,80 +241,106 @@ }, "node_modules/@bcrs-shared-components/confirm-dialog": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@bcrs-shared-components/confirm-dialog/-/confirm-dialog-1.2.1.tgz", - "integrity": "sha512-cwCj01zXavyvS/7VQiBFfU5GlZXrSP+A3BJus35xDjYscduTPsszA86+AWKeR6KBmq+GNjSC9RlxsY613ocD7w==", "dependencies": { "vue-property-decorator": "^9.1.2" } }, "node_modules/@bcrs-shared-components/corp-type-module": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@bcrs-shared-components/corp-type-module/-/corp-type-module-1.0.11.tgz", - "integrity": "sha512-+iE3qiySSafiA311m14DuoG9Rq/ranBJNT7Kf7KQ9dJFDNNuTA326pCGwKBeuT1L6pFpGeibXGE+vQ0AYnSPUA==" + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/@bcrs-shared-components/corp-type-module/-/corp-type-module-1.0.14.tgz", + "integrity": "sha512-SZhJw4hpqQT2BL3RuVB0Z1hmShhrv5byhH4gnaF1fVl9jsUGkjC/Ytic08UnEX4DIyR1/VWNyjTclNgxi9+0Bw==" }, "node_modules/@bcrs-shared-components/court-order-poa": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@bcrs-shared-components/court-order-poa/-/court-order-poa-2.1.4.tgz", - "integrity": "sha512-dw2eMvs5DBa7E6WTymgUbLRoeTsr4Zlmx4CzViA4cIU5fePrppoNcP4IGz38ep9FRUoq7zKz8j5lBSJi+U/xAw==", "dependencies": { "@bcrs-shared-components/interfaces": "^1.0.47", "vue-property-decorator": "^9.1.2" } }, + "node_modules/@bcrs-shared-components/date-picker": { + "version": "1.2.39", + "resolved": "https://registry.npmjs.org/@bcrs-shared-components/date-picker/-/date-picker-1.2.39.tgz", + "integrity": "sha512-cVNsEHAXAD7A0bqwAS4PQU47AqvBsnIU2xirnyUmPSEykXlkHzKQaPQFx1Y6q0oJ6a1Lc31/y3/CBs19rE2gow==", + "dependencies": { + "@bcrs-shared-components/interfaces": "^1.1.2", + "@bcrs-shared-components/mixins": "^1.1.30", + "vue": "^2.7.14" + } + }, + "node_modules/@bcrs-shared-components/date-picker/node_modules/@bcrs-shared-components/corp-type-module": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/@bcrs-shared-components/corp-type-module/-/corp-type-module-1.0.14.tgz", + "integrity": "sha512-SZhJw4hpqQT2BL3RuVB0Z1hmShhrv5byhH4gnaF1fVl9jsUGkjC/Ytic08UnEX4DIyR1/VWNyjTclNgxi9+0Bw==" + }, + "node_modules/@bcrs-shared-components/date-picker/node_modules/@bcrs-shared-components/interfaces": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@bcrs-shared-components/interfaces/-/interfaces-1.1.2.tgz", + "integrity": "sha512-MMZISHIbTkQ86PGWmGqo0aLlRjpRVJ1WOP0R99gay4fjpzylPgrNO/aYHWj7nyT0zeIEQ1g/aCW5UaUCIHHm8w==", + "dependencies": { + "@bcrs-shared-components/corp-type-module": "^1.0.14", + "@bcrs-shared-components/enums": "^1.1.2", + "vue": "^2.7.14" + } + }, + "node_modules/@bcrs-shared-components/date-picker/node_modules/@bcrs-shared-components/mixins": { + "version": "1.1.30", + "resolved": "https://registry.npmjs.org/@bcrs-shared-components/mixins/-/mixins-1.1.30.tgz", + "integrity": "sha512-piKdDz93Xv2np32k9Gm2S3HScicOtCctR+yPy5rgo2j9kLM5DoUrXFv8ptHiFoSx55EF+jd5c0lzIXYTIjZaYQ==", + "dependencies": { + "@bcrs-shared-components/enums": "^1.1.2", + "@bcrs-shared-components/interfaces": "^1.1.2", + "country-list": "^2.3.0", + "lodash": "4.17.21", + "provinces": "^1.11.0", + "vue": "^2.7.14" + } + }, "node_modules/@bcrs-shared-components/document-delivery": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@bcrs-shared-components/document-delivery/-/document-delivery-1.2.1.tgz", - "integrity": "sha512-jzbBvhKzgJb1v/+WdFOzqDNU+9yZGxr+YtSd4KC3lsa1qTIBsyIGjY5o323K1hnJdVDoHljWoN0gdBTc6TlBdg==", "dependencies": { "vue-property-decorator": "^9.1.2" } }, "node_modules/@bcrs-shared-components/enums": { - "version": "1.0.50", - "resolved": "https://registry.npmjs.org/@bcrs-shared-components/enums/-/enums-1.0.50.tgz", - "integrity": "sha512-a2FnvCt1Vb0PHdYzPW8oa7+956sUz4lUIzFMvgryJF1T+jop+RK3RM/aEfn2fath8PRWCRs9AqL6PMGTAyNcxw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@bcrs-shared-components/enums/-/enums-1.1.4.tgz", + "integrity": "sha512-EwHjFTfIiOJLzU3yWSPJnxfplF+cgQSPGFE+6T1jo/7aVpLPMw/cSSGi3cJIr3h7SjyQd8wTxsFP4QDVgCrH7A==", "dependencies": { - "@bcrs-shared-components/corp-type-module": "^1.0.13" + "@bcrs-shared-components/corp-type-module": "^1.0.14" } }, - "node_modules/@bcrs-shared-components/enums/node_modules/@bcrs-shared-components/corp-type-module": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/@bcrs-shared-components/corp-type-module/-/corp-type-module-1.0.13.tgz", - "integrity": "sha512-Wa8H/bxo8GAlcG7YdiP4zl1wzqxewiCO0TC+pBaYUc4+eufuInlS3yYFa9MFg8+vIL/pDfamRtXqdg1I6C6QYA==" - }, "node_modules/@bcrs-shared-components/expandable-help": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@bcrs-shared-components/expandable-help/-/expandable-help-1.0.0.tgz", - "integrity": "sha512-UsjE87YDfZqldplKSR6kzdcQUitz+rP4IyWmwy0qxR97xICzdOT3V4e5258QLEuDwcPt8ZudIZvbR5i80vTWJg==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@bcrs-shared-components/expandable-help/-/expandable-help-1.0.1.tgz", + "integrity": "sha512-XhSYX1sSpoBUfCg5AoTe/1fKuOOtxuhhykhefRw8r+j34GK4hTJzeHYaUJBbXD87r2RkdITu3IFS4kA1yZm3OA==", "dependencies": { "vue": "^2.7.14" } }, "node_modules/@bcrs-shared-components/folio-number-input": { "version": "1.1.18", - "resolved": "https://registry.npmjs.org/@bcrs-shared-components/folio-number-input/-/folio-number-input-1.1.18.tgz", - "integrity": "sha512-e1nqsuZTwPIKWHQROnQVw2gOThBPYnRw14F3CRROf5+4yugBBEjvyvAo+s//JnXRTTCSQky5JesQDu6U3LEU6w==", "dependencies": { "@bcrs-shared-components/interfaces": "^1.0.61", "vue-property-decorator": "^9.1.2" } }, "node_modules/@bcrs-shared-components/interfaces": { - "version": "1.0.75", - "resolved": "https://registry.npmjs.org/@bcrs-shared-components/interfaces/-/interfaces-1.0.75.tgz", - "integrity": "sha512-duTiywSNipho1mfdJGj8K+r5MgsNMU06rP5T9wIVPhtUsq/u+8QTRIqr6JD565kFbSvWGFo/HZhqtpVaAmp6/w==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@bcrs-shared-components/interfaces/-/interfaces-1.1.2.tgz", + "integrity": "sha512-MMZISHIbTkQ86PGWmGqo0aLlRjpRVJ1WOP0R99gay4fjpzylPgrNO/aYHWj7nyT0zeIEQ1g/aCW5UaUCIHHm8w==", "dependencies": { - "@bcrs-shared-components/enums": "^1.0.50", + "@bcrs-shared-components/corp-type-module": "^1.0.14", + "@bcrs-shared-components/enums": "^1.1.2", "vue": "^2.7.14" } }, "node_modules/@bcrs-shared-components/mixins": { - "version": "1.1.25", - "resolved": "https://registry.npmjs.org/@bcrs-shared-components/mixins/-/mixins-1.1.25.tgz", - "integrity": "sha512-GGA75o+O+IlUJPDlGQPtYIIIYpYps7KBULEED0SISLZw/kuM4tT6/TeIvDSdvNNxWo7KyDQQnq2R7Sq5nRZuoQ==", + "version": "1.1.30", + "resolved": "https://registry.npmjs.org/@bcrs-shared-components/mixins/-/mixins-1.1.30.tgz", + "integrity": "sha512-piKdDz93Xv2np32k9Gm2S3HScicOtCctR+yPy5rgo2j9kLM5DoUrXFv8ptHiFoSx55EF+jd5c0lzIXYTIjZaYQ==", "dependencies": { - "@bcrs-shared-components/enums": "^1.0.50", - "@bcrs-shared-components/interfaces": "^1.0.75", + "@bcrs-shared-components/enums": "^1.1.2", + "@bcrs-shared-components/interfaces": "^1.1.2", "country-list": "^2.3.0", "lodash": "4.17.21", "provinces": "^1.11.0", @@ -337,8 +349,6 @@ }, "node_modules/@bcrs-shared-components/staff-comments": { "version": "1.3.11", - "resolved": "https://registry.npmjs.org/@bcrs-shared-components/staff-comments/-/staff-comments-1.3.11.tgz", - "integrity": "sha512-ZncZwiWV4j+siL4Z73mXVkdqCvBMVpqAA5RQBwTry9OlygCFGNPpHNbCkyEkquuTG0kEgz29t4W9wyJqNI1qfQ==", "dependencies": { "@bcrs-shared-components/interfaces": "^1.0.54", "vue-property-decorator": "^9.1.2" @@ -346,8 +356,6 @@ }, "node_modules/@bcrs-shared-components/staff-payment": { "version": "2.1.11", - "resolved": "https://registry.npmjs.org/@bcrs-shared-components/staff-payment/-/staff-payment-2.1.11.tgz", - "integrity": "sha512-n/KpfyvsfU0C7FeRIg/BIKNZR8nq9qFP/cujNfpgcPIpDEnUPeeHEVvgcPHiTOqa/c+/9L+bIppbMvlPPvg5yg==", "dependencies": { "@bcrs-shared-components/enums": "^1.0.33", "@bcrs-shared-components/folio-number-input": "^1.1.11", @@ -356,9 +364,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", - "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", "cpu": [ "arm" ], @@ -372,9 +380,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", - "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", "cpu": [ "arm64" ], @@ -388,9 +396,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", - "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", "cpu": [ "x64" ], @@ -404,9 +412,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", - "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", "cpu": [ "arm64" ], @@ -420,9 +428,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", - "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", "cpu": [ "x64" ], @@ -436,9 +444,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", - "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", "cpu": [ "arm64" ], @@ -452,9 +460,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", - "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", "cpu": [ "x64" ], @@ -468,9 +476,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", - "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", "cpu": [ "arm" ], @@ -484,9 +492,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", - "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", "cpu": [ "arm64" ], @@ -500,9 +508,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", - "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", "cpu": [ "ia32" ], @@ -516,9 +524,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", - "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", "cpu": [ "loong64" ], @@ -532,9 +540,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", - "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", "cpu": [ "mips64el" ], @@ -548,9 +556,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", - "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", "cpu": [ "ppc64" ], @@ -564,9 +572,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", - "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", "cpu": [ "riscv64" ], @@ -580,9 +588,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", - "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", "cpu": [ "s390x" ], @@ -596,9 +604,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", - "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", "cpu": [ "x64" ], @@ -612,9 +620,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", - "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", "cpu": [ "x64" ], @@ -628,9 +636,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", - "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", "cpu": [ "x64" ], @@ -644,9 +652,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", - "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", "cpu": [ "x64" ], @@ -660,9 +668,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", - "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", "cpu": [ "arm64" ], @@ -676,9 +684,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", - "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", "cpu": [ "ia32" ], @@ -692,9 +700,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", - "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", "cpu": [ "x64" ], @@ -709,9 +717,8 @@ }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, + "license": "MIT", "dependencies": { "eslint-visitor-keys": "^3.3.0" }, @@ -723,19 +730,17 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.0.tgz", - "integrity": "sha512-zJmuCWj2VLBt4c25CfBIbMZLGLyhkvs7LznyVX5HfpzeocThgIj5XQK4L+g3U36mMcx8bPMhGyPpwCATamC4jQ==", + "version": "4.10.0", "dev": true, + "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/eslintrc": { "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", "dev": true, + "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.1.1", @@ -753,27 +758,24 @@ }, "node_modules/@eslint/eslintrc/node_modules/ignore": { "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/@eslint/js": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz", - "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==", + "version": "8.52.0", "dev": true, + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@humanwhocodes/config-array": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@humanwhocodes/object-schema": "^1.2.0", "debug": "^4.1.1", @@ -785,9 +787,8 @@ }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=12.22" }, @@ -798,24 +799,21 @@ }, "node_modules/@humanwhocodes/object-schema": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@jest/schemas": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, + "license": "MIT", "dependencies": { "@sinclair/typebox": "^0.27.8" }, @@ -825,9 +823,8 @@ }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -839,92 +836,42 @@ }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/set-array": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", - "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "version": "0.3.20", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@mapbox/node-pre-gyp": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", - "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", - "optional": true, - "dependencies": { - "detect-libc": "^2.0.0", - "https-proxy-agent": "^5.0.0", - "make-dir": "^3.1.0", - "node-fetch": "^2.6.7", - "nopt": "^5.0.0", - "npmlog": "^5.0.1", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.11" - }, - "bin": { - "node-pre-gyp": "bin/node-pre-gyp" - } - }, - "node_modules/@mapbox/node-pre-gyp/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "optional": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@mapbox/node-pre-gyp/node_modules/make-dir/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "optional": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@mdi/font": { "version": "5.9.55", - "resolved": "https://registry.npmjs.org/@mdi/font/-/font-5.9.55.tgz", - "integrity": "sha512-jswRF6q3eq8NWpWiqct6q+6Fg/I7nUhrxYJfiEM8JJpap0wVJLQdbKtyS65GdlK7S7Ytnx3TTi/bmw+tBhkGmg==" + "license": "Apache-2.0" }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -935,18 +882,16 @@ }, "node_modules/@nodelib/fs.stat": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/@nodelib/fs.walk": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -957,15 +902,13 @@ }, "node_modules/@one-ini/wasm": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz", - "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@pinia/testing": { "version": "0.0.16", - "resolved": "https://registry.npmjs.org/@pinia/testing/-/testing-0.0.16.tgz", - "integrity": "sha512-oa5kO82hzWekqMq1HTnS/b+ZM+ZKEcEApuuCTelvKK79jTxg7P026Qw8/2RbVn5eUGAvRWQu4ubObrshVqCRjQ==", "dev": true, + "license": "MIT", "dependencies": { "vue-demi": "*" }, @@ -978,10 +921,9 @@ }, "node_modules/@pinia/testing/node_modules/vue-demi": { "version": "0.14.6", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", - "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", "dev": true, "hasInstallScript": true, + "license": "MIT", "bin": { "vue-demi-fix": "bin/vue-demi-fix.js", "vue-demi-switch": "bin/vue-demi-switch.js" @@ -1002,106 +944,104 @@ } } }, + "node_modules/@reactivex/rxjs": { + "version": "6.6.7", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, "node_modules/@sentry-internal/tracing": { - "version": "7.72.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.72.0.tgz", - "integrity": "sha512-DToryaRSHk9R5RLgN4ktYEXZjQdqncOAWPqyyIurji8lIobXFRfmLtGL1wjoCK6sQNgWsjhSM9kXxwGnva1DNw==", + "version": "7.77.0", + "license": "MIT", "dependencies": { - "@sentry/core": "7.72.0", - "@sentry/types": "7.72.0", - "@sentry/utils": "7.72.0", - "tslib": "^2.4.1 || ^1.9.3" + "@sentry/core": "7.77.0", + "@sentry/types": "7.77.0", + "@sentry/utils": "7.77.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/browser": { - "version": "7.72.0", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.72.0.tgz", - "integrity": "sha512-fcFDTzqhPd3VZAmmYW3KvBTBaEfrKjPmRhlAsfhkGWYLCHqVkNtzsFER4cmUNRGNxjyt9tcG3WlTTqgLRucycQ==", + "version": "7.77.0", + "license": "MIT", "dependencies": { - "@sentry-internal/tracing": "7.72.0", - "@sentry/core": "7.72.0", - "@sentry/replay": "7.72.0", - "@sentry/types": "7.72.0", - "@sentry/utils": "7.72.0", - "tslib": "^2.4.1 || ^1.9.3" + "@sentry-internal/tracing": "7.77.0", + "@sentry/core": "7.77.0", + "@sentry/replay": "7.77.0", + "@sentry/types": "7.77.0", + "@sentry/utils": "7.77.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/core": { - "version": "7.72.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.72.0.tgz", - "integrity": "sha512-G03JdQ5ZsFNRjcNNi+QvCjqOuBvYqU92Gs1T2iK3GE8dSBTu2khThydMpG4xrKZQLIpHOyiIhlFZiuPtZ66W8w==", + "version": "7.77.0", + "license": "MIT", "dependencies": { - "@sentry/types": "7.72.0", - "@sentry/utils": "7.72.0", - "tslib": "^2.4.1 || ^1.9.3" + "@sentry/types": "7.77.0", + "@sentry/utils": "7.77.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/integrations": { - "version": "7.72.0", - "resolved": "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.72.0.tgz", - "integrity": "sha512-ay2WgLtjsr0WS8+N7i7VmKzondoZRh3ISx8rb91LjmVrDNu8baleZAB59jkKe/JSy0gYh99umJuptc2te/65+A==", + "version": "7.77.0", + "license": "MIT", "dependencies": { - "@sentry/types": "7.72.0", - "@sentry/utils": "7.72.0", - "localforage": "^1.8.1", - "tslib": "^2.4.1 || ^1.9.3" + "@sentry/core": "7.77.0", + "@sentry/types": "7.77.0", + "@sentry/utils": "7.77.0", + "localforage": "^1.8.1" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/replay": { - "version": "7.72.0", - "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.72.0.tgz", - "integrity": "sha512-dHH/mYCFBwJ/kYmL9L5KihjwQKcefiuvcH0otHSwKSpbbeEoM/BV+SHQoYGd6OMSYnL9fq1dHfF7Zo26p5Yu0Q==", + "version": "7.77.0", + "license": "MIT", "dependencies": { - "@sentry/core": "7.72.0", - "@sentry/types": "7.72.0", - "@sentry/utils": "7.72.0" + "@sentry-internal/tracing": "7.77.0", + "@sentry/core": "7.77.0", + "@sentry/types": "7.77.0", + "@sentry/utils": "7.77.0" }, "engines": { "node": ">=12" } }, "node_modules/@sentry/types": { - "version": "7.72.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.72.0.tgz", - "integrity": "sha512-g6u0mk62yGshx02rfFADIfyR/S9VXcf3RG2qQPuvykrWtOfN/BOTrZypF7I+MiqKwRW76r3Pcu2C/AB+6z9XQA==", + "version": "7.77.0", + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@sentry/utils": { - "version": "7.72.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.72.0.tgz", - "integrity": "sha512-o/MtqI7WJXuswidH0bSgBP40KN2lrnyQEIx5uoyJUJi/QEaboIsqbxU62vaFJpde8SYrbA+rTnP3J3ujF2gUag==", + "version": "7.77.0", + "license": "MIT", "dependencies": { - "@sentry/types": "7.72.0", - "tslib": "^2.4.1 || ^1.9.3" + "@sentry/types": "7.77.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/vue": { - "version": "7.72.0", - "resolved": "https://registry.npmjs.org/@sentry/vue/-/vue-7.72.0.tgz", - "integrity": "sha512-XTJK7C8WH370jBhXzKwPS3TgG5w5tT+qW25IQ+ypyBv4vclcaKeeGMlIehuH2n3hVI9ut/f4Wjj1EwCrQE4ORw==", + "version": "7.77.0", + "license": "MIT", "dependencies": { - "@sentry/browser": "7.72.0", - "@sentry/core": "7.72.0", - "@sentry/types": "7.72.0", - "@sentry/utils": "7.72.0", - "tslib": "^2.4.1 || ^1.9.3" + "@sentry/browser": "7.77.0", + "@sentry/core": "7.77.0", + "@sentry/types": "7.77.0", + "@sentry/utils": "7.77.0" }, "engines": { "node": ">=8" @@ -1112,42 +1052,37 @@ }, "node_modules/@sinclair/typebox": { "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@sinonjs/commons": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } }, "node_modules/@sinonjs/fake-timers": { "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", - "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^1.7.0" } }, "node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": { "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } }, "node_modules/@sinonjs/samsam": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-7.0.1.tgz", - "integrity": "sha512-zsAk2Jkiq89mhZovB2LLOdTCxJF4hqqTToGP0ASWlhp4I1hqOjcfmZGafXntCN7MDC6yySH0mFHrYtHceOeLmw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^2.0.0", "lodash.get": "^4.4.2", @@ -1156,108 +1091,96 @@ }, "node_modules/@sinonjs/text-encoding": { "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", - "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", - "dev": true + "dev": true, + "license": "(Unlicense OR Apache-2.0)" }, "node_modules/@tootallnate/once": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10" } }, "node_modules/@types/chai": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.6.tgz", - "integrity": "sha512-VOVRLM1mBxIRxydiViqPcKn6MIxZytrbMpd6RJLIWKxUNr3zux8no0Oc7kJx0WAPIitgZ0gkrDS+btlqQpubpw==", - "dev": true + "version": "4.3.9", + "dev": true, + "license": "MIT" }, "node_modules/@types/chai-subset": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@types/chai-subset/-/chai-subset-1.3.3.tgz", - "integrity": "sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==", + "version": "1.3.4", "dev": true, + "license": "MIT", "dependencies": { "@types/chai": "*" } }, "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true + "version": "2.0.5", + "dev": true, + "license": "MIT" }, "node_modules/@types/json-schema": { - "version": "7.0.13", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", - "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==", - "dev": true + "version": "7.0.14", + "dev": true, + "license": "MIT" }, "node_modules/@types/json5": { "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/lodash": { - "version": "4.14.199", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.199.tgz", - "integrity": "sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg==", - "dev": true + "version": "4.14.200", + "dev": true, + "license": "MIT" }, "node_modules/@types/node": { - "version": "20.7.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.7.1.tgz", - "integrity": "sha512-LT+OIXpp2kj4E2S/p91BMe+VgGX2+lfO+XTpfXhh+bCk2LkQtHZSub8ewFBMGP5ClysPjTDFa4sMI8Q3n4T0wg==", - "dev": true + "version": "20.8.10", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } }, "node_modules/@types/semver": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==", - "dev": true + "version": "7.5.4", + "dev": true, + "license": "MIT" }, "node_modules/@types/sinon": { - "version": "10.0.17", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.17.tgz", - "integrity": "sha512-+6ILpcixQ0Ma3dHMTLv4rSycbDXkDljgKL+E0nI2RUxxhYTFyPSjt6RVMxh7jUshvyVcBvicb0Ktj+lAJcjgeA==", + "version": "10.0.20", "dev": true, + "license": "MIT", "dependencies": { "@types/sinonjs__fake-timers": "*" } }, "node_modules/@types/sinonjs__fake-timers": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.3.tgz", - "integrity": "sha512-4g+2YyWe0Ve+LBh+WUm1697PD0Kdi6coG1eU0YjQbwx61AZ8XbEpL1zIT6WjuUKrCMCROpEaYQPDjBnDouBVAQ==", - "dev": true + "version": "8.1.4", + "dev": true, + "license": "MIT" }, "node_modules/@types/vue-the-mask": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/@types/vue-the-mask/-/vue-the-mask-0.11.2.tgz", - "integrity": "sha512-8XXSMyic/jLMJspzSkxILpF6P2p+lkp2T9DH/MyW/AlKuTDv6uWkObfwLM0lMiOzmYeQgM6clWHF4SRoDKrV8Q==", + "version": "0.11.4", "dev": true, + "license": "MIT", "dependencies": { "vue": "^2.6.10" } }, "node_modules/@types/vuelidate": { - "version": "0.7.19", - "resolved": "https://registry.npmjs.org/@types/vuelidate/-/vuelidate-0.7.19.tgz", - "integrity": "sha512-fXVthNVCuWurszolIxi5CML9jbwXDq1ZwYgt0aQR8zBZ0UjcFcn8oyQie4zykjBAiyzExlEoGktzYy0/xc5BlA==", + "version": "0.7.20", "dev": true, + "license": "MIT", "dependencies": { "vue": "^2.6.11" } }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.4.0", "@typescript-eslint/scope-manager": "5.62.0", @@ -1289,9 +1212,8 @@ }, "node_modules/@typescript-eslint/parser": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/scope-manager": "5.62.0", "@typescript-eslint/types": "5.62.0", @@ -1316,9 +1238,8 @@ }, "node_modules/@typescript-eslint/scope-manager": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/types": "5.62.0", "@typescript-eslint/visitor-keys": "5.62.0" @@ -1333,9 +1254,8 @@ }, "node_modules/@typescript-eslint/type-utils": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/typescript-estree": "5.62.0", "@typescript-eslint/utils": "5.62.0", @@ -1360,9 +1280,8 @@ }, "node_modules/@typescript-eslint/types": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "dev": true, + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -1373,9 +1292,8 @@ }, "node_modules/@typescript-eslint/typescript-estree": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/types": "5.62.0", "@typescript-eslint/visitor-keys": "5.62.0", @@ -1400,9 +1318,8 @@ }, "node_modules/@typescript-eslint/utils": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", @@ -1426,9 +1343,8 @@ }, "node_modules/@typescript-eslint/visitor-keys": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/types": "5.62.0", "eslint-visitor-keys": "^3.3.0" @@ -1441,11 +1357,15 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "dev": true, + "license": "ISC" + }, "node_modules/@vitejs/plugin-vue2": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue2/-/plugin-vue2-2.2.0.tgz", - "integrity": "sha512-1km7zEuZ/9QRPvzXSjikbTYGQPG86Mq1baktpC4sXqsXlb02HQKfi+fl8qVS703JM7cgm24Ga9j+RwKmvFn90A==", "dev": true, + "license": "MIT", "engines": { "node": "^14.18.0 || >= 16.0.0" }, @@ -1455,10 +1375,9 @@ } }, "node_modules/@vitest/coverage-v8": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-0.34.5.tgz", - "integrity": "sha512-97xjhRTSdmeeHCm2nNHhT3hLsMYkAhHXm/rwj6SZ3voka8xiCJrwgtfIjoZIFEL4OO0KezGmVuHWQXcMunULIA==", + "version": "0.34.6", "dev": true, + "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.1", "@bcoe/v8-coverage": "^0.2.3", @@ -1481,9 +1400,8 @@ }, "node_modules/@vitest/expect": { "version": "0.33.0", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.33.0.tgz", - "integrity": "sha512-sVNf+Gla3mhTCxNJx+wJLDPp/WcstOe0Ksqz4Vec51MmgMth/ia0MGFEkIZmVGeTL5HtjYR4Wl/ZxBxBXZJTzQ==", "dev": true, + "license": "MIT", "dependencies": { "@vitest/spy": "0.33.0", "@vitest/utils": "0.33.0", @@ -1495,9 +1413,8 @@ }, "node_modules/@vitest/runner": { "version": "0.33.0", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.33.0.tgz", - "integrity": "sha512-UPfACnmCB6HKRHTlcgCoBh6ppl6fDn+J/xR8dTufWiKt/74Y9bHci5CKB8tESSV82zKYtkBJo9whU3mNvfaisg==", "dev": true, + "license": "MIT", "dependencies": { "@vitest/utils": "0.33.0", "p-limit": "^4.0.0", @@ -1509,9 +1426,8 @@ }, "node_modules/@vitest/snapshot": { "version": "0.33.0", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-0.33.0.tgz", - "integrity": "sha512-tJjrl//qAHbyHajpFvr8Wsk8DIOODEebTu7pgBrP07iOepR5jYkLFiqLq2Ltxv+r0uptUb4izv1J8XBOwKkVYA==", "dev": true, + "license": "MIT", "dependencies": { "magic-string": "^0.30.1", "pathe": "^1.1.1", @@ -1523,9 +1439,8 @@ }, "node_modules/@vitest/spy": { "version": "0.33.0", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.33.0.tgz", - "integrity": "sha512-Kv+yZ4hnH1WdiAkPUQTpRxW8kGtH8VRTnus7ZTGovFYM1ZezJpvGtb9nPIjPnptHbsyIAxYZsEpVPYgtpjGnrg==", "dev": true, + "license": "MIT", "dependencies": { "tinyspy": "^2.1.1" }, @@ -1535,9 +1450,8 @@ }, "node_modules/@vitest/utils": { "version": "0.33.0", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.33.0.tgz", - "integrity": "sha512-pF1w22ic965sv+EN6uoePkAOTkAPWM03Ri/jXNyMIKBb/XHLDPfhLvf/Fa9g0YECevAIz56oVYXhodLvLQ/awA==", "dev": true, + "license": "MIT", "dependencies": { "diff-sequences": "^29.4.3", "loupe": "^2.3.6", @@ -1568,14 +1482,11 @@ }, "node_modules/@vscode/l10n": { "version": "0.0.16", - "resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.16.tgz", - "integrity": "sha512-JT5CvrIYYCrmB+dCana8sUqJEcGB1ZDXNLMQ2+42bW995WmNoenijWMUdZfwmuQUTQcEVVIa2OecZzTYWUW9Cg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@vue/compiler-sfc": { "version": "2.7.14", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.14.tgz", - "integrity": "sha512-aNmNHyLPsw+sVvlQFQ2/8sjNuLtK54TC6cuKnVzAY93ks4ZBrvwQSnkkIh7bsbNhum5hJBS00wSDipQ937f5DA==", "dependencies": { "@babel/parser": "^7.18.4", "postcss": "^8.4.14", @@ -1583,15 +1494,13 @@ } }, "node_modules/@vue/devtools-api": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz", - "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==" + "version": "6.5.1", + "license": "MIT" }, "node_modules/@vue/eslint-config-standard": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@vue/eslint-config-standard/-/eslint-config-standard-4.0.0.tgz", - "integrity": "sha512-bQghq1cw1BuMRHNhr3tRpAJx1tpGy0QtajQX873kLtA9YVuOIoXR7nAWnTN09bBHnSUh2N288vMsqPi2fI4Hzg==", "dev": true, + "license": "MIT", "dependencies": { "eslint-config-standard": "^12.0.0", "eslint-plugin-import": "^2.14.0", @@ -1602,9 +1511,8 @@ }, "node_modules/@vue/eslint-config-typescript": { "version": "9.1.0", - "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-9.1.0.tgz", - "integrity": "sha512-j/852/ZYQ5wDvCD3HE2q4uqJwJAceer2FwoEch1nFo+zTOsPrbzbE3cuWIs3kvu5hdFsGTMYwRwjI6fqZKDMxQ==", "dev": true, + "license": "MIT", "dependencies": { "vue-eslint-parser": "^8.0.0" }, @@ -1620,9 +1528,8 @@ }, "node_modules/@vue/test-utils": { "version": "1.3.6", - "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-1.3.6.tgz", - "integrity": "sha512-udMmmF1ts3zwxUJEIAj5ziioR900reDrt6C9H3XpWPsLBx2lpHKoA4BTdd9HNIYbkGltWw+JjWJ+5O6QBwiyEw==", "dev": true, + "license": "MIT", "dependencies": { "dom-event-types": "^1.0.0", "lodash": "^4.17.15", @@ -1635,21 +1542,18 @@ }, "node_modules/abab": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/abbrev": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "devOptional": true + "dev": true, + "license": "ISC" }, "node_modules/acorn": { "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -1659,27 +1563,24 @@ }, "node_modules/acorn-jsx": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, + "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "version": "8.3.0", "dev": true, + "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/agent-base": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "devOptional": true, + "dev": true, + "license": "MIT", "dependencies": { "debug": "4" }, @@ -1689,9 +1590,8 @@ }, "node_modules/ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -1705,27 +1605,24 @@ }, "node_modules/ansi-colors": { "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/ansi-regex": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "devOptional": true, + "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -1738,9 +1635,8 @@ }, "node_modules/anymatch": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, + "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -1749,39 +1645,18 @@ "node": ">= 8" } }, - "node_modules/aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "optional": true - }, - "node_modules/are-we-there-yet": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", - "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", - "optional": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/argparse": { "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, + "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } }, "node_modules/array-buffer-byte-length": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "is-array-buffer": "^3.0.1" @@ -1792,9 +1667,8 @@ }, "node_modules/array-includes": { "version": "3.1.7", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", - "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -1811,18 +1685,16 @@ }, "node_modules/array-union": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/array.prototype.findlastindex": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", - "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -1839,9 +1711,8 @@ }, "node_modules/array.prototype.flat": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", - "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -1857,9 +1728,8 @@ }, "node_modules/array.prototype.flatmap": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", - "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -1875,9 +1745,8 @@ }, "node_modules/arraybuffer.prototype.slice": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", - "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", "dev": true, + "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.0", "call-bind": "^1.0.2", @@ -1896,32 +1765,28 @@ }, "node_modules/assertion-error": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", "dev": true, + "license": "MIT", "engines": { "node": "*" } }, "node_modules/astral-regex": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/asynckit": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "license": "MIT" }, "node_modules/available-typed-arrays": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -1931,8 +1796,7 @@ }, "node_modules/axios": { "version": "0.27.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", - "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "license": "MIT", "dependencies": { "follow-redirects": "^1.14.9", "form-data": "^4.0.0" @@ -1940,14 +1804,11 @@ }, "node_modules/balanced-match": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "devOptional": true + "dev": true, + "license": "MIT" }, "node_modules/base64-js": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "funding": [ { "type": "github", @@ -1961,28 +1822,26 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/binary-extensions": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/boolbase": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "devOptional": true, + "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -1990,9 +1849,8 @@ }, "node_modules/braces": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, + "license": "MIT", "dependencies": { "fill-range": "^7.0.1" }, @@ -2002,30 +1860,28 @@ }, "node_modules/builtin-modules": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/cac": { "version": "6.7.14", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", - "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "version": "1.0.5", "dev": true, + "license": "MIT", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -2033,33 +1889,16 @@ }, "node_modules/callsites": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/canvas": { - "version": "2.11.2", - "resolved": "https://registry.npmjs.org/canvas/-/canvas-2.11.2.tgz", - "integrity": "sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==", - "hasInstallScript": true, - "optional": true, - "dependencies": { - "@mapbox/node-pre-gyp": "^1.0.0", - "nan": "^2.17.0", - "simple-get": "^3.0.3" - }, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/chai": { "version": "4.3.10", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", - "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", "dev": true, + "license": "MIT", "dependencies": { "assertion-error": "^1.1.0", "check-error": "^1.0.3", @@ -2075,9 +1914,8 @@ }, "node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -2091,18 +1929,16 @@ }, "node_modules/character-parser": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz", - "integrity": "sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw==", "dev": true, + "license": "MIT", "dependencies": { "is-regex": "^1.0.3" } }, "node_modules/check-error": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", "dev": true, + "license": "MIT", "dependencies": { "get-func-name": "^2.0.2" }, @@ -2112,8 +1948,6 @@ }, "node_modules/chokidar": { "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, "funding": [ { @@ -2121,6 +1955,7 @@ "url": "https://paulmillr.com/funding/" } ], + "license": "MIT", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -2137,25 +1972,14 @@ "fsevents": "~2.3.2" } }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "optional": true, - "engines": { - "node": ">=10" - } - }, "node_modules/clickout-event": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/clickout-event/-/clickout-event-1.1.2.tgz", - "integrity": "sha512-oGb80mX872OcwV5Rfz6khuolsi3cJHLGHmJ+Tvw9w6J3MejH5StPfFma+Z3rPhNZ+vCXnAo+GLBl09bfxCLaSQ==" + "license": "MIT" }, "node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -2165,23 +1989,12 @@ }, "node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "optional": true, - "bin": { - "color-support": "bin.js" - } + "dev": true, + "license": "MIT" }, "node_modules/combined-stream": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" }, @@ -2191,24 +2004,21 @@ }, "node_modules/commander": { "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true, + "license": "MIT", "engines": { "node": ">=14" } }, "node_modules/concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "devOptional": true + "dev": true, + "license": "MIT" }, "node_modules/condense-newlines": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/condense-newlines/-/condense-newlines-0.2.1.tgz", - "integrity": "sha512-P7X+QL9Hb9B/c8HI5BFFKmjgBu2XpQuF98WZ9XkO+dBGgk5XgwiQz7o1SmpglNWId3581UcS0SFAWfoIhMHPfg==", "dev": true, + "license": "MIT", "dependencies": { "extend-shallow": "^2.0.1", "is-whitespace": "^0.3.0", @@ -2220,31 +2030,22 @@ }, "node_modules/config-chain": { "version": "1.1.13", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", - "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", "dev": true, + "license": "MIT", "dependencies": { "ini": "^1.3.4", "proto-list": "~1.2.1" } }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "optional": true - }, "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true + "version": "2.0.0", + "dev": true, + "license": "MIT" }, "node_modules/core-js": { - "version": "3.32.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.32.2.tgz", - "integrity": "sha512-pxXSw1mYZPDGvTQqEc5vgIb83jGQKFGYWY76z4a7weZXUolw3G+OvpZqSRcfYOoOVUQJYEPsWeQK8pKEnUtWxQ==", + "version": "3.33.2", "hasInstallScript": true, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" @@ -2252,14 +2053,12 @@ }, "node_modules/country-list": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/country-list/-/country-list-2.3.0.tgz", - "integrity": "sha512-qZk66RlmQm7fQjMYWku1AyjlKPogjPEorAZJG88owPExoPV8EsyCcuFLvO2afTXHEhi9liVOoyd+5A6ZS5QwaA==" + "license": "MIT" }, "node_modules/cross-spawn": { "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -2271,9 +2070,8 @@ }, "node_modules/cssesc": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true, + "license": "MIT", "bin": { "cssesc": "bin/cssesc" }, @@ -2283,9 +2081,8 @@ }, "node_modules/cssstyle": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-3.0.0.tgz", - "integrity": "sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==", "dev": true, + "license": "MIT", "dependencies": { "rrweb-cssom": "^0.6.0" }, @@ -2295,14 +2092,12 @@ }, "node_modules/csstype": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + "license": "MIT" }, "node_modules/data-urls": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-4.0.0.tgz", - "integrity": "sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==", "dev": true, + "license": "MIT", "dependencies": { "abab": "^2.0.6", "whatwg-mimetype": "^3.0.0", @@ -2314,16 +2109,14 @@ }, "node_modules/de-indent": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", - "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/debug": { "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "devOptional": true, + "dev": true, + "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -2338,27 +2131,13 @@ }, "node_modules/decimal.js": { "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", - "dev": true - }, - "node_modules/decompress-response": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", - "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", - "optional": true, - "dependencies": { - "mimic-response": "^2.0.0" - }, - "engines": { - "node": ">=8" - } + "dev": true, + "license": "MIT" }, "node_modules/deep-eql": { "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", "dev": true, + "license": "MIT", "dependencies": { "type-detect": "^4.0.0" }, @@ -2368,15 +2147,13 @@ }, "node_modules/deep-is": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/define-data-property": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.0.tgz", - "integrity": "sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==", + "version": "1.1.1", "dev": true, + "license": "MIT", "dependencies": { "get-intrinsic": "^1.2.1", "gopd": "^1.0.1", @@ -2388,9 +2165,8 @@ }, "node_modules/define-properties": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, + "license": "MIT", "dependencies": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", @@ -2405,50 +2181,31 @@ }, "node_modules/delayed-stream": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", "engines": { "node": ">=0.4.0" } }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "optional": true - }, - "node_modules/detect-libc": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", - "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", - "optional": true, - "engines": { - "node": ">=8" - } - }, "node_modules/diff": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } }, "node_modules/diff-sequences": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/dir-glob": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, + "license": "MIT", "dependencies": { "path-type": "^4.0.0" }, @@ -2458,9 +2215,8 @@ }, "node_modules/doctrine": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -2470,15 +2226,13 @@ }, "node_modules/dom-event-types": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/dom-event-types/-/dom-event-types-1.1.0.tgz", - "integrity": "sha512-jNCX+uNJ3v38BKvPbpki6j5ItVlnSqVV6vDWGS6rExzCMjsc39frLjm1n91o6YaKK6AZl0wLloItW6C6mr61BQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/domexception": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", - "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", "dev": true, + "license": "MIT", "dependencies": { "webidl-conversions": "^7.0.0" }, @@ -2488,9 +2242,8 @@ }, "node_modules/editorconfig": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz", - "integrity": "sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==", "dev": true, + "license": "MIT", "dependencies": { "@one-ini/wasm": "0.1.1", "commander": "^10.0.0", @@ -2506,18 +2259,16 @@ }, "node_modules/editorconfig/node_modules/brace-expansion": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/editorconfig/node_modules/minimatch": { "version": "9.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", - "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -2530,15 +2281,13 @@ }, "node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "devOptional": true + "dev": true, + "license": "MIT" }, "node_modules/enquirer": { "version": "2.4.1", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", - "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-colors": "^4.1.1", "strip-ansi": "^6.0.1" @@ -2549,9 +2298,8 @@ }, "node_modules/entities": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=0.12" }, @@ -2560,26 +2308,25 @@ } }, "node_modules/es-abstract": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.2.tgz", - "integrity": "sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==", + "version": "1.22.3", "dev": true, + "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.0", "arraybuffer.prototype.slice": "^1.0.2", "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "call-bind": "^1.0.5", "es-set-tostringtag": "^2.0.1", "es-to-primitive": "^1.2.1", "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.1", + "get-intrinsic": "^1.2.2", "get-symbol-description": "^1.0.0", "globalthis": "^1.0.3", "gopd": "^1.0.1", - "has": "^1.0.3", "has-property-descriptors": "^1.0.0", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", + "hasown": "^2.0.0", "internal-slot": "^1.0.5", "is-array-buffer": "^3.0.2", "is-callable": "^1.2.7", @@ -2589,7 +2336,7 @@ "is-string": "^1.0.7", "is-typed-array": "^1.1.12", "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", + "object-inspect": "^1.13.1", "object-keys": "^1.1.1", "object.assign": "^4.1.4", "regexp.prototype.flags": "^1.5.1", @@ -2603,7 +2350,7 @@ "typed-array-byte-offset": "^1.0.0", "typed-array-length": "^1.0.4", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.11" + "which-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -2613,33 +2360,30 @@ } }, "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "version": "2.0.2", "dev": true, + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" }, "engines": { "node": ">= 0.4" } }, "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "version": "1.0.2", "dev": true, + "license": "MIT", "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.0" } }, "node_modules/es-to-primitive": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, + "license": "MIT", "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -2653,9 +2397,9 @@ } }, "node_modules/esbuild": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", - "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", "dev": true, "hasInstallScript": true, "bin": { @@ -2665,34 +2409,33 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/android-arm": "0.17.19", - "@esbuild/android-arm64": "0.17.19", - "@esbuild/android-x64": "0.17.19", - "@esbuild/darwin-arm64": "0.17.19", - "@esbuild/darwin-x64": "0.17.19", - "@esbuild/freebsd-arm64": "0.17.19", - "@esbuild/freebsd-x64": "0.17.19", - "@esbuild/linux-arm": "0.17.19", - "@esbuild/linux-arm64": "0.17.19", - "@esbuild/linux-ia32": "0.17.19", - "@esbuild/linux-loong64": "0.17.19", - "@esbuild/linux-mips64el": "0.17.19", - "@esbuild/linux-ppc64": "0.17.19", - "@esbuild/linux-riscv64": "0.17.19", - "@esbuild/linux-s390x": "0.17.19", - "@esbuild/linux-x64": "0.17.19", - "@esbuild/netbsd-x64": "0.17.19", - "@esbuild/openbsd-x64": "0.17.19", - "@esbuild/sunos-x64": "0.17.19", - "@esbuild/win32-arm64": "0.17.19", - "@esbuild/win32-ia32": "0.17.19", - "@esbuild/win32-x64": "0.17.19" + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" } }, "node_modules/escape-string-regexp": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -2702,9 +2445,8 @@ }, "node_modules/eslint": { "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "7.12.11", "@eslint/eslintrc": "^0.4.3", @@ -2759,9 +2501,8 @@ }, "node_modules/eslint-config-standard": { "version": "12.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-12.0.0.tgz", - "integrity": "sha512-COUz8FnXhqFitYj4DTqHzidjIL/t4mumGZto5c7DrBpvWoie+Sn3P4sLEzUGeYhRElWuFEf8K1S1EfvD1vixCQ==", "dev": true, + "license": "MIT", "peerDependencies": { "eslint": ">=5.0.0", "eslint-plugin-import": ">=2.13.0", @@ -2772,9 +2513,8 @@ }, "node_modules/eslint-import-resolver-node": { "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^3.2.7", "is-core-module": "^2.13.0", @@ -2783,18 +2523,16 @@ }, "node_modules/eslint-import-resolver-node/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-module-utils": { "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^3.2.7" }, @@ -2809,18 +2547,16 @@ }, "node_modules/eslint-module-utils/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-plugin-es": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-1.4.1.tgz", - "integrity": "sha512-5fa/gR2yR3NxQf+UXkeLeP8FBBl6tSgdrAz1+cF84v1FMM4twGwQoqTnn+QxFLcPOrF4pdKEJKDB/q9GoyJrCA==", "dev": true, + "license": "MIT", "dependencies": { "eslint-utils": "^1.4.2", "regexpp": "^2.0.1" @@ -2834,9 +2570,8 @@ }, "node_modules/eslint-plugin-es/node_modules/eslint-utils": { "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", "dev": true, + "license": "MIT", "dependencies": { "eslint-visitor-keys": "^1.1.0" }, @@ -2846,43 +2581,40 @@ }, "node_modules/eslint-plugin-es/node_modules/eslint-visitor-keys": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=4" } }, "node_modules/eslint-plugin-es/node_modules/regexpp": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.5.0" } }, "node_modules/eslint-plugin-import": { - "version": "2.28.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz", - "integrity": "sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==", + "version": "2.29.0", "dev": true, + "license": "MIT", "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.findlastindex": "^1.2.2", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", "debug": "^3.2.7", "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", + "eslint-import-resolver-node": "^0.3.9", "eslint-module-utils": "^2.8.0", - "has": "^1.0.3", - "is-core-module": "^2.13.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", - "object.fromentries": "^2.0.6", - "object.groupby": "^1.0.0", - "object.values": "^1.1.6", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", "semver": "^6.3.1", "tsconfig-paths": "^3.14.2" }, @@ -2895,18 +2627,16 @@ }, "node_modules/eslint-plugin-import/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/eslint-plugin-import/node_modules/doctrine": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -2916,18 +2646,16 @@ }, "node_modules/eslint-plugin-import/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/eslint-plugin-node": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-8.0.1.tgz", - "integrity": "sha512-ZjOjbjEi6jd82rIpFSgagv4CHWzG9xsQAVp1ZPlhRnnYxcTgENUVBvhYmkQ7GvT1QFijUSo69RaiOJKhMu6i8w==", "dev": true, + "license": "MIT", "dependencies": { "eslint-plugin-es": "^1.3.1", "eslint-utils": "^1.3.1", @@ -2945,9 +2673,8 @@ }, "node_modules/eslint-plugin-node/node_modules/eslint-utils": { "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", "dev": true, + "license": "MIT", "dependencies": { "eslint-visitor-keys": "^1.1.0" }, @@ -2957,35 +2684,30 @@ }, "node_modules/eslint-plugin-node/node_modules/eslint-visitor-keys": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=4" } }, "node_modules/eslint-plugin-node/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/eslint-plugin-promise": { "version": "4.3.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz", - "integrity": "sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ==", "dev": true, + "license": "ISC", "engines": { "node": ">=6" } }, "node_modules/eslint-plugin-standard": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.1.0.tgz", - "integrity": "sha512-ZL7+QRixjTR6/528YNGyDotyffm5OQst/sGxKDwGb9Uqs4In5Egi4+jbobhqJoyoCM6/7v/1A5fhQ7ScMtDjaQ==", "dev": true, "funding": [ { @@ -3001,15 +2723,15 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "peerDependencies": { "eslint": ">=5.0.0" } }, "node_modules/eslint-plugin-vue": { "version": "8.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-8.7.1.tgz", - "integrity": "sha512-28sbtm4l4cOzoO1LtzQPxfxhQABararUb1JtqusQqObJpWX2e/gmVyeYVfepizPFne0Q5cILkYGiBoV36L12Wg==", "dev": true, + "license": "MIT", "dependencies": { "eslint-utils": "^3.0.0", "natural-compare": "^1.4.0", @@ -3027,9 +2749,8 @@ }, "node_modules/eslint-plugin-vue/node_modules/eslint-utils": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", "dev": true, + "license": "MIT", "dependencies": { "eslint-visitor-keys": "^2.0.0" }, @@ -3045,18 +2766,16 @@ }, "node_modules/eslint-plugin-vue/node_modules/eslint-visitor-keys": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=10" } }, "node_modules/eslint-plugin-vuetify": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-vuetify/-/eslint-plugin-vuetify-1.1.0.tgz", - "integrity": "sha512-I1YRUCGkDqe8F7O0tdf63UZVKtk4734+8fzbZ24YIZKTTyQp/FIR0nSZYG8mPFhTWerzPta7oXNzliBOwP2XeQ==", "dev": true, + "license": "MIT", "dependencies": { "eslint-plugin-vue": "^7.0.0", "requireindex": "^1.2.0" @@ -3068,9 +2787,8 @@ }, "node_modules/eslint-plugin-vuetify/node_modules/eslint-plugin-vue": { "version": "7.20.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.20.0.tgz", - "integrity": "sha512-oVNDqzBC9h3GO+NTgWeLMhhGigy6/bQaQbHS+0z7C4YEu/qK/yxHvca/2PTZtGNPsCrHwOTgKMrwu02A9iPBmw==", "dev": true, + "license": "MIT", "dependencies": { "eslint-utils": "^2.1.0", "natural-compare": "^1.4.0", @@ -3086,18 +2804,16 @@ }, "node_modules/eslint-plugin-vuetify/node_modules/eslint-visitor-keys": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=4" } }, "node_modules/eslint-plugin-vuetify/node_modules/espree": { "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "acorn": "^7.1.1", "acorn-jsx": "^5.2.0", @@ -3109,18 +2825,16 @@ }, "node_modules/eslint-plugin-vuetify/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/eslint-plugin-vuetify/node_modules/vue-eslint-parser": { "version": "7.11.0", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.11.0.tgz", - "integrity": "sha512-qh3VhDLeh773wjgNTl7ss0VejY9bMMa0GoDG2fQVyDzRFdiU3L7fw74tWZDHNQXdZqxO3EveQroa9ct39D2nqg==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^4.1.1", "eslint-scope": "^5.1.1", @@ -3142,9 +2856,8 @@ }, "node_modules/eslint-scope": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -3155,9 +2868,8 @@ }, "node_modules/eslint-utils": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, + "license": "MIT", "dependencies": { "eslint-visitor-keys": "^1.1.0" }, @@ -3170,18 +2882,16 @@ }, "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=4" } }, "node_modules/eslint-visitor-keys": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -3191,27 +2901,24 @@ }, "node_modules/eslint/node_modules/eslint-visitor-keys": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=10" } }, "node_modules/eslint/node_modules/ignore": { "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/espree": { "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "acorn": "^7.4.0", "acorn-jsx": "^5.3.1", @@ -3223,18 +2930,16 @@ }, "node_modules/espree/node_modules/eslint-visitor-keys": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=4" } }, "node_modules/esprima": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, + "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -3245,9 +2950,8 @@ }, "node_modules/esquery": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -3257,18 +2961,16 @@ }, "node_modules/esquery/node_modules/estraverse": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/esrecurse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -3278,36 +2980,32 @@ }, "node_modules/esrecurse/node_modules/estraverse": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/estraverse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/esutils": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/extend-shallow": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, + "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, @@ -3317,15 +3015,13 @@ }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-glob": { "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -3339,30 +3035,26 @@ }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fastq": { "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dev": true, + "license": "ISC", "dependencies": { "reusify": "^1.0.4" } }, "node_modules/file-entry-cache": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, + "license": "MIT", "dependencies": { "flat-cache": "^3.0.4" }, @@ -3372,9 +3064,8 @@ }, "node_modules/fill-range": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -3384,9 +3075,8 @@ }, "node_modules/find-up": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -3399,12 +3089,11 @@ } }, "node_modules/flat-cache": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz", - "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==", + "version": "3.1.1", "dev": true, + "license": "MIT", "dependencies": { - "flatted": "^3.2.7", + "flatted": "^3.2.9", "keyv": "^4.5.3", "rimraf": "^3.0.2" }, @@ -3414,26 +3103,23 @@ }, "node_modules/flatted": { "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/flush-promises": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/flush-promises/-/flush-promises-1.0.2.tgz", - "integrity": "sha512-G0sYfLQERwKz4+4iOZYQEZVpOt9zQrlItIxQAAYAWpfby3gbHrx0osCHz5RLl/XoXevXk0xoN4hDFky/VV9TrA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/follow-redirects": { "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", "funding": [ { "type": "individual", "url": "https://github.com/sponsors/RubenVerborgh" } ], + "license": "MIT", "engines": { "node": ">=4.0" }, @@ -3445,17 +3131,15 @@ }, "node_modules/for-each": { "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, + "license": "MIT", "dependencies": { "is-callable": "^1.1.3" } }, "node_modules/form-data": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -3465,35 +3149,10 @@ "node": ">= 6" } }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "optional": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "optional": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "devOptional": true + "dev": true, + "license": "ISC" }, "node_modules/fsevents": { "version": "2.3.3", @@ -3510,16 +3169,17 @@ } }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "version": "1.1.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/function.prototype.name": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -3535,58 +3195,34 @@ }, "node_modules/functional-red-black-tree": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/functions-have-names": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/gauge": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", - "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", - "optional": true, - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.1", - "object-assign": "^4.1.1", - "signal-exit": "^3.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/get-func-name": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true, + "license": "MIT", "engines": { "node": "*" } }, "node_modules/get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "version": "1.2.2", "dev": true, + "license": "MIT", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", + "function-bind": "^1.1.2", "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3594,9 +3230,8 @@ }, "node_modules/get-symbol-description": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.1" @@ -3610,9 +3245,8 @@ }, "node_modules/glob": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -3629,9 +3263,8 @@ }, "node_modules/glob-parent": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -3641,18 +3274,16 @@ }, "node_modules/glob/node_modules/brace-expansion": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/glob/node_modules/minimatch": { "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -3661,10 +3292,9 @@ } }, "node_modules/globals": { - "version": "13.22.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.22.0.tgz", - "integrity": "sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==", + "version": "13.23.0", "dev": true, + "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -3677,9 +3307,8 @@ }, "node_modules/globalthis": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", "dev": true, + "license": "MIT", "dependencies": { "define-properties": "^1.1.3" }, @@ -3692,9 +3321,8 @@ }, "node_modules/globby": { "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, + "license": "MIT", "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -3712,9 +3340,8 @@ }, "node_modules/gopd": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dev": true, + "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.3" }, @@ -3724,47 +3351,31 @@ }, "node_modules/graphemer": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } + "license": "MIT" }, "node_modules/has-bigints": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "version": "1.0.1", "dev": true, + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.1.1" + "get-intrinsic": "^1.2.2" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3772,9 +3383,8 @@ }, "node_modules/has-proto": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -3784,9 +3394,8 @@ }, "node_modules/has-symbols": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -3796,9 +3405,8 @@ }, "node_modules/has-tostringtag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dev": true, + "license": "MIT", "dependencies": { "has-symbols": "^1.0.2" }, @@ -3809,17 +3417,21 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "optional": true + "node_modules/hasown": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } }, "node_modules/he": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true, + "license": "MIT", "peer": true, "bin": { "he": "bin/he" @@ -3827,9 +3439,8 @@ }, "node_modules/html-encoding-sniffer": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", "dev": true, + "license": "MIT", "dependencies": { "whatwg-encoding": "^2.0.0" }, @@ -3839,15 +3450,13 @@ }, "node_modules/html-escaper": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/http-proxy-agent": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dev": true, + "license": "MIT", "dependencies": { "@tootallnate/once": "2", "agent-base": "6", @@ -3859,14 +3468,12 @@ }, "node_modules/http-status-codes": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/http-status-codes/-/http-status-codes-2.3.0.tgz", - "integrity": "sha512-RJ8XvFvpPM/Dmc5SV+dC4y5PCeOhT3x1Hq0NU3rjGeg5a/CqlhZ7uudknPwZFz4aeAXDcbAyaeP7GAo9lvngtA==" + "license": "MIT" }, "node_modules/https-proxy-agent": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "devOptional": true, + "dev": true, + "license": "MIT", "dependencies": { "agent-base": "6", "debug": "4" @@ -3877,9 +3484,8 @@ }, "node_modules/iconv-lite": { "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -3889,29 +3495,25 @@ }, "node_modules/ignore": { "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/immediate": { "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" + "license": "MIT" }, "node_modules/immutable": { "version": "4.3.4", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", - "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/import-fresh": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -3925,18 +3527,16 @@ }, "node_modules/imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.19" } }, "node_modules/inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "devOptional": true, + "dev": true, + "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -3944,24 +3544,21 @@ }, "node_modules/inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "devOptional": true + "dev": true, + "license": "ISC" }, "node_modules/ini": { "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "version": "1.0.6", "dev": true, + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", "side-channel": "^1.0.4" }, "engines": { @@ -3970,9 +3567,8 @@ }, "node_modules/is-array-buffer": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.2.0", @@ -3984,9 +3580,8 @@ }, "node_modules/is-bigint": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, + "license": "MIT", "dependencies": { "has-bigints": "^1.0.1" }, @@ -3996,9 +3591,8 @@ }, "node_modules/is-binary-path": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, + "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" }, @@ -4008,9 +3602,8 @@ }, "node_modules/is-boolean-object": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -4024,15 +3617,13 @@ }, "node_modules/is-buffer": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/is-callable": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -4041,12 +3632,11 @@ } }, "node_modules/is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "version": "2.13.1", "dev": true, + "license": "MIT", "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -4054,9 +3644,8 @@ }, "node_modules/is-date-object": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -4069,9 +3658,8 @@ }, "node_modules/is-expression": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-4.0.0.tgz", - "integrity": "sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==", "dev": true, + "license": "MIT", "dependencies": { "acorn": "^7.1.1", "object-assign": "^4.1.1" @@ -4079,36 +3667,32 @@ }, "node_modules/is-extendable": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "devOptional": true, + "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-glob": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -4118,9 +3702,8 @@ }, "node_modules/is-negative-zero": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -4130,18 +3713,16 @@ }, "node_modules/is-number": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.12.0" } }, "node_modules/is-number-object": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -4154,24 +3735,21 @@ }, "node_modules/is-path-inside": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-potential-custom-element-name": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/is-regex": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -4185,9 +3763,8 @@ }, "node_modules/is-shared-array-buffer": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -4197,9 +3774,8 @@ }, "node_modules/is-string": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -4212,9 +3788,8 @@ }, "node_modules/is-symbol": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, + "license": "MIT", "dependencies": { "has-symbols": "^1.0.2" }, @@ -4227,9 +3802,8 @@ }, "node_modules/is-typed-array": { "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", "dev": true, + "license": "MIT", "dependencies": { "which-typed-array": "^1.1.11" }, @@ -4242,9 +3816,8 @@ }, "node_modules/is-weakref": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -4254,39 +3827,34 @@ }, "node_modules/is-whitespace": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-whitespace/-/is-whitespace-0.3.0.tgz", - "integrity": "sha512-RydPhl4S6JwAyj0JJjshWJEFG6hNye3pZFBRZaTUfZFwGHxzppNaNOVgQuS/E/SlhrApuMXrpnK1EEIXfdo3Dg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/isarray": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/istanbul-lib-coverage": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-report": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^4.0.0", @@ -4298,9 +3866,8 @@ }, "node_modules/istanbul-lib-source-maps": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", @@ -4312,9 +3879,8 @@ }, "node_modules/istanbul-reports": { "version": "3.1.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -4325,9 +3891,8 @@ }, "node_modules/js-beautify": { "version": "1.14.9", - "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.9.tgz", - "integrity": "sha512-coM7xq1syLcMyuVGyToxcj2AlzhkDjmfklL8r0JgJ7A76wyGMpJ1oA35mr4APdYNO/o/4YY8H54NQIJzhMbhBg==", "dev": true, + "license": "MIT", "dependencies": { "config-chain": "^1.1.13", "editorconfig": "^1.0.3", @@ -4345,9 +3910,8 @@ }, "node_modules/js-beautify/node_modules/nopt": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", - "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", "dev": true, + "license": "ISC", "dependencies": { "abbrev": "^1.0.0" }, @@ -4360,20 +3924,17 @@ }, "node_modules/js-sha256": { "version": "0.9.0", - "resolved": "https://registry.npmjs.org/js-sha256/-/js-sha256-0.9.0.tgz", - "integrity": "sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==" + "license": "MIT" }, "node_modules/js-tokens": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/js-yaml": { "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -4384,9 +3945,8 @@ }, "node_modules/jsdom": { "version": "22.1.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-22.1.0.tgz", - "integrity": "sha512-/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw==", "dev": true, + "license": "MIT", "dependencies": { "abab": "^2.0.6", "cssstyle": "^3.0.0", @@ -4426,27 +3986,23 @@ }, "node_modules/json-buffer": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json5": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, + "license": "MIT", "dependencies": { "minimist": "^1.2.0" }, @@ -4456,20 +4012,17 @@ }, "node_modules/jsonc-parser": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/just-extend": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", - "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/keycloak-js": { "version": "9.0.3", - "resolved": "https://registry.npmjs.org/keycloak-js/-/keycloak-js-9.0.3.tgz", - "integrity": "sha512-c8FFPa8YiJmPbJEMZ/mIrHflBR6FIFUm5xTWtIDzlrnoeF4u0wDmTBfo1u71rWIL1HanLvg3T+9AgR1NqfmGbA==", + "license": "Apache-2.0", "dependencies": { "base64-js": "1.3.1", "js-sha256": "0.9.0" @@ -4477,23 +4030,20 @@ }, "node_modules/keycloak-js/node_modules/base64-js": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" + "license": "MIT" }, "node_modules/keyv": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", - "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "version": "4.5.4", "dev": true, + "license": "MIT", "dependencies": { "json-buffer": "3.0.1" } }, "node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -4503,8 +4053,7 @@ }, "node_modules/launchdarkly-js-client-sdk": { "version": "2.24.2", - "resolved": "https://registry.npmjs.org/launchdarkly-js-client-sdk/-/launchdarkly-js-client-sdk-2.24.2.tgz", - "integrity": "sha512-8jrLOia0vfZ4stqQRv9TjAYfRGK2JyWpLIL6PbTl99LqTtJMuYtryFUQp0b8WH1153YN+gVdoqPVI7uwbbzLLQ==", + "license": "Apache-2.0", "dependencies": { "escape-string-regexp": "^4.0.0", "launchdarkly-js-sdk-common": "3.8.2" @@ -4512,8 +4061,7 @@ }, "node_modules/launchdarkly-js-sdk-common": { "version": "3.8.2", - "resolved": "https://registry.npmjs.org/launchdarkly-js-sdk-common/-/launchdarkly-js-sdk-common-3.8.2.tgz", - "integrity": "sha512-pEqZ3FTKtYrTaPdbPntFJs87svzcezrkoRWY2GEFmyPC33txOqU788x0yby2+haC/saFPNfXpH6bbiJE/GjMSA==", + "license": "Apache-2.0", "dependencies": { "base64-js": "^1.3.0", "fast-deep-equal": "^2.0.1", @@ -4522,14 +4070,12 @@ }, "node_modules/launchdarkly-js-sdk-common/node_modules/fast-deep-equal": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==" + "license": "MIT" }, "node_modules/levn": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -4540,17 +4086,15 @@ }, "node_modules/lie": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", - "integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==", + "license": "MIT", "dependencies": { "immediate": "~3.0.5" } }, "node_modules/local-pkg": { "version": "0.4.3", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", - "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", "dev": true, + "license": "MIT", "engines": { "node": ">=14" }, @@ -4560,17 +4104,15 @@ }, "node_modules/localforage": { "version": "1.10.0", - "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz", - "integrity": "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==", + "license": "Apache-2.0", "dependencies": { "lie": "3.1.1" } }, "node_modules/locate-path": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -4583,57 +4125,48 @@ }, "node_modules/lodash": { "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "license": "MIT" }, "node_modules/lodash.clonedeep": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.get": { "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.merge": { "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.omit": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", - "integrity": "sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==" + "license": "MIT" }, "node_modules/lodash.truncate": { "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.uniqueid": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.uniqueid/-/lodash.uniqueid-4.0.1.tgz", - "integrity": "sha512-GQQWaIeGlL6DIIr06kj1j6sSmBxyNMwI8kaX9aKpHR/XsMTiaXDVPNPAkiboOTK9OJpTJF/dXT3xYoFQnj386Q==" + "license": "MIT" }, "node_modules/loupe": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", - "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "version": "2.3.7", "dev": true, + "license": "MIT", "dependencies": { - "get-func-name": "^2.0.0" + "get-func-name": "^2.0.1" } }, "node_modules/lru-cache": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "devOptional": true, + "dev": true, + "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -4642,10 +4175,9 @@ } }, "node_modules/magic-string": { - "version": "0.30.3", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.3.tgz", - "integrity": "sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==", + "version": "0.30.5", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" }, @@ -4655,9 +4187,8 @@ }, "node_modules/make-dir": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, + "license": "MIT", "dependencies": { "semver": "^7.5.3" }, @@ -4670,18 +4201,16 @@ }, "node_modules/merge2": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/micromatch": { "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, + "license": "MIT", "dependencies": { "braces": "^3.0.2", "picomatch": "^2.3.1" @@ -4692,16 +4221,14 @@ }, "node_modules/mime-db": { "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -4709,23 +4236,10 @@ "node": ">= 0.6" } }, - "node_modules/mimic-response": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", - "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", - "optional": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/minimatch": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "devOptional": true, + "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -4735,64 +4249,16 @@ }, "node_modules/minimist": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "optional": true, - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "optional": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "optional": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/mlly": { "version": "1.4.2", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.4.2.tgz", - "integrity": "sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==", "dev": true, + "license": "MIT", "dependencies": { "acorn": "^8.10.0", "pathe": "^1.1.1", @@ -4801,10 +4267,9 @@ } }, "node_modules/mlly/node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "version": "8.11.2", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -4814,26 +4279,18 @@ }, "node_modules/ms": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "devOptional": true - }, - "node_modules/nan": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz", - "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==", - "optional": true + "dev": true, + "license": "MIT" }, "node_modules/nanoid": { "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -4843,21 +4300,18 @@ }, "node_modules/natural-compare": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/natural-compare-lite": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/nise": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.4.tgz", - "integrity": "sha512-8+Ib8rRJ4L0o3kfmyVCL7gzrohyDe0cMFTBa2d364yIrEGMEoetznKJx899YxjybU6bL9SQkYPSBBs1gyYs8Xg==", + "version": "5.1.5", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^2.0.0", "@sinonjs/fake-timers": "^10.0.2", @@ -4868,105 +4322,32 @@ }, "node_modules/nise/node_modules/@sinonjs/fake-timers": { "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^3.0.0" } }, "node_modules/nise/node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "optional": true, - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-fetch/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "optional": true - }, - "node_modules/node-fetch/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "optional": true - }, - "node_modules/node-fetch/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "optional": true, - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "optional": true, - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/normalize-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/npmlog": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", - "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", - "optional": true, - "dependencies": { - "are-we-there-yet": "^2.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^3.0.0", - "set-blocking": "^2.0.0" - } - }, "node_modules/nth-check": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0" }, @@ -4976,42 +4357,37 @@ }, "node_modules/nwsapi": { "version": "2.2.7", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", - "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "devOptional": true, + "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "version": "1.13.1", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object-keys": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/object.assign": { "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -5027,9 +4403,8 @@ }, "node_modules/object.fromentries": { "version": "2.0.7", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", - "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -5044,9 +4419,8 @@ }, "node_modules/object.groupby": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", - "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -5056,9 +4430,8 @@ }, "node_modules/object.values": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", - "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -5073,18 +4446,16 @@ }, "node_modules/once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "devOptional": true, + "dev": true, + "license": "ISC", "dependencies": { "wrappy": "1" } }, "node_modules/optionator": { "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, + "license": "MIT", "dependencies": { "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", @@ -5099,9 +4470,8 @@ }, "node_modules/p-limit": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", "dev": true, + "license": "MIT", "dependencies": { "yocto-queue": "^1.0.0" }, @@ -5114,9 +4484,8 @@ }, "node_modules/p-locate": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -5129,9 +4498,8 @@ }, "node_modules/p-locate/node_modules/p-limit": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -5144,9 +4512,8 @@ }, "node_modules/p-locate/node_modules/yocto-queue": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -5156,9 +4523,8 @@ }, "node_modules/parent-module": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -5168,9 +4534,8 @@ }, "node_modules/parse5": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", "dev": true, + "license": "MIT", "dependencies": { "entities": "^4.4.0" }, @@ -5180,65 +4545,57 @@ }, "node_modules/path-exists": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "devOptional": true, + "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/path-key": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-parse": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/path-to-regexp": { "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", "dev": true, + "license": "MIT", "dependencies": { "isarray": "0.0.1" } }, "node_modules/path-to-regexp/node_modules/isarray": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/path-type": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path2d-polyfill": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path2d-polyfill/-/path2d-polyfill-2.0.1.tgz", - "integrity": "sha512-ad/3bsalbbWhmBo0D6FZ4RNMwsLsPpL6gnvhuSaU5Vm7b06Kr5ubSltQQ0T7YKsiJQO+g22zJ4dJKNTXIyOXtA==", + "license": "MIT", "optional": true, "engines": { "node": ">=8" @@ -5246,23 +4603,20 @@ }, "node_modules/pathe": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz", - "integrity": "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/pathval": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", "dev": true, + "license": "MIT", "engines": { "node": "*" } }, "node_modules/pdfjs-dist": { "version": "3.9.179", - "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-3.9.179.tgz", - "integrity": "sha512-AZBEIAORYDaOAlM0/A4Zg465+XF3ugYDdgrVmioVvNW5tH3xs3RpGFBYOG5PM9/vLM3M/wNncsMLTgyIKdqMKg==", + "license": "Apache-2.0", "engines": { "node": ">=18" }, @@ -5273,14 +4627,12 @@ }, "node_modules/picocolors": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -5289,9 +4641,8 @@ } }, "node_modules/pinia": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.1.6.tgz", - "integrity": "sha512-bIU6QuE5qZviMmct5XwCesXelb5VavdOWKWaB17ggk++NUwQWWbP5YnsONTk3b752QkW9sACiR81rorpeOMSvQ==", + "version": "2.1.7", + "license": "MIT", "dependencies": { "@vue/devtools-api": "^6.5.0", "vue-demi": ">=0.14.5" @@ -5315,8 +4666,7 @@ }, "node_modules/pinia-class": { "version": "0.0.3", - "resolved": "https://registry.npmjs.org/pinia-class/-/pinia-class-0.0.3.tgz", - "integrity": "sha512-7l1ZB6c50v5aDaSZRauK1CVaUL0ZrOC2Z1xwX03AZCGKnV+EzZmmQ3fm19LgaXhD9oGExb6eezJ8hZDu86s8vw==", + "license": "MIT", "peerDependencies": { "pinia": "^2.0.0", "vue-class-component": "^7.0.0" @@ -5324,9 +4674,8 @@ }, "node_modules/pinia/node_modules/vue-demi": { "version": "0.14.6", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", - "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", "hasInstallScript": true, + "license": "MIT", "bin": { "vue-demi-fix": "bin/vue-demi-fix.js", "vue-demi-switch": "bin/vue-demi-switch.js" @@ -5349,9 +4698,8 @@ }, "node_modules/pkg-types": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", - "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", "dev": true, + "license": "MIT", "dependencies": { "jsonc-parser": "^3.2.0", "mlly": "^1.2.0", @@ -5360,8 +4708,6 @@ }, "node_modules/postcss": { "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", "funding": [ { "type": "opencollective", @@ -5376,6 +4722,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "nanoid": "^3.3.6", "picocolors": "^1.0.0", @@ -5387,9 +4734,8 @@ }, "node_modules/postcss-selector-parser": { "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", "dev": true, + "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -5400,18 +4746,16 @@ }, "node_modules/prelude-ls": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8.0" } }, "node_modules/prettier": { "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true, + "license": "MIT", "bin": { "prettier": "bin-prettier.js" }, @@ -5424,9 +4768,8 @@ }, "node_modules/pretty": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pretty/-/pretty-2.0.0.tgz", - "integrity": "sha512-G9xUchgTEiNpormdYBl+Pha50gOUovT18IvAe7EYMZ1/f9W/WWMPRn+xI68yXNMUk3QXHDwo/1wV/4NejVNe1w==", "dev": true, + "license": "MIT", "dependencies": { "condense-newlines": "^0.2.1", "extend-shallow": "^2.0.1", @@ -5438,9 +4781,8 @@ }, "node_modules/pretty-format": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -5452,9 +4794,8 @@ }, "node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -5464,41 +4805,35 @@ }, "node_modules/progress": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/proto-list": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/provinces": { "version": "1.11.0", - "resolved": "https://registry.npmjs.org/provinces/-/provinces-1.11.0.tgz", - "integrity": "sha512-5hoDYWtKr89stoSVajofU1rFGKzB2wpUqJJfnldokWfLUnLamQK9PnA8svh2j3XOYdb8BI2vbU4q3DtEcdNQ9w==" + "license": "MIT" }, "node_modules/psl": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/pug-error": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-2.0.0.tgz", - "integrity": "sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/pug-lexer": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-5.0.1.tgz", - "integrity": "sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==", "dev": true, + "license": "MIT", "dependencies": { "character-parser": "^2.2.0", "is-expression": "^4.0.0", @@ -5506,32 +4841,27 @@ } }, "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "version": "2.3.1", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/qrcode.vue": { "version": "1.7.0", - "resolved": "https://registry.npmjs.org/qrcode.vue/-/qrcode.vue-1.7.0.tgz", - "integrity": "sha512-R7t6Y3fDDtcU7L4rtqwGUDP9xD64gJhIwpfjhRCTKmBoYF6SS49PIJHRJ048cse6OI7iwTwgyy2C46N9Ygoc6g==", + "license": "MIT", "peerDependencies": { "vue": "^2.0.0" } }, "node_modules/querystringify": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/queue-microtask": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true, "funding": [ { @@ -5546,33 +4876,18 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/react-is": { "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "optional": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } + "dev": true, + "license": "MIT" }, "node_modules/readdirp": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, + "license": "MIT", "dependencies": { "picomatch": "^2.2.1" }, @@ -5582,14 +4897,12 @@ }, "node_modules/regenerator-runtime": { "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + "license": "MIT" }, "node_modules/regexp.prototype.flags": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", - "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -5604,9 +4917,8 @@ }, "node_modules/regexpp": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -5616,38 +4928,33 @@ }, "node_modules/register-service-worker": { "version": "1.7.2", - "resolved": "https://registry.npmjs.org/register-service-worker/-/register-service-worker-1.7.2.tgz", - "integrity": "sha512-CiD3ZSanZqcMPRhtfct5K9f7i3OLCcBBWsJjLh1gW9RO/nS94sVzY59iS+fgYBOBqaBpf4EzfqUF3j9IG+xo8A==" + "license": "MIT" }, "node_modules/require-from-string": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/requireindex": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz", - "integrity": "sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.5" } }, "node_modules/requires-port": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/resolve": { - "version": "1.22.6", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", - "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", + "version": "1.22.8", "dev": true, + "license": "MIT", "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -5662,18 +4969,16 @@ }, "node_modules/resolve-from": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/reusify": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -5681,9 +4986,8 @@ }, "node_modules/rimraf": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "devOptional": true, + "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -5696,9 +5000,8 @@ }, "node_modules/rimraf/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "devOptional": true, + "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -5716,9 +5019,8 @@ }, "node_modules/rollup": { "version": "3.29.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", - "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", "dev": true, + "license": "MIT", "bin": { "rollup": "dist/bin/rollup" }, @@ -5732,14 +5034,11 @@ }, "node_modules/rrweb-cssom": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz", - "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/run-parallel": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "funding": [ { @@ -5755,15 +5054,26 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, + "node_modules/rxjs": { + "version": "7.8.1", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/rxjs/node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, "node_modules/safe-array-concat": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", - "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.2.1", @@ -5777,31 +5087,10 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "optional": true - }, "node_modules/safe-regex-test": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.3", @@ -5813,15 +5102,13 @@ }, "node_modules/safer-buffer": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/sass": { - "version": "1.68.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.68.0.tgz", - "integrity": "sha512-Lmj9lM/fef0nQswm1J2HJcEsBUba4wgNx2fea6yJHODREoMFnwRpZydBnX/RjyXw2REIwdkbqE4hrTo4qfDBUA==", + "version": "1.69.5", "dev": true, + "license": "MIT", "dependencies": { "chokidar": ">=3.0.0 <4.0.0", "immutable": "^4.0.0", @@ -5836,9 +5123,8 @@ }, "node_modules/saxes": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", "dev": true, + "license": "ISC", "dependencies": { "xmlchars": "^2.2.0" }, @@ -5848,8 +5134,7 @@ }, "node_modules/sbc-common-components": { "version": "3.0.8", - "resolved": "https://registry.npmjs.org/sbc-common-components/-/sbc-common-components-3.0.8.tgz", - "integrity": "sha512-TjZA8xRxtwrynI/EXLbGKr68+NFBlFPXDs1n7Uc+EaGD+zwmi8flSi6FEQNbrfb01YfVmlZ8GNghU7f1YP41rw==", + "license": "Apache-2.0", "dependencies": { "@mdi/font": "^4.5.95", "axios": "^0.21.1", @@ -5871,27 +5156,22 @@ } }, "node_modules/sbc-common-components/node_modules/@mdi/font": { - "version": "4.9.95", - "resolved": "https://registry.npmjs.org/@mdi/font/-/font-4.9.95.tgz", - "integrity": "sha512-m2sbAs+SMwRnWpkMriBxEulwuhmqRyh6X+hdOZlqSxYZUM2C2TaDnQ4gcilzdoAgru2XYnWViZ/xPuSDGgRXVw==" + "version": "4.9.95" }, "node_modules/sbc-common-components/node_modules/axios": { "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "license": "MIT", "dependencies": { "follow-redirects": "^1.14.0" } }, "node_modules/sbc-common-components/node_modules/vue2-filters": { "version": "0.7.2", - "resolved": "https://registry.npmjs.org/vue2-filters/-/vue2-filters-0.7.2.tgz", - "integrity": "sha512-7I74isiBUQFGaNbVv57NzHGqh54cLe0JNJmJmu66wxP5eOK/CqHN4iqHMgwPPPvPbgbFbpI/GjbHiIx8tNruwg==" + "license": "MIT" }, "node_modules/sbc-common-components/node_modules/vuelidate": { "version": "0.7.7", - "resolved": "https://registry.npmjs.org/vuelidate/-/vuelidate-0.7.7.tgz", - "integrity": "sha512-pT/U2lDI67wkIqI4tum7cMSIfGcAMfB+Phtqh2ttdXURwvHRBJEAQ0tVbUsW9Upg83Q5QH59bnCoXI7A9JDGnA==", + "license": "MIT", "engines": { "node": ">= 4.0.0", "npm": ">= 3.0.0" @@ -5899,9 +5179,8 @@ }, "node_modules/semver": { "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "devOptional": true, + "dev": true, + "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -5912,17 +5191,24 @@ "node": ">=10" } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "optional": true + "node_modules/set-function-length": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } }, "node_modules/set-function-name": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", - "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", "dev": true, + "license": "MIT", "dependencies": { "define-data-property": "^1.0.1", "functions-have-names": "^1.2.3", @@ -5934,9 +5220,8 @@ }, "node_modules/shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -5946,18 +5231,16 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/side-channel": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", @@ -5969,52 +5252,13 @@ }, "node_modules/siginfo": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", - "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", - "dev": true - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "optional": true - }, - "node_modules/simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "optional": true - }, - "node_modules/simple-get": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz", - "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==", - "optional": true, - "dependencies": { - "decompress-response": "^4.2.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } + "dev": true, + "license": "ISC" }, "node_modules/sinon": { "version": "14.0.2", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-14.0.2.tgz", - "integrity": "sha512-PDpV0ZI3ZCS3pEqx0vpNp6kzPhHrLx72wA0G+ZLaaJjLIYeE0n8INlgaohKuGy7hP0as5tbUd23QWu5U233t+w==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^2.0.0", "@sinonjs/fake-timers": "^9.1.2", @@ -6030,18 +5274,16 @@ }, "node_modules/slash": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/slice-ansi": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", @@ -6056,52 +5298,37 @@ }, "node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-js": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/sprintf-js": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/stackback": { "version": "0.0.2", - "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", - "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/std-env": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.4.3.tgz", - "integrity": "sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==", - "dev": true - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "optional": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } + "dev": true, + "license": "MIT" }, "node_modules/string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "devOptional": true, + "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -6113,9 +5340,8 @@ }, "node_modules/string.prototype.trim": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", - "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -6130,9 +5356,8 @@ }, "node_modules/string.prototype.trimend": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", - "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -6144,9 +5369,8 @@ }, "node_modules/string.prototype.trimstart": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", - "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -6158,9 +5382,8 @@ }, "node_modules/strip-ansi": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "devOptional": true, + "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -6170,18 +5393,16 @@ }, "node_modules/strip-bom": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/strip-json-comments": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -6191,9 +5412,8 @@ }, "node_modules/strip-literal": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.3.0.tgz", - "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==", "dev": true, + "license": "MIT", "dependencies": { "acorn": "^8.10.0" }, @@ -6202,10 +5422,9 @@ } }, "node_modules/strip-literal/node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "version": "8.11.2", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -6215,9 +5434,8 @@ }, "node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -6227,9 +5445,8 @@ }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -6239,15 +5456,13 @@ }, "node_modules/symbol-tree": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/table": { "version": "6.8.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", - "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "ajv": "^8.0.1", "lodash.truncate": "^4.4.2", @@ -6261,9 +5476,8 @@ }, "node_modules/table/node_modules/ajv": { "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -6277,32 +5491,13 @@ }, "node_modules/table/node_modules/json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/tar": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", - "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", - "optional": true, - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } + "dev": true, + "license": "MIT" }, "node_modules/test-exclude": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, + "license": "ISC", "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", @@ -6314,9 +5509,8 @@ }, "node_modules/test-exclude/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -6334,39 +5528,34 @@ }, "node_modules/text-table": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/tinybench": { "version": "2.5.1", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.5.1.tgz", - "integrity": "sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/tinypool": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.6.0.tgz", - "integrity": "sha512-FdswUUo5SxRizcBc6b1GSuLpLjisa8N8qMyYoP3rl+bym+QauhtJP5bvZY1ytt8krKGmMLYIRl36HBZfeAoqhQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.0.0" } }, "node_modules/tinyspy": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.1.1.tgz", - "integrity": "sha512-XPJL2uSzcOyBMky6OFrusqWlzfFrXtE0hPuMgW8A2HmaqrPo4ZQHRN/V0QXN3FSjKxpsbRrFc5LI7KOwBsT1/w==", + "version": "2.2.0", "dev": true, + "license": "MIT", "engines": { "node": ">=14.0.0" } }, "node_modules/to-regex-range": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -6376,9 +5565,8 @@ }, "node_modules/tough-cookie": { "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", @@ -6391,9 +5579,8 @@ }, "node_modules/tr46": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz", - "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==", "dev": true, + "license": "MIT", "dependencies": { "punycode": "^2.3.0" }, @@ -6403,9 +5590,8 @@ }, "node_modules/tsconfig-paths": { "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", "dev": true, + "license": "MIT", "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.2", @@ -6414,16 +5600,13 @@ } }, "node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "1.14.1", + "license": "0BSD" }, "node_modules/tslint": { "version": "6.1.3", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz", - "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==", - "deprecated": "TSLint has been deprecated in favor of ESLint. Please see https://github.com/palantir/tslint/issues/4534 for more information.", "dev": true, + "license": "Apache-2.0", "dependencies": { "@babel/code-frame": "^7.0.0", "builtin-modules": "^1.1.1", @@ -6451,9 +5634,8 @@ }, "node_modules/tslint/node_modules/ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -6463,9 +5645,8 @@ }, "node_modules/tslint/node_modules/chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -6477,48 +5658,42 @@ }, "node_modules/tslint/node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/tslint/node_modules/color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/tslint/node_modules/commander": { "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/tslint/node_modules/diff": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } }, "node_modules/tslint/node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/tslint/node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -6536,18 +5711,16 @@ }, "node_modules/tslint/node_modules/has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/tslint/node_modules/mkdirp": { "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, + "license": "MIT", "dependencies": { "minimist": "^1.2.6" }, @@ -6557,18 +5730,16 @@ }, "node_modules/tslint/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/tslint/node_modules/supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -6576,17 +5747,10 @@ "node": ">=4" } }, - "node_modules/tslint/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, "node_modules/tslint/node_modules/tsutils": { "version": "2.29.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", - "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", "dev": true, + "license": "MIT", "dependencies": { "tslib": "^1.8.1" }, @@ -6596,9 +5760,8 @@ }, "node_modules/tsutils": { "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, + "license": "MIT", "dependencies": { "tslib": "^1.8.1" }, @@ -6609,17 +5772,10 @@ "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, "node_modules/type-check": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -6629,18 +5785,16 @@ }, "node_modules/type-detect": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/type-fest": { "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -6650,9 +5804,8 @@ }, "node_modules/typed-array-buffer": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.2.1", @@ -6664,9 +5817,8 @@ }, "node_modules/typed-array-byte-length": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "for-each": "^0.3.3", @@ -6682,9 +5834,8 @@ }, "node_modules/typed-array-byte-offset": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", "dev": true, + "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", @@ -6701,9 +5852,8 @@ }, "node_modules/typed-array-length": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "for-each": "^0.3.3", @@ -6715,9 +5865,8 @@ }, "node_modules/typescript": { "version": "4.5.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz", - "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==", "devOptional": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -6728,15 +5877,13 @@ }, "node_modules/ufo": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.1.tgz", - "integrity": "sha512-uY/99gMLIOlJPwATcMVYfqDSxUR9//AUcgZMzwfSTJPDKzA1S8mX4VLqa+fiAtveraQUBCz4FFcwVZBGbwBXIw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/unbox-primitive": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-bigints": "^1.0.2", @@ -6747,29 +5894,31 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/undici-types": { + "version": "5.26.5", + "dev": true, + "license": "MIT" + }, "node_modules/universalify": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4.0.0" } }, "node_modules/uri-js": { "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } }, "node_modules/url-parse": { "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", "dev": true, + "license": "MIT", "dependencies": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" @@ -6777,48 +5926,43 @@ }, "node_modules/util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "devOptional": true + "dev": true, + "license": "MIT" }, "node_modules/uuid": { "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "license": "MIT", "bin": { "uuid": "bin/uuid" } }, "node_modules/v8-compile-cache": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", - "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/v8-to-istanbul": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", - "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", + "version": "9.1.3", "dev": true, + "license": "ISC", "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" + "convert-source-map": "^2.0.0" }, "engines": { "node": ">=10.12.0" } }, "node_modules/vite": { - "version": "4.3.9", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz", - "integrity": "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==", + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.2.tgz", + "integrity": "sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w==", "dev": true, "dependencies": { - "esbuild": "^0.17.5", - "postcss": "^8.4.23", - "rollup": "^3.21.0" + "esbuild": "^0.18.10", + "postcss": "^8.4.27", + "rollup": "^3.27.1" }, "bin": { "vite": "bin/vite.js" @@ -6826,12 +5970,16 @@ "engines": { "node": "^14.18.0 || >=16.0.0" }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, "optionalDependencies": { "fsevents": "~2.3.2" }, "peerDependencies": { "@types/node": ">= 14", "less": "*", + "lightningcss": "^1.21.0", "sass": "*", "stylus": "*", "sugarss": "*", @@ -6844,6 +5992,9 @@ "less": { "optional": true }, + "lightningcss": { + "optional": true + }, "sass": { "optional": true }, @@ -6860,9 +6011,8 @@ }, "node_modules/vite-node": { "version": "0.33.0", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.33.0.tgz", - "integrity": "sha512-19FpHYbwWWxDr73ruNahC+vtEdza52kA90Qb3La98yZ0xULqV8A5JLNPUff0f5zID4984tW7l3DH2przTJUZSw==", "dev": true, + "license": "MIT", "dependencies": { "cac": "^6.7.14", "debug": "^4.3.4", @@ -6883,18 +6033,16 @@ }, "node_modules/vite-plugin-environment": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/vite-plugin-environment/-/vite-plugin-environment-1.1.3.tgz", - "integrity": "sha512-9LBhB0lx+2lXVBEWxFZC+WO7PKEyE/ykJ7EPWCq95NEcCpblxamTbs5Dm3DLBGzwODpJMEnzQywJU8fw6XGGGA==", "dev": true, + "license": "MIT", "peerDependencies": { "vite": ">= 2.7" } }, "node_modules/vitest": { "version": "0.33.0", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.33.0.tgz", - "integrity": "sha512-1CxaugJ50xskkQ0e969R/hW47za4YXDUfWJDxip1hwbnhUjYolpfUn2AMOulqG/Dtd9WYAtkHmM/m3yKVrEejQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/chai": "^4.3.5", "@types/chai-subset": "^1.3.3", @@ -6968,10 +6116,9 @@ } }, "node_modules/vitest/node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "version": "8.11.2", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -6981,9 +6128,8 @@ }, "node_modules/vls": { "version": "0.8.5", - "resolved": "https://registry.npmjs.org/vls/-/vls-0.8.5.tgz", - "integrity": "sha512-61kbdO2COZWBMC4wq59QfDdev9ruXd0226f57DFJTFpFXv85S+qnHakQlAmbSYFFLGKcx95HB2UjnuQh4YRwFA==", "dev": true, + "license": "MIT", "dependencies": { "eslint": "^8.34.0", "eslint-plugin-vue": "^9.9.0", @@ -7001,9 +6147,8 @@ }, "node_modules/vls/node_modules/@eslint/eslintrc": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", "dev": true, + "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -7023,12 +6168,11 @@ } }, "node_modules/vls/node_modules/@humanwhocodes/config-array": { - "version": "0.11.11", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", - "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "version": "0.11.13", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", + "@humanwhocodes/object-schema": "^2.0.1", "debug": "^4.1.1", "minimatch": "^3.0.5" }, @@ -7036,11 +6180,15 @@ "node": ">=10.10.0" } }, + "node_modules/vls/node_modules/@humanwhocodes/object-schema": { + "version": "2.0.1", + "dev": true, + "license": "BSD-3-Clause" + }, "node_modules/vls/node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "version": "8.11.2", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -7050,23 +6198,22 @@ }, "node_modules/vls/node_modules/argparse": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "dev": true, + "license": "Python-2.0" }, "node_modules/vls/node_modules/eslint": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz", - "integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==", + "version": "8.52.0", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.50.0", - "@humanwhocodes/config-array": "^0.11.11", + "@eslint/js": "8.52.0", + "@humanwhocodes/config-array": "^0.11.13", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -7109,10 +6256,9 @@ } }, "node_modules/vls/node_modules/eslint-plugin-vue": { - "version": "9.17.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.17.0.tgz", - "integrity": "sha512-r7Bp79pxQk9I5XDP0k2dpUC7Ots3OSWgvGZNu3BxmKK6Zg7NgVtcOB6OCna5Kb9oQwJPl5hq183WD0SY5tZtIQ==", + "version": "9.18.1", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "natural-compare": "^1.4.0", @@ -7131,9 +6277,8 @@ }, "node_modules/vls/node_modules/eslint-scope": { "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -7147,9 +6292,8 @@ }, "node_modules/vls/node_modules/espree": { "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", @@ -7164,18 +6308,16 @@ }, "node_modules/vls/node_modules/estraverse": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/vls/node_modules/glob-parent": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -7185,9 +6327,8 @@ }, "node_modules/vls/node_modules/js-yaml": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -7197,9 +6338,8 @@ }, "node_modules/vls/node_modules/typescript": { "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -7209,10 +6349,9 @@ } }, "node_modules/vls/node_modules/vue-eslint-parser": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.3.1.tgz", - "integrity": "sha512-Clr85iD2XFZ3lJ52/ppmUDG/spxQu6+MAeHXjjyI4I1NUYZ9xmenQp4N0oaHJhrA8OOxltCVxMRfANGa70vU0g==", + "version": "9.3.2", "dev": true, + "license": "MIT", "dependencies": { "debug": "^4.3.4", "eslint-scope": "^7.1.1", @@ -7233,39 +6372,34 @@ } }, "node_modules/vscode-html-languageservice": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.1.0.tgz", - "integrity": "sha512-cGOu5+lrz+2dDXSGS15y24lDtPaML1T8K/SfqgFbLmCZ1btYOxceFieR+ybTS2es/A67kRc62m2cKFLUQPWG5g==", + "version": "5.1.1", "dev": true, + "license": "MIT", "dependencies": { "@vscode/l10n": "^0.0.16", - "vscode-languageserver-textdocument": "^1.0.8", - "vscode-languageserver-types": "^3.17.3", - "vscode-uri": "^3.0.7" + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-languageserver-types": "^3.17.5", + "vscode-uri": "^3.0.8" } }, "node_modules/vscode-languageserver-textdocument": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz", - "integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/vscode-languageserver-types": { "version": "3.17.5", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", - "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/vscode-uri": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.7.tgz", - "integrity": "sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==", - "dev": true + "version": "3.0.8", + "dev": true, + "license": "MIT" }, "node_modules/vue": { "version": "2.7.14", - "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.14.tgz", - "integrity": "sha512-b2qkFyOM0kwqWFuQmgd4o+uHGU7T+2z3T+WQp8UBjADfEv2n4FEMffzBmCKNP0IGzOEEfYjvtcC62xaSKeQDrQ==", + "license": "MIT", "dependencies": { "@vue/compiler-sfc": "2.7.14", "csstype": "^3.1.0" @@ -7273,37 +6407,32 @@ }, "node_modules/vue-affix": { "version": "0.5.2", - "resolved": "https://registry.npmjs.org/vue-affix/-/vue-affix-0.5.2.tgz", - "integrity": "sha512-60TedWOHHuqTpaZsTni9yyc+FwH4qP/Kjt6QegK7Hv1G+tP/CJ7+K1mTRsrEJkjUq55Q0a7hjHTblv+Y+u4o0Q==" + "license": "MIT" }, "node_modules/vue-class-component": { "version": "7.2.6", - "resolved": "https://registry.npmjs.org/vue-class-component/-/vue-class-component-7.2.6.tgz", - "integrity": "sha512-+eaQXVrAm/LldalI272PpDe3+i4mPis0ORiMYxF6Ae4hyuCh15W8Idet7wPUEs4N4YptgFHGys4UrgNQOMyO6w==", + "license": "MIT", "peerDependencies": { "vue": "^2.0.0" } }, "node_modules/vue-debounce-decorator": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/vue-debounce-decorator/-/vue-debounce-decorator-1.0.1.tgz", - "integrity": "sha512-2XUI5deMvWDK810Py3b002rpgGdBBUI1Qvggl1rfFo1kDBEo49FDYFYo1yBuwK+Bs7p3XqF++z0K37RuGjgmIQ==", "dev": true, + "license": "MIT", "dependencies": { "vue-class-component": "^6.3.2" } }, "node_modules/vue-debounce-decorator/node_modules/vue-class-component": { "version": "6.3.2", - "resolved": "https://registry.npmjs.org/vue-class-component/-/vue-class-component-6.3.2.tgz", - "integrity": "sha512-cH208IoM+jgZyEf/g7mnFyofwPDJTM/QvBNhYMjqGB8fCsRyTf68rH2ISw/G20tJv+5mIThQ3upKwoL4jLTr1A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/vue-eslint-parser": { "version": "8.3.0", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz", - "integrity": "sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^4.3.2", "eslint-scope": "^7.0.0", @@ -7324,10 +6453,9 @@ } }, "node_modules/vue-eslint-parser/node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "version": "8.11.2", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -7337,9 +6465,8 @@ }, "node_modules/vue-eslint-parser/node_modules/eslint-scope": { "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -7353,9 +6480,8 @@ }, "node_modules/vue-eslint-parser/node_modules/espree": { "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", @@ -7370,27 +6496,23 @@ }, "node_modules/vue-eslint-parser/node_modules/estraverse": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/vue-hotjar": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/vue-hotjar/-/vue-hotjar-1.4.0.tgz", - "integrity": "sha512-C/4lfjB1R3+eXiC+jSpNn3z0GWicpnADeRWpEHLdP2FSIi/AjupoIBikugHvGV334QYGUueXUyVZz6GHr+3eYQ==" + "license": "MIT" }, "node_modules/vue-i18n": { "version": "8.28.2", - "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.28.2.tgz", - "integrity": "sha512-C5GZjs1tYlAqjwymaaCPDjCyGo10ajUphiwA922jKt9n7KPpqR7oM1PCwYzhB/E7+nT3wfdG3oRre5raIT1rKA==" + "license": "MIT" }, "node_modules/vue-property-decorator": { "version": "9.1.2", - "resolved": "https://registry.npmjs.org/vue-property-decorator/-/vue-property-decorator-9.1.2.tgz", - "integrity": "sha512-xYA8MkZynPBGd/w5QFJ2d/NM0z/YeegMqYTphy7NJQXbZcuU6FC6AOdUAcy4SXP+YnkerC6AfH+ldg7PDk9ESQ==", + "license": "MIT", "peerDependencies": { "vue": "*", "vue-class-component": "*" @@ -7398,14 +6520,12 @@ }, "node_modules/vue-router": { "version": "3.6.5", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.6.5.tgz", - "integrity": "sha512-VYXZQLtjuvKxxcshuRAwjHnciqZVoXAjTjcqBTz4rKc8qih9g9pI3hbDjmqXaHdgL3v8pV6P8Z335XvHzESxLQ==" + "license": "MIT" }, "node_modules/vue-template-compiler": { "version": "2.7.14", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz", - "integrity": "sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "de-indent": "^1.0.2", @@ -7423,13 +6543,11 @@ }, "node_modules/vue2-filters": { "version": "0.14.0", - "resolved": "https://registry.npmjs.org/vue2-filters/-/vue2-filters-0.14.0.tgz", - "integrity": "sha512-2tFWC6gx1SVIr+6VXoufkL+bZa8Gn0/P09T/bnGjOEAGH1+eVT05bPm/VF2V/nL/HMyWkLdlvxKh9JNqpfFlyw==" + "license": "MIT" }, "node_modules/vuelidate": { "version": "0.6.2", - "resolved": "https://registry.npmjs.org/vuelidate/-/vuelidate-0.6.2.tgz", - "integrity": "sha512-rowo/OSwC8XEGdWg+ZgTpcgxYtmbQKbGOw4Z+lfT/BkNPoNyPEVgIeObUhhFO7Q7Lz0u0p429qfus/BHs9tMpg==", + "license": "MIT", "engines": { "node": ">= 4.0.0", "npm": ">= 3.0.0" @@ -7437,9 +6555,8 @@ }, "node_modules/vuelidate-property-decorators": { "version": "1.0.28", - "resolved": "https://registry.npmjs.org/vuelidate-property-decorators/-/vuelidate-property-decorators-1.0.28.tgz", - "integrity": "sha512-ktb+9bYkTSmUFLi9g7gMGY035F5WvNnBQ/yl1U8MlclcFT65bYU/vBQ5HcZ4T1Ko6IL5wIPD4XJ+KkllKvgycg==", "dev": true, + "license": "MIT", "dependencies": { "vue-class-component": "^7.0.1", "vuelidate": "^0.7.4" @@ -7447,9 +6564,8 @@ }, "node_modules/vuelidate-property-decorators/node_modules/vuelidate": { "version": "0.7.7", - "resolved": "https://registry.npmjs.org/vuelidate/-/vuelidate-0.7.7.tgz", - "integrity": "sha512-pT/U2lDI67wkIqI4tum7cMSIfGcAMfB+Phtqh2ttdXURwvHRBJEAQ0tVbUsW9Upg83Q5QH59bnCoXI7A9JDGnA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4.0.0", "npm": ">= 3.0.0" @@ -7457,8 +6573,7 @@ }, "node_modules/vuetify": { "version": "2.7.1", - "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-2.7.1.tgz", - "integrity": "sha512-DVFmRsDtYrITw9yuGLwpFWngFYzEgk0KwloDCIV3+vhZw+NBFJOSzdbttbYmOwtqvQlhDxUyIRQolrRbSFAKlg==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/johnleider" @@ -7469,17 +6584,15 @@ }, "node_modules/vuex": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.6.2.tgz", - "integrity": "sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw==", + "license": "MIT", "peerDependencies": { "vue": "^2.0.0" } }, "node_modules/vuex-class": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/vuex-class/-/vuex-class-0.3.2.tgz", - "integrity": "sha512-m0w7/FMsNcwJgunJeM+wcNaHzK2KX1K1rw2WUQf7Q16ndXHo7pflRyOV/E8795JO/7fstyjH3EgqBI4h4n4qXQ==", "dev": true, + "license": "MIT", "peerDependencies": { "vue": "^2.5.0", "vue-class-component": "^6.0.0 || ^7.0.0", @@ -7488,10 +6601,9 @@ }, "node_modules/vuex-module-decorators": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/vuex-module-decorators/-/vuex-module-decorators-1.2.0.tgz", - "integrity": "sha512-3lHp75qVgrNXUpFKs4J4eRnrxjY3BYUkHwR+ZKvvIycw/7tDwlL0RPuiYLwrHEUBTvJePSZaehZJ0BMTw1/ugQ==", "dev": true, "hasInstallScript": true, + "license": "MIT", "engines": { "node": ">= 8", "npm": ">= 5", @@ -7504,9 +6616,8 @@ }, "node_modules/w3c-xmlserializer": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", - "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", "dev": true, + "license": "MIT", "dependencies": { "xml-name-validator": "^4.0.0" }, @@ -7516,18 +6627,16 @@ }, "node_modules/webidl-conversions": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=12" } }, "node_modules/whatwg-encoding": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", "dev": true, + "license": "MIT", "dependencies": { "iconv-lite": "0.6.3" }, @@ -7537,18 +6646,16 @@ }, "node_modules/whatwg-mimetype": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" } }, "node_modules/whatwg-url": { "version": "12.0.1", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-12.0.1.tgz", - "integrity": "sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==", "dev": true, + "license": "MIT", "dependencies": { "tr46": "^4.1.1", "webidl-conversions": "^7.0.0" @@ -7559,9 +6666,8 @@ }, "node_modules/which": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -7574,9 +6680,8 @@ }, "node_modules/which-boxed-primitive": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, + "license": "MIT", "dependencies": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -7589,13 +6694,12 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", - "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", + "version": "1.1.13", "dev": true, + "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "call-bind": "^1.0.4", "for-each": "^0.3.3", "gopd": "^1.0.1", "has-tostringtag": "^1.0.0" @@ -7609,9 +6713,8 @@ }, "node_modules/why-is-node-running": { "version": "2.2.2", - "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", - "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", "dev": true, + "license": "MIT", "dependencies": { "siginfo": "^2.0.0", "stackback": "0.0.2" @@ -7623,26 +6726,15 @@ "node": ">=8" } }, - "node_modules/wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "optional": true, - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, "node_modules/wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "devOptional": true + "dev": true, + "license": "ISC" }, "node_modules/ws": { "version": "8.14.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", - "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -7661,30 +6753,26 @@ }, "node_modules/xml-name-validator": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=12" } }, "node_modules/xmlchars": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "devOptional": true + "dev": true, + "license": "ISC" }, "node_modules/yocto-queue": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", "dev": true, + "license": "MIT", "engines": { "node": ">=12.20" }, diff --git a/package.json b/package.json index 326bc7874..14a1b11c5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "business-filings-ui", - "version": "6.10.0", + "version": "8.0.0", "private": true, "appName": "Filings UI", "sbcName": "SBC Common Components", @@ -14,20 +14,22 @@ }, "dependencies": { "@babel/compat-data": "^7.21.5", - "@bcrs-shared-components/base-address": "2.0.7", + "@bcrs-shared-components/base-address": "2.0.9", "@bcrs-shared-components/breadcrumb": "2.1.11", "@bcrs-shared-components/confirm-dialog": "1.2.1", - "@bcrs-shared-components/corp-type-module": "1.0.11", + "@bcrs-shared-components/corp-type-module": "1.0.14", "@bcrs-shared-components/court-order-poa": "2.1.4", + "@bcrs-shared-components/date-picker": "1.2.39", "@bcrs-shared-components/document-delivery": "1.2.1", - "@bcrs-shared-components/enums": "1.0.50", - "@bcrs-shared-components/expandable-help": "^1.0.0", + "@bcrs-shared-components/enums": "1.1.4", + "@bcrs-shared-components/expandable-help": "1.0.1", "@bcrs-shared-components/folio-number-input": "1.1.18", - "@bcrs-shared-components/interfaces": "1.0.75", - "@bcrs-shared-components/mixins": "1.1.25", + "@bcrs-shared-components/interfaces": "1.1.2", + "@bcrs-shared-components/mixins": "1.1.30", "@bcrs-shared-components/staff-comments": "1.3.11", "@bcrs-shared-components/staff-payment": "2.1.11", "@mdi/font": "^5.9.55", + "@reactivex/rxjs": "^6.6.7", "@sentry/integrations": "^7.50.0", "@sentry/vue": "^7.50.0", "axios": "^0.27.2", @@ -44,6 +46,7 @@ "qrcode.vue": "1.7.0", "regenerator-runtime": "^0.13.11", "register-service-worker": "^1.7.2", + "rxjs": "^7.8.1", "sbc-common-components": "3.0.8", "vue": "2.7.14", "vue-affix": "^0.5.2", @@ -76,7 +79,7 @@ "sass": "^1.55.0", "sinon": "^14.0.2", "typescript": "4.5.5", - "vite": "4.3.9", + "vite": "4.5.2", "vite-plugin-environment": "^1.1.3", "vitest": "0.33.0", "vue-class-component": "^7.2.6", diff --git a/src/App.vue b/src/App.vue index bdd65bbab..b96c571c7 100644 --- a/src/App.vue +++ b/src/App.vue @@ -75,10 +75,10 @@ - +
@@ -88,7 +88,7 @@ indeterminate />
- Fetching Data + {{ spinnerText }}
@@ -104,7 +104,7 @@ type="warning" >
@@ -114,6 +114,7 @@
{ const breadcrumbs = this.$route?.meta?.breadcrumb @@ -393,6 +410,7 @@ export default { 'setRecordsAddress', 'setRegisteredAddress', 'setTasks', + 'setUserInfo', 'setUserKeycloakGuid' ]), @@ -436,12 +454,14 @@ export default { // fetch user info and update Launch Darkly // and save user's Keycloak GUID try { - const userInfo = await AuthServices.fetchUserInfo(this.getAuthApiUrl).then(response => response?.data) + const userInfo = await AuthServices.fetchUserInfo(this.getAuthApiUrl) + this.setUserInfo(userInfo) await this.updateLaunchDarkly(userInfo) this.setUserKeycloakGuid(userInfo.keycloakGuid) } catch (error) { // just log the error -- no need to halt app - console.log('Error updating Launch Darkly =', error) // eslint-disable-line no-console + // eslint-disable-next-line no-console + console.log('Error fetching user info or updating Launch Darkly =', error) } // is this a business entity? @@ -460,7 +480,7 @@ export default { } } - // is this a draft app entity? + // is this a draft app entity (incorporation/registration/amalgamation)? if (this.tempRegNumber) { try { await this.fetchDraftAppData() // throws on error @@ -520,15 +540,15 @@ export default { async fetchDraftAppData (): Promise { this.nameRequestInvalidType = null // reset for new fetches - const draft = await LegalServices.fetchDraftApp(this.tempRegNumber) + const application = await LegalServices.fetchDraftApp(this.tempRegNumber) - // Handle Draft filings - this.storeDraftApp(draft) + // handle draft application + this.storeDraftApp(application) - // if the draft has a NR, load it - if (this.localNrNumber) { + // if this app is a task (not a filing), and it has a NR, load it + if (this.isAppTask && this.localNrNumber) { const nr = await LegalServices.fetchNameRequest(this.localNrNumber) - this.storeNrData(nr, draft) + this.storeNrData(nr, application) } }, @@ -607,23 +627,53 @@ export default { } }, - /** Verifies and stores a draft applications data. */ + /** Verifies and stores a draft application's data. */ storeDraftApp (application: any): void { const filing = application?.filing const filingName = filing.header?.name as FilingTypes + if (!filing || !filing.header || !filingName) { throw new Error(`Invalid ${filingName} filing`) } - if (![FilingTypes.INCORPORATION_APPLICATION, FilingTypes.REGISTRATION].includes(filingName)) { - throw new Error(`Invalid ${filingName} filing - filing name`) - } - const status = filing.header.status as FilingStatus if (!status) { throw new Error(`Invalid ${filingName} filing - filing status`) } + const isAmalgamation = (filingName === FilingTypes.AMALGAMATION_APPLICATION) + const isIncorporationApplication = (filingName === FilingTypes.INCORPORATION_APPLICATION) + const isRegistration = (filingName === FilingTypes.REGISTRATION) + + let entityStatus: EntityStatus + switch (status) { + case FilingStatus.DRAFT: + case FilingStatus.PENDING: + // this is a draft application + if (isAmalgamation) entityStatus = EntityStatus.DRAFT_AMALGAMATION + else if (isIncorporationApplication) entityStatus = EntityStatus.DRAFT_INCORP_APP + else if (isRegistration) entityStatus = EntityStatus.DRAFT_REGISTRATION + else throw new Error(`Invalid ${filingName} filing - filing name`) + break + + case FilingStatus.COMPLETED: + case FilingStatus.PAID: + // this is a filed application + if (isAmalgamation) entityStatus = EntityStatus.FILED_AMALGAMATION + else if (isIncorporationApplication) entityStatus = EntityStatus.FILED_INCORP_APP + else if (isRegistration) entityStatus = EntityStatus.FILED_REGISTRATION + else throw new Error(`Invalid ${filingName} filing - filing name`) + break + + default: + throw new Error(`Invalid ${filingName} filing - filing status`) + } + + // special check for amalgamation application + if (isAmalgamation && !filing.amalgamationApplication.type) { + throw new Error('Missing amalgamation type') + } + // NB: different object from actual NR const nameRequest = filing[filingName].nameRequest as { legalName?: string @@ -641,11 +691,10 @@ export default { } // store business info + this.setEntityStatus(entityStatus) this.setIdentifier(this.tempRegNumber) this.setLegalType(legalType) - - // Draft Applications are always in good standing - this.setGoodStanding(true) + this.setGoodStanding(true) // draft apps are always in good standing // save local NR Number if present this.localNrNumber = nameRequest.nrNumber || null @@ -653,29 +702,27 @@ export default { // store Legal Name if present if (nameRequest.legalName) this.setLegalName(nameRequest.legalName) - switch (status) { - case FilingStatus.DRAFT: - case FilingStatus.PENDING: - // this is a draft application - this.setEntityStatus(EntityStatus.DRAFT_APP) - this.storeDraftAppTask(application) - break - - case FilingStatus.COMPLETED: - case FilingStatus.PAID: - // this is a filed application - this.setEntityStatus(EntityStatus.FILED_APP) - this.storeFiledApp(application) - break - - default: - throw new Error(`Invalid ${filingName} filing - filing status`) - } + // store the application in the right list + if (this.isAppTask) this.storeDraftAppTask(application) + else if (this.isAppFiling) this.storeDraftAppFiling(application) + else throw new Error(`Invalid ${filingName} filing - filing status`) }, /** Stores draft application as a task in the Todo List. */ storeDraftAppTask (application: any): void { const filing = application.filing as TaskTodoIF + // NB: these were already validated in storeDraftApp() + const header = filing.header + const data = filing[header.name] + + const description = GetCorpFullDescription(data.nameRequest.legalType) + const dba = this.isSoleProp ? ' / Doing Business As (DBA) ' : ' ' + const filingName = EnumUtilities.filingTypeToName(header.name, null, data.type) + + // save display name for later + filing.displayName = `${description}${dba}${filingName}` + + // add this as a task item const taskItem: ApiTaskIF = { enabled: true, order: 1, @@ -685,29 +732,34 @@ export default { }, /** Stores filed application as a filing in the Filing History List. */ - storeFiledApp (filedApplication: any): void { - const filing = filedApplication.filing as TaskTodoIF + storeDraftAppFiling (application: any): void { + const filing = application.filing as TaskTodoIF // NB: these were already validated in storeDraftApp() const header = filing.header - const application = filing[header.name] + const data = filing[header.name] // set addresses - this.storeAddresses({ data: application.offices || [] }) + this.storeAddresses({ data: data.offices || [] }) + + // set parties + this.storeParties({ data: { parties: data.parties || [] } }) - // Set parties - this.storeParties({ data: { parties: application.parties || [] } }) + const description = GetCorpFullDescription(data.nameRequest.legalType) + const filingName = EnumUtilities.filingTypeToName(header.name, null, data.type) - // add this as a filing (for Filing History List) + // add this as a filing item const filingItem = { availableOnPaperOnly: header.availableOnPaperOnly, businessIdentifier: this.getIdentifier, - commentsCount: filedApplication.commentsCount, - commentsLink: filedApplication.commentsLink, - displayName: EnumUtilities.filingTypeToName(header.name), - documentsLink: filedApplication.documentsLink, + commentsCount: application.commentsCount, + commentsLink: application.commentsLink, + displayLedger: application.displayLedger, + displayName: `${description} ${filingName}`, + documentsLink: application.documentsLink, effectiveDate: this.apiToUtcString(header.effectiveDate), filingId: header.filingId, - filingLink: filedApplication.filingLink, + filingLink: application.filingLink, + filingSubType: data.type, isFutureEffective: header.isFutureEffective, name: header.name, status: header.status, @@ -721,7 +773,7 @@ export default { this.setFilings([filingItem]) }, - storeNrData (nr: NameRequestIF, ia: any): void { + storeNrData (nr: NameRequestIF, app: any): void { // verify that NR is valid const error = this.isNrInvalid(nr) if (error) { @@ -737,7 +789,7 @@ export default { // if IA is not yet completed, check if NR is consumable // (once IA is completed, NR state will be CONSUMED) - if (ia.filing.header.status !== FilingStatus.COMPLETED) { + if (app.filing.header.status !== FilingStatus.COMPLETED) { const nrState = this.getNrState(nr) as NameRequestStates if (nrState !== NameRequestStates.APPROVED && nrState !== NameRequestStates.CONDITIONAL) { this.nameRequestInvalidDialog = true diff --git a/src/assets/images/bc_wallet_app.png b/src/assets/images/bc_wallet_app.png new file mode 100644 index 0000000000000000000000000000000000000000..b0b51dc01fb630435cf5535667a3b3464b1bd73d GIT binary patch literal 7278 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 IM6N<$g5KS+rvLx| literal 0 HcmV?d00001 diff --git a/src/assets/images/bc_wallet_app_store.png b/src/assets/images/bc_wallet_app_store.png new file mode 100644 index 0000000000000000000000000000000000000000..7d2ced331e9f1bfae4a5bf19e742f5e93510b6fe GIT binary patch literal 149784 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/business_card_feature.png b/src/assets/images/business_card_feature.png new file mode 100644 index 0000000000000000000000000000000000000000..b5abde33a0ff7ad3185ad08137c109e085fd9f54 GIT binary patch literal 53909 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 ZcFXe-ZbdZxAYd5SVpngM3r^JZ{{t3WpFRKp literal 0 HcmV?d00001 diff --git a/src/assets/images/business_card_issuance_steps.png b/src/assets/images/business_card_issuance_steps.png new file mode 100644 index 0000000000000000000000000000000000000000..fa2b41056c6898a9e668216e752220d2b99ce332 GIT binary patch literal 141569 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 EqvQl@IGnxHA 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 literal 0 HcmV?d00001 diff --git a/src/assets/styles/base.scss b/src/assets/styles/base.scss index 27e1fa2b7..a5495009f 100644 --- a/src/assets/styles/base.scss +++ b/src/assets/styles/base.scss @@ -315,6 +315,32 @@ ul.list { border-left: 1px solid $gray6; } -.colour-dk-text { +.message-box { + background-color: $BCgovGold0 !important; + border-color: $BCgovGold5 !important; + border-radius: 0; + + p { + margin: 1.25rem; + padding: 0; + font-size: $px-14; + letter-spacing: 0.01rem; + color: $gray7; + } +} + +.color-dk-text { color: $gray9 !important; } + +.bg-color-blue { + background-color: $BCgovBlue5O !important; +} + +.word-break-normal { + word-break: normal; +} + +.overflow-auto { + overflow: auto; +} diff --git a/src/assets/styles/theme.scss b/src/assets/styles/theme.scss index 95d93ad2d..4bdc381c7 100644 --- a/src/assets/styles/theme.scss +++ b/src/assets/styles/theme.scss @@ -81,3 +81,7 @@ $px-15: 0.9375rem; $px-16: 1.0000rem; $px-20: 1.2500rem; $px-24: 1.5000rem; +$px-28: 1.7500rem; +$px-32: 2.0000rem; +$px-34: 2.1250rem; +$px-36: 2.2500rem; \ No newline at end of file diff --git a/src/components/AgmExtension/AboutTheBusiness.vue b/src/components/AgmExtension/AboutTheBusiness.vue new file mode 100644 index 000000000..f65ca08b7 --- /dev/null +++ b/src/components/AgmExtension/AboutTheBusiness.vue @@ -0,0 +1,80 @@ + + + + + diff --git a/src/components/AgmExtension/AgmExtensionEvaluation.vue b/src/components/AgmExtension/AgmExtensionEvaluation.vue new file mode 100644 index 000000000..b7bc4d3ed --- /dev/null +++ b/src/components/AgmExtension/AgmExtensionEvaluation.vue @@ -0,0 +1,135 @@ + + + diff --git a/src/components/AgmExtension/AgmExtensionHelp.vue b/src/components/AgmExtension/AgmExtensionHelp.vue new file mode 100644 index 000000000..8ff89a828 --- /dev/null +++ b/src/components/AgmExtension/AgmExtensionHelp.vue @@ -0,0 +1,31 @@ + + + diff --git a/src/components/AgmExtension/ExtensionRequest.vue b/src/components/AgmExtension/ExtensionRequest.vue new file mode 100644 index 000000000..b46c693b5 --- /dev/null +++ b/src/components/AgmExtension/ExtensionRequest.vue @@ -0,0 +1,529 @@ + + + + + diff --git a/src/components/AgmLocationChange/AgmLocation.vue b/src/components/AgmLocationChange/AgmLocation.vue new file mode 100644 index 000000000..84b91ca96 --- /dev/null +++ b/src/components/AgmLocationChange/AgmLocation.vue @@ -0,0 +1,67 @@ + + + diff --git a/src/components/AgmLocationChange/AgmYear.vue b/src/components/AgmLocationChange/AgmYear.vue new file mode 100644 index 000000000..c8fa7cc78 --- /dev/null +++ b/src/components/AgmLocationChange/AgmYear.vue @@ -0,0 +1,76 @@ + + + diff --git a/src/components/Dashboard/Alerts/Amalgamation.vue b/src/components/Dashboard/Alerts/Amalgamation.vue new file mode 100644 index 000000000..120bbeb92 --- /dev/null +++ b/src/components/Dashboard/Alerts/Amalgamation.vue @@ -0,0 +1,127 @@ + + + + + diff --git a/src/components/Dashboard/FilingHistoryList.vue b/src/components/Dashboard/FilingHistoryList.vue index e146c4610..060204124 100644 --- a/src/components/Dashboard/FilingHistoryList.vue +++ b/src/components/Dashboard/FilingHistoryList.vue @@ -143,7 +143,9 @@ export default class FilingHistoryList extends Mixins(FilingMixin) { is (filing: ApiFilingIF): string { switch (true) { case filing.availableOnPaperOnly: return 'paper-filing' // must come first + case EnumUtilities.isTypeAgmExtension(filing): return 'agm-extension' case EnumUtilities.isTypeAlteration(filing): return 'alteration-filing' + case EnumUtilities.isTypeAmalgamation(filing): return 'amalgamation-filing' case EnumUtilities.isTypeChangeOfAddress(filing): return 'change-of-address' case EnumUtilities.isTypeConsentContinuationOut(filing): return 'consent-continuation-out' case EnumUtilities.isTypeContinuationOut(filing): return 'continuation-out' @@ -231,7 +233,9 @@ export default class FilingHistoryList extends Mixins(FilingMixin) { } :deep(.v-expansion-panel-header) { + min-height: auto !important; padding: 0; + margin-top: 0.25rem; .v-expansion-panel-header__icon { display: none; diff --git a/src/components/Dashboard/FilingHistoryList/FilingTemplate.vue b/src/components/Dashboard/FilingHistoryList/FilingTemplate.vue index d7ce4941f..0c13d6296 100644 --- a/src/components/Dashboard/FilingHistoryList/FilingTemplate.vue +++ b/src/components/Dashboard/FilingHistoryList/FilingTemplate.vue @@ -53,7 +53,7 @@

- +
The period of restoration was successfuly extended and is active - until {{ expiryDateFriendly }}. At the end of the extended limited - restoration period, the company will be automatically dissolved. If you require assistance - to extend a limited restoration/reinstatement or wish to convert your restoration from a - limited period to a full restoration, please contact BC Registries staff: + until {{ expiryDateFriendly || '[unknown]' }}. At the end of the extended + limited restoration period, the company will be automatically dissolved. If you require + assistance to extend a limited restoration/reinstatement or wish to convert your restoration + from a limited period to a full restoration, please contact BC Registries staff:

@@ -33,7 +33,7 @@ export default class LimitedRestorationExtensionFiling extends Vue { /** The expiry date of the limited restoration extension filing. */ get expiryDateFriendly (): string { const date = DateUtilities.yyyyMmDdToDate(this.filing.expiry) - return (DateUtilities.dateToPacificDate(date, true) || 'Unknown') + return DateUtilities.dateToPacificDate(date, true) } } diff --git a/src/components/Dashboard/FilingHistoryList/filings/AgmExtension.vue b/src/components/Dashboard/FilingHistoryList/filings/AgmExtension.vue new file mode 100644 index 000000000..935ab7de1 --- /dev/null +++ b/src/components/Dashboard/FilingHistoryList/filings/AgmExtension.vue @@ -0,0 +1,57 @@ + + + + + diff --git a/src/components/Dashboard/FilingHistoryList/filings/AmalgamationFiling.vue b/src/components/Dashboard/FilingHistoryList/filings/AmalgamationFiling.vue new file mode 100644 index 000000000..130586ad3 --- /dev/null +++ b/src/components/Dashboard/FilingHistoryList/filings/AmalgamationFiling.vue @@ -0,0 +1,145 @@ + + + + + diff --git a/src/components/Dashboard/FilingHistoryList/filings/ConsentContinuationOut.vue b/src/components/Dashboard/FilingHistoryList/filings/ConsentContinuationOut.vue index b894830d0..95be34f96 100644 --- a/src/components/Dashboard/FilingHistoryList/filings/ConsentContinuationOut.vue +++ b/src/components/Dashboard/FilingHistoryList/filings/ConsentContinuationOut.vue @@ -73,7 +73,7 @@ export default class ConsentContinuationOut extends Mixins(CountriesProvincesMix /** Check if Consent is Expired. */ get isConsentExpired (): boolean { const date = DateUtilities.apiToDate(this.filing.data?.consentContinuationOut?.expiry) - const daysToExpire = DateUtilities.daysFromToday(new Date(), date) + const daysToExpire = DateUtilities.daysBetweenTwoDates(new Date(), date) if (isNaN(daysToExpire) || daysToExpire < 0) { return true } @@ -112,12 +112,16 @@ export default class ConsentContinuationOut extends Mixins(CountriesProvincesMix } private getRegionNameFromCode (short: string): string { + if (short === 'FEDERAL') { + return 'Federal' + } + const region = this.canadaUsaRegions?.find(region => region.short === short) return region?.name } /** Get the respective regions of the country selected as an array of objects. */ - get canadaUsaRegions (): Array { + get canadaUsaRegions (): Array { const foreignJusrisdictionCountry = this.filing.data?.consentContinuationOut?.country if (foreignJusrisdictionCountry === 'CA') { return this.getCountryRegions('CA') @@ -141,5 +145,4 @@ p { .warn-icon { margin-bottom: 6px; } - diff --git a/src/components/Dashboard/FilingHistoryList/filings/ContinuationOut.vue b/src/components/Dashboard/FilingHistoryList/filings/ContinuationOut.vue index debb201c1..356f69a93 100644 --- a/src/components/Dashboard/FilingHistoryList/filings/ContinuationOut.vue +++ b/src/components/Dashboard/FilingHistoryList/filings/ContinuationOut.vue @@ -73,7 +73,7 @@ export default class ContinuationOut extends Mixins(CountriesProvincesMixin) { } /** Get the respective regions of the country selected as an array of objects. */ - get canadaUsaRegions (): Array { + get canadaUsaRegions (): Array { const foreignJusrisdictionCountry = this.filing.data?.continuationOut?.country if (foreignJusrisdictionCountry === 'CA') { return this.getCountryRegions('CA') diff --git a/src/components/Dashboard/FilingHistoryList/filings/IncorporationApplication.vue b/src/components/Dashboard/FilingHistoryList/filings/IncorporationApplication.vue index 5149d17ab..18d9f5beb 100644 --- a/src/components/Dashboard/FilingHistoryList/filings/IncorporationApplication.vue +++ b/src/components/Dashboard/FilingHistoryList/filings/IncorporationApplication.vue @@ -32,13 +32,13 @@ />

Incorporation Complete

- {{ getLegalName || 'A Numbered Benefit Company' }} has been successfully incorporated. + {{ companyName }} has been successfully incorporated.

@@ -84,9 +84,15 @@ export default class IncorporationApplication extends Vue { @Prop({ required: true }) readonly filing!: ApiFilingIF @Prop({ required: true }) readonly index!: number + @Getter(useBusinessStore) getEntityName!: string @Getter(useBusinessStore) getLegalName!: string @Getter(useConfigurationStore) getMyBusinessRegistryUrl!: string + /** The Temporary Registration Number string (may be null). */ + get tempRegNumber (): string { + return sessionStorage.getItem('TEMP_REG_NUMBER') + } + /** Whether this filing is in Complete status. */ get isStatusCompleted (): boolean { return EnumUtilities.isStatusCompleted(this.filing) @@ -110,6 +116,13 @@ export default class IncorporationApplication extends Vue { ) } + /** The legal name or numbered description of the new company. */ + get companyName (): string { + if (this.getLegalName) return this.getLegalName + if (this.getEntityName) return `A ${this.getEntityName}` + return 'Unknown Name' + } + returnToMyBusinessRegistry (): void { navigate(this.getMyBusinessRegistryUrl) } diff --git a/src/components/Dashboard/FilingHistoryList/filings/RegistrationFiling.vue b/src/components/Dashboard/FilingHistoryList/filings/RegistrationFiling.vue index 99b13b723..1b9643f03 100644 --- a/src/components/Dashboard/FilingHistoryList/filings/RegistrationFiling.vue +++ b/src/components/Dashboard/FilingHistoryList/filings/RegistrationFiling.vue @@ -6,14 +6,18 @@ > diff --git a/src/components/DigitalCredentials/CredentialsWebSocket.vue b/src/components/DigitalCredentials/CredentialsWebSocket.vue new file mode 100644 index 000000000..52f6ce5b8 --- /dev/null +++ b/src/components/DigitalCredentials/CredentialsWebSocket.vue @@ -0,0 +1,107 @@ + + + diff --git a/src/components/DigitalCredentials/DigitalWalletDownload.vue b/src/components/DigitalCredentials/DigitalWalletDownload.vue deleted file mode 100644 index 886fbcc5b..000000000 --- a/src/components/DigitalCredentials/DigitalWalletDownload.vue +++ /dev/null @@ -1,192 +0,0 @@ - - - - - diff --git a/src/components/DigitalCredentials/IssueCredentials.vue b/src/components/DigitalCredentials/IssueCredentials.vue deleted file mode 100644 index 720922de6..000000000 --- a/src/components/DigitalCredentials/IssueCredentials.vue +++ /dev/null @@ -1,165 +0,0 @@ - - - - - diff --git a/src/components/DigitalCredentials/RegisterWallet.vue b/src/components/DigitalCredentials/RegisterWallet.vue deleted file mode 100644 index 472de3dfb..000000000 --- a/src/components/DigitalCredentials/RegisterWallet.vue +++ /dev/null @@ -1,107 +0,0 @@ - - - - - diff --git a/src/components/DigitalCredentials/dialogs/ConfirmCredentialsTermsofUseDialog.vue b/src/components/DigitalCredentials/dialogs/ConfirmCredentialsTermsofUseDialog.vue new file mode 100644 index 000000000..dfbc79cb3 --- /dev/null +++ b/src/components/DigitalCredentials/dialogs/ConfirmCredentialsTermsofUseDialog.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/components/DigitalCredentials/dialogs/ConfirmReplaceCredentialDialog.vue b/src/components/DigitalCredentials/dialogs/ConfirmReplaceCredentialDialog.vue new file mode 100644 index 000000000..1cee667cc --- /dev/null +++ b/src/components/DigitalCredentials/dialogs/ConfirmReplaceCredentialDialog.vue @@ -0,0 +1,128 @@ + + + + + diff --git a/src/components/DigitalCredentials/dialogs/ConfirmRevokeCredentialDialog.vue b/src/components/DigitalCredentials/dialogs/ConfirmRevokeCredentialDialog.vue new file mode 100644 index 000000000..a57e63f9d --- /dev/null +++ b/src/components/DigitalCredentials/dialogs/ConfirmRevokeCredentialDialog.vue @@ -0,0 +1,128 @@ + + + + + diff --git a/src/components/DigitalCredentials/dialogs/CredentialNotReceivedDialog.vue b/src/components/DigitalCredentials/dialogs/CredentialNotReceivedDialog.vue new file mode 100644 index 000000000..5ef6cd123 --- /dev/null +++ b/src/components/DigitalCredentials/dialogs/CredentialNotReceivedDialog.vue @@ -0,0 +1,131 @@ + + + + + diff --git a/src/components/DigitalCredentials/dialogs/CredentialRevokedDialog.vue b/src/components/DigitalCredentials/dialogs/CredentialRevokedDialog.vue new file mode 100644 index 000000000..254d26e4d --- /dev/null +++ b/src/components/DigitalCredentials/dialogs/CredentialRevokedDialog.vue @@ -0,0 +1,88 @@ + + + + + diff --git a/src/components/DigitalCredentials/dialogs/ReplaceCredentialErrorDialog.vue b/src/components/DigitalCredentials/dialogs/ReplaceCredentialErrorDialog.vue new file mode 100644 index 000000000..99ca55521 --- /dev/null +++ b/src/components/DigitalCredentials/dialogs/ReplaceCredentialErrorDialog.vue @@ -0,0 +1,67 @@ + + + diff --git a/src/components/DigitalCredentials/dialogs/RevokeCredentialErrorDialog.vue b/src/components/DigitalCredentials/dialogs/RevokeCredentialErrorDialog.vue new file mode 100644 index 000000000..98e1aa328 --- /dev/null +++ b/src/components/DigitalCredentials/dialogs/RevokeCredentialErrorDialog.vue @@ -0,0 +1,67 @@ + + + diff --git a/src/components/DigitalCredentials/enums/routes.ts b/src/components/DigitalCredentials/enums/routes.ts new file mode 100644 index 000000000..6229a60d9 --- /dev/null +++ b/src/components/DigitalCredentials/enums/routes.ts @@ -0,0 +1,4 @@ +export enum Routes { + DIGITAL_CREDENTIALS = 'digital-credentials', // Root route for Digital Credentials + ISSUE_CREDENTIAL = 'issue' +} diff --git a/src/components/DigitalCredentials/index.ts b/src/components/DigitalCredentials/index.ts index 820f90882..9b8bcad17 100644 --- a/src/components/DigitalCredentials/index.ts +++ b/src/components/DigitalCredentials/index.ts @@ -1,5 +1,8 @@ +export { default as CredentialsDashboard } from './CredentialsDashboard.vue' +export { default as CredentialsDetailSteps } from './CredentialsDetailSteps.vue' +export { default as CredentialsInfo } from './CredentialsInfo.vue' export { default as CredentialsLanding } from './CredentialsLanding.vue' -export { default as DigitalWalletDownload } from './DigitalWalletDownload.vue' -export { default as RegisterWallet } from './RegisterWallet.vue' -export { default as IssueCredentials } from './IssueCredentials.vue' -export { default as CredentialsFooter } from './CredentialsFooter.vue' +export { default as CredentialsSimpleSteps } from './CredentialsSimpleSteps.vue' +export { default as CredentialsStepper } from './CredentialsStepper.vue' +export { default as CredentialsTable } from './CredentialsTable.vue' +export { default as CredentialsWebSocket } from './CredentialsWebSocket.vue' diff --git a/src/components/EntityInfo.vue b/src/components/EntityInfo.vue index c06b792fd..33c2438e7 100644 --- a/src/components/EntityInfo.vue +++ b/src/components/EntityInfo.vue @@ -18,7 +18,7 @@ :tempRegNumber="tempRegNumber" /> route.path.includes(DCRoutes.DIGITAL_CREDENTIALS)) + } + /** The Temporary Registration Number string (may be null). */ get tempRegNumber (): string { return sessionStorage.getItem('TEMP_REG_NUMBER') diff --git a/src/components/EntityInfo/EntityHeader.vue b/src/components/EntityInfo/EntityHeader.vue index b1709e5f9..7e271eeaa 100644 --- a/src/components/EntityInfo/EntityHeader.vue +++ b/src/components/EntityInfo/EntityHeader.vue @@ -72,18 +72,18 @@ @@ -95,6 +95,7 @@ import { Getter } from 'pinia-class' import { CorpTypeCd, GetCorpFullDescription } from '@bcrs-shared-components/corp-type-module' import { FilingNames } from '@/enums' import { useBusinessStore, useFilingHistoryListStore, useRootStore } from '@/stores' +import { ApiFilingIF, ApiTaskIF } from '@/interfaces' @Component({}) export default class EntityHeader extends Vue { @@ -102,10 +103,14 @@ export default class EntityHeader extends Vue { @Prop({ required: true }) readonly tempRegNumber!: string // may be null @Getter(useBusinessStore) getEntityName!: string + @Getter(useFilingHistoryListStore) getFilings!: ApiFilingIF[] @Getter(useBusinessStore) getLegalType!: CorpTypeCd @Getter(useRootStore) getLimitedRestorationActiveUntil!: string @Getter(useRootStore) getReasonText!: string + @Getter(useRootStore) getTasks!: ApiTaskIF[] @Getter(useFilingHistoryListStore) isAuthorizedToContinueOut!: boolean + @Getter(useRootStore) isDraftAmalgamation!: boolean + @Getter(useRootStore) isFiledAmalgamation!: boolean @Getter(useBusinessStore) isHistorical!: boolean @Getter(useRootStore) isInLimitedRestoration!: boolean @Getter(useBusinessStore) isSoleProp!: boolean @@ -120,8 +125,15 @@ export default class EntityHeader extends Vue { } } - /** The incorporation application or registration description. */ - get iaRegDescription (): string { + /** The incorporation/registration/amalgamation application description. */ + get appDescription (): string { + if (this.isDraftAmalgamation) { + return this.getTasks[0]?.task.filing.displayName + } + if (this.isFiledAmalgamation) { + return this.getFilings[0]?.displayName + } + const filingName = [CorpTypeCd.SOLE_PROP, CorpTypeCd.PARTNERSHIP].includes(this.getLegalType) ? FilingNames.REGISTRATION : FilingNames.INCORPORATION_APPLICATION @@ -136,7 +148,7 @@ export default class EntityHeader extends Vue { @import '@/assets/styles/theme.scss'; #entity-legal-name, -#ia-reg-name { +#app-name { display: inline-block; color: $gray9; letter-spacing: -0.01rem; @@ -148,7 +160,7 @@ export default class EntityHeader extends Vue { #business-description, #limited-restoration, #active-util, -#ia-reg-description { +#app-description { font-size: $px-14; color: $gray7; } diff --git a/src/components/EntityInfo/EntityMenu.vue b/src/components/EntityInfo/EntityMenu.vue index 9e70d9e1f..0ab4cc0c2 100644 --- a/src/components/EntityInfo/EntityMenu.vue +++ b/src/components/EntityInfo/EntityMenu.vue @@ -69,32 +69,8 @@ - - - - - Manage the digital credentials generated for the business. - - - - + - - - - Dissolving the business will make this business historical - and it will be struck from the corporate registry. - - - - - - Submit a Consent to Continue Out of the province of B.C. - - - - - - Request an AGM extension. The longest extension granted at one time is six months. - - - - - - Request an AGM location change. - + + + + + Manage the digital cards generated for the business. + + + + + + + + Dissolving the business will make this business historical + and it will be struck from the corporate registry. + + + + + + Submit a Consent to Continue Out of the province of B.C. + + + + + + {{ agmExtensionToolTipText }} + + + + + + {{ agmLocationChgToolTipText }} + + + + + + {{ amalgamateTooltipText }} + + @@ -230,6 +265,7 @@ export default class EntityMenu extends Mixins(AllowableActionsMixin) { @Getter(useConfigurationStore) getEditUrl!: string @Getter(useBusinessStore) getIdentifier!: string + @Getter(useBusinessStore) isAdminFrozen!: boolean @Getter(useBusinessStore) isBenBcCccUlc!: boolean @Getter(useBusinessStore) isHistorical!: boolean @Getter(useRootStore) isPendingDissolution!: boolean @@ -245,12 +281,51 @@ export default class EntityMenu extends Mixins(AllowableActionsMixin) { return !!this.businessId } + /** + * More actions should only display if an entity is not historical or if the Digital Credentials + * feature is available, otherwise an empty menu will display for historical entities. */ + get areMoreActionsAvailable (): boolean { + return !this.isHistorical || this.isAllowed(AllowableActions.DIGITAL_CREDENTIALS) + } + get enableAgmExtension (): boolean { - return !!GetFeatureFlag('enable-agm-extension') + return !!GetFeatureFlag('supported-agm-extension-entities').includes(this.getLegalType) } get enableAgmLocationChg (): boolean { - return !!GetFeatureFlag('enable-agm-location-chg') + return !!GetFeatureFlag('supported-agm-location-chg-entities').includes(this.getLegalType) + } + + get enableAmalgamation (): boolean { + return !!GetFeatureFlag('supported-amalgamation-entities').includes(this.getLegalType) + } + + /** The tooltip text for AGM Extension list item. Text is different if action item is disabled. */ + get agmExtensionToolTipText (): string { + if (!this.isAllowed(AllowableActions.AGM_EXTENSION)) { + return 'The business must be in good standing to request an AGM extension.' + } else { + return 'Request an AGM extension. The longest extension granted at one time is six months.' + } + } + + /** The tooltip text for AGM Location Change list item. Text is different if action item is disabled. */ + get agmLocationChgToolTipText (): string { + if (!this.isAllowed(AllowableActions.AGM_LOCATION_CHANGE)) { + return 'The business must be in good standing to request an AGM location change.' + } else { + return 'Request an AGM location change.' + } + } + + /** The tooltip text for the amalgamate button. Text changes depending on the business status. */ + get amalgamateTooltipText (): string { + if (this.isAdminFrozen) { + return 'This business is frozen and cannot be involved in an amalgamation.' + } else if (this.isPendingDissolution) { + return 'This business has a future effective dissolution and cannot be involved in an amalgamation.' + } + return 'Amalgamate with other businesses.' } /** @@ -282,6 +357,10 @@ export default class EntityMenu extends Mixins(AllowableActionsMixin) { this.emitConfirmDissolution() } + goToAmalgamationSelection (): void { + this.$router.push({ name: Routes.AMALGAMATION_SELECTION, params: { filingId: '0' } }) + } + goToConsentContinuationOutFiling (): void { // 0 means "new filing" this.$router.push({ name: Routes.CONSENT_CONTINUATION_OUT, params: { filingId: '0' } }) @@ -294,7 +373,7 @@ export default class EntityMenu extends Mixins(AllowableActionsMixin) { goToAgmLocationChgFiling (): void { // 0 means "new filing" - this.$router.push({ name: Routes.AGM_LOCATION_CHG, params: { filingId: '0' } }) + this.$router.push({ name: Routes.AGM_LOCATION_CHANGE, params: { filingId: '0' } }) } /** Emits an event to confirm dissolution. */ diff --git a/src/components/common/Certify.vue b/src/components/common/Certify.vue index 7e6f04426..fb0c105bc 100644 --- a/src/components/common/Certify.vue +++ b/src/components/common/Certify.vue @@ -20,6 +20,7 @@ filled persistent-hint label="Person's legal name" + :disabled="disableEdit" :value="certifiedBy" :rules="[ v => !!v || 'A person\'s legal name is required.']" @input="emitCertifiedBy($event)" @@ -37,7 +38,7 @@

- Date: {{ getCurrentDate }} + Date: {{ formattedCurrentDate || '[unknown]' }}

{{ message }} @@ -50,6 +51,7 @@ diff --git a/src/components/common/DetailComment.vue b/src/components/common/DetailComment.vue index 79e83d437..270d76904 100644 --- a/src/components/common/DetailComment.vue +++ b/src/components/common/DetailComment.vue @@ -32,20 +32,6 @@ export default class DetailComment extends Vue { textarea: any } - /** Array of validations rules for the textarea. */ - get rules (): Array<(val) => boolean | string> { - // include whitespace in maximum length check - return [ - val => (val && val.trim().length > 0) || 'Detail is required.', - val => (val && val.length <= this.maxLength) || 'Maximum characters exceeded.' - ] - } - - /** Public method to reset Vuetify validation on textarea. */ - resetValidation (): void { - (this.$refs.textarea as any).resetValidation() - } - /** Comment (v-model) passed into this component (required). */ @Prop({ default: '' }) readonly value!: string @@ -61,8 +47,25 @@ export default class DetailComment extends Vue { /** Prompt the validations. Used for global validations. */ @Prop({ default: false }) readonly validateForm!: boolean + /** Text is required error message. */ + @Prop({ default: 'Detail is required.' }) readonly textRequiredErrorMsg!: string + detailedComment = '' + /** Array of validations rules for the textarea. */ + get rules (): Array<(val) => boolean | string> { + // include whitespace in maximum length check + return [ + val => (val && val.trim().length > 0) || this.textRequiredErrorMsg, + val => (val && val.length <= this.maxLength) || 'Maximum characters exceeded.' + ] + } + + /** Public method to reset Vuetify validation on textarea. */ + resetValidation (): void { + (this.$refs.textarea as any).resetValidation() + } + /** Called when component is created. */ created (): void { // inform parent of initial validity @@ -90,8 +93,9 @@ export default class DetailComment extends Vue { /** Emits an event with the changed comment (ie, updated v-model). */ @Emit('input') - // eslint-disable-next-line @typescript-eslint/no-unused-vars - emitInput (val: string): void {} + emitInput (val: string): void { + this.detailedComment = val + } /** Emits an event indicating whether or not this component is valid. */ @Emit('valid') @@ -113,7 +117,6 @@ export default class DetailComment extends Vue { // Move the placeholder and input text from the edges. :deep() { .theme--light.v-input input, .theme--light.v-input textarea { - background-color: $gray1; padding-top: 0.5rem; padding-left: 0.5rem; } diff --git a/src/components/common/ForeignJurisdiction.vue b/src/components/common/ForeignJurisdiction.vue index 4e4928952..6f4a7adf2 100644 --- a/src/components/common/ForeignJurisdiction.vue +++ b/src/components/common/ForeignJurisdiction.vue @@ -80,7 +80,7 @@ export default class ForeignJurisdiction extends Mixins(CountriesProvincesMixin) } /** Get the respective regions of the country selected as an array of objects. */ - get canadaUsaRegions (): Array { + get canadaUsaRegions (): Array { if (this.selectedCountryName === 'Canada') { let regions = this.getCountryRegions('CA') regions = regions.filter(province => province.short !== 'BC') diff --git a/src/components/common/NameRequestInfo.vue b/src/components/common/NameRequestInfo.vue index 7c3483d06..2e8be7daf 100644 --- a/src/components/common/NameRequestInfo.vue +++ b/src/components/common/NameRequestInfo.vue @@ -91,7 +91,7 @@ import { Component, Mixins, Prop } from 'vue-property-decorator' import { Getter } from 'pinia-class' import { getName } from 'country-list' import { capitalize, formatPhoneNumber } from '@/utils' -import { NameRequestStates } from '@/enums' +import { NameRequestStates, NameRequestTypes } from '@/enums' import { NameRequestIF, NameRequestApplicantIF } from '@/interfaces' import { DateMixin, EnumMixin, NameRequestMixin } from '@/mixins' import { GetCorpFullDescription } from '@bcrs-shared-components/corp-type-module' @@ -124,6 +124,9 @@ export default class NameRequestInfo extends Mixins(DateMixin, EnumMixin, NameRe /** The request type. */ get requestType (): string { + if (this.nameRequest.request_action_cd === NameRequestTypes.AMALGAMATION) { + return 'Amalgamation' + } return 'New Business' } @@ -167,11 +170,9 @@ export default class NameRequestInfo extends Mixins(DateMixin, EnumMixin, NameRe /** The applicant's name. */ get applicantName (): string { let name: string - if (this.applicant?.middleName) { - name = `${this.applicant?.firstName} ${this.applicant?.middleName} ${this.applicant?.lastName}` - } else { - name = `${this.applicant?.firstName} ${this.applicant?.lastName}` - } + const firstName = this.applicant?.firstName ? this.applicant.firstName + ' ' : '' + const middleName = this.applicant?.middleName ? this.applicant.middleName + ' ' : '' + name = `${firstName}${middleName}${this.applicant?.lastName}` return name } diff --git a/src/components/common/VcardTemplate.vue b/src/components/common/VcardTemplate.vue new file mode 100644 index 000000000..ec165f180 --- /dev/null +++ b/src/components/common/VcardTemplate.vue @@ -0,0 +1,35 @@ + + + + + diff --git a/src/components/common/index.ts b/src/components/common/index.ts index d6cbe2e14..b702225ef 100644 --- a/src/components/common/index.ts +++ b/src/components/common/index.ts @@ -13,6 +13,7 @@ import OfficeAddresses from './OfficeAddresses.vue' import Stepper from '@/components/common/Stepper.vue' import SummaryDirectors from './SummaryDirectors.vue' import SummaryOfficeAddresses from './SummaryOfficeAddresses.vue' +import VcardTemplate from './VcardTemplate.vue' import WarningPopover from './WarningPopover.vue' // NB: importing/exporting Directors gives us weird errors, @@ -34,5 +35,6 @@ export { Stepper, SummaryDirectors, SummaryOfficeAddresses, + VcardTemplate, WarningPopover } diff --git a/src/components/dialogs/AddStaffNotationDialog.vue b/src/components/dialogs/AddStaffNotationDialog.vue index 180ff47c3..0d94ae1d2 100644 --- a/src/components/dialogs/AddStaffNotationDialog.vue +++ b/src/components/dialogs/AddStaffNotationDialog.vue @@ -155,6 +155,7 @@ import { FormIF } from '@/interfaces' import { EffectOfOrderTypes, FilingSubTypes, FilingTypes, PageSizes } from '@/enums' import { EnumUtilities, LegalServices } from '@/services' import { useAuthenticationStore, useBusinessStore, useRootStore } from '@/stores' +import { CorpTypeCd } from '@bcrs-shared-components/corp-type-module' @Component({ components: { @@ -198,7 +199,7 @@ export default class AddStaffNotationDialog extends Mixins(DateMixin) { @Getter(useRootStore) getCurrentDate!: string @Getter(useBusinessStore) getFoundingDate!: Date @Getter(useBusinessStore) getLegalName!: string - @Getter(useBusinessStore) getLegalType!: string + @Getter(useBusinessStore) getLegalType!: CorpTypeCd @Getter(useBusinessStore) getIdentifier!: string @Getter(useAuthenticationStore) getKeycloakGuid!: string @Getter(useBusinessStore) isAdminFrozen!: boolean diff --git a/src/components/dialogs/ConfirmDissolutionDialog.vue b/src/components/dialogs/ConfirmDissolutionDialog.vue index ab88a18b4..7720e5bbe 100644 --- a/src/components/dialogs/ConfirmDissolutionDialog.vue +++ b/src/components/dialogs/ConfirmDissolutionDialog.vue @@ -83,11 +83,11 @@ + + diff --git a/src/components/dialogs/TechnicalErrorDialog.vue b/src/components/dialogs/TechnicalErrorDialog.vue new file mode 100644 index 000000000..75c91c60a --- /dev/null +++ b/src/components/dialogs/TechnicalErrorDialog.vue @@ -0,0 +1,64 @@ + + + diff --git a/src/components/dialogs/index.ts b/src/components/dialogs/index.ts index b7c38efab..7155bade8 100644 --- a/src/components/dialogs/index.ts +++ b/src/components/dialogs/index.ts @@ -13,11 +13,13 @@ import FileCorrectionDialog from './FileCorrectionDialog.vue' import LoadCorrectionDialog from './LoadCorrectionDialog.vue' import NameRequestAuthErrorDialog from './NameRequestAuthErrorDialog.vue' import NameRequestInvalidDialog from './NameRequestInvalidDialog.vue' +import NotEligibleExtensionDialog from './NotEligibleExtensionDialog.vue' import NotInGoodStandingDialog from '@/components/dialogs/NotInGoodStandingDialog.vue' import PaymentErrorDialog from './PaymentErrorDialog.vue' import ResumeErrorDialog from './ResumeErrorDialog.vue' import SaveErrorDialog from './SaveErrorDialog.vue' import StaffPaymentDialog from './StaffPaymentDialog.vue' +import TechnicalErrorDialog from './TechnicalErrorDialog.vue' export { AddCommentDialog, @@ -35,9 +37,11 @@ export { LoadCorrectionDialog, NameRequestAuthErrorDialog, NameRequestInvalidDialog, + NotEligibleExtensionDialog, NotInGoodStandingDialog, PaymentErrorDialog, ResumeErrorDialog, SaveErrorDialog, - StaffPaymentDialog + StaffPaymentDialog, + TechnicalErrorDialog } diff --git a/src/enums/allowableActions.ts b/src/enums/allowableActions.ts index 2e6524255..1422cb805 100644 --- a/src/enums/allowableActions.ts +++ b/src/enums/allowableActions.ts @@ -3,7 +3,8 @@ export enum AllowableActions { ADDRESS_CHANGE = 1, // skip 0 which is falsy ADMINISTRATIVE_DISSOLUTION, AGM_EXTENSION, - AGM_LOCATION_CHG, + AGM_LOCATION_CHANGE, + AMALGAMATION, ANNUAL_REPORT, BUSINESS_INFORMATION, BUSINESS_SUMMARY, diff --git a/src/enums/amalgamationEnums.ts b/src/enums/amalgamationEnums.ts new file mode 100644 index 000000000..28573900a --- /dev/null +++ b/src/enums/amalgamationEnums.ts @@ -0,0 +1,9 @@ +export enum AmlRoles { + AMALGAMATING = 'amalgamating', + HOLDING = 'holding' +} + +export enum AmlTypes { + LEAR = 'lear', + FOREIGN = 'foreign' +} diff --git a/src/enums/entityStatus.ts b/src/enums/entityStatus.ts index d4ac99eb7..d06f0fa2c 100644 --- a/src/enums/entityStatus.ts +++ b/src/enums/entityStatus.ts @@ -1,5 +1,9 @@ /** Statuses used before business exists. */ export enum EntityStatus { - DRAFT_APP = 'DRAFT_APP', - FILED_APP = 'FILED_APP', + DRAFT_AMALGAMATION = 'DRAFT_AMALGAMATION', + DRAFT_INCORP_APP = 'DRAFT_INCORP_APP', + DRAFT_REGISTRATION = 'DRAFT_REGISTRATION', + FILED_AMALGAMATION = 'FILED_AMALGAMATION', + FILED_INCORP_APP = 'FILED_INCORP_APP', + FILED_REGISTRATION = 'FILED_REGISTRATION', } diff --git a/src/enums/filingSubTypes.ts b/src/enums/filingSubTypes.ts index 4904bef5f..afb380d72 100644 --- a/src/enums/filingSubTypes.ts +++ b/src/enums/filingSubTypes.ts @@ -1,16 +1,21 @@ +import { AmalgamationTypes, RestorationTypes } from '@bcrs-shared-components/enums' + /** Filing sub-types used by Legal API. */ // FUTURE: move these to shared enum and import that instead export enum FilingSubTypes { ADMIN_FREEZE = 'adminFreeze', ADMIN_UNFREEZE = 'adminUnfreeze', + AMALGAMATION_REGULAR = AmalgamationTypes.REGULAR, + AMALGAMATION_HORIZONTAL = AmalgamationTypes.HORIZONTAL, + AMALGAMATION_VERTICAL = AmalgamationTypes.VERTICAL, COURT_ORDERED_LIQUIDATION = 'courtOrderedLiquidation', DISSOLUTION_ADMINISTRATIVE = 'administrative', DISSOLUTION_INVOLUNTARY = 'involuntary', DISSOLUTION_VOLUNTARY = 'voluntary', - FULL_RESTORATION = 'fullRestoration', - LIMITED_RESTORATION = 'limitedRestoration', - LIMITED_RESTORATION_EXTENSION = 'limitedRestorationExtension', - LIMITED_RESTORATION_TO_FULL = 'limitedRestorationToFull', + FULL_RESTORATION = RestorationTypes.FULL, + LIMITED_RESTORATION = RestorationTypes.LIMITED, + LIMITED_RESTORATION_EXTENSION = RestorationTypes.LTD_EXTEND, + LIMITED_RESTORATION_TO_FULL = RestorationTypes.LTD_TO_FULL, VOLUNTARY_LIQUIDATION = 'voluntaryLiquidation', // FUTURE: add these dissolution names as needed diff --git a/src/enums/index.ts b/src/enums/index.ts index 30d8d60ae..f08167277 100644 --- a/src/enums/index.ts +++ b/src/enums/index.ts @@ -1,5 +1,6 @@ export * from './actions' export * from './allowableActions' +export * from './amalgamationEnums' export * from './applicationTypes' export * from './correctionTypes' export * from './effectOfOrderTypes' @@ -21,4 +22,5 @@ export * from './affiliationInvitation' // external enums export { CorpTypeCd, CorpClass } from '@bcrs-shared-components/corp-type-module' -export { AccountTypes, FilingCodes, FilingNames, FilingTypes, StaffPaymentOptions } from '@bcrs-shared-components/enums' +export { AccountTypes, AmalgamationTypes, FilingCodes, FilingNames, FilingTypes, StaffPaymentOptions } + from '@bcrs-shared-components/enums' diff --git a/src/enums/nameRequestTypes.ts b/src/enums/nameRequestTypes.ts index 8fda1cfc4..914a94105 100644 --- a/src/enums/nameRequestTypes.ts +++ b/src/enums/nameRequestTypes.ts @@ -1,5 +1,6 @@ /** Enum to help map name request type codes */ export enum NameRequestTypes { + AMALGAMATION = 'AML', NEW = 'NEW', CHANGE_OF_NAME = 'CHG', CONVERSION = 'CNV' diff --git a/src/enums/routes.ts b/src/enums/routes.ts index a8fb2e440..c6342c038 100644 --- a/src/enums/routes.ts +++ b/src/enums/routes.ts @@ -1,6 +1,9 @@ -export enum Routes { +import { Routes as DCRoutes } from '@/components/DigitalCredentials/enums/routes' + +export enum CoreRoutes { AGM_EXTENSION = 'agm-extension', - AGM_LOCATION_CHG = 'agm-location-chg', + AGM_LOCATION_CHANGE = 'agm-location-chg', + AMALGAMATION_SELECTION = 'amalgamation-selection', ANNUAL_REPORT = 'annual-report', CONSENT_CONTINUATION_OUT = 'consent-continuation-out', CONTINUATION_OUT = 'continuation-out', @@ -10,10 +13,13 @@ export enum Routes { STANDALONE_DIRECTORS = 'standalone-directors', SIGNIN = 'signin', SIGNOUT = 'signout', +} + +export { DCRoutes } - // Digital Credential Routes for Pilot - DIGITAL_CREDENTIALS = 'digital-credentials', - DOWNLOAD_WALLET = 'download-wallet', - REGISTER_WALLET = 'register-wallet', - ISSUE_CREDENTIALS = 'issue-credentials' +// Combined routes +export type Routes = CoreRoutes | DCRoutes +export const Routes = { + ...CoreRoutes, + ...DCRoutes } diff --git a/src/interfaces/agm-ext-eval-interface.ts b/src/interfaces/agm-ext-eval-interface.ts new file mode 100644 index 000000000..be4d700c0 --- /dev/null +++ b/src/interfaces/agm-ext-eval-interface.ts @@ -0,0 +1,35 @@ +/** Object that stores AGM Extension evaluation fields. */ +export interface AgmExtEvalIF { + currentDate: string // YYYY-MM-DD + alreadyExtended: boolean + requestExpired: boolean + isGoodStanding: boolean + incorporationDate: Date + isFirstAgm: boolean + agmYear: string // YYYY + prevAgmDate: string // YYYY-MM-DD + isPrevExtension: boolean + prevExpiryDate: string // YYYY-MM-DD + intendedAgmDate: string // YYYY-MM-DD + extensionDuration: number // in months + agmDueDate: string // YYYY-MM-DD + isEligible: boolean +} + +/** An empty AGM Extension Evaluation object. Note: don't assign this - make a copy instead. */ +export const EmptyAgmExtEval: AgmExtEvalIF = { + currentDate: null, + alreadyExtended: null, + requestExpired: null, + isGoodStanding: null, + incorporationDate: null, + isFirstAgm: null, + agmYear: null, + prevAgmDate: null, + isPrevExtension: null, + prevExpiryDate: null, + intendedAgmDate: null, + extensionDuration: NaN, + agmDueDate: null, + isEligible: null +} diff --git a/src/interfaces/amalgamation-interfaces.ts b/src/interfaces/amalgamation-interfaces.ts new file mode 100644 index 000000000..5e1e75543 --- /dev/null +++ b/src/interfaces/amalgamation-interfaces.ts @@ -0,0 +1,67 @@ +import { AmalgamationTypes, CorpTypeCd, FilingTypes } from '@/enums' +import { CorrectNameOptions } from '@bcrs-shared-components/enums' +import { CompletingPartyIF, ContactPointIF, CourtOrderIF, + NameTranslationIF, ShareClassIF } from '@bcrs-shared-components/interfaces' +import { OfficeAddressIF } from './address-interfaces' + +/** + * A filing's amalgamation application object from the API. See: + * https://github.com/bcgov/business-schemas/blob/main/src/registry_schemas/schemas/amalgamation_application.json + */ +export interface RegisteredRecordsAddressesIF { + registeredOffice: OfficeAddressIF + recordsOffice?: OfficeAddressIF +} + +export interface NameRequestFilingIF { + legalType: CorpTypeCd + legalName?: string + nrNumber?: string + correctNameOption?: CorrectNameOptions +} + +export interface AmalgamationApplicationIF { + amalgamatingBusinesses: any[] + courtApproval: boolean + type: AmalgamationTypes + nameRequest: NameRequestFilingIF + nameTranslations: NameTranslationIF[] + offices: RegisteredRecordsAddressesIF | object + contactPoint: ContactPointIF + parties: CompletingPartyIF[] + + // BEN / CC / BC / ULC only: + shareStructure?: { + shareClasses: ShareClassIF[] + } + incorporationAgreement?: { + agreementType: string + } + // ULC only: + courtOrder?: CourtOrderIF +} + +/** Amalgamation Application filing interface. */ +export interface AmalgamationApplicationFilingIF { + header: { + name: FilingTypes + certifiedBy: string + date: string + effectiveDate?: string + filingId?: number + folioNumber?: string + isFutureEffective: boolean + + // staff payment properties: + routingSlipNumber?: string + bcolAccountNumber?: string + datNumber?: string + waiveFees?: boolean + priority?: boolean + } + business: { + legalType: CorpTypeCd + identifier: string + } + amalgamationApplication: AmalgamationApplicationIF +} diff --git a/src/interfaces/api-filing-interface.ts b/src/interfaces/api-filing-interface.ts index 287af11fd..22833c1f5 100644 --- a/src/interfaces/api-filing-interface.ts +++ b/src/interfaces/api-filing-interface.ts @@ -1,10 +1,12 @@ -import { CorpTypeCd, EffectOfOrderTypes, FilingStatus, FilingSubTypes, FilingTypes } from '@/enums' +import { AmalgamationTypes, CorpTypeCd, EffectOfOrderTypes, FilingStatus, FilingSubTypes, FilingTypes } + from '@/enums' import { ApiDateTimeUtc, CommentIF, DocumentIF, FormattedDateTimeGmt, IsoDatePacific, SpecialResolutionIF } from '@/interfaces' /** - * A filing object from the Legal API ("filings" call). - * See also History Item interface. + * A filing object from the Legal API ("filings" call). This is the newer response with extra metadata + * instead of separate business / documents / header / filing objects. + * This object is also what the Filings History List uses directly. */ export interface ApiFilingIF { availableOnPaperOnly: boolean @@ -12,6 +14,7 @@ export interface ApiFilingIF { commentsCount: number commentsLink: string // URL to fetch this filing's comments displayName: string + displayLedger: boolean // whether to display this ledger item documentsLink: string // URL to fetch this filing's documents effectiveDate: FormattedDateTimeGmt filingId: number @@ -41,12 +44,34 @@ export interface ApiFilingIF { freeze: boolean } + agmExtension?: { + year: string // YYYY-MM-DD + isFirstAgm: boolean + prevAgmRefDate: string // YYYY-MM-DD + extReqForAgmYear: boolean + expireDateCurrExt: string // YYYY-MM-DD + intendedAgmDate: string // YYYY-MM-DD + totalApprovedExt: number // in months + extensionDuration: number // in months + expireDateApprovedExt: string // YYYY-MM-DD + } + + agmLocationChange?: { + year: string + reason: string + agmLocation: string + } + // alteration filings only alteration?: { fromLegalType?: CorpTypeCd toLegalType?: CorpTypeCd } + amalgamationApplication?: { + type: AmalgamationTypes + } + // AR filings only annualReport?: { annualGeneralMeetingDate: IsoDatePacific diff --git a/src/interfaces/api-task-interface.ts b/src/interfaces/api-task-interface.ts index c40cd7559..48393c108 100644 --- a/src/interfaces/api-task-interface.ts +++ b/src/interfaces/api-task-interface.ts @@ -1,7 +1,12 @@ -import { AlterationIF, ApiBusinessIF, RestorationIF, SpecialResolutionIF } from '@/interfaces' +import { AlterationIF, AmalgamationApplicationIF, + ApiBusinessIF, RestorationIF, SpecialResolutionIF } from '@/interfaces' import { FilingStatus, FilingTypes } from '@/enums' -/** A filing's header object from the Legal API. */ +/** + * The header object from the Legal API when the filing contains separate business / + * documents / header / filing objects. This is the older response from the "filings" + * call but is still used for fetching draft apps or tasks. + */ export interface ApiHeaderIF { accountId?: number // NOT USED ARFilingYear?: number // ARs only @@ -32,11 +37,14 @@ export interface ApiHeaderIF { } /** - * A task todo (or filing) object. + * The object for a draft application (or registration or amalgamation) filing or todo task. * Note that only `business` and `header` are required. */ export interface TaskTodoIF { + agmExtension?: any + agmLocationChange?: any alteration?: AlterationIF + amalgamationApplication?: AmalgamationApplicationIF annualReport?: any business: ApiBusinessIF changeOfAddress?: any @@ -47,6 +55,7 @@ export interface TaskTodoIF { conversion?: any correction?: any courtOrder?: any + displayName?: string // for app tasks only dissolution?: any documents?: Array header: ApiHeaderIF @@ -59,8 +68,8 @@ export interface TaskTodoIF { } /** - * A task object from the Legal API ("tasks" call). - * See also Todo Item interface. + * A task object from the Legal API ("tasks" call), which contains a draft filing or a todo item. + * See also TodoItemIF. */ export interface ApiTaskIF { enabled: boolean diff --git a/src/interfaces/authentication-state-interface.ts b/src/interfaces/authentication-state-interface.ts new file mode 100644 index 000000000..3ebaedaa5 --- /dev/null +++ b/src/interfaces/authentication-state-interface.ts @@ -0,0 +1,14 @@ +import { CurrentUserIF, CurrentAccountIF } from '@/interfaces' + +/** The state model interface for the Authentication Store. */ +export interface AuthenticationStateIF { + account: { + currentUser: CurrentUserIF + currentAccount: CurrentAccountIF + }, + auth: { + token: string + idToken: string + refreshToken: string + } +} diff --git a/src/interfaces/business-interfaces.ts b/src/interfaces/business-state-interfaces.ts similarity index 83% rename from src/interfaces/business-interfaces.ts rename to src/interfaces/business-state-interfaces.ts index 93c16c1df..9632379b9 100644 --- a/src/interfaces/business-interfaces.ts +++ b/src/interfaces/business-state-interfaces.ts @@ -1,4 +1,5 @@ import { EntityState, CorpTypeCd, FilingSubTypes, FilingTypes } from '@/enums' +import { AmalgamationTypes } from '@bcrs-shared-components/enums' import { IsoDatePacific, ApiDateTimeUtc } from '@bcrs-shared-components/interfaces' export interface FilingTypeIF { @@ -9,6 +10,7 @@ export interface FilingTypeIF { } export interface AllowedActionsIF { + digitalBusinessCard: boolean filing: { filingSubmissionLink: string filingTypes: Array @@ -24,11 +26,19 @@ export interface AlternateNameIF { operatingName: string } +export interface AmalgamatedIntoIF { + amalgamationDate: ApiDateTimeUtc + amalgamationType: AmalgamationTypes + identifier: string // eg, BC7654321 + legalName: string +} + export interface BusinessWarningIF { code: string // FUTURE: use an enum filing?: string // not used message: string warningType: string // FUTURE: use an enum + data?: any // optional extra properties (eg, amalgamationDate) } /** The Business object from the Legal API. */ @@ -37,6 +47,7 @@ export interface ApiBusinessIF { adminFreeze: boolean allowedActions: AllowedActionsIF alternateNames?: Array + amalgamatedInto?: AmalgamatedIntoIF arMaxDate?: IsoDatePacific // not used arMinDate?: IsoDatePacific // not used associationType: string // COOP only @@ -69,7 +80,7 @@ export interface ApiBusinessIF { warnings: Array } -/** The Business module state interface. */ +/** The state model interface for the Business Store. */ export interface BusinessStateIF { businessInfo: ApiBusinessIF } diff --git a/src/interfaces/configuration-state-interface.ts b/src/interfaces/configuration-state-interface.ts index b88be3a8f..b4fa4dbda 100644 --- a/src/interfaces/configuration-state-interface.ts +++ b/src/interfaces/configuration-state-interface.ts @@ -1,4 +1,4 @@ -/** The Configuration module state interface. */ +/** The state model interface for the Configuration Store. */ export interface ConfigurationStateIF { configuration: { VUE_APP_ADDRESS_COMPLETE_KEY: string, diff --git a/src/interfaces/digitalCredentials-interface.ts b/src/interfaces/digitalCredentials-interface.ts index 9283853b8..f85879b4a 100644 --- a/src/interfaces/digitalCredentials-interface.ts +++ b/src/interfaces/digitalCredentials-interface.ts @@ -1,9 +1,19 @@ import { DigitalCredentialTypes } from '@/enums' -export interface DigitalCredentialsIF { +export interface DigitalCredentialIF { legalName: string credentialType: DigitalCredentialTypes + credentialId: string isIssued: boolean dateOfIssue: string isRevoked: boolean + isDeleted: boolean +} + +export interface WalletConnectionIF { + businessId: string + connectionId: string + invitationUrl: string + isActive: boolean + connectionState: string } diff --git a/src/interfaces/filing-history-list-state-interface.ts b/src/interfaces/filing-history-list-state-interface.ts index dd689609e..89257d60b 100644 --- a/src/interfaces/filing-history-list-state-interface.ts +++ b/src/interfaces/filing-history-list-state-interface.ts @@ -1,6 +1,6 @@ import { ApiFilingIF } from '@/interfaces' -/** The Filing History List module state interface. */ +/** The state model interface for the Filing History List Store. */ export interface FilingHistoryListStateIF { addCommentDialog: boolean currentFiling: ApiFilingIF diff --git a/src/interfaces/index.ts b/src/interfaces/index.ts index 97056e614..9aa99c595 100644 --- a/src/interfaces/index.ts +++ b/src/interfaces/index.ts @@ -11,15 +11,17 @@ export type { AlterationIF, ContactPointIF, NameTranslationIF, ShareStructureIF, IncorporationApplicationIF, IncorporationAddressIf, ShareClassIF, CommentIF, ConfirmDialogType, StaffPaymentIF, ApiDateTimeUtc, FormattedDateTimeGmt, IsoDatePacific, SpecialResolutionIF } -// must come before other interfaces that use it -export * from './officer-interface' +export * from './officer-interface' // must come before other interfaces that use it export * from './address-interfaces' export * from './affiliation-invitation-interface' +export * from './agm-ext-eval-interface' export * from './alert-message-interface' +export * from './amalgamation-interfaces' export * from './api-filing-interface' export * from './api-task-interface' +export * from './authentication-state-interface' export * from './breadcrumb-interface' -export * from './business-interfaces' +export * from './business-state-interfaces' export * from './component-interface' export * from './configuration-state-interface' export * from './correction-filing-interface' @@ -44,7 +46,6 @@ export * from './presigned-url-interface' export * from './restoration-interfaces' export * from './role-interface' export * from './root-state-interface' -export * from './state-interface' export * from './steps-interface' export * from './table-header-interface' export * from './todo-item-interface' diff --git a/src/interfaces/root-state-interface.ts b/src/interfaces/root-state-interface.ts index 3f9ca863f..d2096bba8 100644 --- a/src/interfaces/root-state-interface.ts +++ b/src/interfaces/root-state-interface.ts @@ -1,14 +1,49 @@ -import { CurrentUserIF, CurrentAccountIF } from '@/interfaces' +import { CorpTypeCd, EntityStatus } from '@/enums' +import { ApiHeaderIF, ApiTaskIF, FilingDataIF, OfficeAddressIF, PartyIF } from '@/interfaces' -/** The ROOT state model interface. */ +/** Interface for the state filing object. */ +export interface StateFilingIF { + business: any + consentContinuationOut?: any + header: ApiHeaderIF + dissolution?: any + restoration?: any + putBackOn?: any +} + +/** The state model interface for the Root Store. */ export interface RootStateIF { - account: { - currentUser: CurrentUserIF, - currentAccount: CurrentAccountIF - }, - auth: { - token: string, - idToken: string, - refreshToken: string - } + // tombstone data + authRoles: Array + currentDate: string // 'today' as YYYY-MM-DD in Pacific timezone + currentJsDate: Date // 'now' as of dashboard loading in UTC + entityStatus: EntityStatus // for amalgamations/applications/registrations only + keycloakRoles: Array + stateFiling: StateFilingIF + userKeycloakGuid: string + + // entity info from auth db + businessEmail: string + businessPhone: string + businessPhoneExtension: string + corpTypeCd: CorpTypeCd + + // set by Todo List + ARFilingYear: number // YYYY + arMaxDate: string // YYYY-MM-DD // COOPs only + arMinDate: string // YYYY-MM-DD // COOPs only + nextARDate: string // YYYY-MM-DD // BCOMPs only + + // other global data + businessAddress: OfficeAddressIF + configObject: any + fetchingDataSpinner: boolean + startingAmalgamationSpinner: boolean + filingData: Array + nameRequest: any + parties: Array + recordsAddress: OfficeAddressIF + registeredAddress: OfficeAddressIF + tasks: Array // "tasks" data from API + userInfo: any // from auth db } diff --git a/src/interfaces/state-interface.ts b/src/interfaces/state-interface.ts deleted file mode 100644 index 1a6efce89..000000000 --- a/src/interfaces/state-interface.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { CorpTypeCd, EntityStatus, FilingStatus } from '@/enums' -import { ApiHeaderIF, ApiTaskIF, FilingDataIF, OfficeAddressIF, PartyIF } from '@/interfaces' - -export interface StateFilingIF { - business: any - consentContinuationOut?: any - header: ApiHeaderIF - dissolution?: any - restoration?: any - putBackOn?: any -} - -/** The state model interface. */ -export interface StateIF { - // tombstone data - authRoles: Array - currentDate: string // 'today' as YYYY-MM-DD in Pacific timezone - currentJsDate: Date // 'now' as of dashboard loading in UTC - entityStatus: EntityStatus // for draft app only - keycloakRoles: Array - stateFiling: StateFilingIF // the state filing object - userKeycloakGuid: string - - // entity info from auth db - businessEmail: string - businessPhone: string - businessPhoneExtension: string - corpTypeCd: CorpTypeCd - - // set by Todo List - ARFilingYear: number // YYYY - arMaxDate: string // YYYY-MM-DD // COOPs only - arMinDate: string // YYYY-MM-DD // COOPs only - nextARDate: string // YYYY-MM-DD // BCOMPs only - - // other global data - businessAddress: OfficeAddressIF - configObject: any - currentFilingStatus: FilingStatus - fetchingDataSpinner: boolean - filingData: Array - nameRequest: any - parties: Array - recordsAddress: OfficeAddressIF - registeredAddress: OfficeAddressIF - tasks: Array // "tasks" data from API -} diff --git a/src/interfaces/steps-interface.ts b/src/interfaces/steps-interface.ts index 78f64ec69..a9e781db6 100644 --- a/src/interfaces/steps-interface.ts +++ b/src/interfaces/steps-interface.ts @@ -4,5 +4,6 @@ export interface StepsIF { icon: string text: string to: string, + disabled?: boolean, component: any // Work around: Do components have types? } diff --git a/src/interfaces/todo-item-interface.ts b/src/interfaces/todo-item-interface.ts index 42a9acd58..edf7897c2 100644 --- a/src/interfaces/todo-item-interface.ts +++ b/src/interfaces/todo-item-interface.ts @@ -3,7 +3,7 @@ import { PaymentErrorIF } from '@/interfaces' /** * A Todo List item (ie, local object). - * See also Api Task interface. + * See also ApiTaskIF. */ export interface TodoItemIF { draftTitle: string diff --git a/src/main.ts b/src/main.ts index 9becacb00..51333ac44 100644 --- a/src/main.ts +++ b/src/main.ts @@ -123,16 +123,11 @@ async function start () { // execution and error handling start().catch(error => { - // log any error after configuring sentry. - // it helps to identify configuration issues specific to the environment. - // note that it won't log anything related to `fetchConfig()` since sentry is depending on a config value. + // Log any error after configuring sentry. + // It helps to identify configuration issues specific to the environment. + // Note that it won't log anything related to `fetchConfig()` since sentry is depending on a config value. Sentry.captureException(error) - console.log(error) // eslint-disable-line no-console - // bypass alert if this specific error - if (!error?.message?.startsWith('Missing or invalid')) { - alert('There was an error starting this page. (See console for details.)\n' + - 'Please try again later.') - } + alert(error) // try to navigate to Business Registry home page navigate(sessionStorage.getItem('BUSINESSES_URL')) }) diff --git a/src/mixins/allowable-actions-mixin.ts b/src/mixins/allowable-actions-mixin.ts index ed14ac147..2262e9f75 100644 --- a/src/mixins/allowable-actions-mixin.ts +++ b/src/mixins/allowable-actions-mixin.ts @@ -1,7 +1,7 @@ import { Component, Vue } from 'vue-property-decorator' import { Getter } from 'pinia-class' import { GetFeatureFlag } from '@/utils' -import { AllowableActions, CorpTypeCd, FilingSubTypes, FilingTypes, Routes } from '@/enums' +import { AllowableActions, CorpTypeCd, FilingSubTypes, FilingTypes } from '@/enums' import { AllowedActionsIF } from '@/interfaces' import { useBusinessStore, useRootStore } from '@/stores' @@ -9,9 +9,9 @@ import { useBusinessStore, useRootStore } from '@/stores' export default class AllowableActionsMixin extends Vue { @Getter(useBusinessStore) getAllowedActions!: AllowedActionsIF @Getter(useBusinessStore) getLegalType!: CorpTypeCd - @Getter(useBusinessStore) isBComp!: boolean @Getter(useBusinessStore) isCoop!: boolean @Getter(useBusinessStore) isFirm!: boolean + @Getter(useBusinessStore) isSoleProp!: boolean @Getter(useBusinessStore) isGoodStanding!: boolean @Getter(useRootStore) isRoleStaff!: boolean @@ -40,13 +40,15 @@ export default class AllowableActionsMixin extends Vue { } case AllowableActions.AGM_EXTENSION: { - return true // *** FOR DEBUGGING ONLY - // return this.isAllowedFiling(FilingTypes.AGM_EXTENSION) + return this.isAllowedFiling(FilingTypes.AGM_EXTENSION) } - case AllowableActions.AGM_LOCATION_CHG: { - return true // *** FOR DEBUGGING ONLY - // return this.isAllowedFiling(FilingTypes.AGM_LOCATION_CHG) + case AllowableActions.AGM_LOCATION_CHANGE: { + return this.isAllowedFiling(FilingTypes.AGM_LOCATION_CHANGE) + } + + case AllowableActions.AMALGAMATION: { + return this.isAllowedFiling(FilingTypes.AMALGAMATION_APPLICATION) } case AllowableActions.BUSINESS_INFORMATION: { @@ -91,11 +93,15 @@ export default class AllowableActionsMixin extends Vue { return (isBusiness && this.isRoleStaff) } + /** + * DBC feature is only available to self-registered owners of an SP + * who are logged in via BCSC. + */ case AllowableActions.DIGITAL_CREDENTIALS: { // NB: this feature is targeted via LaunchDarkly const ff = !!GetFeatureFlag('enable-digital-credentials') - const isNotaDcRoute = !(this.$route.matched.some(route => route.name === Routes.DIGITAL_CREDENTIALS)) - return (ff && isNotaDcRoute && this.isGoodStanding && this.isBComp && !this.isRoleStaff) + const isDigitalBusinessCardAllowed = this.getAllowedActions?.digitalBusinessCard + return (ff && isDigitalBusinessCardAllowed) } case AllowableActions.DIRECTOR_CHANGE: { @@ -111,11 +117,13 @@ export default class AllowableActionsMixin extends Vue { } case AllowableActions.LIMITED_RESTORATION_EXTENSION: { - return this.isAllowedFiling(FilingTypes.RESTORATION, FilingSubTypes.LIMITED_RESTORATION_EXTENSION) + return !!GetFeatureFlag('supported-restoration-entities')?.includes(this.getLegalType) && + this.isAllowedFiling(FilingTypes.RESTORATION, FilingSubTypes.LIMITED_RESTORATION_EXTENSION) } case AllowableActions.LIMITED_RESTORATION_TO_FULL: { - return this.isAllowedFiling(FilingTypes.RESTORATION, FilingSubTypes.LIMITED_RESTORATION_TO_FULL) + return !!GetFeatureFlag('supported-restoration-entities')?.includes(this.getLegalType) && + this.isAllowedFiling(FilingTypes.RESTORATION, FilingSubTypes.LIMITED_RESTORATION_TO_FULL) } case AllowableActions.PUT_BACK_ON: { @@ -137,9 +145,11 @@ export default class AllowableActionsMixin extends Vue { case AllowableActions.RESTORATION: { // full restoration or limited restoration // but not limited restoration extension or limited restoration to full + const ff = !!GetFeatureFlag('supported-restoration-entities')?.includes(this.getLegalType) return ( - this.isAllowedFiling(FilingTypes.RESTORATION, FilingSubTypes.FULL_RESTORATION) || - this.isAllowedFiling(FilingTypes.RESTORATION, FilingSubTypes.LIMITED_RESTORATION) + ff && + (this.isAllowedFiling(FilingTypes.RESTORATION, FilingSubTypes.FULL_RESTORATION) || + this.isAllowedFiling(FilingTypes.RESTORATION, FilingSubTypes.LIMITED_RESTORATION)) ) } diff --git a/src/mixins/date-mixin.ts b/src/mixins/date-mixin.ts index d13875480..33f077e7c 100644 --- a/src/mixins/date-mixin.ts +++ b/src/mixins/date-mixin.ts @@ -93,6 +93,16 @@ export default class DateMixin extends Vue { return DateUtilities.dateToPacificDateTime(date) } + /** + * Converts a date string (YYYY-MM-DD) to a date string (Month Day, Year) in Pacific timezone. + * @param longMonth whether to show long month name (eg, December vs Dec) + * @param showWeekday whether to show the weekday name (eg, Thursday) + * @example "2021-01-01" -> "Thursday, December 31, 2020" + */ + yyyyMmDdToPacificDate (dateStr: IsoDatePacific, longMonth = false, showWeekday = false): string { + return DateUtilities.dateToPacificDate(this.yyyyMmDdToDate(dateStr), longMonth, showWeekday) + } + /** * DEPRECATED - call resources/date-utilities instead * Converts a Date object to an API datetime string. @@ -201,6 +211,6 @@ export default class DateMixin extends Vue { * @returns NaN in case of error */ daysFromToday (date: Date): number { - return DateUtilities.daysFromToday(this.getCurrentJsDate, date) + return DateUtilities.daysBetweenTwoDates(this.getCurrentJsDate, date) } } diff --git a/src/mixins/enum-mixin.ts b/src/mixins/enum-mixin.ts index cc6674317..5f098ebed 100644 --- a/src/mixins/enum-mixin.ts +++ b/src/mixins/enum-mixin.ts @@ -45,6 +45,11 @@ export default class EnumMixin extends Vue { return (item.name === FilingTypes.ALTERATION) } + /** DEPRECATED Returns True if filing is an Amalgamation. */ + isTypeAmalgamation (item: any): boolean { + return (item.name === FilingTypes.AMALGAMATION_APPLICATION) + } + /** DEPRECATED Returns True if filing is an Annual Report. */ isTypeAnnualReport (item: any): boolean { return (item.name === FilingTypes.ANNUAL_REPORT) @@ -65,6 +70,11 @@ export default class EnumMixin extends Vue { return (item.name === FilingTypes.CORRECTION) } + /** DEPRECATED Returns True if filing is a Dissolution. */ + isTypeDissolution (item: any): boolean { + return (item.name === FilingTypes.DISSOLUTION) + } + /** DEPRECATED Returns True if filing is an Incorporation Application. */ isTypeIncorporationApplication (item: any): boolean { return (item.name === FilingTypes.INCORPORATION_APPLICATION) diff --git a/src/mixins/name-request-mixin.ts b/src/mixins/name-request-mixin.ts index fe673c511..0ca99d0e9 100644 --- a/src/mixins/name-request-mixin.ts +++ b/src/mixins/name-request-mixin.ts @@ -18,7 +18,10 @@ export default class NameRequestMixin extends Vue { if (!nr.legalType) return 'Invalid NR legal type' if (!this.getNrApprovedName(nr)) return 'Invalid NR approved name' if (!nr.nrNum) return 'Invalid NR number' - if (nr.request_action_cd !== NameRequestTypes.NEW) return 'Invalid NR action code' + if ( + nr.request_action_cd !== NameRequestTypes.NEW && + nr.request_action_cd !== NameRequestTypes.AMALGAMATION + ) return 'Invalid NR action code' if (!nr.state) return 'Invalid NR state' return null } diff --git a/src/resources/DigitalCredentialRoutes.ts b/src/resources/DigitalCredentialRoutes.ts index 4de61e26e..757debd83 100644 --- a/src/resources/DigitalCredentialRoutes.ts +++ b/src/resources/DigitalCredentialRoutes.ts @@ -1,55 +1,36 @@ import { Routes } from '@/enums' import DigitalCredentials from '@/views/DigitalCredentials.vue' import { getDigitalCredentialBreadcrumb } from '@/resources/BreadcrumbResources' -import { DigitalWalletDownload, IssueCredentials, RegisterWallet } from '@/components/DigitalCredentials' +import { CredentialsDashboard, CredentialsStepper } from '@/components/DigitalCredentials' export const DigitalCredentialRoutes = { path: `/${Routes.DIGITAL_CREDENTIALS}`, - name: Routes.DIGITAL_CREDENTIALS, component: DigitalCredentials, meta: { requiresAuth: true, - breadcrumb: [ getDigitalCredentialBreadcrumb() ] + breadcrumb: [getDigitalCredentialBreadcrumb()] }, children: [ { - name: Routes.DOWNLOAD_WALLET, - path: Routes.DOWNLOAD_WALLET, - component: DigitalWalletDownload, + path: '', + name: Routes.DIGITAL_CREDENTIALS, + component: CredentialsDashboard, meta: { breadcrumb: [ - getDigitalCredentialBreadcrumb(), - { - text: 'Download Wallet', - to: { name: Routes.DOWNLOAD_WALLET } - } - ] - } - }, - { - name: Routes.REGISTER_WALLET, - path: Routes.REGISTER_WALLET, - component: RegisterWallet, - meta: { - breadcrumb: [ - getDigitalCredentialBreadcrumb(), - { - text: 'Register Wallet', - to: { name: Routes.REGISTER_WALLET } - } + getDigitalCredentialBreadcrumb() ] } }, { - name: Routes.ISSUE_CREDENTIALS, - path: Routes.ISSUE_CREDENTIALS, - component: IssueCredentials, + path: Routes.ISSUE_CREDENTIAL, + name: Routes.ISSUE_CREDENTIAL, + component: CredentialsStepper, meta: { breadcrumb: [ getDigitalCredentialBreadcrumb(), { text: 'Issue Credentials', - to: { name: Routes.ISSUE_CREDENTIALS } + to: { name: Routes.ISSUE_CREDENTIAL } } ] } diff --git a/src/resources/business-config.ts b/src/resources/business-config.ts index a7e84d6fc..583443257 100644 --- a/src/resources/business-config.ts +++ b/src/resources/business-config.ts @@ -64,7 +64,7 @@ export const ConfigJson = [ ' A person who commits this offence is subject to a maximum fine of $5,000.' }, { - feeCode: FilingCodes.AGM_LOCATION_CHG, + feeCode: FilingCodes.AGM_LOCATION_CHANGE, displayName: 'AGM Location Change', certifyText: 'Note: It is an offence to make or assist in making a false or' + ' misleading statement in a record filed under the Business Corporations Act.' + @@ -356,7 +356,7 @@ export const ConfigJson = [ ' A person who commits this offence is subject to a maximum fine of $5,000.' }, { - feeCode: FilingCodes.AGM_LOCATION_CHG, + feeCode: FilingCodes.AGM_LOCATION_CHANGE, displayName: 'AGM Location Change', certifyText: 'Note: It is an offence to make or assist in making a false or' + ' misleading statement in a record filed under the Business Corporations Act.' + @@ -449,7 +449,7 @@ export const ConfigJson = [ ' A person who commits this offence is subject to a maximum fine of $5,000.' }, { - feeCode: FilingCodes.AGM_LOCATION_CHG, + feeCode: FilingCodes.AGM_LOCATION_CHANGE, displayName: 'AGM Location Change', certifyText: 'Note: It is an offence to make or assist in making a false or' + ' misleading statement in a record filed under the Business Corporations Act.' + @@ -542,7 +542,7 @@ export const ConfigJson = [ ' A person who commits this offence is subject to a maximum fine of $5,000.' }, { - feeCode: FilingCodes.AGM_LOCATION_CHG, + feeCode: FilingCodes.AGM_LOCATION_CHANGE, displayName: 'AGM Location Change', certifyText: 'Note: It is an offence to make or assist in making a false or' + ' misleading statement in a record filed under the Business Corporations Act.' + diff --git a/src/router.ts b/src/router.ts index 2b292071d..a358c7f16 100644 --- a/src/router.ts +++ b/src/router.ts @@ -1,7 +1,7 @@ import Vue from 'vue' import VueRouter, { Route } from 'vue-router' import routes from '@/routes' -import { Routes } from '@/enums' +import { Routes, DCRoutes } from '@/enums' import { SessionStorageKeys } from 'sbc-common-components/src/util/constants' import { GetFeatureFlag } from '@/utils' @@ -56,7 +56,7 @@ export function getVueRouter () { // See DIGITAL_CREDENTIALS in Allowable Actions Mixin. return ( !GetFeatureFlag('enable-digital-credentials') && - [Routes.DIGITAL_CREDENTIALS].includes(route.name as Routes) + [Routes.DIGITAL_CREDENTIALS].includes(route.name as DCRoutes) ) } diff --git a/src/routes.ts b/src/routes.ts index 66c6d3a32..b79dfa886 100644 --- a/src/routes.ts +++ b/src/routes.ts @@ -1,6 +1,7 @@ import Dashboard from '@/views/Dashboard.vue' import AgmExtension from '@/views/AgmExtension.vue' import AgmLocationChg from '@/views/AgmLocationChg.vue' +import AmalgamationSelection from '@/views/AmalgamationSelection.vue' import AnnualReport from '@/views/AnnualReport.vue' import StandaloneDirectorsFiling from '@/views/StandaloneDirectorsFiling.vue' import StandaloneOfficeAddressFiling from '@/views/StandaloneOfficeAddressFiling.vue' @@ -39,16 +40,32 @@ export default [ }, { path: '/agm-location-chg', - name: Routes.AGM_LOCATION_CHG, + name: Routes.AGM_LOCATION_CHANGE, component: AgmLocationChg, meta: { requiresAuth: true, breadcrumb: [ { - text: `File ${FilingNames.AGM_LOCATION_CHG}`, + text: `File ${FilingNames.AGM_LOCATION_CHANGE}`, disabled: false, exact: true, - to: { name: Routes.AGM_LOCATION_CHG } + to: { name: Routes.AGM_LOCATION_CHANGE } + } + ] + } + }, + { + path: '/amalgamation-selection', + name: Routes.AMALGAMATION_SELECTION, + component: AmalgamationSelection, + meta: { + requiresAuth: true, + breadcrumb: [ + { + text: 'Amalgamation Selection', + disabled: false, + exact: true, + to: { name: Routes.AMALGAMATION_SELECTION } } ] } diff --git a/src/services/auth-services.ts b/src/services/auth-services.ts index bc76a6e8b..3dc1647d0 100644 --- a/src/services/auth-services.ts +++ b/src/services/auth-services.ts @@ -19,11 +19,18 @@ export default class AuthServices { /** * Fetches user info for the current user. - * @returns the axios response + * @returns the user info object */ - static async fetchUserInfo (authApiUrl: string): Promise { + static async fetchUserInfo (authApiUrl: string): Promise { const url = `${authApiUrl}users/@me` return axios.get(url) + .then(response => { + const data = response?.data + if (!data) { + console.log('fetchUserInfo() error - invalid response =', response) + } + return data + }) } /** diff --git a/src/services/date-utilities.ts b/src/services/date-utilities.ts index d2952afed..4d7714dee 100644 --- a/src/services/date-utilities.ts +++ b/src/services/date-utilities.ts @@ -329,25 +329,26 @@ export default class DateUtilities { } /** - * Returns the number of days that 'date' is from today in Pacific timezone. + * Returns the number of days that 'date' is from 'initialDate' in Pacific timezone. * @returns -1 for yesterday * @returns 0 for today * @returns +1 for tomorrow * @returns NaN in case of error */ - static daysFromToday (today: Date, date: Date): number { + static daysBetweenTwoDates (initialDate: Date, date: Date): number { // safety check + if (!isDate(initialDate) || isNaN(initialDate.getTime())) return NaN if (!isDate(date) || isNaN(date.getTime())) return NaN // set "date" to 12:00 am Pacific date.setHours(0, 0, 0, 0) - // compute "today" at 12:00 am Pacific - today.setHours(0, 0, 0, 0) + // compute "initialDate" at 12:00 am Pacific + initialDate.setHours(0, 0, 0, 0) - // calculate difference between "date" and "today" + // calculate difference between "date" and "initialDate" // (result should be a whole number) - const diff = (date.valueOf() - today.valueOf()) / MS_IN_A_DAY + const diff = (date.valueOf() - initialDate.valueOf()) / MS_IN_A_DAY return Math.round(diff) } @@ -360,4 +361,45 @@ export default class DateUtilities { static isDateFuture (date: FormattedDateTimeGmt): boolean { return (new Date(date) > new Date()) } + + /** + * Add a number of months to a date and return "YYYY-MM-DD". + * Date must be in the format of "YYYY-MM-DD" and months is a number + * @example (3, 2023-02-03) -> "2023-05-03" + * @example (18, 2023-02-03) -> "2024-08-03" + */ + static addMonthsToDate (month: number, date: string): string { + // safety checks + if (month == null || !date) return null + if (date?.length !== 10) return null + + const temp = this.yyyyMmDdToDate(date) + temp.setMonth(temp.getMonth() + month) + const dateAfterAddition = this.dateToYyyyMmDd(temp) + return dateAfterAddition + } + + /** + * Decrease one date from another and return number of months as the difference. + * Dates must be in the "YYYY-MM-DD" format + * @example (2023-02-03, 2024-08-03) -> 18 + * @example (2023-02-03, 2023-04-03) -> 2 + */ + static subtractDates (dateFrom: string, dateTo: string): number { + // safety checks + if (!dateFrom || !dateTo) return null + if (dateFrom?.length !== 10) return null + if (dateTo?.length !== 10) return null + + const expiryDate = this.yyyyMmDdToDate(dateTo) + const currDate = this.yyyyMmDdToDate(dateFrom) + const monthDiff = expiryDate.getMonth() - currDate.getMonth() + const yearDiff = (12 * (expiryDate.getFullYear() - currDate.getFullYear())) + let difference = monthDiff + yearDiff + // For example if Jan 31st and March 1, difference is 1 not 2 + if ((expiryDate.getDate() + 25) < currDate.getDate()) { + difference-- + } + return difference + } } diff --git a/src/services/enum-utilities.ts b/src/services/enum-utilities.ts index 85b00c242..8972c61c4 100644 --- a/src/services/enum-utilities.ts +++ b/src/services/enum-utilities.ts @@ -67,6 +67,16 @@ export default class EnumUtilities { // Filing Type helpers // + /** Returns True if filing is an AGM Extension. */ + static isTypeAgmExtension (item: any): boolean { + return (item.name === FilingTypes.AGM_EXTENSION) + } + + /** Returns True if filing is an AGM Location Change. */ + static isTypeAgmLocationChange (item: any): boolean { + return (item.name === FilingTypes.AGM_LOCATION_CHANGE) + } + /** Returns True if filing is an Alteration. */ static isTypeAlteration (item: any): boolean { return (item.name === FilingTypes.ALTERATION) @@ -117,6 +127,46 @@ export default class EnumUtilities { return (item.name === FilingTypes.CORRECTION) } + /** Returns True if filing is a Dissolution. */ + static isTypeDissolution (item: any): boolean { + return (item.name === FilingTypes.DISSOLUTION) + } + + /** Returns True if filing is an Amalgamation. */ + static isTypeAmalgamation (item: any): boolean { + return (item.name === FilingTypes.AMALGAMATION_APPLICATION) + } + + /** Returns True if filing is a Regular Amalgamation. */ + static isTypeAmalgamationRegular (item: any): boolean { + return ( + // the property in a todo item or filing item: + item.filingSubType === FilingSubTypes.AMALGAMATION_REGULAR || + // the property in a state filing: + item.amalgamationApplication?.type === FilingSubTypes.AMALGAMATION_REGULAR + ) + } + + /** Returns True if filing is a Horizontal Amalgamation. */ + static isTypeAmalgamationHorizontal (item: any): boolean { + return ( + // the property in a todo item or filing item: + item.filingSubType === FilingSubTypes.AMALGAMATION_HORIZONTAL || + // the property in a state filing: + item.amalgamationApplication?.type === FilingSubTypes.AMALGAMATION_HORIZONTAL + ) + } + + /** Returns True if filing is a Vertical Amalgamation. */ + static isTypeAmalgamationVertical (item: any): boolean { + return ( + // the property in a todo item or filing item: + item.filingSubType === FilingSubTypes.AMALGAMATION_VERTICAL || + // the property in a state filing: + item.amalgamationApplication?.type === FilingSubTypes.AMALGAMATION_VERTICAL + ) + } + /** Returns True if filing is an Incorporation Application. */ static isTypeIncorporationApplication (item: any): boolean { return (item.name === FilingTypes.INCORPORATION_APPLICATION) @@ -299,7 +349,20 @@ export default class EnumUtilities { case FilingTypes.ADMIN_FREEZE: // FUTURE: add freeze/unfreeze checks here return FilingNames.ADMIN_FREEZE + case FilingTypes.AGM_EXTENSION: return FilingNames.AGM_EXTENSION + case FilingTypes.AGM_LOCATION_CHANGE: return FilingNames.AGM_LOCATION_CHANGE case FilingTypes.ALTERATION: return FilingNames.ALTERATION + case FilingTypes.AMALGAMATION_APPLICATION: + if (subType === FilingSubTypes.AMALGAMATION_HORIZONTAL) { + return `${FilingNames.AMALGAMATION_APPLICATION} - Horizontal` + } + if (subType === FilingSubTypes.AMALGAMATION_REGULAR) { + return `${FilingNames.AMALGAMATION_APPLICATION} - Regular` + } + if (subType === FilingSubTypes.AMALGAMATION_VERTICAL) { + return `${FilingNames.AMALGAMATION_APPLICATION} - Vertical` + } + return FilingNames.AMALGAMATION_APPLICATION case FilingTypes.ANNUAL_REPORT: return FilingNames.ANNUAL_REPORT + (agmYear ? ` (${agmYear})` : '') case FilingTypes.CHANGE_OF_ADDRESS: return FilingNames.CHANGE_OF_ADDRESS case FilingTypes.CHANGE_OF_COMPANY_INFO: return FilingNames.CHANGE_OF_COMPANY_INFO @@ -322,7 +385,7 @@ export default class EnumUtilities { if (subType === FilingSubTypes.LIMITED_RESTORATION_EXTENSION) return FilingNames.RESTORATION_EXTENSION if (subType === FilingSubTypes.FULL_RESTORATION) return FilingNames.RESTORATION_FULL if (subType === FilingSubTypes.LIMITED_RESTORATION) return FilingNames.RESTORATION_LIMITED - return FilingNames.UNKNOWN + return FilingNames.RESTORATION_APPLICATION case FilingTypes.SPECIAL_RESOLUTION: return FilingNames.SPECIAL_RESOLUTION case FilingTypes.TRANSITION: return FilingNames.TRANSITION_APPLICATION case FilingTypes.PUT_BACK_ON: return FilingNames.PUT_BACK_ON @@ -332,13 +395,15 @@ export default class EnumUtilities { } /** - * Converts a string in "camelCase" (or "PascalCase") to separate, title-case words, + * Converts a string in "camelCase" (or "PascalCase") to a string of separate, title-case words, * suitable for a title or proper name. * @param s the string to convert * @returns the converted string */ static camelCaseToWords (s: string): string { - return s?.split(/(?=[A-Z])/).join(' ').replace(/^\w/, c => c.toUpperCase()) || '' + const words = s?.split(/(?=[A-Z])/).join(' ').replace(/^\w/, c => c.toUpperCase()) || '' + // SPECIAL CASE: convert 'Agm' to uppercase + return words.replace('Agm', 'AGM') } /** diff --git a/src/services/legal-services.ts b/src/services/legal-services.ts index f18396e61..1bb29ef4b 100644 --- a/src/services/legal-services.ts +++ b/src/services/legal-services.ts @@ -1,9 +1,10 @@ // Libraries import axios from '@/axios-auth' import { AxiosResponse } from 'axios' -import { ApiBusinessIF, ApiFilingIF, CommentIF, DocumentIF, FetchDocumentsIF, NameRequestIF, - PresignedUrlIF } from '@/interfaces' +import { ApiBusinessIF, ApiFilingIF, CommentIF, DocumentIF, FetchDocumentsIF, PresignedUrlIF } + from '@/interfaces' import { DigitalCredentialTypes, FilingStatus, Roles } from '@/enums' +import { StatusCodes } from 'http-status-codes' /** * Class that provides integration with the Legal API. @@ -81,11 +82,11 @@ export default class LegalServices { } /** - * Fetches the draft Application filing. + * Fetches the draft IA / Registration / Amalgamation filing. * This is a unique request using the temp reg number. * This assumes a single filing is returned. * @param tempRegNumber the temporary registration number - * @returns the draft app response + * @returns the draft app response (a single filing) */ static async fetchDraftApp (tempRegNumber: string): Promise { const url = `businesses/${tempRegNumber}/filings` @@ -95,15 +96,33 @@ export default class LegalServices { } /** - * Fetches a Name Request. - * @param filingId the NR number - * @returns the name request object + * Fetches name request data. + * @param nrNumber the name request number (eg, NR 1234567) to fetch + * @param phone the name request phone (eg, 12321232) + * @param email the name request email (eg, nr@example.com) + * @returns a promise to return the NR data, or null if not found */ - static async fetchNameRequest (nrNumber: string): Promise { - const url = `nameRequests/${nrNumber}` + static async fetchNameRequest (nrNumber: string, phone = '', email = ''): Promise { + const url = `nameRequests/${nrNumber}/validate?phone=${phone}&email=${email}` + return axios.get(url) - // workaround because data is at "response.data.data" - .then(response => response?.data) + .then(response => { + if (response?.data) { + return response.data + } + // eslint-disable-next-line no-console + console.log('fetchNameRequest() error - invalid response =', response) + throw new Error('Invalid API response') + }).catch(error => { + if (error?.response?.status === StatusCodes.NOT_FOUND) { + return null // NR not found (not an error) + } else if (error?.response?.status === StatusCodes.BAD_REQUEST) { + throw new Error('Sent invalid email or phone number.') // Sent invalid email or phone + } else if (error?.response?.status === StatusCodes.FORBIDDEN) { + throw new Error('Not sent email or phone number.') // Not sent the email or phone + } + throw error + }) } /** @@ -136,6 +155,7 @@ export default class LegalServices { if (isDraft) { url += '?draft=true' } + return axios.post(url, { filing }) .then(response => { const filing = response?.data?.filing @@ -148,6 +168,26 @@ export default class LegalServices { }) } + /** + * Creates (posts) a draft business record, which is used to bootstrap a new business. + * @param businessRequest the object body of the request + * @returns the filing object associated with the temporary business + */ + static async createDraftBusiness (businessRequest: any): Promise { + const url = `businesses?draft=true` + + return axios.post(url, businessRequest) + .then(response => { + const filing = response?.data?.filing + if (!filing) { + // eslint-disable-next-line no-console + console.log('createDraftBusiness() error - invalid response =', response) + throw new Error('Invalid filing') + } + return filing + }) + } + /** * Updates (puts) a filing. * @param businessId the business identifier (aka entity inc no) @@ -161,6 +201,7 @@ export default class LegalServices { if (isDraft) { url += '?draft=true' } + return axios.put(url, { filing }) .then(response => { const filing = response?.data?.filing @@ -308,7 +349,7 @@ export default class LegalServices { // /** - * Fetches digital credential information. + * Fetches digital credentials for a business. * @param businessId the business identifier (aka entity inc no) * @returns the axios response */ @@ -323,7 +364,7 @@ export default class LegalServices { } /** - * Creates a digital credentials invitation. + * Creates a wallet connection invitation. * @param businessId the business identifier (aka entity inc no) * @returns the axios response */ @@ -338,12 +379,12 @@ export default class LegalServices { } /** - * Fetches a digital credentials connection information. + * Fetches a list of wallet connections for a business. * @param businessId the business identifier (aka entity inc no) * @returns the axios response */ - static async fetchCredentialConnection (businessId: string): Promise { - const url = `businesses/${businessId}/digitalCredentials/connection` + static async fetchCredentialConnections (businessId: string): Promise { + const url = `businesses/${businessId}/digitalCredentials/connections` return axios.get(url) .catch(error => { // eslint-disable-next-line no-console @@ -353,13 +394,46 @@ export default class LegalServices { } /** - * Issues a digital credentials offer. + * Removes an active credential wallet connection. + * @param businessId the business identifier (aka entity inc no) + * @returns the axios response + */ + static async removeActiveCredentialConnection (businessId: string): Promise { + const url = `businesses/${businessId}/digitalCredentials/activeConnection` + return axios.delete(url) + .catch(error => { + // eslint-disable-next-line no-console + console.log(error.message) + return null + }) + } + + /** + * Removes a credential wallet connection. + * @param businessId the business identifier (aka entity inc no) + * @param connectionId the connection identifier + * @returns the axios response + */ + static async removeCredentialConnection (businessId: string, connectionId: string): Promise { + const url = `businesses/${businessId}/digitalCredentials/connections/${connectionId}` + return axios.delete(url) + .catch(error => { + // eslint-disable-next-line no-console + console.log(error.message) + return null + }) + } + + /** + * Sends a digital credential offer. * @param businessId The business identifier (aka entity inc no) * @param credentialType The credential offer type * @returns the axios response */ - static async issueCredentialOffer (businessId: string, credentialType: DigitalCredentialTypes) - : Promise { + static async sendCredentialOffer ( + businessId: string, + credentialType: DigitalCredentialTypes) + : Promise { const url = `businesses/${businessId}/digitalCredentials/${credentialType}` return axios.post(url) .catch(error => { @@ -368,4 +442,40 @@ export default class LegalServices { return null }) } + + /** + * Revokes a digital credential. + * @param businessId The business identifier (aka entity inc no) + * @param credentialId The credential identifier + * @returns the axios response + */ + static async revokeCredential ( + businessId: string, + credentialId: string, + reissue = false) + : Promise { + const url = `businesses/${businessId}/digitalCredentials/${credentialId}/revoke` + return axios.post(url, { reissue }) + .catch(error => { + // eslint-disable-next-line no-console + console.log(error.message) + return null + }) + } + + /** + * Removes a digital credential. + * @param businessId The business identifier (aka entity inc no) + * @param credentialId The credential identifier + * @returns the axios response + */ + static async removeCredential (businessId: string, credentialId: string): Promise { + const url = `businesses/${businessId}/digitalCredentials/${credentialId}` + return axios.delete(url) + .catch(error => { + // eslint-disable-next-line no-console + console.log(error.message) + return null + }) + } } diff --git a/src/services/pay-services.ts b/src/services/pay-services.ts index e176455ac..a9183d136 100644 --- a/src/services/pay-services.ts +++ b/src/services/pay-services.ts @@ -18,4 +18,21 @@ export default class PayServices { .then(response => response?.data) .catch(() => {}) // ignore errors } + + /** + * Fetches the CFS account ID from the pay-api. + * @param payApiUrl the URL of the pay-api + * @param accountId the ID for which to fetch the CFS account ID + * @returns the CFS account ID + */ + static async fetchCfsAccountId (payApiUrl: string, accountId: number): Promise { + const url = `${payApiUrl}accounts/${accountId}` + try { + const response = await axios.get(url) + return response?.data?.cfsAccount?.cfsAccountNumber + } catch (error) { + console.error('Error fetching data from Pay API:', error) + throw error + } + } } diff --git a/src/stores/authenticationStore.ts b/src/stores/authenticationStore.ts index 457f361a7..4a28d134e 100644 --- a/src/stores/authenticationStore.ts +++ b/src/stores/authenticationStore.ts @@ -1,18 +1,18 @@ import { AccountTypes } from '@bcrs-shared-components/enums' -import { RootStateIF } from '@/interfaces' +import { AuthenticationStateIF } from '@/interfaces' import { defineStore } from 'pinia' import { useRootStore } from './rootStore' export const useAuthenticationStore = defineStore('authentication', { getters: { /** Whether the current account is a premium account. */ - isPremiumAccount (rootState: RootStateIF): boolean { - return (rootState.account.currentAccount.accountType === AccountTypes.PREMIUM) + isPremiumAccount (state: AuthenticationStateIF): boolean { + return (state.account.currentAccount.accountType === AccountTypes.PREMIUM) }, /** Whether the user is ServiceBC Staff (which is not the same as Staff). */ - isSbcStaff (rootState: RootStateIF): boolean { - return (rootState.account.currentAccount.accountType === AccountTypes.SBC_STAFF) + isSbcStaff (state: AuthenticationStateIF): boolean { + return (state.account.currentAccount.accountType === AccountTypes.SBC_STAFF) }, /** The user's Keycloak GUID. */ @@ -21,8 +21,8 @@ export const useAuthenticationStore = defineStore('authentication', { }, /** The user's Keycloak Bearer Token. */ - getKeycloakToken (rootState: RootStateIF): string { - return rootState.auth.token + getKeycloakToken (state: AuthenticationStateIF): string { + return state.auth.token }, /** Returns true is the user is Keycloak authenticated. */ @@ -31,26 +31,26 @@ export const useAuthenticationStore = defineStore('authentication', { }, /** Returns the Keycloak user object. */ - getKeycloakUser (rootState: RootStateIF): any { - return rootState.account.currentUser + getKeycloakUser (state: AuthenticationStateIF): any { + return state.account.currentUser }, /** Each Keycloak user can have many accounts. * This getter returns the account the user * has selected */ - getCurrentAccount (rootState: RootStateIF): any { - return rootState.account.currentAccount + getCurrentAccount (state: AuthenticationStateIF): any { + return state.account.currentAccount }, /** Returns the Keycloak roles. */ - getKeycloakRoles (rootState: RootStateIF): Array { - return rootState.account.currentUser.roles + getKeycloakRoles (state: AuthenticationStateIF): Array { + return state.account.currentUser.roles }, /** Is True if Keycloak Staff role is set. */ - isKeycloakRoleStaff (rootState: RootStateIF): boolean { - return rootState.account.currentUser.roles.includes('staff') + isKeycloakRoleStaff (state: AuthenticationStateIF): boolean { + return state.account.currentUser.roles.includes('staff') } } }) diff --git a/src/stores/businessStore.ts b/src/stores/businessStore.ts index 9d7fb50d7..8e981083e 100644 --- a/src/stores/businessStore.ts +++ b/src/stores/businessStore.ts @@ -1,8 +1,10 @@ -import { AllowedActionsIF, ApiBusinessIF, ApiDateTimeUtc, BusinessStateIF, BusinessWarningIF } from '@/interfaces' +import { AllowedActionsIF, AmalgamatedIntoIF, ApiBusinessIF, ApiDateTimeUtc, BusinessStateIF, BusinessWarningIF } + from '@/interfaces' import { defineStore } from 'pinia' import { CorpTypeCd, EntityState } from '@/enums' import { DateUtilities, LegalServices } from '@/services/' import { GetCorpNumberedDescription } from '@bcrs-shared-components/corp-type-module' +import { useRootStore } from './rootStore' export const useBusinessStore = defineStore('business', { state: (): BusinessStateIF => ({ @@ -33,11 +35,16 @@ export const useBusinessStore = defineStore('business', { }), getters: { - /** The allowed actions object. */ + /** The Allowed Actions object. */ getAllowedActions (state: BusinessStateIF): AllowedActionsIF { return state.businessInfo.allowedActions }, + /** The Amalgamated Info object. */ + getAmalgamatedInto (state: BusinessStateIF): AmalgamatedIntoIF { + return state.businessInfo.amalgamatedInto + }, + /** The business number (aka Tax ID). */ getBusinessNumber (state: BusinessStateIF): string { return state.businessInfo.taxId @@ -48,7 +55,7 @@ export const useBusinessStore = defineStore('business', { return state.businessInfo.warnings }, - /** The business state.businessInfo. */ + /** The business state. */ getBusinessState (state: BusinessStateIF): EntityState { return state.businessInfo.state }, @@ -101,9 +108,13 @@ export const useBusinessStore = defineStore('business', { /** The entity name, or numbered description, or empty string. */ getEntityName (): string { - return ( - this.getLegalName || GetCorpNumberedDescription(this.getLegalType) - ) + const rootStore = useRootStore() + + if (rootStore.isDraftAmalgamation || rootStore.isFiledAmalgamation) { + return this.getLegalName || 'Numbered Amalgamated Company' + } else { + return (this.getLegalName || GetCorpNumberedDescription(this.getLegalType)) + } }, /** The state filing URL (may be null). */ @@ -132,6 +143,11 @@ export const useBusinessStore = defineStore('business', { ) }, + /** Is True if the business is part of a future effective amalgamation filing. */ + isFutureEffectiveAmalgamation (): boolean { + return this.getBusinessWarnings.some(item => item.warningType === 'FUTURE_EFFECTIVE_AMALGAMATION') + }, + /** Is True if business is active. */ isActive (): boolean { return (this.getBusinessState === EntityState.ACTIVE) @@ -143,13 +159,23 @@ export const useBusinessStore = defineStore('business', { }, /** Is True if entity is a Benefit Company. */ - isBComp (state: BusinessStateIF): boolean { - return (state.businessInfo.legalType === CorpTypeCd.BENEFIT_COMPANY) + isBComp (): boolean { + return (this.getLegalType === CorpTypeCd.BENEFIT_COMPANY) }, /** Is True if entity is a BC Company. */ - isBcCompany (state: BusinessStateIF): boolean { - return (state.businessInfo.legalType === CorpTypeCd.BC_COMPANY) + isBcCompany (): boolean { + return (this.getLegalType === CorpTypeCd.BC_COMPANY) + }, + + /** Is True if entity is a BC Community Contribution Company. */ + isCcc (): boolean { + return (this.getLegalType === CorpTypeCd.BC_CCC) + }, + + /** Is True if entity is a BC ULC Company. */ + isUlc (): boolean { + return (this.getLegalType === CorpTypeCd.BC_ULC_COMPANY) }, /** Is True if entity is a BEN/BC/CCC/ULC. */ @@ -162,19 +188,24 @@ export const useBusinessStore = defineStore('business', { ) }, - /** Is True if entity is a BC Community Contribution Company. */ - isCcc (state: BusinessStateIF): boolean { - return (state.businessInfo.legalType === CorpTypeCd.BC_CCC) + /** Is True if entity is a Cooperative. */ + isCoop (): boolean { + return (this.getLegalType === CorpTypeCd.COOP) }, - /** Is True if entity is a Cooperative. */ - isCoop (state: BusinessStateIF): boolean { - return (state.businessInfo.legalType === CorpTypeCd.COOP) + /** Is True if entity is a Corporation. */ + isCorp (): boolean { + return (this.getLegalType === CorpTypeCd.CORPORATION) }, - /** Is True if entity is a BC Corporation. */ - isCorp (state: BusinessStateIF): boolean { - return (state.businessInfo.legalType === CorpTypeCd.BC_CORPORATION) + /** Is True if entity is a General Partnership. */ + isPartnership (): boolean { + return (this.getLegalType === CorpTypeCd.PARTNERSHIP) + }, + + /** Is True if entity is a Sole Proprietorship. */ + isSoleProp (): boolean { + return (this.getLegalType === CorpTypeCd.SOLE_PROP) }, /** Is True if entity is a Sole Proprietorship or General Partnership. */ @@ -195,21 +226,6 @@ export const useBusinessStore = defineStore('business', { /** Is True if business is in liquidation. */ isLiquidation (): boolean { return (this.getBusinessState === EntityState.LIQUIDATION) - }, - - /** Is True if entity is a General Partnership. */ - isPartnership (): boolean { - return (this.getLegalType === CorpTypeCd.PARTNERSHIP) - }, - - /** Is True if entity is a Sole Proprietorship. */ - isSoleProp (): boolean { - return (this.getLegalType === CorpTypeCd.SOLE_PROP) - }, - - /** Is True if entity is a BC ULC Company. */ - isUlc (): boolean { - return (this.getLegalType === CorpTypeCd.BC_ULC_COMPANY) } }, diff --git a/src/stores/configurationStore.ts b/src/stores/configurationStore.ts index b109e464c..8e5feac59 100644 --- a/src/stores/configurationStore.ts +++ b/src/stores/configurationStore.ts @@ -91,7 +91,7 @@ export const useConfigurationStore = defineStore('configuration', { }, setSessionVariables (data: any) { - // The following four session variables are used by SBC Header (a common component): + // The following four session variables are used by SBC Header (a common component): sessionStorage.setItem('AUTH_WEB_URL', data.VUE_APP_AUTH_WEB_URL) sessionStorage.setItem('BUSINESSES_URL', data.VUE_APP_BUSINESSES_URL) sessionStorage.setItem('REGISTRY_HOME_URL', data.VUE_APP_REGISTRY_HOME_URL) diff --git a/src/stores/filingHistoryListStore.ts b/src/stores/filingHistoryListStore.ts index d14e6461a..bb3079a5b 100644 --- a/src/stores/filingHistoryListStore.ts +++ b/src/stores/filingHistoryListStore.ts @@ -33,11 +33,40 @@ export const useFilingHistoryListStore = defineStore('filingHistoryList', { // eslint-disable-next-line no-console console.log('Invalid filing =', filing) return false + } else if (filing.displayLedger === false) { + // eslint-disable-next-line no-console + console.log('Not shown filing on the ledger =', filing) + return false } return true }) }, + /** The function to compute total AGM extension duration. Requires argument for AGM Year. */ + getTotalAgmExtensionDuration (state: FilingHistoryListStateIF): (year: number) => number { + return (year: number) => { + return state.filings.reduce((totalMonths, filing) => { + // Skip if not AGM_EXTENSION + if (filing.name !== FilingTypes.AGM_EXTENSION) { + return totalMonths + } + const filingExtension = filing.data?.agmExtension + // Skip if extension data is missing + if (!filingExtension) { + return totalMonths + } + // Cast year as number + // Skip if years don't match + if (Number(filingExtension.year) !== year) { + return totalMonths + } + // Add total months for the specific AGM year + totalMonths += filingExtension.extensionDuration || 0 + return totalMonths + }, 0) + } + }, + /** The count of filings in the Filing History List. */ getHistoryCount (): number { const filings = this.getFilings as ApiFilingIF[] @@ -192,7 +221,7 @@ export const useFilingHistoryListStore = defineStore('filingHistoryList', { // check if we're opening a new panel if (!isCurrentPanel) { - // get a reference to the filing so we can update it right in the main list + // get a reference to the filing so we can update it right in the main list const filing = this.getFilings[index] // check if we're missing comments or documents diff --git a/src/stores/rootStore.ts b/src/stores/rootStore.ts index 2520a31ef..f0cf45d95 100644 --- a/src/stores/rootStore.ts +++ b/src/stores/rootStore.ts @@ -1,13 +1,13 @@ import { defineStore } from 'pinia' -import { CorpTypeCd, EntityStatus, FilingStatus, FilingSubTypes, FilingTypes } from '@/enums' -import { ApiTaskIF, DissolutionConfirmationResourceIF, FilingDataIF, OfficeAddressIF, PartyIF, StateIF, - TodoListResourceIF, IsoDatePacific, StateFilingIF } from '@/interfaces' +import { CorpTypeCd, EntityStatus, FilingSubTypes, FilingTypes } from '@/enums' +import { ApiTaskIF, DissolutionConfirmationResourceIF, FilingDataIF, OfficeAddressIF, PartyIF, + RootStateIF, TodoListResourceIF, IsoDatePacific, StateFilingIF } from '@/interfaces' import { DateUtilities, EnumUtilities, LegalServices } from '@/services' import { useBusinessStore } from './businessStore' import { useFilingHistoryListStore } from './filingHistoryListStore' export const useRootStore = defineStore('root', { - state: (): StateIF => ({ + state: (): RootStateIF => ({ authRoles: [], currentDate: null, currentJsDate: null, @@ -25,19 +25,20 @@ export const useRootStore = defineStore('root', { nextARDate: null, businessAddress: null, configObject: null, - currentFilingStatus: null, fetchingDataSpinner: false, + startingAmalgamationSpinner: false, filingData: [], nameRequest: null, parties: [], recordsAddress: null, registeredAddress: null, - tasks: [] + tasks: [], + userInfo: null }), getters: { /** The list of tasks from the API. */ - getTasks (state: StateIF): ApiTaskIF[] { + getTasks (state: RootStateIF): ApiTaskIF[] { return state.tasks }, @@ -46,7 +47,7 @@ export const useRootStore = defineStore('root', { * NB: internally this is stored as UTC * NB: use date mixins to display this */ - getCurrentJsDate (state: StateIF): Date { + getCurrentJsDate (state: RootStateIF): Date { return state.currentJsDate }, @@ -54,22 +55,22 @@ export const useRootStore = defineStore('root', { * The current date (YYYY-MM-DD), which was refreshed when the dashload loaded, * in Pacific timezone. */ - getCurrentDate (state: StateIF): IsoDatePacific { + getCurrentDate (state: RootStateIF): IsoDatePacific { return state.currentDate }, /** The current year. */ - getCurrentYear (state: StateIF): number { + getCurrentYear (state: RootStateIF): number { return (state.currentDate ? +state.currentDate.substring(0, 4) : 0) }, /** The business email. */ - getBusinessEmail (state: StateIF): string { + getBusinessEmail (state: RootStateIF): string { return state.businessEmail }, /** The business phone number and optional extension. */ - getFullPhoneNumber (state: StateIF): string { + getFullPhoneNumber (state: RootStateIF): string { const phone = state.businessPhone const ext = state.businessPhoneExtension @@ -80,24 +81,25 @@ export const useRootStore = defineStore('root', { }, /** The roles from the Keycloak token (JWT). */ - getKeycloakRoles (state: StateIF): Array { + getKeycloakRoles (state: RootStateIF): Array { return state.keycloakRoles }, - /** Is True if Staff role is set. + /** + * Is True if Staff role is set. * DEPRECATED - use authentication/isKeycloakRoleStaff() instead */ - isRoleStaff (state: StateIF): boolean { + isRoleStaff (state: RootStateIF): boolean { return state.keycloakRoles.includes('staff') }, /** Is True if app permissions includes Edit role. */ - isRoleEdit (state: StateIF): boolean { + isRoleEdit (state: RootStateIF): boolean { return state.authRoles.includes('edit') }, /** Is True if app permission includes View role. */ - isRoleView (state: StateIF): boolean { + isRoleView (state: RootStateIF): boolean { return state.authRoles.includes('view') }, @@ -106,43 +108,68 @@ export const useRootStore = defineStore('root', { return false // FUTURE: implement this }, - /** Is True if this is a Draft Application. */ - isAppTask (state: StateIF): boolean { - return (state.entityStatus === EntityStatus.DRAFT_APP) + getEntityStatus (state: RootStateIF): EntityStatus { + return state.entityStatus }, - /** Is True if this is a Paid or Completed Application. */ - isAppFiling (state: StateIF): boolean { - return (state.entityStatus === EntityStatus.FILED_APP) + isDraftAmalgamation (state: RootStateIF): boolean { + return (state.entityStatus === EntityStatus.DRAFT_AMALGAMATION) }, - /** The Name Request (may be null). */ - getNameRequest (state: StateIF): any { - return (state.nameRequest) + isDraftIncorpApp (state: RootStateIF): boolean { + return (state.entityStatus === EntityStatus.DRAFT_INCORP_APP) }, - isCurrentFilingEditable (state: StateIF): boolean { - return (state.currentFilingStatus === FilingStatus.NEW || state.currentFilingStatus === FilingStatus.DRAFT) + isDraftRegistration (state: RootStateIF): boolean { + return (state.entityStatus === EntityStatus.DRAFT_REGISTRATION) }, - getReportState (state: StateIF): string { - switch (state.currentFilingStatus) { - case FilingStatus.NEW: return '' - case FilingStatus.DRAFT: return 'Draft' - } - return state.currentFilingStatus + isFiledAmalgamation (state: RootStateIF): boolean { + return (state.entityStatus === EntityStatus.FILED_AMALGAMATION) + }, + + isFiledIncorpApp (state: RootStateIF): boolean { + return (state.entityStatus === EntityStatus.FILED_INCORP_APP) + }, + + isFiledRegistration (state: RootStateIF): boolean { + return (state.entityStatus === EntityStatus.FILED_REGISTRATION) + }, + + /** Is True if this is a Draft or Pending application. */ + isAppTask (): boolean { + return ( + this.isDraftAmalgamation || this.isDraftIncorpApp || this.isDraftRegistration + ) + }, + + /** Is True if this is a Completed or Paid application. */ + isAppFiling (): boolean { + return ( + this.isFiledAmalgamation || this.isFiledIncorpApp || this.isFiledRegistration + ) + }, + + /** The Name Request (may be null). */ + getNameRequest (state: RootStateIF): any { + return (state.nameRequest) }, /** Whether to show the Fetching Data spinner. */ - showFetchingDataSpinner (state: StateIF): boolean { + showFetchingDataSpinner (state: RootStateIF): boolean { return state.fetchingDataSpinner }, + /** Whether to show the Starting Amalgamation spinner. */ + showStartingAmalgamationSpinner (state: RootStateIF): boolean { + return state.startingAmalgamationSpinner + }, + /** * This is used to show Legal Obligations only for a new business * that has no tasks and hasn't filed anything yet (except their IA). **/ - isBusinessWithNoMaintenanceFilings (state: StateIF): boolean { + isBusinessWithNoMaintenanceFilings (state: RootStateIF): boolean { const filingHistoryListStore = useFilingHistoryListStore() return ( // no todo items @@ -156,77 +183,116 @@ export const useRootStore = defineStore('root', { }, /** The entity registered office address. */ - getRegisteredOfficeAddress (state: StateIF): OfficeAddressIF { + getRegisteredOfficeAddress (state: RootStateIF): OfficeAddressIF { return state.registeredAddress }, /** The parties list from the API. */ - getParties (state: StateIF): Array { + getParties (state: RootStateIF): Array { return state.parties }, /** The entity business address. */ - getBusinessAddress (state: StateIF): OfficeAddressIF { + getBusinessAddress (state: RootStateIF): OfficeAddressIF { return state.businessAddress }, /** The entity resource text for confirmation modal. */ - getDissolutionConfirmationResource (state: StateIF): DissolutionConfirmationResourceIF { + getDissolutionConfirmationResource (state: RootStateIF): DissolutionConfirmationResourceIF { return state.configObject?.dissolutionConfirmation }, /** The entity TodoList resources. */ - getTodoListResource (state: StateIF): TodoListResourceIF { + getTodoListResource (state: RootStateIF): TodoListResourceIF { return state.configObject?.todoList }, /** The corp type code from Auth db (may be null). */ - getCorpTypeCd (state: StateIF): CorpTypeCd { + getCorpTypeCd (state: RootStateIF): CorpTypeCd { return state.corpTypeCd }, + /** The user info from Auth db (may be null). */ + getUserInfo (state: RootStateIF): any { + return state.userInfo + }, + // // State Filing getters // /** The filing that changed the business state, if there is one. */ - getStateFiling (state: StateIF): StateFilingIF { + getStateFiling (state: RootStateIF): StateFilingIF { return state.stateFiling }, - /** - * A formatted concatenation of the name and the effective date of the filing. - * Only used when entity is historical. - */ + /** The historical reason text to display in the info header. */ getReasonText (): string { + const enDash = '–' // ALT + 0150 const businessStore = useBusinessStore() - const stateFiling = this.getStateFiling as StateFilingIF // may be null + if (!businessStore.isHistorical) return null // safety check + + // check if historical reason is amalgamation + const amalgamatedInto = businessStore.getAmalgamatedInto + if (amalgamatedInto) return reasonTextAmalgamation() + + // get state filing (may be null) + const stateFiling = this.getStateFiling as StateFilingIF const filingType = stateFiling?.header?.name if (!filingType) return null // safety check - // create reason text to display in the info header - let name: string - let date: string + // check if historical reason is dissolution + if (filingType === FilingTypes.DISSOLUTION) return reasonTextDissolution() + + // check if historical reason is continuation out + if (filingType === FilingTypes.CONTINUATION_OUT) return reasonTextContinuationOut() + + // fallback reason text + return reasonTextOther() + + // + // helper functions + // + + /** The reason text for a business made historical by an amalgamation. */ + function reasonTextAmalgamation (): string { + const name = 'Amalgamation' + const amalgamationDate = DateUtilities.apiToDate(amalgamatedInto.amalgamationDate) + if (!amalgamationDate) throw new Error('Invalid amalgamation date') + const date = DateUtilities.dateToPacificDate(amalgamationDate, true) + const identifier = amalgamatedInto.identifier || 'Unknown Company' + return `${name} ${enDash} ${date} ${enDash} ${identifier}` + } - if (filingType === FilingTypes.DISSOLUTION) { - name = EnumUtilities.dissolutionTypeToName( + /** The reason text for a business made historical by a dissolution. */ + function reasonTextDissolution (): string { + const name = EnumUtilities.dissolutionTypeToName( businessStore.isFirm, - (stateFiling?.dissolution?.dissolutionType as FilingSubTypes) + (stateFiling.dissolution?.dissolutionType as FilingSubTypes) ) const dissolutionDate = DateUtilities.yyyyMmDdToDate(stateFiling.dissolution?.dissolutionDate) if (!dissolutionDate) throw new Error('Invalid dissolution date') - date = DateUtilities.dateToPacificDate(dissolutionDate, true) - } else { - name = (filingType === FilingTypes.CONTINUATION_OUT) - ? 'Continued Out' - : EnumUtilities.filingTypeToName(filingType) - const effectiveDate = DateUtilities.apiToDate(stateFiling.header.effectiveDate) + const date = DateUtilities.dateToPacificDate(dissolutionDate, true) + return `${name} ${enDash} ${date}` + } + + /** The reason text for a business made historical by a continuation out. */ + function reasonTextContinuationOut (): string { + const name = 'Continued Out' + const effectiveDate = DateUtilities.apiToDate(stateFiling.header?.effectiveDate) if (!effectiveDate) throw new Error('Invalid effective date') - date = DateUtilities.dateToPacificDateTime(effectiveDate) + const dateTime = DateUtilities.dateToPacificDateTime(effectiveDate) + return `${name} ${enDash} ${dateTime}` } - const enDash = '–' // ALT + 0150 - return `${name} ${enDash} ${date}` + /** The reason text for a business made historical by some other state filing. */ + function reasonTextOther (): string { + const name = EnumUtilities.filingTypeToName(filingType) + const effectiveDate = DateUtilities.apiToDate(stateFiling.header?.effectiveDate) + if (!effectiveDate) throw new Error('Invalid effective date') + const dateTime = DateUtilities.dateToPacificDateTime(effectiveDate) + return `${name} ${enDash} ${dateTime}` + } }, /** The limited restoration active-until date, if it exists, otherwise null. */ @@ -258,6 +324,10 @@ export const useRootStore = defineStore('root', { this.fetchingDataSpinner = val }, + setStartingAmalgamationSpinner (val: boolean) { + this.startingAmalgamationSpinner = val + }, + setStateFiling (stateFilingResponse: any) { this.stateFiling = stateFilingResponse }, @@ -271,6 +341,10 @@ export const useRootStore = defineStore('root', { this.userKeycloakGuid = userKeycloakGuid }, + setUserInfo (val: any) { + this.userInfo = val + }, + /** Set the app permissions. */ setAuthRoles (authRoles: Array) { this.authRoles = authRoles @@ -320,10 +394,6 @@ export const useRootStore = defineStore('root', { this.businessPhoneExtension = businessPhoneExtension }, - setCurrentFilingStatus (currentFilingStatus: FilingStatus) { - this.currentFilingStatus = currentFilingStatus - }, - setTasks (tasks: Array) { this.tasks = tasks }, diff --git a/src/stores/state.ts b/src/stores/state.ts index 06fb2f7ae..3a00cf5ed 100644 --- a/src/stores/state.ts +++ b/src/stores/state.ts @@ -1,6 +1,6 @@ -import { StateIF } from '@/interfaces' +import { RootStateIF } from '@/interfaces' -export const state: StateIF = { +export const state: RootStateIF = { authRoles: [], currentDate: null, currentJsDate: null, @@ -21,12 +21,12 @@ export const state: StateIF = { businessAddress: null, configObject: null, - currentFilingStatus: null, fetchingDataSpinner: false, filingData: [], nameRequest: null, parties: [], recordsAddress: null, registeredAddress: null, - tasks: [] + tasks: [], + userInfo: null } diff --git a/src/utils/feature-flags.ts b/src/utils/feature-flags.ts index 92d2ad943..653d0b92c 100644 --- a/src/utils/feature-flags.ts +++ b/src/utils/feature-flags.ts @@ -9,15 +9,17 @@ declare const window: any */ const defaultFlagSet: LDFlagSet = { 'banner-text': '', // by default, there is no banner text - 'enable-agm-extension': false, - 'enable-agm-location-chg': false, 'enable-digital-credentials': false, 'sentry-enable': false, // by default, no sentry logs 'show-alert-phone-numbers-firm': false, + 'supported-amalgamation-entities': [], 'supported-business-summary-entities': [], 'supported-correction-entities': [], 'supported-dissolution-entities': [], - 'supported-consent-continuation-out-entities': [] + 'supported-consent-continuation-out-entities': [], + 'supported-agm-extension-entities': [], + 'supported-agm-location-chg-entities': [], + 'supported-restoration-entities': [] } /** diff --git a/src/utils/set-base-route-and-business-id.ts b/src/utils/set-base-route-and-business-id.ts index 8fca95578..e6b167a74 100644 --- a/src/utils/set-base-route-and-business-id.ts +++ b/src/utils/set-base-route-and-business-id.ts @@ -23,7 +23,7 @@ export function setBaseRouteAndBusinessId (pathname: string, processEnvBaseUrl: // ensure we don't already have a Business ID in scope sessionStorage.removeItem('BUSINESS_ID') } else { - throw new Error('Missing or invalid Business ID or Temp Reg Number.') + throw new Error('Missing or invalid Business ID or Temporary Registration Number.') } // set Base for Vue Router diff --git a/src/views/AgmExtension.vue b/src/views/AgmExtension.vue index c6d2aa894..cee2f406a 100644 --- a/src/views/AgmExtension.vue +++ b/src/views/AgmExtension.vue @@ -14,57 +14,14 @@ @exit="onPaymentErrorDialogExit()" /> - - - - - - - -
-
- -
- {{ loadingMessage }} -
-
-
-
- - +
-
-

- AGM Extension -

-
+

AGM Extension

- -
-
-

Extension Eligibility

-

- Fill out the following section to evaluate the eligibility for extension. -

-
+
+

Extension Detail

+

+ Enter the details about the extension request to evaluate the eligibility. +

+
-
- - - - - Business in Good Standing - - - - Yes - - - - - - - - - Date of Incorporation - - - - (date goes here) - - - - - - - - - Date of the Last Extension Grant on Record - - - - (date goes here) - - - - - - - - - Date the Annual General Meeting is intended to be held - - - - (date picker goes here) - - - - - - - - - Date of Previous Annual General Meeting - - - - (radio buttons go here) - - - - - - - - - Was the above extension grant for the current AGM? - - - - (radio buttons go here) - - - -
-
+ + + + + + + + -
+

Certify

@@ -257,6 +82,7 @@ :isCertified.sync="isCertified" :certifiedBy.sync="certifiedBy" :class="{ 'invalid-certify': !certifyFormValid && showErrors }" + :disableEdit="!isRoleStaff" :entityDisplay="displayName()" :message="certifyText(FilingCodes.AGM_EXTENSION)" @valid="certifyFormValid=$event" @@ -292,27 +118,6 @@ id="buttons-container" class="list-item" > -

- - Save - - - Save and Resume Later - -
-
number; // enum for template readonly FilingCodes = FilingCodes + // evaluation object + data = { ...EmptyAgmExtEval } as AgmExtEvalIF + // variables for Certify component certifiedBy = '' isCertified = false certifyFormValid = false - // variables for Extension Eligiblity section - extensionEligibilityValid = false - - // variables for staff payment - staffPaymentData = { option: StaffPaymentOptions.NONE } as StaffPaymentIF - staffPaymentDialog = false + // variables for Extension Request section + extensionRequestValid = false // variables for displaying dialogs - resumeErrorDialog = false saveErrorReason: SaveErrorReasons = null paymentErrorDialog = false // other variables totalFee = 0 - dataLoaded = false - loadingMessage = '' - filingId = 0 // id of this consent to continuation out filing + filingId = 0 // id of this agm extension filing savedFiling: any = null // filing during save - saving = false // true only when saving - savingResuming = false // true only when saving and resuming showErrors = false // true when we press on File and Pay (trigger validation) filingPaying = false // true only when filing and paying haveChanges = false saveErrors = [] saveWarnings = [] - - /** True if loading container should be shown, else False. */ - get showLoadingContainer (): boolean { - // show loading container when data isn't yet loaded and when - // no dialogs are displayed (otherwise dialogs may be hidden) - return (!this.dataLoaded && !this.saveErrorReason && !this.paymentErrorDialog) - } + notEligibleExtensionDialog = false /** The Base URL string. */ get baseUrl (): string { @@ -443,12 +243,12 @@ export default class AgmExtension extends Mixins(CommonMixin, DateMixin, /** True if page is valid, else False. */ get isPageValid (): boolean { - return (this.certifyFormValid && this.extensionEligibilityValid) + return (this.extensionRequestValid && this.certifyFormValid) } - /** True when saving, saving and resuming, or filing and paying. */ + /** True when filing and paying. */ get busySaving (): boolean { - return (this.saving || this.savingResuming || this.filingPaying) + return (this.filingPaying) } /** True if payment is required, else False. */ @@ -472,184 +272,44 @@ export default class AgmExtension extends Mixins(CommonMixin, DateMixin, } // this is the id of THIS filing - // if 0, this is a new filing - // otherwise it's a draft filing + // it must be 0 (meaning new filing) -- we do not support resuming a draft filing this.filingId = +this.$route.params.filingId // number or NaN // if required data isn't set, go back to dashboard - if (!this.getIdentifier || isNaN(this.filingId)) { + if (!this.getIdentifier || this.filingId !== 0) { this.$router.push({ name: Routes.DASHBOARD }) } } /** Called when component is mounted. */ - async mounted (): Promise { - // wait until entire view is rendered (including all child components) - // see https://v3.vuejs.org/api/options-lifecycle-hooks.html#mounted - await this.$nextTick() - - if (this.filingId > 0) { - this.loadingMessage = `Resuming Your Request for AGM Extension` - } else { - this.loadingMessage = `Preparing Your Request for AGM Extension` + mounted (): void { + this.data.currentDate = this.getCurrentDate + this.data.isGoodStanding = this.isGoodStanding + this.data.incorporationDate = this.getFoundingDate + + // Pre-populate the certified block with the logged in user's name (if not staff) + if (!this.isRoleStaff && this.getUserInfo) { + this.certifiedBy = this.getUserInfo.firstname + ' ' + this.getUserInfo.lastname } - // fetch draft (which may overwrite some properties) - if (this.filingId > 0) { - await this.fetchDraftFiling() - } - - this.dataLoaded = true - - // always include consent continue out code - // use existing Priority and Waive Fees flags - this.updateFilingData('add', FilingCodes.AGM_EXTENSION, this.staffPaymentData.isPriority, - (this.staffPaymentData.option === StaffPaymentOptions.NO_FEE)) - } - - /** Fetches the draft consent filing. */ - async fetchDraftFiling (): Promise { - const url = `businesses/${this.getIdentifier}/filings/${this.filingId}` - await LegalServices.fetchFiling(url).then(filing => { - // verify data - if (!filing) throw new Error('Missing filing') - if (!filing.header) throw new Error('Missing header') - if (!filing.business) throw new Error('Missing business') - if (!filing.agmExtension) throw new Error('Missing agm extension object') - if (filing.header.name !== FilingTypes.AGM_EXTENSION) throw new Error('Invalid filing type') - if (filing.header.status !== FilingStatus.DRAFT) throw new Error('Invalid filing status') - if (filing.business.identifier !== this.getIdentifier) throw new Error('Invalid business identifier') - if (filing.business.legalName !== this.getLegalName) throw new Error('Invalid business legal name') - - // load Certified By (but not Date) - this.certifiedBy = filing.header.certifiedBy - - // load Staff Payment properties - if (filing.header.routingSlipNumber) { - this.staffPaymentData = { - option: StaffPaymentOptions.FAS, - routingSlipNumber: filing.header.routingSlipNumber, - isPriority: filing.header.priority - } as StaffPaymentIF - } else if (filing.header.bcolAccountNumber) { - this.staffPaymentData = { - option: StaffPaymentOptions.BCOL, - bcolAccountNumber: filing.header.bcolAccountNumber, - datNumber: filing.header.datNumber, - folioNumber: filing.header.folioNumber, - isPriority: filing.header.priority - } as StaffPaymentIF - } else if (filing.header.waiveFees) { - this.staffPaymentData = { - option: StaffPaymentOptions.NO_FEE - } as StaffPaymentIF - } else { - this.staffPaymentData = { - option: StaffPaymentOptions.NONE - } as StaffPaymentIF - } - }).catch(error => { - // eslint-disable-next-line no-console - console.log('fetchDraftFiling() error =', error) - this.resumeErrorDialog = true - }) - } - - /** - * Called when user clicks Save button - * or when user retries from Save Error dialog. - */ - async onClickSave (): Promise { - // prevent double saving - if (this.busySaving) return - - this.saving = true - - // save draft filing - this.savedFiling = await this.saveFiling(true).catch(error => { - this.saveErrorReason = SaveErrorReasons.SAVE - // try to return filing (which may exist depending on save error) - return error?.response?.data?.filing || null - }) - - const filingId = +this.savedFiling?.header?.filingId || 0 - if (filingId > 0) { - // save filing ID for possible future updates - this.filingId = filingId - } - - // if there was no error, finish save process now - // otherwise, dialog may finish this later - if (!this.saveErrorReason) this.onClickSaveFinish() - - this.saving = false - } - - onClickSaveFinish (): void { - // safety check - if (this.filingId > 0) { - // changes were saved, so clear flag - this.haveChanges = false - } else { - // eslint-disable-next-line no-console - console.log('onClickSaveFinish(): invalid filing ID, filing =', null) - } - } - - /** - * Called when user clicks Save and Resume later button - * or when user retries from Save Error dialog. - */ - async onClickSaveResume (): Promise { - // prevent double saving - if (this.busySaving) return - - this.savingResuming = true - - // save draft filing - this.savedFiling = await this.saveFiling(true).catch(error => { - this.saveErrorReason = SaveErrorReasons.SAVE_RESUME - // try to return filing (which may exist depending on save error) - return error?.response?.data?.filing || null - }) - - const filingId = +this.savedFiling?.header?.filingId || 0 - if (filingId > 0) { - // save filing ID for possible future updates - this.filingId = filingId - } - - // if there was no error, finish save-resume process now - // otherwise, dialog may finish this later - if (!this.saveErrorReason) this.onClickSaveResumeFinish() - - this.savingResuming = false - } - - onClickSaveResumeFinish (): void { - // safety check - if (this.filingId > 0) { - // changes were saved, so go to dashboard - this.goToDashboard(true) - } else { - // eslint-disable-next-line no-console - console.log('onClickSaveResumeFinish(): invalid filing ID, filing =', null) - } + // always include agm extension code + // (no Priority flag and no Waive Fees flag) + this.updateFilingData('add', FilingCodes.AGM_EXTENSION, undefined, undefined) } /** * Called when user clicks File and Pay button - * or when user retries from Save Error dialog - * or when user submits from Staff Payment dialog. + * or when user retries from Save Error dialog. */ - async onClickFilePay (fromStaffPayment = false): Promise { + async onClickFilePay (): Promise { // if there is an invalid component, scroll to it if (!this.isPageValid) { this.showErrors = true - // *** TODO: check for section errors here - if (!this.extensionEligibilityValid) { - // Show error message of detail comment text area if invalid - // this.$refs.detailCommentRef.$refs.textarea.error = true + // + // FUTURE: check for section errors here + // + if (!this.extensionRequestValid) { + // nothing to do here -- "showErrors" will do it all } if (!this.certifyFormValid) { // Show error message of legal name text field if invalid @@ -659,16 +319,15 @@ export default class AgmExtension extends Mixins(CommonMixin, DateMixin, return } - // prevent double saving - if (this.busySaving) return - - // if this is a staff user clicking File and Pay (not Submit) - // then detour via Staff Payment dialog - if (this.isRoleStaff && !fromStaffPayment) { - this.staffPaymentDialog = true + // if not eligible, display dialog + if (!this.data.isEligible) { + this.notEligibleExtensionDialog = true return } + // prevent double saving + if (this.busySaving) return + this.filingPaying = true // save final filing (not draft) @@ -749,33 +408,12 @@ export default class AgmExtension extends Mixins(CommonMixin, DateMixin, const header: any = { header: { - name: FilingTypes.CONSENT_CONTINUATION_OUT, + name: FilingTypes.AGM_EXTENSION, certifiedBy: this.certifiedBy || '', date: this.getCurrentDate // NB: API will reassign this date according to its clock } } - switch (this.staffPaymentData.option) { - case StaffPaymentOptions.FAS: - header.header['routingSlipNumber'] = this.staffPaymentData.routingSlipNumber - header.header['priority'] = this.staffPaymentData.isPriority - break - - case StaffPaymentOptions.BCOL: - header.header['bcolAccountNumber'] = this.staffPaymentData.bcolAccountNumber - header.header['datNumber'] = this.staffPaymentData.datNumber - header.header['folioNumber'] = this.staffPaymentData.folioNumber - header.header['priority'] = this.staffPaymentData.isPriority - break - - case StaffPaymentOptions.NO_FEE: - header.header['waiveFees'] = true - break - - case StaffPaymentOptions.NONE: // should never happen - break - } - const business: any = { business: { foundingDate: this.dateToApi(this.getFoundingDate), @@ -787,7 +425,20 @@ export default class AgmExtension extends Mixins(CommonMixin, DateMixin, const data: any = { [FilingTypes.AGM_EXTENSION]: { - // properties go here + // convert local properties into API/schema properties + year: this.data.agmYear, + isFirstAgm: this.data.isFirstAgm, + extReqForAgmYear: this.data.isPrevExtension, + intendedAgmDate: this.data.intendedAgmDate, + totalApprovedExt: this.getTotalAgmExtensionDuration(Number(this.data.agmYear)) + this.data.extensionDuration, + expireDateApprovedExt: this.data.agmDueDate, + // conditionally add properties if not null + ...(this.data.prevAgmDate && { prevAgmRefDate: this.data.prevAgmDate }), + ...(this.data.prevExpiryDate && { + expireDateCurrExt: this.data.prevExpiryDate + }), + // add in remaining local properties for future auditing + ...this.data } } @@ -803,7 +454,7 @@ export default class AgmExtension extends Mixins(CommonMixin, DateMixin, ret = await LegalServices.createFiling(this.getIdentifier, filing, isDraft) } return ret - } catch (error) { + } catch (error: any) { // save errors or warnings, if any this.saveErrors = error?.response?.data?.errors || [] this.saveWarnings = error?.response?.data?.warnings || [] @@ -862,76 +513,28 @@ export default class AgmExtension extends Mixins(CommonMixin, DateMixin, } } - /** Handles Retry events from Save Error dialog. */ - async onSaveErrorDialogRetry (): Promise { - switch (this.saveErrorReason) { - case SaveErrorReasons.SAVE: - // close the dialog and retry save - this.saveErrorReason = null - await this.onClickSave() - break - case SaveErrorReasons.SAVE_RESUME: - // close the dialog and retry save-resume - this.saveErrorReason = null - await this.onClickSaveResume() - break - case SaveErrorReasons.FILE_PAY: - // close the dialog and retry file-pay - this.saveErrorReason = null - if (this.isRoleStaff) await this.onClickFilePay(true) - else await this.onClickFilePay() - break - } - } - - /** Handles Okay events from Save Error dialog. */ - onSaveErrorDialogOkay (): void { - switch (this.saveErrorReason) { - case SaveErrorReasons.SAVE: - // close the dialog and finish save process - this.saveErrorReason = null - this.onClickSaveFinish() - break - case SaveErrorReasons.SAVE_RESUME: - // close the dialog and finish save-resume process - this.saveErrorReason = null - this.onClickSaveResumeFinish() - break - case SaveErrorReasons.FILE_PAY: - // close the dialog and finish file-pay process - this.saveErrorReason = null - this.onClickFilePayFinish() - break - } - } - /** Array of valid components. Must match validFlags. */ readonly validComponents = [ - 'extension-eligibility-section', + 'extension-request', 'certify-form-section' ] /** Object of valid flags. Must match validComponents. */ get validFlags (): object { return { - extensionEligibility: this.extensionEligibilityValid, + extensionEligibility: this.extensionRequestValid, certifyForm: this.certifyFormValid } } - @Watch('extensionEligibilityValid') - @Watch('certifyFormValid') - onHaveChanges (): void { - this.haveChanges = true - } - - @Watch('staffPaymentData') - onStaffPaymentDataChanged (val: StaffPaymentIF): void { - const waiveFees = (val.option === StaffPaymentOptions.NO_FEE) - - // add Waive Fees flag to all filing codes - this.updateFilingData('add', FilingCodes.CONSENT_CONTINUATION_OUT, val.isPriority, waiveFees) - + /** Watches all data properties to keep track of changes. */ + @Watch('data.isFirstAgm') + @Watch('data.agmYear') + @Watch('data.prevAgmDate') + @Watch('data.isPrevExtension') + @Watch('data.prevExpiryDate') + @Watch('data.intendedAgmDate') + private onHaveChanges (): void { this.haveChanges = true } } @@ -951,17 +554,6 @@ h2::before { content: counter(header-counter) '. '; } -article { - .v-card { - line-height: 1.2rem; - font-size: $px-14; - } -} - -section + section { - margin-top: 3rem; -} - h1 { margin-bottom: 1.25rem; line-height: 2rem; @@ -974,40 +566,18 @@ h2 { font-size: 1.125rem; } -strong { - color: $gray9; -} - // Save & Filing Buttons #buttons-container { padding-top: 2rem; border-top: 1px solid $gray5; - .buttons-left { - width: 50%; - } - .buttons-right { margin-left: auto; } - - .v-btn + .v-btn { - margin-left: 0.5rem; - } - - #consent-cancel-btn { - margin-left: 0.5rem; - } } // Fix font size and color to stay consistent. :deep() { - .invalid-extension-eligibility { - .title-label { - color: $app-red; - } - } - .certify-clause, .certify-stmt, .grey-text { color: $gray7; } diff --git a/src/views/AgmLocationChg.vue b/src/views/AgmLocationChg.vue index 547486b84..39f336eda 100644 --- a/src/views/AgmLocationChg.vue +++ b/src/views/AgmLocationChg.vue @@ -14,57 +14,8 @@ @exit="onPaymentErrorDialogExit()" /> - - - - - - - - -
-
- -
- {{ loadingMessage }} -
-
-
-
- - +
- + +
-

Section Title

+

Location Change Detail

- Section subtext. + Enter the calendar year the AGM is for and AGM location outside B.C.

-
- - + + +
- - Subtitle - - + AGM Year + + + + + +
+ + + + +
+ + + Reason + + + + + +
+ + + + +
+ - Section content goes here. - - + + AGM Location + + +

+ Enter the AGM location not in B.C. Include the city, province or state equivalent, + and country. E.g. "Red Deer, Alberta, Canada" +

+ +
+ +
@@ -140,8 +192,9 @@ :isCertified.sync="isCertified" :certifiedBy.sync="certifiedBy" :class="{ 'invalid-certify': !certifyFormValid && showErrors }" + :disableEdit="!isRoleStaff" :entityDisplay="displayName()" - :message="certifyText(FilingCodes.ANNUAL_REPORT_OT)" + :message="certifyText(FilingCodes.AGM_LOCATION_CHANGE)" @valid="certifyFormValid=$event" /> @@ -175,27 +228,6 @@ id="buttons-container" class="list-item" > -
- - Save - - - Save and Resume Later - -
-
0) } + /** Array of validations rules for AGM location. */ + get agmLocationRules (): Array<(val) => boolean | string> { + const rules = [] as Array<(val) => boolean | string> + rules.push(val => !!val || 'AGM location is required.') + rules.push(val => (val.length <= 400) || 'Must be 400 characters or less.') + return rules + } + + /** Array of validations rules for AGM year. */ + get agmYearRules (): Array<(val) => boolean | string> { + const rules = [] as Array<(val) => boolean | string> + rules.push(val => !!val || 'AGM year is required.') + rules.push(val => (val && +val <= this.maxAgmYear) || 'Must be on or before ' + this.maxAgmYear) + rules.push(val => (val && +val >= this.minAgmYear) || 'Must be on or after ' + this.minAgmYear) + return rules + } + + get minAgmYear () : number { + const today = new Date() + return (today.getFullYear() - 2) + } + + get maxAgmYear () : number { + const today = new Date() + return (today.getFullYear() + 1) + } + /** Called when component is created. */ created (): void { // init @@ -355,185 +406,35 @@ export default class AgmLocationChg extends Mixins(CommonMixin, DateMixin, } // this is the id of THIS filing - // if 0, this is a new filing - // otherwise it's a draft filing + // it must be 0 (meaning new filing) -- we do not support resuming a draft filing this.filingId = +this.$route.params.filingId // number or NaN // if required data isn't set, go back to dashboard - if (!this.getIdentifier || isNaN(this.filingId)) { + if (!this.getIdentifier || this.filingId !== 0) { this.$router.push({ name: Routes.DASHBOARD }) } } /** Called when component is mounted. */ - async mounted (): Promise { - // wait until entire view is rendered (including all child components) - // see https://v3.vuejs.org/api/options-lifecycle-hooks.html#mounted - await this.$nextTick() - - if (this.filingId > 0) { - this.loadingMessage = `Resuming Your Request for AGM Location Change` - } else { - this.loadingMessage = `Preparing Your Request for AGM Location Change` + mounted (): void { + // Pre-populate the certified block with the logged in user's name (if not staff) + if (!this.isRoleStaff && this.getUserInfo) { + this.certifiedBy = this.getUserInfo.firstname + ' ' + this.getUserInfo.lastname } - // fetch draft (which may overwrite some properties) - if (this.filingId > 0) { - await this.fetchDraftFiling() - } - - this.dataLoaded = true - - // always include consent continue out code - // use existing Priority and Waive Fees flags - this.updateFilingData('add', FilingCodes.AGM_LOCATION_CHG, this.staffPaymentData.isPriority, - (this.staffPaymentData.option === StaffPaymentOptions.NO_FEE)) - } - - /** Fetches the draft consent filing. */ - async fetchDraftFiling (): Promise { - const url = `businesses/${this.getIdentifier}/filings/${this.filingId}` - await LegalServices.fetchFiling(url).then(filing => { - // verify data - if (!filing) throw new Error('Missing filing') - if (!filing.header) throw new Error('Missing header') - if (!filing.business) throw new Error('Missing business') - if (!filing.agmLocationChg) throw new Error('Missing agm location chg object') - if (filing.header.name !== FilingTypes.AGM_LOCATION_CHG) throw new Error('Invalid filing type') - if (filing.header.status !== FilingStatus.DRAFT) throw new Error('Invalid filing status') - if (filing.business.identifier !== this.getIdentifier) throw new Error('Invalid business identifier') - if (filing.business.legalName !== this.getLegalName) throw new Error('Invalid business legal name') - - // load Certified By (but not Date) - this.certifiedBy = filing.header.certifiedBy - - // load Staff Payment properties - if (filing.header.routingSlipNumber) { - this.staffPaymentData = { - option: StaffPaymentOptions.FAS, - routingSlipNumber: filing.header.routingSlipNumber, - isPriority: filing.header.priority - } as StaffPaymentIF - } else if (filing.header.bcolAccountNumber) { - this.staffPaymentData = { - option: StaffPaymentOptions.BCOL, - bcolAccountNumber: filing.header.bcolAccountNumber, - datNumber: filing.header.datNumber, - folioNumber: filing.header.folioNumber, - isPriority: filing.header.priority - } as StaffPaymentIF - } else if (filing.header.waiveFees) { - this.staffPaymentData = { - option: StaffPaymentOptions.NO_FEE - } as StaffPaymentIF - } else { - this.staffPaymentData = { - option: StaffPaymentOptions.NONE - } as StaffPaymentIF - } - }).catch(error => { - // eslint-disable-next-line no-console - console.log('fetchDraftFiling() error =', error) - this.resumeErrorDialog = true - }) - } - - /** - * Called when user clicks Save button - * or when user retries from Save Error dialog. - */ - async onClickSave (): Promise { - // prevent double saving - if (this.busySaving) return - - this.saving = true - - // save draft filing - this.savedFiling = await this.saveFiling(true).catch(error => { - this.saveErrorReason = SaveErrorReasons.SAVE - // try to return filing (which may exist depending on save error) - return error?.response?.data?.filing || null - }) - - const filingId = +this.savedFiling?.header?.filingId || 0 - if (filingId > 0) { - // save filing ID for possible future updates - this.filingId = filingId - } - - // if there was no error, finish save process now - // otherwise, dialog may finish this later - if (!this.saveErrorReason) this.onClickSaveFinish() - - this.saving = false - } - - onClickSaveFinish (): void { - // safety check - if (this.filingId > 0) { - // changes were saved, so clear flag - this.haveChanges = false - } else { - // eslint-disable-next-line no-console - console.log('onClickSaveFinish(): invalid filing ID, filing =', null) - } - } - - /** - * Called when user clicks Save and Resume later button - * or when user retries from Save Error dialog. - */ - async onClickSaveResume (): Promise { - // prevent double saving - if (this.busySaving) return - - this.savingResuming = true - - // save draft filing - this.savedFiling = await this.saveFiling(true).catch(error => { - this.saveErrorReason = SaveErrorReasons.SAVE_RESUME - // try to return filing (which may exist depending on save error) - return error?.response?.data?.filing || null - }) - - const filingId = +this.savedFiling?.header?.filingId || 0 - if (filingId > 0) { - // save filing ID for possible future updates - this.filingId = filingId - } - - // if there was no error, finish save-resume process now - // otherwise, dialog may finish this later - if (!this.saveErrorReason) this.onClickSaveResumeFinish() - - this.savingResuming = false - } - - onClickSaveResumeFinish (): void { - // safety check - if (this.filingId > 0) { - // changes were saved, so go to dashboard - this.goToDashboard(true) - } else { - // eslint-disable-next-line no-console - console.log('onClickSaveResumeFinish(): invalid filing ID, filing =', null) - } + // always include agm location change code + // (no Priority flag and no Waive Fees flag) + this.updateFilingData('add', FilingCodes.AGM_LOCATION_CHANGE, undefined, undefined) } /** * Called when user clicks File and Pay button - * or when user retries from Save Error dialog - * or when user submits from Staff Payment dialog. + * or when user retries from Save Error dialog. */ - async onClickFilePay (fromStaffPayment = false): Promise { + async onClickFilePay (): Promise { // if there is an invalid component, scroll to it if (!this.isPageValid) { this.showErrors = true - // *** TODO: check for section errors here - if (!this.sectionValid) { - // Show error message of detail comment text area if invalid - // this.$refs.detailCommentRef.$refs.textarea.error = true - } if (!this.certifyFormValid) { // Show error message of legal name text field if invalid this.$refs.certifyRef.$refs.certifyTextfieldRef.error = true @@ -545,13 +446,6 @@ export default class AgmLocationChg extends Mixins(CommonMixin, DateMixin, // prevent double saving if (this.busySaving) return - // if this is a staff user clicking File and Pay (not Submit) - // then detour via Staff Payment dialog - if (this.isRoleStaff && !fromStaffPayment) { - this.staffPaymentDialog = true - return - } - this.filingPaying = true // save final filing (not draft) @@ -632,33 +526,12 @@ export default class AgmLocationChg extends Mixins(CommonMixin, DateMixin, const header: any = { header: { - name: FilingTypes.CONSENT_CONTINUATION_OUT, + name: FilingTypes.AGM_LOCATION_CHANGE, certifiedBy: this.certifiedBy || '', date: this.getCurrentDate // NB: API will reassign this date according to its clock } } - switch (this.staffPaymentData.option) { - case StaffPaymentOptions.FAS: - header.header['routingSlipNumber'] = this.staffPaymentData.routingSlipNumber - header.header['priority'] = this.staffPaymentData.isPriority - break - - case StaffPaymentOptions.BCOL: - header.header['bcolAccountNumber'] = this.staffPaymentData.bcolAccountNumber - header.header['datNumber'] = this.staffPaymentData.datNumber - header.header['folioNumber'] = this.staffPaymentData.folioNumber - header.header['priority'] = this.staffPaymentData.isPriority - break - - case StaffPaymentOptions.NO_FEE: - header.header['waiveFees'] = true - break - - case StaffPaymentOptions.NONE: // should never happen - break - } - const business: any = { business: { foundingDate: this.dateToApi(this.getFoundingDate), @@ -669,8 +542,10 @@ export default class AgmLocationChg extends Mixins(CommonMixin, DateMixin, } const data: any = { - [FilingTypes.AGM_LOCATION_CHG]: { - // properties go here + [FilingTypes.AGM_LOCATION_CHANGE]: { + year: this.agmYear, + reason: this.reason, + agmLocation: this.agmLocation } } @@ -686,7 +561,7 @@ export default class AgmLocationChg extends Mixins(CommonMixin, DateMixin, ret = await LegalServices.createFiling(this.getIdentifier, filing, isDraft) } return ret - } catch (error) { + } catch (error: any) { // save errors or warnings, if any this.saveErrors = error?.response?.data?.errors || [] this.saveWarnings = error?.response?.data?.warnings || [] @@ -745,76 +620,32 @@ export default class AgmLocationChg extends Mixins(CommonMixin, DateMixin, } } - /** Handles Retry events from Save Error dialog. */ - async onSaveErrorDialogRetry (): Promise { - switch (this.saveErrorReason) { - case SaveErrorReasons.SAVE: - // close the dialog and retry save - this.saveErrorReason = null - await this.onClickSave() - break - case SaveErrorReasons.SAVE_RESUME: - // close the dialog and retry save-resume - this.saveErrorReason = null - await this.onClickSaveResume() - break - case SaveErrorReasons.FILE_PAY: - // close the dialog and retry file-pay - this.saveErrorReason = null - if (this.isRoleStaff) await this.onClickFilePay(true) - else await this.onClickFilePay() - break - } - } - - /** Handles Okay events from Save Error dialog. */ - onSaveErrorDialogOkay (): void { - switch (this.saveErrorReason) { - case SaveErrorReasons.SAVE: - // close the dialog and finish save process - this.saveErrorReason = null - this.onClickSaveFinish() - break - case SaveErrorReasons.SAVE_RESUME: - // close the dialog and finish save-resume process - this.saveErrorReason = null - this.onClickSaveResumeFinish() - break - case SaveErrorReasons.FILE_PAY: - // close the dialog and finish file-pay process - this.saveErrorReason = null - this.onClickFilePayFinish() - break - } - } - /** Array of valid components. Must match validFlags. */ readonly validComponents = [ - 'main-section', + 'agm-year-section', + 'reason-section', + 'location-section', 'certify-form-section' ] /** Object of valid flags. Must match validComponents. */ get validFlags (): object { return { - mainSection: this.sectionValid, + // mainSection: this.sectionValid, + agmYear: this.agmYearValid, + reason: this.reasonValid, + location: this.agmLocationValid, certifyForm: this.certifyFormValid } } - @Watch('sectionValid') - @Watch('certifyFormValid') - onHaveChanges (): void { - this.haveChanges = true - } - - @Watch('staffPaymentData') - onStaffPaymentDataChanged (val: StaffPaymentIF): void { - const waiveFees = (val.option === StaffPaymentOptions.NO_FEE) - - // add Waive Fees flag to all filing codes - this.updateFilingData('add', FilingCodes.CONSENT_CONTINUATION_OUT, val.isPriority, waiveFees) - + /** Watches all data properties to keep track of changes. */ + @Watch('agmYear') + @Watch('agmLocation') + @Watch('certifiedBy') + @Watch('isCertified') + @Watch('reason') + private onHaveChanges (): void { this.haveChanges = true } } @@ -879,19 +710,13 @@ h2 { margin-left: 0.5rem; } - #consent-cancel-btn { + #agm-loctn-chg-cancel-btn { margin-left: 0.5rem; } } // Fix font size and color to stay consistent. :deep() { - .invalid-foreign-jurisdiction { - .title-label { - color: $app-red; - } - } - .certify-clause, .certify-stmt, .grey-text { color: $gray7; } @@ -901,5 +726,23 @@ h2 { color: $app-red; } } + + .invalid-component { + .title-label { + color: $app-red; + } + } + + // Setting the top and bottom red borders (error) radii to 0. + .v-card > *:first-child:not(.v-btn):not(.v-chip):not(.v-avatar), + .v-card > .v-card__progress + *:not(.v-btn):not(.v-chip):not(.v-avatar) { + border-top-left-radius: 0px; + border-top-right-radius: 0px; + } + + .v-card > *:last-child:not(.v-btn):not(.v-chip):not(.v-avatar) { + border-bottom-left-radius: 0px; + border-bottom-right-radius: 0px; + } } diff --git a/src/views/AmalgamationSelection.vue b/src/views/AmalgamationSelection.vue new file mode 100644 index 000000000..06c277f5b --- /dev/null +++ b/src/views/AmalgamationSelection.vue @@ -0,0 +1,300 @@ + + + + + diff --git a/src/views/AnnualReport.vue b/src/views/AnnualReport.vue index 7b2d8742f..e4ebd7295 100644 --- a/src/views/AnnualReport.vue +++ b/src/views/AnnualReport.vue @@ -106,9 +106,9 @@

File {{ ARFilingYear }} Annual Report — {{ getReportState }} + > — Draft

Select your Annual General Meeting date, then verify or change your Office Addresses @@ -201,9 +201,9 @@

File {{ ARFilingYear }} Annual Report — {{ getReportState }} + v-if="filingId > 0" + class="font-italic" + > — Draft

Please review all the information before you file and pay

@@ -306,7 +306,6 @@ >
Save + @@ -231,22 +232,23 @@