@proxima-io/storefront-core 0.3.0 → 0.8.2

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/README.md +68 -17
  2. package/dist/addresses/address-book.d.ts +36 -0
  3. package/dist/addresses/address-book.d.ts.map +1 -0
  4. package/dist/addresses/address-book.js +62 -0
  5. package/dist/addresses/address-book.js.map +1 -0
  6. package/dist/analytics/analytics.d.ts +28 -0
  7. package/dist/analytics/analytics.d.ts.map +1 -0
  8. package/dist/analytics/analytics.js +124 -0
  9. package/dist/analytics/analytics.js.map +1 -0
  10. package/dist/analytics/attribution.d.ts +28 -0
  11. package/dist/analytics/attribution.d.ts.map +1 -0
  12. package/dist/analytics/attribution.js +116 -0
  13. package/dist/analytics/attribution.js.map +1 -0
  14. package/dist/analytics/session.d.ts +12 -0
  15. package/dist/analytics/session.d.ts.map +1 -0
  16. package/dist/analytics/session.js +62 -0
  17. package/dist/analytics/session.js.map +1 -0
  18. package/dist/analytics/trackers.d.ts +29 -0
  19. package/dist/analytics/trackers.d.ts.map +1 -0
  20. package/dist/analytics/trackers.js +30 -0
  21. package/dist/analytics/trackers.js.map +1 -0
  22. package/dist/api/endpoints.d.ts +70 -0
  23. package/dist/api/endpoints.d.ts.map +1 -0
  24. package/dist/api/endpoints.js +70 -0
  25. package/dist/api/endpoints.js.map +1 -0
  26. package/dist/api/index.d.ts +3 -0
  27. package/dist/api/index.d.ts.map +1 -0
  28. package/dist/api/index.js +3 -0
  29. package/dist/api/index.js.map +1 -0
  30. package/dist/api/storefront-client.d.ts +50 -0
  31. package/dist/api/storefront-client.d.ts.map +1 -0
  32. package/dist/api/storefront-client.js +123 -0
  33. package/dist/api/storefront-client.js.map +1 -0
  34. package/dist/buyer/auth.d.ts +105 -0
  35. package/dist/buyer/auth.d.ts.map +1 -0
  36. package/dist/buyer/auth.js +215 -0
  37. package/dist/buyer/auth.js.map +1 -0
  38. package/dist/cache/cache.d.ts +31 -0
  39. package/dist/cache/cache.d.ts.map +1 -0
  40. package/dist/cache/cache.js +71 -0
  41. package/dist/cache/cache.js.map +1 -0
  42. package/dist/campaign/countdown.d.ts +40 -0
  43. package/dist/campaign/countdown.d.ts.map +1 -0
  44. package/dist/campaign/countdown.js +71 -0
  45. package/dist/campaign/countdown.js.map +1 -0
  46. package/dist/cart/cart.d.ts +57 -0
  47. package/dist/cart/cart.d.ts.map +1 -0
  48. package/dist/cart/cart.js +64 -0
  49. package/dist/cart/cart.js.map +1 -0
  50. package/dist/catalog/listings.d.ts +87 -0
  51. package/dist/catalog/listings.d.ts.map +1 -0
  52. package/dist/catalog/listings.js +140 -0
  53. package/dist/catalog/listings.js.map +1 -0
  54. package/dist/cms/payment-methods.d.ts +13 -0
  55. package/dist/cms/payment-methods.d.ts.map +1 -0
  56. package/dist/cms/payment-methods.js +41 -0
  57. package/dist/cms/payment-methods.js.map +1 -0
  58. package/dist/cms/website.d.ts +76 -0
  59. package/dist/cms/website.d.ts.map +1 -0
  60. package/dist/cms/website.js +146 -0
  61. package/dist/cms/website.js.map +1 -0
  62. package/dist/cookie-consent/consent.d.ts +22 -0
  63. package/dist/cookie-consent/consent.d.ts.map +1 -0
  64. package/dist/cookie-consent/consent.js +93 -0
  65. package/dist/cookie-consent/consent.js.map +1 -0
  66. package/dist/index.d.ts +45 -1310
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +42 -1576
  69. package/dist/index.js.map +1 -1
  70. package/dist/internal/http.d.ts +5 -0
  71. package/dist/internal/http.d.ts.map +1 -0
  72. package/dist/internal/http.js +27 -0
  73. package/dist/internal/http.js.map +1 -0
  74. package/dist/orders/guest.d.ts +9 -0
  75. package/dist/orders/guest.d.ts.map +1 -0
  76. package/dist/orders/guest.js +30 -0
  77. package/dist/orders/guest.js.map +1 -0
  78. package/dist/orders/orders.d.ts +23 -0
  79. package/dist/orders/orders.d.ts.map +1 -0
  80. package/dist/orders/orders.js +33 -0
  81. package/dist/orders/orders.js.map +1 -0
  82. package/dist/seo/engine-url.d.ts +26 -0
  83. package/dist/seo/engine-url.d.ts.map +1 -0
  84. package/dist/seo/engine-url.js +111 -0
  85. package/dist/seo/engine-url.js.map +1 -0
  86. package/dist/seo/hreflang.d.ts +19 -0
  87. package/dist/seo/hreflang.d.ts.map +1 -0
  88. package/dist/seo/hreflang.js +52 -0
  89. package/dist/seo/hreflang.js.map +1 -0
  90. package/dist/seo/indexnow.d.ts +24 -0
  91. package/dist/seo/indexnow.d.ts.map +1 -0
  92. package/dist/seo/indexnow.js +50 -0
  93. package/dist/seo/indexnow.js.map +1 -0
  94. package/dist/seo/json-ld.d.ts +57 -0
  95. package/dist/seo/json-ld.d.ts.map +1 -0
  96. package/dist/seo/json-ld.js +180 -0
  97. package/dist/seo/json-ld.js.map +1 -0
  98. package/dist/seo/page-seo.d.ts +21 -0
  99. package/dist/seo/page-seo.d.ts.map +1 -0
  100. package/dist/seo/page-seo.js +68 -0
  101. package/dist/seo/page-seo.js.map +1 -0
  102. package/dist/seo/robots.d.ts +23 -0
  103. package/dist/seo/robots.d.ts.map +1 -0
  104. package/dist/seo/robots.js +35 -0
  105. package/dist/seo/robots.js.map +1 -0
  106. package/dist/seo/sitemap.d.ts +35 -0
  107. package/dist/seo/sitemap.d.ts.map +1 -0
  108. package/dist/seo/sitemap.js +186 -0
  109. package/dist/seo/sitemap.js.map +1 -0
  110. package/dist/server/process.d.ts +136 -0
  111. package/dist/server/process.d.ts.map +1 -0
  112. package/dist/server/process.js +143 -0
  113. package/dist/server/process.js.map +1 -0
  114. package/dist/types/address.d.ts +40 -0
  115. package/dist/types/address.d.ts.map +1 -0
  116. package/dist/types/address.js +2 -0
  117. package/dist/types/address.js.map +1 -0
  118. package/dist/types/analytics.d.ts +79 -0
  119. package/dist/types/analytics.d.ts.map +1 -0
  120. package/dist/types/analytics.js +2 -0
  121. package/dist/types/analytics.js.map +1 -0
  122. package/dist/types/business.d.ts +95 -0
  123. package/dist/types/business.d.ts.map +1 -0
  124. package/dist/types/business.js +2 -0
  125. package/dist/types/business.js.map +1 -0
  126. package/dist/types/buyer.d.ts +144 -0
  127. package/dist/types/buyer.d.ts.map +1 -0
  128. package/dist/types/buyer.js +45 -0
  129. package/dist/types/buyer.js.map +1 -0
  130. package/dist/types/campaign.d.ts +51 -0
  131. package/dist/types/campaign.d.ts.map +1 -0
  132. package/dist/types/campaign.js +2 -0
  133. package/dist/types/campaign.js.map +1 -0
  134. package/dist/types/cart.d.ts +40 -0
  135. package/dist/types/cart.d.ts.map +1 -0
  136. package/dist/types/cart.js +2 -0
  137. package/dist/types/cart.js.map +1 -0
  138. package/dist/types/catalog.d.ts +164 -0
  139. package/dist/types/catalog.d.ts.map +1 -0
  140. package/dist/types/catalog.js +2 -0
  141. package/dist/types/catalog.js.map +1 -0
  142. package/dist/types/cms.d.ts +200 -0
  143. package/dist/types/cms.d.ts.map +1 -0
  144. package/dist/types/cms.js +2 -0
  145. package/dist/types/cms.js.map +1 -0
  146. package/dist/types/cookie-consent.d.ts +18 -0
  147. package/dist/types/cookie-consent.d.ts.map +1 -0
  148. package/dist/types/cookie-consent.js +7 -0
  149. package/dist/types/cookie-consent.js.map +1 -0
  150. package/dist/types/guest-order.d.ts +16 -0
  151. package/dist/types/guest-order.d.ts.map +1 -0
  152. package/dist/types/guest-order.js +9 -0
  153. package/dist/types/guest-order.js.map +1 -0
  154. package/dist/types/listing.d.ts +14 -0
  155. package/dist/types/listing.d.ts.map +1 -0
  156. package/dist/types/listing.js +2 -0
  157. package/dist/types/listing.js.map +1 -0
  158. package/dist/types/order.d.ts +40 -0
  159. package/dist/types/order.d.ts.map +1 -0
  160. package/dist/types/order.js +2 -0
  161. package/dist/types/order.js.map +1 -0
  162. package/dist/types/seo.d.ts +96 -0
  163. package/dist/types/seo.d.ts.map +1 -0
  164. package/dist/types/seo.js +2 -0
  165. package/dist/types/seo.js.map +1 -0
  166. package/dist/types/server-env.d.ts +19 -0
  167. package/dist/types/server-env.d.ts.map +1 -0
  168. package/dist/types/server-env.js +10 -0
  169. package/dist/types/server-env.js.map +1 -0
  170. package/dist/types/wishlist.d.ts +10 -0
  171. package/dist/types/wishlist.d.ts.map +1 -0
  172. package/dist/types/wishlist.js +2 -0
  173. package/dist/types/wishlist.js.map +1 -0
  174. package/dist/wishlist/wishlist.d.ts +28 -0
  175. package/dist/wishlist/wishlist.d.ts.map +1 -0
  176. package/dist/wishlist/wishlist.js +42 -0
  177. package/dist/wishlist/wishlist.js.map +1 -0
  178. package/package.json +1 -1
