# customer (/themes/sdk/reference/customer)

```ts
import { … } from '@poltura/theme-sdk/customer';
```

## [Hooks](/themes/sdk/reference/customer/hooks) [#hooks]

| Name | What it is |
| --- | --- |
| [`useCustomer`](/themes/sdk/reference/customer/hooks#usecustomer) | The signed-in shopper and the way out. |
| [`useAccount`](/themes/sdk/reference/customer/hooks#useaccount) | The account area's shell: the shopper and the account navigation, including installed apps' and store features' pages. |
| [`useOrders`](/themes/sdk/reference/customer/hooks#useorders) | One page of the signed-in shopper's order history, newest first. |
| [`useAddresses`](/themes/sdk/reference/customer/hooks#useaddresses) | The signed-in shopper's address book with the actions that change it. |
| [`useOrder`](/themes/sdk/reference/customer/hooks#useorder) | One of the signed-in shopper's orders. |
| [`useAuthForm`](/themes/sdk/reference/customer/hooks#useauthform) | The state of a sign-in, registration or password form, for a theme that draws the form itself. |
| [`useEmailCodeStep`](/themes/sdk/reference/customer/hooks#useemailcodestep) | The state of the verify page, for a theme that draws the step of an emailed code itself. |

## [Parts](/themes/sdk/reference/customer/parts-1) [#parts]

| Name | What it is |
| --- | --- |
| [`AccountDeletion`](/themes/sdk/reference/customer/parts-1#accountdeletion) | The account deletion card: what deleting means and the button that asks for it after a confirmation dialog. |
| [`BusinessDetails`](/themes/sdk/reference/customer/parts-1#businessdetails) | The shopper's company details, tier and applications under their own heading; nothing for a consumer-only store and shopper. |
| [`EmailAddress`](/themes/sdk/reference/customer/parts-1#emailaddress) | The shopper's sign-in email address; nothing until the shopper loads. |
| [`PasswordChange`](/themes/sdk/reference/customer/parts-1#passwordchange) | The shopper's password, changed in place or through an emailed link, and the passkeys that sign in without it. |
| [`PersonalInfoForm`](/themes/sdk/reference/customer/parts-1#personalinfoform) | The shopper's name and phone number, changed in place; nothing until the shopper loads. |
| [`AddressCard`](/themes/sdk/reference/customer/parts-1#addresscard) | A saved address: personal or company, the recipient, the address lines, the phone and its default badges. |
| [`AddressForm`](/themes/sdk/reference/customer/parts-1#addressform) | The address fields in the page language's name order, limited to the countries the store sells to, with a company tax id. |
| [`AccountNav`](/themes/sdk/reference/customer/parts-1#accountnav) | The account navigation as a grid of cards: an icon for the kind of page, its name and a line about it. |
| [`OrderCard`](/themes/sdk/reference/customer/parts-1#ordercard) | An order in a list: its number, status badge, date, product count, amount due, a preview of the products and a link to its page. |
| [`OrderCardSkeleton`](/themes/sdk/reference/customer/parts-1#ordercardskeleton) | A placeholder shaped like [`OrderCard`](/themes/sdk/reference/customer/parts-1#ordercard), for the time the orders load. |
| [`OrderFilters`](/themes/sdk/reference/customer/parts-1#orderfilters) | Buttons that narrow the order list to all orders or one status. |
| [`OrderLines`](/themes/sdk/reference/customer/parts-1#orderlines) | The products of an order in a table: image, name, variant, quantity and line total. |
| [`OrderDetailScope`](/themes/sdk/reference/customer/parts-2#orderdetailscope) | Loads one order for the order parts inside; nothing when it is not found. |
| [`OrderSummaryHeader`](/themes/sdk/reference/customer/parts-2#ordersummaryheader) | The order's number, date, status and documents, inside [`OrderDetailScope`](/themes/sdk/reference/customer/parts-2#orderdetailscope). |
| [`OrderItems`](/themes/sdk/reference/customer/parts-2#orderitems) | The order's products with their digital keys and guides, inside [`OrderDetailScope`](/themes/sdk/reference/customer/parts-2#orderdetailscope). |
| [`OrderTotals`](/themes/sdk/reference/customer/parts-2#ordertotals) | The order's totals, inside [`OrderDetailScope`](/themes/sdk/reference/customer/parts-2#orderdetailscope). |
| [`OrderReturns`](/themes/sdk/reference/customer/parts-2#orderreturns) | The order's returns and the way to start one, inside [`OrderDetailScope`](/themes/sdk/reference/customer/parts-2#orderdetailscope). |
| [`OrderDownloads`](/themes/sdk/reference/customer/parts-2#orderdownloads) | The files a paid order unlocks, inside [`OrderDetailScope`](/themes/sdk/reference/customer/parts-2#orderdetailscope). |
| [`OrderInfo`](/themes/sdk/reference/customer/parts-2#orderinfo) | The order's addresses and methods, inside [`OrderDetailScope`](/themes/sdk/reference/customer/parts-2#orderdetailscope). |
| [`MarketingConsentToggle`](/themes/sdk/reference/customer/parts-2#marketingconsenttoggle) | The switch that subscribes the shopper to or unsubscribes them from marketing email, next to the always-on order updates. |
| [`AuthInput`](/themes/sdk/reference/customer/parts-2#authinput) | One field of an auth form: label, icon, input of the right type and autocomplete, and the field's error. |
| [`AuthSubmit`](/themes/sdk/reference/customer/parts-2#authsubmit) | The submit button of an auth form, labelled for the form and disabled while it sends. |
| [`AuthError`](/themes/sdk/reference/customer/parts-2#autherror) | Why the form did not send, in a notice box; nothing when there is no error. |
| [`PasskeySignIn`](/themes/sdk/reference/customer/parts-2#passkeysignin) | Passkey sign-in button, for the address typed in the form; nothing without browser support. |
| [`SocialSignIn`](/themes/sdk/reference/customer/parts-3#socialsignin) | The external sign-in buttons, with the terms and privacy note; nothing when no provider is on. |
| [`EmailCodeStep`](/themes/sdk/reference/customer/parts-3#emailcodestep) | The verify page's whole step: the field for the code from the email, then the password a sign-up chooses, with the button that finishes it. |
| [`AuthFields`](/themes/sdk/reference/customer/parts-3#authfields) | The sign-in or sign-up form the merchant placed on the page, drawn through the theme's override of it when there is one; nothing when the merchant hid it. |
| [`BusinessSignUpFields`](/themes/sdk/reference/customer/parts-3#businesssignupfields) | The company fields of a registration form: buyer type, company, tax number with its live check and tier applications; nothing without [`BusinessSignUp`](/themes/sdk/reference/customer/types-1#businesssignup). |
| [`OrdersScope`](/themes/sdk/reference/customer/parts-3#ordersscope) | Hands a page of orders to the order history block placed inside it, so the section that pages and the block that lists read one page. |

## [Defaults](/themes/sdk/reference/customer/defaults-1) [#defaults]

| Name | What it is |
| --- | --- |
| [`AddressBook`](/themes/sdk/reference/customer/defaults-1#addressbook) | The shopper's address book: every saved address, adding, changing and deleting them in dialogs. |
| [`OrderDetail`](/themes/sdk/reference/customer/defaults-2#orderdetail) | One order's page: status, documents, products with digital key delivery, totals, returns, downloads and addresses. |

## [Constants](/themes/sdk/reference/customer/constants) [#constants]

| Name | What it is |
| --- | --- |
| [`accountRegions`](/themes/sdk/reference/customer/constants#accountregions) | The account template's regions, where merchants place blocks. |
| [`authRegions`](/themes/sdk/reference/customer/constants#authregions) | The sign-in and sign-up pages' regions, where merchants place blocks. |

## [Types](/themes/sdk/reference/customer/types-1) [#types]

| Name | What it is |
| --- | --- |
| [`AccountSettingsPartProps`](/themes/sdk/reference/customer/types-1#accountsettingspartprops) | Props of the settings parts, from [`PersonalInfoForm`](/themes/sdk/reference/customer/parts-1#personalinfoform) to [`AccountDeletion`](/themes/sdk/reference/customer/parts-1#accountdeletion). |
| [`AccountNavItem`](/themes/sdk/reference/customer/types-1#accountnavitem) | One entry of the account navigation. |
| [`AccountNavKind`](/themes/sdk/reference/customer/types-1#accountnavkind) | Which kind of page an account navigation entry opens. |
| [`AccountView`](/themes/sdk/reference/customer/types-1#accountview) | The account area's shell: the shopper and the account navigation. |
| [`Address`](/themes/sdk/reference/customer/types-1#address) | A postal address from the shopper's address book or an order. |
| [`AddressBookState`](/themes/sdk/reference/customer/types-1#addressbookstate) | The signed-in shopper's address book with the actions that change it; the host stores every change. |
| [`AddressInput`](/themes/sdk/reference/customer/types-1#addressinput) | A postal address as the shopper enters it, before the address book stores it. |
| [`AddressResult`](/themes/sdk/reference/customer/types-1#addressresult) | The outcome of an address book action. |
| [`AddressUse`](/themes/sdk/reference/customer/types-1#addressuse) | What an address book default is set for. |
| [`AuthField`](/themes/sdk/reference/customer/types-1#authfield) | A field of the sign-in, registration and password forms. |
| [`AuthFormState`](/themes/sdk/reference/customer/types-1#authformstate) | A sign-in, registration or password form's values, errors and submit; credentials, captcha and sessions stay with the host. |
| [`AuthMode`](/themes/sdk/reference/customer/types-1#authmode) | Which sign-in form is shown. |
| [`AuthTerms`](/themes/sdk/reference/customer/types-1#authterms) | The terms checkbox a registration form needs ticked before it sends. |
| [`BusinessSignUp`](/themes/sdk/reference/customer/types-1#businesssignup) | Signing up as a company on a registration form: the buyer type, company and tax number the host checks, and the tier applications. |
| [`Customer`](/themes/sdk/reference/customer/types-2#customer) | A signed-in shopper. |
| [`CustomerState`](/themes/sdk/reference/customer/types-2#customerstate) | The signed-in shopper and the way out. |
| [`EmailCodeKind`](/themes/sdk/reference/customer/types-2#emailcodekind) | The emailed step a shopper finishes on the verify page: a new account, a sign-in, a new password, a moved store account, or an outside account's sign-in. |
| [`EmailCodeStepState`](/themes/sdk/reference/customer/types-2#emailcodestepstate) | The verify page's state: asking for the code, asking for what finishes the step, or a step that is gone. |
| [`FulfillmentStatus`](/themes/sdk/reference/customer/types-2#fulfillmentstatus) | Where an order's delivery is. |
| [`Order`](/themes/sdk/reference/customer/types-2#order) | A placed order as its buyer sees it. |
| [`OrderDocument`](/themes/sdk/reference/customer/types-2#orderdocument) | A downloadable order document. |
| [`OrderDocumentKind`](/themes/sdk/reference/customer/types-2#orderdocumentkind) | What kind of document an order has. |
| [`OrderFulfillment`](/themes/sdk/reference/customer/types-2#orderfulfillment) | An order's delivery state with its label and tracking. |
| [`OrderLine`](/themes/sdk/reference/customer/types-2#orderline) | One line of a placed order. |
| [`OrderPage`](/themes/sdk/reference/customer/types-2#orderpage) | One page of the shopper's orders, newest first. |
| [`OrderPayment`](/themes/sdk/reference/customer/types-2#orderpayment) | An order's payment state with its label. |
| [`OrderPickupPoint`](/themes/sdk/reference/customer/types-2#orderpickuppoint) | The parcel locker or pickup point an order is delivered to. |
| [`OrderState`](/themes/sdk/reference/customer/types-2#orderstate) | One of the signed-in shopper's orders, as it loads. |
| [`OrderStatus`](/themes/sdk/reference/customer/types-3#orderstatus) | Where an order is, as the shopper sees it. |
| [`OrderStatusFilter`](/themes/sdk/reference/customer/types-3#orderstatusfilter) | The order list's status filter. |
| [`OrderSummary`](/themes/sdk/reference/customer/types-3#ordersummary) | An order as the order list shows it: enough for a card, without the totals breakdown. |
| [`OrderSummaryLine`](/themes/sdk/reference/customer/types-3#ordersummaryline) | A line of an order as the order list previews it. |
| [`OrderTracking`](/themes/sdk/reference/customer/types-3#ordertracking) | One parcel's tracking. |
| [`OrdersRequest`](/themes/sdk/reference/customer/types-3#ordersrequest) | Which page of the order list to load. |
| [`PaymentStatus`](/themes/sdk/reference/customer/types-3#paymentstatus) | Where an order's payment is. |
| [`AddressCardProps`](/themes/sdk/reference/customer/types-3#addresscardprops) | Props of [`AddressCard`](/themes/sdk/reference/customer/parts-1#addresscard). |
| [`AddressFormProps`](/themes/sdk/reference/customer/types-3#addressformprops) | Props of [`AddressForm`](/themes/sdk/reference/customer/parts-1#addressform). |
| [`AddressBookProps`](/themes/sdk/reference/customer/types-3#addressbookprops) | Props of [`AddressBook`](/themes/sdk/reference/customer/defaults-1#addressbook). |
| [`AccountNavProps`](/themes/sdk/reference/customer/types-3#accountnavprops) | Props of [`AccountNav`](/themes/sdk/reference/customer/parts-1#accountnav). |
| [`OrderCardProps`](/themes/sdk/reference/customer/types-3#ordercardprops) | Props of [`OrderCard`](/themes/sdk/reference/customer/parts-1#ordercard). |
| [`OrderCardSkeletonProps`](/themes/sdk/reference/customer/types-3#ordercardskeletonprops) | Props of [`OrderCardSkeleton`](/themes/sdk/reference/customer/parts-1#ordercardskeleton). |
| [`OrderFiltersProps`](/themes/sdk/reference/customer/types-3#orderfiltersprops) | Props of [`OrderFilters`](/themes/sdk/reference/customer/parts-1#orderfilters). |
| [`OrderLinesProps`](/themes/sdk/reference/customer/types-3#orderlinesprops) | Props of [`OrderLines`](/themes/sdk/reference/customer/parts-1#orderlines). |
| [`OrderDetailProps`](/themes/sdk/reference/customer/types-3#orderdetailprops) | Props of [`OrderDetail`](/themes/sdk/reference/customer/defaults-2#orderdetail). |
| [`OrderDetailScopeProps`](/themes/sdk/reference/customer/types-3#orderdetailscopeprops) | Props of [`OrderDetailScope`](/themes/sdk/reference/customer/parts-2#orderdetailscope). |
| [`MarketingConsentToggleProps`](/themes/sdk/reference/customer/types-3#marketingconsenttoggleprops) | Props of [`MarketingConsentToggle`](/themes/sdk/reference/customer/parts-2#marketingconsenttoggle). |
| [`AuthInputProps`](/themes/sdk/reference/customer/types-3#authinputprops) | Props of [`AuthInput`](/themes/sdk/reference/customer/parts-2#authinput). |
| [`AuthSubmitProps`](/themes/sdk/reference/customer/types-3#authsubmitprops) | Props of [`AuthSubmit`](/themes/sdk/reference/customer/parts-2#authsubmit). |
| [`AuthErrorProps`](/themes/sdk/reference/customer/types-3#autherrorprops) | Props of [`AuthError`](/themes/sdk/reference/customer/parts-2#autherror). |
| [`PasskeySignInProps`](/themes/sdk/reference/customer/types-3#passkeysigninprops) | Props of [`PasskeySignIn`](/themes/sdk/reference/customer/parts-2#passkeysignin). |
| [`SocialSignInProps`](/themes/sdk/reference/customer/types-3#socialsigninprops) | Props of [`SocialSignIn`](/themes/sdk/reference/customer/parts-3#socialsignin). |
| [`EmailCodeStepProps`](/themes/sdk/reference/customer/types-3#emailcodestepprops) | Props of [`EmailCodeStep`](/themes/sdk/reference/customer/parts-3#emailcodestep). |
| [`AuthFieldsProps`](/themes/sdk/reference/customer/types-3#authfieldsprops) | Props of [`AuthFields`](/themes/sdk/reference/customer/parts-3#authfields). |
| [`BusinessSignUpFieldsProps`](/themes/sdk/reference/customer/types-3#businesssignupfieldsprops) | Props of [`BusinessSignUpFields`](/themes/sdk/reference/customer/parts-3#businesssignupfields). |
| [`OrdersScopeProps`](/themes/sdk/reference/customer/types-3#ordersscopeprops) | Props of [`OrdersScope`](/themes/sdk/reference/customer/parts-3#ordersscope). |

<AnchorRedirect to={{"hooks":"/themes/sdk/reference/customer/hooks","usecustomer":"/themes/sdk/reference/customer/hooks","useaccount":"/themes/sdk/reference/customer/hooks","useorders":"/themes/sdk/reference/customer/hooks","useaddresses":"/themes/sdk/reference/customer/hooks","useorder":"/themes/sdk/reference/customer/hooks","useauthform":"/themes/sdk/reference/customer/hooks","useemailcodestep":"/themes/sdk/reference/customer/hooks","parts":"/themes/sdk/reference/customer/parts-1","accountdeletion":"/themes/sdk/reference/customer/parts-1","businessdetails":"/themes/sdk/reference/customer/parts-1","emailaddress":"/themes/sdk/reference/customer/parts-1","passwordchange":"/themes/sdk/reference/customer/parts-1","personalinfoform":"/themes/sdk/reference/customer/parts-1","addresscard":"/themes/sdk/reference/customer/parts-1","addressform":"/themes/sdk/reference/customer/parts-1","accountnav":"/themes/sdk/reference/customer/parts-1","ordercard":"/themes/sdk/reference/customer/parts-1","ordercardskeleton":"/themes/sdk/reference/customer/parts-1","orderfilters":"/themes/sdk/reference/customer/parts-1","orderlines":"/themes/sdk/reference/customer/parts-1","orderdetailscope":"/themes/sdk/reference/customer/parts-2","ordersummaryheader":"/themes/sdk/reference/customer/parts-2","orderitems":"/themes/sdk/reference/customer/parts-2","ordertotals":"/themes/sdk/reference/customer/parts-2","orderreturns":"/themes/sdk/reference/customer/parts-2","orderdownloads":"/themes/sdk/reference/customer/parts-2","orderinfo":"/themes/sdk/reference/customer/parts-2","marketingconsenttoggle":"/themes/sdk/reference/customer/parts-2","authinput":"/themes/sdk/reference/customer/parts-2","authsubmit":"/themes/sdk/reference/customer/parts-2","autherror":"/themes/sdk/reference/customer/parts-2","passkeysignin":"/themes/sdk/reference/customer/parts-2","socialsignin":"/themes/sdk/reference/customer/parts-3","emailcodestep":"/themes/sdk/reference/customer/parts-3","authfields":"/themes/sdk/reference/customer/parts-3","businesssignupfields":"/themes/sdk/reference/customer/parts-3","ordersscope":"/themes/sdk/reference/customer/parts-3","defaults":"/themes/sdk/reference/customer/defaults-1","addressbook":"/themes/sdk/reference/customer/defaults-1","orderdetail":"/themes/sdk/reference/customer/defaults-2","constants":"/themes/sdk/reference/customer/constants","accountregions":"/themes/sdk/reference/customer/constants","authregions":"/themes/sdk/reference/customer/constants","types":"/themes/sdk/reference/customer/types-1","accountsettingspartprops":"/themes/sdk/reference/customer/types-1","accountnavitem":"/themes/sdk/reference/customer/types-1","accountnavkind":"/themes/sdk/reference/customer/types-1","accountview":"/themes/sdk/reference/customer/types-1","address":"/themes/sdk/reference/customer/types-1","addressbookstate":"/themes/sdk/reference/customer/types-1","addressinput":"/themes/sdk/reference/customer/types-1","addressresult":"/themes/sdk/reference/customer/types-1","addressuse":"/themes/sdk/reference/customer/types-1","authfield":"/themes/sdk/reference/customer/types-1","authformstate":"/themes/sdk/reference/customer/types-1","authmode":"/themes/sdk/reference/customer/types-1","authterms":"/themes/sdk/reference/customer/types-1","businesssignup":"/themes/sdk/reference/customer/types-1","customer":"/themes/sdk/reference/customer/types-2","customerstate":"/themes/sdk/reference/customer/types-2","emailcodekind":"/themes/sdk/reference/customer/types-2","emailcodestepstate":"/themes/sdk/reference/customer/types-2","fulfillmentstatus":"/themes/sdk/reference/customer/types-2","order":"/themes/sdk/reference/customer/types-2","orderdocument":"/themes/sdk/reference/customer/types-2","orderdocumentkind":"/themes/sdk/reference/customer/types-2","orderfulfillment":"/themes/sdk/reference/customer/types-2","orderline":"/themes/sdk/reference/customer/types-2","orderpage":"/themes/sdk/reference/customer/types-2","orderpayment":"/themes/sdk/reference/customer/types-2","orderpickuppoint":"/themes/sdk/reference/customer/types-2","orderstate":"/themes/sdk/reference/customer/types-2","orderstatus":"/themes/sdk/reference/customer/types-3","orderstatusfilter":"/themes/sdk/reference/customer/types-3","ordersummary":"/themes/sdk/reference/customer/types-3","ordersummaryline":"/themes/sdk/reference/customer/types-3","ordertracking":"/themes/sdk/reference/customer/types-3","ordersrequest":"/themes/sdk/reference/customer/types-3","paymentstatus":"/themes/sdk/reference/customer/types-3","addresscardprops":"/themes/sdk/reference/customer/types-3","addressformprops":"/themes/sdk/reference/customer/types-3","addressbookprops":"/themes/sdk/reference/customer/types-3","accountnavprops":"/themes/sdk/reference/customer/types-3","ordercardprops":"/themes/sdk/reference/customer/types-3","ordercardskeletonprops":"/themes/sdk/reference/customer/types-3","orderfiltersprops":"/themes/sdk/reference/customer/types-3","orderlinesprops":"/themes/sdk/reference/customer/types-3","orderdetailprops":"/themes/sdk/reference/customer/types-3","orderdetailscopeprops":"/themes/sdk/reference/customer/types-3","marketingconsenttoggleprops":"/themes/sdk/reference/customer/types-3","authinputprops":"/themes/sdk/reference/customer/types-3","authsubmitprops":"/themes/sdk/reference/customer/types-3","autherrorprops":"/themes/sdk/reference/customer/types-3","passkeysigninprops":"/themes/sdk/reference/customer/types-3","socialsigninprops":"/themes/sdk/reference/customer/types-3","emailcodestepprops":"/themes/sdk/reference/customer/types-3","authfieldsprops":"/themes/sdk/reference/customer/types-3","businesssignupfieldsprops":"/themes/sdk/reference/customer/types-3","ordersscopeprops":"/themes/sdk/reference/customer/types-3"}} />
