This is an automated email from the ASF dual-hosted git repository.

dependabot[bot] pushed a change to branch 
dependabot/npm_and_yarn/angular/platform-browser-22.1.0
in repository https://gitbox.apache.org/repos/asf/fineract-backoffice-ui.git


 discard 0f08b32  chore(deps): bump @angular/platform-browser from 22.0.7 to 
22.1.0
     add b8ee79e  chore(deps): bump github/codeql-action/analyze
     add 2663049  Merge pull request #314 from 
apache/dependabot/github_actions/github/codeql-action/analyze-7188fc363630916deb702c7fdcf4e481b751f97a
     add 12db7e6  chore(deps): bump actions/setup-java from 5.6.0 to 5.7.0
     add a1d5174  Merge pull request #315 from 
apache/dependabot/github_actions/actions/setup-java-5.7.0
     add cef9e59  chore(deps): bump zizmorcore/zizmor-action from 0.6.0 to 0.6.2
     add 4194b25  Merge pull request #318 from 
apache/dependabot/github_actions/zizmorcore/zizmor-action-0.6.2
     add 2c1ba68  refactor(clients): use formatArrayDate helper
     add ece0c6f  Merge pull request #319 from 
vianmangal/agent/use-format-array-date-clients
     add a96c62b  feat(system): add datatable column constraints
     add 6e1be1d  Merge pull request #320 from 
vianmangal/agent/datatable-unique-indexed-columns
     add 91d2f84  fix(accounting): use translation keys for list screen titles 
and tooltips
     add 7640c93  Merge pull request #321 from 
yasumorishima/i18n/accounting-list-screen-strings
     add 9775af8  ci: add signed commit verification check
     add 89e0f1f  Merge pull request #337 from 
Abhishek6122008/agent/signed-commits-check
     add 7698612  feat(products): correct a deposit or savings transaction 
after it is recorded
     add 164ade1  Merge pull request #341 from 
Aman-Mittal/feat/deposit-transaction-servicing
     add 32461b2  feat(products): map share capital to the ledger, and route 
channels and charges
     add fc524e1  Merge pull request #342 from 
Aman-Mittal/feat/share-and-advanced-accounting
     add 20d6aa9  fix(a11y): give icon-only buttons an accessible name
     add dc6662b  Merge pull request #338 from 
opensource-joe/a11y/icon-only-button-accessible-names
     add 0d27350  feat(router): set a translated document title per route
     add 6696133  Merge pull request #339 from opensource-joe/a11y/route-titles
     add 9ba22fa  feat(reporting): scope dependent report parameters, and draw 
chart reports as charts
     add 7b4005b  test(e2e): read ion-select's disabled state from the host 
property
     add 59c8d64  fix(test): restore the two selector constants to their 
literals
     add 1f22bc5  test(e2e): prove the parameter cascade without enabling a 
second currency
     add a007d74  Merge pull request #343 from 
Aman-Mittal/feat/report-cascading-parameters-and-charts
     add 3d55aad  refactor(transfers): use formatArrayDate helper
     add ba7d1cf  Merge pull request #340 from 
ltyfulan9/codex/issue-257-transfers
     add 2d54654  refactor(loans): use formatArrayDate for guarantors
     add b04e7f7  refactor(loans): use formatArrayDate for transactions
     add 46e6899  refactor(loans): use formatArrayDate in loan form
     add 29cf890  Merge pull request #344 from 
russlan23/agent/refactor-loans-array-dates
     add 6dcab08  feat(centers): give a center a detail view, so it can be 
operated
     add 14fdec7  test(e2e): seed the staff the center assignment picks
     add 2acfd17  Merge pull request #346 from 
Aman-Mittal/feat/center-detail-view
     add 48334bd  chore: retire the screens whose Fineract endpoints have gone
     add fdce757  Merge pull request #348 from 
Aman-Mittal/chore/retire-removed-fineract-endpoints
     add aad7257  chore(e2e): let the suites record themselves as a demo
     add 080f568  Merge pull request #349 from Aman-Mittal/chore/demo-recording
     add 52950c2  chore(deps): bump @hono/node-server and @angular/cli
     add ae2a4d0  Merge pull request #350 from 
apache/dependabot/npm_and_yarn/multi-e58e013584
     add f1f1e3d  chore(api): sync the Fineract OpenAPI spec and regenerate the 
client
     add bc34253  Merge pull request #351 from apache/chore/fineract-spec-sync
     add b995c2c  fix: add NOTICE, repair spliced licence headers, widen RAT 
coverage
     add 52e7306  Merge pull request #352 from 
Aman-Mittal/fix/asf-release-blockers
     add 3223d6a  chore(e2e): put a beat on every action while recording
     add 0ca77bc  test(e2e): size the response-capture wait for a paced run
     add ac54b84  docs(demo): document the pacing switches and the two traps
     add 98770c4  Merge pull request #353 from Aman-Mittal/chore/demo-pacing
     add 0028b9e  feat: gate the screens that drive Fineract's test-only 
endpoints
     add 82e9a20  Merge pull request #356 from 
Aman-Mittal/feat/gate-internal-endpoint-screens
     add c6466ca  fix(e2e): stop the backend suite depending on the hour it 
runs at
     add 85dd87f  Merge pull request #359 from 
Aman-Mittal/fix/e2e-tenant-timezone-determinism
     add 64d411a  fix(build): drop the Google Fonts dependency and render in 
the system UI font
     add 48417d0  Merge pull request #361 from 
Aman-Mittal/fix/drop-google-fonts-dependency
     add 6ff8c08  feat(rbac): enforce permissions at the route boundary and 
close the GA gate
     add ebb00a1  test(e2e): generate the seeded user's password instead of 
writing one down
     add 99bbce7  fix(rbac): repair the two CI failures and type-check the e2e 
suite
     add b506396  chore: declare the e2e tsconfig's licence the way its 
siblings do
     add a5bb5be  feat(rbac): say what is missing instead of only refusing 
