@wix/himalaya-cli 0.1377.0 → 0.1379.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.
Files changed (178) hide show
  1. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/sdk/app-info/src/index.d.ts +4 -0
  2. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/ecom/src/extensions.d.ts +113 -0
  3. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/app-info.mjs +2 -1
  4. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/iap-checkout.mjs +2 -1
  5. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/screens.mjs +2 -1
  6. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-ecom.mjs +77 -0
  7. package/dist/cli.mjs +24 -23
  8. package/dist/preview-assets.generated.bin +0 -0
  9. package/guides/importable-sdks.md +1 -1
  10. package/guides/index.json +6 -0
  11. package/guides/sdk-reference.json +128 -2
  12. package/guides/wix-api-usage.md +7 -5
  13. package/guides/wix-pro-gallery.md +145 -0
  14. package/package.json +2 -2
  15. package/templates/beauty-salon/config.ts +23 -0
  16. package/templates/beauty-salon/dev/index.ts +2611 -1
  17. package/templates/beauty-salon/himalaya.content.json +9 -0
  18. package/templates/beauty-salon/tier5-src/_shared/branded-lite-hosted.ts +3 -0
  19. package/templates/beauty-salon/tier5-src/_shared/member-access.ts +14 -0
  20. package/templates/beauty-salon/tier5-src/_shared/member-account-routes.ts +43 -0
  21. package/templates/beauty-salon/tier5-src/_shared/member-address.ts +129 -0
  22. package/templates/beauty-salon/tier5-src/_shared/saved-card.ts +20 -0
  23. package/templates/beauty-salon/tier5-src/himi-branded-lite-address/index.ts +223 -0
  24. package/templates/beauty-salon/tier5-src/himi-branded-lite-addresses/index.ts +202 -0
  25. package/templates/beauty-salon/tier5-src/himi-branded-lite-wallet/index.ts +217 -0
  26. package/templates/beauty-salon/tier5-src/himi-store-account/index.ts +17 -0
  27. package/templates/beauty-salon-owner/dev/index.ts +5 -27
  28. package/templates/beauty-salon-owner/tier5-src/_shared/aria-chat.ts +99 -40
  29. package/templates/beauty-salon-owner/tier5-src/_shared/aria-widget-oauth.ts +42 -0
  30. package/templates/beauty-salon-owner/tier5-src/_shared/aria-widget-view.ts +6 -0
  31. package/templates/beauty-salon-owner/tier5-src/himi-owner-lite-aria/index.ts +12 -1
  32. package/templates/branded-lite/config.ts +23 -0
  33. package/templates/branded-lite/dev/index.ts +2614 -2
  34. package/templates/branded-lite/himalaya.content.json +9 -0
  35. package/templates/branded-lite/tier5-src/_shared/branded-lite-hosted.ts +3 -0
  36. package/templates/branded-lite/tier5-src/_shared/member-access.ts +14 -0
  37. package/templates/branded-lite/tier5-src/_shared/member-account-routes.ts +43 -0
  38. package/templates/branded-lite/tier5-src/_shared/member-address.ts +129 -0
  39. package/templates/branded-lite/tier5-src/_shared/saved-card.ts +20 -0
  40. package/templates/branded-lite/tier5-src/himi-branded-lite-address/index.ts +223 -0
  41. package/templates/branded-lite/tier5-src/himi-branded-lite-addresses/index.ts +202 -0
  42. package/templates/branded-lite/tier5-src/himi-branded-lite-wallet/index.ts +217 -0
  43. package/templates/branded-lite/tier5-src/himi-store-account/index.ts +17 -0
  44. package/templates/community-club/dev/index.ts +3 -1
  45. package/templates/community-club/tier5-src/_shared/branded-lite-hosted.ts +3 -0
  46. package/templates/community-club/tier5-src/_shared/member-access.ts +14 -0
  47. package/templates/community-club/tier5-src/_shared/member-account-routes.ts +43 -0
  48. package/templates/community-club/tier5-src/himi-store-account/index.ts +17 -0
  49. package/templates/community-club-owner/dev/index.ts +5 -27
  50. package/templates/community-club-owner/tier5-src/_shared/aria-chat.ts +99 -40
  51. package/templates/community-club-owner/tier5-src/_shared/aria-widget-oauth.ts +42 -0
  52. package/templates/community-club-owner/tier5-src/_shared/aria-widget-view.ts +6 -0
  53. package/templates/community-club-owner/tier5-src/himi-owner-lite-aria/index.ts +12 -1
  54. package/templates/events-meetups/dev/index.ts +3 -1
  55. package/templates/events-meetups/tier5-src/_shared/branded-lite-hosted.ts +3 -0
  56. package/templates/events-meetups/tier5-src/_shared/member-access.ts +14 -0
  57. package/templates/events-meetups/tier5-src/_shared/member-account-routes.ts +43 -0
  58. package/templates/events-meetups/tier5-src/himi-store-account/index.ts +17 -0
  59. package/templates/events-meetups-owner/dev/index.ts +5 -27
  60. package/templates/events-meetups-owner/tier5-src/_shared/aria-chat.ts +99 -40
  61. package/templates/events-meetups-owner/tier5-src/_shared/aria-widget-oauth.ts +42 -0
  62. package/templates/events-meetups-owner/tier5-src/_shared/aria-widget-view.ts +6 -0
  63. package/templates/events-meetups-owner/tier5-src/himi-owner-lite-aria/index.ts +12 -1
  64. package/templates/gym-fitness/config.ts +23 -0
  65. package/templates/gym-fitness/dev/index.ts +2611 -1
  66. package/templates/gym-fitness/himalaya.content.json +9 -0
  67. package/templates/gym-fitness/tier5-src/_shared/branded-lite-hosted.ts +3 -0
  68. package/templates/gym-fitness/tier5-src/_shared/member-access.ts +14 -0
  69. package/templates/gym-fitness/tier5-src/_shared/member-account-routes.ts +43 -0
  70. package/templates/gym-fitness/tier5-src/_shared/member-address.ts +129 -0
  71. package/templates/gym-fitness/tier5-src/_shared/saved-card.ts +20 -0
  72. package/templates/gym-fitness/tier5-src/himi-branded-lite-address/index.ts +223 -0
  73. package/templates/gym-fitness/tier5-src/himi-branded-lite-addresses/index.ts +202 -0
  74. package/templates/gym-fitness/tier5-src/himi-branded-lite-wallet/index.ts +217 -0
  75. package/templates/gym-fitness/tier5-src/himi-store-account/index.ts +17 -0
  76. package/templates/gym-fitness-owner/dev/index.ts +5 -27
  77. package/templates/gym-fitness-owner/tier5-src/_shared/aria-chat.ts +99 -40
  78. package/templates/gym-fitness-owner/tier5-src/_shared/aria-widget-oauth.ts +42 -0
  79. package/templates/gym-fitness-owner/tier5-src/_shared/aria-widget-view.ts +6 -0
  80. package/templates/gym-fitness-owner/tier5-src/himi-owner-lite-aria/index.ts +12 -1
  81. package/templates/nonprofit-cause/config.ts +7 -0
  82. package/templates/nonprofit-cause/dev/index.ts +762 -1
  83. package/templates/nonprofit-cause/himalaya.content.json +3 -0
  84. package/templates/nonprofit-cause/tier5-src/_shared/branded-lite-hosted.ts +3 -0
  85. package/templates/nonprofit-cause/tier5-src/_shared/member-access.ts +14 -0
  86. package/templates/nonprofit-cause/tier5-src/_shared/member-account-routes.ts +43 -0
  87. package/templates/nonprofit-cause/tier5-src/_shared/saved-card.ts +20 -0
  88. package/templates/nonprofit-cause/tier5-src/himi-branded-lite-wallet/index.ts +217 -0
  89. package/templates/nonprofit-cause/tier5-src/himi-store-account/index.ts +17 -0
  90. package/templates/nonprofit-cause-owner/dev/index.ts +5 -27
  91. package/templates/nonprofit-cause-owner/tier5-src/_shared/aria-chat.ts +99 -40
  92. package/templates/nonprofit-cause-owner/tier5-src/_shared/aria-widget-oauth.ts +42 -0
  93. package/templates/nonprofit-cause-owner/tier5-src/_shared/aria-widget-view.ts +6 -0
  94. package/templates/nonprofit-cause-owner/tier5-src/himi-owner-lite-aria/index.ts +12 -1
  95. package/templates/owner-lite/dev/index.ts +5 -27
  96. package/templates/owner-lite/tier5-src/_shared/aria-chat.ts +99 -40
  97. package/templates/owner-lite/tier5-src/_shared/aria-widget-oauth.ts +42 -0
  98. package/templates/owner-lite/tier5-src/_shared/aria-widget-view.ts +6 -0
  99. package/templates/owner-lite/tier5-src/himi-owner-lite-aria/index.ts +12 -1
  100. package/templates/podcast-creator/config.ts +7 -0
  101. package/templates/podcast-creator/dev/index.ts +762 -1
  102. package/templates/podcast-creator/himalaya.content.json +3 -0
  103. package/templates/podcast-creator/tier5-src/_shared/branded-lite-hosted.ts +3 -0
  104. package/templates/podcast-creator/tier5-src/_shared/member-access.ts +14 -0
  105. package/templates/podcast-creator/tier5-src/_shared/member-account-routes.ts +43 -0
  106. package/templates/podcast-creator/tier5-src/_shared/saved-card.ts +20 -0
  107. package/templates/podcast-creator/tier5-src/himi-branded-lite-wallet/index.ts +217 -0
  108. package/templates/podcast-creator/tier5-src/himi-store-account/index.ts +17 -0
  109. package/templates/podcast-creator-owner/dev/index.ts +5 -27
  110. package/templates/podcast-creator-owner/tier5-src/_shared/aria-chat.ts +99 -40
  111. package/templates/podcast-creator-owner/tier5-src/_shared/aria-widget-oauth.ts +42 -0
  112. package/templates/podcast-creator-owner/tier5-src/_shared/aria-widget-view.ts +6 -0
  113. package/templates/podcast-creator-owner/tier5-src/himi-owner-lite-aria/index.ts +12 -1
  114. package/templates/portfolio-creative/config.ts +23 -0
  115. package/templates/portfolio-creative/dev/index.ts +2611 -1
  116. package/templates/portfolio-creative/himalaya.content.json +9 -0
  117. package/templates/portfolio-creative/tier5-src/_shared/branded-lite-hosted.ts +3 -0
  118. package/templates/portfolio-creative/tier5-src/_shared/member-access.ts +14 -0
  119. package/templates/portfolio-creative/tier5-src/_shared/member-account-routes.ts +43 -0
  120. package/templates/portfolio-creative/tier5-src/_shared/member-address.ts +129 -0
  121. package/templates/portfolio-creative/tier5-src/_shared/saved-card.ts +20 -0
  122. package/templates/portfolio-creative/tier5-src/himi-branded-lite-address/index.ts +223 -0
  123. package/templates/portfolio-creative/tier5-src/himi-branded-lite-addresses/index.ts +202 -0
  124. package/templates/portfolio-creative/tier5-src/himi-branded-lite-wallet/index.ts +217 -0
  125. package/templates/portfolio-creative/tier5-src/himi-store-account/index.ts +17 -0
  126. package/templates/portfolio-creative-owner/dev/index.ts +5 -27
  127. package/templates/portfolio-creative-owner/tier5-src/_shared/aria-chat.ts +99 -40
  128. package/templates/portfolio-creative-owner/tier5-src/_shared/aria-widget-oauth.ts +42 -0
  129. package/templates/portfolio-creative-owner/tier5-src/_shared/aria-widget-view.ts +6 -0
  130. package/templates/portfolio-creative-owner/tier5-src/himi-owner-lite-aria/index.ts +12 -1
  131. package/templates/restaurant/config.ts +23 -0
  132. package/templates/restaurant/dev/index.ts +2611 -1
  133. package/templates/restaurant/himalaya.content.json +9 -0
  134. package/templates/restaurant/tier5-src/_shared/branded-lite-hosted.ts +3 -0
  135. package/templates/restaurant/tier5-src/_shared/member-access.ts +14 -0
  136. package/templates/restaurant/tier5-src/_shared/member-account-routes.ts +43 -0
  137. package/templates/restaurant/tier5-src/_shared/member-address.ts +129 -0
  138. package/templates/restaurant/tier5-src/_shared/saved-card.ts +20 -0
  139. package/templates/restaurant/tier5-src/himi-branded-lite-address/index.ts +223 -0
  140. package/templates/restaurant/tier5-src/himi-branded-lite-addresses/index.ts +202 -0
  141. package/templates/restaurant/tier5-src/himi-branded-lite-wallet/index.ts +217 -0
  142. package/templates/restaurant/tier5-src/himi-store-account/index.ts +17 -0
  143. package/templates/restaurant-owner/dev/index.ts +5 -27
  144. package/templates/restaurant-owner/tier5-src/_shared/aria-chat.ts +99 -40
  145. package/templates/restaurant-owner/tier5-src/_shared/aria-widget-oauth.ts +42 -0
  146. package/templates/restaurant-owner/tier5-src/_shared/aria-widget-view.ts +6 -0
  147. package/templates/restaurant-owner/tier5-src/himi-owner-lite-aria/index.ts +12 -1
  148. package/templates/retail-store/config.ts +23 -0
  149. package/templates/retail-store/dev/index.ts +2611 -1
  150. package/templates/retail-store/himalaya.content.json +9 -0
  151. package/templates/retail-store/tier5-src/_shared/branded-lite-hosted.ts +3 -0
  152. package/templates/retail-store/tier5-src/_shared/member-access.ts +14 -0
  153. package/templates/retail-store/tier5-src/_shared/member-account-routes.ts +43 -0
  154. package/templates/retail-store/tier5-src/_shared/member-address.ts +129 -0
  155. package/templates/retail-store/tier5-src/_shared/saved-card.ts +20 -0
  156. package/templates/retail-store/tier5-src/himi-branded-lite-address/index.ts +223 -0
  157. package/templates/retail-store/tier5-src/himi-branded-lite-addresses/index.ts +202 -0
  158. package/templates/retail-store/tier5-src/himi-branded-lite-wallet/index.ts +217 -0
  159. package/templates/retail-store/tier5-src/himi-store-account/index.ts +17 -0
  160. package/templates/retail-store-owner/dev/index.ts +5 -27
  161. package/templates/retail-store-owner/tier5-src/_shared/aria-chat.ts +99 -40
  162. package/templates/retail-store-owner/tier5-src/_shared/aria-widget-oauth.ts +42 -0
  163. package/templates/retail-store-owner/tier5-src/_shared/aria-widget-view.ts +6 -0
  164. package/templates/retail-store-owner/tier5-src/himi-owner-lite-aria/index.ts +12 -1
  165. package/templates/yoga-studio/config.ts +7 -0
  166. package/templates/yoga-studio/dev/index.ts +762 -1
  167. package/templates/yoga-studio/himalaya.content.json +3 -0
  168. package/templates/yoga-studio/tier5-src/_shared/branded-lite-hosted.ts +3 -0
  169. package/templates/yoga-studio/tier5-src/_shared/member-access.ts +14 -0
  170. package/templates/yoga-studio/tier5-src/_shared/member-account-routes.ts +43 -0
  171. package/templates/yoga-studio/tier5-src/_shared/saved-card.ts +20 -0
  172. package/templates/yoga-studio/tier5-src/himi-branded-lite-wallet/index.ts +217 -0
  173. package/templates/yoga-studio/tier5-src/himi-store-account/index.ts +17 -0
  174. package/templates/yoga-studio-owner/dev/index.ts +5 -27
  175. package/templates/yoga-studio-owner/tier5-src/_shared/aria-chat.ts +99 -40
  176. package/templates/yoga-studio-owner/tier5-src/_shared/aria-widget-oauth.ts +42 -0
  177. package/templates/yoga-studio-owner/tier5-src/_shared/aria-widget-view.ts +6 -0
  178. package/templates/yoga-studio-owner/tier5-src/himi-owner-lite-aria/index.ts +12 -1
