@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cartbase/storefront",
3
- "version": "0.15.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",
@@ -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). `tags` are admin-only
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 (incl.
128
- * `tags`) are stripped server-side; returns the refreshed customer.
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.