Component and hook reference
Props, hooks, types, status enums, callbacks, and CSS customization for @taxbit/react-sdk. For setup, see the Questionnaire integration guide.
<TaxbitQuestionnaire/> props
<TaxbitQuestionnaire/> propsThe primary component for collecting tax documentation. Import it from @taxbit/react-sdk and render it in your React application.
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
bearerToken | string | Yes* | — | Account Owner–scoped token for API communication. Not required when demoMode is true. |
questionnaire | 'W-FORM' | 'DPS' | 'SELF-CERT' | Yes | — | Which questionnaire to render. See Pick your questionnaire for guidance on choosing. |
data | ClientTaxDocumentation | No | — | Pre-collected data to populate form fields. Overrides server-fetched data if both exist. |
adaptiveMode | 'full' | 'skipLock' | 'skipEdit' | No | 'full' | How prefilled answers are used. full (default): nothing hidden; answers filled in. skipLock: questions with valid answers are hidden and locked on the summary. skipEdit: questions with valid answers are hidden, and everything stays editable on the summary. See Adaptive mode. |
prepopulateWithSavedData | boolean | No | true | When true (default), the SDK fetches the account owner's prior submission on mount, prefills the form, and routes returning users to the summary. Set to false to skip that fetch — no saved PII is requested on mount and the form starts on step one. Does not affect host-supplied data, status reads, or submission. See Skip server-side prefill. |
language | string | No | 'en-us' (W-FORM), 'en-gb' (DPS, SELF-CERT) | Pre-selects the form language. See supported languages. |
treatyClaims | boolean | No | false | W-FORM only (W-8 flows). Set to true if your clients are foreign persons claiming reduced US withholding rates under an income tax treaty. Enables treaty claim questions in W-8BEN and W-8BEN-E flows. Omit to skip treaty claims entirely. |
fatca | boolean | No (see notes) | false | Available in 5.0.0 and later. W-FORM only. Enables FATCA (Chapter 4) collection: classification, certifications, GIIN capture, and substantial US owner collection where applicable. Forced to true when typesOfIncome includes INTEREST or DIVIDENDS — setting fatca={false} in that case throws at initialization. See Enable FATCA collection. |
typesOfIncome | TypeOfIncome | string | (TypeOfIncome | string)[] | Yes if treatyClaims | — | Available in 5.0.0 and later. W-FORM only. Income types the filer's account can generate. Drives treaty-eligibility filtering. Accepts hyphenated ('royalties-other') or underscored ('ROYALTIES_OTHER') forms. Unrecognized values throw at initialization. Some values (INTEREST, DIVIDENDS) also force fatca={true}. See Accepted values for the full list. |
realTimeTinValidation | boolean | No | false | W-FORM only (W-9). Validates the account owner's name and TIN against the IRS in real time. The account owner can still proceed if no match. Requires RTT configuration. In demo mode, TINs containing 0 return valid, 6 return invalid, otherwise pending. |
eDeliveryConsent | boolean | No | false | Available in 6.3.0 and later. W-FORM only (W-9 and every W-8). Adds a checkbox to the Review and Sign section of the summary asking the account owner to consent to receiving their tax forms electronically. The label holds the full consent statement. The box starts checked, is never required, and is never pre-filled from a prior submission. The answer is submitted as hasEDeliveryConsent (true checked, false cleared, absent when this prop is off), and config.eDeliveryConsent records whether consent was collected. |
demoMode | boolean | No | false | Renders the form without server communication. No bearer token required. Only onProgress and onSubmit apply in demo mode. See Set up locally. |
region | 'US' | 'EU' | No | 'US' | Routes SDK API requests to the selected Taxbit region. |
proxyDomain | string | No | — | Routes every request through your own proxy instead of directly to Taxbit. Can't be combined with region. |
proxyHeaders | Record<string, string> | No | — | Extra headers on proxied requests. Your proxy must strip them. authorization and content-type are reserved and overwritten. |
telemetry | boolean | No | true | Available in 6.2.0 and later. Sends usage events (steps shown, button presses, validation errors shown, real-time check outcomes; never what the user typed) to telemetry/events with the same token and host as other requests. Failed events never interrupt the form. false sends nothing; demo mode sends nothing. See Usage telemetry. |
dateFormat | 'mdy' | 'dmy' | 'ymd' | No | 'mdy' | Order of date-of-birth select inputs when displayed. |
loadingComponent | ReactNode | No | Text: "Retrieving interview status..." | Shown while the SDK fetches status and the first language, and when rendered on the server. |
poweredByTaxbit | boolean | No | false | When true, shows "Powered by Taxbit" at the bottom of the form. |
onProgress | (progress: Progress) => void | No | — | Called when the user navigates (Next, Back, Cancel, Submit). Receives a Progress object. Fires once per event, so an inline function is fine. |
onSubmit | (data: ClientTaxDocumentation) => void | No | — | Called after the form passes client-side validation, before the API request completes. Fires whether or not the save succeeds; use onSuccess to act on a saved submission. From 6.3.0, accountHolder.phoneNumber is in E.164 form (+447872615090), and hasEDeliveryConsent is included when eDeliveryConsent is on. |
onSuccess | (data: ClientTaxDocumentation) => void | No | — | Called after the API confirms successful submission. |
onError | (error: Error) => void | No | Logs to console | Called when the API returns an error. If omitted, the error is logged to the console and shown in the SDK's error alert — not rethrown. From 6.3.0, a failed submission keeps the form and answers on screen and shows "Your Tax Documentation could not be saved. Please try again." above Submit, so the user can retry; onError still receives the error. Not called for telemetry failures. Fires once per event, so an inline function is fine. |
onSettled | (data: ClientTaxDocumentation) => void | No | — | Called after either onSuccess or onError. |
Resubmission behavior
On mount the component fetches any prior submission for the questionnaire type and adapts:
| Previous status | Behavior |
|---|---|
COMPLETE | Shows the summary screen immediately for review/edit. |
INCOMPLETE, prior submission exists | Walks each screen with prior data pre-filled (e.g. earlier validation failure or changed requirements). |
INCOMPLETE, no prior submission | Walks each screen from the start; nothing to pre-fill. |
data prop + server data | The data prop wins. |
Partial progress is not saved. The SDK persists only on submit — closing or navigating away mid-flow discards entries and leaves dataCollectionStatus unchanged. The server sets INCOMPLETE when a submission fails validation or previously valid data no longer meets requirements, not on an abandoned session. Use statusData.needsResubmission as the canonical signal to route a user back through.
<TaxbitCuringDocumentation/> props
<TaxbitCuringDocumentation/> propsA focused component that clears specific W-8 validation issues in place. Import it from @taxbit/react-sdk. For the full embedding walkthrough, see the Curing integration guide.
import '@taxbit/react-sdk/style/inline.css';
import { TaxbitCuringDocumentation } from '@taxbit/react-sdk';The component accepts one of three prop shapes. Exactly one applies per call site.
Common to all shapes
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
language | Locale | No | en-us | Pre-selects the form language. |
poweredByTaxbit | boolean | No | false | Renders the "Powered by Taxbit" footer. |
Demo mode
Renders against a synthesized issue list. No network calls, no token.
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
demoIssueTypes | CurableIssueType[] | Yes | — | Open issues to render. Status is assumed OPEN. Doc type is fixed to W-8BEN-E. |
onSubmit | (submission: ClientCuringSubmission) => void | No | — | Fires when the user submits. Receives the canonical submission shape. |
Production — region (default)
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
bearerToken | string | Yes | — | Account Owner–scoped token. Same token used by <TaxbitQuestionnaire />. |
region | 'US' | 'EU' | No | 'US' | Regional server for API requests. |
loadingComponent | ReactNode | No | null | Shown during the initial status fetch and the first language download. |
onSuccess | (submission: ClientCuringSubmission) => void | No | — | Fires after the server accepts the multipart POST. Not when the cure is reviewed. |
onError | (error: Error) => void | No | Logs to console | Fires on status-fetch or submission error. |
onSettled | (submission: ClientCuringSubmission) => void | No | — | Fires after onSuccess or onError, with the same payload. |
Production — through a proxy
Same as region, with region replaced by:
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
proxyDomain | string | Yes | — | Route API requests through your own proxy instead of Taxbit directly. |
proxyHeaders | Record<string, string> | No | — | Custom headers on proxied requests; authorization and content-type are reserved. |
Mount-time behavior
On mount, the component fetches statusData for the user and derives the curable issue list. The widget renders null and emits a dev-mode warning if no OPEN curable issue exists. Gate the mount on useTaxbit().needsCuringDocumentation to avoid the round-trip.
useTaxbit hook
useTaxbit hookRead a user's tax documentation status and data without rendering the form, and generate the completed document PDF. Use it to drive your own UI — for example, to decide whether to route someone into <TaxbitQuestionnaire/> or to show a "documentation complete" state.
Unlike the component, the hook has no demoMode: a valid bearerToken is always required.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
bearerToken | string | Yes | Account Owner–scoped token. |
questionnaire | 'W-FORM' | 'DPS' | 'SELF-CERT' | Yes | Which questionnaire's data to access. |
onError | (error: Error) => void | No | Error handler. If omitted, errors log to the console. |
prepopulateWithSavedData | boolean | No | false skips fetching the prior submission; serverData stays empty. Default true. |
region | 'US' | 'EU' | No | Regional server for API requests. Default 'US'. |
proxyDomain | string | No | Route requests through your own proxy. |
proxyHeaders | Record<string, string> | No | Custom headers on proxied requests. |
Returns
| Return | Type | Description |
|---|---|---|
statusData | ClientTaxDocumentationStatus | undefined | Status for this Account Owner (GET /tax-documentation-status). |
serverData | ClientTaxDocumentation | undefined | Last submitted data (GET /tax-documentation/submissions). Empty object when prepopulateWithSavedData={false}. |
error | Error | undefined | Set on a fetch or bearer-token error; logged unless you pass onError. |
canGetDocumentUrl | boolean | true once a W-Form or Self-Cert submission is COMPLETE (false while in progress). Always false for DPS (no PDF). |
generateDocumentUrl | () => void | Triggers PDF URL generation. |
isGeneratingDocumentUrl | boolean | true between the call and the URL being ready. |
documentUrl | string | undefined | Temporary PDF URL; the hook re-polls about every 4 minutes to keep it fresh. |
needsCuringDocumentation | boolean | true when the user has at least one OPEN W-Form issue the curing flow can resolve. Gate the <TaxbitCuringDocumentation /> mount on this. |
isLoading | boolean | true while the status fetch is in flight. Check before reading needsCuringDocumentation to avoid a flash of "no curing needed." |
refresh | () => Promise<void> | Re-fetches status + submission. Resolves when both settle. Useful after a curing submit so derived state reflects the latest server view. |
refreshStatus | () => Promise<void> | Re-fetches status only. Drives needsCuringDocumentation. |
refreshSubmission | () => Promise<void> | Re-fetches submission only. Drives serverData. |
useTaxbitStatus hook
useTaxbitStatus hookA status-only version of useTaxbit. It never fetches the prior submission, so no previously submitted personal data reaches the browser. Use it when you only need to know whether the user must act, for example to decide whether to show <TaxbitCuringDocumentation />.
import { useTaxbitStatus } from '@taxbit/react-sdk';
const { needsCuringDocumentation, isLoading } = useTaxbitStatus({ bearerToken });Parameters: bearerToken, onError, and region or proxyDomain + proxyHeaders, as for useTaxbit. It takes no questionnaire; the status covers every questionnaire.
Returns
| Return | Type | Description |
|---|---|---|
statusData | ClientTaxDocumentationStatus | undefined | Status for this Account Owner. |
isLoading | boolean | true while the status fetch is in flight. |
error | Error | undefined | Set on a fetch or bearer-token error. |
needsCuringDocumentation | boolean | true when there's at least one OPEN curable W-8 issue. |
refreshStatus | () => Promise<void> | Re-fetches the status. Resolves when the fetch settles. |
Types
The TypeScript shapes referenced in the props and hook tables above. The SDK exports these, so you can import them for your own typing.
Progress
The object passed to your onProgress callback on every navigation event (Next, Back, Cancel, Submit). Use it to track where the user is in the flow.
type Progress = {
language: Locale;
percentComplete: number;
stepId: StepId;
stepIndex: number; // 0-based
stepNumber: number; // 1-based
stepTitle: string; // localized
steps: StepId[];
totalSteps: number;
};Common StepId values — the active sequence depends on the questionnaire and flow (Progress.steps lists what's actually shown).
| StepId | Appears in | Notes |
|---|---|---|
accountHolderClassification | All | |
accountHolderContactInformation | All | |
accountHolderTaxInformation | All | |
accountHolderTaxResidenciesConfirmation | SELF-CERT | Tax residences in high-risk jurisdictions. |
accountHolderCertifications | W-FORM | |
accountHolderTreatyClaims | W-FORM | W-8 treaty flows. |
accountHolderUsTinValidation | W-FORM | When real-time TIN validation runs. |
accountHolderAdditionalInfo | W-FORM | |
exemptions | W-FORM | |
regardedOwnerCertifications | W-FORM | Disregarded-entity (DRE) flows only. |
regardedOwnerContactInformation | W-FORM | DRE flows only. |
regardedOwnerTaxInformation | W-FORM | DRE flows only. |
regardedOwnerTreatyClaims | W-FORM | DRE flows only. |
regardedOwnerUsTinValidation | W-FORM | DRE flows only. |
confirmation | W-FORM | |
summary | All |
ClientTaxDocumentationStatus
Returned by useTaxbit().statusData. Each questionnaire key is undefined until data is submitted for that type.
type ClientTaxDocumentationStatus = {
dpsQuestionnaire?: {
dataCollectionStatus: 'COMPLETE' | 'INCOMPLETE';
expirationDate?: string; // 3 years after last submission
needsResubmission?: boolean;
vatStatus?: VatStatus;
vatValidationDate?: string;
};
wFormQuestionnaire?: {
dataCollectionStatus: 'COMPLETE' | 'INCOMPLETE';
type: 'W-9' | 'W-8BEN' | 'W-8BEN-E' | 'W-8IMY';
expirationDate?: string;
issues?: QuestionnaireIssue[];
needsResubmission?: boolean;
tinStatus?: TinStatus;
tinValidationDate?: string;
treatyClaimStatus?: 'VALID' | 'INVALID';
};
selfCertification?: {
dataCollectionStatus: 'COMPLETE' | 'INCOMPLETE';
issues?: QuestionnaireIssue[];
needsResubmission?: boolean;
};
};Curing types
Types used by <TaxbitCuringDocumentation/> and the curing read flow. See Reading curing statuses for how these surface in practice.
CurableIssueType
type CurableIssueType =
| 'US_INDICIA'
| 'TREATY_COUNTRY_MISMATCH'
| 'CARE_OF_PERMANENT_ADDRESS'
| 'PO_BOX_PERMANENT_ADDRESS';Which doc types each applies to:
| Issue type | W-8BEN | W-8BEN-E | W-8IMY |
|---|---|---|---|
US_INDICIA | ✓ | ✓ | ✓ |
TREATY_COUNTRY_MISMATCH | ✓ | ✓ | — |
CARE_OF_PERMANENT_ADDRESS | — | ✓ | ✓ |
PO_BOX_PERMANENT_ADDRESS | — | ✓ | ✓ |
ReasonableExplanationType
type ReasonableExplanationType =
| 'STUDENT'
| 'TEACHER_OR_TRAINEE'
| 'DIPLOMAT'
| 'SPOUSE_OR_CHILD'
| 'DO_NOT_MEET_SUBSTANTIAL_PRESENCE_TEST'
| 'CLOSER_CONNECTION_EXCEPTION';Only relevant when the user has an open US_INDICIA issue. The first four require no additional fields. DO_NOT_MEET_SUBSTANTIAL_PRESENCE_TEST adds the SPT day-count fields. CLOSER_CONNECTION_EXCEPTION adds the closer-connection fields.
ClientCuringSubmission
type ClientCuringSubmission = {
fileName?: string;
fileMimeType?: string;
reasonableExplanationData?: {
explanationType: ReasonableExplanationType;
signatureName?: string; // populated from the prior submission's accountHolder.name
signatureDate?: string; // ISO timestamp, stamped at submit
// Present only when explanationType === 'DO_NOT_MEET_SUBSTANTIAL_PRESENCE_TEST'
daysInCurrentYear?: number;
daysInFirstPrecedingYear?: number;
daysInSecondPrecedingYear?: number;
weightedTotal?: number;
// Present only when explanationType === 'CLOSER_CONNECTION_EXCEPTION'
usPresentDaysCertified?: boolean;
closerConnectionCountryCode?: string;
closerConnectionReason?: string;
};
};Same shape across demo onSubmit and production onSuccess / onSettled.
Status enums
The string values that appear on the status fields above (tinStatus, vatStatus, and questionnaire issues). Match against them to decide what to show or do next.
TinStatus
IRS TIN validation; W-9 only.
| Value | Meaning |
|---|---|
PENDING | Submitted, not yet validated. |
VALID_SSN_MATCH | SSN matches IRS records. |
VALID_EIN_MATCH | EIN matches IRS records. |
VALID_SSN_EIN_MATCH | Both SSN and EIN match. |
MISMATCH | Name/TIN doesn't match IRS records. |
TIN_NOT_ISSUED | TIN not issued by the IRS. |
INVALID_DATA | Data malformed or incomplete for validation. |
FOREIGN | Foreign TIN — not validated against IRS. |
ERROR | IRS validation errored. |
VatStatus
VIES VAT validation; DPS only.
| Value | Meaning |
|---|---|
PENDING | Submitted, not yet validated with VIES. |
VALID | VIES confirms valid for the country. |
INVALID | VIES reports invalid. |
INSUFFICIENT_DATA | Not enough data to validate. |
NOT_REQUIRED | User indicated VAT not required or not issued. |
NON_EU | User outside the EU — VAT validation does not apply. |
Issue status
The status field on a curable W-8 issue is its current remediation state ('OPEN' | 'IN_REVIEW' | 'RESOLVED'). See Reading curing statuses.
| Value | Meaning |
|---|---|
OPEN | The issue still needs to be addressed. |
IN_REVIEW | The issue is being reviewed. |
RESOLVED | The issue no longer applies. |
Transitions: OPEN → IN_REVIEW (filer submits), IN_REVIEW → RESOLVED (reviewer accepts), IN_REVIEW → OPEN (reviewer rejects / requests more). RESOLVED is terminal.
QuestionnaireIssue
Found on wFormQuestionnaire.issues and selfCertification.issues.
type QuestionnaireIssue = {
issueType: IssueType;
status: 'OPEN' | 'IN_REVIEW' | 'RESOLVED'; // present on curable W-8 issues
createdAt: string;
details: { field: string; description: string }[];
};| issueType | Applies to | Meaning |
|---|---|---|
CARE_OF_PERMANENT_ADDRESS | W-FORM | Permanent address uses a c/o format. |
PO_BOX_PERMANENT_ADDRESS | W-FORM | Permanent address is a PO Box. |
US_PERMANENT_ADDRESS | W-FORM | W-8 filer has a US permanent address. |
TREATY_COUNTRY_MISMATCH | W-FORM | Treaty claim country doesn't match residency. |
US_INDICIA | W-FORM, SELF-CERT | Indicators of US-person status detected. |
WITHHOLDING_DOCUMENTATION | W-FORM | Withholding documentation is incomplete. |
CHANGE_IN_CIRCUMSTANCES | W-FORM, SELF-CERT | A change in circumstances requires new documentation. |
INCOMPLETE_DATA | All | Missing required fields. |
INCONSISTENT_DATA | All | Contradictory information. |
INCOMPLETE_ADDRESS | W-FORM, SELF-CERT | Address information is incomplete. |
INCOMPLETE_CLASSIFICATION | W-FORM | Account holder classification is incomplete. |
INCOMPLETE_US_TIN | W-FORM | US TIN is missing or incomplete. |
INCOMPLETE_TREATY_CLAIM | W-FORM | Treaty claim information is incomplete. |
CBI_RBI_CONFIRMATION | SELF-CERT | CBI/RBI confirmation is required. |
INCOMPLETE_GIIN | SELF-CERT | GIIN is missing or incomplete. |
SDK ↔ API endpoint mapping
The SDK makes these calls for you — useful for debugging and monitoring. Every call goes to the region's API host, or to your proxyDomain when one is set.
| SDK action | API behavior | When |
|---|---|---|
| Component mounts / hook initializes | GET /tax-documentation-status | On load — checks for existing submissions. |
| Component mounts (data exists) | GET /tax-documentation/submissions | On load — fetches prior data for pre-fill. |
| Real-time TIN check | Posts the name and TIN for an inline match | When realTimeTinValidation is on. |
| GIIN check | Posts the GIIN for an inline check | When FATCA collects a GIIN. |
| User submits the form | Posts form data to the submission endpoint | On a valid submit. |
| Usage telemetry | Posts usage events | 6.2.0+, unless telemetry={false} or demo mode. Failures are ignored. |
generateDocumentUrl() request | Posts a generate-document request; returns a documentId (PROCESSING) | When you call it. |
generateDocumentUrl() polling | Polls (~3s) until FINISHED and a URL is available | Automatic after the request. |
The documentUrl is short-lived; the hook re-polls about every 4 minutes to refresh it before it expires.
Curing makes these calls:
| SDK action | API behavior | When |
|---|---|---|
| Component mounts | GET /tax-documentation-status | On load — checks for OPEN curable issues. |
| Component mounts | GET /tax-documentation/submissions | On load — reads the prior W-8 for the signature name. Skipped when collectSignatureName is true. |
| User clicks Submit | POST /account-owner-documents (multipart) | On submit. data part is the snake_case wire body; the uploaded file is the second multipart part. |
Content-Type is left to fetch so the multipart boundary survives — don't override it.
Stylesheets
The form is semantic HTML with taxbit- namespaced classes. Import at most one built-in stylesheet, then override classes in your own CSS.
| Stylesheet | Label position | Description |
|---|---|---|
inline.css | beside the input | Full Taxbit default styling — layout, inputs, buttons, badges. |
basic.css | above the input | Same as inline.css, with each label on its own line above the field. |
minimal.css | your choice | Structure only — form width, field spacing, status colors. Best base when you intend to restyle. |
index.css | — | Demo-app stylesheet. Styles :root and html, so it affects your whole page. Not for production. |
inline.css and basic.css declare their colors as --taxbit-color-* custom properties on :root; minimal.css declares only the four status colors. Override the tokens to theme the form.
For the token list, the full class reference and override patterns, see Customizing look and feel.
Supported languages
The language prop accepts any tag in the Locale type — the 53 codes below. The account owner can also switch language in-form (hide the dropdown with CSS). The in-form picker shows a subset: roughly 45 in DPS and Self-Certification flows and 19 in W-Form. Defaults are en-us (W-Form) and en-gb (DPS, Self-Certification).
Only the displayed language is downloaded. Switching language fetches the new one once and keeps the current one on screen until it arrives; if the fetch fails, the current language stays.
Locale tags (53)
Locale tags (53)| Code | Language | Code | Language | Code | Language |
|---|---|---|---|---|---|
bg | Bulgarian | fr | French | no | Norwegian |
cs | Czech | fr-ca | French (Canada) | pl | Polish |
da | Danish | fr-fr | French (France) | pt | Portuguese |
de | German | fr-lu | French (Luxembourg) | pt-br | Portuguese (Brazil) |
de-at | German (Austria) | ga | Irish | pt-pt | Portuguese (Portugal) |
de-de | German (Germany) | hr | Croatian | ro | Romanian |
el | Greek | hu | Hungarian | ru | Russian |
el-cy | Greek (Cyprus) | id | Indonesian | sk | Slovak |
el-gr | Greek (Greece) | it | Italian | sl | Slovenian |
en | English | ja | Japanese | sv | Swedish |
en-gb | English (UK) | ko | Korean | th | Thai |
en-nz | English (NZ) | lt | Lithuanian | tr | Turkish |
en-us | English (US) | lv | Latvian | uk | Ukrainian |
es | Spanish | ms | Malaysian | vi | Vietnamese |
es-es | Spanish (Spain) | mt | Maltese | zh | Chinese |
es-mx | Spanish (Mexico) | nl | Dutch | zh-cn | Chinese (Simplified) |
et | Estonian | nl-be | Dutch (Belgium) | zh-tw | Chinese (Traditional) |
fi | Finnish | nl-nl | Dutch (Netherlands) |
W-Form in-form options (19)
| Code | Language | Code | Language |
|---|---|---|---|
de | German | nl | Dutch |
en-us | English (US) | pl | Polish |
es-mx | Spanish (Mexico) | pt-br | Portuguese (Brazil) |
fr-ca | French (Canada) | ro | Romanian |
id | Indonesian | ru | Russian |
it | Italian | th | Thai |
ja | Japanese | tr | Turkish |
ko | Korean | vi | Vietnamese |
ms | Malaysian | zh-cn | Chinese (Simplified) |
zh-tw | Chinese (Traditional) |
Compatibility
@taxbit/react-sdk supports React 16 through 19 (declared as a peer dependency). TypeScript type definitions are bundled with the package — no separate @types install needed. They resolve under every moduleResolution setting, including node16 / nodenext and CommonJS require, and type-check with skipLibCheck: false. For upgrade notes between versions, see the Upgrade guide.
Updated 4 days ago