@@ -23,6 +23,10 @@ export interface AppInfo {
23
23
  serveBaseUrl: string | null;
24
24
  /** Host surface. */
25
25
  platform: AppPlatform;
26
+ /** True when this binary's Wix transport is bound to the member's own site — the only place
27
+ * Wix serves saved payment methods (My Wallet). False on web, in a multi-app host (Himi
28
+ * Player, Spaces) and on binaries older than HimalayaCore 1.4.0. */
29
+ memberSiteBound: boolean;
26
30
  }
27
31
  /**
28
32
  * Read this app's build + OTA metadata from the host.
@@ -256,3 +256,116 @@ export interface WixOrderLineItemDescriptionLine {
256
256
  name?: WixOrderLineItemDescriptionLineName;
257
257
  plainText?: WixOrderLineItemPlainText;
258
258
  }
259
+ export interface WixMemberAddressFullName {
260
+ firstName?: string;
261
+ lastName?: string;
262
+ }
263
+ export interface WixMemberAddressStreet {
264
+ name?: string;
265
+ number?: string;
266
+ apt?: string;
267
+ }
268
+ /** One saved address. `country` is ISO-3166 alpha-2; `subdivision` is ISO-3166-2 (`US-NY`). */
269
+ export interface WixMemberAddress {
270
+ id?: string;
271
+ fullName?: WixMemberAddressFullName;
272
+ company?: string;
273
+ street?: WixMemberAddressStreet;
274
+ addressLine1?: string;
275
+ addressLine2?: string;
276
+ city?: string;
277
+ subdivision?: string;
278
+ country?: string;
279
+ zipCode?: string;
280
+ phoneNumber?: string;
281
+ email?: string;
282
+ }
283
+ export interface WixListMemberAddressesResponse {
284
+ addresses?: WixMemberAddress[];
285
+ /** `""` when the member has no addresses. */
286
+ defaultAddressId?: string;
287
+ }
288
+ export interface WixGetMemberAddressResponse {
289
+ address?: WixMemberAddress;
290
+ isDefaultAddress?: boolean;
291
+ }
292
+ /** `{}` when the member has no default address. */
293
+ export interface WixGetDefaultMemberAddressResponse {
294
+ address?: WixMemberAddress;
295
+ }
296
+ export interface WixCreateMemberAddressResponse {
297
+ id?: string;
298
+ }
299
+ /** The update mask for `patch`: one LEAF path per field, comma-joined.
300
+ * Both halves are load-bearing (verified live): the service rejects an array mask
301
+ * with 400, and answers a mask naming the `fullName` message itself with 500 —
302
+ * only `fullName.firstName,fullName.lastName` works. An `undefined` field is not
303
+ * in the patch; `""` is, and clears that field. */
304
+ export declare function memberAddressFieldMask(patch: WixMemberAddress): string;
305
+ /** The signed-in member's saved addresses + which one is the default. */
306
+ export declare function listMemberAddresses(): Promise<WixListMemberAddressesResponse>;
307
+ /** One saved address by id, and whether it is the member's default. An unknown id
308
+ * rejects with 404 `cant_find_address_by_id`. */
309
+ export declare function getMemberAddress(addressId: string): Promise<WixGetMemberAddressResponse>;
310
+ /** The member's default address — `{}` when they have none. */
311
+ export declare function getDefaultMemberAddress(): Promise<WixGetDefaultMemberAddressResponse>;
312
+ /** Save a new address → its id. The member's first address becomes the default
313
+ * whatever `setAsDefault` says. */
314
+ export declare function createMemberAddress(address: WixMemberAddress, opts?: {
315
+ setAsDefault?: boolean;
316
+ }): Promise<WixCreateMemberAddressResponse>;
317
+ /** Change the fields named in `patch` (see memberAddressFieldMask). To change only
318
+ * which address is the default, call setDefaultMemberAddress. */
319
+ export declare function updateMemberAddress(addressId: string, patch: WixMemberAddress, opts?: {
320
+ setAsDefault?: boolean;
321
+ }): Promise<Record<string, never>>;
322
+ /** Remove a saved address from the member's book. */
323
+ export declare function deleteMemberAddress(addressId: string): Promise<Record<string, never>>;
324
+ /** Make a saved address the member's default (the one checkout preselects). */
325
+ export declare function setDefaultMemberAddress(addressId: string): Promise<Record<string, never>>;
326
+ export interface WixSavedCardInfo {
327
+ lastFourDigits?: string;
328
+ /** The card's first 4–6 digits. */
329
+ bin?: string;
330
+ expirationMonth?: number;
331
+ expirationYear?: number;
332
+ cardholderName?: string;
333
+ }
334
+ export interface WixSavedPaymentMethod {
335
+ id?: string;
336
+ revision?: string;
337
+ createdDate?: string;
338
+ updatedDate?: string;
339
+ siteMemberId?: string;
340
+ /** The one selected by default at checkout. */
341
+ primary?: boolean;
342
+ paymentMethod?: {
343
+ /** Legacy type id: `creditCard` | `payPal`. */
344
+ typeId?: string;
345
+ paymentMethodTypeId?: string;
346
+ paymentMethodBrandId?: string;
347
+ cardInfo?: WixSavedCardInfo;
348
+ };
349
+ merchantUseAllowed?: boolean;
350
+ }
351
+ export interface WixListSavedPaymentMethodsResponse {
352
+ savedPaymentMethods?: WixSavedPaymentMethod[];
353
+ pagingMetadata?: {
354
+ count?: number;
355
+ hasNext?: boolean;
356
+ cursors?: {
357
+ next?: string;
358
+ prev?: string;
359
+ };
360
+ };
361
+ }
362
+ /** The signed-in member's saved payment methods, most recently updated first. */
363
+ export declare function listMySavedPaymentMethods(opts?: {
364
+ cursor?: string;
365
+ limit?: number;
366
+ }): Promise<WixListSavedPaymentMethodsResponse>;
367
+ /** Remove a saved payment method. Wix makes another one primary when this one was. */
368
+ export declare function deleteSavedPaymentMethod(savedPaymentMethodId: string): Promise<Record<string, never>>;
369
+ /** Make a saved payment method the member's primary one. The service declares this
370
+ * as a GET (`@wix/auto_sdk_payments_saved-payment-methods` `markSavedPaymentMethodPrimary`). */
371
+ export declare function markSavedPaymentMethodPrimary(savedPaymentMethodId: string): Promise<Record<string, never>>;
@@ -34,7 +34,8 @@ async function get() {
34
34
  // Trust the host's own answer; fall back to inferring from whether a serve origin is set.
35
35
  environment: str(r?.environment) === "prod" ? "prod" : serveBaseUrl ? "prod" : "dev",
36
36
  serveBaseUrl: serveBaseUrl || null,
37
- platform: PLATFORMS.includes(platform) ? platform : "unknown"
37
+ platform: PLATFORMS.includes(platform) ? platform : "unknown",
38
+ memberSiteBound: r?.memberSiteBound === true
38
39
  };
