@cartbase/storefront 0.15.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -1
- package/src/api/customers.ts +6 -7
- package/src/api/products.ts +330 -314
- package/src/locales/bg.ts +3 -0
- package/src/locales/es.ts +3 -0
- package/src/products/index.ts +14 -0
- package/src/products/labels.ts +7 -0
- package/src/products/product-actions-wrapper.tsx +62 -58
- package/src/products/product-actions.tsx +104 -177
- package/src/products/product-info.tsx +10 -5
- package/src/products/product-template.tsx +162 -149
- package/src/products/use-product-actions.ts +164 -0
- package/src/products/variant-url.ts +74 -0
- package/src/store/paginated-products.tsx +3 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cartbase/storefront",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.0",
|
|
4
4
|
"description": "Storefront SDK + UI component library for Cartbase stores: typed API client, checkout orchestration, cart drawer, product/catalog components, tracking. Source-shipped TypeScript — add it to transpilePackages.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -155,6 +155,8 @@
|
|
|
155
155
|
"./products/product-price": "./src/products/product-price.tsx",
|
|
156
156
|
"./products/option-select": "./src/products/option-select.tsx",
|
|
157
157
|
"./products/image-gallery": "./src/products/image-gallery.tsx",
|
|
158
|
+
"./products/variant-url": "./src/products/variant-url.ts",
|
|
159
|
+
"./products/use-product-actions": "./src/products/use-product-actions.ts",
|
|
158
160
|
"./products/product-actions": "./src/products/product-actions.tsx",
|
|
159
161
|
"./products/mobile-actions": "./src/products/mobile-actions.tsx",
|
|
160
162
|
"./products/product-tabs": "./src/products/product-tabs.tsx",
|
package/src/api/customers.ts
CHANGED
|
@@ -43,10 +43,11 @@ export interface CustomerAddress {
|
|
|
43
43
|
/**
|
|
44
44
|
* The customer payload: the customer's own row as the store serves it, plus
|
|
45
45
|
* addresses. Named columns since 2026-09-14: no tenant id, no soft-delete
|
|
46
|
-
* stamp, no staff identity, no provider account id
|
|
46
|
+
* stamp, no staff identity, no provider account id, and no merchant tags
|
|
47
|
+
* (the labels a merchant puts on a customer are staff knowledge and never
|
|
48
|
+
* reach the shopper).
|
|
47
49
|
* `account_status` (`pending` | `approved`) gates B2B storefront content
|
|
48
|
-
* when the store's approval policy is on (b2b-v1).
|
|
49
|
-
* labels — readable here, never writable from the store surface.
|
|
50
|
+
* when the store's approval policy is on (b2b-v1).
|
|
50
51
|
*/
|
|
51
52
|
export interface StoreCustomer {
|
|
52
53
|
id: string
|
|
@@ -61,7 +62,6 @@ export interface StoreCustomer {
|
|
|
61
62
|
has_account: boolean
|
|
62
63
|
/** `pending` | `approved` — store approval policy (customer-accounts card). */
|
|
63
64
|
account_status: string
|
|
64
|
-
tags: string[]
|
|
65
65
|
metadata: Record<string, unknown> | null
|
|
66
66
|
created_at: IsoDateString
|
|
67
67
|
updated_at: IsoDateString
|
|
@@ -120,12 +120,11 @@ export interface UpdateCustomerInput {
|
|
|
120
120
|
company_eik?: string | null
|
|
121
121
|
vat_number?: string | null
|
|
122
122
|
metadata?: Record<string, unknown>
|
|
123
|
-
// NOTE: `tags` deliberately absent — admin-only; the server strips them.
|
|
124
123
|
}
|
|
125
124
|
|
|
126
125
|
/**
|
|
127
|
-
* POST /api/store/customers/me — update own profile. Unknown keys
|
|
128
|
-
*
|
|
126
|
+
* POST /api/store/customers/me — update own profile. Unknown keys are
|
|
127
|
+
* stripped server-side; returns the refreshed customer.
|
|
129
128
|
*
|
|
130
129
|
* Auth: Bearer JWT (+ x-client-id).
|
|
131
130
|
* Errors: 401 unauthenticated · 400 validation_failed.
|