(#118, #139, #258)
     add 58bcf20  Merge pull request #368 from Aman-Mittal/feat/route-level-rbac
     add 534ca5c  fix(oidc): make the tenant OIDC screen speak the platform's 
own field names
     add 6acd28f  docs(oidc): describe how OIDC works, not what is broken about 
it
     add e5252f0  Merge pull request #371 from 
Aman-Mittal/fix/oidc-config-screen
     add e3cf28f  feat(auth): ask for the second factor when Fineract requires 
one
     add 3f62c08  Merge pull request #372 from 
Aman-Mittal/feat/two-factor-authentication
     add 03cc7fb  i18n: add the strings the parity screens need, in all three 
catalogues
     add 3d07b7b  feat(accounting): view a ledger transaction, reverse it, and 
carry balances in
     add 6200a11  feat(system): manage report definitions, not just run reports
     add 37130f9  feat(organization): give an office a screen of its own
     add c419281  feat(portfolio): notes, documents, standing instructions and 
custom fields where they were missing
     add 459ffc3  fix(clients): stop sending a fixed deposit to the savings 
account screen
     add 7f34e90  feat(tasks): approve, disburse and activate in batches
     add 3c43071  fix(loans): stop the loan edit form logging NG0100 on every 
visit
     add c6dbf32  test: cover the new screens at unit and backend level
     add 25754c7  refactor: keep the new screens on the adapter side of the 
boundary
     add 41f5218  refactor: name the tabs instead of numbering them, and fetch 
shares with the tab
     add 7011b85  fix(groups,centers): one set of tab names per screen, not two
     add dcb432f  test(e2e): make the parity spec seed what it asserts on
     add 0846def  Merge pull request #375 from Aman-Mittal/feat/parity-gaps
     add 35b276d  chore(lint): replace the LGPL-3.0 sonarjs plugin with 
permissive equivalents
     add 8bee29d  refactor: satisfy the newly-enabled lint rules
     add 44a0cda  feat(ci): fail the build on Category X or unclassified 
dependency licences
     add 5ef8ad4  ci(e2e): run the end-to-end suite on every push, on every 
branch
     add d621265  Merge pull request #378 from 
Aman-Mittal/chore/license-policy-and-lint-plugins
     add a685474  fix(deploy): make the container able to reach Fineract
     add 5367c4e  release: give the project a version, and check it against the 
tag
     add e4e8f30  ci: build the container and assert it actually proxies the API
     add 08036ef  docs: write down how a release is actually made
     add 847dac0  docs: correct what the threat model and README say about this 
application
     add 55ca772  ci: move the tag check off the caching workflow
     add fefb626  Merge pull request #379 from 
Aman-Mittal/chore/release-blockers
     add b10abd9  fix(a11y): give every clients route its own title
     add 6ce4848  Merge pull request #380 from 
opensource-joe/a11y/route-titles-clients
     add 73dd0fd  fix(a11y): give every products route its own title
     add 261c83e  Merge pull request #382 from 
opensource-joe/a11y/route-titles-products
     add 131e878  fix(a11y): give every system route its own title
     add d43f755  Merge pull request #383 from 
opensource-joe/a11y/route-titles-system
     add 1301eeb  chore(deps): bump github/codeql-action/analyze from 4.37.1 to 
4.37.6
     add a0d1c65  Merge pull request #373 from 
apache/dependabot/github_actions/github/codeql-action/analyze-4.37.6
     add 80ee945  chore(deps): bump github/codeql-action/init from 4.37.1 to 
4.37.6
     add 8e46378  Merge pull request #374 from 
apache/dependabot/github_actions/github/codeql-action/init-4.37.6
     add 975bb8b  chore(api): sync the Fineract OpenAPI spec and regenerate the 
client
     add de6619b  Merge pull request #381 from apache/chore/fineract-spec-sync
     add 1c64b98  fix(idle): prevent hard logout timer reset on activity during 
warning
     add eb90a7d  Merge pull request #387 from Aman-Mittal/fix/ui-fixes-v1
     add 734244f  fix(a11y): give icon-only buttons an accessible name
     add 8e969f0  build(a11y): fail the build on an unnamed icon-only button
     add a2cfaa5  test(tooltip): cover TooltipDirective
     add b635ca8  build(a11y): walk button content rather than stripping it 
with replace
     add f7fc740  Merge pull request #365 from 
opensource-joe/a11y/icon-button-names
     add f166c09  test(interop): cover health check states
     add 301ba8e  refactor(organization): use formatArrayDate helper
     add 1baa651  fix(charges): show load errors and retry
     add d06d2e3  refactor(products): use formatArrayDate helper
     add b800028  fix(ux): replace native confirm on accounting, organization 
and working-capital deletes
     add f1fd543  Merge pull request #389 from 
Aman-Mittal/chore/unsigned-pr-rollup
     add 5b9bad9  fix(search): send savings results to the screen that exists
     add 937ca32  test(e2e): cover global search navigation
     add 1729c78  fix(e2e): register the catch-all route mock before the 
specific ones
     add 53b8d30  Merge pull request #390 from 
Aman-Mittal/test/global-search-e2e
     add 72933df  feat(search): add navigation shortcuts to global search
     add b09141d  fix(search): make the navigation shortcuts safe to inject, 
rank and select
     add f8f1dfb  Merge pull request #391 from 
Aman-Mittal/feat/global-search-nav-shortcuts-330
     add e0256c1  fix(products): pass recurring deposit command
     add e876486  Merge pull request #335 from 
YinkaMetrics/fix/recurring-deposit-command
     add 971e25f  feat(working-capital): manage breach, near-breach, 
delinquency actions and originators
     add 07a1dd1  chore(test): add a Vitest runner and ratchet the deprecated 
Karma suite
     add 23705cd  Merge pull request #408 from 
Aman-Mittal/chore/vitest-migration-groundwork
     add 0270591  fix(working-capital): register unlink-outline and record the 
new API surface
     add dae2b07  Merge pull request #412 from 
Aman-Mittal/fix/wc-icon-and-api-surface
     add 3bd2535  fix(dialogs): replace native loan and client confirmations
     add 8f5aacc  Merge pull request #394 from 
zhangxinyao88/fix/231-dialog-confirmations
     add cb77446  test: migrate interop spec from Karma to Vitest
     add bcb0c07  Merge pull request #413 from 
LE0-Lin/test/interop-vitest-migration
     add d21ec5f  fix(dialogs): replace the remaining native confirmations in 
products and system
     add b75b2c5  feat(roles): preview the navigation a permission change gains 
or loses
     add 6aa4c50  ci: shard the real-backend e2e suite and cache what CI 
re-downloads
     add d23af6d  ci: report per-test detail, comment on forks, and diagram the 
change
     add e70e264  fix(ci): escape backslashes in the Markdown table renderer
     add cf5a0a6  ci: drop the buildx layer cache, which the ASF action 
allow-list forbids
     add c7cb6f8  Merge pull request #414 from 
Aman-Mittal/feat/role-impact-preview-dialogs-and-ci-sharding
     add 89239b0  fix: record maker-checker task rejections
     add 939e142  Merge pull request #415 from 
LE0-Lin/fix/maker-checker-rejection
     add 08e4297  test: migrate errors spec from Karma to Vitest
     add 1f06dc1  Merge pull request #417 from 
kevinpei123/test/errors-vitest-migration
     add 013b0e1  chore(api): sync the Fineract OpenAPI spec and regenerate the 
client
     add 2292d75  feat(layout): orient the user with a breadcrumb trail and 
Alt+key shortcuts
     add 24372e8  feat(clients): pace client creation through a three-step 
wizard
     add 6e508f1  feat(organization): report the loan portfolio by office and 
product
     add 7b912c4  feat(accounting): filter journal entries by office, GL 
account and entry type
     add a7ca2a4  feat(products): undo a savings approval, and show deposit 
charges and rate chart
     add 63e576b  feat(working-capital): charges, rate changes, amortization 
and delinquency tags
     add 4a6aeb8  feat(system): widen bulk import, fix its chart-of-accounts 
template, run jobs in bulk
     add c082fc5  feat(tasks): group work queues by office, and reject 
reschedule requests
     add 2cbed3d  feat(security): export the audit log to CSV
     add 21273f9  test: raise the Vitest timeout above Angular's cold TestBed 
compile
     add 715f1c1  Merge pull request #418 from 
Aman-Mittal/feat/servicing-and-navigation-gaps
     add a141d6a  fix(organization): title the loan portfolio summary route
     add a328009  Merge pull request #425 from 
Aman-Mittal/fix/route-titles-and-polish
     add a8fe8ed  ci: verify commits against GitHub's own verdict, and explain 
failures on the PR
     add 505f52d  Merge pull request #430 from 
Aman-Mittal/ci/harden-signed-commits-and-welcome
     add 39aa69a  fix(layout): clear the render-time interval when the header 
is destroyed
     add 411bff5  Merge pull request #426 from 
slegarraga/fix/header-render-time-interval-leak
     add 8ff8846  test(e2e): await submit enabled before clicking the 
loan-product form
     add f191194  Merge pull request #429 from 
slegarraga/fix/e2e-down-payment-flake
     add a45d23d  fix(accounting): add route titles
     add 77928e2  Merge pull request #431 from 
XonkelX/codex/accounting-route-titles
     add 87e9ce1  fix(organization): add route titles
     add 81fb823  Merge pull request #432 from 
WilliamK112/fix/organization-route-titles
     add df05b66  test: migrate organization and working capital specs to Vitest
     add e1f6f91  Merge pull request #433 from 
zhangxinyao88/codex/issue-407-vitest-migration
     add 3737dde  fix(security): add route titles so breadcrumbs and tab titles 
appear
     add cff25d1  Merge pull request #427 from 
slegarraga/feat/security-route-titles
     add c241688  build(deps): bump github/codeql-action/analyze from 4.37.6 to 
4.37.7
     add f63dfca  Merge pull request #438 from 
apache/dependabot/github_actions/github/codeql-action/analyze-4.37.7
     add a310868  build(deps): bump github/codeql-action/init from 4.37.6 to 
4.37.7
     add cdda3d7  Merge pull request #439 from 
apache/dependabot/github_actions/github/codeql-action/init-4.37.7
     add 341b640  feat(config): customize branding, navigation and labels from 
a deployment overlay
     add d5c8a59  fix(branding): apply the deployment's dark palette, strings 
and sign-in screen
     add 98453d5  docs: note that branding covers the sign-in screen
     add f852fcd  fix(branding): keep a deployment's light colours out of the 
dark palette
     add 4dadd44  Merge pull request #437 from 
Aman-Mittal/feat/deployment-customization-overlay
     add 79f78b3  test(branding): prove the token allow-list holds as a CSS 
injection guard
     add 00ebbd3  Merge pull request #440 from 
Aman-Mittal/test/branding-css-injection-guard
     add 94cd2d7  test: migrate organization and working capital specs to vitest
     add dcb7e94  test: migrate organization and working capital tests
     add 42af219  test: migrate organization and working capital tests
     add a1883b4  test: migrate organization and working capital tests
     add 24740f3  test: migrate organization and working capital tests
     add 4a9991f  Merge pull request #435 from 
tarun-tarun143/fix/migrate-org-working-capital-tests
     add d6badb6  feat(layout): make the shell usable on a phone
     add f5ef558  feat(layout): give the phone its own header rather than a 
squeezed desktop one
     add e195dea  fix(layout): derive the page title without writing a signal 
during change detection
     add e38acde  fix(layout): expand the phone search inside the bar, not over 
the page
     add fa553bc  Merge pull request #443 from 
Aman-Mittal/feat/mobile-responsive-shell
     add 1b3ab69  test: migrate small feature specs to Vitest
     add 5214202  test: migrate accounting specs to Vitest
     add c2a1b3b  test: use translation testing adapter in accounting specs
     add b64322d  Merge pull request #441 from 
zhangxinyao88/codex/issue-405-accounting-vitest
     add 9387e2f  test: migrate system specs to Vitest
     add 02f6ce5  test: use translation testing adapter in system specs
     add a173b85  Merge pull request #445 from 
zhangxinyao88/codex/issue-404-system-vitest
     add 64858bc  Merge upstream main into issue 411 Vitest migration
     add b1d9280  Merge pull request #446 from 
zhangxinyao88/codex/issue-411-small-areas-vitest
     add 1753cea  fix(codemod): make the skip list and the rename tell the truth
     add 691ac62  test(core): migrate auth.service off Karma
     add 3c6d3e1  test(core): migrate config.service off Karma
     add 2b5486d  test(centers): migrate center-view.component off Karma
     add bd42b1a  test(groups): migrate group-view.component off Karma
     add 573a6ef  test(products): migrate deposit-account-view.component off 
Karma
     add 7ae8187  chore(test): re-record the Karma ratchet baseline
     add 4c947f8  Merge pull request #450 from 
opensource-joe/fix/codemod-skip-false-positives
     add 31985c1  chore(deps): move every @angular/* package to 22.1.0 in 
lockstep
     add 9c54d56  Merge pull request #451 from 
opensource-joe/chore/angular-22.1.0
     add f93af32  build(deps): bump @angular/platform-browser from 22.1.0 to 
22.1.2

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (0f08b32)
            \
             N -- N -- N   
refs/heads/dependabot/npm_and_yarn/angular/platform-browser-22.1.0 (f93af32)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .github/scripts/check-commit-signatures.js         |   292 +
 .github/scripts/post-e2e-comments.js               |   235 +
 .github/scripts/upsert-e2e-comment.js              |    69 -
 .github/scripts/welcome-contributor.js             |   165 +
 .github/workflows/api-spec-sync.yml                |     2 +-
 .github/workflows/ci.yml                           |   334 +-
 .github/workflows/codeql.yml                       |     4 +-
 .github/workflows/e2e.yml                          |   414 +-
 .github/workflows/pr-comments.yml                  |    96 +
 .github/workflows/release-tag.yml                  |    64 +
 .github/workflows/signed-commit.yml                |    77 +
 .github/workflows/welcome-contributor.yml          |    71 +
 .github/workflows/zizmor.yml                       |     2 +-
 .gitignore                                         |    11 +
 .gitmodules                                        |     3 -
 .rat-excludes                                      |    26 +-
 AGENTS.md                                          |     2 +-
 CHANGELOG.md                                       |   118 +
 CONTRIBUTING.md                                    |    37 +-
 DOCS/CI_CHECKS.md                                  |   225 +-
 DOCS/CUSTOMIZATION.md                              |   211 +
 DOCS/DEMO.md                                       |   102 +
 DOCS/FONTS.md                                      |   125 +
 DOCS/LINT_POLICY.md                                |   197 +
 DOCS/MOBILE.md                                     |   105 +
 DOCS/OIDC.md                                       |   127 +
 DOCS/RBAC.md                                       |   220 +
 DOCS/TWO-FACTOR.md                                 |   119 +
 DOCS/adr/0004-vitest-migration.md                  |   142 +
 DOCS/examples/branding-config.example.json         |    57 +
 NOTICE                                             |     5 +
 README.md                                          |    62 +-
 RELEASING.md                                       |   276 +
 angular.json                                       |    21 +-
 audit/GOOGLE-FONTS-ASF-AUDIT.md                    |   857 +
 audit/third-party-assets.csv                       |     8 +
 deploy/Dockerfile                                  |    46 +-
 deploy/docker-compose-e2e-2fa.yml                  |    49 +
 deploy/docker-compose.yml                          |    66 +-
 deploy/entrypoint.sh                               |   106 +-
 deploy/nginx.conf                                  |    71 -
 deploy/nginx.conf.template                         |   170 +
 e2e/accessibility.spec.ts                          |     2 +-
 e2e/branded-deployment.spec.ts                     |   263 +
 e2e/breadcrumb.spec.ts                             |    90 +
 e2e/center-servicing.spec.ts                       |   200 +
 e2e/client-transfer.spec.ts                        |     2 +
 e2e/client.spec.ts                                 |    29 +-
 e2e/demo-data.setup.ts                             |   115 +
 e2e/deployment-customization.spec.ts               |   395 +
 e2e/deposit-account-servicing.spec.ts              |    58 +-
 e2e/deposit-product-configuration.spec.ts          |     8 +-
 e2e/e2e-journey.spec.ts                            |   105 +-
 e2e/feature-coverage.spec.ts                       |    14 +-
 e2e/fixtures.ts                                    |    15 +
 e2e/full-demo.spec.ts                              |     2 +
 e2e/functional-coverage.spec.ts                    |    89 +-
 e2e/global-search-nav-shortcuts.spec.ts            |   159 +
 e2e/global-search-navigation.spec.ts               |   245 +
 e2e/group-membership.spec.ts                       |    10 +-
 e2e/guidance-tour-dashboard.spec.ts                |    99 +
 e2e/keyboard-shortcuts.spec.ts                     |   101 +
 e2e/loan-account-actions.spec.ts                   |     8 +-
 e2e/loan-lifecycle.spec.ts                         |    10 +-
 e2e/loan-portfolio-summary.spec.ts                 |   178 +
 e2e/loan-product-accounting.spec.ts                |    23 +-
 e2e/loan-product-down-payment.spec.ts              |    25 +-
 e2e/loan-servicing.spec.ts                         |     6 +-
 e2e/login.spec.ts                                  |    14 +-
 e2e/mobile-shell.spec.ts                           |   282 +
 e2e/parity-screens.spec.ts                         |   264 +
 e2e/rbac-backend-restricted-user.spec.ts           |   195 +
 e2e/rbac-feature-flag.spec.ts                      |    48 +-
 e2e/rbac-multi-permission.spec.ts                  |   274 +
 e2e/rbac-route-protection.spec.ts                  |   295 +
 e2e/report-parameter-backend.spec.ts               |   119 +-
 e2e/reporting.spec.ts                              |    14 +-
 e2e/savings-transaction-correction.spec.ts         |    84 +
 e2e/scheduler-jobs.spec.ts                         |   156 +
 e2e/share-account-servicing.spec.ts                |     6 +-
 e2e/share-product-accounting.spec.ts               |   146 +
 e2e/teller-cash-management.spec.ts                 |     6 +-
 e2e/two-factor-authentication.spec.ts              |   283 +
 e2e/two-factor-backend.spec.ts                     |   113 +
 e2e/utils/capture-response.ts                      |    13 +-
 e2e/utils/ionic-locators.ts                        |    28 +
 e2e/utils/mailpit.ts                               |    68 +
 e2e/utils/seed-api.ts                              |   475 +-
 e2e/utils/settled-route.ts                         |    47 +
 e2e/working-capital-loan-actions.spec.ts           |   510 +
 eslint-rules/cognitive-complexity.js               |   294 +
 eslint-rules/cognitive-complexity.test.js          |   221 +
 eslint-suppressions.json                           |   524 +-
 eslint.config.js                                   |    77 +-
 jest.config.ts                                     |    19 +
 karma-baseline.json                                |   101 +
 package-lock.json                                  | 24010 +++++++++++--------
 package.json                                       |    51 +-
 playwright.config.ts                               |   105 +-
 public/api/fineract.json                           |   741 +-
 public/api/fineract.provenance.json                |    20 +-
 public/config.json                                 |     3 +-
 public/schema/config.schema.json                   |   200 +
 scripts/check-a11y-names.mjs                       |   227 +
 scripts/check-branding-path.mjs                    |    59 +
 scripts/check-dependency-licenses.mjs              |   446 +
 scripts/check-internal-endpoints.mjs               |   164 +
 scripts/check-license.sh                           |    26 +-
 scripts/check-nav-ids.mjs                          |   146 +
 scripts/check-reference-downstream.mjs             |   201 +
 scripts/check-responsive.mjs                       |   141 +
 scripts/check-route-permissions.mjs                |   383 +
 scripts/check-test-runner.mjs                      |   197 +
 scripts/check-translations.mjs                     |     4 +
 scripts/check-version.mjs                          |    91 +
 scripts/codemod-jasmine-to-vitest.mjs              |   318 +
 scripts/e2e-stack-2fa.sh                           |    79 +
 scripts/e2e-summary.mjs                            |   297 +-
 scripts/ga-check.mjs                               |    88 +-
 scripts/make-branding-demo.mjs                     |   109 +
 scripts/nav-ids.json                               |   140 +
 scripts/pr-comment-actions.test.mjs                |   312 +
 scripts/pr-sequence-diagram.mjs                    |   Bin 0 -> 12119 bytes
 scripts/reporting.test.mjs                         |   105 +
 scripts/verify-signed-commits.sh                   |   114 +
 security.md                                        |    40 +-
 setup-jest.ts                                      |    19 +
 src/app/api/.openapi-generator/FILES               |    20 +-
 src/app/api/api/api.ts                             |    12 +-
 src/app/api/api/cashierJournals.service.ts         |   155 -
 src/app/api/api/cashiers.service.ts                |   155 -
 src/app/api/api/documents.service.ts               |    32 +-
 src/app/api/api/interOperation.service.ts          |    26 +-
 src/app/api/api/mixMapping.service.ts              |   185 -
 src/app/api/api/mixReport.service.ts               |   143 -
 src/app/api/api/mixTaxonomy.service.ts             |   112 -
 src/app/api/api/tellerCashManagement.service.ts    |   230 -
 src/app/api/model/clientAddressRequest.ts          |     1 +
 src/app/api/model/clientIdentifierData.ts          |     2 +
 src/app/api/model/clientIdentifierRequest.ts       |     4 +
 src/app/api/model/documentData.ts                  |     2 +
 src/app/api/model/getCentersCenterIdResponse.ts    |     7 +
 ...tCodesResponse.ts => getCentersGroupMembers.ts} |     5 +-
 .../model/getClientsClientIdIdentifiersResponse.ts |     2 +
 src/app/api/model/getClientsClientIdResponse.ts    |     1 +
 ...ypeOptionsResponseStandingInstructionSwagger.ts |     2 +-
 ...ccountTypeResponseStandingInstructionSwagger.ts |     2 +-
 ...getFromAccountTypeStandingInstructionSwagger.ts |     2 +-
 ...sClient.ts => getGroupsGroupIdClientMembers.ts} |     4 +-
 src/app/api/model/getGroupsGroupIdResponse.ts      |     7 +
 ...ypeOptionsResponseStandingInstructionSwagger.ts |     2 +-
 ...getInstructionTypeStandingInstructionSwagger.ts |     2 +-
 .../api/model/getLoanProductsProductIdResponse.ts  |     3 +
 .../model/getLoansLoanIdChargesChargeIdResponse.ts |     1 +
 ...onseData.ts => getLoansLoanIdCollateralData.ts} |     2 +-
 .../api/model/getLoansLoanIdRepaymentSchedule.ts   |     1 +
 src/app/api/model/getLoansLoanIdResponse.ts        |     4 +
 ...rmTypeOptions.ts => getLoansLoanIdSubStatus.ts} |     2 +-
 ...ityOptionsResponseStandingInstructionSwagger.ts |     2 +-
 .../model/getPriorityStandingInstructionSwagger.ts |     2 +-
 .../getProvisioningCriteriaCriteriaIdResponse.ts   |     2 +-
 ...ncyOptionsResponseStandingInstructionSwagger.ts |     2 +-
 ...ecurrenceFrequencyStandingInstructionSwagger.ts |     2 +-
 ...ypeOptionsResponseStandingInstructionSwagger.ts |     2 +-
 .../getRecurrenceTypeStandingInstructionSwagger.ts |     2 +-
 ...tusOptionsResponseStandingInstructionSwagger.ts |     2 +-
 .../model/getStatusStandingInstructionSwagger.ts   |     2 +-
 ...ypeOptionsResponseStandingInstructionSwagger.ts |     2 +-
 .../getToAccountTypeStandingInstructionSwagger.ts  |     2 +-
 ...ypeOptionsResponseStandingInstructionSwagger.ts |     2 +-
 .../getTransferTypeStandingInstructionSwagger.ts   |     2 +-
 src/app/api/model/getWorkingCapitalLoanCharge.ts   |     1 +
 .../model/getWorkingCapitalLoansLoanIdResponse.ts  |     5 +
 .../model/loanProductChargeToGLAccountMapper.ts    |     2 +
 src/app/api/model/mixTaxonomyData.ts               |    36 -
 src/app/api/model/mixTaxonomyMappingData.ts        |    33 -
 .../api/model/mixTaxonomyMappingUpdateRequest.ts   |    34 -
 .../api/model/mixTaxonomyMappingUpdateResponse.ts  |    31 -
 src/app/api/model/models.ts                        |    15 +-
 ...audRequest.ts => postCentersCenterIdChanges.ts} |     6 +-
 src/app/api/model/postCentersCenterIdRequest.ts    |     4 +
 src/app/api/model/postCentersCenterIdResponse.ts   |     4 +
 src/app/api/model/postCentersRequest.ts            |     9 +
 ...atableData.ts => postClientsClientIdChanges.ts} |     4 +-
 .../model/postClientsClientIdIdentifiersRequest.ts |     4 +
 src/app/api/model/postClientsClientIdRequest.ts    |     1 +
 src/app/api/model/postClientsClientIdResponse.ts   |     2 +
 ...ationRequest.ts => postGroupsGroupIdChanges.ts} |    10 +-
 src/app/api/model/postGroupsGroupIdRequest.ts      |     9 +
 src/app/api/model/postGroupsGroupIdResponse.ts     |     4 +
 src/app/api/model/postGroupsRequest.ts             |     5 +
 src/app/api/model/postLoanProductsRequest.ts       |     3 +
 ...quest.ts => postLoansLoanIdGlimApprovalData.ts} |     6 +-
 src/app/api/model/postLoansLoanIdRequest.ts        |    10 +
 src/app/api/model/postLoansRequest.ts              |    14 +
 src/app/api/model/postLoansRequestChargeData.ts    |     1 +
 ...ateral.ts => postLoansRequestCollateralData.ts} |     2 +-
 src/app/api/model/postLoansResponse.ts             |     4 +
 .../api/model/postProvisioningCriteriaRequest.ts   |     2 +-
 src/app/api/model/postRepostRequest.ts             |     1 +
 .../postWorkingCapitalLoanTransactionsRequest.ts   |    10 +-
 .../postWorkingCapitalLoansBreachActionRequest.ts  |     4 +
 src/app/api/model/putCentersCenterIdRequest.ts     |     2 +
 src/app/api/model/putCentersChanges.ts             |     2 +
 .../api/model/putProvisioningCriteriaRequest.ts    |     2 +-
 .../model/putSavingsAccountsAccountIdRequest.ts    |     4 +
 src/app/api/model/putSavingsAccountsChanges.ts     |     1 +
 .../putWorkingCapitalLoansLoanIdRateRequest.ts     |     5 +
 src/app/api/model/tellerJournalData.ts             |    38 -
 src/app/api/model/tellerTransactionData.ts         |    39 -
 .../model/workingCapitalLoanBreachScheduleData.ts  |     1 +
 src/app/api/model/workingCapitalLoanChargeData.ts  |     1 +
 src/app/app.config.spec.ts                         |    23 +-
 src/app/app.config.ts                              |    53 +-
 src/app/app.routes.ts                              |    64 +-
 src/app/core/adapters/api/api-surface.json         |   132 +-
 .../download/browser-download.adapter.spec.ts      |     2 +-
 .../adapters/download/browser-download.adapter.ts  |     4 +-
 .../adapters/i18n/deployment-translate.loader.ts   |    92 +
 ...apter.spec.ts => ionic-overlay.adapter.test.ts} |     0
 src/app/core/guards/developer-tools.guard.ts       |    38 +
 src/app/core/guards/permission.guard.test.ts       |   180 +
 src/app/core/guards/permission.guard.ts            |   132 +
 src/app/core/{icons.spec.ts => icons.test.ts}      |     4 +
 src/app/core/icons.ts                              |     2 +
 src/app/core/interceptors/auth.interceptor.spec.ts |    62 +-
 src/app/core/interceptors/auth.interceptor.ts      |    18 +-
 .../core/interceptors/error.interceptor.spec.ts    |    62 +-
 src/app/core/interceptors/error.interceptor.ts     |    37 +-
 .../core/router/translated-title.strategy.test.ts  |   102 +
 src/app/core/router/translated-title.strategy.ts   |    81 +
 .../{auth.service.spec.ts => auth.service.test.ts} |   149 +-
 src/app/core/services/auth.service.ts              |   120 +-
 src/app/core/services/branding.service.test.ts     |   176 +
 src/app/core/services/branding.service.ts          |   430 +
 ...nfig.service.spec.ts => config.service.test.ts} |   103 +-
 src/app/core/services/config.service.ts            |   221 +-
 ...alog.service.spec.ts => dialog.service.test.ts} |    14 +-
 ...ce.service.spec.ts => guidance.service.test.ts} |    19 +-
 src/app/core/services/guidance.service.ts          |     6 +-
 src/app/core/services/idle.service.spec.ts         |    74 +-
 src/app/core/services/idle.service.ts              |    42 +-
 ....spec.ts => institution-config.service.test.ts} |     6 +-
 ...ing.service.spec.ts => loading.service.test.ts} |    16 +-
 src/app/core/services/nav-composition.test.ts      |   222 +
 src/app/core/services/nav-composition.ts           |   302 +
 .../services/navigation-config.service.spec.ts     |   382 -
 .../services/navigation-config.service.test.ts     |   652 +
 src/app/core/services/navigation-config.service.ts |   731 +-
 ...ervice.spec.ts => notification.service.test.ts} |     6 +-
 src/app/core/services/notification.service.ts      |     2 +-
 ...bar.service.spec.ts => sidebar.service.test.ts} |     6 +-
 src/app/core/services/sidebar.service.ts           |    48 +-
 ...theme.service.spec.ts => theme.service.test.ts} |    21 +-
 src/app/core/services/two-factor.service.ts        |   106 +
 src/app/core/services/viewport.service.ts          |    67 +
 ...olver.spec.ts => account-type-resolver.test.ts} |     0
 src/app/core/utils/csv.test.ts                     |    66 +
 src/app/core/utils/csv.ts                          |    40 +
 ...te-formatter.spec.ts => date-formatter.test.ts} |     2 +-
 src/app/core/utils/date-formatter.ts               |     2 +-
 src/app/core/utils/permission-matcher.test.ts      |    77 +
 src/app/core/utils/permission-matcher.ts           |    59 +
 ...s => accounting-closure-form.component.test.ts} |    24 +-
 ... => accounting-closures-list.component.test.ts} |    23 +-
 .../accounting-closures-list.component.ts          |    10 +-
 .../accounting/accounting-rules-list.component.ts  |    18 +-
 src/app/features/accounting/accounting.routes.ts   |    95 +
 .../charges/charges-list.component.test.ts         |    95 +
 .../accounting/charges/charges-list.component.ts   |    18 +-
 .../accounting/chart-of-accounts.component.ts      |    10 +-
 .../financial-activity-mappings-list.component.ts  |    22 +-
 .../accounting/frequent-postings.component.test.ts |   134 +
 .../accounting/frequent-postings.component.ts      |   370 +
 .../journal-entries-list.component.spec.ts         |    70 -
 .../journal-entries-list.component.test.ts         |   141 +
 .../accounting/journal-entries-list.component.ts   |   310 +-
 ...pec.ts => journal-entry-form.component.test.ts} |    40 +-
 .../accounting/journal-entry-form.component.ts     |     2 +
 .../journal-entry-view.component.test.ts           |   162 +
 .../accounting/journal-entry-view.component.ts     |   366 +
 .../accounting/opening-balances.component.test.ts  |   151 +
 .../accounting/opening-balances.component.ts       |   422 +
 ...provisioning-categories-form.component.test.ts} |    21 +-
 ...provisioning-categories-list.component.test.ts} |    38 +-
 .../provisioning-categories-list.component.ts      |    27 +-
 .../provisioning-criteria-form.component.spec.ts   |    72 -
 .../provisioning-criteria-form.component.test.ts   |   124 +
 .../provisioning-criteria-form.component.ts        |    35 +-
 ...> provisioning-criteria-list.component.test.ts} |    38 +-
 .../provisioning-criteria-list.component.ts        |    27 +-
 ...=> provisioning-entries-form.component.test.ts} |    16 +-
 ...=> provisioning-entries-list.component.test.ts} |    18 +-
 .../provisioning-entries-list.component.ts         |     1 +
 ...nent.spec.ts => run-accruals.component.test.ts} |    14 +-
 src/app/features/admin/admin.routes.ts             |    19 +
 .../batch-operations/batch-operations.component.ts |     2 +-
 ...ent.spec.ts => calendar-form.component.test.ts} |    22 +-
 ...nt.spec.ts => calendars-list.component.test.ts} |    40 +-
 .../features/calendars/calendars-list.component.ts |     1 +
 ...ars.routes.spec.ts => calendars.routes.test.ts} |     0
 src/app/features/calendars/calendars.routes.ts     |     8 +
 src/app/features/campaigns/campaigns.routes.ts     |    16 +
 .../email-campaigns-list.component.ts              |     4 +
 .../email-messages/email-messages.component.ts     |    60 +-
 .../sms-campaigns/sms-campaigns-list.component.ts  |    16 +-
 .../centers/center-action-dialog.component.ts      |   202 +
 src/app/features/centers/center-detail.model.ts    |   127 +
 .../center-groups-dialog.component.ts}             |   118 +-
 .../centers/center-meeting-dialog.component.ts     |   290 +
 .../center-staff-dialog.component.ts}              |    57 +-
 .../features/centers/center-view.component.test.ts |   370 +
 src/app/features/centers/center-view.component.ts  |   659 +
 src/app/features/centers/centers-list.component.ts |    10 +-
 src/app/features/centers/centers.routes.ts         |    30 +
 .../charges/client-charges-list.component.spec.ts  |    14 +-
 .../charges/client-charges-list.component.ts       |    19 +-
 .../clients/client-action-dialog.component.spec.ts |    11 +
 .../clients/client-action-dialog.component.ts      |     5 +-
 .../features/clients/client-form.component.spec.ts |    82 +
 src/app/features/clients/client-form.component.ts  |   139 +-
 .../features/clients/client-search-v2.component.ts |     1 +
 .../features/clients/client-view.component.spec.ts |    82 +-
 src/app/features/clients/client-view.component.ts  |   336 +-
 src/app/features/clients/clients-list.component.ts |    14 +-
 src/app/features/clients/clients.routes.spec.ts    |   131 +
 src/app/features/clients/clients.routes.ts         |    63 +
 .../client-collateral-list.component.spec.ts       |    14 +-
 .../collateral/client-collateral-list.component.ts |    18 +-
 .../kyc/client-document-form.component.spec.ts     |     5 +-
 .../clients/kyc/client-document-form.component.ts  |     4 +
 .../tabs/client-addresses-list.component.ts        |     1 +
 .../tabs/client-documents-list.component.ts        |     2 +
 .../tabs/client-family-members-list.component.ts   |     8 +-
 .../tabs/client-identifiers-list.component.ts      |     2 +
 .../clients/tabs/client-notes-list.component.ts    |     8 +-
 .../client-standing-instructions-tab.component.ts} |    61 +-
 .../client-transactions-list.component.spec.ts     |    14 +-
 .../client-transactions-list.component.ts          |    18 +-
 .../dashboard/system-status.component.spec.ts      |   109 +-
 .../features/dashboard/system-status.component.ts  |   163 +-
 .../errors/access-denied.component.test.ts         |   125 +
 src/app/features/errors/access-denied.component.ts |   150 +
 .../asset-owner-view/asset-owner-view.component.ts |    39 +-
 .../fintech/asset-owners-list.component.ts         |     2 +-
 .../features/groups/group-note-form.component.ts   |     8 +-
 ...ponent.spec.ts => group-view.component.test.ts} |    30 +-
 src/app/features/groups/group-view.component.ts    |    99 +-
 src/app/features/groups/groups-list.component.ts   |     1 +
 src/app/features/groups/groups.routes.ts           |    20 +
 .../tabs/group-accounts-tab.component.spec.ts      |    76 +
 .../groups/tabs/group-accounts-tab.component.ts    |   157 +
 .../groups/tabs/group-notes-list.component.ts      |    12 +-
 .../interop/interop-health.component.test.ts       |    98 +
 .../interop/interop-transfers.component.ts         |    44 +-
 src/app/features/interop/interop.routes.ts         |    12 +
 .../loans/charges/loan-charges-list.component.ts   |    18 +-
 .../loans/collateral/collateral-list.component.ts  |     1 +
 .../loans/guarantors/guarantor-form.component.ts   |     5 +-
 .../guarantors/guarantors-list.component.spec.ts   |    14 +-
 .../loans/guarantors/guarantors-list.component.ts  |    16 +-
 .../interest-pauses-list.component.spec.ts         |    14 +-
 .../interest-pauses-list.component.ts              |    18 +-
 .../loan-account-lock.component.ts                 |    55 +-
 src/app/features/loans/loan-form.component.ts      |   802 +-
 .../loan-undo-approval-dialog.component.spec.ts    |     2 +-
 src/app/features/loans/loan-view.component.spec.ts |    10 +-
 src/app/features/loans/loan-view.component.ts      |   228 +-
 src/app/features/loans/loans-list.component.ts     |    16 +-
 src/app/features/loans/loans.routes.ts             |    53 +-
 .../point-in-time/loans-point-in-time.component.ts |     2 +-
 .../post-dated-checks-list.component.spec.ts       |    14 +-
 .../post-dated-checks-list.component.ts            |    18 +-
 .../loans/transaction-detail-dialog.component.ts   |     4 +-
 src/app/features/login/login.component.spec.ts     |    13 +-
 src/app/features/login/login.component.ts          |   242 +-
 .../two-factor/two-factor-step.component.spec.ts   |   230 +
 .../login/two-factor/two-factor-step.component.ts  |   335 +
 ...nent.spec.ts => meeting-form.component.test.ts} |    18 +-
 ...ent.spec.ts => meetings-list.component.test.ts} |    24 +-
 .../features/meetings/meetings-list.component.ts   |     1 +
 ...ings.routes.spec.ts => meetings.routes.test.ts} |     0
 src/app/features/meetings/meetings.routes.ts       |     8 +
 .../mix/mapping/mix-mapping.component.spec.ts      |    64 -
 .../features/mix/mapping/mix-mapping.component.ts  |   164 -
 src/app/features/mix/mix.routes.ts                 |    37 -
 .../mix/report/mix-report.component.spec.ts        |    61 -
 .../features/mix/report/mix-report.component.ts    |   164 -
 .../mix/taxonomy/mix-taxonomy.component.spec.ts    |    55 -
 .../mix/taxonomy/mix-taxonomy.component.ts         |    69 -
 .../account-number-formats-list.component.test.ts  |   103 +
 .../account-number-formats-list.component.ts       |    39 +-
 ...mponent.spec.ts => fund-form.component.test.ts} |    45 +-
 ...ponent.spec.ts => funds-list.component.test.ts} |    18 +-
 .../organization/funds/funds-list.component.ts     |     1 +
 ...spec.ts => group-levels-list.component.test.ts} |    49 +-
 .../loan-portfolio-summary.component.test.ts       |   185 +
 .../loan-portfolio-summary.component.ts            |   561 +
 .../office-transactions-list.component.ts          |     7 +-
 ...onent.spec.ts => office-form.component.test.ts} |    96 +-
 .../organization/offices/office-form.component.ts  |     7 +-
 .../organization/offices/office-view.component.ts  |   239 +
 ...nent.spec.ts => offices-list.component.test.ts} |    24 +-
 .../organization/offices/offices-list.component.ts |    16 +
 .../features/organization/organization.routes.ts   |    78 +-
 ...spec.ts => payment-type-form.component.test.ts} |    20 +-
 ...pec.ts => payment-types-list.component.test.ts} |    52 +-
 .../payment-types/payment-types-list.component.ts  |     1 +
 ...ponent.spec.ts => staff-form.component.test.ts} |    82 +-
 .../organization/staff/staff-form.component.ts     |     4 +-
 ...ponent.spec.ts => staff-list.component.test.ts} |    24 +-
 .../organization/staff/staff-list.component.ts     |     1 +
 .../advanced-accounting-mappings.component.spec.ts |   190 +
 .../advanced-accounting-mappings.component.ts      |   459 +
 .../product-accounting-section.component.spec.ts   |    67 +
 .../product-accounting-section.component.ts        |     5 +-
 .../accounting/product-accounting.model.ts         |   203 +-
 .../collateral-management-form.component.spec.ts   |     3 +-
 ...> collateral-management-list.component.test.ts} |    35 +-
 .../collateral-management-list.component.ts        |    18 +-
 .../deposit-account-view.component.spec.ts         |   184 -
 .../deposit-account-view.component.test.ts         |   447 +
 .../products/deposit-account-view.component.ts     |   555 +-
 ...ixed-deposit-transaction-form.component.spec.ts |   137 +
 .../fixed-deposit-transaction-form.component.ts}   |   125 +-
 .../fixed-deposit-form.component.spec.ts           |     4 +-
 .../fixed-deposits/fixed-deposit-form.component.ts |     2 +
 .../fixed-deposit-products-list.component.ts       |     2 +
 .../fixed-deposits-list.component.ts               |     2 +
 .../floating-rates-list.component.ts               |     1 +
 .../interest-rate-chart-form.component.spec.ts     |     3 +-
 ...=> interest-rate-chart-slabs.component.test.ts} |    45 +-
 .../interest-rate-chart-slabs.component.ts         |    18 +-
 ...=> interest-rate-charts-list.component.test.ts} |    38 +-
 .../interest-rate-charts-list.component.ts         |    18 +-
 .../loan-originator-form.component.spec.ts         |     3 +-
 ....ts => loan-originators-list.component.test.ts} |    38 +-
 .../loan-originators-list.component.ts             |    15 +-
 .../products/loan-product-form.component.ts        |    42 +
 .../products/loan-products-list.component.ts       |     1 +
 .../payment-credit-allocation-editor.component.ts  |     4 +
 ...onent.spec.ts => product-mix.component.test.ts} |    42 +-
 .../products/product-mix/product-mix.component.ts  |    15 +-
 src/app/features/products/products.routes.spec.ts  |   165 +
 src/app/features/products/products.routes.ts       |   196 +-
 .../products/rates/rate-form.component.spec.ts     |     3 +-
 .../products/rates/rates-list.component.ts         |     1 +
 ...ring-deposit-transaction-form.component.spec.ts |    43 +-
 ...recurring-deposit-transaction-form.component.ts |    21 +-
 .../recurring-deposit-form.component.ts            |     2 +
 .../recurring-deposit-products-list.component.ts   |     2 +
 .../recurring-deposits-list.component.ts           |     2 +
 .../products/savings-account-form.component.ts     |     7 +-
 ...ings-account-transaction-form.component.test.ts |   124 +
 .../savings-account-transaction-form.component.ts  |   106 +-
 .../savings-account-view.component.spec.ts         |    99 +-
 .../products/savings-account-view.component.ts     |   275 +-
 .../products/savings-accounts-list.component.ts    |     1 +
 ...c.ts => savings-charges-list.component.test.ts} |    35 +-
 .../savings-charges-list.component.ts              |    18 +-
 .../products/savings-product-form.component.ts     |    33 +
 .../products/savings-products-list.component.ts    |     1 +
 ...savings-undo-approval-dialog.component.test.ts} |    18 +-
 .../savings-undo-approval-dialog.component.ts}     |    32 +-
 ...savings-standing-instructions-tab.component.ts} |    45 +-
 ...c.ts => share-dividends-list.component.test.ts} |    35 +-
 .../share-dividends-list.component.ts              |    19 +-
 .../shares/share-account-form.component.ts         |     2 +
 .../shares/share-accounts-list.component.ts        |     1 +
 .../shares/share-product-form.component.ts         |    99 +-
 .../shares/share-products-list.component.ts        |     1 +
 .../tax-components-list.component.ts               |     1 +
 .../tax-groups/tax-groups-list.component.ts        |     1 +
 .../reporting/report-execution.service.spec.ts     |    80 +-
 .../features/reporting/report-execution.service.ts |    95 +-
 src/app/features/reporting/reporting.routes.ts     |     6 +
 .../features/reporting/reports-list.component.ts   |     7 +-
 .../reporting/run-report.component.spec.ts         |   217 +-
 src/app/features/reporting/run-report.component.ts |   460 +-
 src/app/features/search/global-search.component.ts |    57 +-
 .../audit-logs/audit-logs-list.component.spec.ts   |    18 +
 .../audit-logs/audit-logs-list.component.ts        |    26 +-
 .../security/roles/role-form.component.test.ts     |   243 +
 .../features/security/roles/role-form.component.ts |   475 +-
 .../security/roles/roles-list.component.ts         |     1 +
 src/app/features/security/security.routes.ts       |    23 +
 .../security/users/users-list.component.ts         |     1 +
 ...nent.spec.ts => holiday-form.component.test.ts} |    41 +-
 ...ent.spec.ts => holidays-list.component.test.ts} |    59 +-
 .../features/settings/holidays-list.component.ts   |     2 +
 src/app/features/settings/settings.routes.ts       |    12 +
 ...nent.spec.ts => working-days.component.test.ts} |    24 +-
 ...ponent.spec.ts => likelihood.component.test.ts} |    24 +-
 ...nent.spec.ts => poverty-line.component.test.ts} |    19 +-
 ...ponent.spec.ts => scorecards.component.test.ts} |    14 +-
 src/app/features/spm/spm.routes.ts                 |     8 +
 ....spec.ts => spm-surveys-form.component.test.ts} |    25 +-
 ....spec.ts => spm-surveys-list.component.test.ts} |    18 +-
 .../spm/surveys/spm-surveys-list.component.ts      |     1 +
 ....spec.ts => adhoc-query-form.component.test.ts} |    23 +-
 ....spec.ts => adhoc-query-list.component.test.ts} |    38 +-
 .../adhoc-query/adhoc-query-list.component.ts      |    18 +-
 .../bulk-import/bulk-import.component.spec.ts      |    82 -
 .../bulk-import/bulk-import.component.test.ts      |   235 +
 .../system/bulk-import/bulk-import.component.ts    |   263 +-
 ...nt.spec.ts => business-steps.component.test.ts} |    38 +-
 .../business-steps/business-steps.component.ts     |     9 +-
 ...e.component.spec.ts => cache.component.test.ts} |    21 +-
 .../system/codes/code-values-list.component.ts     |     1 +
 .../features/system/codes/codes-list.component.ts  |     1 +
 ...c.ts => credit-bureau-config.component.test.ts} |    18 +-
 .../data-tables/datatables-form.component.test.ts  |   131 +
 .../data-tables/datatables-form.component.ts       |    30 +-
 .../data-tables/datatables-list.component.ts       |    24 +-
 ...ts => delinquency-management.component.test.ts} |    18 +-
 .../delinquency-management.component.ts            |    93 +-
 ...ntity-data-table-checks-form.component.test.ts} |    23 +-
 ...ntity-data-table-checks-list.component.test.ts} |    35 +-
 .../entity-data-table-checks-list.component.ts     |    18 +-
 ...ec.ts => entity-mapping-form.component.test.ts} |    19 +-
 ...ec.ts => entity-mapping-list.component.test.ts} |    38 +-
 .../entity-mapping-list.component.ts               |    19 +-
 ...t.spec.ts => external-events.component.test.ts} |    19 +-
 ...spec.ts => external-services.component.test.ts} |    21 +-
 ...ec.ts => field-configuration.component.test.ts} |    16 +-
 ...ponent.spec.ts => hooks-form.component.test.ts} |    23 +-
 ...ponent.spec.ts => hooks-list.component.test.ts} |    35 +-
 .../features/system/hooks/hooks-list.component.ts  |    17 +-
 ...ent.spec.ts => instance-mode.component.test.ts} |    19 +-
 ...c.ts => loan-product-details.component.test.ts} |    16 +-
 ...c.ts => notifications-config.component.test.ts} |    24 +-
 .../oidc-config/oidc-config.component.spec.ts      |    96 -
 .../oidc-config/oidc-config.component.test.ts      |   209 +
 .../system/oidc-config/oidc-config.component.ts    |   200 +-
 ...c.ts => password-preferences.component.test.ts} |    19 +-
 ...onent.spec.ts => permissions.component.test.ts} |    23 +-
 .../report-definition-form.component.test.ts       |   131 +
 .../report-definition-form.component.ts            |   354 +
 .../report-definitions-list.component.test.ts      |    96 +
 .../report-definitions-list.component.ts           |   174 +
 ... => report-mailing-jobs-form.component.test.ts} |    19 +-
 ... => report-mailing-jobs-list.component.test.ts} |    38 +-
 .../report-mailing-jobs-list.component.ts          |    45 +-
 ....ts => scheduler-job-history.component.test.ts} |    18 +-
 .../scheduler-jobs-list.component.spec.ts          |    96 -
 .../scheduler-jobs-list.component.test.ts          |   154 +
 .../scheduler-jobs-list.component.ts               |    83 +-
 ...omponent.spec.ts => sms-form.component.test.ts} |    23 +-
 ...omponent.spec.ts => sms-list.component.test.ts} |    35 +-
 src/app/features/system/sms/sms-list.component.ts  |    15 +-
 src/app/features/system/system.routes.test.ts      |   149 +
 src/app/features/system/system.routes.ts           |   167 +-
 .../system/templates/templates-list.component.ts   |    35 +-
 .../checker-inbox/checker-inbox.component.test.ts  |   121 +
 .../tasks/checker-inbox/checker-inbox.component.ts |    50 +-
 src/app/features/tasks/tasks.routes.ts             |    11 +
 .../work-queues/work-queues.component.spec.ts      |   220 +
 .../tasks/work-queues/work-queues.component.ts     |   667 +
 .../cashier-journals-list.component.spec.ts        |    76 -
 .../cashier-journals-list.component.ts             |   157 -
 ... => cashier-transaction-form.component.test.ts} |    21 +-
 ...c.ts => cashier-transactions.component.test.ts} |    23 +-
 .../cashiers/cashier-transactions.component.ts     |     2 +-
 .../tellers/cashiers/cashiers-list.component.ts    |     1 +
 ...onent.spec.ts => teller-form.component.test.ts} |    29 +-
 src/app/features/tellers/tellers-list.component.ts |     1 +
 src/app/features/tellers/tellers.routes.ts         |    17 +-
 .../standing-instruction-form.component.spec.ts    |     1 +
 .../standing-instruction-form.component.ts         |     4 +-
 src/app/features/transfers/transfers.routes.ts     |    14 +-
 ...nt.spec.ts => wc-breach-form.component.test.ts} |    25 +-
 ...nt.spec.ts => wc-breach-list.component.test.ts} |    35 +-
 .../breach/wc-breach-list.component.ts             |    25 +-
 ...c.ts => wc-loan-product-form.component.test.ts} |    27 +-
 ....ts => wc-loan-products-list.component.test.ts} |    35 +-
 .../wc-loan-products-list.component.ts             |    25 +-
 .../loans/wc-breach-action-form.component.test.ts  |   144 +
 .../loans/wc-breach-action-form.component.ts       |   314 +
 .../wc-delinquency-action-form.component.test.ts   |   158 +
 .../loans/wc-delinquency-action-form.component.ts  |   316 +
 ...ec.ts => wc-loan-action-form.component.test.ts} |   144 +-
 .../loans/wc-loan-action-form.component.ts         |   164 +-
 .../loans/wc-loan-charge-form.component.test.ts    |   126 +
 .../loans/wc-loan-charge-form.component.ts}        |    89 +-
 ...nent.spec.ts => wc-loan-form.component.test.ts} |    95 +-
 .../loans/wc-loan-view.component.spec.ts           |   142 -
 .../loans/wc-loan-view.component.test.ts           |   532 +
 .../loans/wc-loan-view.component.ts                |   634 +-
 ...ent.spec.ts => wc-loans-list.component.test.ts} |    18 +-
 .../loans/wc-loans-list.component.ts               |     1 +
 .../wc-near-breach-action-form.component.test.ts   |   115 +
 .../loans/wc-near-breach-action-form.component.ts} |   127 +-
 ...ec.ts => wc-near-breach-form.component.test.ts} |    64 +-
 ...ec.ts => wc-near-breach-list.component.test.ts} |    95 +-
 .../near-breach/wc-near-breach-list.component.ts   |    25 +-
 .../working-capital/working-capital.routes.ts      |    66 +
 src/app/layout/breadcrumb.component.test.ts        |    91 +
 src/app/layout/breadcrumb.component.ts             |    90 +
 src/app/layout/breadcrumb.test.ts                  |    80 +
 src/app/layout/breadcrumb.ts                       |    55 +
 src/app/layout/header.component.spec.ts            |    72 +-
 src/app/layout/header.component.ts                 |   576 +-
 ...spec.ts => inactivity-dialog.component.test.ts} |     5 +-
 src/app/layout/keyboard-shortcuts.test.ts          |   102 +
 src/app/layout/keyboard-shortcuts.ts               |    75 +
 src/app/layout/main-layout.component.spec.ts       |    50 +-
 src/app/layout/main-layout.component.ts            |    76 +-
 ...component.spec.ts => sidebar.component.test.ts} |     0
 src/app/layout/sidebar.component.ts                |   206 +-
 .../components/charts/bar-chart.component.ts       |   121 +
 ...onent.spec.ts => donut-chart.component.test.ts} |    20 +-
 ...c.ts => create-office-dialog.component.test.ts} |    19 +-
 .../create-office-dialog.component.ts              |     2 +-
 ...ive.spec.ts => cell-template.directive.test.ts} |     0
 ...ponent.spec.ts => data-table.component.test.ts} |    76 +-
 .../components/data-table/data-table.component.ts  |    74 +-
 ...spec.ts => entity-datatables.component.test.ts} |    71 +-
 .../entity-documents.component.ts}                 |   103 +-
 .../entity-notes/entity-notes.component.ts}        |    96 +-
 .../guidance-tour/guidance-tour.component.spec.ts  |    44 +
 .../guidance-tour/guidance-tour.component.ts       |    13 +-
 ...mponent.spec.ts => help-icon.component.test.ts} |     6 +-
 .../components/help-icon/help-icon.component.ts    |     8 +-
 ...mponent.spec.ts => paginator.component.test.ts} |    14 +-
 ...nent.spec.ts => status-badge.component.test.ts} |     0
 .../components/stepper/stepper.component.test.ts   |    77 +
 .../shared/components/stepper/stepper.component.ts |   119 +
 ...s => has-institution-feature.directive.test.ts} |     0
 .../requires-permission.directive.test.ts          |   180 +
 .../directives/requires-permission.directive.ts    |   127 +
 .../shared/directives/tooltip-registry.service.ts  |    56 +
 .../shared/directives/tooltip.directive.spec.ts    |   211 +
 src/app/shared/directives/tooltip.directive.ts     |    16 +
 src/app/shared/index.ts                            |     6 +
 .../shared/pipes/permission-summary.pipe.test.ts   |   111 +
 src/app/shared/pipes/permission-summary.pipe.ts    |   197 +
 src/app/testing/adapters.ts                        |    21 +-
 src/app/testing/config.ts                          |     6 +-
 src/app/testing/mocks.ts                           |    73 +
 src/assets/i18n/en.json                            |   552 +-
 src/assets/i18n/hi.json                            |   184 +-
 src/assets/i18n/ko.json                            |   182 +-
 src/index.html                                     |    11 +-
 src/main.ts                                        |    49 +-
 src/styles.scss                                    |    11 +-
 src/styles/_common.scss                            |   119 +
 src/styles/_ionic-theme.scss                       |    16 +-
 src/testing/vitest-setup.ts                        |    70 +
 tsconfig.e2e.json                                  |    11 +
 tsconfig.vitest.json                               |     9 +
 vitest.config.ts                                   |    51 +
 651 files changed, 60841 insertions(+), 17875 deletions(-)
 create mode 100644 .github/scripts/check-commit-signatures.js
 create mode 100644 .github/scripts/post-e2e-comments.js
 delete mode 100644 .github/scripts/upsert-e2e-comment.js
 create mode 100644 .github/scripts/welcome-contributor.js
 create mode 100644 .github/workflows/pr-comments.yml
 create mode 100644 .github/workflows/release-tag.yml
 create mode 100644 .github/workflows/signed-commit.yml
 create mode 100644 .github/workflows/welcome-contributor.yml
 delete mode 100644 .gitmodules
 create mode 100644 CHANGELOG.md
 create mode 100644 DOCS/CUSTOMIZATION.md
 create mode 100644 DOCS/DEMO.md
 create mode 100644 DOCS/FONTS.md
 create mode 100644 DOCS/LINT_POLICY.md
 create mode 100644 DOCS/MOBILE.md
 create mode 100644 DOCS/OIDC.md
 create mode 100644 DOCS/RBAC.md
 create mode 100644 DOCS/TWO-FACTOR.md
 create mode 100644 DOCS/adr/0004-vitest-migration.md
 create mode 100644 DOCS/examples/branding-config.example.json
 create mode 100644 NOTICE
 create mode 100644 RELEASING.md
 create mode 100644 audit/GOOGLE-FONTS-ASF-AUDIT.md
 create mode 100644 audit/third-party-assets.csv
 create mode 100644 deploy/docker-compose-e2e-2fa.yml
 delete mode 100644 deploy/nginx.conf
 create mode 100644 deploy/nginx.conf.template
 create mode 100644 e2e/branded-deployment.spec.ts
 create mode 100644 e2e/breadcrumb.spec.ts
 create mode 100644 e2e/center-servicing.spec.ts
 create mode 100644 e2e/demo-data.setup.ts
 create mode 100644 e2e/deployment-customization.spec.ts
 create mode 100644 e2e/global-search-nav-shortcuts.spec.ts
 create mode 100644 e2e/global-search-navigation.spec.ts
 create mode 100644 e2e/guidance-tour-dashboard.spec.ts
 create mode 100644 e2e/keyboard-shortcuts.spec.ts
 create mode 100644 e2e/loan-portfolio-summary.spec.ts
 create mode 100644 e2e/mobile-shell.spec.ts
 create mode 100644 e2e/parity-screens.spec.ts
 create mode 100644 e2e/rbac-backend-restricted-user.spec.ts
 create mode 100644 e2e/rbac-multi-permission.spec.ts
 create mode 100644 e2e/rbac-route-protection.spec.ts
 create mode 100644 e2e/savings-transaction-correction.spec.ts
 create mode 100644 e2e/scheduler-jobs.spec.ts
 create mode 100644 e2e/share-product-accounting.spec.ts
 create mode 100644 e2e/two-factor-authentication.spec.ts
 create mode 100644 e2e/two-factor-backend.spec.ts
 create mode 100644 e2e/utils/mailpit.ts
 create mode 100644 e2e/utils/settled-route.ts
 create mode 100644 e2e/working-capital-loan-actions.spec.ts
 create mode 100644 eslint-rules/cognitive-complexity.js
 create mode 100644 eslint-rules/cognitive-complexity.test.js
 create mode 100644 karma-baseline.json
 create mode 100644 public/schema/config.schema.json
 create mode 100644 scripts/check-a11y-names.mjs
 create mode 100644 scripts/check-branding-path.mjs
 create mode 100644 scripts/check-dependency-licenses.mjs
 create mode 100644 scripts/check-internal-endpoints.mjs
 create mode 100644 scripts/check-nav-ids.mjs
 create mode 100644 scripts/check-reference-downstream.mjs
 create mode 100644 scripts/check-responsive.mjs
 create mode 100644 scripts/check-route-permissions.mjs
 create mode 100644 scripts/check-test-runner.mjs
 create mode 100644 scripts/check-version.mjs
 create mode 100644 scripts/codemod-jasmine-to-vitest.mjs
 create mode 100644 scripts/e2e-stack-2fa.sh
 create mode 100644 scripts/make-branding-demo.mjs
 create mode 100644 scripts/nav-ids.json
 create mode 100644 scripts/pr-comment-actions.test.mjs
 create mode 100644 scripts/pr-sequence-diagram.mjs
 create mode 100644 scripts/reporting.test.mjs
 create mode 100755 scripts/verify-signed-commits.sh
 delete mode 100644 src/app/api/api/cashierJournals.service.ts
 delete mode 100644 src/app/api/api/cashiers.service.ts
 delete mode 100644 src/app/api/api/mixMapping.service.ts
 delete mode 100644 src/app/api/api/mixReport.service.ts
 delete mode 100644 src/app/api/api/mixTaxonomy.service.ts
 copy src/app/api/model/{getCodesResponse.ts => getCentersGroupMembers.ts} (90%)
 copy src/app/api/model/{getWorkingCapitalLoansClient.ts => 
getGroupsGroupIdClientMembers.ts} (90%)
 copy src/app/api/model/{loanCollateralResponseData.ts => 
getLoansLoanIdCollateralData.ts} (95%)
 copy src/app/api/model/{loanTermTypeOptions.ts => getLoansLoanIdSubStatus.ts} 
(95%)
 delete mode 100644 src/app/api/model/mixTaxonomyData.ts
 delete mode 100644 src/app/api/model/mixTaxonomyMappingData.ts
 delete mode 100644 src/app/api/model/mixTaxonomyMappingUpdateRequest.ts
 delete mode 100644 src/app/api/model/mixTaxonomyMappingUpdateResponse.ts
 copy src/app/api/model/{markWorkingCapitalLoanAsFraudRequest.ts => 
postCentersCenterIdChanges.ts} (86%)
 copy src/app/api/model/{datatableData.ts => postClientsClientIdChanges.ts} 
(93%)
 copy src/app/api/model/{smsCreationRequest.ts => postGroupsGroupIdChanges.ts} 
(85%)
 copy src/app/api/model/{postUpdateRescheduleLoansRequest.ts => 
postLoansLoanIdGlimApprovalData.ts} (88%)
 copy src/app/api/model/{putLoansLoanIdCollateral.ts => 
postLoansRequestCollateralData.ts} (95%)
 delete mode 100644 src/app/api/model/tellerJournalData.ts
 delete mode 100644 src/app/api/model/tellerTransactionData.ts
 create mode 100644 src/app/core/adapters/i18n/deployment-translate.loader.ts
 rename src/app/core/adapters/overlay/{ionic-overlay.adapter.spec.ts => 
ionic-overlay.adapter.test.ts} (100%)
 create mode 100644 src/app/core/guards/developer-tools.guard.ts
 create mode 100644 src/app/core/guards/permission.guard.test.ts
 create mode 100644 src/app/core/guards/permission.guard.ts
 rename src/app/core/{icons.spec.ts => icons.test.ts} (87%)
 create mode 100644 src/app/core/router/translated-title.strategy.test.ts
 create mode 100644 src/app/core/router/translated-title.strategy.ts
 rename src/app/core/services/{auth.service.spec.ts => auth.service.test.ts} 
(56%)
 create mode 100644 src/app/core/services/branding.service.test.ts
 create mode 100644 src/app/core/services/branding.service.ts
 rename src/app/core/services/{config.service.spec.ts => 
config.service.test.ts} (63%)
 rename src/app/core/services/{dialog.service.spec.ts => 
dialog.service.test.ts} (88%)
 rename src/app/core/services/{guidance.service.spec.ts => 
guidance.service.test.ts} (76%)
 rename src/app/core/services/{institution-config.service.spec.ts => 
institution-config.service.test.ts} (94%)
 rename src/app/core/services/{loading.service.spec.ts => 
loading.service.test.ts} (85%)
 create mode 100644 src/app/core/services/nav-composition.test.ts
 create mode 100644 src/app/core/services/nav-composition.ts
 delete mode 100644 src/app/core/services/navigation-config.service.spec.ts
 create mode 100644 src/app/core/services/navigation-config.service.test.ts
 rename src/app/core/services/{notification.service.spec.ts => 
notification.service.test.ts} (92%)
 rename src/app/core/services/{sidebar.service.spec.ts => 
sidebar.service.test.ts} (90%)
 rename src/app/core/services/{theme.service.spec.ts => theme.service.test.ts} 
(82%)
 create mode 100644 src/app/core/services/two-factor.service.ts
 create mode 100644 src/app/core/services/viewport.service.ts
 rename src/app/core/utils/{account-type-resolver.spec.ts => 
account-type-resolver.test.ts} (100%)
 create mode 100644 src/app/core/utils/csv.test.ts
 create mode 100644 src/app/core/utils/csv.ts
 rename src/app/core/utils/{date-formatter.spec.ts => date-formatter.test.ts} 
(99%)
 create mode 100644 src/app/core/utils/permission-matcher.test.ts
 create mode 100644 src/app/core/utils/permission-matcher.ts
 rename src/app/features/accounting/{accounting-closure-form.component.spec.ts 
=> accounting-closure-form.component.test.ts} (79%)
 rename src/app/features/accounting/{accounting-closures-list.component.spec.ts 
=> accounting-closures-list.component.test.ts} (81%)
 create mode 100644 
src/app/features/accounting/charges/charges-list.component.test.ts
 create mode 100644 
src/app/features/accounting/frequent-postings.component.test.ts
 create mode 100644 src/app/features/accounting/frequent-postings.component.ts
 delete mode 100644 
src/app/features/accounting/journal-entries-list.component.spec.ts
 create mode 100644 
src/app/features/accounting/journal-entries-list.component.test.ts
 rename src/app/features/accounting/{journal-entry-form.component.spec.ts => 
journal-entry-form.component.test.ts} (74%)
 create mode 100644 
src/app/features/accounting/journal-entry-view.component.test.ts
 create mode 100644 src/app/features/accounting/journal-entry-view.component.ts
 create mode 100644 
src/app/features/accounting/opening-balances.component.test.ts
 create mode 100644 src/app/features/accounting/opening-balances.component.ts
 rename 
src/app/features/accounting/provisioning-categories/{provisioning-categories-form.component.spec.ts
 => provisioning-categories-form.component.test.ts} (80%)
 rename 
src/app/features/accounting/provisioning-categories/{provisioning-categories-list.component.spec.ts
 => provisioning-categories-list.component.test.ts} (70%)
 delete mode 100644 
src/app/features/accounting/provisioning-criteria/provisioning-criteria-form.component.spec.ts
 create mode 100644 
src/app/features/accounting/provisioning-criteria/provisioning-criteria-form.component.test.ts
 rename 
src/app/features/accounting/provisioning-criteria/{provisioning-criteria-list.component.spec.ts
 => provisioning-criteria-list.component.test.ts} (70%)
 rename 
src/app/features/accounting/provisioning-entries/{provisioning-entries-form.component.spec.ts
 => provisioning-entries-form.component.test.ts} (83%)
 rename 
src/app/features/accounting/provisioning-entries/{provisioning-entries-list.component.spec.ts
 => provisioning-entries-list.component.test.ts} (81%)
 rename 
src/app/features/accounting/run-accruals/{run-accruals.component.spec.ts => 
run-accruals.component.test.ts} (84%)
 rename src/app/features/calendars/{calendar-form.component.spec.ts => 
calendar-form.component.test.ts} (83%)
 rename src/app/features/calendars/{calendars-list.component.spec.ts => 
calendars-list.component.test.ts} (78%)
 rename src/app/features/calendars/{calendars.routes.spec.ts => 
calendars.routes.test.ts} (100%)
 create mode 100644 src/app/features/centers/center-action-dialog.component.ts
 create mode 100644 src/app/features/centers/center-detail.model.ts
 copy src/app/features/{groups/group-members-dialog.component.ts => 
centers/center-groups-dialog.component.ts} (53%)
 create mode 100644 src/app/features/centers/center-meeting-dialog.component.ts
 copy src/app/features/{groups/group-staff-dialog.component.ts => 
centers/center-staff-dialog.component.ts} (65%)
 create mode 100644 src/app/features/centers/center-view.component.test.ts
 create mode 100644 src/app/features/centers/center-view.component.ts
 create mode 100644 src/app/features/clients/clients.routes.spec.ts
 copy src/app/features/{loans/tabs/loan-standing-instructions-tab.component.ts 
=> clients/tabs/client-standing-instructions-tab.component.ts} (57%)
 create mode 100644 src/app/features/errors/access-denied.component.test.ts
 create mode 100644 src/app/features/errors/access-denied.component.ts
 rename src/app/features/groups/{group-view.component.spec.ts => 
group-view.component.test.ts} (90%)
 create mode 100644 
src/app/features/groups/tabs/group-accounts-tab.component.spec.ts
 create mode 100644 src/app/features/groups/tabs/group-accounts-tab.component.ts
 create mode 100644 src/app/features/interop/interop-health.component.test.ts
 create mode 100644 
src/app/features/login/two-factor/two-factor-step.component.spec.ts
 create mode 100644 
src/app/features/login/two-factor/two-factor-step.component.ts
 rename src/app/features/meetings/{meeting-form.component.spec.ts => 
meeting-form.component.test.ts} (85%)
 rename src/app/features/meetings/{meetings-list.component.spec.ts => 
meetings-list.component.test.ts} (82%)
 rename src/app/features/meetings/{meetings.routes.spec.ts => 
meetings.routes.test.ts} (100%)
 delete mode 100644 src/app/features/mix/mapping/mix-mapping.component.spec.ts
 delete mode 100644 src/app/features/mix/mapping/mix-mapping.component.ts
 delete mode 100644 src/app/features/mix/mix.routes.ts
 delete mode 100644 src/app/features/mix/report/mix-report.component.spec.ts
 delete mode 100644 src/app/features/mix/report/mix-report.component.ts
 delete mode 100644 src/app/features/mix/taxonomy/mix-taxonomy.component.spec.ts
 delete mode 100644 src/app/features/mix/taxonomy/mix-taxonomy.component.ts
 create mode 100644 
src/app/features/organization/account-number-formats/account-number-formats-list.component.test.ts
 rename src/app/features/organization/funds/{fund-form.component.spec.ts => 
fund-form.component.test.ts} (74%)
 rename src/app/features/organization/funds/{funds-list.component.spec.ts => 
funds-list.component.test.ts} (82%)
 rename 
src/app/features/organization/group-levels/{group-levels-list.component.spec.ts 
=> group-levels-list.component.test.ts} (59%)
 create mode 100644 
src/app/features/organization/loan-portfolio-summary/loan-portfolio-summary.component.test.ts
 create mode 100644 
src/app/features/organization/loan-portfolio-summary/loan-portfolio-summary.component.ts
 rename src/app/features/organization/offices/{office-form.component.spec.ts => 
office-form.component.test.ts} (73%)
 create mode 100644 
src/app/features/organization/offices/office-view.component.ts
 rename src/app/features/organization/offices/{offices-list.component.spec.ts 
=> offices-list.component.test.ts} (84%)
 rename 
src/app/features/organization/payment-types/{payment-type-form.component.spec.ts
 => payment-type-form.component.test.ts} (81%)
 rename 
src/app/features/organization/payment-types/{payment-types-list.component.spec.ts
 => payment-types-list.component.test.ts} (76%)
 rename src/app/features/organization/staff/{staff-form.component.spec.ts => 
staff-form.component.test.ts} (74%)
 rename src/app/features/organization/staff/{staff-list.component.spec.ts => 
staff-list.component.test.ts} (80%)
 create mode 100644 
src/app/features/products/accounting/advanced-accounting-mappings.component.spec.ts
 create mode 100644 
src/app/features/products/accounting/advanced-accounting-mappings.component.ts
 rename 
src/app/features/products/collateral-management/{collateral-management-list.component.spec.ts
 => collateral-management-list.component.test.ts} (73%)
 delete mode 100644 
src/app/features/products/deposit-account-view.component.spec.ts
 create mode 100644 
src/app/features/products/deposit-account-view.component.test.ts
 create mode 100644 
src/app/features/products/fixed-deposit-transactions/fixed-deposit-transaction-form.component.spec.ts
 copy 
src/app/features/products/{recurring-deposit-transactions/recurring-deposit-transaction-form.component.ts
 => fixed-deposit-transactions/fixed-deposit-transaction-form.component.ts} 
(52%)
 rename 
src/app/features/products/interest-rate-charts/{interest-rate-chart-slabs.component.spec.ts
 => interest-rate-chart-slabs.component.test.ts} (71%)
 rename 
src/app/features/products/interest-rate-charts/{interest-rate-charts-list.component.spec.ts
 => interest-rate-charts-list.component.test.ts} (72%)
 rename 
src/app/features/products/loan-originators/{loan-originators-list.component.spec.ts
 => loan-originators-list.component.test.ts} (70%)
 rename src/app/features/products/product-mix/{product-mix.component.spec.ts => 
product-mix.component.test.ts} (73%)
 create mode 100644 src/app/features/products/products.routes.spec.ts
 create mode 100644 
src/app/features/products/savings-account-transaction-form.component.test.ts
 rename 
src/app/features/products/savings-charges/{savings-charges-list.component.spec.ts
 => savings-charges-list.component.test.ts} (74%)
 copy src/app/features/{loans/loan-undo-approval-dialog.component.spec.ts => 
products/savings-undo-approval-dialog.component.test.ts} (78%)
 copy src/app/features/{loans/loan-undo-approval-dialog.component.ts => 
products/savings-undo-approval-dialog.component.ts} (65%)
 copy src/app/features/{loans/tabs/loan-standing-instructions-tab.component.ts 
=> products/savings/savings-standing-instructions-tab.component.ts} (75%)
 rename 
src/app/features/products/share-dividends/{share-dividends-list.component.spec.ts
 => share-dividends-list.component.test.ts} (73%)
 create mode 100644 src/app/features/security/roles/role-form.component.test.ts
 rename src/app/features/settings/{holiday-form.component.spec.ts => 
holiday-form.component.test.ts} (78%)
 rename src/app/features/settings/{holidays-list.component.spec.ts => 
holidays-list.component.test.ts} (76%)
 rename src/app/features/settings/{working-days.component.spec.ts => 
working-days.component.test.ts} (80%)
 rename src/app/features/spm/likelihood/{likelihood.component.spec.ts => 
likelihood.component.test.ts} (78%)
 rename src/app/features/spm/poverty-line/{poverty-line.component.spec.ts => 
poverty-line.component.test.ts} (79%)
 rename src/app/features/spm/scorecards/{scorecards.component.spec.ts => 
scorecards.component.test.ts} (84%)
 rename src/app/features/spm/surveys/{spm-surveys-form.component.spec.ts => 
spm-surveys-form.component.test.ts} (78%)
 rename src/app/features/spm/surveys/{spm-surveys-list.component.spec.ts => 
spm-surveys-list.component.test.ts} (83%)
 rename src/app/features/system/adhoc-query/{adhoc-query-form.component.spec.ts 
=> adhoc-query-form.component.test.ts} (80%)
 rename src/app/features/system/adhoc-query/{adhoc-query-list.component.spec.ts 
=> adhoc-query-list.component.test.ts} (70%)
 delete mode 100644 
src/app/features/system/bulk-import/bulk-import.component.spec.ts
 create mode 100644 
src/app/features/system/bulk-import/bulk-import.component.test.ts
 rename 
src/app/features/system/business-steps/{business-steps.component.spec.ts => 
business-steps.component.test.ts} (68%)
 rename src/app/features/system/cache/{cache.component.spec.ts => 
cache.component.test.ts} (78%)
 rename 
src/app/features/system/credit-bureau-config/{credit-bureau-config.component.spec.ts
 => credit-bureau-config.component.test.ts} (83%)
 create mode 100644 
src/app/features/system/data-tables/datatables-form.component.test.ts
 rename 
src/app/features/system/delinquency/{delinquency-management.component.spec.ts 
=> delinquency-management.component.test.ts} (81%)
 rename 
src/app/features/system/entity-data-table-checks/{entity-data-table-checks-form.component.spec.ts
 => entity-data-table-checks-form.component.test.ts} (80%)
 rename 
src/app/features/system/entity-data-table-checks/{entity-data-table-checks-list.component.spec.ts
 => entity-data-table-checks-list.component.test.ts} (74%)
 rename 
src/app/features/system/entity-mapping/{entity-mapping-form.component.spec.ts 
=> entity-mapping-form.component.test.ts} (82%)
 rename 
src/app/features/system/entity-mapping/{entity-mapping-list.component.spec.ts 
=> entity-mapping-list.component.test.ts} (70%)
 rename 
src/app/features/system/external-events/{external-events.component.spec.ts => 
external-events.component.test.ts} (81%)
 rename 
src/app/features/system/external-services/{external-services.component.spec.ts 
=> external-services.component.test.ts} (78%)
 rename 
src/app/features/system/field-configuration/{field-configuration.component.spec.ts
 => field-configuration.component.test.ts} (83%)
 rename src/app/features/system/hooks/{hooks-form.component.spec.ts => 
hooks-form.component.test.ts} (80%)
 rename src/app/features/system/hooks/{hooks-list.component.spec.ts => 
hooks-list.component.test.ts} (70%)
 rename src/app/features/system/instance-mode/{instance-mode.component.spec.ts 
=> instance-mode.component.test.ts} (76%)
 rename 
src/app/features/system/loan-product-details/{loan-product-details.component.spec.ts
 => loan-product-details.component.test.ts} (81%)
 rename 
src/app/features/system/notifications-config/{notifications-config.component.spec.ts
 => notifications-config.component.test.ts} (77%)
 delete mode 100644 
src/app/features/system/oidc-config/oidc-config.component.spec.ts
 create mode 100644 
src/app/features/system/oidc-config/oidc-config.component.test.ts
 rename 
src/app/features/system/password-preferences/{password-preferences.component.spec.ts
 => password-preferences.component.test.ts} (81%)
 rename src/app/features/system/permissions/{permissions.component.spec.ts => 
permissions.component.test.ts} (77%)
 create mode 100644 
src/app/features/system/report-definitions/report-definition-form.component.test.ts
 create mode 100644 
src/app/features/system/report-definitions/report-definition-form.component.ts
 create mode 100644 
src/app/features/system/report-definitions/report-definitions-list.component.test.ts
 create mode 100644 
src/app/features/system/report-definitions/report-definitions-list.component.ts
 rename 
src/app/features/system/report-mailing-jobs/{report-mailing-jobs-form.component.spec.ts
 => report-mailing-jobs-form.component.test.ts} (82%)
 rename 
src/app/features/system/report-mailing-jobs/{report-mailing-jobs-list.component.spec.ts
 => report-mailing-jobs-list.component.test.ts} (70%)
 rename 
src/app/features/system/scheduler-jobs/{scheduler-job-history.component.spec.ts 
=> scheduler-job-history.component.test.ts} (83%)
 delete mode 100644 
src/app/features/system/scheduler-jobs/scheduler-jobs-list.component.spec.ts
 create mode 100644 
src/app/features/system/scheduler-jobs/scheduler-jobs-list.component.test.ts
 rename src/app/features/system/sms/{sms-form.component.spec.ts => 
sms-form.component.test.ts} (78%)
 rename src/app/features/system/sms/{sms-list.component.spec.ts => 
sms-list.component.test.ts} (70%)
 create mode 100644 src/app/features/system/system.routes.test.ts
 create mode 100644 
src/app/features/tasks/checker-inbox/checker-inbox.component.test.ts
 create mode 100644 
src/app/features/tasks/work-queues/work-queues.component.spec.ts
 create mode 100644 src/app/features/tasks/work-queues/work-queues.component.ts
 delete mode 100644 
src/app/features/tellers/cashier-journals/cashier-journals-list.component.spec.ts
 delete mode 100644 
src/app/features/tellers/cashier-journals/cashier-journals-list.component.ts
 rename 
src/app/features/tellers/cashiers/{cashier-transaction-form.component.spec.ts 
=> cashier-transaction-form.component.test.ts} (93%)
 rename 
src/app/features/tellers/cashiers/{cashier-transactions.component.spec.ts => 
cashier-transactions.component.test.ts} (92%)
 rename src/app/features/tellers/{teller-form.component.spec.ts => 
teller-form.component.test.ts} (77%)
 rename 
src/app/features/working-capital/breach/{wc-breach-form.component.spec.ts => 
wc-breach-form.component.test.ts} (79%)
 rename 
src/app/features/working-capital/breach/{wc-breach-list.component.spec.ts => 
wc-breach-list.component.test.ts} (72%)
 rename 
src/app/features/working-capital/loan-products/{wc-loan-product-form.component.spec.ts
 => wc-loan-product-form.component.test.ts} (79%)
 rename 
src/app/features/working-capital/loan-products/{wc-loan-products-list.component.spec.ts
 => wc-loan-products-list.component.test.ts} (72%)
 create mode 100644 
src/app/features/working-capital/loans/wc-breach-action-form.component.test.ts
 create mode 100644 
src/app/features/working-capital/loans/wc-breach-action-form.component.ts
 create mode 100644 
src/app/features/working-capital/loans/wc-delinquency-action-form.component.test.ts
 create mode 100644 
src/app/features/working-capital/loans/wc-delinquency-action-form.component.ts
 rename 
src/app/features/working-capital/loans/{wc-loan-action-form.component.spec.ts 
=> wc-loan-action-form.component.test.ts} (50%)
 create mode 100644 
src/app/features/working-capital/loans/wc-loan-charge-form.component.test.ts
 copy src/app/features/{loans/charges/loan-charge-form.component.ts => 
working-capital/loans/wc-loan-charge-form.component.ts} (65%)
 rename src/app/features/working-capital/loans/{wc-loan-form.component.spec.ts 
=> wc-loan-form.component.test.ts} (60%)
 delete mode 100644 
src/app/features/working-capital/loans/wc-loan-view.component.spec.ts
 create mode 100644 
src/app/features/working-capital/loans/wc-loan-view.component.test.ts
 rename src/app/features/working-capital/loans/{wc-loans-list.component.spec.ts 
=> wc-loans-list.component.test.ts} (84%)
 create mode 100644 
src/app/features/working-capital/loans/wc-near-breach-action-form.component.test.ts
 copy 
src/app/features/{system/entity-data-table-checks/entity-data-table-checks-form.component.ts
 => working-capital/loans/wc-near-breach-action-form.component.ts} (51%)
 rename 
src/app/features/working-capital/near-breach/{wc-near-breach-form.component.spec.ts
 => wc-near-breach-form.component.test.ts} (59%)
 rename 
src/app/features/working-capital/near-breach/{wc-near-breach-list.component.spec.ts
 => wc-near-breach-list.component.test.ts} (56%)
 create mode 100644 src/app/layout/breadcrumb.component.test.ts
 create mode 100644 src/app/layout/breadcrumb.component.ts
 create mode 100644 src/app/layout/breadcrumb.test.ts
 create mode 100644 src/app/layout/breadcrumb.ts
 rename src/app/layout/{inactivity-dialog.component.spec.ts => 
inactivity-dialog.component.test.ts} (92%)
 create mode 100644 src/app/layout/keyboard-shortcuts.test.ts
 create mode 100644 src/app/layout/keyboard-shortcuts.ts
 rename src/app/layout/{sidebar.component.spec.ts => sidebar.component.test.ts} 
(100%)
 create mode 100644 src/app/shared/components/charts/bar-chart.component.ts
 rename src/app/shared/components/charts/{donut-chart.component.spec.ts => 
donut-chart.component.test.ts} (83%)
 rename 
src/app/shared/components/create-office-dialog/{create-office-dialog.component.spec.ts
 => create-office-dialog.component.test.ts} (84%)
 rename src/app/shared/components/data-table/{cell-template.directive.spec.ts 
=> cell-template.directive.test.ts} (100%)
 rename src/app/shared/components/data-table/{data-table.component.spec.ts => 
data-table.component.test.ts} (84%)
 rename 
src/app/shared/components/entity-datatables/{entity-datatables.component.spec.ts
 => entity-datatables.component.test.ts} (78%)
 rename src/app/{features/loans/loan-documents-tab.component.ts => 
shared/components/entity-documents/entity-documents.component.ts} (70%)
 rename src/app/{features/loans/loan-notes-tab.component.ts => 
shared/components/entity-notes/entity-notes.component.ts} (62%)
 rename src/app/shared/components/help-icon/{help-icon.component.spec.ts => 
help-icon.component.test.ts} (92%)
 rename src/app/shared/components/paginator/{paginator.component.spec.ts => 
paginator.component.test.ts} (95%)
 rename src/app/shared/components/status-badge/{status-badge.component.spec.ts 
=> status-badge.component.test.ts} (100%)
 create mode 100644 src/app/shared/components/stepper/stepper.component.test.ts
 create mode 100644 src/app/shared/components/stepper/stepper.component.ts
 rename src/app/shared/directives/{has-institution-feature.directive.spec.ts => 
has-institution-feature.directive.test.ts} (100%)
 create mode 100644 
src/app/shared/directives/requires-permission.directive.test.ts
 create mode 100644 src/app/shared/directives/requires-permission.directive.ts
 create mode 100644 src/app/shared/directives/tooltip-registry.service.ts
 create mode 100644 src/app/shared/directives/tooltip.directive.spec.ts
 create mode 100644 src/app/shared/pipes/permission-summary.pipe.test.ts
 create mode 100644 src/app/shared/pipes/permission-summary.pipe.ts
 create mode 100644 src/app/testing/mocks.ts
 create mode 100644 src/testing/vitest-setup.ts
 create mode 100644 tsconfig.e2e.json
 create mode 100644 tsconfig.vitest.json
 create mode 100644 vitest.config.ts

Reply via email to