39
40
  }
40
41
  async function displayVersion() {
@@ -34,7 +34,8 @@ async function get() {
34
34
  // Trust the host's own answer; fall back to inferring from whether a serve origin is set.
35
35
  environment: str(r?.environment) === "prod" ? "prod" : serveBaseUrl ? "prod" : "dev",
36
36
  serveBaseUrl: serveBaseUrl || null,
37
- platform: PLATFORMS.includes(platform) ? platform : "unknown"
37
+ platform: PLATFORMS.includes(platform) ? platform : "unknown",
38
+ memberSiteBound: r?.memberSiteBound === true
38
39
  };
39
40
  }
40
41
 
@@ -287,7 +287,8 @@ async function get() {
287
287
  // Trust the host's own answer; fall back to inferring from whether a serve origin is set.
288
288
  environment: str(r?.environment) === "prod" ? "prod" : serveBaseUrl ? "prod" : "dev",
289
289
  serveBaseUrl: serveBaseUrl || null,
290
- platform: PLATFORMS.includes(platform) ? platform : "unknown"
290
+ platform: PLATFORMS.includes(platform) ? platform : "unknown",
291
+ memberSiteBound: r?.memberSiteBound === true
291
292
  };
292
293
  }
293
294
 
@@ -107,6 +107,72 @@ function refundPayments(orderId, items) {
107
107
  if (!items || items.length === 0) throw new Error("refundPayments: at least one payment refund is required");
108
108
  return wixCall("POST", "/ecom/v1/order-billing/refund-payments", { orderId, paymentRefunds: items });
109
109
  }
