@proxima-io/storefront-core 0.2.0 → 0.8.1

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 (174) hide show
  1. package/README.md +23 -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 +74 -0
  59. package/dist/cms/website.d.ts.map +1 -0
  60. package/dist/cms/website.js +144 -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/fixtures-commerce.d.ts +140 -0
  67. package/dist/fixtures-commerce.d.ts.map +1 -0
  68. package/dist/fixtures-commerce.js +743 -0
  69. package/dist/fixtures-commerce.js.map +1 -0
  70. package/dist/index.d.ts +43 -1309
  71. package/dist/index.d.ts.map +1 -1
  72. package/dist/index.js +40 -1575
  73. package/dist/index.js.map +1 -1
  74. package/dist/internal/http.d.ts +5 -0
  75. package/dist/internal/http.d.ts.map +1 -0
  76. package/dist/internal/http.js +27 -0
  77. package/dist/internal/http.js.map +1 -0
  78. package/dist/orders/guest.d.ts +9 -0
  79. package/dist/orders/guest.d.ts.map +1 -0
  80. package/dist/orders/guest.js +30 -0
  81. package/dist/orders/guest.js.map +1 -0
  82. package/dist/orders/orders.d.ts +23 -0
  83. package/dist/orders/orders.d.ts.map +1 -0
  84. package/dist/orders/orders.js +33 -0
  85. package/dist/orders/orders.js.map +1 -0
  86. package/dist/seo/indexnow.d.ts +24 -0
  87. package/dist/seo/indexnow.d.ts.map +1 -0
  88. package/dist/seo/indexnow.js +50 -0
  89. package/dist/seo/indexnow.js.map +1 -0
  90. package/dist/seo/json-ld.d.ts +52 -0
  91. package/dist/seo/json-ld.d.ts.map +1 -0
  92. package/dist/seo/json-ld.js +175 -0
  93. package/dist/seo/json-ld.js.map +1 -0
  94. package/dist/seo/page-seo.d.ts +21 -0
  95. package/dist/seo/page-seo.d.ts.map +1 -0
  96. package/dist/seo/page-seo.js +68 -0
  97. package/dist/seo/page-seo.js.map +1 -0
  98. package/dist/seo/robots.d.ts +23 -0
  99. package/dist/seo/robots.d.ts.map +1 -0
  100. package/dist/seo/robots.js +35 -0
  101. package/dist/seo/robots.js.map +1 -0
  102. package/dist/seo/sitemap.d.ts +35 -0
  103. package/dist/seo/sitemap.d.ts.map +1 -0
  104. package/dist/seo/sitemap.js +131 -0
  105. package/dist/seo/sitemap.js.map +1 -0
  106. package/dist/server/process.d.ts +136 -0
  107. package/dist/server/process.d.ts.map +1 -0
  108. package/dist/server/process.js +143 -0
  109. package/dist/server/process.js.map +1 -0
  110. package/dist/types/address.d.ts +40 -0
  111. package/dist/types/address.d.ts.map +1 -0
  112. package/dist/types/address.js +2 -0
  113. package/dist/types/address.js.map +1 -0
  114. package/dist/types/analytics.d.ts +79 -0
  115. package/dist/types/analytics.d.ts.map +1 -0
  116. package/dist/types/analytics.js +2 -0
  117. package/dist/types/analytics.js.map +1 -0
  118. package/dist/types/business.d.ts +95 -0
  119. package/dist/types/business.d.ts.map +1 -0
  120. package/dist/types/business.js +2 -0
  121. package/dist/types/business.js.map +1 -0
  122. package/dist/types/buyer.d.ts +144 -0
  123. package/dist/types/buyer.d.ts.map +1 -0
  124. package/dist/types/buyer.js +45 -0
  125. package/dist/types/buyer.js.map +1 -0
  126. package/dist/types/campaign.d.ts +51 -0
  127. package/dist/types/campaign.d.ts.map +1 -0
  128. package/dist/types/campaign.js +2 -0
  129. package/dist/types/campaign.js.map +1 -0
  130. package/dist/types/cart.d.ts +40 -0
  131. package/dist/types/cart.d.ts.map +1 -0
  132. package/dist/types/cart.js +2 -0
  133. package/dist/types/cart.js.map +1 -0
  134. package/dist/types/catalog.d.ts +164 -0
  135. package/dist/types/catalog.d.ts.map +1 -0
  136. package/dist/types/catalog.js +2 -0
  137. package/dist/types/catalog.js.map +1 -0
  138. package/dist/types/cms.d.ts +196 -0
  139. package/dist/types/cms.d.ts.map +1 -0
  140. package/dist/types/cms.js +2 -0
  141. package/dist/types/cms.js.map +1 -0
  142. package/dist/types/cookie-consent.d.ts +18 -0
  143. package/dist/types/cookie-consent.d.ts.map +1 -0
  144. package/dist/types/cookie-consent.js +7 -0
  145. package/dist/types/cookie-consent.js.map +1 -0
  146. package/dist/types/guest-order.d.ts +16 -0
  147. package/dist/types/guest-order.d.ts.map +1 -0
  148. package/dist/types/guest-order.js +9 -0
  149. package/dist/types/guest-order.js.map +1 -0
  150. package/dist/types/listing.d.ts +14 -0
  151. package/dist/types/listing.d.ts.map +1 -0
  152. package/dist/types/listing.js +2 -0
  153. package/dist/types/listing.js.map +1 -0
  154. package/dist/types/order.d.ts +40 -0
  155. package/dist/types/order.d.ts.map +1 -0
  156. package/dist/types/order.js +2 -0
  157. package/dist/types/order.js.map +1 -0
  158. package/dist/types/seo.d.ts +93 -0
  159. package/dist/types/seo.d.ts.map +1 -0
  160. package/dist/types/seo.js +2 -0
  161. package/dist/types/seo.js.map +1 -0
  162. package/dist/types/server-env.d.ts +19 -0
  163. package/dist/types/server-env.d.ts.map +1 -0
  164. package/dist/types/server-env.js +10 -0
  165. package/dist/types/server-env.js.map +1 -0
  166. package/dist/types/wishlist.d.ts +10 -0
  167. package/dist/types/wishlist.d.ts.map +1 -0
  168. package/dist/types/wishlist.js +2 -0
  169. package/dist/types/wishlist.js.map +1 -0
  170. package/dist/wishlist/wishlist.d.ts +28 -0
  171. package/dist/wishlist/wishlist.d.ts.map +1 -0
  172. package/dist/wishlist/wishlist.js +42 -0
  173. package/dist/wishlist/wishlist.js.map +1 -0
  174. package/package.json +5 -1