@@ -0,0 +1,144 @@
1
+ /** Well-known error detail strings returned by the API. Use these for comparison
2
+ * instead of hardcoding strings in your storefront.
3
+ *
4
+ * @example
5
+ * try { await resetPassword(...) } catch (e: any) {
6
+ * if (e.data?.detail === BUYER_AUTH_ERRORS.RESET_TOKEN_INVALID) { ... }
7
+ * }
8
+ */
9
+ export declare const BUYER_AUTH_ERRORS: {
10
+ readonly RESET_TOKEN_INVALID: "RESET_TOKEN_INVALID";
11
+ readonly VERIFY_TOKEN_INVALID: "VERIFY_TOKEN_INVALID";
12
+ readonly EMAIL_ALREADY_VERIFIED: "EMAIL_ALREADY_VERIFIED";
13
+ readonly EMAIL_TAKEN: "Email already registered in this store";
14
+ readonly MISSING_REQUIRED_FIELDS: "MISSING_REQUIRED_FIELDS";
15
+ /** Turnstile enabled but captcha_token missing or invalid (HTTP 422). */
16
+ readonly CAPTCHA_REQUIRED: "CAPTCHA_REQUIRED";
17
+ };
18
+ /** True when the API rejected auth because Turnstile verification failed or was omitted. */
19
+ export declare function isCaptchaRequiredError(err: unknown): boolean;
20
+ /** Token pair returned by /store/auth/register, /store/auth/login, /store/auth/refresh */
21
+ export interface BuyerSession {
22
+ access_token: string;
23
+ refresh_token: string | null;
24
+ token_type: string;
25
+ }
26
+ /** Full customer profile from GET /store/me */
27
+ export interface BuyerProfile {
28
+ id: number;
29
+ email: string;
30
+ business_id: string;
31
+ full_name: string | null;
32
+ phone: string | null;
33
+ doc_type: number | null;
34
+ doc_number: string | null;
35
+ birth_date: string | null;
36
+ newsletter_subscribed: boolean;
37
+ avatar_url: string | null;
38
+ metadata: Record<string, any>;
39
+ registration_source: string;
40
+ last_login_at: string | null;
41
+ is_active: boolean;
42
+ created_at: string;
43
+ updated_at: string;
44
+ }
45
+ /** A single resolved field in the storefront registration form. */
46
+ export interface RegistrationFormField {
47
+ name: string;
48
+ label: string;
49
+ /** "text" | "password" | "phone" | "date" | "select" | "boolean" | "image" | "address" | "custom" */
50
+ type: string;
51
+ /** "text_input" | "phone_input" | "date_picker" | "select" | "checkbox" | "toggle"
52
+ * | "image_upload" | "ubigeo_selector" | "google_maps_picker" | "manual" */
53
+ widget: string;
54
+ widget_config: Record<string, any>;
55
+ required: boolean;
56
+ order: number;
57
+ options: string[] | null;
58
+ }
59
+ /** A single step in the form (always at least one). */
60
+ export interface RegistrationFormStep {
61
+ id: string;
62
+ label: string;
63
+ order: number;
64
+ skippable: boolean;
65
+ fields: RegistrationFormField[];
66
+ }
67
+ /** Full resolved form schema from GET /store/auth/registration-form.
68
+ * `email` and `password` are always present in steps[0].fields — no need to add them. */
69
+ export interface RegistrationForm {
70
+ mode: "single_step" | "multi_step";
71
+ steps: RegistrationFormStep[];
72
+ }
73
+ /** Address submitted during customer registration. */
74
+ export interface AddressInRegistration {
75
+ line1: string;
76
+ line2?: string | null;
77
+ reference?: string | null;
78
+ /** 6-digit Peruvian ubigeo code, e.g. "150101" */
79
+ ubigeo_code?: string | null;
80
+ latitude?: number | null;
81
+ longitude?: number | null;
82
+ /** "google_maps" | "ubigeo_centroid" | "manual" */
83
+ geocoding_source?: string | null;
84
+ }
85
+ /** All accepted fields for POST /store/auth/register.
86
+ * Which fields are required depends on the merchant's registration form configuration.
87
+ * Use fetchRegistrationForm() to know which fields to show and which are required. */
88
+ export interface BuyerRegisterParams {
89
+ email: string;
90
+ password: string;
91
+ fullName?: string | null;
92
+ phone?: string | null;
93
+ /** 1=DNI 2=CE 3=Pasaporte 6=RUC */
94
+ docType?: number | null;
95
+ docNumber?: string | null;
96
+ /** ISO date "YYYY-MM-DD" */
97
+ birthDate?: string | null;
98
+ newsletterSubscribed?: boolean;
99
+ /** Default "organic". */
100
+ registrationSource?: string;
101
+ /** Custom fields configured by the merchant — keyed by field name. */
102
+ metadata?: Record<string, any>;
103
+ address?: AddressInRegistration | null;
104
+ /** Cloudflare Turnstile token from the widget — required when API has TURNSTILE_ENABLED=true */
105
+ captchaToken?: string | null;
106
+ }
107
+ /** A single field that was missing in the registration request. */
108
+ export interface MissingField {
109
+ field: string;
110
+ msg: string;
111
+ }
112
+ /**
113
+ * Thrown when the API returns 422 MISSING_REQUIRED_FIELDS.
114
+ * Use `error.missingFields` to mark exactly which fields are invalid in the UI.
115
+ *
116
+ * @example
117
+ * try {
118
+ * await registerBuyer(config, website, params);
119
+ * } catch (e) {
120
+ * if (e instanceof MissingFieldsError) {
121
+ * for (const { field } of e.missingFields) markFieldError(field);
122
+ * }
123
+ * }
124
+ */
125
+ export declare class MissingFieldsError extends Error {
126
+ status: 422;
127
+ missingFields: MissingField[];
128
+ constructor(missingFields: MissingField[]);
129
+ }
130
+ /** Fields the customer can update via PATCH /store/me/profile. All optional. */
131
+ export interface BuyerProfileUpdateParams {
132
+ fullName?: string | null;
133
+ phone?: string | null;
134
+ /** 1=DNI 2=CE 3=Pasaporte 6=RUC */
135
+ docType?: number | null;
136
+ docNumber?: string | null;
137
+ /** ISO date "YYYY-MM-DD" */
138
+ birthDate?: string | null;
139
+ newsletterSubscribed?: boolean;
140
+ avatarUrl?: string | null;
141
+ /** If provided, changes the customer's password. */
142
+ password?: string;
143
+ }
144
+ //# sourceMappingURL=buyer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buyer.d.ts","sourceRoot":"","sources":["../../src/types/buyer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /** Well-known error detail strings returned by the API. Use these for comparison
2
+ * instead of hardcoding strings in your storefront.
3
+ *
4
+ * @example
5
+ * try { await resetPassword(...) } catch (e: any) {
6
+ * if (e.data?.detail === BUYER_AUTH_ERRORS.RESET_TOKEN_INVALID) { ... }
7
+ * }
8
+ */
9
+ export const BUYER_AUTH_ERRORS = {
10
+ RESET_TOKEN_INVALID: "RESET_TOKEN_INVALID",
11
+ VERIFY_TOKEN_INVALID: "VERIFY_TOKEN_INVALID",
12
+ EMAIL_ALREADY_VERIFIED: "EMAIL_ALREADY_VERIFIED",
13
+ EMAIL_TAKEN: "Email already registered in this store",
14
+ MISSING_REQUIRED_FIELDS: "MISSING_REQUIRED_FIELDS",
15
+ /** Turnstile enabled but captcha_token missing or invalid (HTTP 422). */
16
+ CAPTCHA_REQUIRED: "CAPTCHA_REQUIRED",
17
+ };
18
+ /** True when the API rejected auth because Turnstile verification failed or was omitted. */
19
+ export function isCaptchaRequiredError(err) {
20
+ const e = err;
21
+ return e?.status === 422 && e?.data?.detail === BUYER_AUTH_ERRORS.CAPTCHA_REQUIRED;
22
+ }
23
+ /**
24
+ * Thrown when the API returns 422 MISSING_REQUIRED_FIELDS.
25
+ * Use `error.missingFields` to mark exactly which fields are invalid in the UI.
26
+ *
27
+ * @example
28
+ * try {
29
+ * await registerBuyer(config, website, params);
30
+ * } catch (e) {
31
+ * if (e instanceof MissingFieldsError) {
32
+ * for (const { field } of e.missingFields) markFieldError(field);
33
+ * }
34
+ * }
35
+ */
36
+ export class MissingFieldsError extends Error {
37
+ status = 422;
38
+ missingFields;
39
+ constructor(missingFields) {
40
+ super("MISSING_REQUIRED_FIELDS");
41
+ this.name = "MissingFieldsError";
42
+ this.missingFields = missingFields;
43
+ }
44
+ }
45
+ //# sourceMappingURL=buyer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buyer.js","sourceRoot":"","sources":["../../src/types/buyer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,mBAAmB,EAAK,qBAAqB;IAC7C,oBAAoB,EAAI,sBAAsB;IAC9C,sBAAsB,EAAE,wBAAwB;IAChD,WAAW,EAAa,wCAAwC;IAChE,uBAAuB,EAAE,yBAAyB;IAClD,yEAAyE;IACzE,gBAAgB,EAAQ,kBAAkB;CAClC,CAAC;AAEX,4FAA4F;AAC5F,MAAM,UAAU,sBAAsB,CAAC,GAAY;IACjD,MAAM,CAAC,GAAG,GAAsD,CAAC;IACjE,OAAO,CAAC,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,KAAK,iBAAiB,CAAC,gBAAgB,CAAC;AACrF,CAAC;AAkHD;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3C,MAAM,GAAG,GAAY,CAAC;IACtB,aAAa,CAAiB;IAC9B,YAAY,aAA6B;QACvC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;CACF"}
@@ -0,0 +1,51 @@
1
+ export interface CampaignScheduleMeta {
2
+ /** ISO UTC datetime — null if not configured. */
3
+ countdown_target_at: string | null;
4
+ /** Which field the target was sourced from. */
5
+ countdown_target_source: "section_attribute" | "config.display.countdown_target_at" | "active_until" | null;
6
+ }
7
+ /**
8
+ * Full shape of a resolved Smart Collection as returned in section
9
+ * `attributes_meta` or `resolved_data` by the composition API.
10
+ */
11
+ export interface ResolvedSmartCollectionInfo {
12
+ collection: {
13
+ id: number;
14
+ name: string;
15
+ type: string;
16
+ is_active: boolean;
17
+ active_from: string | null;
18
+ active_until: string | null;
19
+ config: {
20
+ display?: {
21
+ countdown_target_at?: string | null;
22
+ };
23
+ };
24
+ website_id?: string | null;
25
+ cache_ttl?: number;
26
+ contract_type?: string | null;
27
+ };
28
+ schedule: {
29
+ data_window: {
30
+ from: string | null;
31
+ until: string | null;
32
+ };
33
+ countdown_target_at: string | null;
34
+ countdown_target_source: string | null;
35
+ };
36
+ meta: {
37
+ inactive: boolean;
38
+ inactive_reason: "disabled" | "before_start" | "after_end" | null;
39
+ };
40
+ }
41
+ /** Remaining-time snapshot for a countdown. */
42
+ export interface CampaignCountdownState {
43
+ days: number;
44
+ hours: number;
45
+ minutes: number;
46
+ seconds: number;
47
+ /** True when targetAt is null or already in the past. */
48
+ expired: boolean;
49
+ targetAt: string | null;
50
+ }
51
+ //# sourceMappingURL=campaign.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"campaign.d.ts","sourceRoot":"","sources":["../../src/types/campaign.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,+CAA+C;IAC/C,uBAAuB,EACnB,mBAAmB,GACnB,oCAAoC,GACpC,cAAc,GACd,IAAI,CAAC;CACV;AAED;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C,UAAU,EAAE;QACV,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,OAAO,CAAC;QACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,MAAM,EAAE;YAAE,OAAO,CAAC,EAAE;gBAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;aAAE,CAAA;SAAE,CAAC;QAC9D,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B,CAAC;IACF,QAAQ,EAAE;QACR,WAAW,EAAE;YAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAC;QAC3D,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;KACxC,CAAC;IACF,IAAI,EAAE;QACJ,QAAQ,EAAE,OAAO,CAAC;QAClB,eAAe,EAAE,UAAU,GAAG,cAAc,GAAG,WAAW,GAAG,IAAI,CAAC;KACnE,CAAC;CACH;AAED,+CAA+C;AAC/C,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=campaign.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"campaign.js","sourceRoot":"","sources":["../../src/types/campaign.ts"],"names":[],"mappings":""}
@@ -0,0 +1,40 @@
1
+ /** A line item inside a Cart. */
2
+ export interface CartItem {
3
+ id: number;
4
+ product_variant_id: number;
5
+ quantity: number;
6
+ metadata?: {
7
+ name?: string | null;
8
+ slug?: string | null;
9
+ brand?: string | null;
10
+ image?: string | null;
11
+ unit_price?: number | null;
12
+ unit_price_string?: string | null;
13
+ } | null;
14
+ }
15
+ export interface CartTotals {
16
+ subtotal: number;
17
+ formatted_subtotal: string;
18
+ currency: string;
19
+ }
20
+ /** Shopping cart for a guest session or authenticated customer. */
21
+ export interface Cart {
22
+ id: string;
23
+ session_id?: string | null;
24
+ customer_id?: number | null;
25
+ items: CartItem[];
26
+ totals: CartTotals;
27
+ }
28
+ /** Customer and shipping details submitted at checkout. */
29
+ export interface CheckoutRequest {
30
+ customer_name: string;
31
+ customer_phone: string;
32
+ customer_email?: string | null;
33
+ shipping_address?: string | null;
34
+ notes?: string | null;
35
+ coupon_code?: string | null;
36
+ customer_doc_type?: number | null;
37
+ customer_doc_number?: string | null;
38
+ address_id?: number | null;
39
+ }
40
+ //# sourceMappingURL=cart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cart.d.ts","sourceRoot":"","sources":["../../src/types/cart.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACnC,GAAG,IAAI,CAAC;CACV;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,mEAAmE;AACnE,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,2DAA2D;AAC3D,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cart.js","sourceRoot":"","sources":["../../src/types/cart.ts"],"names":[],"mappings":""}
@@ -0,0 +1,164 @@
1
+ /** Campaign / Promotion driving this product's price (or matching the
2
+ * product by targeting rules when direct-sale ties campaign on price).
3
+ * Sections rendering this product can pull badge / theme / countdown
4
+ * from here instead of pinning to a campaign by slug. */
5
+ export interface StorefrontAppliedCampaign {
6
+ id: number;
7
+ slug?: string | null;
8
+ name?: Record<string, string> | null;
9
+ badge_text?: string | null;
10
+ theme_color?: string | null;
11
+ active_until?: string | null;
12
+ hero_copy?: Record<string, string> | null;
13
+ }
14
+ /** Lightweight product representation used in listings, search results, and smart collections. */
15
+ export interface StorefrontProductSummary {
16
+ id: number;
17
+ name: string;
18
+ slug: string;
19
+ price: number;
20
+ price_formatted?: string | null;
21
+ image_url: string;
22
+ brand_name?: string | null;
23
+ category_name?: string | null;
24
+ /** Promotional badge text, e.g. "OFERTA", "NUEVO" */
25
+ badge?: string | null;
26
+ rating: number;
27
+ currency?: string | null;
28
+ /** First variant id — use this when calling addToCart from a listing card */
29
+ default_variant_id?: number | null;
30
+ /** Campaign whose branding (badge, theme, countdown) should be shown
31
+ * alongside this product. Populated automatically when an active
32
+ * Promotion targets the product. */
33
+ applied_promotion?: StorefrontAppliedCampaign | null;
34
+ }
35
+ /** Pagination metadata returned by listing endpoints. */
36
+ export interface StorefrontPagination {
37
+ page: number;
38
+ page_size: number;
39
+ total: number;
40
+ total_pages: number;
41
+ }
42
+ export interface StorefrontSortOption {
43
+ value: string;
44
+ label: string;
45
+ }
46
+ export interface StorefrontFacetOption {
47
+ value: string;
48
+ label: string;
49
+ count: number;
50
+ }
51
+ /** Response from GET /storefront/search */
52
+ export interface StorefrontSearchResponse {
53
+ query: string;
54
+ hits: StorefrontProductSummary[];
55
+ total: number;
56
+ }
57
+ /** Response from GET /storefront/products (all-products listing with facets) */
58
+ export interface StorefrontProductListingResponse {
59
+ items: StorefrontProductSummary[];
60
+ pagination: StorefrontPagination;
61
+ sort_current: string;
62
+ sort_options: StorefrontSortOption[];
63
+ brand_facets: StorefrontFacetOption[];
64
+ category_facets: StorefrontFacetOption[];
65
+ }
66
+ export interface StorefrontCategorySummary {
67
+ id: number;
68
+ name: string;
69
+ slug: string;
70
+ image_url?: string | null;
71
+ }
72
+ export interface StorefrontBrandSummary {
73
+ id: number;
74
+ name: string;
75
+ slug: string;
76
+ logo_url?: string | null;
77
+ }
78
+ /** Response from GET /storefront/categories/{slug}/products */
79
+ export interface StorefrontCategoryListingResponse {
80
+ category: StorefrontCategorySummary;
81
+ items: StorefrontProductSummary[];
82
+ pagination: StorefrontPagination;
83
+ sort_current: string;
84
+ sort_options: StorefrontSortOption[];
85
+ brand_facets: StorefrontFacetOption[];
86
+ }
87
+ /** Response from GET /storefront/brands/{slug}/products */
88
+ export interface StorefrontBrandListingResponse {
89
+ brand: StorefrontBrandSummary;
90
+ items: StorefrontProductSummary[];
91
+ pagination: StorefrontPagination;
92
+ sort_current: string;
93
+ sort_options: StorefrontSortOption[];
94
+ category_facets: StorefrontFacetOption[];
95
+ }
96
+ export interface StorefrontCategoryDirectoryItem {
97
+ id: number;
98
+ name: string;
99
+ slug: string;
100
+ href: string;
101
+ image_url?: string | null;
102
+ description?: string | null;
103
+ product_count: number;
104
+ }
105
+ export interface StorefrontBrandDirectoryItem {
106
+ id: number;
107
+ name: string;
108
+ slug: string;
109
+ href: string;
110
+ logo_url?: string | null;
111
+ product_count: number;
112
+ }
113
+ export interface StorefrontCategoryDirectoryResponse {
114
+ items: StorefrontCategoryDirectoryItem[];
115
+ total: number;
116
+ }
117
+ export interface StorefrontBrandDirectoryResponse {
118
+ items: StorefrontBrandDirectoryItem[];
119
+ total: number;
120
+ }
121
+ /** Shared params for product listing endpoints — sort, pagination, filters. */
122
+ export interface StorefrontListingParams {
123
+ /** Page number, starting at 1 */
124
+ page?: number;
125
+ /** Items per page (1–60). Default: 24 */
126
+ pageSize?: number;
127
+ /** "newest" | "price_asc" | "price_desc" | "popular". Default: "newest" */
128
+ sort?: string;
129
+ /** Locale for translated names, e.g. "es", "en" */
130
+ locale?: string;
131
+ /** ISO currency code, e.g. "PEN", "USD" */
132
+ currency?: string;
133
+ }
134
+ /** Coupon validation result from GET /storefront/coupons/validate */
135
+ export interface CouponValidationResult {
136
+ valid: boolean;
137
+ code?: string;
138
+ /** Amount to deduct from the order total */
139
+ discount_amount?: number;
140
+ /** "percentage" | "fixed" */
141
+ discount_type?: string;
142
+ discount_value?: number;
143
+ /** Error message when valid=false */
144
+ error?: string;
145
+ }
146
+ /**
147
+ * A single node in the category navigation tree.
148
+ * `children` contains nodes at the next depth level (up to `max_depth`).
149
+ */
150
+ export interface CategoryNavNode {
151
+ id: number;
152
+ slug: string;
153
+ name: string;
154
+ /** Storefront href — always `/categoria/{slug}` */
155
+ href: string;
156
+ image_url?: string | null;
157
+ product_count: number;
158
+ children: CategoryNavNode[];
159
+ }
160
+ export interface CategoryNavTreeResponse {
161
+ nodes: CategoryNavNode[];
162
+ total: number;
163
+ }
164
+ //# sourceMappingURL=catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/types/catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/types/catalog.ts"],"names":[],"mappings":""}