110
+ var MEMBER_ADDRESSES_URL = "https://ecom.wix.com/_api/addresses-web/v1/addresses";
111
+ function memberAddressUrl(addressId, fn) {
112
+ if (!addressId) throw new Error(`${fn}: addressId is required`);
113
+ return `${MEMBER_ADDRESSES_URL}/${encodeURIComponent(addressId)}`;
114
+ }
115
+ function memberAddressFieldMask(patch) {
116
+ const paths = [];
117
+ const walk = (value, prefix) => {
118
+ for (const [key, v] of Object.entries(value)) {
119
+ if (v === void 0 || !prefix && key === "id") continue;
120
+ if (v !== null && typeof v === "object") walk(v, `${prefix}${key}.`);
121
+ else paths.push(`${prefix}${key}`);
122
+ }
123
+ };
124
+ walk(patch, "");
125
+ return paths.join(",");
126
+ }
127
+ function listMemberAddresses() {
128
+ return wixCall("GET", MEMBER_ADDRESSES_URL);
129
+ }
130
+ function getMemberAddress(addressId) {
131
+ return wixCall("GET", memberAddressUrl(addressId, "getMemberAddress"));
132
+ }
133
+ function getDefaultMemberAddress() {
134
+ return wixCall("GET", `${MEMBER_ADDRESSES_URL}/get-default-address`);
135
+ }
136
+ function createMemberAddress(address, opts = {}) {
137
+ return wixCall("POST", MEMBER_ADDRESSES_URL, {
138
+ address,
139
+ ...opts.setAsDefault ? { setAsDefault: true } : {}
140
+ });
141
+ }
142
+ function updateMemberAddress(addressId, patch, opts = {}) {
143
+ const url = memberAddressUrl(addressId, "updateMemberAddress");
144
+ const fieldMask = memberAddressFieldMask(patch);
145
+ if (!fieldMask) throw new Error("updateMemberAddress: patch names no field");
146
+ return wixCall("PATCH", url, {
147
+ address: { ...patch, id: addressId },
148
+ fieldMask,
149
+ ...opts.setAsDefault ? { setAsDefault: true } : {}
150
+ });
151
+ }
152
+ function deleteMemberAddress(addressId) {
153
+ return wixCall("DELETE", memberAddressUrl(addressId, "deleteMemberAddress"));
154
+ }
155
+ function setDefaultMemberAddress(addressId) {
156
+ if (!addressId) throw new Error("setDefaultMemberAddress: addressId is required");
157
+ return wixCall("POST", `${MEMBER_ADDRESSES_URL}/default`, { id: addressId });
158
+ }
159
+ var SAVED_PAYMENT_METHODS_PATH = "/_api/payments/saved-payment-methods/v1/saved-payment-methods";
160
+ function savedPaymentMethodPath(savedPaymentMethodId, fn) {
161
+ if (!savedPaymentMethodId) throw new Error(`${fn}: savedPaymentMethodId is required`);
162
+ return `${SAVED_PAYMENT_METHODS_PATH}/${encodeURIComponent(savedPaymentMethodId)}`;
163
+ }
164
+ function listMySavedPaymentMethods(opts = {}) {
165
+ const query = ["siteMemberId=me"];
166
+ if (opts.limit) query.push(`paging.limit=${Math.max(1, Math.min(100, Math.floor(opts.limit)))}`);
167
+ if (opts.cursor) query.push(`paging.cursor=${encodeURIComponent(opts.cursor)}`);
168
+ return wixCall("GET", `${SAVED_PAYMENT_METHODS_PATH}?${query.join("&")}`);
169
+ }
170
+ function deleteSavedPaymentMethod(savedPaymentMethodId) {
171
+ return wixCall("DELETE", savedPaymentMethodPath(savedPaymentMethodId, "deleteSavedPaymentMethod"));
172
+ }
173
+ function markSavedPaymentMethodPrimary(savedPaymentMethodId) {
174
+ return wixCall("GET", `${savedPaymentMethodPath(savedPaymentMethodId, "markSavedPaymentMethodPrimary")}/mark-primary`);
175
+ }
110
176
 
