taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit ce1ac856d0f7cf2f0395a8e0027e6b9f6e7a5d1e
parent 881c0b3a2561bac4c035861e3f716769e2ac65a3
Author: Florian Dold <dold@taler.net>
Date:   Fri, 31 Jul 2026 12:55:26 +0200

qa: import from the defining module instead of the package barrel

A module that pulls in its own package barrel drags in every other module of
the package, which is how the import cycles here get formed; one of them left
aml/events.js unimportable until recently.

Diffstat:
Mpackages/idb-bridge/src/SqliteBackend.ts | 4++--
Mpackages/idb-bridge/src/bench.ts | 4++--
Mpackages/taler-util/src/http-client/bank-prepared.ts | 10+++++-----
Mpackages/taler-util/src/http-client/bank-wire.ts | 11++++-------
Mpackages/taler-util/src/http-impl.node.ts | 4+++-
Mpackages/taler-util/src/types-taler-directory.ts | 2+-
Mpackages/taler-util/src/types-taler-mailbox.ts | 2+-
Mpackages/taler-util/src/types-taler-merchant.ts | 29+++++++----------------------
Mpackages/taler-util/src/types-taler-wallet.ts | 2+-
Mpackages/taler-util/src/types.test.ts | 6+++---
Mpackages/taler-wallet-core/src/denominations.ts | 2+-
Mpackages/taler-wallet-core/src/deposits.ts | 8+++-----
Mpackages/taler-wallet-core/src/donau.ts | 2+-
Mpackages/taler-wallet-core/src/host-impl.missing.ts | 2+-
Mpackages/taler-wallet-core/src/host.ts | 2+-
Mpackages/taler-wallet-core/src/kyc.ts | 2+-
Mpackages/taler-wallet-core/src/observable-wrappers.ts | 2+-
Mpackages/taler-wallet-core/src/tokenFamilies.ts | 2+-
Mpackages/taler-wallet-core/src/tokenSelection.ts | 2+-
Mpackages/web-util/src/components/Button.tsx | 3++-
Mpackages/web-util/src/components/Footer.tsx | 2+-
Mpackages/web-util/src/components/Pagination.tsx | 2+-
Mpackages/web-util/src/components/Time.tsx | 2+-
Mpackages/web-util/src/context/bank-api.ts | 3++-
Mpackages/web-util/src/context/challenger-api.ts | 3++-
Mpackages/web-util/src/context/exchange-api.ts | 8+++-----
Mpackages/web-util/src/context/merchant-api.ts | 6++----
Mpackages/web-util/src/context/notification.ts | 4++--
Mpackages/web-util/src/forms/Calendar.tsx | 2+-
Mpackages/web-util/src/forms/TimePicker.tsx | 2+-
Mpackages/web-util/src/forms/fields/InputArray.tsx | 6++----
Mpackages/web-util/src/forms/fields/InputDownloadLink.tsx | 2+-
Mpackages/web-util/src/forms/fields/InputDuration.tsx | 2+-
Mpackages/web-util/src/forms/fields/InputFile.tsx | 2+-
Mpackages/web-util/src/forms/fields/InputSelectMultiple.tsx | 2+-
Mpackages/web-util/src/forms/forms-utils.ts | 6++----
Mpackages/web-util/src/forms/gana/VQF_902_11_customer.ts | 7++-----
Mpackages/web-util/src/forms/gana/VQF_902_11_officer.ts | 7++-----
Mpackages/web-util/src/forms/gana/VQF_902_14.ts | 9+++------
Mpackages/web-util/src/forms/gana/VQF_902_1_customer.ts | 7++-----
Mpackages/web-util/src/forms/gana/VQF_902_1_officer.ts | 7++-----
Mpackages/web-util/src/forms/gana/VQF_902_4.ts | 9+++------
Mpackages/web-util/src/forms/gana/VQF_902_5.ts | 9+++------
Mpackages/web-util/src/forms/gana/VQF_902_9_customer.ts | 7++-----
Mpackages/web-util/src/forms/gana/VQF_902_9_officer.ts | 7++-----
Mpackages/web-util/src/forms/gana/challenger_email.ts | 4++--
Mpackages/web-util/src/forms/gana/challenger_postal.ts | 6+++---
Mpackages/web-util/src/forms/gana/challenger_sms.ts | 4++--
Mpackages/web-util/src/forms/gana/generic_note.ts | 7++-----
Mpackages/web-util/src/forms/gana/generic_upload.ts | 6++----
Mpackages/web-util/src/forms/gana/gls_merchant_onboarding.ts | 7++-----
Mpackages/web-util/src/forms/gana/gls_wallet_confirmation.ts | 7++-----
Mpackages/web-util/src/forms/gana/multi_upload.ts | 7++-----
Mpackages/web-util/src/hooks/errors.ts | 2+-
Mpackages/web-util/src/hooks/useForm.ts | 10++++++----
Mpackages/web-util/src/hooks/useNotifications.stories.tsx | 4+++-
Mpackages/web-util/src/hooks/useNotifications.ts | 2+-
Mpackages/web-util/src/tests/swr.ts | 2+-
Mpackages/web-util/src/utils/select-ui-lists.ts | 3++-
59 files changed, 118 insertions(+), 177 deletions(-)