@@ -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":""}
@@ -0,0 +1,196 @@
1
+ export interface ProximaApiConfig {
2
+ baseUrl: string;
3
+ domain: string;
4
+ path: string;
5
+ websiteId?: string;
6
+ businessId?: string;
7
+ serviceKey?: string;
8
+ /** UUID of a content variant — when set, composition returns the variant snapshot instead of live content. */
9
+ variantId?: string;
10
+ /** Preview token obtained from the rotate endpoint. Required when variantId is set. */
11
+ previewToken?: string;
12
+ }
13
+ export interface ProximaPageSummary {
14
+ name: string;
15
+ path: string;
16
+ resolver_kind: string;
17
+ is_active: boolean;
18
+ }
19
+ export interface ProximaWebsiteResponse {
20
+ id: string;
21
+ business_id: string;
22
+ name: string;
23
+ domain: string;
24
+ subdomain_slug?: string | null;
25
+ custom_domain?: string | null;
26
+ publication_status?: string;
27
+ published_at?: string | null;
28
+ delivery_mode: string;
29
+ data_mode?: string | null;
30
+ website_kind: string;
31
+ template_key?: string | null;
32
+ code_profile?: string | null;
33
+ locale: string;
34
+ currency: string;
35
+ og_image_url?: string | null;
36
+ logo_url?: string | null;
37
+ favicon_url?: string | null;
38
+ twitter_handle?: string | null;
39
+ capabilities: Record<string, any>;
40
+ theme_tokens: Record<string, any>;
41
+ animation_config: Record<string, any>;
42
+ pages: ProximaPageSummary[];
43
+ shell_sections?: Record<string, {
44
+ section_id: number;
45
+ section_type: string;
46
+ section_name: string;
47
+ attributes: Record<string, any>;
48
+ }>;
49
+ }
50
+ export interface ProximaCompositionResponse {
51
+ page_id: number;
52
+ website_id: string;
53
+ path: string;
54
+ path_template: string;
55
+ name: string;
56
+ entity_type?: string | null;
57
+ resolver_kind?: string | null;
58
+ route_params: Record<string, string>;
59
+ resolved_data?: Record<string, any> | null;
60
+ sections: Array<{
61
+ id: number;
62
+ name: string;
63
+ type: string;
64
+ order: number;
65
+ attributes: Record<string, any>;
66
+ attributes_meta?: Record<string, any>;
67
+ }>;
68
+ seo?: Record<string, any> | null;
69
+ }
70
+ export interface ProximaProductListResponse {
71
+ items: any[];
72
+ total: number;
73
+ page: number;
74
+ size: number;
75
+ }
76
+ export interface ProximaNavNode {
77
+ id: number;
78
+ slug: string;
79
+ name: string;
80
+ href: string;
81
+ image_url?: string | null;
82
+ product_count: number;
83
+ children: ProximaNavNode[];
84
+ }
85
+ export interface ProximaRenderShell {
86
+ theme: Record<string, any>;
87
+ navigation: {
88
+ nodes: ProximaNavNode[];
89
+ total: number;
90
+ };
91
+ payment_methods: Array<Record<string, any>>;
92
+ locale: string;
93
+ currency: string;
94
+ /** CMS-managed layout sections keyed by type (header, footer, mega_menu). */
95
+ shell_sections?: Record<string, {
96
+ section_id?: number;
97
+ page_id?: number;
98
+ section_type?: string;
99
+ section_name?: string;
100
+ attributes?: Record<string, any>;
101
+ attributes_meta?: Record<string, any>;
102
+ }> | null;
103
+ }
104
+ export interface ProximaRenderPage {
105
+ sections: Array<{
106
+ id: number;
107
+ name: string;
108
+ type: string;
109
+ order: number;
110
+ attributes: Record<string, any>;
111
+ attributes_meta?: Record<string, any>;
112
+ }>;
113
+ seo?: Record<string, any> | null;
114
+ resolver_kind?: string | null;
115
+ resolved_data?: Record<string, any> | null;
116
+ attributes_meta?: Record<string, any> | null;
117
+ requires_auth: boolean;
118
+ /** True when no page matched the path — treat as 404. */
119
+ not_found: boolean;
120
+ }
121
+ export interface ProximaRenderWebsite {
122
+ id: string;
123
+ business_id: string;
124
+ name: string;
125
+ domain?: string | null;
126
+ locale: string;
127
+ currency: string;
128
+ delivery_mode?: string | null;
129
+ website_kind?: string | null;
130
+ template_key?: string | null;
131
+ code_profile?: string | null;
132
+ og_image_url?: string | null;
133
+ logo_url?: string | null;
134
+ favicon_url?: string | null;
135
+ twitter_handle?: string | null;
136
+ capabilities?: Record<string, any>;
137
+ animation_config?: Record<string, any>;
138
+ pages?: Array<{
139
+ name: string;
140
+ path: string;
141
+ resolver_kind: string;
142
+ is_active: boolean;
143
+ }>;
144
+ }
145
+ export interface StorefrontRegFormField {
146
+ name: string;
147
+ label?: string | null;
148
+ required: boolean;
149
+ order: number;
150
+ widget?: string | null;
151
+ widget_config: Record<string, any>;
152
+ options?: string[] | null;
153
+ }
154
+ export interface StorefrontRegFormStep {
155
+ id: string;
156
+ label: string;
157
+ order: number;
158
+ skippable: boolean;
159
+ fields: StorefrontRegFormField[];
160
+ }
161
+ export interface StorefrontRegistrationForm {
162
+ mode: "single_step" | "multi_step";
163
+ steps: StorefrontRegFormStep[];
164
+ post_registration: {
165
+ redirect_to: string;
166
+ show_completion_prompt: boolean;
167
+ };
168
+ }
169
+ export interface ProximaRenderBootstrap {
170
+ categories: Array<{
171
+ id: number;
172
+ name: string;
173
+ slug: string;
174
+ image_url?: string | null;
175
+ }>;
176
+ brands: Array<{
177
+ id: number;
178
+ name: string;
179
+ slug: string;
180
+ logo_url?: string | null;
181
+ }>;
182
+ config?: Record<string, any> | null;
183
+ presence?: Record<string, any> | null;
184
+ registration_form?: StorefrontRegistrationForm | null;
185
+ }
186
+ /**
187
+ * Aggregated SSR response from `GET /api/v1/storefront/render`.
188
+ * Contains everything needed to render any page in a single round-trip.
189
+ */
190
+ export interface ProximaRenderResponse {
191
+ shell: ProximaRenderShell;
192
+ page: ProximaRenderPage;
193
+ bootstrap: ProximaRenderBootstrap;
194
+ website: ProximaRenderWebsite;
195
+ }
196
+ //# sourceMappingURL=cms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cms.d.ts","sourceRoot":"","sources":["../../src/types/cms.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8GAA8G;IAC9G,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uFAAuF;IACvF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CACrB,MAAM,EACN;QACE,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACjC,CACF,CAAC;CACH;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC3C,QAAQ,EAAE,KAAK,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACvC,CAAC,CAAC;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAMD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,UAAU,EAAE;QACV,KAAK,EAAE,cAAc,EAAE,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACjC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACvC,CAAC,GAAG,IAAI,CAAC;CACX;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,KAAK,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACvC,CAAC,CAAC;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC7C,aAAa,EAAE,OAAO,CAAC;IACvB,yDAAyD;IACzD,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvC,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAC1F;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,sBAAsB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,aAAa,GAAG,YAAY,CAAC;IACnC,KAAK,EAAE,qBAAqB,EAAE,CAAC;IAC/B,iBAAiB,EAAE;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,sBAAsB,EAAE,OAAO,CAAC;KACjC,CAAC;CACH;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACzF,MAAM,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACpF,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACtC,iBAAiB,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAC;CACvD;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,sBAAsB,CAAC;IAClC,OAAO,EAAE,oBAAoB,CAAC;CAC/B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cms.js","sourceRoot":"","sources":["../../src/types/cms.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ /** Bump when categories or semantics change to re-prompt returning visitors. */
2
+ export declare const COOKIE_CONSENT_VERSION = 1;
3
+ /** localStorage key for persisted consent. */
4
+ export declare const COOKIE_CONSENT_STORAGE_KEY = "pxa_cookie_consent";
5
+ /** CustomEvent name fired after the shopper saves or updates consent. */
6
+ export declare const COOKIE_CONSENT_CHANGED_EVENT = "pxa:cookie-consent-changed";
7
+ export interface CookieConsentCategories {
8
+ /** Session, cart, auth — always enabled; not configurable. */
9
+ essential: true;
10
+ analytics: boolean;
11
+ marketing: boolean;
12
+ }
13
+ export interface CookieConsentState extends CookieConsentCategories {
14
+ version: number;
15
+ /** ISO timestamp when the shopper made their choice. */
16
+ decidedAt: string;
17
+ }
18
+ //# sourceMappingURL=cookie-consent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookie-consent.d.ts","sourceRoot":"","sources":["../../src/types/cookie-consent.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,8CAA8C;AAC9C,eAAO,MAAM,0BAA0B,uBAAuB,CAAC;AAE/D,yEAAyE;AACzE,eAAO,MAAM,4BAA4B,+BAA+B,CAAC;AAEzE,MAAM,WAAW,uBAAuB;IACtC,8DAA8D;IAC9D,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,7 @@
1
+ /** Bump when categories or semantics change to re-prompt returning visitors. */
2
+ export const COOKIE_CONSENT_VERSION = 1;
3
+ /** localStorage key for persisted consent. */
4
+ export const COOKIE_CONSENT_STORAGE_KEY = 'pxa_cookie_consent';
5
+ /** CustomEvent name fired after the shopper saves or updates consent. */
6
+ export const COOKIE_CONSENT_CHANGED_EVENT = 'pxa:cookie-consent-changed';
7
+ //# sourceMappingURL=cookie-consent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookie-consent.js","sourceRoot":"","sources":["../../src/types/cookie-consent.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC,8CAA8C;AAC9C,MAAM,CAAC,MAAM,0BAA0B,GAAG,oBAAoB,CAAC;AAE/D,yEAAyE;AACzE,MAAM,CAAC,MAAM,4BAA4B,GAAG,4BAA4B,CAAC"}
@@ -0,0 +1,16 @@
1
+ export interface GuestOrderPayload {
2
+ session_id: string;
3
+ customer_name: string;
4
+ customer_phone: string;
5
+ customer_email: string;
6
+ shipping_address?: string | null;
7
+ notes?: string | null;
8
+ }
9
+ export interface GuestOrderResult {
10
+ orderId: string;
11
+ }
12
+ export declare class GuestOrderError extends Error {
13
+ readonly code: "CART_NOT_FOUND" | "OUT_OF_STOCK" | "SERVER_ERROR";
14
+ constructor(code: "CART_NOT_FOUND" | "OUT_OF_STOCK" | "SERVER_ERROR", message: string);
15
+ }
16
+ //# sourceMappingURL=guest-order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guest-order.d.ts","sourceRoot":"","sources":["../../src/types/guest-order.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,eAAgB,SAAQ,KAAK;aAEtB,IAAI,EAAE,gBAAgB,GAAG,cAAc,GAAG,cAAc;gBAAxD,IAAI,EAAE,gBAAgB,GAAG,cAAc,GAAG,cAAc,EACxE,OAAO,EAAE,MAAM;CAKlB"}
@@ -0,0 +1,9 @@
1
+ export class GuestOrderError extends Error {
2
+ code;
3
+ constructor(code, message) {
4
+ super(message);
5
+ this.code = code;
6
+ this.name = "GuestOrderError";
7
+ }
8
+ }
9
+ //# sourceMappingURL=guest-order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guest-order.js","sourceRoot":"","sources":["../../src/types/guest-order.ts"],"names":[],"mappings":"AAaA,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAEtB;IADlB,YACkB,IAAwD,EACxE,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAAoD;QAIxE,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF"}
@@ -0,0 +1,14 @@
1
+ import type { StorefrontFacetOption, StorefrontProductListingResponse } from './catalog.js';
2
+ export interface ProductListingFilters {
3
+ brand?: string | null;
4
+ category?: string | null;
5
+ price_min?: number | null;
6
+ price_max?: number | null;
7
+ in_stock?: boolean | null;
8
+ }
9
+ export type ProductListingSortOption = "newest" | "price_asc" | "price_desc" | "name_asc";
10
+ /** @deprecated Use StorefrontFacetOption from the main listing types */
11
+ export type ProductFacet = StorefrontFacetOption;
12
+ /** @deprecated Use StorefrontProductListingResponse */
13
+ export type ProductListingResult = StorefrontProductListingResponse;
14
+ //# sourceMappingURL=listing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listing.d.ts","sourceRoot":"","sources":["../../src/types/listing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,gCAAgC,EAAE,MAAM,cAAc,CAAC;AAE5F,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,MAAM,wBAAwB,GAAG,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,UAAU,CAAC;AAE1F,wEAAwE;AACxE,MAAM,MAAM,YAAY,GAAG,qBAAqB,CAAC;AAEjD,uDAAuD;AACvD,MAAM,MAAM,oBAAoB,GAAG,gCAAgC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=listing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listing.js","sourceRoot":"","sources":["../../src/types/listing.ts"],"names":[],"mappings":""}
@@ -0,0 +1,40 @@
1
+ export interface OrderItem {
2
+ id: number;
3
+ product_variant_id?: number | null;
4
+ product_id?: number | null;
5
+ product_slug?: string | null;
6
+ product_image?: string | null;
7
+ product_name?: string | null;
8
+ brand_name?: string | null;
9
+ category_name?: string | null;
10
+ sku?: string | null;
11
+ quantity: number;
12
+ price_at_purchase?: number | null;
13
+ /** @deprecated use price_at_purchase */
14
+ unit_price?: number | null;
15
+ /** @deprecated use product_name */
16
+ name?: string | null;
17
+ }
18
+ /** An order placed by a customer. */
19
+ export interface Order {
20
+ id: string;
21
+ order_number?: string | null;
22
+ status: string;
23
+ total_amount?: number | null;
24
+ currency?: string | null;
25
+ customer_name?: string | null;
26
+ customer_phone?: string | null;
27
+ customer_email?: string | null;
28
+ shipping_address?: string | null;
29
+ created_at: string;
30
+ items?: OrderItem[];
31
+ /** @deprecated use total_amount */
32
+ total?: number;
33
+ }
34
+ export interface OrderListResponse {
35
+ items: Order[];
36
+ total: number;
37
+ page: number;
38
+ size: number;
39
+ }
40
+ //# sourceMappingURL=order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../../src/types/order.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,qCAAqC;AACrC,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IACpB,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,KAAK,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order.js","sourceRoot":"","sources":["../../src/types/order.ts"],"names":[],"mappings":""}
@@ -0,0 +1,93 @@
1
+ export interface PageSeoMeta {
2
+ /** `<title>` tag content */
3
+ title: string;
4
+ /** `meta[name="description"]` */
5
+ description: string;
6
+ /** og:title */
7
+ ogTitle: string;
8
+ /** og:description */
9
+ ogDescription: string;
10
+ /** og:image and twitter:image — null when no image is available */
11
+ ogImage: string | null;
12
+ /** og:type — "website" | "product" */
13
+ ogType: string;
14
+ /** og:site_name */
15
+ ogSiteName: string;
16
+ /** og:url and link[rel="canonical"] */
17
+ canonicalUrl: string;
18
+ /** meta[name="robots"] — "index, follow" | "noindex, nofollow" */
19
+ robots: string;
20
+ /** twitter:card */
21
+ twitterCard: string;
22
+ /** twitter:site — "@handle" or null */
23
+ twitterSite: string | null;
24
+ /** twitter:image — mirrors ogImage */
25
+ twitterImage: string | null;
26
+ /** link[rel="icon"] — null when not set */
27
+ faviconUrl: string | null;
28
+ }
29
+ /**
30
+ * Minimal website surface required by `buildPageSeo()`.
31
+ * Both `ProximaWebsiteResponse` and the storefront's `ResolvedWebsite` satisfy this.
32
+ */
33
+ export interface PageSeoWebsiteMeta {
34
+ name: string;
35
+ og_image_url?: string | null;
36
+ favicon_url?: string | null;
37
+ twitter_handle?: string | null;
38
+ }
39
+ export interface JsonLdWebsiteMeta {
40
+ name: string;
41
+ domain: string;
42
+ logo_url?: string | null;
43
+ twitter_handle?: string | null;
44
+ }
45
+ /**
46
+ * Minimal product surface required by `buildProductJsonLd()`.
47
+ */
48
+ export interface JsonLdProductMeta {
49
+ name: string;
50
+ slug: string;
51
+ description?: string | null;
52
+ image?: string | null;
53
+ images?: (string | null | undefined)[] | null;
54
+ sku?: string | null;
55
+ brand?: string | null;
56
+ productId?: number | string | null;
57
+ priceRaw: number;
58
+ compareAtPrice?: number | null;
59
+ inStock?: boolean | null;
60
+ }
61
+ /**
62
+ * A single breadcrumb item.
63
+ */
64
+ export interface BreadcrumbItem {
65
+ label: string;
66
+ /** Relative or absolute href — omit for the last (current) item */
67
+ href?: string;
68
+ }
69
+ export interface JsonLdLocalBusinessMeta {
70
+ name: string;
71
+ url: string;
72
+ image?: string | null;
73
+ telephone?: string | null;
74
+ street_address?: string | null;
75
+ address_locality?: string | null;
76
+ address_region?: string | null;
77
+ postal_code?: string | null;
78
+ address_country?: string | null;
79
+ latitude?: number | null;
80
+ longitude?: number | null;
81
+ opening_hours?: string[] | null;
82
+ opens?: string | null;
83
+ closes?: string | null;
84
+ social_links?: string[] | null;
85
+ }
86
+ export interface SitemapWebsiteMeta {
87
+ domain: string;
88
+ pages?: Array<{
89
+ resolver_kind: string;
90
+ path?: string | null;
91
+ }> | null;
92
+ }
93
+ //# sourceMappingURL=seo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seo.d.ts","sourceRoot":"","sources":["../../src/types/seo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=seo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seo.js","sourceRoot":"","sources":["../../src/types/seo.ts"],"names":[],"mappings":""}