111
177
  // ../../stdlib/wix-sdk/ecom/src/index.ts
112
178
  function wixCallHeaders(opts) {
@@ -140,18 +206,29 @@ export {
140
206
  cancelOrder,
141
207
  createCheckout,
142
208
  createCheckoutFromCurrentCart,
209
+ createMemberAddress,
143
210
  createOrder,
144
211
  createOrderFulfillment,
212
+ deleteMemberAddress,
213
+ deleteSavedPaymentMethod,
145
214
  getCurrentCart,
215
+ getDefaultMemberAddress,
216
+ getMemberAddress,
146
217
  getOrder,
147
218
  isEmptyCurrentCartError,
148
219
  isOrdersForbiddenError,
220
+ listMemberAddresses,
221
+ listMySavedPaymentMethods,
149
222
  listOrderTransactions,
150
223
  markOrderAsPaid,
224
+ markSavedPaymentMethodPrimary,
225
+ memberAddressFieldMask,
151
226
  refundPayments,
152
227
  removeLineItemsFromCurrentCart,
153
228
  searchOrders,
229
+ setDefaultMemberAddress,
154
230
  updateLineItemsQuantity,
231
+ updateMemberAddress,
155
232
  wixCall
156
233
  };
157
234
  //# sourceMappingURL=wix-ecom.mjs.map