diff --git a/packages/idb-bridge/src/SqliteBackend.ts b/packages/idb-bridge/src/SqliteBackend.ts @@ -39,11 +39,11 @@ import { IDBTransactionMode, IDBValidKey, } from "./idbtypes.js"; +import { AccessStats } from "./MemoryBackend.js"; import { - AccessStats, structuredEncapsulate, structuredRevive, -} from "./index.js"; +} from "./util/structuredClone.js"; import { Sqlite3Database, Sqlite3Interface, diff --git a/packages/idb-bridge/src/bench.ts b/packages/idb-bridge/src/bench.ts @@ -15,13 +15,13 @@ */ import * as fs from "node:fs"; +import { createSqliteBackend } from "./SqliteBackend.js"; import { BridgeIDBDatabase, BridgeIDBFactory, BridgeIDBRequest, BridgeIDBTransaction, - createSqliteBackend, -} from "./index.js"; +} from "./bridge-idb.js"; import { createNodeHelperSqlite3Impl } from "./node-helper-sqlite3-impl.js"; function openDb(idbFactory: BridgeIDBFactory): Promise<BridgeIDBDatabase> { diff --git a/packages/taler-util/src/http-client/bank-prepared.ts b/packages/taler-util/src/http-client/bank-prepared.ts @@ -17,15 +17,15 @@ import { HttpRequestLibrary, readTalerErrorResponse } from "../http-common.js"; import { HttpStatusCode } from "../http-status-codes.js"; import { createPlatformHttpLib } from "../http.js"; +import * as TalerPreparedTransferApi from "../types-taler-prepared-transfer.js"; +import { LibtoolVersion } from "../libtool-version.js"; import { carefullyParseConfig, - codecForTalerErrorDetail, - LibtoolVersion, opEmptySuccess, opKnownTalerFailure, - TalerErrorCode, - TalerPreparedTransferApi, -} from "../index.js"; +} from "../operation.js"; +import { TalerErrorCode } from "../taler-error-codes.js"; +import { codecForTalerErrorDetail } from "../types-taler-wallet.js"; import { FailCasesByMethod, opKnownHttpFailure, diff --git a/packages/taler-util/src/http-client/bank-wire.ts b/packages/taler-util/src/http-client/bank-wire.ts @@ -41,13 +41,10 @@ import { pathSegment, } from "./utils.js"; -import { - carefullyParseConfig, - codecForTalerErrorDetail, - LibtoolVersion, - opKnownTalerFailure, - TalerErrorCode, -} from "../index.js"; +import { LibtoolVersion } from "../libtool-version.js"; +import { carefullyParseConfig, opKnownTalerFailure } from "../operation.js"; +import { TalerErrorCode } from "../taler-error-codes.js"; +import { codecForTalerErrorDetail } from "../types-taler-wallet.js"; import { LongPollParams, PaginationParams } from "../types-taler-common.js"; import * as TalerWireGatewayApi from "../types-taler-wire-gateway.js"; diff --git a/packages/taler-util/src/http-impl.node.ts b/packages/taler-util/src/http-impl.node.ts @@ -30,7 +30,9 @@ import { RequestCancelledError, RequestTimeoutError, } from "./http-common.js"; -import { Logger, URL, typedArrayConcat } from "./index.js"; +import { Logger } from "./logging.js"; +import { typedArrayConcat } from "./taler-crypto.js"; +import { URL } from "./url.js"; const http = followRedirects.http; const https = followRedirects.https; diff --git a/packages/taler-util/src/types-taler-directory.ts b/packages/taler-util/src/types-taler-directory.ts @@ -23,7 +23,7 @@ import { codecForList, codecForNumber, } from "./codec.js"; -import { codecForString, codecForConstString } from "./index.js"; +import { codecForConstString, codecForString } from "./codec.js"; import { codecForDuration } from "./time.js"; import { AmountString, diff --git a/packages/taler-util/src/types-taler-mailbox.ts b/packages/taler-util/src/types-taler-mailbox.ts @@ -24,7 +24,7 @@ import { codecForNumber, codecOptional, } from "./codec.js"; -import { codecForString, codecForConstString } from "./index.js"; +import { codecForConstString, codecForString } from "./codec.js"; import { codecForDuration, codecForTimestamp } from "./time.js"; import { AmountString, diff --git a/packages/taler-util/src/types-taler-merchant.ts b/packages/taler-util/src/types-taler-merchant.ts @@ -29,28 +29,13 @@ import { codecForString, codecOptional, } from "./codec.js"; -import { - AccessToken, - AccountLimit, - CancellationToken, - DenomKeyType, - ExchangeWireAccount, - ObjectCodec, - PaytoString, - UnblindedDenominationSignature, - assertUnreachable, - buildCodecForUnion, - codecForAccountLimit, - codecForConstNumber, - codecForConstString, - codecForEither, - codecForExchangeWireAccount, - codecForMap, - codecForPaytoString, - codecForStringURL, - codecForTalerUriString, - codecOptionalDefault, -} from "./index.js"; +import { CancellationToken } from "./CancellationToken.js"; +import { ObjectCodec, buildCodecForUnion, codecForConstNumber, codecForConstString, codecForEither, codecForMap, codecForStringURL, codecOptionalDefault } from "./codec.js"; +import { assertUnreachable } from "./errors.js"; +import { PaytoString, codecForPaytoString } from "./payto.js"; +import { codecForTalerUriString } from "./taleruri.js"; +import { AccessToken } from "./types-taler-common.js"; +import { AccountLimit, DenomKeyType, ExchangeWireAccount, UnblindedDenominationSignature, codecForAccountLimit, codecForExchangeWireAccount } from "./types-taler-exchange.js"; import { AbsoluteTime, Duration, diff --git a/packages/taler-util/src/types-taler-wallet.ts b/packages/taler-util/src/types-taler-wallet.ts @@ -49,7 +49,7 @@ import { renderContext, } from "./codec.js"; import { canonicalizeBaseUrl } from "./helpers.js"; -import { TaldirAlreadyPaidResponse } from "./index.node.js"; +import { TaldirAlreadyPaidResponse } from "./types-taler-directory.js"; import { PaytoString, codecForPaytoString } from "./payto.js"; import { PerformanceTable } from "./performance.js"; import { QrCodeSpec } from "./qr.js"; diff --git a/packages/taler-util/src/types.test.ts b/packages/taler-util/src/types.test.ts @@ -16,11 +16,11 @@ import { test } from "node:test"; import assert from "node:assert"; +import { EddsaPublicKeyString } from "./types-taler-common.js"; import { - codecForMerchantContractTerms, - EddsaPublicKeyString, MerchantContractTerms, -} from "./index.js"; + codecForMerchantContractTerms, +} from "./types-taler-merchant.js"; test("contract terms validation", (t) => { const c = { diff --git a/packages/taler-wallet-core/src/denominations.ts b/packages/taler-wallet-core/src/denominations.ts @@ -38,7 +38,7 @@ import { WalletDenomination, } from "./db-common.js"; import { WalletDbTransaction } from "./dbtx.js"; -import { WalletExecutionContext } from "./index.js"; +import { WalletExecutionContext } from "./wallet.js"; /** * Logger for this file. diff --git a/packages/taler-wallet-core/src/deposits.ts b/packages/taler-wallet-core/src/deposits.ts @@ -120,11 +120,9 @@ import { getScopeForAllExchanges, markExchangeUsed, } from "./exchanges.js"; -import { - EddsaKeyPairStrings, - SignContractTermsHashResponse, - WithdrawalGroupStatus, -} from "./index.js"; +import { EddsaKeyPairStrings } from "./crypto/cryptoImplementation.js"; +import { SignContractTermsHashResponse } from "./crypto/cryptoTypes.js"; +import { WithdrawalGroupStatus } from "./db-common.js"; import { GenericKycStatusReq, checkDepositHardLimitExceeded, diff --git a/packages/taler-wallet-core/src/donau.ts b/packages/taler-wallet-core/src/donau.ts @@ -62,7 +62,7 @@ import { WalletDonationPlanchet, WalletDonationReceipt, } from "./db-common.js"; -import { WalletExecutionContext } from "./index.js"; +import { WalletExecutionContext } from "./wallet.js"; /** * Logger. diff --git a/packages/taler-wallet-core/src/host-impl.missing.ts b/packages/taler-wallet-core/src/host-impl.missing.ts @@ -24,7 +24,7 @@ */ import type { AccessStats, IDBFactory } from "@gnu-taler/idb-bridge"; import { DefaultNodeWalletArgs } from "./host-common.js"; -import { Wallet } from "./index.js"; +import { Wallet } from "./wallet.js"; /** * Get a wallet instance with default settings for node. diff --git a/packages/taler-wallet-core/src/host.ts b/packages/taler-wallet-core/src/host.ts @@ -16,7 +16,7 @@ import * as hostImpl from "#host-impl"; import { DefaultNodeWalletArgs } from "./host-common.js"; -import { Wallet } from "./index.js"; +import { Wallet } from "./wallet.js"; /** * Helpers to initiate a wallet in a host environment. diff --git a/packages/taler-wallet-core/src/kyc.ts b/packages/taler-wallet-core/src/kyc.ts @@ -33,7 +33,7 @@ import { timestampPreciseToDb, } from "./db-common.js"; import { ReadyExchangeSummary } from "./exchanges.js"; -import { WalletExecutionContext } from "./index.js"; +import { WalletExecutionContext } from "./wallet.js"; import { walletExchangeClient } from "./wallet.js"; /** diff --git a/packages/taler-wallet-core/src/observable-wrappers.ts b/packages/taler-wallet-core/src/observable-wrappers.ts @@ -30,7 +30,7 @@ import { performanceNow, } from "@gnu-taler/taler-util"; import { TaskIdStr } from "./common.js"; -import { TalerCryptoInterface } from "./index.js"; +import { TalerCryptoInterface } from "./crypto/cryptoImplementation.js"; import { DbAccess, DbReadWriteTransaction, diff --git a/packages/taler-wallet-core/src/tokenFamilies.ts b/packages/taler-wallet-core/src/tokenFamilies.ts @@ -32,7 +32,7 @@ import { TalerErrorCode, } from "@gnu-taler/taler-util"; import { WalletToken } from "./db-common.js"; -import { WalletExecutionContext } from "./index.js"; +import { WalletExecutionContext } from "./wallet.js"; import { expectProposalDownloadInTx } from "./pay-merchant.js"; import { isTokenInUse, isTokenValid } from "./tokenSelection.js"; diff --git a/packages/taler-wallet-core/src/tokenSelection.ts b/packages/taler-wallet-core/src/tokenSelection.ts @@ -32,7 +32,7 @@ import { } from "@gnu-taler/taler-util"; import { timestampProtocolFromDb, WalletToken } from "./db-common.js"; import { WalletDbTransaction } from "./dbtx.js"; -import { WalletExecutionContext } from "./index.js"; +import { WalletExecutionContext } from "./wallet.js"; const logger = new Logger("tokenSelection.ts"); diff --git a/packages/web-util/src/components/Button.tsx b/packages/web-util/src/components/Button.tsx @@ -22,7 +22,8 @@ import { useEffect, useState, } from "preact/compat"; -import { SafeHandler, useNotificationContext } from "../index.browser.js"; +import { useNotificationContext } from "../context/notification.js"; +import { SafeHandler } from "../hooks/useNotifications.js"; import { doAutoFocus } from "./utils.js"; type Props = Omit< diff --git a/packages/web-util/src/components/Footer.tsx b/packages/web-util/src/components/Footer.tsx @@ -1,4 +1,4 @@ -import { useTranslationContext } from "../index.browser.js"; +import { useTranslationContext } from "../context/translation.js"; import { h } from "preact"; export function Footer({ diff --git a/packages/web-util/src/components/Pagination.tsx b/packages/web-util/src/components/Pagination.tsx @@ -1,5 +1,5 @@ import { h } from "preact"; -import { useTranslationContext } from "../index.browser.js"; +import { useTranslationContext } from "../context/translation.js"; /** * Common pagination footer for tables. diff --git a/packages/web-util/src/components/Time.tsx b/packages/web-util/src/components/Time.tsx @@ -22,7 +22,7 @@ import { intervalToDuration, } from "date-fns"; import { Fragment, h, VNode } from "preact"; -import { useTranslationContext } from "../index.browser.js"; +import { useTranslationContext } from "../context/translation.js"; /** * diff --git a/packages/web-util/src/context/bank-api.ts b/packages/web-util/src/context/bank-api.ts @@ -34,7 +34,8 @@ import { h, } from "preact"; import { useContext, useEffect, useMemo, useState } from "preact/hooks"; -import { BrowserFetchHttpLib, ErrorLoading } from "../index.browser.js"; +import { ErrorLoading } from "../components/ErrorLoading.js"; +import { BrowserFetchHttpLib } from "../utils/http-impl.sw.js"; import { APIClient, ActiviyTracker, BankLib, Subscriber } from "./activity.js"; import { useTranslationContext } from "./translation.js"; diff --git a/packages/web-util/src/context/challenger-api.ts b/packages/web-util/src/context/challenger-api.ts @@ -32,7 +32,8 @@ import { h, } from "preact"; import { useContext, useEffect, useMemo, useState } from "preact/hooks"; -import { BrowserFetchHttpLib, ErrorLoading } from "../index.browser.js"; +import { ErrorLoading } from "../components/ErrorLoading.js"; +import { BrowserFetchHttpLib } from "../utils/http-impl.sw.js"; import { APIClient, ActiviyTracker, diff --git a/packages/web-util/src/context/exchange-api.ts b/packages/web-util/src/context/exchange-api.ts @@ -33,11 +33,9 @@ import { h, } from "preact"; import { useContext, useEffect, useMemo, useState } from "preact/hooks"; -import { - BrowserFetchHttpLib, - ErrorLoading, - useTranslationContext, -} from "../index.browser.js"; +import { ErrorLoading } from "../components/ErrorLoading.js"; +import { BrowserFetchHttpLib } from "../utils/http-impl.sw.js"; +import { useTranslationContext } from "./translation.js"; import { APIClient, ActiviyTracker, diff --git a/packages/web-util/src/context/merchant-api.ts b/packages/web-util/src/context/merchant-api.ts @@ -35,10 +35,8 @@ import { } from "preact"; import { useContext, useEffect, useMemo, useState } from "preact/hooks"; import { ErrorLoading } from "../components/ErrorLoadingMerchant.js"; -import { - BrowserFetchHttpLib, - useTranslationContext, -} from "../index.browser.js"; +import { BrowserFetchHttpLib } from "../utils/http-impl.sw.js"; +import { useTranslationContext } from "./translation.js"; import { APIClient, ActiviyTracker, diff --git a/packages/web-util/src/context/notification.ts b/packages/web-util/src/context/notification.ts @@ -19,8 +19,8 @@ import { useContext } from "preact/hooks"; import { newSafeHandlerBuilder, useNotificationHandler, - useTranslationContext, -} from "../index.browser.js"; +} from "../hooks/useNotifications.js"; +import { useTranslationContext } from "./translation.js"; type Notif = ReturnType<typeof useNotificationHandler>; interface Type extends Notif { diff --git a/packages/web-util/src/forms/Calendar.tsx b/packages/web-util/src/forms/Calendar.tsx @@ -19,7 +19,7 @@ import { } from "date-fns"; import { VNode, h } from "preact"; import { useEffect, useRef, useState } from "preact/hooks"; -import { useTranslationContext } from "../index.browser.js"; +import { useTranslationContext } from "../context/translation.js"; import { composeRef, saveRef } from "../components/utils.js"; const THIS_MONTH = getMonth(new Date()); diff --git a/packages/web-util/src/forms/TimePicker.tsx b/packages/web-util/src/forms/TimePicker.tsx @@ -17,7 +17,7 @@ import { AbsoluteTime } from "@gnu-taler/taler-util"; import { getHours, getMinutes, getSeconds, setHours } from "date-fns"; import { Fragment, VNode, h } from "preact"; -import { useTranslationContext } from "../index.browser.js"; +import { useTranslationContext } from "../context/translation.js"; export function TimePicker({ value, diff --git a/packages/web-util/src/forms/fields/InputArray.tsx b/packages/web-util/src/forms/fields/InputArray.tsx @@ -6,10 +6,8 @@ import { RecursivePartial, useForm, } from "../../hooks/useForm.js"; -import { - SingleColumnFormSectionUI, - useTranslationContext, -} from "../../index.browser.js"; +import { useTranslationContext } from "../../context/translation.js"; +import { SingleColumnFormSectionUI } from "../forms-ui.js"; import { UIFormProps } from "../FormProvider.js"; import { UIFormElementConfig } from "../forms-types.js"; import { LabelWithTooltipMaybeRequired } from "./InputLine.js"; diff --git a/packages/web-util/src/forms/fields/InputDownloadLink.tsx b/packages/web-util/src/forms/fields/InputDownloadLink.tsx @@ -1,6 +1,6 @@ import { TranslatedString } from "@gnu-taler/taler-util"; import { VNode, h } from "preact"; -import { noHandlerPropsAndNoContextForField } from "../../index.browser.js"; +import { noHandlerPropsAndNoContextForField } from "./InputArray.js"; import { Addon, UIFormProps } from "../FormProvider.js"; import { RenderAddon } from "./InputLine.js"; diff --git a/packages/web-util/src/forms/fields/InputDuration.tsx b/packages/web-util/src/forms/fields/InputDuration.tsx @@ -1,7 +1,7 @@ import { Duration } from "@gnu-taler/taler-util"; import { Fragment, VNode, h } from "preact"; import { useEffect, useRef } from "preact/hooks"; -import { useTranslationContext } from "../../index.browser.js"; +import { useTranslationContext } from "../../context/translation.js"; import { UIFormProps } from "../FormProvider.js"; import { noHandlerPropsAndNoContextForField } from "./InputArray.js"; import { InputWrapper } from "./InputLine.js"; diff --git a/packages/web-util/src/forms/fields/InputFile.tsx b/packages/web-util/src/forms/fields/InputFile.tsx @@ -16,7 +16,7 @@ import { Fragment, VNode, h } from "preact"; import { useState } from "preact/hooks"; -import { useTranslationContext } from "../../index.browser.js"; +import { useTranslationContext } from "../../context/translation.js"; import { UIFormProps } from "../FormProvider.js"; import { FileFieldData } from "../forms-types.js"; import { noHandlerPropsAndNoContextForField } from "./InputArray.js"; diff --git a/packages/web-util/src/forms/fields/InputSelectMultiple.tsx b/packages/web-util/src/forms/fields/InputSelectMultiple.tsx @@ -1,6 +1,6 @@ import { Fragment, VNode, h } from "preact"; import { useRef, useState } from "preact/hooks"; -import { useTranslationContext } from "../../index.browser.js"; +import { useTranslationContext } from "../../context/translation.js"; import { UIFormProps } from "../FormProvider.js"; import { noHandlerPropsAndNoContextForField } from "./InputArray.js"; import { ChoiceS } from "./InputChoiceStacked.js"; diff --git a/packages/web-util/src/forms/forms-utils.ts b/packages/web-util/src/forms/forms-utils.ts @@ -7,10 +7,8 @@ import { } from "@gnu-taler/taler-util"; import { format, parse } from "date-fns"; import { FormModel } from "../hooks/useForm.js"; -import { - InternationalizationAPI, - UIFieldElementDescription, -} from "../index.browser.js"; +import { InternationalizationAPI } from "../context/translation.js"; +import { UIFieldElementDescription } from "./forms-types.js"; import { UIFormField } from "./field-types.js"; import { Addon, StringConverter, UIFieldHandler } from "./FormProvider.js"; import { UIFormElementConfig, UIFormFieldBaseConfig } from "./forms-types.js"; diff --git a/packages/web-util/src/forms/gana/VQF_902_11_customer.ts b/packages/web-util/src/forms/gana/VQF_902_11_customer.ts @@ -1,10 +1,7 @@ import { TalerFormAttributes } from "@gnu-taler/taler-util"; import { format } from "date-fns"; -import { - DoubleColumnFormDesign, - FormMetadata, - InternationalizationAPI, -} from "../../index.browser.js"; +import { InternationalizationAPI } from "../../context/translation.js"; +import { DoubleColumnFormDesign, FormMetadata } from "../forms-types.js"; export const form_vqf_902_11_customer = ( i18n: InternationalizationAPI, diff --git a/packages/web-util/src/forms/gana/VQF_902_11_officer.ts b/packages/web-util/src/forms/gana/VQF_902_11_officer.ts @@ -1,9 +1,6 @@ import { TalerFormAttributes } from "@gnu-taler/taler-util"; -import { - DoubleColumnFormDesign, - FormMetadata, - InternationalizationAPI, -} from "../../index.browser.js"; +import { InternationalizationAPI } from "../../context/translation.js"; +import { DoubleColumnFormDesign, FormMetadata } from "../forms-types.js"; import { format } from "date-fns"; export const form_vqf_902_11_officer = ( diff --git a/packages/web-util/src/forms/gana/VQF_902_14.ts b/packages/web-util/src/forms/gana/VQF_902_14.ts @@ -1,10 +1,7 @@ import { TalerFormAttributes } from "@gnu-taler/taler-util"; -import { - Descr, - DoubleColumnFormDesign, - FormMetadata, - InternationalizationAPI, -} from "../../index.browser.js"; +import { InternationalizationAPI } from "../../context/translation.js"; +import { DoubleColumnFormDesign, FormMetadata } from "../forms-types.js"; +import { Descr } from "./VQF_902_1_customer.js"; export const form_vqf_902_14 = ( i18n: InternationalizationAPI, diff --git a/packages/web-util/src/forms/gana/VQF_902_1_customer.ts b/packages/web-util/src/forms/gana/VQF_902_1_customer.ts @@ -16,11 +16,8 @@ import { TalerFormAttributes } from "@gnu-taler/taler-util"; import { format, intervalToDuration, isFuture, isValid, parse } from "date-fns"; -import { - DoubleColumnFormDesign, - InternationalizationAPI, - UIFormElementConfig, -} from "../../index.browser.js"; +import { InternationalizationAPI } from "../../context/translation.js"; +import { DoubleColumnFormDesign, UIFormElementConfig } from "../forms-types.js"; import { countryNationalityList } from "../../utils/select-ui-lists.js"; export const Descr = { diff --git a/packages/web-util/src/forms/gana/VQF_902_1_officer.ts b/packages/web-util/src/forms/gana/VQF_902_1_officer.ts @@ -23,11 +23,8 @@ import { isValid, parse, } from "date-fns"; -import { - DoubleColumnFormDesign, - FormMetadata, - InternationalizationAPI, -} from "../../index.browser.js"; +import { InternationalizationAPI } from "../../context/translation.js"; +import { DoubleColumnFormDesign, FormMetadata } from "../forms-types.js"; export const form_vqf_902_1_officer = ( i18n: InternationalizationAPI, diff --git a/packages/web-util/src/forms/gana/VQF_902_4.ts b/packages/web-util/src/forms/gana/VQF_902_4.ts @@ -1,10 +1,7 @@ import { TalerFormAttributes } from "@gnu-taler/taler-util"; -import { - Descr, - DoubleColumnFormDesign, - FormMetadata, - InternationalizationAPI, -} from "../../index.browser.js"; +import { InternationalizationAPI } from "../../context/translation.js"; +import { DoubleColumnFormDesign, FormMetadata } from "../forms-types.js"; +import { Descr } from "./VQF_902_1_customer.js"; import { intervalToDuration, parse, isFuture, isValid } from "date-fns"; export const form_vqf_902_4 = ( diff --git a/packages/web-util/src/forms/gana/VQF_902_5.ts b/packages/web-util/src/forms/gana/VQF_902_5.ts @@ -1,9 +1,6 @@ -import { - Descr, - DoubleColumnFormDesign, - FormMetadata, - InternationalizationAPI, -} from "../../index.browser.js"; +import { InternationalizationAPI } from "../../context/translation.js"; +import { DoubleColumnFormDesign, FormMetadata } from "../forms-types.js"; +import { Descr } from "./VQF_902_1_customer.js"; import { TalerFormAttributes } from "@gnu-taler/taler-util"; export const form_vqf_902_5 = ( diff --git a/packages/web-util/src/forms/gana/VQF_902_9_customer.ts b/packages/web-util/src/forms/gana/VQF_902_9_customer.ts @@ -1,9 +1,6 @@ import { TalerFormAttributes } from "@gnu-taler/taler-util"; -import { - DoubleColumnFormDesign, - FormMetadata, - InternationalizationAPI, -} from "../../index.browser.js"; +import { InternationalizationAPI } from "../../context/translation.js"; +import { DoubleColumnFormDesign, FormMetadata } from "../forms-types.js"; import { countryNationalityList } from "../../utils/select-ui-lists.js"; import { format, intervalToDuration, isFuture, isValid, parse } from "date-fns"; diff --git a/packages/web-util/src/forms/gana/VQF_902_9_officer.ts b/packages/web-util/src/forms/gana/VQF_902_9_officer.ts @@ -1,9 +1,6 @@ import { TalerFormAttributes } from "@gnu-taler/taler-util"; -import { - DoubleColumnFormDesign, - FormMetadata, - InternationalizationAPI, -} from "../../index.browser.js"; +import { InternationalizationAPI } from "../../context/translation.js"; +import { DoubleColumnFormDesign, FormMetadata } from "../forms-types.js"; import { countryNationalityList } from "../../utils/select-ui-lists.js"; import { intervalToDuration, isFuture, isValid, parse } from "date-fns"; diff --git a/packages/web-util/src/forms/gana/challenger_email.ts b/packages/web-util/src/forms/gana/challenger_email.ts @@ -16,12 +16,12 @@ import { TalerFormAttributes } from "@gnu-taler/taler-util"; import { format } from "date-fns"; +import { InternationalizationAPI } from "../../context/translation.js"; import { DoubleColumnFormDesign, FormMetadata, - InternationalizationAPI, SingleColumnFormDesign, -} from "../../index.browser.js"; +} from "../forms-types.js"; export const form_challenger_email = ( i18n: InternationalizationAPI, diff --git a/packages/web-util/src/forms/gana/challenger_postal.ts b/packages/web-util/src/forms/gana/challenger_postal.ts @@ -16,13 +16,13 @@ import { TalerFormAttributes } from "@gnu-taler/taler-util"; import { format } from "date-fns"; +import { InternationalizationAPI } from "../../context/translation.js"; +import { countryNameList } from "../../utils/select-ui-lists.js"; import { - countryNameList, DoubleColumnFormDesign, FormMetadata, - InternationalizationAPI, SingleColumnFormDesign, -} from "../../index.browser.js"; +} from "../forms-types.js"; export const form_challenger_postal = ( i18n: InternationalizationAPI, diff --git a/packages/web-util/src/forms/gana/challenger_sms.ts b/packages/web-util/src/forms/gana/challenger_sms.ts @@ -16,12 +16,12 @@ import { TalerFormAttributes } from "@gnu-taler/taler-util"; import { format } from "date-fns"; +import { InternationalizationAPI } from "../../context/translation.js"; import { DoubleColumnFormDesign, FormMetadata, - InternationalizationAPI, SingleColumnFormDesign, -} from "../../index.browser.js"; +} from "../forms-types.js"; export const form_challenger_sms = ( i18n: InternationalizationAPI, diff --git a/packages/web-util/src/forms/gana/generic_note.ts b/packages/web-util/src/forms/gana/generic_note.ts @@ -16,11 +16,8 @@ import { TalerFormAttributes } from "@gnu-taler/taler-util"; import { format } from "date-fns"; -import { - DoubleColumnFormDesign, - FormMetadata, - InternationalizationAPI, -} from "../../index.browser.js"; +import { InternationalizationAPI } from "../../context/translation.js"; +import { DoubleColumnFormDesign, FormMetadata } from "../forms-types.js"; export const form_generic_note = ( i18n: InternationalizationAPI, diff --git a/packages/web-util/src/forms/gana/generic_upload.ts b/packages/web-util/src/forms/gana/generic_upload.ts @@ -15,10 +15,8 @@ */ import { format } from "date-fns"; -import { - DoubleColumnFormDesign, - InternationalizationAPI, -} from "../../index.browser.js"; +import { InternationalizationAPI } from "../../context/translation.js"; +import { DoubleColumnFormDesign } from "../forms-types.js"; import { TalerFormAttributes } from "@gnu-taler/taler-util"; /** diff --git a/packages/web-util/src/forms/gana/gls_merchant_onboarding.ts b/packages/web-util/src/forms/gana/gls_merchant_onboarding.ts @@ -1,10 +1,7 @@ import { TalerFormAttributes, TranslatedString } from "@gnu-taler/taler-util"; import { intervalToDuration, isFuture, isValid, parse } from "date-fns"; -import { - DoubleColumnFormDesign, - FormMetadata, - InternationalizationAPI, -} from "../../index.browser.js"; +import { InternationalizationAPI } from "../../context/translation.js"; +import { DoubleColumnFormDesign, FormMetadata } from "../forms-types.js"; import { countryNameList, countryNationalityList, diff --git a/packages/web-util/src/forms/gana/gls_wallet_confirmation.ts b/packages/web-util/src/forms/gana/gls_wallet_confirmation.ts @@ -1,9 +1,6 @@ import { TalerFormAttributes } from "@gnu-taler/taler-util"; -import { - DoubleColumnFormDesign, - FormMetadata, - InternationalizationAPI, -} from "../../index.browser.js"; +import { InternationalizationAPI } from "../../context/translation.js"; +import { DoubleColumnFormDesign, FormMetadata } from "../forms-types.js"; export const form_gls_wallet_confirmation = ( i18n: InternationalizationAPI, diff --git a/packages/web-util/src/forms/gana/multi_upload.ts b/packages/web-util/src/forms/gana/multi_upload.ts @@ -14,11 +14,8 @@ GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> */ -import { - DoubleColumnFormDesign, - FormMetadata, - InternationalizationAPI, -} from "../../index.browser.js"; +import { InternationalizationAPI } from "../../context/translation.js"; +import { DoubleColumnFormDesign, FormMetadata } from "../forms-types.js"; export interface MultiUploadContext { REQUESTED_FILES: { diff --git a/packages/web-util/src/hooks/errors.ts b/packages/web-util/src/hooks/errors.ts @@ -1,6 +1,6 @@ import { useErrorBoundary } from "preact/hooks"; import { useTranslationContext } from "../context/translation.js"; -import { useNotificationContext } from "../index.browser.js"; +import { useNotificationContext } from "../context/notification.js"; export function useRenderErrorReport(appInfo: { version: string; diff --git a/packages/web-util/src/hooks/useForm.ts b/packages/web-util/src/hooks/useForm.ts @@ -23,13 +23,15 @@ import { } from "@gnu-taler/taler-util"; import { useMemo, useState } from "preact/hooks"; import { + InternationalizationAPI, + useTranslationContext, +} from "../context/translation.js"; +import { UIFieldHandler } from "../forms/FormProvider.js"; +import { FormDesign, FormMetadata, - InternationalizationAPI, - UIFieldHandler, UIFormElementConfig, - useTranslationContext, -} from "../index.browser.js"; +} from "../forms/forms-types.js"; /** * Underlying state model for the form UI. diff --git a/packages/web-util/src/hooks/useNotifications.stories.tsx b/packages/web-util/src/hooks/useNotifications.stories.tsx @@ -28,7 +28,9 @@ import { } from "@gnu-taler/taler-util"; import { Fragment, h, VNode } from "preact"; import { useEffect, useState } from "preact/hooks"; -import { Attention, Button, delayMs } from "../index.browser.js"; +import { Attention } from "../components/Attention.js"; +import { Button } from "../components/Button.js"; +import { delayMs } from "./useAsync.js"; import * as tests from "../tests/hook.js"; import { newSafeHandlerBuilder, diff --git a/packages/web-util/src/hooks/useNotifications.ts b/packages/web-util/src/hooks/useNotifications.ts @@ -14,7 +14,7 @@ import { useState } from "preact/hooks"; import { InternationalizationAPI, useTranslationContext, -} from "../index.browser.js"; +} from "../context/translation.js"; export type NotificationMessage = ErrorNotification | InfoNotification; diff --git a/packages/web-util/src/tests/swr.ts b/packages/web-util/src/tests/swr.ts @@ -19,7 +19,7 @@ import { MockEnvironment } from "./mock.js"; import { SWRConfig } from "swr"; import * as swr__internal from "swr/_internal"; import { Logger } from "@gnu-taler/taler-util"; -import { buildRequestFailed, RequestError } from "../index.browser.js"; +import { RequestError, buildRequestFailed } from "../utils/request.js"; const logger = new Logger("tests/swr.ts"); diff --git a/packages/web-util/src/utils/select-ui-lists.ts b/packages/web-util/src/utils/select-ui-lists.ts @@ -20,7 +20,8 @@ import { currencyNamesByCode, langNamesByCode, } from "@gnu-taler/taler-util"; -import { InternationalizationAPI, SelectUiChoice } from "../index.browser.js"; +import { InternationalizationAPI } from "../context/translation.js"; +import { SelectUiChoice } from "../forms/forms-types.js"; export function currencyNameList( i18n: InternationalizationAPI,